aboutsummaryrefslogtreecommitdiffhomepage
path: root/patch-remap/mache-spigotflower/net/minecraft/server/commands/GiveCommand.java.patch
blob: bee73460247ed1114273202e8670af3f44d304e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
--- a/net/minecraft/server/commands/GiveCommand.java
+++ b/net/minecraft/server/commands/GiveCommand.java
@@ -9,7 +9,6 @@
 import java.util.Iterator;
 import net.minecraft.commands.CommandBuildContext;
 import net.minecraft.commands.CommandSourceStack;
-import net.minecraft.commands.Commands;
 import net.minecraft.commands.arguments.EntityArgument;
 import net.minecraft.commands.arguments.item.ItemArgument;
 import net.minecraft.commands.arguments.item.ItemInput;
@@ -27,69 +26,69 @@
 
     public GiveCommand() {}
 
-    public static void register(CommandDispatcher<CommandSourceStack> commanddispatcher, CommandBuildContext commandbuildcontext) {
-        commanddispatcher.register((LiteralArgumentBuilder) ((LiteralArgumentBuilder) Commands.literal("give").requires((commandsourcestack) -> {
-            return commandsourcestack.hasPermission(2);
-        })).then(Commands.argument("targets", EntityArgument.players()).then(((RequiredArgumentBuilder) Commands.argument("item", ItemArgument.item(commandbuildcontext)).executes((commandcontext) -> {
+    public static void register(CommandDispatcher<CommandSourceStack> dispatcher, CommandBuildContext context) {
+        dispatcher.register((LiteralArgumentBuilder) ((LiteralArgumentBuilder) net.minecraft.commands.Commands.literal("give").requires((commandlistenerwrapper) -> {
+            return commandlistenerwrapper.hasPermission(2);
+        })).then(net.minecraft.commands.Commands.argument("targets", EntityArgument.players()).then(((RequiredArgumentBuilder) net.minecraft.commands.Commands.argument("item", ItemArgument.item(context)).executes((commandcontext) -> {
             return giveItem((CommandSourceStack) commandcontext.getSource(), ItemArgument.getItem(commandcontext, "item"), EntityArgument.getPlayers(commandcontext, "targets"), 1);
-        })).then(Commands.argument("count", IntegerArgumentType.integer(1)).executes((commandcontext) -> {
+        })).then(net.minecraft.commands.Commands.argument("count", IntegerArgumentType.integer(1)).executes((commandcontext) -> {
             return giveItem((CommandSourceStack) commandcontext.getSource(), ItemArgument.getItem(commandcontext, "item"), EntityArgument.getPlayers(commandcontext, "targets"), IntegerArgumentType.getInteger(commandcontext, "count"));
         })))));
     }
 
-    private static int giveItem(CommandSourceStack commandsourcestack, ItemInput iteminput, Collection<ServerPlayer> collection, int i) throws CommandSyntaxException {
-        int j = iteminput.getItem().getMaxStackSize();
+    private static int giveItem(CommandSourceStack source, ItemInput item, Collection<ServerPlayer> targets, int count) throws CommandSyntaxException {
+        int j = item.getItem().getMaxStackSize();
         int k = j * 100;
-        ItemStack itemstack = iteminput.createItemStack(i, false);
+        ItemStack itemstack = item.createItemStack(count, false);
 
-        if (i > k) {
-            commandsourcestack.sendFailure(Component.translatable("commands.give.failed.toomanyitems", k, itemstack.getDisplayName()));
+        if (count > k) {
+            source.sendFailure(Component.translatable("commands.give.failed.toomanyitems", k, itemstack.getDisplayName()));
             return 0;
         } else {
-            Iterator iterator = collection.iterator();
+            Iterator iterator = targets.iterator();
 
             while (iterator.hasNext()) {
-                ServerPlayer serverplayer = (ServerPlayer) iterator.next();
-                int l = i;
+                ServerPlayer entityplayer = (ServerPlayer) iterator.next();
+                int l = count;
 
                 while (l > 0) {
                     int i1 = Math.min(j, l);
 
                     l -= i1;
-                    ItemStack itemstack1 = iteminput.createItemStack(i1, false);
-                    boolean flag = serverplayer.getInventory().add(itemstack1);
-                    ItemEntity itementity;
+                    ItemStack itemstack1 = item.createItemStack(i1, false);
+                    boolean flag = entityplayer.getInventory().add(itemstack1);
+                    ItemEntity entityitem;
 
                     if (flag && itemstack1.isEmpty()) {
                         itemstack1.setCount(1);
-                        itementity = serverplayer.drop(itemstack1, false);
-                        if (itementity != null) {
-                            itementity.makeFakeItem();
+                        entityitem = entityplayer.drop(itemstack1, false, false, false); // SPIGOT-2942: Add boolean to call event
+                        if (entityitem != null) {
+                            entityitem.makeFakeItem();
                         }
 
-                        serverplayer.level().playSound((Player) null, serverplayer.getX(), serverplayer.getY(), serverplayer.getZ(), SoundEvents.ITEM_PICKUP, SoundSource.PLAYERS, 0.2F, ((serverplayer.getRandom().nextFloat() - serverplayer.getRandom().nextFloat()) * 0.7F + 1.0F) * 2.0F);
-                        serverplayer.containerMenu.broadcastChanges();
+                        entityplayer.level().playSound((Player) null, entityplayer.getX(), entityplayer.getY(), entityplayer.getZ(), SoundEvents.ITEM_PICKUP, SoundSource.PLAYERS, 0.2F, ((entityplayer.getRandom().nextFloat() - entityplayer.getRandom().nextFloat()) * 0.7F + 1.0F) * 2.0F);
+                        entityplayer.containerMenu.broadcastChanges();
                     } else {
-                        itementity = serverplayer.drop(itemstack1, false);
-                        if (itementity != null) {
-                            itementity.setNoPickUpDelay();
-                            itementity.setTarget(serverplayer.getUUID());
+                        entityitem = entityplayer.drop(itemstack1, false);
+                        if (entityitem != null) {
+                            entityitem.setNoPickUpDelay();
+                            entityitem.setTarget(entityplayer.getUUID());
                         }
                     }
                 }
             }
 
-            if (collection.size() == 1) {
-                commandsourcestack.sendSuccess(() -> {
-                    return Component.translatable("commands.give.success.single", i, itemstack.getDisplayName(), ((ServerPlayer) collection.iterator().next()).getDisplayName());
+            if (targets.size() == 1) {
+                source.sendSuccess(() -> {
+                    return Component.translatable("commands.give.success.single", count, itemstack.getDisplayName(), ((ServerPlayer) targets.iterator().next()).getDisplayName());
                 }, true);
             } else {
-                commandsourcestack.sendSuccess(() -> {
-                    return Component.translatable("commands.give.success.single", i, itemstack.getDisplayName(), collection.size());
+                source.sendSuccess(() -> {
+                    return Component.translatable("commands.give.success.single", count, itemstack.getDisplayName(), targets.size());
                 }, true);
             }
 
-            return collection.size();
+            return targets.size();
         }
     }
 }