立方区块 API
基本信息
| 属性 |
值 |
| 包路径 |
com.cardinalstar.cubicchunks.api |
| API 文件数 |
36 个 .java(api/ 目录下) |
| 入口工具类 |
com.cardinalstar.cubicchunks.api.CCAPI |
| 核心接口 |
ICube、IColumn、ICubeProvider、ICubicWorldServer |
| 立方体边长常量 |
ICube.SIZE = 16 |
声明的 apiPackage |
空(gradle.properties:93) |
功能
api/ 包是提供给其它模组使用的稳定接口层,共 36 个类(另有 api/registry/、api/util/、api/world/、api/worldgen/、api/event/、api/compat/、api/world/storage/ 子包)。
CCAPI 入口
com.cardinalstar.cubicchunks.api.CCAPI(CCAPI.java:20,public final class)提供三个静态方法:
getBlockStorage(Chunk chunk, int yLevel) → ExtendedBlockStorage(:24)——按 Y 取出某层的方块/光照存储
getLoadedCube(World world, int cubeX, int cubeY, int cubeZ) → ICube(:34)——取已加载的立方体
getCube(World world, int cubeX, int cubeY, int cubeZ) → ICube(:40)——取立方体(可能触发加载)
核心类型
| 类型 |
位置 |
说明 |
ICube |
api/ICube.java |
立方体接口,int SIZE = 16(:55) |
IColumn |
api/IColumn.java |
列接口 |
ICubeProvider |
world/cube/ICubeProvider.java |
立方体供给器 |
ICubeProviderServer |
world/api/ICubeProviderServer.java |
服务端供给器 |
ICubicWorldServer |
api/ICubicWorldServer.java |
服务端立方世界 |
ICubicTicket |
api/ICubicTicket.java |
加载票据 |
IHeightMap |
api/IHeightMap.java |
高度图 |
IMinMaxHeight |
world/api/IMinMaxHeight.java |
高度上下限 |
事件与数据结构
- 事件基类:
api/event/CubeEvent.java、api/event/ColumnEvent.java
- 坐标工具:
api/XYZAddressable.java、api/XYZMap.java、api/XZMap.java、api/IntRange.java、api/util/Box.java
- 元数据容器:
api/MetaContainer.java、api/MetaKey.java
- 异常:
api/util/NotCubicChunksWorldException.java
- 客户端兼容:
api/compat/CubicChunksVideoSettings.java
内部侧另有 mixin/api/ICubicWorldInternal(CompatHandler.java:43 强转为 ICubicWorldInternal.Server 以调用 fakeWorldHeight)与 world/core/IColumnInternal、ICubicTicketInternal、ICubeProviderInternal。
数值
| 数值名 |
值 |
来源 |
ICube.SIZE |
16 |
api/ICube.java:55 |
api/ 源码文件数 |
36 |
find src/main/java/com/cardinalstar/cubicchunks/api -name '*.java' | wc -l |
交互
| 触发 |
行为 |
其它模组 CCAPI.getCube(world, x, y, z) |
按立方体坐标取得 ICube |
其它模组 CCAPI.getBlockStorage(chunk, yLevel) |
取得指定 Y 层的方块存储 |
监听 CubeEvent / ColumnEvent |
响应立方体/列级事件 |
加载票据(ICubicTicket) |
请求某立方体保持加载 |
相关条目