物品预设
Minecraft /give 命令生成器
当搜索意图比较宽泛时使用这个生成器页面:你需要一条 Minecraft /give 命令,但同时也想看到生成它的项目控件。NBTForge 始终把 Edition 和 Version 显示在眼前,让同一个物品想法在进入命令方块或 Project 之前,可以基于当前的 Java 组件输出反复验证。
预设结果
一条可以直接复制的 /give 命令,使用所选的 Java 版本系列,而不会把旧的 NBT 例子和现代组件语法混在一起。
输出
版本感知的 Give 输出
/give @p minecraft:diamond_sword[custom_name={text:"Forge Blade",color:"gold",italic:false},lore=[{text:"Built with NBTForge",color:"gray",italic:false}],enchantments={"minecraft:sharpness":5,"minecraft:unbreaking":3},custom_data={nbtforge:"give_generator_demo"}] 1The longest command line is 265 characters, 9 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
.mcfunctionfor a reusable datapack: save the line without the leading slash atsaves/<world>/datapacks/<pack>/data/<ns>/function/<name>.mcfunctionwith a minimalpack.mcmeta, run/reload, then run/function <ns>:<name>. Do not paste.mcfunctioncontent into chat.
预设截图
构建预设
- 在选定目标版本系列之前,先打开 Give Workbench,把 Edition 设为 Java。
- 选择基础物品,然后通过可视化的物品字段加入 custom_name、描述文本 (lore)、附魔以及 custom_data。
- 在复制 /give 命令之前,先在输出面板检查组件语法和警告信息。
- 当这件物品属于更大套件、Boss 奖励或 Command Pack 的一部分时,把命令保存到 Project 里。
为什么它比随手抓来的 /give 片段更可靠
网上随手复制来的 /give 片段往往隐藏着对版本的假设。在 Java 1.20.5 之后,这种做法风险尤其大:很多物品功能已经迁移到组件,旧的 NBT 写法可能不再匹配当前语法。
本页面把命令视为一种 Workbench 状态。物品名称、描述文本 (lore)、附魔与 custom_data 始终与生成的输出并排显示,你可以直接修改物品,而不必手动从头重建一条又长又复杂的命令。
- 如果地图仍然依赖旧版物品 NBT,请使用 Java 1.20.4 或更早版本。
- 如果目标世界已经基于物品组件,请使用 Java 1.20.5+ 或 1.21+。
- 如果生成的命令属于某个套件或奖励流程,请把它保留在 Project 中。
需要复制的 Workbench 状态
示例状态是一把已命名的钻石剑,带有可读的描述文本 (lore)、Sharpness、Unbreaking 以及 custom_data。它覆盖了 /give 命令最常见的需求,而不会让人觉得每件物品都得另外写一篇教程。
复制完成后,请先在一次性的测试世界或命令方块中验证。如果 Minecraft 拒绝执行命令,请回头检查所选版本以及输出面板给出的所有警告。
把预设落地到真实的 Project
请把 Minecraft /give 命令生成器当成一个已经过测试的起点,而不仅仅是一段可以复制的字符串。当输出第一次正常工作之后,请用清晰的 Project 名字保存它,记下目标 Minecraft 版本,并把这条预设和相关的设置命令(例如记分板、Boss 血条、战利品表或重置命令)放在一起。
在把预设正式应用到地图、服务器或 Command Pack 之前,请优先用复制出来的命令实体去执行,而不是直接依赖当前还开着的 Workbench。这样可以发现缺失的依赖、过期的选择器、错误的版本选择,以及那些只因为本地测试状态恰好存在才碰巧能跑的命令。
- 通过共享命令保留所选的 Edition 与 Version。
- 在使用伤害、击杀、清除或传送之前,先用无害命令测试选择器。
- 把长命令搬到 Project 或函数风格的流程里,不要直接粘进聊天框。
- 在修改实体、物品组件、坐骑乘客或数据包资源之后,务必再次检查警告。
FAQ
它能同时生成旧版 NBT 和新的物品组件吗?
可以。关键步骤是在复制之前选好目标 Java 版本。NBTForge 会让版本相关的物品输出始终显眼,而不是默认假设只有一种语法体系。
我应该用这个页面,还是用更细分的物品预设?
如果需求宽泛的 /give 命令,就用本页;如果意图很具体,例如 custom_model_data、玩家头颅、成书或属性修饰符,请使用更细分的预设。
这条预设什么时候应该成为 Command Pack 的一部分?
当输出依赖于初始化命令、重置命令、战利品资源、记分板状态或反复测试时,就把它作为 Command Pack 条目;一次性、无害的单条命令依然可以直接从输出里复制。
打开这个工作流
从相关 Give 工作台开始,然后按你的世界调整预设字段。