Desarrolladores
10 TOP-LEVEL ITEMSRepo API
Repo API es la capa de abstracción y proxies de Croparia IF para la interacción con almacenamiento en múltiples plataformas. De serie incluye dos tipos de recurso integrados, objetos y fluidos, y se usa sobre todo para exponer y acceder al almacenamiento de bloques y entidades de bloque.
El modelo de restricción de acceso de Repo utiliza bloqueos separados para accept y consume:
acceptyconsumemantienen su propio estado de bloqueo;- los bloqueos son filtros a nivel de vista y no modifican el repo subyacente;
capacityFor(...)yamountFor(...)siguen devolviendo los valores brutos del repo base y no cambian por los bloqueos;- los puntos de entrada más habituales son
lockAccept(...),lockConsume(...)ylock(...); - estas vistas se construyen sobre
DelegateRepo, así que pueden seguir encadenándose y pueden aplanarse en un único wrapper contrim()cuando haga falta.
El código relevante está en el paquete cool.muyucloud.croparia.api.repo.
Arquitectura básica
Repo API se compone sobre todo de la vista de almacenamiento Repo, el puente de registro ProxyProvider, el envoltorio RepoProxy y las interfaces adaptadoras de plataforma PlatformItemProxy y PlatformFluidProxy.
Repo- capa de interacción directa en el módulo común, basada en vistas de almacenamiento indexadas por ranuras
DelegateRepo- envoltorio ligero usado para construir restricciones a nivel de vista, como bloqueos de accept/consume
RepoProxy- envuelve un
Repopara adaptarlo a diferentes plataformas de modding
- envuelve un
ProxyProvider- registra un
RepoProxyen una plataforma concreta para que los sistemas externos de almacenamiento puedan descubrirlo
- registra un
PlatformItemProxy/PlatformFluidProxy- envoltorios unificados para interfaces de almacenamiento de objetos o fluidos de cada plataforma, de modo que el módulo común pueda acceder a ellas con estilo
Repo
- envoltorios unificados para interfaces de almacenamiento de objetos o fluidos de cada plataforma, de modo que el módulo común pueda acceder a ellas con estilo
Repo API también utiliza la Resource API para gestionar tipos de recurso.