跳到正文
烈焰甘蔗Wiki

Labeler(标签器)

基本信息

属性 值
注册名 StevesAddons:labeler
物品类 stevesaddons.items.ItemLabeler
未本地化名称 labeler
纹理 stevesaddons:labeler
最大堆叠 1
耐久 无
创意模式标签 StevesFactoryManager

功能

Labeler(标签器)是一种为方块添加描述性文本标签的工具。标签本身存在物品的 NBT 里(Label 字符串 = 当前选中标签,saved 字符串列表 = 标签库),而标签的作用对象是方块坐标:左键命名后写入 NameRegistry,可通过 WAILA 读出。默认标签器预置了 6 条 SFM 流量组件名。

使用方式

使用方式 触发条件 使用效果 条件/限制
右键 任意(空手目标或方块) 打开标签编辑界面 GuiLabeler 仅客户端开 GUI(world.isRemote 才 openGui);服务端无 GUI
左键 + 开始破坏方块 onBlockStartBreak(左键按住破坏的瞬间触发,方块不会被破坏) 把当前 Label 写入该坐标;Label 为空串时改为清除该坐标的标签 目标 TileEntity 须实现 IInventory / IFluidHandler / IEnergyProvider / IEnergyReceiver 之一,或继承自 TileEntityClusterElement
编辑界面内回车 GuiLabeler.keyTyped(keyCode 28) 新增一条标签(去重)或提交当前选中项的编辑 空字符串不入列表;选中文本清空则删除该条目
关闭编辑界面 onGuiClosed 回写标签列表与 Label,并向服务端发 LabelSyncMessage —

⚠️ 标签名不区分大小写排序(ALPHABETICAL_ORDER),搜索为子串匹配、大小写不敏感(GuiLabeler.java:29-37,170-177)。 已安装 WAILA 时,被命名的方块会在 WAILA 标签中显示该名称(waila/WailaLabelProvider.java:44)。

预置标签

默认标签器预置了以下标签:

  • Energy Receiver(能量接收器)
  • Energy Provider(能量提供者)
  • Input Inventory(输入物品栏)
  • Input Tank(输入储罐)
  • Output Inventory(输出物品栏)
  • Output Tank(输出储罐)

标签存储在 NBT 中,可通过 ItemLabeler.setLabel(ItemStack, String) 程序化设置。

合成配方

p p p   p = 纸
i   i   i = 黑色染料
r   r   r = 红石粉
  x     x = 活塞

已订正(审计)

  • 注册名:原文 stevesaddons:Labeler → 实为 StevesAddons:labeler(reference/Names.java:6,registry/ItemRegistry.java:26)。
  • 未本地化名称:原文 LABELER → 实为 labeler。ItemLabeler 调用的是 setUnlocalizedName(Names.LABELER),而 Names.LABELER 就是小写 "labeler"(ItemLabeler.java:35),并非常量名 LABELER 本身。
  • 最大堆叠:原文 64 → 实为 1。ItemLabeler.java:37 调用 setMaxStackSize(1)。
  • 右键效果:原文「装备标签器待用」有误。实际是打开 GuiLabeler 标签编辑 GUI(ItemLabeler.java:41-46 → GuiHandler.java:17)。
  • 左键条件:原文「目标必须是 TileEntityClusterElement」过窄。实际判定 isValidTile 接受 IInventory、IFluidHandler、IEnergyProvider、IEnergyReceiver 任一实现或 TileEntityClusterElement 子类(ItemLabeler.java:70-76),且同判定在 naming/EventHandler.java:69-84 另有一次 PlayerInteractEvent 路径。
  • 「Shift + 右键切换标签」:源码中不存在该行为,已删除。ItemLabeler 未覆写 onItemUseFirst/onItemUse,切换/新建标签在 GuiLabeler 界面内完成(GuiLabeler.java:122-152,190-212)。
  • 预置 6 条标签(ItemRegistry.java:43-50)与合成配方经核对属实,未改动。
浏览全部模组