
AbyssalLib
a plugin library for making development and integration way easier
AbyssalLib 2.0.3-mc.26.1.2
release22 апреля 2026 г.Fixes:
- No longer overwrites player inv when using permission gui
AbyssalLib 2.0.2-mc.26.1.2
release18 апреля 2026 г.Fixed:
- Jitpack now uses JDK 25
AbyssalLib 2.0.1-mc26.1.2
release18 апреля 2026 г.New:
- Updated to 26.1.2
- added Dye component
- added new special model types to RP API to match 26.1
Changes:
- updated existing special models in RP API to match new changes of 26.1
- Standard and Dust particle renderer no longer use packet based rendering as that didnt affect them much.
- CustomBlock now validates if the block material is the correct custom block material, if not it removes the custom block
- AbstractPropertyEntity now uses reflection API
AbyssalLib 2.0.0-mc1.21.11
release17 апреля 2026 г.Changelog
Features & Additions
- Permissions System: Added a Permission API with an in-game GUI and Web Editor (with domain support). Includes custom permission checks (
Player#hasPerm) and removes the need for permissions inpaper-plugin.yml. - Dynamic Translations: Added
ItemTranslationProviderandServerTranslatorglobal providers/resolvers, allowing developers to add dynamic translations without PlaceholderAPI. - Resource Pack Loading: Implemented configuration phase sending for resource packs.
- New Asset Types: Added support for Atlas, BBModelLoader, and Core Shader assets.
- Loot Commands: Added a command to set custom loot tables on any container (loot generates upon interaction). Added custom loot table support directly to entities.
- Locate Command: Added a
locatecommand for structures, which works exclusively in newly generated chunks. - Dynamic Statistics: Added dynamically generated tracking for
entities_killed,blocks_mined, anditems_craftedbased on namespace and ID.
Changes & Improvements
- Asynchronous Item Ticking & GUI Performance:
ItemTickernow runs asynchronously. Additionally,GuiManagernow creates a ticker specifically for GUIs with atickIntervalgreater than 0 (default is 1), improving overall server performance. - Structure Optimization: Improved structure placement performance by ~75% and reduced structure file sizes by ~95%. Increased the
StructureBlocksize limit to 1028 for X/Y/Z coordinates. - GUI Engine Overhaul: Reworked
ItemMenuto utilizeItemCategorysystems, allowing categorized item displays (a default category is generated if none is specified by a plugin). Missing plugin icons now default to an apple placeholder. - Particle Performance: Improved the performance of default particle renderers.
- Component Handling: Component Maps and custom components now use
NbtOpscodecs to properly maintain data types natively.
Fixes
- Worldgen & Structures: Fixed structure rotation failing to rotate by the origin anchor. Fixed an issue where worldgen would fail for structures extending beyond a 3x3 chunk region. Fixed structure placement not working with processors.
- MiniMessage Parsing: Fixed MiniMessage text parsing for Server-Side Rendering (SSR), chat packets (including disguised packets), boss-bars, objectives, and dialogs.
- Translation Overrides: Fixed
TranslationLoaderoverriding previously loaded locale files, and fixed a bug where failed translation strings were replaced by their raw keys instead of parsing correctly. - Packet Translation: Fixed
PacketTranslatorbreaking items server-side, allowing custom items to function correctly in recipes. - Block State Adapters: Fixed and added adapters for Nameable, Container, InventoryHolder, Lootable, Lockable, Leaves, and Bed (part/occupied) tile states.
API & Developer Notes
-
Dependencies: Updated to Kotlin 2.1.0, added
kotlinx.coroutines, and added Kotlin API for config and database. -
Database Loader: Added a universal Database API and Loader via Config, supporting MariaDB, MongoDB, Redis, PostgreSQL, and H2.
-
New APIs: Added Scoreboard API, Economy API (requires plugin implementation, not Vault compatible), Advancement & Toast API, and Placeholder API with defaults.
-
Kotlin DSLs: Added Kotlin DSLs for Blocks and Block Entities (similar to the Item DSL).
-
Energy Conductor Nodes: Added
EnergyConductorfor cable-type nodes with simulation mode for insert/extract. Transfers now depend onBlockFace. Custom blocks must manually handleEnergyNetworkregistration/unregistration. -
Library Migrations: Moved away from
ItemBridge,BlockBridge, andIdentifier. UseBlockInfoand AdventureKeyinstead. Direct support for Nexo and ItemsAdder has been removed. -
GUI API Adjustments: Added
GuiClickContextandGuiDragContextas overrides, replacing the oldonDragandonClick. Added new builder utilities (fill,fillBorder,structure) and new UI layers (ScrollLayer,StateCycleElement,ToggleElement,ProgressBarLayer). -
Javadocs: Added extensive Javadoc coverage across the library, linking to PaperMC and Adventure APIs.
-
Removals & Deprecations:
- Deleted the Multiblock API.
- Removed deprecated GUI implementations (
ListedLayersandPaginatedElementsare replaced byLayerStackandPagedLayer). - Removed
BlockPileFeature,CaveVineFeature, andRandomPatchFeature. - Removed
DamageType.Registrar(useDamageType#registerinPluginBootstrap).
Note for devs using particle API; if you spawn a HUGE amount of particles, consider using ItemDisplayRenderer instead as the client wont have to receive a ton of packets (tested with 2500 item displays, client and server performance was good, however particles cause client to disconnect on same configuration)
1.9.0-mc1.21.9
release29 января 2026 г.Docs will be updated after v2 as v2 is already nearly done and the Wiki rewrite will take atleast 2-3 days
New:
- Structure API along with ingame Structure Block for saving/loading ingame
- Worldgen API for generating features with json config support (default has ore, geode, spring and structure and more)
- Color API for Color conversions, creation, and more
- ItemPredicate for weak stack checks
- Transaction and Batch query support for Database
- MySQL implementation for Database
- A few other useful methods for queries and batch queries
- From-scratch Energy API with EnergyUnit support and builtin Energy Network
- Loot table API rewritten to be datadriven, can also be now used to replace or merge with vanilla tables
- More hooks for CustomBlock, and more properties for it
- Almost all loaders can now be used to load relevant object from jar or a folder
Changes:
- Particle API now uses ColorProvider instead of Gradient
- Tag API now uses ItemPredicate, and has overall been rewritten
- DataComponent uses Type instead of ID, this also removes all reflection related to data component API (thus making it faster than before)
- CustomBlock#place no longer resets placed blocks state (this also means if calling via API, the vanilla block should be placed before calling CustomBlock#place)
- Try utility has been entirely rewritten, any usages must update to new format
- insert() no longer refers to INSERT_OR_REPLACE, use new replace() chain
- All database operations (player statistics, block manager etc) now use optimized db calls (transactions, batch calls, async calls)
Removal:
- Gradient has been removed (replaced by ColorProvider)
- Removed Deprecated Energy and Particle API
- CustomRecipe class
- RECIPE_CHOICES and RECIPE_TYPES registries
