Compatibility
Minecraft: Java Edition
Platforms
Supported environments
90% of ad revenue goes to creators
Support creators and Modrinth ad-free with Modrinth+Details
Common Storage Lib
CSL attempts to pick up where Botarium left off in its efforts to make truly cross platform storage implementations possible. CSL, like its predecessor, allows developers to create platform agnostic storage code that can be registered to Fabric and NeoForge's respective APIs. It takes after Fabric's Storage api with immutable resources and item context, but adopts Forge's simulation system.
Unlike its predecessor, CSL makes its abstraction tools that made it possible open for you to use as well. So in addition to abstraction of storage, CSL provides abstraction of fluid resources and ingredients, abstraction of the Data attachment system provided by NeoForge and Fabric, and an abstraction of both loaders "Entity Systems" api (Capabilities on NeoForge, ApiLookup on Fabric). These apis are each in their own module, allowing you to use them independently of the storage abstractions for your own purposes.
To non XPlat Devs
For Neo only/Fabric only projects, CSL also offers some benefit. To Neo developers, immutable resources and item context are extremely useful in usage with storage. CSL automatically handles other mods usage of your item if you make use of item context. Fabric developers might be inclined to use CSL to overcome Fabric's transaction system. A word of caution though: Since the storage still needs to be registered to fabric's storage, you should take caution to make sure you still implement your storage to be compliant with rollbacks. Documentation on how to do this will be provided soon, but it is already natively supported in CSL. Developers looking to have their storage function properly on Fabric should also take care to make sure their storage is rollback compliant.
CSL is currently in Alpha
CSL 0.0.0 provides all the same features Botarium offered and more. While Botarium only supported Energy items/blocks and Fluid items/blocks, CSL supports Energy Item/Blocks/Entities, Fluid item/blocks/entities and Item item/blocks/entities with full compatibility with the Neo and Fabric transfer APIs. While cursory testing has been done, its still very much in the beginning stages.
Please Note:
Fabric does not natively support item storage on items, energy storage on entities, or fluid storage on entities. CSL registers these lookups under its own namespace, so any mod that chooses to use CSL for those specific capabilities will be compatible with each other, but not anything else. This is a Fabric specific issue as Fabric does not currently provide an ApiLookup for these. Energy item/blocks, Fluid item/blocks and Item entities/blocks are all compatible with the larger Fabric and Neoforge modding ecosystem though, and NeoForge is automatically compatible with the aforementioned lookup types.