arena-of-shinuwa/README.md
Shinuwa 5a6b2e2cac
Some checks failed
Build / build (push) Has been cancelled
Initial commit
2026-09-18 15:03:09 +02:00

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

  1. Run ./gradlew runServer with no optional mods installed. On first launch, review Minecraft's EULA and, if you agree, accept it in run/server/eula.txt, then run the command again.
  2. Wait for the server's Done message. Confirm the log contains Arena of Shinuwa initialized and Arena bootstrap ready on Minecraft 1.21.1.
  3. Confirm run/server/world/serverconfig/arena-server.toml contains logServerStartup = true. Stop the server using stop.
  4. Set that option to false and restart. The initialization log should remain, and the Arena bootstrap ready message should be absent. Stop the server.
  5. Run ./gradlew runClient, then create a single-player world to repeat the startup check on an integrated server. Its config is under that world's serverconfig directory. 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.