Section
开发者
共 10 个一级导航项Repo API
Repo API 是 Croparia IF 为了实现多模组平台存储交互而建立的一组抽象与代理接口。当前默认只内置了物品与流体两种资源类型,主要用于方块或方块实体的存储暴露与访问。
Repo 的访问限制模型采用“分离式出入锁定”:
accept与consume分别有自己的锁定状态- 锁定是视图级过滤,不会改写底层仓库本身
capacityFor(...)与amountFor(...)仍然返回底层原始查询结果,不会因为锁定而变化- 常用的锁定入口是
lockAccept(...)、lockConsume(...)与lock(...) - 这些锁定视图最终都建立在
DelegateRepo之上,因此可以继续链式组合,并在需要时通过trim()压平成单层包装
相关代码位于:cool.muyucloud.croparia.api.repo 包名下。
基本架构
Repo API 主要由资源仓库 Repo、接口注册机 ProxyProvider、仓库代理 RepoProxy,以及平台代理接口 PlatformItemProxy、PlatformFluidProxy 构成。
Repo: 通用模块下的直接交互层。它以槽位索引为基准,建立了一套资源存储视图。DelegateRepo:对Repo进行轻量包装,用来叠加出入锁定这类视图级限制。RepoProxy:对Repo进行包装以适配不同模组平台。ProxyProvider:将RepoProxy注册进具体模组平台,以保证它能被外部的存储系统发现。PlatformItemProxy/PlatformFluidProxy:对各个平台物品或流体存储接口的统一代理包装,保证通用模块能够以Repo风格访问它们。
此外,Repo API 使用了 Resource API 来管理资源种类。
导航
In This Page