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

66 lines
2.6 KiB
Markdown

# 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](https://github.com/NeoForged/NeoForm/blob/main/Mojang.md).
## 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:
```sh
./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.