aboutsummaryrefslogtreecommitdiffhomepage
path: root/Spigot-API-Patches-Unmapped/0061-ensureServerConversions-API.patch
diff options
context:
space:
mode:
authorKyle Wood <[email protected]>2021-04-24 17:01:33 -0500
committerKyle Wood <[email protected]>2021-04-25 18:37:43 -0500
commit3093b81fee3064603c368ab934eddf66ce304433 (patch)
treecb99f05b5f31de92c41af4cc40b4bef5f3cbf573 /Spigot-API-Patches-Unmapped/0061-ensureServerConversions-API.patch
parent1af696a05d21cbdd7b5a7170f95598c013257588 (diff)
downloadPaper-3093b81fee3064603c368ab934eddf66ce304433.tar.gz
Paper-3093b81fee3064603c368ab934eddf66ce304433.zip
Move patches
Diffstat (limited to 'Spigot-API-Patches-Unmapped/0061-ensureServerConversions-API.patch')
-rw-r--r--Spigot-API-Patches-Unmapped/0061-ensureServerConversions-API.patch62
1 files changed, 62 insertions, 0 deletions
diff --git a/Spigot-API-Patches-Unmapped/0061-ensureServerConversions-API.patch b/Spigot-API-Patches-Unmapped/0061-ensureServerConversions-API.patch
new file mode 100644
index 0000000000..56030876f6
--- /dev/null
+++ b/Spigot-API-Patches-Unmapped/0061-ensureServerConversions-API.patch
@@ -0,0 +1,62 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Aikar <[email protected]>
+Date: Wed, 4 May 2016 23:55:48 -0400
+Subject: [PATCH] ensureServerConversions API
+
+This will take a Bukkit ItemStack and run it through any conversions a server process would perform on it,
+to ensure it meets latest minecraft expectations.
+
+diff --git a/src/main/java/org/bukkit/inventory/ItemFactory.java b/src/main/java/org/bukkit/inventory/ItemFactory.java
+index 3dba4c361993e143e511b4f108ac0b444a84d964..30ab5d38197bccfc06f6f5554b162f8bdbfe2a45 100644
+--- a/src/main/java/org/bukkit/inventory/ItemFactory.java
++++ b/src/main/java/org/bukkit/inventory/ItemFactory.java
+@@ -151,5 +151,17 @@ public interface ItemFactory {
+ */
+ @NotNull
+ net.kyori.adventure.text.event.HoverEvent<net.kyori.adventure.text.event.HoverEvent.ShowItem> asHoverEvent(final @NotNull ItemStack item, final @NotNull java.util.function.UnaryOperator<net.kyori.adventure.text.event.HoverEvent.ShowItem> op);
++
++ /**
++ * Minecart updates are converting simple item stacks into more complex NBT oriented Item Stacks.
++ *
++ * Use this method to to ensure any desired data conversions are processed.
++ * The input itemstack will not be the same as the returned itemstack.
++ *
++ * @param item The item to process conversions on
++ * @return A potentially Data Converted ItemStack
++ */
++ @NotNull
++ ItemStack ensureServerConversions(@NotNull ItemStack item);
+ // Paper end
+ }
+diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
+index 4b20b557eaa958cf1ad1baf8d6cc17f38b180ff1..c31f667c466ba80bd88ae560d14dbd18a84118b4 100644
+--- a/src/main/java/org/bukkit/inventory/ItemStack.java
++++ b/src/main/java/org/bukkit/inventory/ItemStack.java
+@@ -536,7 +536,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor
+ }
+ }
+
+- return result;
++ return result.ensureServerConversions(); // Paper
+ }
+
+ /**
+@@ -602,5 +602,18 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor
+ public net.kyori.adventure.text.event.HoverEvent<net.kyori.adventure.text.event.HoverEvent.ShowItem> asHoverEvent(final @NotNull java.util.function.UnaryOperator<net.kyori.adventure.text.event.HoverEvent.ShowItem> op) {
+ return org.bukkit.Bukkit.getServer().getItemFactory().asHoverEvent(this, op);
+ }
++
++ /**
++ * Minecart updates are converting simple item stacks into more complex NBT oriented Item Stacks.
++ *
++ * Use this method to to ensure any desired data conversions are processed.
++ * The input itemstack will not be the same as the returned itemstack.
++ *
++ * @return A potentially Data Converted ItemStack
++ */
++ @NotNull
++ public ItemStack ensureServerConversions() {
++ return Bukkit.getServer().getItemFactory().ensureServerConversions(this);
++ }
+ // Paper end
+ }