2.6 KiB
Arena of Shinuwa
Server-first PvE arena mod. Phase 0 provides only the bootstrap: mod loading, server configuration, logging and a test setup. No gameplay is implemented yet.
Development versions
Versions retained from the repository:
| Component | Version |
|---|---|
| Minecraft | 1.21.1 |
| NeoForge | 21.1.235 |
| Java toolchain | 21 |
| Gradle wrapper | 9.2.1 |
| NeoGradle userdev | 7.1.38 |
| NeoForm / official Mojang mappings | 1.21.1-20240808.144430 |
| Parchment mappings | 1.21.1 / 2024.11.17 |
| JUnit Jupiter | 5.11.4 |
The local verification environment uses Java 21.0.8. Mojang mapping names are subject to Mojang's mapping license.
Layout
src/main/java/com/shinuwa/arena: common mod entrypoint and logging.src/main/java/com/shinuwa/arena/config: NeoForge server configuration.src/main/resources/META-INF/neoforge.mods.toml: mod metadata.src/test/java/com/shinuwa/arena: JUnit tests..local: specification, architecture, phased checklist and reference examples.
Mod ID: arena. Only Minecraft and NeoForge are required. Cobblemon, EasyNPC,
Create and boss mods are not dependencies. Further component packages will be
introduced with their implementation phases in .local/TODO.md.
Build and test
Use JDK 21 and the checked-in wrapper:
./gradlew build test
The mod JAR is written to build/libs/arena-1.0.0.jar. Tests check configuration
defaults, invalid-value correction and preservation of an explicit opt-out.
The existing GitHub Actions build runs the Gradle build checks as well.
Manual bootstrap smoke test
- Run
./gradlew runServerwith no optional mods installed. On first launch, review Minecraft's EULA and, if you agree, accept it inrun/server/eula.txt, then run the command again. - Wait for the server's
Donemessage. Confirm the log containsArena of Shinuwa initializedandArena bootstrap ready on Minecraft 1.21.1. - Confirm
run/server/world/serverconfig/arena-server.tomlcontainslogServerStartup = true. Stop the server usingstop. - Set that option to
falseand restart. The initialization log should remain, and theArena bootstrap readymessage should be absent. Stop the server. - Run
./gradlew runClient, then create a single-player world to repeat the startup check on an integrated server. Its config is under that world'sserverconfigdirectory. No example blocks, items or creative tab should appear under this mod.
These are manual procedures; passing compilation/unit tests alone does not verify a graphical client or a complete server startup.