Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,6 @@ build
# other
eclipse
run

# Files from Forge MDK
forge*changelog.txt
38 changes: 38 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# AGENTS.md

## Cursor Cloud specific instructions

### Project overview

This is a Minecraft Forge mod called "Instant Massive Structures Mod" (IMSM) for Minecraft 1.15.2 with Forge 31.2.57 (branch `mc-1.15`). It uses ForgeGradle 3.0.197 with Gradle 4.10.3.

### Java version requirement

**Java 8** is required. Set `JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64` before all Gradle commands.

### Development commands

| Task | Command |
|---|---|
| Build | `JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 ./gradlew build` |
| Run client | `JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 DISPLAY=:1 ./gradlew runClient` |
| Clean | `JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 ./gradlew clean` |

### Branch layout

| Branch | MC Version | Forge | Build System |
|---|---|---|---|
| `master` | 1.10.2 | 12.18.0.2007 | ForgeGradle 2.2, Gradle 2.7 |
| `mc-1.11` | 1.11.2 | 13.20.1.2386 | ForgeGradle 2.2, Gradle 2.7 |
| `mc-1.12` | 1.12.2 | 14.23.5.2847 | ForgeGradle 2.3, Gradle 4.9 |
| `mc-1.15` | 1.15.2 | 31.2.57 | ForgeGradle 3.0.197, Gradle 4.10.3 |

### Known caveats

- **LWJGL3 input in cloud VMs**: MC 1.15+ uses LWJGL3/GLFW for input, which does not respond to `xdotool` or `xte`. The `computerUse` subagent cannot interact with the MC 1.15+ game window. Manual testing via the Desktop pane is the only option, and even that may have trouble with mouse clicks depending on the VM's X11 implementation.
- **No audio in VM**: Sound initialization fails (OpenAL). The game falls back to silent mode automatically.
- **Auto-Creative mode**: The mod auto-sets Creative mode when a player joins (for testing convenience). Remove the `onPlayerLogin` handler in `IMSM.java` for production.
- **`/imsm <structure>` command**: Added for testing. Usage: `/imsm WoodenHouse` places a structure at the player's location. Structure names match filenames in `assets/imsm/structs/` without the `.structure` extension.
- **Block registration**: Uses reflection to auto-register all static `Block` fields in `IMSM.java` with lowercase registry names. `BlockItem` entries are auto-created for all blocks in the `Structures` item group.
- **Asset naming**: All blockstate JSONs, model JSONs, texture PNGs, and lang files must be lowercase. Blockstate variant keys use `""` (empty string) not `"normal"`. Texture paths use `block/` not `blocks/`.
- **Transient HTTPS outages**: The Forge Maven and Maven Central occasionally have SSL connection reset issues in the cloud VM. Retry after a few minutes if Gradle dependency resolution fails.
28 changes: 0 additions & 28 deletions CREDITS-fml.txt

This file was deleted.

65 changes: 65 additions & 0 deletions CREDITS.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
Minecraft Forge: Credits/Thank You

Forge is a set of tools and modifications to the Minecraft base game code to assist
mod developers in creating new and exciting content. It has been in development for
several years now, but I would like to take this time thank a few people who have
helped it along it's way.

First, the people who originally created the Forge projects way back in Minecraft
alpha. Eloraam of RedPower, and SpaceToad of Buildcraft, without their acceptiance
of me taking over the project, who knows what Minecraft modding would be today.

Secondly, someone who has worked with me, and developed some of the core features
that allow modding to be as functional, and as simple as it is, cpw. For developing
FML, which stabelized the client and server modding ecosystem. As well as the base
loading system that allows us to modify Minecraft's code as elegently as possible.

Mezz, who has stepped up as the issue and pull request manager. Helping to keep me
sane as well as guiding the community into creating better additions to Forge.

Searge, Bspks, Fesh0r, ProfMobious, and all the rest over on the MCP team {of which
I am a part}. For creating some of the core tools needed to make Minecraft modding
both possible, and as stable as can be.
On that note, here is some specific information of the MCP data we use:
* Minecraft Coder Pack (MCP) *
Forge Mod Loader and Minecraft Forge have permission to distribute and automatically
download components of MCP and distribute MCP data files. This permission is not
transitive and others wishing to redistribute the Minecraft Forge source independently
should seek permission of MCP or remove the MCP data files and request their users
to download MCP separately.

And lastly, the countless community members who have spent time submitting bug reports,
pull requests, and just helping out the community in general. Thank you.

--LexManos

=========================================================================

This is Forge Mod Loader.

You can find the source code at all times at https://github.com/MinecraftForge/MinecraftForge/tree/1.12.x/src/main/java/net/minecraftforge/fml

This minecraft mod is a clean open source implementation of a mod loader for minecraft servers
and minecraft clients.

The code is authored by cpw.

It began by partially implementing an API defined by the client side ModLoader, authored by Risugami.
http://www.minecraftforum.net/topic/75440-
This support has been dropped as of Minecraft release 1.7, as Risugami no longer maintains ModLoader.

It also contains suggestions and hints and generous helpings of code from LexManos, author of MinecraftForge.
http://www.minecraftforge.net/

Additionally, it contains an implementation of topological sort based on that
published at http://keithschwarz.com/interesting/code/?dir=topological-sort

It also contains code from the Maven project for performing versioned dependency
resolution. http://maven.apache.org/

It also contains a partial repackaging of the javaxdelta library from http://sourceforge.net/projects/javaxdelta/
with credit to it's authors.

Forge Mod Loader downloads components from the Minecraft Coder Pack
(http://mcp.ocean-labs.de/index.php/Main_Page) with kind permission from the MCP team.

Loading