ContentRegistry
基本信息
| 属性 | 值 |
|---|---|
| 类名 | pcl.opensecurity.ContentRegistry |
| 类型 | class,3 个 public 方法 |
| 源码规模 | 603 行(本 mod 最大文件) |
| 注册内容 | 14 方块 / 10 物品 / 14 TileEntity / 1 实体 / 22 配方 / 1 创造栏 |
| 启用版本 | 1.7.10 |
功能
内容注册总表:所有方块、物品、TileEntity、实体、配方与 OpenComputers 驱动
都在这里注册。分成 preInit(内容 + 事件)与 init(配方 + OC 驱动)两批。
实现要点
- ⚠️ 缺陷:
registerItems()中securityDoorPrivateItem注册后,代码写的是securityDoorItem.setCreativeTab(CreativeTab)——又设置了一遍securityDoorItem,导致私门物品永远没有创造模式标签页,玩家拿不到。 - ⚠️ 缺陷:
securityitemBlock字段(第 95 行)声明为public static ItemBlock但从未被赋值也从未被使用——纯死字段。 - ⚠️ 缺陷:
BlockDisplayPanel的注册整段被注释掉(// if (BuildInfo.getVersionNumber() == 0) {那段),但下一行registerTileEntity(TileEntityDisplayPanel.class, ...)仍然生效。于是方块不存在、TileEntity 却已注册。 - ⚠️
ItemSecurityDoorPrivate(SecurityDoorBlock)传的是公共门方块,而SecurityDoorPrivateBlock是另一个独立方块。物品与方块对不上。 - 配方有 3 处声明了未使用的符号:
SwitchableHubBlock/KVMBlock声明'O', obsidian但图形里没有O;DataBlock声明'R', redstone但图形里没有R。 registerRecipes()末尾用li.cil.oc.api.Items.registerFloppy("SecureOS", 1, SOSFactory)注册一张 OC 软盘,内容来自/lua/SecureOS/SecureOS/。dataCard做了版本兼容:先试dataCard(OC 新版),失败回退dataCard1。- 唯一实体是
EntityEnergyBolt(mod 内名energybolt),追踪范围 64、更新频率 20、发送射程同步。
相关条目
- OpenSecurity - 调用方
- BlockOSBase - 14 个方块中 10 个的父类
- TileEntityMachineBase - TileEntity 公共基类
- RFIDReaderCardDriver - OC 驱动之一
- CreativeTab - 唯一创造栏
- EntityEnergyBolt - 唯一实体