AbyssalLib icon

AbyssalLib -----

An all-purpose library, which makes integration easier aswell




FIxes:
  • Only one BlockEntity ticking after chunk is reloaded (or server restarts)
----------, Dec 1, 2025

New:
- ListedLayers#reset() and PaginatedElements#reset() [Useful if layer hasn't been added to GUI and is being handled by another layer]
- Item#onSwapHand, Item#onSlotChange, Item#onDrop, Item#onPickup ( #1)

Changes:
- Item#onUse now has a third argument ClickType showing what type of click it was (left/right) ( #1)

Fixes:
- BlockInteractionEvent#getInteractionPoint is now Nullable
----------, Nov 30, 2025

New:
  • Selector.Select type has been added (Component select has NOT been added yet)
  • BukkitBlockExtensions with (currently) 1 method, Block#getPDC, this calls BlockPersistentData.get(Block)
[HR][/HR]
Fixes:
  • Blocks properly load now.
  • Selector.Select json output is now ordered
  • Block/Entity/Multiblock databases no longer duplicate content
  • BlockEntity superclass Property<>(s) also get saved now
  • Blocks now get properly removed from database
[HR][/HR]
Removal:
  • (none)
----------, Nov 27, 2025

Fixes:
  • Blocks properly get saved
  • BlockEntity no longer gets overwritten on new block placement

Additionally, I apologize for not including -mcx.x.x in previous 2 version
----------, Nov 25, 2025

Fixes:
  • Default plugin_icon is no longer a missing texture (no resourcepack reset needed)
  • BlockInteractionEvent is now called and handled correctly
  • Plugin Icon items no longer show in give cmd and Item Menu
Removal:
  • CustomRecipe#getCodec (had no real use)
----------, Nov 24, 2025

From now on AbyssalLib will receive smaller updates as well as dev versions (dev only on GitHub)
For Developers: you should now add a lang key `plugin.<plugin_id>` so that you can show a proper name inside ItemMenu (default is plugin_id). Optionally, also add an icon.
New:
  • Statistics Menu, and Item Menu for viewing said content (view permissions in docs)
  • Namespace#icon for specifying the plugin icon to show in /abyssallib content items (textures/items/icon.png)
  • EntitySpawner component for items that spawn custom entities
  • Statistics API for adding custom Statistics to players
  • Command now supports aliases
  • Codecs for all DataComponents
  • Codec#collection and Codec#collection(collectionConstructor) (e.g. codec.collection(HashSet::new))
  • Entity now supports DataComponent (not Vanilla ones, only custom)
  • EnergyContainer component (wrapper for SimpleEnergyContainer)
  • A lot of new codecs in ExtraCodecs and Codecs
  • oversizedInGui field for ItemDefinition
  • Kotlin player and entity extensions for various methods
  • Kotlin GuiBuilder, DamageTypeBuilder, ParticlesBuilder, LootTableBuilder, LootPoolBuilder, RecordCodec
  • Model now includes guiLight, textureSize, ambientOcclusion
  • Model.Element now includes shade and lightEmission
  • Added byte[] data Overloads for all assets (cannot edit them via code afterward)
  • ResourcePack#unregister (does nothing under RSPM; reload RSPM instead)
Changes:
  • Add back many constructors to DataComponents to fix component loading
  • BlockEntity now only serializes variables of type Property<>
  • BlockManager no longer uses TextUtil.GSON for serialization/deserialization
  • AttributeModifier → ItemAttributeModifier
  • Many constructors with easier-to-use versions for DataComponents
  • DataComponent constructor now accepts subclass Codecs (Codec<ToolComponent> instead of Codec<DataComponent<Tool>>)
  • Entity Loading is now fixed
  • Codec<Component> (TEXT_COMPONENT in Codecs) now uses MiniMessage for serializing/deserializing
Fixes:
  • ItemBridge properly loads items now (also fixes ITEM_STACK codec)
  • Registry no longer crashes plugin if a duplicate ID is registered (it skips instead)
  • Item Components randomly not applying
  • Typo in ItemModel which caused it to replace ItemName
  • Possibly fix Entity Spawning
Removal:
  • Logging from SimpleEnergyContainer
  • WorldMeta
----------, Nov 23, 2025

New:
  • Experimental Multiblock API
  • PaginatedElements#getPage to get current page
  • Experimental Energy API
  • Config class as a wrapper to YamlConfiguration
  • Rewritten Item api (mostly same, only getSettings() is no longer applicable)
  • Server owners can load recipes using yml files.
  • Codec API for serialization
  • ItemBridge for easily getting ItemStacks from different sources based on ID (used in Recipe loading)

Removal:
  • BlockInteractionEvent {buggy and redundant}
  • Annotation based Config API {Extremely fucked}
  • CustomBlockBreak {very buggy, and not useful}
  • ToolType and ToolTier {may or may not be temporary}
  • MySQL impl of Database API {impl wasnt good}

Changes:
  • Full rewrite of Particles, Shape, Shapes and AnimatedShapes
  • EventBus.post is now a static method
  • Classes from /world/level/ moved to /world/ (some more classes were also moved to common/)
  • Block.java -> CustomBlock.java to resolve name conflict

Fixes:
  • Gui no longer opens if player is sleeping or in a portal
----------, Sep 16, 2025

New:
  • Equipment .json loading/creating
  • Blockstate .json loading/creating
  • PostEffect .json loading/creating
  • WaypointStyle loading/creating
  • Updated to RSPM 1.5.0

Changes:
  • No longer delays resourcepack generation/registration.

Fixed:
  • McMeta files being created in root of resourcepack
----------, Jul 27, 2025

New:
  • McMeta, PackMcMeta and Pack icon support in ResourcePack/Namespace
----------, Jul 27, 2025

Changes:
  • BlockManager now only ticks BlockEntities of loaded chunks (should improve performance)
  • registerTypeAdapter seperate into itself and registerTypeHierarchyAdapter in BlockManager.

Fixes:
  • Error when breaking block
  • All Blocks sharing same BlockEntity
  • Blocks not being removed

* I apologize for messing up versioning, previous version was meant to be 1.4.0
----------, Jul 26, 2025

New:
  • Update to 1.21.7
  • BlockBrokenEvent contains fortune level of item and can be used to interrupt drops and handle them manually
  • Item(s) can be made to place Block(s) using getSettings().blockItem(Block) now
  • Newconfig api! (old one is in .legacy package)
  • New gui api (no javadocs yet)

Fixed:
  • ItemTag#contains
  • BlockTag#contains
  • BlockManager loads blocks properly
  • TextOffset not working properly

Changes:
  • Removed RecipeAPI (broken)
  • Item#data changed to #setData and #getData
  • GuiManager methods are now static
  • ChatInputHandler methods are now static
----------, Jul 22, 2025

Fixes:
  • Blocks not being saved
  • EntityAttributes db file not being created
  • Entity db file not being created
  • Packets causing players to disconnect
  • TextOffset not working
  • Bitmaps not loading properly
----------, Jul 3, 2025

New:
  • Block(Identifier, Material) constructor

Changes:
  • PlayerAttributes renamed to EntityAttributes (can store attributes for any entity now)

Fix:
  • Static getHandlerList in all custom events
----------, Jul 2, 2025

New:
  • Config option
    Code (YAML):
    `features.custom_block_breaking`
    to disable/enable the block hardness mechanic (default false as visuals are buggy)
  • AttributeModifier and AttributeOperation for PlayerAttribute API (modifiers are unloaded upon restart, they must be manually added back)
  • Font#glyph has been readded

Changes:
  • Packet API now provides PacketReceiveEvent and PacketSendEvent
  • PlayerData renamed to PlayerAttribute (now only supports Number (int, float, byte, etc))
----------, Jun 28, 2025

Changes:
  • Item and Block API have been rewritten in alot of parts.
  • Config API has been moved to .legacy in favor of possibly new API
  • ResourceLocation is now Identifier and made using Identifier#of
  • ResourcePack API has been rewritten from scratch

New:
  • BaseMap which can be extended to make your own maps
  • BlockEntity (for Block ticking and data)
  • ParticleEmitter for dynamic particle source
  • ItemDisplay capabilities to particle API
  • PlayerData and Attribute API
  • DamageType API (not tested, requires BootStrap)
  • WorldMeta class for easy use of world PDC
  • DataPack class for loading datapacks from within plugin (requires bootstrap)
  • BlockProperties which allow setting custom hardness, allowing fortune/requiring silktouch for blocks (will be expanded).
  • Custom block break handling (has visual bugs)
  • Experimental entity api (no loot table/ event hooks in-class, need to be handled in respective events for now)
  • ItemType and ItemTier
  • Experimental packet api
  • TTF, bitmap char arrays, unihex and space provider support for Font class
  • TextOffset class for easily getting any offset (gui position etc)
  • keepAlive to MySQL database

Removed:
  • BlockData removed in favor of BlockEntity
  • Builtin RecipeViewer and Recipe serialization removed in favor of WIP separate plugin.
----------, Jun 27, 2025

Changes:
  • Rewrote GUI API to support multi-player inventories (docs will be updated soon)
Fixed:
  • GUI still ticking after closing
----------, May 21, 2025

New:
  • Middle Click now picks the blocks item (if it exists) instead of the vanilla item
Changes:
  • Rewrote Item class (for devs):
    • There is NO change in how you register the item or create them, but now, instead of passing the Item as an ItemStack, you must call Item#stack() instead
    • Item no longer extends ItemStack
----------, May 19, 2025

New:
  • ResourcePackDeleteEvent and ResourcePackGenerateEvent
  • Added EventBus#post(Event) for calling events (overlay for bukkits method)
  • Added a static instance of EventBus in AbyssalLib class, can be used if you dont want to make your own instance
Changes:
  • You need to call GlyphWriter#writeAll(modid) to generate the glyphs into the pack properly now, this MUST be done BEFORE ResourcePack#generate()
Docs will be updated shortly to reflect these changes
----------, May 18, 2025

Changes:
  • Rewrote Particle API
----------, May 17, 2025

Added PlayerEnterWaterEvent and PlayerExitWaterEvent
----------, May 17, 2025

Changes:
  • Rewrote LootTable API
  • Rewrote ConfigSpec
  • Rewrote Block API (BlockItem related)
  • Rewrote Tag API
----------, May 16, 2025

Added Database api
Added Particle API - Beta
----------, May 12, 2025

Fixed Class not found
Reworked Contexts to be more consistent
Reworked GUI system to use MenuType, docs are being updated
added JavaDocs! (most classes are covered)

Glyps will be reworked next!!
----------, May 11, 2025

Resource Information
Author:
----------
Total Downloads: 311
First Release: May 4, 2025
Last Update: Dec 1, 2025
Category: ---------------
All-Time Rating:
1 ratings
Find more info at darksoulq.github.io...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings