Javadoc jar will not be published till i finish refactoring them (likely will be done quickly once i can use my pc)
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
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
New:
- McMeta, PackMcMeta and Pack icon support in ResourcePack/Namespace
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
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
- the newer config 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
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
New:
- Block(Identifier, Material) constructor
Changes:
- PlayerAttributes renamed to EntityAttributes (can store attributes for any entity now)
Fix:
- Static getHandlerList in all custom events
New:
- Config option
features.custom_block_breakingto 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))
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.
** Docs will be updated in july
Changes:
- Rewrote GUI API to support multi-player inventories (docs will be updated soon)
Fixed:
- GUI still ticking after closing
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
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
Changes:
- Rewrote Particle API
Added PlayerEnterWaterEvent and PlayerExitWaterEvent
Changes:
- Rewrote LootTable API
- Rewrote ConfigSpec
- Rewrote Block API (BlockItem related)
- Rewrote Tag API
Added Database API Added Particle API - Beta
Fixed Class not found com.github.darksoulq.*
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!!



