4d3bf20155
This is highly useful for profiling vanilla code, and in some cases plugin code. It is somewhat expensive, though, which is why it was initially disabled.
I chose to use a system property instead of a configuration setting because 1) the MethodProfiler is exclusive to CraftBukkit and not part of the general API (the timings system is the general API equivalent), and 2) using a static final boolean property _may_ allow the JITter to optimize out the methods when disabled (though I'm not sure of it).
There are several changes to fix cases where the profiler code was broken slightly by other craftbukkit changes. All of cases have been fixed, except for the block entity ticking one, due to the cost of the getSimpleName call. For that, a ticking entry is used instead, so that time spent actually ticking the block entities can be compared with time processing the list.
This (effectively) reverts
|
||
---|---|---|
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 pathfinders, navigateToHome
Also, make sure to include // Craftbukkit
comments to indicate modified NMS sources.