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
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
From b7a1a8d488e8abec9994bd7ed43d1c0f7bfd664d Mon Sep 17 00:00:00 2001
|
||||
From 30ade2c15c450c37075fac67b3a4893d44e61353 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Thu, 28 May 2015 23:00:19 -0400
|
||||
Subject: [PATCH] Handle Item Meta Inconsistencies
|
||||
@@ -201,42 +201,43 @@ index 1d0580ff7f..2733cda407 100644
|
||||
|
||||
static Map<Enchantment, Integer> 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
|
||||
@@ -8,12 +8,14 @@ import java.lang.reflect.Constructor;
|
||||
@@ -8,6 +8,7 @@ import java.lang.reflect.Constructor;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.util.ArrayList;
|
||||
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;
|
||||
|
||||
@@ -24,6 +25,7 @@ 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;
|
||||
@@ -47,6 +49,7 @@ import java.util.Arrays;
|
||||
@@ -62,6 +64,7 @@ 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;
|
||||
@@ -236,7 +239,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
|
||||
import net.minecraft.server.EnumChatFormat;
|
||||
@@ -252,7 +255,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
|
||||
private IChatBaseComponent displayName;
|
||||
private IChatBaseComponent locName;
|
||||
private List<String> lore;
|
||||
- private Map<Enchantment, Integer> enchantments;
|
||||
+ private EnchantmentMap enchantments; // Paper
|
||||
private Multimap<Attribute, AttributeModifier> attributeModifiers;
|
||||
private int repairCost;
|
||||
private int hideFlag;
|
||||
private boolean unbreakable;
|
||||
@@ -245,7 +248,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
|
||||
@@ -262,7 +265,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
|
||||
private static final Set<String> HANDLED_TAGS = Sets.newHashSet();
|
||||
|
||||
private NBTTagCompound internalTag;
|
||||
@@ -245,7 +246,7 @@ index ef3e27b982..75669bd6ac 100644
|
||||
|
||||
CraftMetaItem(CraftMetaItem meta) {
|
||||
if (meta == null) {
|
||||
@@ -260,7 +263,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
|
||||
@@ -277,7 +280,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
|
||||
}
|
||||
|
||||
if (meta.enchantments != null) { // Spigot
|
||||
@@ -253,8 +254,8 @@ index ef3e27b982..75669bd6ac 100644
|
||||
+ this.enchantments = new EnchantmentMap(meta.enchantments); // Paper
|
||||
}
|
||||
|
||||
this.repairCost = meta.repairCost;
|
||||
@@ -493,13 +496,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
|
||||
if (meta.hasAttributeModifiers()) {
|
||||
@@ -352,13 +355,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -270,7 +271,7 @@ index ef3e27b982..75669bd6ac 100644
|
||||
|
||||
for (int i = 0; i < ench.size(); i++) {
|
||||
String id = ((NBTTagCompound) ench.get(i)).getString(ENCHANTMENTS_ID.NBT);
|
||||
@@ -574,13 +577,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
|
||||
@@ -473,13 +476,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
|
||||
void deserializeInternal(NBTTagCompound tag, Object context) {
|
||||
}
|
||||
|
||||
@@ -286,7 +287,7 @@ index ef3e27b982..75669bd6ac 100644
|
||||
for (Map.Entry<?, ?> entry : ench.entrySet()) {
|
||||
// Doctor older enchants
|
||||
String enchantKey = entry.getKey().toString();
|
||||
@@ -735,13 +738,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
|
||||
@@ -700,13 +703,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
|
||||
}
|
||||
|
||||
public Map<Enchantment, Integer> getEnchants() {
|
||||
@@ -302,16 +303,16 @@ index ef3e27b982..75669bd6ac 100644
|
||||
}
|
||||
|
||||
if (ignoreRestrictions || level >= ench.getStartLevel() && level <= ench.getMaxLevel()) {
|
||||
@@ -929,7 +932,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
|
||||
@@ -1026,7 +1029,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
|
||||
clone.lore = new ArrayList<String>(this.lore);
|
||||
}
|
||||
if (this.enchantments != null) {
|
||||
- clone.enchantments = new HashMap<Enchantment, Integer>(this.enchantments);
|
||||
+ clone.enchantments = new EnchantmentMap(this.enchantments); // Paper
|
||||
}
|
||||
clone.hideFlag = this.hideFlag;
|
||||
clone.unbreakable = this.unbreakable;
|
||||
@@ -1100,6 +1103,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
|
||||
if (this.hasAttributeModifiers()) {
|
||||
clone.attributeModifiers = HashMultimap.create(this.attributeModifiers);
|
||||
@@ -1227,6 +1230,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 380e7c43eb1131d830057dd981f0507f9c5b2722 Mon Sep 17 00:00:00 2001
|
||||
From 528347621a6b1e6d07a0aeb890805990691b6167 Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Sat, 27 Jan 2018 17:04:14 -0500
|
||||
Subject: [PATCH] Add ArmorStand Item Meta
|
||||
@@ -354,10 +354,10 @@ 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
|
||||
@@ -137,6 +137,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
|
||||
@@ -152,6 +152,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
|
||||
.put(CraftMetaCharge.class, "FIREWORK_EFFECT")
|
||||
.put(CraftMetaKnowledgeBook.class, "KNOWLEDGE_BOOK")
|
||||
.put(CraftMetaTropicalFishBucket.class, "TROPICAL_FISH_BUCKET")
|
||||
@@ -365,7 +365,7 @@ index 75669bd6ac..6593a52633 100644
|
||||
.put(CraftMetaItem.class, "UNSPECIFIC")
|
||||
.build();
|
||||
|
||||
@@ -1096,7 +1097,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
|
||||
@@ -1223,7 +1224,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
|
||||
CraftMetaCharge.EXPLOSION.NBT,
|
||||
CraftMetaBlockState.BLOCK_ENTITY_TAG.NBT,
|
||||
CraftMetaKnowledgeBook.BOOK_RECIPES.NBT,
|
||||
|
||||
Submodule work/Bukkit updated: 4b9a93eccf...cbb4fc1673
Submodule work/CraftBukkit updated: 26c89277cb...8164f4b25b
Submodule work/Spigot updated: 6b015b4b7a...38536abd0c
Reference in New Issue
Block a user