The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
This is a copy of the changelog for the most recent version. For the full version history, go here.
[10.0.1+1.21.4] - 2025.05.17
Fixed
- Fixed loot context crash
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
This is a copy of the changelog for the most recent version. For the full version history, go here.
[11.0.1+1.21.5] - 2025.05.17
Fixed
- Fixed loot context crash
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
This is a copy of the changelog for the most recent version. For the full version history, go here.
[11.0.0+1.21.5] - 2025.05.15
Changed
- Updated to Minecraft 1.21.5
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
This is a copy of the changelog for the most recent version. For the full version history, go here.
[10.0.0+1.21.4] - 2025.05.15
For an in-depth overview of API changes, refer to this guide.
Added
- Added ways for developers to listen to state changes (when an item is the same) and differentiate them from item changes:
- CurioChangeEventis now abstract, with added- CurioChangeEvent.Itemand- CurioChangeEvent.Statesubclasses
- onStateChangemethod added to- ICurioand- ICurioItem
 
- A new preset slot type, feet, has been added with an included default icon
- Added slot type predicates for more advanced checking in CurioAttributeModifier
- Added new data generation options, including the ability to generate tags within the same provider as the Curios data
- Added curios:player_likeentity type tag, with entries for players and armor stands
- Added entitiesfield to slot type data files for marking default entity types to add the slot type to automatically, without needing a correspondingcurios/entitiesfile
- Added the ability to create slots directly inside curios/entitiesdata files, without needing a correspondingcurios/slotsfile
- Added curios:generic_exclusionsitem tag for declaring curio items that should not be equipable into the genericcurioslot by default
- Added preset slot type constants and tags to CuriosSlotTypesandCuriosTagsrespectively
Changed
- Updated to Minecraft 1.21.4
- Following the state change additions, onUnequipandonEquipno longer fire if the detected items are the same
- ICurioRenderer#renderparameters have been adjusted for Minecraft changes
- ICurio.DropRulehas moved to- top.theillusivec4.curios.api.common.DropRule
- CurioAttributeModifierEventnow uses- CurioAttributeModifiersinstead of maps
- Moved SetCurioAttributesFunctionto the official API package
Removed
- Removed all previously deprecated classes and methods
Deprecated
- Deprecated slot type methods in CuriosApi, replaced by methods inCuriosSlotTypes.
- Deprecated getAttributeModifiersinICurioandICurioItem
- Deprecated CuriosRendererRegistry, replaced by methods inICurioRenderer
- Deprecated the previous utility methods in ICurioRenderer, replaced bysetupHumanoidAnimationsandcopyHumanoidProperties
- Deprecated attribute map methods in CurioAttributeModifierEvent
- Deprecated CuriosTooltip
- Deprecated ISlotType#getIdentifier, replaced bygetId
- Deprecated ICurioSlotExtension#getSlotTooltip, replaced bygetSlotTooltipwith an additional parameter for original tooltip lines
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
This is a copy of the changelog for the most recent version. For the full version history, go here.
[9.5.1+1.21.1] - 2025.05.14
Fixed
- Fixed crash on world load after updating from 9.4.2+1.21.1or below #520
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
This is a copy of the changelog for the most recent version. For the full version history, go here.
[9.5.0+1.21.1] - 2025.05.14
Added
- [API] Added active states for slots to allow developers to enable or disable slots on entities during gameplay,
accessible through new methods ICuriosItemHandler#isSlotActiveandICuriosItemHandler#setSlotActive
Changed
- Updated ja_jplocalization #513
The format is based on Keep a Changelog and this project adheres to Semantic Versioning. Prior to version 5.2.0, this project used Forge Recommended Versioning.
This is a copy of the changelog for the most recent version. For the full version history, go here.
[5.14.1+1.20.1] - 2025.04.13
Fixed
- Fixed slot modifiers and invalid stacks when using ICuriosItemHandler#saveInventory
The format is based on Keep a Changelog and this project adheres to Semantic Versioning. Prior to version 5.2.0, this project used Forge Recommended Versioning.
This is a copy of the changelog for the most recent version. For the full version history, go here.
[5.14.0+1.20.1] - 2025.04.09
Added
- [API] Added ICuriosItemHandler#saveInventory(boolean, BiPredicate<ItemStack, SlotContext>)for more specific filtering on inventory saves
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
This is a copy of the changelog for the most recent version. For the full version history, go here.
[9.4.2+1.21.1] - 2025.04.08
Changed
- Inventory#contains(Predicate<ItemStack>)and- Inventory#hasAnyMatching(Predicate<ItemStack>)now also check the curios inventory
The format is based on Keep a Changelog and this project adheres to Semantic Versioning. Prior to version 5.2.0, this project used Forge Recommended Versioning.
This is a copy of the changelog for the most recent version. For the full version history, go here.
[5.13.0+1.20.1] - 2025.04.08
Added
- [API] Added ICuriosItemHandler#saveInventory(boolean, Predicate<ItemStack>)for filtering inventory saves
Changed
- Inventory#hasAnyMatching(Predicate<ItemStack>)now also checks the curios inventory
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
This is a copy of the changelog for the most recent version. For the full version history, go here.
[9.4.1+1.21.1] - 2025.04.04
Fixed
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
This is a copy of the changelog for the most recent version. For the full version history, go here.
[9.4.0+1.21.1] - 2025.03.24
Changed
- Updated tooltip logic to follow NeoForge conventions, including the use of AddAttributeTooltipsEventandGatherSkippedAttributeTooltipsEvent#496
Fixed
- Fixed previous slot modifiers persisting after deserialization which caused inconsistent behavior when using extra slots
- Fixed caching errors that caused certain functions to misidentify curio inventory contents
- Fixed deprecated usage of ICurio#getDropRule
- Fixed datagen output not being deterministic #497
- Fixed missing slot localization fallbacks on item tooltips
- Fixed slot modifier tooltip localizations
- Fixed curios:set_curio_attributesloot table function
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
This is a copy of the changelog for the most recent version. For the full version history, go here.
[9.3.1+1.21.1] - 2025.03.12
Fixed
- Fixed slot tooltip rendering
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
This is a copy of the changelog for the most recent version. For the full version history, go here.
[9.3.0+1.21.1] - 2025.03.10
Added
- Added ICurioSlotExtensionfor defining additional slot behavior
- Added CuriosTagsfor more convenient access to commonly used Curios tags #495
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
This is a copy of the changelog for the most recent version. For the full version history, go here.
[9.2.3+1.21.1] - 2025.03.07
Added
- Added lzhlocalization #488
Changed
- Added tr_trlocalization #482
Fixed
The format is based on Keep a Changelog and this project adheres to Semantic Versioning. Prior to version 5.2.0, this project used Forge Recommended Versioning.
This is a copy of the changelog for the most recent version. For the full version history, go here.
[5.12.1+1.20.1] - 2025.02.26
Changed
- Attribute tooltips will condense multiple values into a single sum when applicable
Fixed
The format is based on Keep a Changelog and this project adheres to Semantic Versioning. Prior to version 5.2.0, this project used Forge Recommended Versioning.
This is a copy of the changelog for the most recent version. For the full version history, go here.
[5.12.0+1.20.1] - 2025.02.21
Added
- [API] Added ModelRenderandHumanoidRendersub-interfaces toICurioRenderer
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
This is a copy of the changelog for the most recent version. For the full version history, go here.
[9.2.2+1.21.1] - 2025.01.11
Added
- Added exclusion areas on the Curios screen for EMI and REI recipe viewers
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
This is a copy of the changelog for the most recent version. For the full version history, go here.
[9.2.0+1.21.1] - 2025.01.10
Added
- [API] Added the following methods:
- ICurio#getAttributesTooltip(List<Component>, Item.TooltipContext)
- ICurio#getDropRule(SlotContext, DamageSource, boolean)
- ICurio#getAttributeModifiers(SlotContext, ResourceLocation)
- ICurio#getSlotsTooltip(List<Component>, Item.TooltipContext)
 
Fixed
- Addressed memory leaks due to unneeded capability invalidation
Changed
- Updated to Minecraft 1.21.1
- [API] Changed ICurio#getLootingLevel(SlotContext, DamageSource, LivingEntity, int)togetLootingLevel(SlotContext, LootContext)
- [API] Replaced UUIDfor attribute modifiers withResourceLocationin all instances of the API
- Changed tooltip processing to use NeoForge's API
- Added caching to Curios lookups for optimization
Deprecated
- [API] Deprecated the following methods:
- ICurio#getAttributesTooltip(List<Component>)
- ICurio#getDropRule(SlotContext, DamageSource, int, boolean)
- ICurio#getAttributeModifiers(SlotContext, UUID)
- And their respective pairings in ICurioItem
- CuriosApi#getSlotIcon(String)
- CurioCanEquipEvent#(ItemStack, SlotContext)
 
Removed
- [API] Removed previously deprecated methods from ICurio,ICurioItem,SlotContext
The format is based on Keep a Changelog and this project adheres to Semantic Versioning. Prior to version 5.2.0, this project used Forge Recommended Versioning.
This is a copy of the changelog for the most recent version. For the full version history, go here.
[5.11.1+1.20.1] - 2025.01.06
Added
- Added de_delocalization #461
