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