From 497e66d1e6cb7fc66935e3a72a481e43bb1038b2 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 21 Sep 2018 11:29:17 -0400 Subject: [PATCH] Updated Upstream (Bukkit/CraftBukkit/Spigot) Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: cbb4fc16 SPIGOT-1916: Attribute modifiers for ItemStacks CraftBukkit Changes: 8164f4b2 SPIGOT-1916: Attribute modifiers for ItemStacks Spigot Changes: 38536abd Rebuild patches --- .../Add-ArmorStand-Item-Meta.patch | 2 +- .../Handle-Item-Meta-Inconsistencies.patch | 23 ++++++++++--------- work/Bukkit | 2 +- work/CraftBukkit | 2 +- work/Spigot | 2 +- 5 files changed, 16 insertions(+), 15 deletions(-) diff --git a/Spigot-Server-Patches/Add-ArmorStand-Item-Meta.patch b/Spigot-Server-Patches/Add-ArmorStand-Item-Meta.patch index 581657ae4a..a3f31ff78f 100644 --- a/Spigot-Server-Patches/Add-ArmorStand-Item-Meta.patch +++ b/Spigot-Server-Patches/Add-ArmorStand-Item-Meta.patch @@ -354,7 +354,7 @@ index 0000000000..0e8acf12e4 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 75669bd6ac..6593a52633 100644 +index 7c9c8d401a..b90a02ef6f 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -0,0 +0,0 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { diff --git a/Spigot-Server-Patches/Handle-Item-Meta-Inconsistencies.patch b/Spigot-Server-Patches/Handle-Item-Meta-Inconsistencies.patch index 041f63481f..c4059b0ec0 100644 --- a/Spigot-Server-Patches/Handle-Item-Meta-Inconsistencies.patch +++ b/Spigot-Server-Patches/Handle-Item-Meta-Inconsistencies.patch @@ -201,7 +201,7 @@ index 1d0580ff7f..2733cda407 100644 static Map getEnchantments(net.minecraft.server.ItemStack item) { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index ef3e27b982..75669bd6ac 100644 +index ae5daa5374..7c9c8d401a 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -0,0 +0,0 @@ import java.lang.reflect.Constructor; @@ -210,32 +210,33 @@ index ef3e27b982..75669bd6ac 100644 import java.util.Collection; +import java.util.Comparator; import java.util.HashMap; + import java.util.Iterator; import java.util.List; - import java.util.Map; - import java.util.NoSuchElementException; - +@@ -0,0 +0,0 @@ import com.google.common.collect.SetMultimap; + import net.minecraft.server.EnumItemSlot; + import net.minecraft.server.GenericAttributes; import net.minecraft.server.IChatBaseComponent; +import com.google.common.collect.ImmutableSortedMap; import net.minecraft.server.NBTBase; import net.minecraft.server.NBTTagCompound; import net.minecraft.server.NBTTagList; -@@ -0,0 +0,0 @@ import java.util.Arrays; +@@ -0,0 +0,0 @@ import java.io.IOException; + import java.util.Arrays; import java.util.EnumSet; - import java.util.HashSet; import java.util.Set; +import java.util.TreeMap; import java.util.logging.Level; import java.util.logging.Logger; - import net.minecraft.server.ChatComponentText; + import net.minecraft.server.EnumChatFormat; @@ -0,0 +0,0 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { private IChatBaseComponent displayName; private IChatBaseComponent locName; private List lore; - private Map enchantments; + private EnchantmentMap enchantments; // Paper + private Multimap attributeModifiers; private int repairCost; private int hideFlag; - private boolean unbreakable; @@ -0,0 +0,0 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { private static final Set HANDLED_TAGS = Sets.newHashSet(); @@ -253,7 +254,7 @@ index ef3e27b982..75669bd6ac 100644 + this.enchantments = new EnchantmentMap(meta.enchantments); // Paper } - this.repairCost = meta.repairCost; + if (meta.hasAttributeModifiers()) { @@ -0,0 +0,0 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { } } @@ -309,8 +310,8 @@ index ef3e27b982..75669bd6ac 100644 - clone.enchantments = new HashMap(this.enchantments); + clone.enchantments = new EnchantmentMap(this.enchantments); // Paper } - clone.hideFlag = this.hideFlag; - clone.unbreakable = this.unbreakable; + if (this.hasAttributeModifiers()) { + clone.attributeModifiers = HashMultimap.create(this.attributeModifiers); @@ -0,0 +0,0 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { } } diff --git a/work/Bukkit b/work/Bukkit index 4b9a93eccf..cbb4fc1673 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit 4b9a93eccfefb73860fbbf6e6ea072676e26ef92 +Subproject commit cbb4fc1673f278d61b5238df15aa1a1fb69655cc diff --git a/work/CraftBukkit b/work/CraftBukkit index 26c89277cb..8164f4b25b 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 26c89277cb772e7d163941397d0b4db4aac6cea1 +Subproject commit 8164f4b25bb557d4ded2db42ca4e6abb423bb5ee diff --git a/work/Spigot b/work/Spigot index 6b015b4b7a..38536abd0c 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit 6b015b4b7a9a33746619506053e83993439877ae +Subproject commit 38536abd0c8dcb2ba30a344c53a92bc480d251ba