预设

物品预设

CanDestroy 冒险地图工具预设

冒险地图的 CanDestroy 工具预设如今是一整套完整的 Give 工作流程,而不再只是一张单独的叠加图。用它来做地牢捷径、挖掘谜题、可破坏的道具或 QA 工具——在那些场景里,玩家只应当破坏选定的方块。本页把命令当作可复用的物品定义来对待,而不只是一段拿来粘贴的片段,因此可见名称、描述文本 (lore)、组件载荷、输出以及游戏内的交付都必须彼此一致。预设把允许破坏的方块列表始终摆在明面上,方便地图测试者一眼就能看出这件物品是否符合预期的谜题规则。最后一张截图能证明,在你把生成的物品接入地图脚本、战利品路径或 Command Pack 工作流程之前,它确确实实已经到了真正的快捷栏里。

预设结果

一件冒险模式工具,带有 can_break 规则、可读的描述文本 (lore)、不可破坏状态,以及一枚稳定的 custom_data 标记。

输出

CanDestroy 工具命令

/give @p minecraft:diamond_pickaxe[custom_name={text:"Dungeon Breaker Pick",color:"yellow",italic:false},lore=[{text:"CanDestroy: stone and deepslate",color:"gray",italic:false}],can_break=[{blocks:"minecraft:stone"},{blocks:"minecraft:deepslate"}],unbreakable={},custom_data={adventure_rule:"can_destroy"}] 1
Too long for Minecraft chat

The longest command line is 309 characters, 53 over the 256-character chat input limit. Pasting it into chat can truncate the line and make Minecraft report a syntax error even when the generated command is valid.

  • Use a Command Block: run /give @s command_block, place it, then paste this command into the block command field.
  • Use a .mcfunction for a reusable datapack: save the line without the leading slash at saves/<world>/datapacks/<pack>/data/<ns>/function/<name>.mcfunction with a minimal pack.mcmeta, run /reload, then run /function <ns>:<name>. Do not paste .mcfunction content into chat.

预设截图

预设把允许破坏的方块列表始终摆在明面上,方便地图测试者一眼就能看出这件物品是否符合预期的谜题规则。
第二张截图重点标出那些会改变物品提示框或组件载荷的字段。
输出截图让最终命令和复制按钮在测试之前始终保持可见。
游戏内截图证实这把 Dungeon Breaker Pick 工具正是由这条 Give 命令所发放。

构建预设

  1. 打开 Give Workbench,确认目标选择器与所在世界或命令方块相匹配。
  2. 把物品设置为钻石镐。
  3. 为这把 Dungeon Breaker Pick 工具填好可见名称和描述文本 (lore)。
  4. 只添加对这件物品真正必要的组件,然后核对生成的输出。
  5. 复制 /give 命令做一次冒烟测试;若它属于更大的工作流程,就保存到 Project。
  6. 在创造模式的测试世界里运行命令,确认物品出现在玩家手中或快捷栏里。

为什么 Dungeon Breaker Pick 工具需要一个预设

用它来做地牢捷径、挖掘谜题、可破坏的道具或 QA 工具——在那些场景里,玩家只应当破坏选定的方块。

预设把允许破坏的方块列表始终摆在明面上,方便地图测试者一眼就能看出这件物品是否符合预期的谜题规则。这正是普通命令片段惯常隐藏的部分:面向玩家的文本、随版本变化的组件,以及可直接复制的输出,在命令离开 Workbench 之前必须彼此一致。

在物品进入更大的命令链之前,请把这个预设当作校验面板。确认提示框已经告诉玩家这件物品是干什么用的,确认 custom_data 或其他隐藏组件真正承载着命令逻辑,也确认复制出来的输出仍然适配你选定的 Minecraft 版本。游戏内结果之所以刻意保持简单,是因为它要回答的是第一个 QA 问题:这条命令是否真的发放了文章里所描述的那一摞物品?

版本与组件核对

现代 Java 物品命令把许多旧教程仍以 NBT 描述的细节,改成了用物品组件来实现。编辑时让所选版本保持可见,尤其是物品用到名称、描述文本 (lore)、附魔、稀有度、自定义模型数据、药水内容或不可破坏状态时。

CanDestroy 在生存模式下并不会自动保护地图。请在冒险模式下测试,并准备好重置命令,以便游戏测试之后做清理。

命令通过校验后,请在地图或数据包将来真正运行的同一版本系列里跑一次。即便命令复制得干干净净,如果组件不受支持、选择器命中了过多玩家,或者物品文本承诺了数据并未强制保证的行为,它依然可能在设计上有问题。在围绕它添加计分板、战利品、商店、NPC 或重置命令之前,先把稳定的版本保存到 Project 里。

  • 在动手改原始命令文本之前,先用 Workbench 的字段来调整。
  • 让显示文本保持精炼,以便能塞进物品栏的提示框。
  • 用 custom_data 来承载命令逻辑,而不要依赖可见的名称。

接下来用在哪里

在把这把工具交给测试者之前,先把它与重置函数或计分板检查点搭配起来用。

如果这件物品需要反复使用,请先把它存为 Project 条目,再围绕它添加计分板、战利品表、NPC 或重置命令。这样在地图越做越大时,物品定义仍然可以被审核。

如果想看看与之配套的冒险模式放置规则,可以对比冒险模式 CanPlaceOn 物品预设

FAQ

我能把这条 Give 命令直接粘进聊天框吗?

可以,前提是命令长度的警告仍然没超过聊天上限。一旦超出上限,请改用命令方块或数据包函数,而不要把整行粘到聊天里。

用完这个预设后,我还能改变物品类型吗?

可以。先改物品字段,然后把每个组件重新核对一遍。有些设置对钻石镐合理,却未必适用于每一种 Minecraft 物品。

为什么要附上游戏内的物品截图?

截图能证明这条命令交付的是真实的一摞物品,而不只是输出面板里看起来有效的一串字符。

打开这个工作流

从相关 Give 工作台开始,然后按你的世界调整预设字段。