Labyrinth is a Paper plugin for the OneLiteFeather Survival Server. It defines zones where hostile mobs and bats cannot spawn, reducing the need to light the entire labyrinth.
- Create zones and manage their center, radius, and mob spawning state.
- Toggle mob spawning per zone.
- Zone name validation: alphanumeric only (
A-Z,a-z,0-9).
/labyrinth create <zone>/labyrinth center <zone>/labyrinth setradius <zone>/labyrinth toggle <zone>/labyrinth delete <zone>
labyrinth.setup.createzonelabyrinth.setup.centerlabyrinth.setup.setradiuslabyrinth.toggle.mobspawnlabyrinth.setup.deletezone
- The plugin stores zones under
zones.<zone>inconfig.yml. - Keys used internally:
zones.<zone>.centerLocationzones.<zone>.radiuszones.<zone>.mobspawning
./gradlew build: compile and run tests../gradlew test: run unit tests../gradlew shadowJar: producesbuild/libs/labyrinth.jar../gradlew runServer: starts a local Paper server for manual testing (Minecraft1.21.11).
src/main/java/net/onelitefeather/labyrinth/: plugin code.src/main/resources/: resources (includingconfig.yml).src/test/java/net/onelitefeather/labyrinth/: JUnit tests (MockBukkit).
- Pull requests run a matrix build on Ubuntu, Windows, and macOS.
- Releases run on pushes to
main,next,beta, or*.xusing semantic-release.
- The plugin entrypoint is
net.onelitefeather.labyrinth.Labyrinth. - If you change commands, permissions, or config keys, update this README.
