Dynmap NeoForge 1.21.1 port
Find a file
2026-03-07 19:04:18 -08:00
gradle initial: neoforge 1.21.1 port - first compile fix pass 2026-03-06 19:07:14 -08:00
libs initial: neoforge 1.21.1 port - first compile fix pass 2026-03-06 19:07:14 -08:00
runs/junit initial: neoforge 1.21.1 port - first compile fix pass 2026-03-06 19:07:14 -08:00
src/main refactor: inline touchChunk() - remove extraction per upstream contributing guidelines 2026-03-07 19:03:24 -08:00
.gitignore initial: neoforge 1.21.1 port - first compile fix pass 2026-03-06 19:07:14 -08:00
build.gradle neoforge-1.21.1: runtime fixes and build improvements 2026-03-07 09:41:38 -08:00
CHANGES.md docs: final CHANGES.md - accurate post-review state 2026-03-07 19:04:18 -08:00
gradle.properties neoforge-1.21.1: runtime fixes and build improvements 2026-03-07 09:41:38 -08:00
gradlew initial: neoforge 1.21.1 port - first compile fix pass 2026-03-06 19:07:14 -08:00
README.md docs: add README and project overview 2026-03-07 11:26:21 -08:00
settings.gradle initial: neoforge 1.21.1 port - first compile fix pass 2026-03-06 19:07:14 -08:00

Dynmap — NeoForge 1.21.1 Port

Port of Dynmap to NeoForge 21.1.219 / Minecraft 1.21.1.

This standalone build is used for deployment on an ATM10 server. The goal is to eventually submit this as a PR back to the upstream webbukkit/dynmap repository.


Building

Requires Java 21 and Docker (build container: dynmap-neoforge-build).

# Inside build container
cd /workspace
./gradlew shadowJar --no-daemon

Output: build/libs/Dynmap-neoforge-1.21.1-3.7-SNAPSHOT-Dev-all.jar

Memory notes

  • Gradle daemon heap: capped at -Xmx2g (see gradle.properties)
  • forked javac: capped at -Xmx3g (see build.gradle)
  • Without these caps, JVM defaults to 25% of host RAM — causes OOM on high-RAM hosts

Changes from upstream neoforge-1.20.6

See CHANGES.md for the full changelog.


Test status

Environment Result
Vanilla NeoForge 1.21.1 (clean server) Passes
ATM10 5.5 (445 mods, NeoForge 21.1.219) Passes

Deployment

Copy the fat jar into the server's mods/ directory. Remove any old Dynmap*.jar first.

docker cp build/libs/Dynmap-neoforge-1.21.1-3.7-SNAPSHOT-Dev-all.jar <container>:/data/mods/

Note: Always remove old jars before copying a new one. The container data volume may retain old versions.


Containers (internal, Lucy/Unraid)

Container Purpose Ports
dynmap-neoforge-build Gradle build environment
neoforge-test Vanilla NeoForge 1.21.1 test server 25566 (MC), 8124 (web)
atm10-55-test ATM10 5.5 test server, 445 mods
a6860a8008ed (prod) Production ATM10 — DO NOT TOUCH

PR Plan

Once ATM10 testing is confirmed:

  1. Mirror all changes to monorepo (dynmap-upstream/neoforge-1.21.1/)
  2. Push to Cobbert/dynmap fork on GitHub
  3. Open PR: Cobbert/dynmap:neoforge-1.21.1webbukkit/dynmap:neoforge

PR description draft is in DYNMAP.md (workspace copy).