Curios API (Fabric)
Attention! Curios API is no longer supported for versions 1.17+ on Fabric.
It is recommended to use Trinkets API instead of this mod. I participated in the rewrite of Trinkets for version 1.17, and it contains all the necessary features from Curios, making it a complete replacement.
This project is for the Fabric mod loader. For the Forge version, visit the corresponding page.
Overview
Curios is a universal and expandable system for working with accessories and equipment, designed for both players and mod developers. The main goal is to provide developers with a convenient and compatible way to add additional item slots, and players with the ability to customize these slots according to their preferences.
By default, the mod does not add any content except for an inventory interface. Initially, there are no slots, only two items are available that can be found exclusively in creative mode and serve as examples for developers when creating their own integration.
Requires Fabric API.
Key Features
Expandable slot system through a central library
New equipment slots are created and managed easily through an identifier registry. Identical identifiers are merged to avoid functional duplication and ensure maximum compatibility with potential items, while unique identifiers can be used to denote special types when necessary.
Slots are created only on demand
By default, there are no slots—they are created only as needed. This reduces situations where one or more unnecessary slots are present without suitable items to fill them.
Complete customization and management of slots
Slots can have custom backgrounds, different sizes, and can also be disabled or hidden by default. But how can a player access disabled slots? Through the API, developers can use functions to enable/disable player slots or add/remove a certain number of slots of a given type.
Flexible item-accessory relationships using the vanilla tag system
Potential accessories are selected through Minecraft's standard tag system, which means categorizing items by accessory types is as simple as creating a .json file in the data/curios/tags folder. Items can be categorized into any accessory types if they are tagged in the appropriate files, and these settings can be completely overridden.
Complete integration with other inventory mechanics
Mending and curses work with all applicable items equipped in accessory slots. There are also various additional features for developers that simplify integrating their current items or mechanics into the accessory system.
Access through a single interface
Curios comes with its own interface accessible from the inventory that shows all available slots to the player. This allows players to see all extended equipment slots in one place without needing to switch between different inventory interfaces. However, developers can still provide their own interfaces for mod-specific slots if they wish. The default key for opening the interface is 'g'.
