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、发送射程同步。

相关条目