This is the custom server code used in the Minecraft world of Iðavöllr.
Changes from PaperMC
- Edit max speeds so minecart > horse > ice boat (paddles only, sails should still be fast)
- Implement Giants AI
- Implement Purpur rideables
- Implement Villager Tasks (Armorer heals golems, Priest heals villagers)
- Implement Smallships
- Implement Accessories
- Implement Sparkly per-world ticking
- Clone repo
./gradlew applyPatchesfrom root
git checkout main- switch to the main branch, that tracks Paper- via Github UI, PR all new changes into main
- Make a list of any code that should make it into Aincrad
git checkout seedgit cherry-pick <new_paper_goodness_commit_hash>gradlew applyPatches- this makes sure your patch/source files are in sync. Forgetting this step will lead to errors the next time yourebuildPatches- Push the changes back to origin, all done!
Note
for mistakes,
Reset all non-committed local changes: git reset --hard
Reset branch to remote state: git reset --hard origin/seed
Reset to specific commit: git reset --hard <commit-hash>,
then git push origin seed --force
- Go to the gradle tasks -> bundling
createMojmapBundlerJar
- Make changes (in paper-server/src/minecraft/java)
./gradlew fixupSourcePatches./gradlew rebuildPatches
- Make changes (in paper-server/src/minecraft/java)
git add .in the java subfoldergit commit -mwith the patch message (it will become the patch filename)./gradlew rebuildPatchesfrom root
find the file needed using "view source" or manually in the gradle cache, add the full classpath to ./build-data/dev-imports.txt, run the Gradle task "applyPatches", and you should be able to find your new NMS file in the ./Paper-Server dir.
Tip
If IntelliJ Idea is still not resolving references, go to File -> Invalidate Caches, delete the .idea folder, and restart the program.