BKCommonLib icon

BKCommonLib -----

Common utility library adding unique new features and API's



Long overdue 1.15 support update
Highlights
  • Adds support for Minecraft 1.15, 1.15.1 and 1.15.2
  • Important fixes for compatibility with FAWE, EpicWorldGenerator, SlimeWorldManager and older versions of (Paper)Spigot
  • Performance improvements and fixes for ItemFrame MapDisplay logic
  • Completely rewritten YAML engine that saves asynchronously and handles partial content updates better
  • Entity controller fixes, fixing entities disappearing on server shutdown
  • New Octree implementation, for mapping many objects to positions and querying cuboid areas
Compatibility
  • [Added] Support for Minecraft 1.15, 1.15.1 and 1.15.2
  • [Changed] Only hook ChunkGenerator when CreaturePreSpawnEvent is used, and when the chunk generator class is not final (fixes incompatibility with EpicWorldGenerator) [BKCommonLib Issue #75]
  • [Fixed] incompatibility with newer version of FastAsyncWorldEdit due to their custom class loader
  • [Fixed] Missing entity remove queue field error on paperspigot 1.8.8 and earlier
  • [Fixed] Added several entities to the entity category lists that were missing (affected MyWorlds world spawn rules)
  • [Fixed] Entity already tracked server crash on 1.14 and later [TrainCarts Issue #323]
  • [Fixed] Incorrect EntityShulker template field declarations causing errors for some versions of Minecraft
  • [Added] Safety net for if ProtocolLib has a linkage error to avoid complete breakage
  • [Fixed] Missing ChunkProviderServer cast in getChunkIfLoaded template for some versions of 1.13.2
  • [Improved] Packets were sometimes skipping packet monitors on PaperSpigot+ProtocolLib, causing seat entering glitches in TrainCarts
  • [Improved] Multiple passengers were supported since 1.9, but Bukkit only added full working support since 1.11.2. Now the entire range of versions is supported.
  • [Fixed] EntityTrackerEntry field in Entity on PaperSpigot was not updated when a custom network controller was set, causing strange errors [TrainCarts Issue #321]
  • [Fixed] EntityRemoveFromServer event was firing when entities teleported between worlds on 1.14 and later
  • [Added] Support for changes done by TacoSpigot server fork
  • [Fixed] Heightmap on 1.12.2 and earlier used an incorrect 2 block offset, causing glitches in LightCleaner
  • [Fixed] MapDisplay createItem was not storing MapId metadata in item, causing crash with SlimeWorldManager [Maplands Issue #21]
Map Displays
  • [Fixed] ConcurrentModificationError inside Map Display ItemFrame controller [BKCommonLib Issue #76]
  • [Fixed] Players twitching when standing on the edge of a block controlling a map display
  • [Improved] Performance of Map Display ItemFrame tracking much better, no longer causes chunk loads, with a config option to turn it off entirely if unused [BKCommonLib Issue #83]
  • [Fixed] Several glitches with the Map Display ItemFrame clustering (large displays) not initializing correctly
  • [Improved] Map Display no longer re-initializes when resized without active viewers, improving performance
  • [Added] Map Canvas function to save the pixels as an indexed buffered image (gif)
Other
  • [Fixed] Several network synchronization glitches when players or entities teleport between worlds or (re)spawn
  • [Fixed] Slabs, planks and some other materials not parsable by name
  • [Added] Support for spawning entities using CommonEntity that lack a world-coords constructor
  • [Added] Hastebin utility class for uploading/downloading text data, with special support for stream compression
  • [Added] Extra safeguard against server crash when a plugin implementing PlayerFileData hook throws an error
  • [Fixed] NullPointerException in DataWatcher when watched items are empty
  • [Fixed] Quaternion rotateYawPitchRoll Vector function having x and y coordinates swapped
  • [Fixed] Errors occurring when an entity network controller was detached
  • [Added] Octree and DoubleOctree implementations for mapping to point cloud data
  • [Fixed] Start AsyncTask threads with daemon=true to prevent the server stalling if a task isn't terminated on shutdown
  • [Added] Debug utility logStackTraceAsynchronously to debug hangs on plugin enable/disable
  • [Added] DataWatcher getFlag and setFlag functions for byte mask manipulations
  • [Fixed] Made ResourceKey name format error handling more consistent
  • [Added] Fail earlier with exceptions rather than silently when setting invalid entity types in spawn packets [TrainCarts Issue #311]
  • [Fixed] Preserve chat formatting characters at the end of a message when storing in a ChatText object
  • [Added] New YAML implementation that allows for more efficient saving, writes to file asynchronously, speeding up autosave in plugins
  • [Added] Function to write text to files asynchronously with a callback to know when writing finishes
  • [Added] YAML can now parse ItemStack data saved on future versions of Minecraft
  • [Improved] Library initialization of the test server much faster, making tests run faster too
  • [Improved] Block to BlockState conversion much faster by not creating snapshots anymore
  • [Fixed] Entities with entity controller stopping completely when moving very slowly
  • [Improved] Performance of EntityTypes lookup on 1.14 and later was improved significantly
  • [Fixed] Missing field error for PacketPlayOutWorldParticles on older versions of Minecraft
  • [Improved] Use entitiesById instead of entitiesByUUID field for world entity list, improves performance of synchronizeList function
  • [Fixed] Entities with controllers sometimes disappearing from the server on shutdown due to chunk not marked for saving
  • [Fixed] Entity tracker for players was reset when teleporting, causing some strange glitches and lag because chunks were resent [TrainCarts Issue #329]
  • [Improved] Legacy AttachEntity packet now has cleaner API functions for the legacy mount and still used leash logic
  • [Added] VehicleMountController, taken over from TrainCarts and significantly improved. Used to mount virtual entities onto one another
----------, Feb 17, 2020
Resource Information
Author:
----------
Total Downloads: 206,085
First Release: Apr 17, 2017
Last Update: Apr 27, 2025
Category: ---------------
All-Time Rating:
56 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings