Glass (Carvable)
可雕刻玻璃方块,支持 CTM 纹理连接。
基本属性
| 属性 | 值 |
|---|---|
| 注册名 | chisel:glass(另有 chisel:glass2) |
| 父类 | BlockGlass (implements ICarvable) |
| 材质 | Material.glass(BlockCarvableGlass.java:36) |
| 硬度 | 0.3F(Features.java:1353) |
| 渲染 ID | ClientUtils.renderCTMId |
| 透明度 | 半透明(可设置染色) |
变体组 glass(共 18 个成员)
| 成员 | 来源 |
|---|---|
minecraft:glass meta 0 |
Features.java:1354 |
chisel:glass meta 1-15 |
Features.java:1355-1370 |
chisel:glass2 meta 0, 1 |
Features.java:1381-1382 → registerVariations("glass")(:1385) |
已订正:原文把
glass/glass2/stainedGlass[]/technical2并列成 “变体类型”,掩盖了组关系。实际:
glass与glass2同属glass组。glass2用registerBlock注册方块后,再registerVariations("glass")把它的 2 个变体塞进glass组(Features.java:1384-1385)。technical2属于technical之外的独立方块,其变体组为technical家族, 不在glass组内(Features.java:3829注册名technical2, 变体在:3813附近加入technical系列)。stainedGlass[]属于按颜色拆分的 16 个独立组stained_glass_<color>, 不是glass组成员(Features.java:1424-1460)。组还注册了矿物名
Carving.chisel.registerOre("glass", "glass")(Features.java:1376)。
CTM 支持
- 使用 CTM (Connected Textures Mod) 实现玻璃拼接效果
- 支持普通玻璃和染色玻璃变体
渲染特性
| 方法 | 行为 |
|---|---|
renderAsNormalBlock() |
false |
isNormalCube() |
true |
getRenderBlockPass() |
0 (普通) 或 1 (染色玻璃) |
变体类型
Chisel 侧注册的玻璃类方块(各自归属见下):
| 方块 | 所属变体组 |
|---|---|
glass |
glass |
glass2 |
glass(注册为独立方块,变体并入 glass 组) |
stainedGlass[4] |
16 个 stained_glass_<color> 组,按 glassId = i>>2 分配 |
stained_glass_forestry |
无自有组;其 16 个 meta 被逐一分配进对应颜色组 |
technical2 |
technical 家族独立组,不在 glass 组内 |
stained_glass_<color> 每组 6 个成员:原版 minecraft:stained_glass (i) +
4 个 Chisel 变体 + chisel:stained_glass_forestry (i)(Features.java:1424-1460)。
物品掉落
| 方块 | quantityDropped 返回 |
|---|---|
chisel:technical2 |
1 |
| 其余全部玻璃方块 | 0(不掉落任何物品) |
代码:return Objects.equals(this.getUnlocalizedName(), "tile.chisel.technical2") ? 1 : 0;
(BlockCarvableGlass.java:113-116)
已订正(语义写反):原文写"技术玻璃不掉落物品,其他返回 1"。 正好写反。源码条件是"未本地化名等于
tile.chisel.technical2时返回 1, 否则返回 0"。即:只有technical2掉落 1 个,其余 Chisel 玻璃一律不掉落。 证据:BlockCarvableGlass.java:113-116。该行为对普通
chisel:glass/chisel:glass2而言意味着破坏无掉落, 属于 mod 自身的功能缺陷(见 mod 缺陷章节)。