
方法一 使用F3调试屏幕。这个方法最直接也最不需要额外工具。你在游戏中按下键盘上的F3键,屏幕上会弹出大量调试信息。将准星对准你想查询的方块或实体,在最上方的几行信息里就能找到类似“minecraft:stone”这样的字符串,这就是物品的id。如果你看重的是背包里的物品,则可以用F3+H组合键打开高级提示,此时鼠标悬停在任何物品上,右下角会显示它的注册名和数字id。我从玩1.7版本时就靠这个办法记忆各种方块,到现在都忘不掉钻石矿的id是“minecraft:diamond_ore”。每次建东西需要快速确认,F3都是我的首选。
方法二 通过聊天栏输入指令。如果你已经知道物品的大致名称,最省事的做法是打开聊天栏输入/give @s ,然后按下Tab键。比如你输入/give @s dia,然后Tab键,游戏会自动补全为/give @s minecraft:diamond。这时你就可以看到完整的物品id。这个方法也能用于其他命令,例如/setblock或/fill。你甚至可以用/data get entity @s Inventory来查看自己背包里的所有物品id,不过返回的数据是NBT格式,需要稍微解析一下。对于模组物品,Tab补全也会列出所有已加载的模组id前缀,非常方便。我经常在创造测试时用这个技巧快速调出各种稀奇古怪的方块。
方法三 借助JEI模组来查看。如果你玩的是模组整合包,JEI几乎是默认安装的。打开物品栏,在右侧的列表中找到你想要查询的物品,用鼠标点击它,然后左边会出现它的合成表和用途,最上方就是它的注册名称例如“mekanism:basic_control_circuit”。你可以直接复制这段id到命令里使用。NEI、REI等同类型模组也都提供了类似功能。这个方法不需要你记住任何按键或代码,所见即所得。我记得第一次玩工业模组时,一堆奇形怪状的机器记不住英文名,就是靠JEI一个一个复制粘贴,省了翻Wiki的时间。
方法四 直接查阅游戏的原始数据文件。这个方法比较硬核,但适合离线环境或你需要批量查询。用解压工具打开游戏目录下的版本.jar文件,找到assets/minecraft/lang/文件夹里的语言文件en_us.json或zh_cn.json,打开后用搜索功能就能看到每一件物品的翻译名对应到注册名的映射。比如搜索“石头”就能找到“block.minecraft.stone”,这便是对应的局部id。不过这个文件大多只包含原版物品,模组物品则需要去对应模组的jar里找。作为老玩家,我偶尔在整合包出问题时需要核对物品id是否冲突,就会用这种方法翻底层数据。
方法五 使用命令方块配合/data命令。如果你正在构建红石机关或者数据包,想动态读取某个容器内的物品id,可以在命令方块里输入/data get block (坐标) Items[0].id。这会把该容器第一个物品槽里的物品id输出到聊天栏。同理也可以用/data get entity @p Inventory[0].id来获取玩家手持的东西。虽然比较高级,但如果你经常做地图或小游戏,这个技能非常有用。我有一次做密室逃脱,需要给箱子设置特定战利品,就是用这个命令实时验证id是否写对了。
方法六 留意游戏控制台或日志。当你用LogBlock或CoreProtect这类插件时,玩家放置破坏方块的记录里都会附上物品id。单机游戏里开启游戏日志也能看到加载过程中的物品注册信息。不过这个方法主要用于服务器维护或模组调试,普通生存玩家用得少。
以上六种方法覆盖了从零基础到进阶的各个场景。掌握两三种足够让你在平时命令使用中不再卡壳。试着用第一种方法去瞄一眼你家里的钻石块,看看它的id是不是“minecraft:diamond_block”。当你用/give命令轻松变出双倍物资的时候,就会觉得这一点点学习成本完全值得。别犹豫,现在就打开游戏试一下。
相关文章