ZNPCsPlus is a Spigot plugin that is used to create fake entities that players can interact with to perform actions like switching servers on a network or executing commands.
This plugin is a remake of a plugin called ZNPCs, we originally started because the maintainer of ZNPCs decided to announce that he was dropping support for the plugin.
Looking for up-to-date builds of the plugin? Check out our Jenkins
This repository contains custom fixes and build changes made for a self-hosted fork.
- Build system migrated from Gradle to Maven (
pom.xml,api/pom.xml,plugin/pom.xml) - GitHub Actions CI switched to Maven (
mvn -B verify) - Fixed startup crash:
NoClassDefFoundError: ... snakeyaml/comments/CommentLine - Fixed NPC processing spam on Paper:
IllegalStateException: NpcSpawnEvent may only be triggered asynchronously - Added version guard for
fake-enforce-secure-chatto avoid PacketEvents/NBT decode issues on old versions (like 1.16.x) - Confirmed and kept
striderNPC type registration inNpcTypeRegistryImpl - Added and wired
frog_target_npcserializer support - Improved registry/storage stability (safer register/unregister and SQL save/load paths)
- Refactored
PropertySetCommandparsing logic for maintainability - Added tests for
NpcLocationandTargetNpcPropertySerializer
Requirements:
- Java 8+ (CI uses Java 21)
- Maven 3.9+
Commands:
mvn -B test
mvn -B -am -pl plugin package -DskipTestsBuilt plugin jar:
plugin/target/ZNPCsPlus.jar
- Mainline build tool for this fork is Maven.
- If you publish this fork, keep this section updated as your fork diverges.
- If you run Paper 1.16.x, keep
fake-enforce-secure-chatdisabled in config (the code now also hard-guards old versions).
- Packet-based NPC system with performance-focused scheduling
- Performance & stability oriented code
- Support for all versions from 1.8 to 1.21.8
- Support for multiple different storage options
- Intuitive command system
Requirements:
- Java 8+
- Minecraft 1.8 - 1.21.8
Supported Softwares:
Optional Dependencies/Extensions:
- PlaceholderAPI
Open an issue in the GitHub issue tracker or join our support discord
Like what you see? Want the project to continue improving? Consider starring the repository & leaving a positive review on Spigot!
- PacketEvents 2.0 - Packet library
- Minecraft Wiki Protocol (formally wiki.vg) - Minecraft protocol documentation
- gson - JSON parsing library made by Google
- Mineskin.org - Website for raw skin file uploads
- adventure - Minecraft text api
- DazzleConf - Configuration library
- Director - Command library
- PlaceholderAPI - Universal string placeholder library