跳到正文
烈焰甘蔗Wiki

Glow (Carvable) —— 内部基类,游戏内无同名方块

⚠️ 已订正(重要):原文把 BlockCarvableGlow 描述成一个名为 “Glow” 的 可雕刻发光方块。没有任何方块以 “glow” 之类的名字注册。BlockCarvableGlow 是一个被当作基类复用的构造器类(无参构造器 BlockCarvableGlow(String)), 全仓库只有 3 处 实例化,且实例化后立刻被转型为普通 BlockCarvable, 用各自的业务名注册进三个互不相同的变体组。

三处真实实例化

实例化位置 局部变量 注册名 变体组 证据
Features.java:1317 circuits chisel:futuraCircuit futura :1329、:1330
Features.java:1817 hexPlating chisel:hexPlating hexPlating :1825
Features.java:1828 hexLargePlating chisel:hexLargePlating hexLargePlating :1840

三处用的都是单参构造器 BlockCarvableGlow(String glowTexture), 只有这个构造器会 setLightLevel(0.5f)(BlockCarvableGlow.java:22); 另外两个带 Material 的构造器(:25、:30)不设置亮度。

类基本信息

属性 值 证据
父类 BlockCarvableColor BlockCarvableGlow.java:12
材质 三处实例均为无参 super(),走 BlockCarvableColor 默认材质 :20-23
亮度 0.5F(仅单参构造器) :22
渲染 ID Chisel.renderGlowId :54-56
注册名 无独立注册名 —

发光纹理机制

  • 字段 glowTexturePath 保存纹理路径(:16)
  • registerBlockIcons 额外注册 Chisel.MOD_ID + ":" + glowTexturePath(:35-38)
  • getGlowTexture() 返回该 IIcon(:50-52)

⚠️ 源码缺陷:hasSubmapManager() 的返回值写反了 —— return submapManagerBase == null;(BlockCarvableGlow.java:40-42)。 方法名意为"是否有 submap 管理器",但返回 null 时为 true。 而 getSubmapManager() 又写成 return hasSubmapManager() ? submapManagerBase : null;(:44-46), 于是当确实持有 submapManagerBase 时返回 null,逻辑完全颠倒。 本条目描述的三处实例均未传 SubmapManagerBase,所以实际不触发。

原文其他订正

原文"可选 SubmapManagerBase 用于高级纹理变体管理"——该能力因上述缺陷 实际不可用,已在缺陷段说明。

浏览全部模组