Paper/patches/api/0427-Add-Player-sendEquipmentChange-Map-API.patch
2023-02-07 07:55:53 -08:00

34 lines
1.6 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:35 +0000
Subject: [PATCH] Add Player#sendEquipmentChange(Map) API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index b06f759b6188d87cf406072b6d7ef8266512ce50..1604351236f748b5009eed29f6051e68092d6090 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -691,7 +691,21 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param slot The slot of the spoofed equipment change
* @param item The ItemStack to display for the player
*/
- public void sendEquipmentChange(@NotNull LivingEntity entity, @NotNull EquipmentSlot slot, @NotNull ItemStack item);
+ // Paper start
+ default void sendEquipmentChange(@NotNull LivingEntity entity, @NotNull EquipmentSlot slot, @NotNull ItemStack item) {
+ this.sendEquipmentChange(entity, java.util.Map.of(slot, item));
+ };
+
+ /**
+ * Send an equipment change for an entity. This fakes the equipment change
+ * of an entity for a user. This will not actually change the inventory of
+ * the specified entity in any way.
+ *
+ * @param entity The entity that the player will see the change for
+ * @param equipmentChanges A map of slots to the items they will be changed to, cannot contain null values.
+ */
+ void sendEquipmentChange(@NotNull LivingEntity entity, @NotNull java.util.Map<EquipmentSlot, ItemStack> equipmentChanges);
+ // Paper end
// Paper start
/**