跳到正文
烈焰甘蔗Wiki

Chisel

Minecraft 装饰性模组,提供大量可雕刻方块、多种纹理变体和自动化雕刻工具。

[!NOTE] 变体组机制:一个变体组内的方块可以互相雕刻替换,但组与组之间互相隔离。 例如 chisel:marble(组 marble)与 chisel:marble_slab(组 marble_slab) 是两个独立组,不能互相转换。

方块

机器与功能方块

  • Auto Chisel - 自动化雕刻机,8 槽位 + 4 种升级;不属于任何变体组
  • Carvable Beacon - 可雕刻信标,亮度 5.0F,组 beacon(17 成员);有 TileEntity,无法左键雕刻
  • Carvable Powered - BlockCarvablePowered,硬度 5.0F,输出强度 15,组 redstone_block(16 成员)
  • Carvable Lamp - ⚠️ 类存在但从未注册,游戏内不可获得

装饰方块

  • Waterstone - 多层水流外观方块,组 waterstone(7 成员,全为 Chisel 自身)
  • Snakestone - 蛇面装饰;3 个方块分别并入 stonebricksmooth / sandstone / obsidian 组
  • Present - 节日礼物盒,可开箱双箱,16 变体,组 present
  • Carvable Glow - ⚠️ 非独立方块,是被复用的基类(futuraCircuit / hexPlating / hexLargePlating)
  • Carvable Glowstone - 亮度 1.0F,组 glowstone(16 成员)

透明方块

  • Carvable Glass - CTM 连接玻璃,组 glass(18 成员,含 glass2)
  • Carvable Pane - 玻璃板,组 glass_pane(9 成员,metas 5-11 缺号)

建筑方块

  • Carvable Slab - 半砖,4 个独立组;两半填满变回满方块
  • Carvable Stairs - 楼梯,6 个独立组(marble_stairs 等),与满方块组隔离
  • 木板方块 - 22 块可雕刻木板(原版 6 / BOP 14 / TC 2),每块 15 个变体
  • 南瓜与南瓜灯 - 32 块(pumpkin1-16 + jackolantern1-16),两个独立组

金属与照明

  • 金属储方块 - 20 块 BlockBeaconBase 金属方块(可当信标基座)+ 8 块原版金属/宝石雕刻版
  • 火把变体 - chisel:torch1–torch10,组 torch(11 成员)

物品

雕刻工具

  • Chisel - 4 种材质(IRON/DIAMOND/OBSIDIAN/NETHERSTAR),右键开 GUI、左键切换变体

功能物品

  • Upgrade - Auto Chisel 升级(SPEED/AUTOMATION/STACK/REVERSION),最大堆叠 1
  • Ball of Moss - 投掷物,把方块转化为苔藓(固定 5 条映射)
  • Cloud in a Bottle - 投掷物,生成 40 个 chisel:cloud 方块
  • Smashing Rock - 投掷物,把石头类方块逐级风化为沙(不破坏方块)

实体

世界生成

源码

Git commit: 3d3260cd7(tag 2.17.33-GTNH),modid chisel,Minecraft 1.7.10(gradle.properties:24 minecraftVersion = 1.7.10)。纯 Java(155 个 .java,无 .scala / .kt)。

真实注册面(对照 census)

tools/coverage_census.py 对本 mod 报 52 个注册点,比值 0.46。这个数字严重低估:Chisel 的方块几乎全部走 carverHelper.registerAll(block, name) → CarvableHelper.registerBlock(api/carving/CarvableHelper.java:172-175), 字面量是 registerAll / registerBlock(小写 h)而不是 registerBlock(大写 B),census 的 grep 看不见。

Features.java 的枚举共有 122 个常量,逐常量用花括号配对解析的真实情况:

注册方式 字面量数 展开后实际方块数 census 能否看见
carverHelper.registerAll(x, "字面量") 113 113 ❌ 否
carverHelper.registerBlock(x, "字面量") 19 19 ❌ 否
registerAll(x, 变量) 木板循环 4 22 ❌ 否
CarvableStairsMaker.create() 楼梯 6 41 ❌ 否
GameRegistry.registerBlock 直接注册 9 42(含 16 南瓜 + 16 南瓜灯 + 10 火把) 部分
GameRegistry.registerItem 7 7 ✅ 是
EntityRegistry.registerModEntity 4 4 ✅ 是
GameRegistry.registerTileEntity 3 3 ✅ 是
GameRegistry.registerWorldGenerator 1 1 ❌ 否

合计 ≈ 252 个注册方块(carverHelper 路径 113 + 19,木板 22,楼梯 41,直接注册 42,stained_glass_forestry 等零散项另计),方块条目 13(+4 = 17)覆盖的是其中最常用的一批。原版/整合方块并入组的部分(如 Carving.chisel.addVariation("iron_block", Blocks.iron_block, 0, 0))不产生新方块,未计入。

6 个楼梯组的方块数(init/ChiselBlocks.java 数组长度)

数组 长度
marbleStairs / limestoneStairs / iceStairs / packediceStairs 各 8
concreteStairs 6
aluminumStairs 3
合计 41

数组型注册(init/ChiselBlocks.java)

数组 声明长度 实际填充 说明
torches 16 10 torches[10]–[15] 恒为 null
pumpkin 16 16 pumpkin1–pumpkin16
jackolantern 16 16 jackolantern1–jackolantern16
planks / planks_bop / planks_tc 6 / 14 / 2 全部 原版 / BOP / TC 木板
stainedGlass / stainedGlassPane 4 / 8 由 1.7+ 兼容分支填充 stained_glass_forestry 走这里

源码中已确认的怪癖(逐条核对)

现象 涉及对象 说明
变体 order 撞车 7 个新式金属方块的 metadata 7 castironblock / titaniumblock / stainlesssteelblock / tungstensteelblock / rppblock / iridiumblock / osmiumblock 的 meta 7 的 order 都是 6,与 meta 6 相同 ⇒ 第 7 号贴图无法用左键循环到,只能从 GUI 选
变体写了两遍 chisel:aluminumblock metals/aluminum/* 的 6 条 addVariation 出现两次:一次带 order 20–25,一次用三参重载(order 默认 0)⇒ 12 个变体、循环长度翻倍
数组声明大于填充 ChiselBlocks.torches[16] TORCH 只填 10 个,torches[10]–[15] 恒为 null,源码无任何代码读这 6 个空位
方块名被覆写 chisel:jackolantern1–16 BlockCarvablePumpkin 构造器对 isOn 设 setLightLevel(10.0F),Features.JACKOLANTERN 随后链式 .setLightLevel(1.0f) 覆盖 ⇒ 实际亮度 1.0(原版南瓜灯 15)

⚠️ 核对方式:Features.java 的枚举常量用花括号配对切分,变体计数用换行容忍正则 carverHelper\s*\.\s*addVariation\s*\(。 单行正则 carverHelper\.addVariation 会把换行写法的调用漏掉——本轮最初据此误判 stainlesssteelblock / tungstensteelblock 为 0 变体,实际各 8 个。

软依赖分支(hasRequiredMod())

未装对应 mod 时整个枚举常量被 enabled() 跳过,方块不注册:

枚举常量 依赖 modid 产生的方块
AMBER、ARCANE、TALLOW、THAUMIUM、WOOD_THAUMCRAFT Thaumcraft amber / arcane / tallow / thaumium / greatwood_planks+silverwood_planks
WOOD_BOP BiomesOPlenty 14 块 BOP 木板
BLOOD_RUNE、BLOOD_BLOCK AWWayofTime bloodRune / bloodBrick
AE_CERTUS_QUARTZ、AE_SKY_STONE appliedenergistics2 0 个方块(只往 AE2 的方块组里加变体)
GLASS_STAINED Forestry(stained_glass_forestry) 1

AE_CERTUS_QUARTZ / AE_SKY_STONE 是典型的 census 误报源:carverHelper 计数为 0,只调 Carving.chisel.addVariation,看起来"有活干"但一个方块都不注册。

浏览全部模组