e20928f7da
World.addEntity(Entity entity) calls addEntity(entity, SpawnReason.DEFAULT), which contains the code that was originally in addEntity (and some event code). However, WorldServer previously only had addEntity(Entity entity), so if addEntity(Entity entity, SpawnReason spawnreason) was called directly, the UUID check that's found in it (the call to 'i') is skipped. This happens, among other places, in ChunkRegionLoader.spawnEntity (which /summon uses). I fixed this by making WorldServer override the SpawnReason version, rather than the regular version. This is safe to do because the World version calls the SpawnReason version - it's not necessary to do the same thing in WorldServer. |
||
---|---|---|
nms-patches | ||
src | ||
.gitignore | ||
applyPatches.sh | ||
deprecation-mappings.csrg | ||
LGPL.txt | ||
LICENCE.txt | ||
makePatches.sh | ||
pom.xml | ||
README.md |
CraftBukkit
An implementation of the Bukkit plugin API for Minecraft servers, currently maintained by SpigotMC.
Bug Reporting
The development team is very open to both bug and feature requests / suggestions. You can submit these on the JIRA Issue Tracker.
Compilation
CraftBukkit is a Java program which uses Maven 3 for compilation. To compile fresh from Git, simply perform the following steps:
- Install Git using your preferred installation methods.
- Download and run BuildTools
Some IDEs such as NetBeans can perform these steps for you. Any Maven capable Java IDE can be used to develop with CraftBukkit, however the current team's personal preference is to use NetBeans.
Contributing
Contributions of all sorts are welcome. To manage community contributions, we use the pull request functionality of Stash. In to gain access to Stash and create a pull request, you will first need to perform the following steps:
- Create an account on JIRA.
- Fill in the SpigotMC CLA and wait up to 24 hours for your Stash account to be activated. Please ensure that your username and email addresses match.
- Log into Stash using your JIRA credentials.
Once you have performed these steps you can create a fork, push your code changes, and then submit it for review.
If you submit a PR involving both Bukkit and CraftBukkit, it's appreciated if each PR links the other. Additionally, every reference to an obfuscated field/method in NMS should be marked with // PAIL: Rename
and optionally a suggested name, to make mapping creation easier. E.g.:
entity.k.get(i).f(); // PAIL Rename pathfinders, navigateToHome
Also, make sure to include // Craftbukkit
comments to indicate modified NMS sources.