Skip to content

maintaned fork of the minecraft spigot plugin nodes map painting simulator

License

Notifications You must be signed in to change notification settings

Mvndi/znodes

 
 

Repository files navigation

znodes

Nodes map screenshot

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.

Notable Changes

  • Folia Support

Original README

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

Repo structure

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

Build

This repository contains the following separate projects:

  1. Nodes main server plugin (root directory)
  2. Dynmap viewer/editor
  3. Plugin documentation
  4. Ports plugin

1. Building main server 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:

2. Run BuildTool.jar to build spigot-1.16.5.jar.

java -jar BuildTools.jar --rev 1.16.5

3. Put spigot-1.16.5.jar into nodes/lib/block_edit/lib/.

This folder should now have path:

nodes/lib/block_edit/lib/spigot-1.16.5.jar

4. Build block_edit lib:

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.

5. Build final plugin nodes.jar:

Go inside nodes/ and run

./gradlew build -P 1.16

Built .jar will appear in build/libs/*.jar.

6. (Optional) Build final plugin without kotlin:

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


2. Building dynmap viewer/editor

See internal folder dynmap/README.md for more details

Requirements:

  • node.js
  • Rust

3. Building plugin documentation

Generating main plugin documentation

See docs/README.md

Requirements:

  • Rust

Generating nodes commands documentation

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.


4. Building ports plugin

Requirements:

  • Java JDK 17 (current plugin target java version)

1. Build main nodes plugin first (follow steps above).

Make sure there is the nodes output .jar at path

nodes/build/libs/nodes.jar

2. Build ports plugin nodes-ports.jar:

Go inside ports/ and run

./gradlew build -P 1.16

Built .jar will appear in build/libs/nodes-ports-1.16-*.jar.

Issues/Todo

See TODO.md for current high-level todo list.

License

All unmodified forked "minecraft-nodes" code is licensed under GNU GPLv3.

All modified znodes code is licensed under GNU AGPL See LICENSE.

Acknowledgements

Special thanks to early contributors:

  • phonon original author
  • Jonathan: coding + map painting
  • Doneions: coding + testing + lole

About

maintaned fork of the minecraft spigot plugin nodes map painting simulator

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Languages

  • Kotlin 100.0%