预设

物品预设

Minecraft 自定义物品命令生成器

自定义物品命令比单纯的剑预设更宽泛。要做的事情是:为物品命名、写出玩家能读懂的描述文本 (lore)、只加入真正重要的效果,并存入一个稳定的 custom_data 标记,供后续的选择器或背包检查使用。

预设结果

一条游戏内可读、并且能被后续地图逻辑通过 custom_data 检测到的自定义物品命令。

输出

自定义物品 Give 输出

/give @p minecraft:netherite_sword[custom_name={text:"Vaultbreaker",color:"aqua",italic:false},lore=[{text:"Opens ancient vault routes",color:"dark_gray",italic:false},{text:"Quest item",color:"gold",italic:false}],enchantments={"minecraft:sharpness":4},enchantment_glint_override=true,custom_data={quest_item:"vaultbreaker"}] 1
Too long for Minecraft chat

The longest command line is 328 characters, 72 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.

预设截图

本文使用的 NBTForge Workbench 状态,包含可见的控件以及生成的输出。

构建预设

  1. 在 Give 中开始,选择与奖励或工具角色匹配的物品类型。
  2. 把 custom_name 和描述文本 (lore) 当成文本组件来写,而不是手写转义的 JSON。
  3. 只有当附魔、附魔光效、稀有度或 custom_data 真正承担物品角色时,才把它们加进去。
  4. 复制命令并保留相同的 custom_data 键,以便后续的清除、execute 或战利品逻辑能继续使用。

名称、描述文本和数据应当彼此呼应

可见名称告诉玩家这是什么物品。描述文本 (lore) 解释它为什么重要。custom_data 则为命令逻辑提供一个稳定的标识符,即便后续把名字翻译或换风格,它也不会被破坏。

NBTForge 把这三件事保持在同一个 Give Workbench 中,这样物品对玩家和命令逻辑同时有用。

  • 可见名称尽量简短,以保证快捷栏与背包中的可读性。
  • 描述文本 (lore) 每行尽量精炼;过长的文字在物品提示框中换行效果很差。
  • 用 custom_data 承载地图逻辑,不要去检查显示文本。

什么时候应该把它存成预设

当一件自定义物品将被复用为 Boss 掉落、任务奖励、商店商品、套件物品或冒险地图钥匙时,请把它保存下来。一件已保存的物品后续可以同时为 Give、Summon 装备、战利品表以及 Command Pack 的步骤提供数据。

如果该物品仅用于一次性的临时测试,直接复制 /give 输出就够了;但如果它会出现在多个系统中,就请把它保留在 Project 里,反复复用相同的来源配置。

把预设落地到真实的 Project

请把 Minecraft 自定义物品命令生成器当成一个已经过测试的起点,而不仅仅是一段可以复制的字符串。当输出第一次正常工作之后,请用清晰的 Project 名字保存它,记下目标 Minecraft 版本,并把这条预设和相关的设置命令(例如记分板、Boss 血条、战利品表或重置命令)放在一起。

在把预设正式应用到地图、服务器或 Command Pack 之前,请优先用复制出来的命令实体去执行,而不是直接依赖当前还开着的 Workbench。这样可以发现缺失的依赖、过期的选择器、错误的版本选择,以及那些只因为本地测试状态恰好存在才碰巧能跑的命令。

  • 通过共享命令保留所选的 Edition 与 Version。
  • 在使用伤害、击杀、清除或传送之前,先用无害命令测试选择器。
  • 把长命令搬到 Project 或函数风格的流程里,不要直接粘进聊天框。
  • 在修改实体、物品组件、坐骑乘客或数据包资源之后,务必再次检查警告。

FAQ

custom_data 能替代记分板标签吗?

它们解决的是不同问题。custom_data 标记的是物品本身,而记分板标签标记的是实体或玩家。许多地图会同时用到这两者。

仅靠附魔光效就足以让物品看起来像自定义品吗?

不够。附魔光效只是视觉效果。当物品需要被玩家识别,也需要被机器检测时,请同时使用 custom_name、描述文本 (lore) 与 custom_data。

这条预设什么时候应该成为 Command Pack 的一部分?

当输出依赖于初始化命令、重置命令、战利品资源、记分板状态或反复测试时,就把它作为 Command Pack 条目;一次性、无害的单条命令依然可以直接从输出里复制。

打开这个工作流

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