跳到正文
烈焰甘蔗Wiki

Chisel

雕刻工具,用于在可雕刻方块上循环切换纹理变体。

基本属性

属性 值
父类 Item(implements IChiselItem,ItemChisel.java:28)
3D 渲染 isFull3D() = true(ItemChisel.java:121-123)
最大堆叠 1(ItemChisel.java:53)
可损坏 setMaxDamage(Configurations.allowChiselDamage ? type.maxDamage : 0)(ItemChisel.java:54)

雕刻模式

ItemChisel.ChiselType 枚举(ItemChisel.java:30-44)定义 4 种材质, 每种绑定独立的耐久与攻击力:

ChiselType 默认最大耐久 注册名 本地化名
IRON 500 chisel:chisel chisel.chisel_iron
DIAMOND 5000 chisel:diamondChisel chisel.chisel_diamond
OBSIDIAN 2500 chisel:obsidianChisel chisel.chisel_obsidian
NETHERSTAR 32767 chisel:netherStarChisel chisel.chisel_netherstar

耐久默认值来自 Configurations.java:182-209;攻击力由 getAttributeModifiers 挂载名为 "Chisel Damage" 的攻击伤害修正器 (ItemChisel.java:127-133)。

功能接口

实现 IChiselItem 接口:

方法 行为 证据
canOpenGui 始终返回 true ItemChisel.java:142-144
canChisel 始终返回 true :147-149
onChisel 返回 Configurations.allowChiselDamage :152-154
canChiselBlock 仅 DIAMOND / OBSIDIAN / NETHERSTAR,或铁雕 + ironChiselCanLeftClick :157-161
hasModes 仅 DIAMOND / OBSIDIAN / NETHERSTAR,或铁雕 + ironChiselHasModes :164-168

配置默认值:allowChiselDamage = true、ironChiselCanLeftClick = true、 ironChiselHasModes = false(Configurations.java:175-221)。 即默认状态下铁雕能左键雕刻,但没有模式切换。

使用方式

  1. 右键手持雕刻工具 - 打开 Chisel GUI 选择变体 (ItemChisel.onItemRightClick → ChiselController.INSTANCE.openQueue, ItemChisel.java:171-176)
  2. 左键点击可雕刻方块 - 在该方块所属变体组内循环切换纹理变体

已订正(左右键写反):原文第 2 条写"对可雕刻方块右键 - 循环切换到下一个纹理变体"。 错误:变体循环发生在左键。 事件判定是 if (event.action == PlayerInteractEvent.Action.LEFT_CLICK_BLOCK) (ChiselController.java:81)。右键只会打开 GUI,不会切换方块变体。 证据:ChiselController.java:81、:125-136(idx 循环推进逻辑)。

另:左键雕刻有两条限制,原文未提 ——

  • canChiselBlock 为假时完全无法左键雕刻(ChiselController.java:113)
  • 带 TileEntity 的方块不能被雕刻,代码直接 return (ChiselController.java:97-99,注释 // Don't support chiseling tile entities) ——这意味着 信标 与 礼物盒 虽在变体组内,实际无法用左键改写。

按住潜行(isSneaking())时循环方向反向(ChiselController.java:82、:130)。

耐久消耗

  • onChisel 返回 true 时,在 ChiselMode.chiselAll 中执行 player.getCurrentEquippedItem().damageItem(1, player)(ChiselMode.java:117-126)
  • 耐久耗尽后物品被移除(player.setCurrentItemOrArmor(0, null),:123)
  • 由 Configurations.allowChiselDamage 控制(默认 true);关闭时 setMaxDamage(0) 且 isDamageable() 返回 false(ItemChisel.java:54、:73-76)

另有两条独立耗损:GUI 中选取变体会耗 1 点耐久 (SlotChiselSelection.java:67);用雕刻工具攻击实体也耗 1 点 (ItemChisel.hitEntity,:136-139)。原文只提了 onChisel 一条。

修复材料

getIsRepairable(ItemChisel.java:78-95)——原文完全遗漏:

类型 修复材料
DIAMOND Items.diamond
IRON Items.iron_ingot
OBSIDIAN Blocks.obsidian 的物品
NETHERSTAR Items.nether_star

工具变体

原文"工具变体"表中的 4 个名字实为注册名,正确 (Features.java:630-633)。原文称"4 种材质"亦正确。

浏览全部模组