Curios API

Curios API

Mod

A flexible and expandable accessory/equipment API for users and developers.

Client and server AdventureEquipmentLibraryUtility

707.4k downloads
300 followers
Createda year ago
Updated9 days ago

Follow Save
Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.
Filter loader...
Filter versions...
Filter channels...

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.

[8.0.0-beta+1.20.6] - 2024.05.02

Added

  • [API] Added CuriosApi#withSlotModifier to generate ItemAttributeModifiers with a slot modifier attached

Changed

  • Changed the default interface to the experimental menu and removed the legacy menu
  • [API] Changed Attribute to Holder<Attribute>, affecting the following:
    • ICurio#getAttributeModifiers
    • ICurioItem#getAttributeModifiers
    • SlotAttribute#getOrCreate
    • CuriosApi#getAttributeModifiers
    • CuriosApi#addSlotModifier
    • CuriosApi#addModifier
    • All modifier methods in CurioAttributeModifierEvent
  • [API] Changed CurioEquipEvent and CurioUnequipEvent to CurioCanEquipEvent and CurioCanUnequipEvent
  • [API] Added HolderLookup.Provider to the signatures of IDynamicStackHandler#serializeNbt and IDynamicStackHandler#deserializeNbt

Removed

  • Removed addModifier, addSlotModifier, and getAttributeModifiers methods from ICuriosHelper, use the methods in CuriosApi with the same name instead
  • [Forge - API] Forge removed stack capabilities so curios can now only be registered through CuriosApi#registerCurioor implementing ICurioItem on the item
  • [Forge - API] Removed CuriosApi#createCurioProvider

The format is based on Keep a Changelog and this project adheres to Forge Recommended Versioning.

This is a copy of the changelog for the most recent version. For the full version history, go here.

[1.19.2-5.1.6.2] - 2024.04.29

Added

  • Added enableButton configuration option #362

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.

[7.4.0+1.20.4] - 2024.04.29

Added

  • [API] Added CuriosApi#getCurioPredicates
  • Added tok localization

Changed

  • New interface no longer shifts the screen to the right
  • Scrolling through pages in the new interface is twice as fast
  • Lowered the maximum value of maxSlotsPerPage configuration option from 64 to 48

Fixed

  • Fixed generic curio slots from failing validation checks when only those slots exist on an entity #402

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.9.0+1.20.1] - 2024.04.27

Added

  • Added enableLegacyMenu configuration option to curios-server.toml to opt-out from the new screen to the old screen
  • [API] Added CuriosApi#getCurioPredicates

Changed

  • Changed default Curios GUI to the new interface introduced in 5.8.0
  • New interface no longer shifts the screen to the right
  • Scrolling through pages in the new interface is twice as fast
  • Lowered the maximum value of maxSlotsPerPage configuration option from 64 to 48

Fixed

  • Fixed generic curio slots from failing validation checks when only those slots exist on an entity #402

Removed

  • Removed enableExperimentalMenu configuration option

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.8.1+1.20.1] - 2024.04.15

Fixed

  • Fixed NPE crash

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.8.0+1.20.1] - 2024.04.15

Changed

  • Attempting to quick-move stacks into Curios slots in the new experimental GUI will now include pages other than the current one

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.8.0-beta.2+1.20.1] - 2024.04.08

Fixed

  • Fixed potential backwards compatibility issue
  • Fixed validators replacing instead of merging when defined

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.

[7.4.0-beta.2+1.20.4] - 2024.04.08

Fixed

  • Fixed potential backwards compatibility issue
  • Fixed validators replacing instead of merging when defined

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.8.0-beta+1.20.1] - 2024.04.08

Added

  • Added a new opt-in user interface for the Curios screen, enable by setting "enableExperimentalMenu" to true in the curios-server.toml configuration file
  • Added a configuration setting for configuring slots to the curios-common.toml configuration file
  • Added "validators" as a field to the slot data files
  • [API] Added the following methods to ICuriosItemHandler:
    • isEquipped(Item)
    • isEquipped(Predicate<ItemStack>)
  • [API] Added the following methods to CuriosApi:
    • getSlotUuid(SlotContext)
    • registerCurioPredicates(ResourceLocation, Predicate<SlotResult>)
    • getCurioPredicate(ResourceLocation)
    • testCurioPredicates(Set<ResourceLocation>, SlotResult)

Changed

  • Slot types now exist client-side and are synced from the server
  • Slot validations for item stacks are no longer tied solely to item tags and now follow the "validators" field added to the slot data files

Deprecated

  • Deprecated the following methods in CuriosApi, replaced by client and server-aware methods as listed in the javadocs:
    • getSlot(String)
    • getSlotIcon(String)
    • getSlots()
    • getPlayerSlots()
    • getEntitySlots(EntityType<?>)
    • getItemStackSlots(ItemStack)

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.

[7.4.0-beta+1.20.4] - 2024.04.08

Added

  • Added a new opt-in user interface for the Curios screen, enable by setting "enableExperimentalMenu" to true in the curios-server.toml configuration file
  • Added a configuration setting for configuring slots to the curios-common.toml configuration file
  • Added "validators" as a field to the slot data files
  • [API] Added the following methods to ICuriosItemHandler:
    • isEquipped(Item)
    • isEquipped(Predicate<ItemStack>)
  • [API] Added the following methods to CuriosApi:
    • getSlotUuid(SlotContext)
    • registerCurioPredicates(ResourceLocation, Predicate<SlotResult>)
    • getCurioPredicate(ResourceLocation)
    • testCurioPredicates(Set<ResourceLocation>, SlotResult)

Changed

  • Slot types now exist client-side and are synced from the server
  • Slot validations for item stacks are no longer tied solely to item tags and now follow the "validators" field added to the slot data files

Deprecated

  • Deprecated the following methods in CuriosApi, replaced by client and server-aware methods as listed in the javadocs:
    • getSlot(String)
    • getSlotIcon(String)
    • getSlots()
    • getPlayerSlots()
    • getEntitySlots(EntityType<?>)
    • getItemStackSlots(ItemStack)

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.

[7.3.4+1.20.4] - 2024.03.11

Fixed

  • Fixed tooltip crash #388

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.7.2+1.20.1] - 2024.03.11

Fixed

  • Fixed tooltip crash #388

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.

[7.3.3+1.20.1] - 2024.03.11

Changed

  • Non-curio equippable items (such as armor) now support slot modifiers
  • Insertion order of curio attribute modifiers are preserved instead of randomized in tooltips

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.7.1+1.20.1] - 2024.03.11

Changed

  • Non-curio equippable items (such as armor) now support slot modifiers
  • Insertion order of curio attribute modifiers are preserved instead of randomized in tooltips

External resources



Project members

TheIllusiveC4

Owner


Technical information

License
LGPL-3.0-or-later
Client side
required
Server side
required
Project ID