Update to 1.8.4
This commit is contained in:
@@ -0,0 +1,141 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: libraryaddict <redwarfare@live.com>
|
||||
Date: Fri, 22 Aug 2014 05:35:16 -0400
|
||||
Subject: [PATCH] Added isUnbreakable and setUnbreakable to ItemMeta
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 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, Repairable {
|
||||
static final ItemMetaKey ATTRIBUTES_UUID_LOW = new ItemMetaKey("UUIDLeast");
|
||||
@Specific(Specific.To.NBT)
|
||||
static final ItemMetaKey HIDEFLAGS = new ItemMetaKey("HideFlags", "ItemFlags");
|
||||
+ @Specific(Specific.To.NBT)
|
||||
+ static final ItemMetaKey UNBREAKABLE = new ItemMetaKey("Unbreakable"); // Spigot
|
||||
|
||||
private String displayName;
|
||||
private List<String> lore;
|
||||
@@ -0,0 +0,0 @@ class CraftMetaItem implements ItemMeta, Repairable {
|
||||
this.repairCost = meta.repairCost;
|
||||
this.hideFlag = meta.hideFlag;
|
||||
this.unhandledTags.putAll(meta.unhandledTags);
|
||||
+ spigot.setUnbreakable( meta.spigot.isUnbreakable() ); // Spigot
|
||||
}
|
||||
|
||||
CraftMetaItem(NBTTagCompound tag) {
|
||||
@@ -0,0 +0,0 @@ class CraftMetaItem implements ItemMeta, Repairable {
|
||||
unhandledTags.put(key, tag.get(key));
|
||||
}
|
||||
}
|
||||
+ // Spigot start
|
||||
+ if ( tag.hasKey( UNBREAKABLE.NBT ) )
|
||||
+ {
|
||||
+ spigot.setUnbreakable( tag.getBoolean( UNBREAKABLE.NBT ) );
|
||||
+ }
|
||||
+ // Spigot end
|
||||
}
|
||||
|
||||
static Map<Enchantment, Integer> buildEnchantments(NBTTagCompound tag, ItemMetaKey key) {
|
||||
@@ -0,0 +0,0 @@ class CraftMetaItem implements ItemMeta, Repairable {
|
||||
}
|
||||
}
|
||||
|
||||
+ // Spigot start
|
||||
+ Boolean unbreakable = SerializableMeta.getObject( Boolean.class, map, UNBREAKABLE.BUKKIT, true );
|
||||
+ if ( unbreakable != null )
|
||||
+ {
|
||||
+ spigot.setUnbreakable( unbreakable );
|
||||
+ }
|
||||
+ // Spigot end
|
||||
+
|
||||
String internal = SerializableMeta.getString(map, "internal", true);
|
||||
if (internal != null) {
|
||||
ByteArrayInputStream buf = new ByteArrayInputStream(Base64.decodeBase64(internal));
|
||||
@@ -0,0 +0,0 @@ class CraftMetaItem implements ItemMeta, Repairable {
|
||||
}
|
||||
|
||||
applyEnchantments(enchantments, itemTag, ENCHANTMENTS);
|
||||
+
|
||||
+ // Spigot start
|
||||
+ if ( spigot.isUnbreakable() )
|
||||
+ {
|
||||
+ itemTag.setBoolean( UNBREAKABLE.NBT, true );
|
||||
+ }
|
||||
+ // Spigot end
|
||||
+
|
||||
|
||||
if (hasRepairCost()) {
|
||||
itemTag.setInt(REPAIR.NBT, repairCost);
|
||||
@@ -0,0 +0,0 @@ class CraftMetaItem implements ItemMeta, Repairable {
|
||||
|
||||
@Overridden
|
||||
boolean isEmpty() {
|
||||
- return !(hasDisplayName() || hasEnchants() || hasLore() || hasRepairCost() || !unhandledTags.isEmpty() || hideFlag != 0);
|
||||
+ return !(hasDisplayName() || hasEnchants() || hasLore() || hasRepairCost() || !unhandledTags.isEmpty() || hideFlag != 0 || spigot.isUnbreakable()); // Spigot
|
||||
}
|
||||
|
||||
public String getDisplayName() {
|
||||
@@ -0,0 +0,0 @@ class CraftMetaItem implements ItemMeta, Repairable {
|
||||
&& (this.hasLore() ? that.hasLore() && this.lore.equals(that.lore) : !that.hasLore())
|
||||
&& (this.hasRepairCost() ? that.hasRepairCost() && this.repairCost == that.repairCost : !that.hasRepairCost())
|
||||
&& (this.unhandledTags.equals(that.unhandledTags))
|
||||
- && (this.hideFlag == that.hideFlag);
|
||||
+ && (this.hideFlag == that.hideFlag)
|
||||
+ && (this.spigot.isUnbreakable() == that.spigot.isUnbreakable()); // Spigot
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -0,0 +0,0 @@ class CraftMetaItem implements ItemMeta, Repairable {
|
||||
hash = 61 * hash + (hasRepairCost() ? this.repairCost : 0);
|
||||
hash = 61 * hash + unhandledTags.hashCode();
|
||||
hash = 61 * hash + hideFlag;
|
||||
+ hash = 61 * hash + (spigot.isUnbreakable() ? 1231 : 1237); // Spigot
|
||||
return hash;
|
||||
}
|
||||
|
||||
@@ -0,0 +0,0 @@ class CraftMetaItem implements ItemMeta, Repairable {
|
||||
if (hasRepairCost()) {
|
||||
builder.put(REPAIR.BUKKIT, repairCost);
|
||||
}
|
||||
+
|
||||
+ // Spigot start
|
||||
+ if ( spigot.isUnbreakable() )
|
||||
+ {
|
||||
+ builder.put( UNBREAKABLE.BUKKIT, true );
|
||||
+ }
|
||||
+ // Spigot end
|
||||
+
|
||||
|
||||
Set<String> hideFlags = new HashSet<String>();
|
||||
for (ItemFlag hideFlagEnum : getItemFlags()) {
|
||||
@@ -0,0 +0,0 @@ class CraftMetaItem implements ItemMeta, Repairable {
|
||||
synchronized (HANDLED_TAGS) {
|
||||
if (HANDLED_TAGS.isEmpty()) {
|
||||
HANDLED_TAGS.addAll(Arrays.asList(
|
||||
+ UNBREAKABLE.NBT, // Spigot
|
||||
DISPLAY.NBT,
|
||||
REPAIR.NBT,
|
||||
ENCHANTMENTS.NBT,
|
||||
@@ -0,0 +0,0 @@ class CraftMetaItem implements ItemMeta, Repairable {
|
||||
// Spigot start
|
||||
private final Spigot spigot = new Spigot()
|
||||
{
|
||||
+ private boolean unbreakable;
|
||||
+
|
||||
+ @Override
|
||||
+ public void setUnbreakable(boolean setUnbreakable)
|
||||
+ {
|
||||
+ unbreakable = setUnbreakable;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean isUnbreakable()
|
||||
+ {
|
||||
+ return unbreakable;
|
||||
+ }
|
||||
};
|
||||
|
||||
@Override
|
||||
--
|
||||
Reference in New Issue
Block a user