--- a/net/minecraft/server/commands/GiveCommand.java +++ b/net/minecraft/server/commands/GiveCommand.java @@ -51,6 +_,7 @@ private static int giveItem(CommandSourceStack source, ItemInput item, Collection targets, int count) throws CommandSyntaxException { ItemStack itemStack = item.createItemStack(1, false); + final Component displayName = itemStack.getDisplayName(); // Paper - get display name early int maxStackSize = itemStack.getMaxStackSize(); int i = maxStackSize * 100; if (count > i) { @@ -66,7 +_,7 @@ ItemStack itemStack1 = item.createItemStack(min, false); boolean flag = serverPlayer.getInventory().add(itemStack1); if (flag && itemStack1.isEmpty()) { - ItemEntity itemEntity = serverPlayer.drop(itemStack, false); + ItemEntity itemEntity = serverPlayer.drop(itemStack, false, false, false); // CraftBukkit - SPIGOT-2942: Add boolean to call event if (itemEntity != null) { itemEntity.makeFakeItem(); } @@ -95,11 +_,11 @@ if (targets.size() == 1) { source.sendSuccess( - () -> Component.translatable("commands.give.success.single", count, itemStack.getDisplayName(), targets.iterator().next().getDisplayName()), + () -> Component.translatable("commands.give.success.single", count, displayName, targets.iterator().next().getDisplayName()), // Paper - use cached display name true ); } else { - source.sendSuccess(() -> Component.translatable("commands.give.success.single", count, itemStack.getDisplayName(), targets.size()), true); + source.sendSuccess(() -> Component.translatable("commands.give.success.single", count, displayName, targets.size()), true); // Paper - use cached display name } return targets.size();