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:
CurioChangeEvent
is now abstract, with addedCurioChangeEvent.Item
andCurioChangeEvent.State
subclassesonStateChange
method added toICurio
andICurioItem
- 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_like
entity type tag, with entries for players and armor stands - Added
entities
field to slot type data files for marking default entity types to add the slot type to automatically, without needing a correspondingcurios/entities
file - Added the ability to create slots directly inside
curios/entities
data files, without needing a correspondingcurios/slots
file - Added
curios:generic_exclusions
item tag for declaring curio items that should not be equipable into the genericcurio
slot by default - Added preset slot type constants and tags to
CuriosSlotTypes
andCuriosTags
respectively
Changed
- Updated to Minecraft 1.21.4
- Following the state change additions,
onUnequip
andonEquip
no longer fire if the detected items are the same ICurioRenderer#render
parameters have been adjusted for Minecraft changesICurio.DropRule
has moved totop.theillusivec4.curios.api.common.DropRule
CurioAttributeModifierEvent
now usesCurioAttributeModifiers
instead of maps- Moved
SetCurioAttributesFunction
to the official API package
Removed
- Removed all previously deprecated classes and methods
Deprecated
- Deprecated slot type methods in
CuriosApi
, replaced by methods inCuriosSlotTypes
. - Deprecated
getAttributeModifiers
inICurio
andICurioItem
- Deprecated
CuriosRendererRegistry
, replaced by methods inICurioRenderer
- Deprecated the previous utility methods in
ICurioRenderer
, replaced bysetupHumanoidAnimations
andcopyHumanoidProperties
- Deprecated attribute map methods in
CurioAttributeModifierEvent
- Deprecated
CuriosTooltip
- Deprecated
ISlotType#getIdentifier
, replaced bygetId
- Deprecated
ICurioSlotExtension#getSlotTooltip
, replaced bygetSlotTooltip
with 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.1
or 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#isSlotActive
andICuriosItemHandler#setSlotActive
Changed
- Updated
ja_jp
localization #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>)
andInventory#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
AddAttributeTooltipsEvent
andGatherSkippedAttributeTooltipsEvent
#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_attributes
loot 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
ICurioSlotExtension
for defining additional slot behavior - Added
CuriosTags
for 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
lzh
localization #488
Changed
- Added
tr_tr
localization #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
ModelRender
andHumanoidRender
sub-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
UUID
for attribute modifiers withResourceLocation
in 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_de
localization #461