90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!

[1.21.8] Accessories [Neoforge] - 1.3.1

Changelog

Changes:

  • Add native support to dispense Accessories onto entities from dispensers
  • Accessories Screen: The given screen has been update with the previous experimental screen replacing the original first version. This comes with some additions based on the original and overall more customizability compared to the original like adjustment to amount of slots on screen, dark mode, and more. The changes from the previous experiments are as follows:
    • Add double entity view with it being a front and back view of the entity
    • Remove side crafting area and only allow toggling bottom crafting grid
    • Add ability to keep various GUI elements within the center of the screen
    • Add side by side accessories view similar to original screen
    • Update padding to by parity with vanilla that being panel padding of 7
    • Update textures for Entity view with a front and back panel to allow for proper looking scissoring of entity and attempt to prevent rendering poking though armor items
    • Update Icon buttons to new style of gradients
    • Add ability to always show crafting grid in experimental screen
    • Add Cosmetic saddle slot for entities that allow such

Fixes:

  • Attempt to prevent opening accessories screen if the client and server are desync on the amount of slots added which prevents instant crashes and is more informative about the issue
  • Add better handling for stack transfer for all screens outside creative (Creative is still weird but now only duplicates stack so idk)
  • Fix issues related to resizing stacks not being tracked i.e. when transferring stack amount
  • Fix issues with not properly tracking container changes due to updating twice invalidating a sync
  • Fix issues where stack mutation in onEquip as such was not properly preserved leading to issues with comparison on equipment changes
  • Fix issues where onUnequip stack was a empty reference leading to issues with having no stack to call unequip. Note: an attempt to give the developer the reference stack back to modify is attempted but due to how stack manipulation occurs it may not be possible or all of them.
  • Resolve issue where Accessory Nest inner item enchantments were not properly gotten
  • Fixes some attribute tooltip related logic issues and general problems with the builder

API:

  • Refactors to various packages and file locations meant to be a bit more organized with the layout and groupings of class files
  • AccessoriesStorage has had adjustments made to renderOptions i.e. the method to which you check if a given slot index should attempt an accessory rendering as it is no a map that contains if a slot is to render or not as a method to reduce overall storage of redundant data. No entry within the map indicates that the value is true but it is recommend to check using the given index with shouldRender method
  • Switch from using SimpleContainer to a copy of such called BaseContainer for which ExpandedContainer (previously ExpandedSimpleContainer) extends due to changes in 1.21.6 and up that were not compatible with accessories use case anymore
  • Refactor to SlotReference leading to the creation of SlotPath which functions as primary storage for information pertaining to locating a given equipped Accessory stack. Such is useful for cases where entity reference is not permitted.
  • Refactor to how equipped Accessories and their containers to allow for access equipped accessories when in cases like entity rendering. LivingEntityRenderState now has methods extended from AccessoriesRenderStateAPI to get AccessoriesStorageLookup which has similar capabilities to AccessoriesCapability for getting AccessoriesStorage instances. AccessoriesStorage is just the base implementation of AccessoriesContainer for accessing simple information like equipped accessories.
  • Data Components: Changes involve either new components, merging of existing components, and adjustments to existing components.
    • [NEW] AccessoryMobEffectsComponent adds the Ability to declare custom mob effects similar to potions on an accessory
    • Adjust default accessory to use existing Data components for various defaults like equipFromUse check
    • [NEW] AccessoryStackSettings acts as a direct replacement for AccessoryStackSizeComponent combined with various Vanilla parity additions like canEquipFromUse and more
    • AccessoryRenderOverrideComponent was merged within AccessoryCustomRendererComponent
  • Commands: Refactor commands structure to be more future proof and add missing features compared to other accessory API's. Documentation for such coming within the future.
    • Component Manipulation commands are now grouped under
    • [NEW] Slot Attribute Manipulation Commands: Add the ability to manipulate a entities slot attributes from a command similar to Minecraft's now allowing for commands to change slot sizing
    • [NEW] Item Manipulation commands: Allows the ability to interact with an entity accessories slot similar to vanillas

Files

accessories-neoforge-1.3.1-beta+1.21.8.jar(1.46 MiB) Primary Download
accessories-neoforge-1.3.1-beta+1.21.8-sources.jar(644.97 KiB) Download