/give
来源:Commands/give;原文修订 ID:3855978。
权限等级:Java 版为 2,基岩版为 1;基岩版需要启用作弊。
向一个或多个玩家给予指定数量的指定物品。
用法
给予目标指定的物品。若 <targets> 或 player: target 解析到多个目标,每个目标都会收到指定数量的物品。
若玩家物品栏有足够空间,或玩家处于创造模式,则给予指定物品。在 Java 版中还会生成一个“假的”物品实体,其 PickupDelay 为 32767、Age 为 5999,因此无法被拾取,并会在一个游戏刻内消失;原文对此处描述仍标记需要澄清。
若物品栏空间不足且玩家不处于创造模式,会先填满物品栏,再将剩余物品生成为玩家掉落的物品实体。Java 版将该实体的 Owner 设为目标玩家、PickupDelay 设为 0,使其随时只能由该玩家拾取。基岩版则按普通掉落方式生成,具有 10 游戏刻的拾取延迟,任何实体均可拾取;掉落时还会丢弃玩家使用物品的进度。基岩版“玩家权限”中的“使用门和开关”选项可禁止玩家掉落任何物品实体,即使掉落由 /give 引起。
语法
- Java 版:
give <targets> <item> [<count>]。 - 基岩版:
give <player: target> <itemName: Item> [amount: int] [data: int] [components: json]。
参数
targets(entity)/player: target(CommandSelector<Player>):给予物品的一个或多个玩家目标。item(item_stack)/itemName: Item(枚举):要给予的物品。count(integer)/amount: int:给予数量,默认1,必须为不小于 1 的整数。基岩版应在 1–32767 范围内(含边界)。- 仅基岩版
data: int:物品的数据值,默认0。对指定物品 ID 无效的值会回退为0。必须是整数,且应在 0–32767 范围内(含边界)。 - 仅基岩版
components: json(Json::Value):物品组件,类似数据标签,但仅支持minecraft:can_place_on、minecraft:can_destroy、minecraft:item_lock和minecraft:keep_on_death;见下方示例。
结果
命令不完整或任意参数不正确时无法解析。下列情况失败:基岩版目标选择器不是玩家类型;基岩版 amount: int 不在 1–32767、data: int 不在 0–32767,或 components: json 不是物品组件;目标无法解析到在线玩家;指定物品不能给予;Java 版数量超过 100 组物品。其他情况成功。
输出
- Java 版失败:成功次数为
0,success=0;原文该行未单列result。 - Java 版成功:成功次数为
1,success=1,result为目标玩家数量。 - 基岩版失败:成功次数为
0。 - 基岩版成功:成功次数为获得物品的玩家数量。
示例
- 给最近玩家一个猪刷怪蛋:
/give @p pig_spawn_egg。 - 给最近玩家一把描述为“Example”的钻石剑(Java 版):
/give @p diamond_sword[lore=["Example"]] 1。 - 给所有玩家夜视药水:
- Java 版:
/give @a potion[potion_contents={potion:"minecraft:night_vision"}] 1。 - 基岩版:
/give @a potion 1 5。
- Java 版:
- 给随机玩家一把锋利 X 钻石剑(Java 版):
/give @r diamond_sword[enchantments={"minecraft:sharpness":10}] 1。 - 给执行者一个即使在冒险模式下也能放在泥土上、并能破坏石英块的钻石块:
- Java 版:
/give @s diamond_block[can_place_on={blocks:"dirt"},can_break={blocks:"quartz_block"}] 1。 - 基岩版:
/give @s diamond_block 1 0 {"minecraft:can_place_on":{"blocks":["dirt"]},"minecraft:can_destroy":{"blocks":["quartz_block"]}}。
- Java 版:
- 给所有玩家一瓶具有击退 X 的二级凋零药水(Java 版):
/give @a potion[enchantments={"minecraft:knockback":10},potion_contents={custom_effects:[{id:"minecraft:wither",amplifier:1,duration:3600}]}] 1。 - 给最近玩家一把死亡时不会掉落的钻石剑(基岩版):
/give @p diamond_sword 1 0 {"keep_on_death":{}}。 - 给所有玩家一根不能丢弃或用于合成的木棍(基岩版):
/give @a stick 1 0 {"item_lock":{"mode":"lock_in_inventory"}}。 - 给随机玩家一把不能移出槽位、丢弃或用于合成的木锹(基岩版):
/give @r wooden_shovel 1 0 {"item_lock":{"mode":"lock_in_slot"}}。 - 给最近玩家一个用作镐的草方块(Java 版):
/give @p grass_block[max_stack_size=1,max_damage=100,damage=0,tool={default_mining_speed:2,damage_per_block:1,rules:[{blocks:"#mineable/pickaxe",speed:8,correct_for_drops:true}]}] 1。 - 给随机玩家一个隐形物品展示框(Java 版):
/give @r minecraft:item_frame[minecraft:entity_data={id:item_frame,Invisible:1b}] 1。 - 给最近玩家一个外观为狼刷怪蛋、实际生成猫的刷怪蛋(Java 版):
/give @p minecraft:wolf_spawn_egg[entity_data={id:"minecraft:cat"}]。 - 给执行者 36 组、每组 64 个不死图腾(Java 版;保留原文命令与其目标):
/give @s minecraft:totem_of_undying[max_stack_size=64] 2304。
另见
/summon:在任意位置生成任意实体。
外部链接
- Microsoft Learn:/give 命令(2023-10-11)。
中文翻译/改编自 Minecraft Wiki 原条目,原文作者可由页面历史查看;译文遵循 CC BY-NC-SA 3.0(署名、非商业性使用、相同方式共享)。