A lot has changed in this version of BKCommonLib. It is also the very first version to support multiple minecraft versions in the same plugin! This version supports 1.11.2 and (tested) MC1.12-pre5 and MC1.12-pre6. Once an official 1.12 build of spigot rolls out, an official 1.12 BKCommonLib will be posted as well.
Note: re-uploaded due to a zero-day bug involving the entity network controller
Bugfixes:
Minecart displayed Block data was not working
Fix concurrent modification bug when iterating world block states
CreaturePreSpawnEvent fixes, MyWorlds spawn rules should work
User disconnect bugs when errors occur in entity controllers
Simplify TileEntity<>BlockState conversion, this will fix many errors
Fix NPE that happened on an earlier 1.11.2 Bukkit build related to passengers
Fixed all missing field errors on Paperspigot 1.11.2
Fixes many other field naming errors that resulted in rare to find bugs
New features:
Full 1.12-pre5 and 1.12-pre6 support on top of 1.11.2
Significant performance enhancements by generating java bytecode for public member access, beating Java Reflection tenfold
Removed features:
Removed ChunkProviderServerHook performance timings, which will impact NoLagg examine. These hooks dragged the performance down even when not monitoring for some plugins
Removed some networking API's to do with reading packet sizes, which required an unstable form of field access
Removed the hacky way getChunk was implemented, reading directly from the LongObjectHashMap. Now relies on default Bukkit implementations.
Implementation details:
Reflection, class generation and conversion utilities have all been moved to a new, Minecraft-agnostic project called "Mountiplex". Mountiplex is included in BKCommonLib.
All interaction with the server internals is now done using a customized reflection template system, allowing dynamic changes of fields/methods/classes enabling cross-server compatibility.
Future use of NMS reflection code is discouraged, as it will be subject to change.