mirror of
https://github.com/PaperMC/Paper.git
synced 2024-10-29 23:09:33 +01:00
9147456fc9
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing CraftBukkit Changes: ab8ace685 SPIGOT-7236: Bone meal doesn't increase use statistic 7dcb59b8e Avoid switch on material in previous commit Spigot Changes: 19641c75 SPIGOT-7235: World.Spigot#strikeLightningEffect doesn't do anything
39 lines
2.3 KiB
Diff
39 lines
2.3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Aya <31237389+tal5@users.noreply.github.com>
|
|
Date: Fri, 20 Jan 2023 13:49:59 +0000
|
|
Subject: [PATCH] Add Player#sendEquipmentChange(Map) API
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
index b32f44beab2c9790ee2da8403e362e8b3ecc6175..7b795a8f23a617d1d80f72f3262e11a1c9f806be 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
@@ -1055,17 +1055,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
|
this.sendSignChange0(components, loc, dyeColor, hasGlowingText); // Paper
|
|
}
|
|
|
|
+ // Paper start
|
|
@Override
|
|
- public void sendEquipmentChange(LivingEntity entity, EquipmentSlot slot, ItemStack item) {
|
|
+ public void sendEquipmentChange(LivingEntity entity, Map<EquipmentSlot, ItemStack> equipmentChanges) {
|
|
Preconditions.checkArgument(entity != null, "entity must not be null");
|
|
- Preconditions.checkArgument(slot != null, "slot must not be null");
|
|
- Preconditions.checkArgument(item != null, "item must not be null");
|
|
+ Preconditions.checkNotNull(equipmentChanges, "equipmentChanges must not be null");
|
|
|
|
if (this.getHandle().connection == null) return;
|
|
|
|
- List<Pair<net.minecraft.world.entity.EquipmentSlot, net.minecraft.world.item.ItemStack>> equipment = Arrays.asList(
|
|
- new Pair<>(CraftEquipmentSlot.getNMS(slot), CraftItemStack.asNMSCopy(item))
|
|
- );
|
|
+ List<Pair<net.minecraft.world.entity.EquipmentSlot, net.minecraft.world.item.ItemStack>> equipment = new ArrayList<>(equipmentChanges.size());
|
|
+ for (Map.Entry<EquipmentSlot, ItemStack> entry : equipmentChanges.entrySet()) {
|
|
+ Preconditions.checkNotNull(entry.getKey(), "EquipmentSlot key must not be null");
|
|
+ Preconditions.checkNotNull(entry.getValue(), "ItemStack value must not be null");
|
|
+ equipment.add(new Pair<>(CraftEquipmentSlot.getNMS(entry.getKey()), CraftItemStack.asNMSCopy(entry.getValue())));
|
|
+ }
|
|
+ // Paper end
|
|
|
|
this.getHandle().connection.send(new ClientboundSetEquipmentPacket(entity.getEntityId(), equipment));
|
|
}
|