This commit is contained in:
parent
50b02952c5
commit
5a6b2e2cac
23 changed files with 809 additions and 227 deletions
79
README.md
79
README.md
|
|
@ -1,25 +1,66 @@
|
|||
|
||||
Installation information
|
||||
=======
|
||||
# Arena of Shinuwa
|
||||
|
||||
This template repository can be directly cloned to get you started with a new
|
||||
mod. Simply create a new repository cloned from this one, by following the
|
||||
instructions provided by [GitHub](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template).
|
||||
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.
|
||||
|
||||
Once you have your clone, simply open the repository in the IDE of your choice. The usual recommendation for an IDE is either IntelliJ IDEA or Eclipse.
|
||||
## Development versions
|
||||
|
||||
If at any point you are missing libraries in your IDE, or you've run into problems you can
|
||||
run `gradlew --refresh-dependencies` to refresh the local cache. `gradlew clean` to reset everything
|
||||
{this does not affect your code} and then start the process again.
|
||||
Versions retained from the repository:
|
||||
|
||||
Mapping Names:
|
||||
============
|
||||
By default, the MDK is configured to use the official mapping names from Mojang for methods and fields
|
||||
in the Minecraft codebase. These names are covered by a specific license. All modders should be aware of this
|
||||
license. For the latest license text, refer to the mapping file itself, or the reference copy here:
|
||||
https://github.com/NeoForged/NeoForm/blob/main/Mojang.md
|
||||
| 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 |
|
||||
|
||||
Additional Resources:
|
||||
==========
|
||||
Community Documentation: https://docs.neoforged.net/
|
||||
NeoForged Discord: https://discord.neoforged.net/
|
||||
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.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue