Fork of the origin minecraft-nodes project by phonon
I have no intention of supporting older versions, if you are on an outdated version, update. Other plugin modules such as the dynmap and ports plugin will be moved to seperate repos.
- Folia Support
Map painting but in block game. Contains server plugin and nodes dynmap viewer/editor extension.
Documentation: https://nodes.soy
Editor: https://editor.nodes.soy/earth.html
Nodes in action (by Jonathan): https://www.youtube.com/watch?v=RVtcc010FpM
minecraft-nodes/
├─ docs/ - Documentation source
├─ dynmap/ - Dynmap editor/viewer
├─ nodes/ - Dynmap editor/viewer
| └─ lib/ - Libs that had to be split out
| └─ block_edit/ - Fast block editing lib
├─ ports/ - Nodes ports plugin
└─ scripts/ - Utility scripts
This repository contains the following separate projects:
- Nodes main server plugin (root directory)
- Dynmap viewer/editor
- Plugin documentation
- Ports plugin
Requirements:
- Java JDK 16 (current plugin target java version)
This build example will be for version 1.16.5, currently the only supported version.
Building the main plugin requires Minecraft NMS, so first step will be to build spigot and craftbukkit jars:
- https://www.spigotmc.org/wiki/buildtools/
- https://www.spigotmc.org/wiki/spigot-nms-and-minecraft-versions-1-16/
1. Download BuildTools.jar: https://www.spigotmc.org/wiki/buildtools/#running-buildtools
java -jar BuildTools.jar --rev 1.16.5
This folder should now have path:
nodes/lib/block_edit/lib/spigot-1.16.5.jar
Go inside nodes/lib/block_edit/
and run.
./gradlew build -P 1.16
Note: this had to be split out because of a gson version conflict between spigot and nodes. If this is resolved, then fast block editing can be pushed into main source.
Go inside nodes/
and run
./gradlew build -P 1.16
Built .jar
will appear in build/libs/*.jar
.
By default the build process shadows kotlin runtime dependency
into the nodes.jar
so that it can be used as a standalone plugin.
In situations where kotlin
runtime is shared across plugins,
this will build nodes
without kotlin:
./gradlew build -P 1.16 -P no-kotlin
Nodes instead has a soft dependency on any plugin named kotlin
.
This is intended for use with this kotlin runtime plugin:
https://github.com/phonon/minecraft-kotlin
See internal folder dynmap/README.md
for more details
Requirements:
- node.js
- Rust
See docs/README.md
Requirements:
- Rust
Requirements:
- Python 3
This script reads in documentation comments from in-game command
files in src/main/kotlin/phonon/nodes/commands/*
and generates
documentation for in-game commands:
python scripts/generate_commands_docs.py
Run this in the git root directory every time in-game commands
are edited in nodes/
source before re-building documentation site.
Requirements:
- Java JDK 17 (current plugin target java version)
Make sure there is the nodes output .jar
at path
nodes/build/libs/nodes.jar
Go inside ports/
and run
./gradlew build -P 1.16
Built .jar
will appear in build/libs/nodes-ports-1.16-*.jar
.
See TODO.md for current high-level todo list.
All unmodified forked "minecraft-nodes" code is licensed under GNU GPLv3.
All modified znodes code is licensed under GNU AGPL See LICENSE.
Special thanks to early contributors:
- phonon original author
- Jonathan: coding + map painting
- Doneions: coding + testing + lole