2023-01-22 14:00:37 +01:00
|
|
|
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
|
2023-02-07 16:55:53 +01:00
|
|
|
index 0da6a1a688a67868472143a254942eddc5a91b49..ded1f3034da67d89efaf4b31620ea2e43002f41d 100644
|
2023-01-22 14:00:37 +01:00
|
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
2023-02-07 16:55:53 +01:00
|
|
|
@@ -1068,17 +1068,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
2023-01-22 14:00:37 +01:00
|
|
|
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));
|
|
|
|
}
|