This converts the project's build process from a bit of a hack using the assembly plugin to mash together everything in the reactor to a more normal layout. This does have the downside of requiring all NMS modules to be built when building the plugin (no more building just the NMS module you want and its dependencies), so it is a little harder to contribute now, but not by much. Being able to build individual NMS modules was a lot more important when there were like 20 modules and some of them were obscure versions I had compiled myself because Bukkit never released them.
Restructure project
Remove deprecated API methods
Remove non-API utilities from API
This should only break the build for dependent plugins using them (if any). The utilities are still included, just in a different package.
Add PlayerSaveEvent
This is called whenever a player loaded by OpenInv is saved, not just when OpenInv saves a player after one of its inventories is closed.
This should have been a separate PR, but I am silly.
Improve Paper support
Add warning for Paper with remapping disabled
Add explicit Spigot mapping status
Reduce usage of reflection to a minimum
Should ideally make OpenInv less breakable by various remapping techniques.
Should improve performance of InternalAccessor a little.
Use Google errorprone for additional health checks
Closes #210
Long-term goals will be tracked on the future planning project instead
This converts the project's build process from a bit of a hack using the assembly plugin to mash together everything in the reactor to a more normal layout. This does have the downside of requiring all NMS modules to be built when building the plugin (no more building just the NMS module you want and its dependencies), so it is a little harder to contribute now, but not by much. Being able to build individual NMS modules was a lot more important when there were like 20 modules and some of them were obscure versions I had compiled myself because Bukkit never released them.
Closes #210 Long-term goals will be tracked on the future planning project instead