diff --git a/CraftBukkit-Patches/0003-Skeleton-API-Implementations.patch b/CraftBukkit-Patches/0003-Skeleton-API-Implementations.patch index e1d0441a..ac398be6 100644 --- a/CraftBukkit-Patches/0003-Skeleton-API-Implementations.patch +++ b/CraftBukkit-Patches/0003-Skeleton-API-Implementations.patch @@ -1,4 +1,4 @@ -From a796e13d4c339b4e01a73df9da9f9fb3c3d8c52a Mon Sep 17 00:00:00 2001 +From 6e76a189964cedce034e0b6e9a93f0be832d621c Mon Sep 17 00:00:00 2001 From: md_5 Date: Sun, 2 Jun 2013 15:10:56 +1000 Subject: [PATCH] Skeleton API Implementations @@ -25,10 +25,10 @@ index b4ad7d1..4c33f5a 100644 + } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index ad05e07..bb8a7a0 100644 +index 4ff9c1a..486a828 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1320,4 +1320,14 @@ public class CraftWorld implements World { +@@ -1347,4 +1347,14 @@ public class CraftWorld implements World { cps.queueUnload(chunk.locX, chunk.locZ); } } @@ -124,12 +124,12 @@ index 3b9bfec..e4d0e41 100644 + // Spigot end } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 78a0ab4..fabaecf 100644 +index 7ebb70b..e80fce2 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -668,4 +668,16 @@ class CraftMetaItem implements ItemMeta, Repairable { - public final String toString() { - return SerializableMeta.classMap.get(getClass()) + "_META:" + serialize(); // TODO: cry +@@ -713,4 +713,16 @@ class CraftMetaItem implements ItemMeta, Repairable { + } + return HANDLED_TAGS; } + + // Spigot start diff --git a/CraftBukkit-Patches/0010-Async-Operation-Catching.patch b/CraftBukkit-Patches/0010-Async-Operation-Catching.patch index a2da9431..e8e36e38 100644 --- a/CraftBukkit-Patches/0010-Async-Operation-Catching.patch +++ b/CraftBukkit-Patches/0010-Async-Operation-Catching.patch @@ -1,4 +1,4 @@ -From dcbb03a94d824b6d729ab9c0dfd9448ac0a0515c Mon Sep 17 00:00:00 2001 +From 06a697947e18bc5bdfbe8a498d9ab320ae69bf13 Mon Sep 17 00:00:00 2001 From: md_5 Date: Tue, 25 Mar 2014 16:10:01 +1100 Subject: [PATCH] Async Operation Catching @@ -94,10 +94,10 @@ index 57aba85..3982d53 100644 // this.entityList.addAll(collection); Iterator iterator = collection.iterator(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index bb8a7a0..1a26015 100644 +index 486a828..a9ff641 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -164,6 +164,7 @@ public class CraftWorld implements World { +@@ -165,6 +165,7 @@ public class CraftWorld implements World { } public boolean unloadChunkRequest(int x, int z, boolean safe) { @@ -105,7 +105,7 @@ index bb8a7a0..1a26015 100644 if (safe && isChunkInUse(x, z)) { return false; } -@@ -174,6 +175,7 @@ public class CraftWorld implements World { +@@ -175,6 +176,7 @@ public class CraftWorld implements World { } public boolean unloadChunk(int x, int z, boolean save, boolean safe) { @@ -113,7 +113,7 @@ index bb8a7a0..1a26015 100644 if (safe && isChunkInUse(x, z)) { return false; } -@@ -241,6 +243,7 @@ public class CraftWorld implements World { +@@ -242,6 +244,7 @@ public class CraftWorld implements World { } public boolean loadChunk(int x, int z, boolean generate) { diff --git a/CraftBukkit-Patches/0012-Spigot-Timings.patch b/CraftBukkit-Patches/0012-Spigot-Timings.patch index 8592a052..dfcaee3f 100644 --- a/CraftBukkit-Patches/0012-Spigot-Timings.patch +++ b/CraftBukkit-Patches/0012-Spigot-Timings.patch @@ -1,4 +1,4 @@ -From 0bee4958d1a5fc27f53372e248ce0be9ae9959aa Mon Sep 17 00:00:00 2001 +From d068a03aa38d6ce011d7694e297ecd2a09c9a529 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 10 Jan 2013 00:18:11 -0500 Subject: [PATCH] Spigot Timings @@ -600,10 +600,10 @@ index 51e4489..5286c1e 100644 public Spigot spigot() diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 1a26015..c2a1963 100644 +index a9ff641..3b660ff 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -254,9 +254,11 @@ public class CraftWorld implements World { +@@ -255,9 +255,11 @@ public class CraftWorld implements World { net.minecraft.server.Chunk chunk = world.chunkProviderServer.chunks.get(LongHash.toLong(x, z)); if (chunk == null) { diff --git a/CraftBukkit-Patches/0061-Particle-API.patch b/CraftBukkit-Patches/0061-Particle-API.patch index 6b21e7c6..38805811 100644 --- a/CraftBukkit-Patches/0061-Particle-API.patch +++ b/CraftBukkit-Patches/0061-Particle-API.patch @@ -1,4 +1,4 @@ -From 84b6700ebec9df60bb3e466b483fbc813f5d4f31 Mon Sep 17 00:00:00 2001 +From 4f5360f49cf6f608d6c7521bf8e46df6da7e03ca Mon Sep 17 00:00:00 2001 From: Thinkofdeath Date: Fri, 20 Dec 2013 21:36:06 +0000 Subject: [PATCH] Particle API @@ -19,10 +19,10 @@ index 7de0de5..13f9e9d 100644 datavalue = 0; } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index c2a1963..d8376cc 100644 +index 3b660ff..eeb1ecb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -813,28 +813,18 @@ public class CraftWorld implements World { +@@ -816,28 +816,18 @@ public class CraftWorld implements World { Validate.isTrue(effect.getData() == null, "Wrong kind of data for this effect!"); } @@ -60,7 +60,7 @@ index c2a1963..d8376cc 100644 } public T spawn(Location location, Class clazz) throws IllegalArgumentException { -@@ -1328,6 +1318,70 @@ public class CraftWorld implements World { +@@ -1355,6 +1345,70 @@ public class CraftWorld implements World { // Spigot start private final Spigot spigot = new Spigot() { diff --git a/CraftBukkit-Patches/0071-Improve-AutoSave-Mechanism.patch b/CraftBukkit-Patches/0071-Improve-AutoSave-Mechanism.patch index 25864a0b..f51fe082 100644 --- a/CraftBukkit-Patches/0071-Improve-AutoSave-Mechanism.patch +++ b/CraftBukkit-Patches/0071-Improve-AutoSave-Mechanism.patch @@ -1,4 +1,4 @@ -From 9ae02d5fa6e1db5a6d3bd4770dcbd1c3aac63665 Mon Sep 17 00:00:00 2001 +From 8326bdd48e713856115000a07b0bb4cf12881e64 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sun, 12 Jan 2014 21:07:18 +1100 Subject: [PATCH] Improve AutoSave Mechanism @@ -47,10 +47,10 @@ index 7ce37c0..4a2f084 100644 SpigotTimings.worldSaveTimer.stopTiming(); // Spigot } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index d8376cc..ec33860 100644 +index eeb1ecb..b8d30f5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -690,12 +690,17 @@ public class CraftWorld implements World { +@@ -693,12 +693,17 @@ public class CraftWorld implements World { } public void save() { diff --git a/CraftBukkit-Patches/0089-Implement-Silenceable-Lightning-API.patch b/CraftBukkit-Patches/0089-Implement-Silenceable-Lightning-API.patch index 00da1a22..3ee35cb8 100644 --- a/CraftBukkit-Patches/0089-Implement-Silenceable-Lightning-API.patch +++ b/CraftBukkit-Patches/0089-Implement-Silenceable-Lightning-API.patch @@ -1,4 +1,4 @@ -From 38e0564f92338e881a25bdfab753e77321f6bb0b Mon Sep 17 00:00:00 2001 +From f0d91606b13a795735e851052e00301dff16fa52 Mon Sep 17 00:00:00 2001 From: drXor Date: Sun, 23 Feb 2014 16:16:59 -0400 Subject: [PATCH] Implement Silenceable Lightning API @@ -39,10 +39,10 @@ index 5bda5d3..1bbce9b 100644 //this.world.makeSound(this.locX, this.locY, this.locZ, "ambient.weather.thunder", 10000.0F, 0.8F + this.random.nextFloat() * 0.2F); float pitch = 0.8F + this.random.nextFloat() * 0.2F; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index ec33860..cd39489 100644 +index b8d30f5..bb4cb9d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1387,6 +1387,22 @@ public class CraftWorld implements World { +@@ -1414,6 +1414,22 @@ public class CraftWorld implements World { { CraftWorld.this.playEffect( location, effect, 0 ); } diff --git a/CraftBukkit-Patches/0127-Better-item-validation.patch b/CraftBukkit-Patches/0127-Better-item-validation.patch index 8ceacf64..7c2d9946 100644 --- a/CraftBukkit-Patches/0127-Better-item-validation.patch +++ b/CraftBukkit-Patches/0127-Better-item-validation.patch @@ -1,4 +1,4 @@ -From 75cd54caa903d7a3dbf681ddd2043f7c8e3a9320 Mon Sep 17 00:00:00 2001 +From 76995d2eb6695918622671b6dc9cf019c73b4625 Mon Sep 17 00:00:00 2001 From: Thinkofdeath Date: Wed, 2 Jul 2014 23:35:51 +0100 Subject: [PATCH] Better item validation @@ -102,12 +102,12 @@ index 0c69a3e..6843fac 100644 addPage(pageArray); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index fabaecf..cb6857c 100644 +index e80fce2..a4b09fa 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -36,6 +36,10 @@ import com.google.common.base.Strings; - import com.google.common.collect.ImmutableList; - import com.google.common.collect.ImmutableMap; +@@ -39,6 +39,10 @@ import com.google.common.collect.Sets; + import java.util.Arrays; + import java.util.Set; +// Spigot start +import static org.spigotmc.ValidateUtils.*; @@ -116,7 +116,7 @@ index fabaecf..cb6857c 100644 /** * Children must include the following: * -@@ -230,7 +234,7 @@ class CraftMetaItem implements ItemMeta, Repairable { +@@ -238,7 +242,7 @@ class CraftMetaItem implements ItemMeta, Repairable { NBTTagCompound display = tag.getCompound(DISPLAY.NBT); if (display.hasKey(NAME.NBT)) { @@ -125,7 +125,7 @@ index fabaecf..cb6857c 100644 } if (display.hasKey(LORE.NBT)) { -@@ -238,7 +242,7 @@ class CraftMetaItem implements ItemMeta, Repairable { +@@ -246,7 +250,7 @@ class CraftMetaItem implements ItemMeta, Repairable { lore = new ArrayList(list.size()); for (int index = 0; index < list.size(); index++) { diff --git a/CraftBukkit-Patches/0135-Don-t-spawn-bonus-ocelots-when-plugins-spawn-ocelots.patch b/CraftBukkit-Patches/0135-Don-t-spawn-bonus-ocelots-when-plugins-spawn-ocelots.patch index 67103eb9..d3da2040 100644 --- a/CraftBukkit-Patches/0135-Don-t-spawn-bonus-ocelots-when-plugins-spawn-ocelots.patch +++ b/CraftBukkit-Patches/0135-Don-t-spawn-bonus-ocelots-when-plugins-spawn-ocelots.patch @@ -1,4 +1,4 @@ -From a895b0432071ac1e36b2603683ab54043715b4e0 Mon Sep 17 00:00:00 2001 +From dce54a9f0bae980bea110133f6f6acc8470bdc58 Mon Sep 17 00:00:00 2001 From: Thinkofdeath Date: Sat, 19 Jul 2014 12:49:48 +0100 Subject: [PATCH] Don't spawn bonus ocelots when plugins spawn ocelots @@ -26,10 +26,10 @@ index a6b72d8..0f5d09b 100644 EntityOcelot entityocelot = new EntityOcelot(this.world); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index cd39489..e4ee220 100644 +index bb4cb9d..c6ef0fd 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1059,6 +1059,12 @@ public class CraftWorld implements World { +@@ -1086,6 +1086,12 @@ public class CraftWorld implements World { } if (entity != null) { diff --git a/CraftBukkit-Patches/0145-Filter-attribute-modifiers-which-cause-the-attribute.patch b/CraftBukkit-Patches/0145-Filter-attribute-modifiers-which-cause-the-attribute.patch index 360968f8..f3a3d4ca 100644 --- a/CraftBukkit-Patches/0145-Filter-attribute-modifiers-which-cause-the-attribute.patch +++ b/CraftBukkit-Patches/0145-Filter-attribute-modifiers-which-cause-the-attribute.patch @@ -1,4 +1,4 @@ -From 726e89fcaa45d9106f9201065c6437890382dff7 Mon Sep 17 00:00:00 2001 +From 5718134f3ad1182f999b037536cda880ef1734c2 Mon Sep 17 00:00:00 2001 From: Thinkofdeath Date: Thu, 31 Jul 2014 17:48:20 +0100 Subject: [PATCH] Filter attribute modifiers which cause the attribute to go @@ -6,10 +6,10 @@ Subject: [PATCH] Filter attribute modifiers which cause the attribute to go diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index cb6857c..b42baa9 100644 +index a4b09fa..3a87cb7 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -38,6 +38,8 @@ import com.google.common.collect.ImmutableMap; +@@ -41,6 +41,8 @@ import java.util.Set; // Spigot start import static org.spigotmc.ValidateUtils.*; @@ -18,7 +18,7 @@ index cb6857c..b42baa9 100644 // Spigot end /** -@@ -259,6 +261,123 @@ class CraftMetaItem implements ItemMeta, Repairable { +@@ -267,6 +269,123 @@ class CraftMetaItem implements ItemMeta, Repairable { NBTTagList save = null; NBTTagList nbttaglist = tag.getList(ATTRIBUTES.NBT, 10); diff --git a/CraftBukkit-Patches/0148-Remove-uneeded-validation.patch b/CraftBukkit-Patches/0148-Remove-uneeded-validation.patch index 371b2fff..8b8f3eaa 100644 --- a/CraftBukkit-Patches/0148-Remove-uneeded-validation.patch +++ b/CraftBukkit-Patches/0148-Remove-uneeded-validation.patch @@ -1,14 +1,14 @@ -From 47c42b134d369d28d6634722a02e025efbcebedf Mon Sep 17 00:00:00 2001 +From 43956e23dbfcb9e5210bf49f6f319aba613ce870 Mon Sep 17 00:00:00 2001 From: drXor Date: Fri, 15 Aug 2014 18:11:09 -0400 Subject: [PATCH] Remove uneeded validation diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index b42baa9..d6e4023 100644 +index 3a87cb7..070b23a 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -512,7 +512,7 @@ class CraftMetaItem implements ItemMeta, Repairable { +@@ -531,7 +531,7 @@ class CraftMetaItem implements ItemMeta, Repairable { } static void applyEnchantments(Map enchantments, NBTTagCompound tag, ItemMetaKey key) { @@ -17,7 +17,7 @@ index b42baa9..d6e4023 100644 return; } -@@ -603,7 +603,14 @@ class CraftMetaItem implements ItemMeta, Repairable { +@@ -622,7 +622,14 @@ class CraftMetaItem implements ItemMeta, Repairable { } public boolean removeEnchant(Enchantment ench) { diff --git a/CraftBukkit-Patches/0151-Skip-invalid-enchants-in-CraftMetaItem.patch b/CraftBukkit-Patches/0151-Skip-invalid-enchants-in-CraftMetaItem.patch index 20591c22..ae1906b7 100644 --- a/CraftBukkit-Patches/0151-Skip-invalid-enchants-in-CraftMetaItem.patch +++ b/CraftBukkit-Patches/0151-Skip-invalid-enchants-in-CraftMetaItem.patch @@ -1,4 +1,4 @@ -From 84d315fcfac69a89a465a3763052518ecd433ade Mon Sep 17 00:00:00 2001 +From 3477d2abe2aa44adae986e2ca1490f6fc86f16bd Mon Sep 17 00:00:00 2001 From: Thinkofdeath Date: Tue, 19 Aug 2014 11:04:21 +0100 Subject: [PATCH] Skip invalid enchants in CraftMetaItem @@ -8,10 +8,10 @@ CraftMetaItem would add a null enchantment into the enchantment map which causes NullPointers later diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index d6e4023..6298d58 100644 +index 070b23a..e011d85 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -435,7 +435,11 @@ class CraftMetaItem implements ItemMeta, Repairable { +@@ -450,7 +450,11 @@ class CraftMetaItem implements ItemMeta, Repairable { int id = 0xffff & ((NBTTagCompound) ench.get(i)).getShort(ENCHANTMENTS_ID.NBT); int level = 0xffff & ((NBTTagCompound) ench.get(i)).getShort(ENCHANTMENTS_LVL.NBT); diff --git a/CraftBukkit-Patches/0153-Added-isUnbreakable-and-setUnbreakable-to-ItemMeta.patch b/CraftBukkit-Patches/0153-Added-isUnbreakable-and-setUnbreakable-to-ItemMeta.patch index cbfecfbd..379b79be 100644 --- a/CraftBukkit-Patches/0153-Added-isUnbreakable-and-setUnbreakable-to-ItemMeta.patch +++ b/CraftBukkit-Patches/0153-Added-isUnbreakable-and-setUnbreakable-to-ItemMeta.patch @@ -1,14 +1,14 @@ -From 48f78d86797015136f7864d705e8116372f0daaf Mon Sep 17 00:00:00 2001 +From 36e273b2b516f86a27d567b67034e1be87d26e76 Mon Sep 17 00:00:00 2001 From: libraryaddict 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 6298d58..a3bc76d 100644 +index e011d85..0ee8280 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -204,6 +204,7 @@ class CraftMetaItem implements ItemMeta, Repairable { +@@ -207,6 +207,7 @@ class CraftMetaItem implements ItemMeta, Repairable { static final ItemMetaKey ATTRIBUTES_UUID_HIGH = new ItemMetaKey("UUIDMost"); @Specific(Specific.To.NBT) static final ItemMetaKey ATTRIBUTES_UUID_LOW = new ItemMetaKey("UUIDLeast"); @@ -16,17 +16,17 @@ index 6298d58..a3bc76d 100644 private String displayName; private List lore; -@@ -229,6 +230,7 @@ class CraftMetaItem implements ItemMeta, Repairable { - +@@ -237,6 +238,7 @@ class CraftMetaItem implements ItemMeta, Repairable { this.repairCost = meta.repairCost; this.attributes = meta.attributes; + this.unhandledTags.putAll(meta.unhandledTags); + spigot.setUnbreakable( meta.spigot.isUnbreakable() ); // Spigot } CraftMetaItem(NBTTagCompound tag) { -@@ -421,6 +423,12 @@ class CraftMetaItem implements ItemMeta, Repairable { - } else { - attributes = null; +@@ -436,6 +438,12 @@ class CraftMetaItem implements ItemMeta, Repairable { + unhandledTags.put(key, tag.get(key)); + } } + // Spigot start + if ( tag.hasKey( UNBREAKABLE.NBT ) ) @@ -37,7 +37,7 @@ index 6298d58..a3bc76d 100644 } static Map buildEnchantments(NBTTagCompound tag, ItemMetaKey key) { -@@ -461,6 +469,13 @@ class CraftMetaItem implements ItemMeta, Repairable { +@@ -476,6 +484,13 @@ class CraftMetaItem implements ItemMeta, Repairable { } attributes = null; @@ -51,7 +51,7 @@ index 6298d58..a3bc76d 100644 } static Map buildEnchantments(Map map, ItemMetaKey key) { -@@ -493,6 +508,13 @@ class CraftMetaItem implements ItemMeta, Repairable { +@@ -508,6 +523,13 @@ class CraftMetaItem implements ItemMeta, Repairable { applyEnchantments(enchantments, itemTag, ENCHANTMENTS); @@ -65,33 +65,34 @@ index 6298d58..a3bc76d 100644 if (hasRepairCost()) { itemTag.setInt(REPAIR.NBT, repairCost); } -@@ -551,7 +573,7 @@ class CraftMetaItem implements ItemMeta, Repairable { +@@ -570,7 +592,7 @@ class CraftMetaItem implements ItemMeta, Repairable { @Overridden boolean isEmpty() { -- return !(hasDisplayName() || hasEnchants() || hasLore() || hasAttributes() || hasRepairCost()); -+ return !(hasDisplayName() || hasEnchants() || hasLore() || hasAttributes() || hasRepairCost() || spigot.isUnbreakable()); // Spigot +- return !(hasDisplayName() || hasEnchants() || hasLore() || hasAttributes() || hasRepairCost() || !unhandledTags.isEmpty()); ++ return !(hasDisplayName() || hasEnchants() || hasLore() || hasAttributes() || hasRepairCost() || !unhandledTags.isEmpty() || spigot.isUnbreakable()); // Spigot } public String getDisplayName() { -@@ -675,7 +697,7 @@ class CraftMetaItem implements ItemMeta, Repairable { - && (this.hasEnchants() ? that.hasEnchants() && this.enchantments.equals(that.enchantments) : !that.hasEnchants()) +@@ -695,7 +717,8 @@ class CraftMetaItem implements ItemMeta, Repairable { && (this.hasLore() ? that.hasLore() && this.lore.equals(that.lore) : !that.hasLore()) && (this.hasAttributes() ? that.hasAttributes() && this.attributes.equals(that.attributes) : !that.hasAttributes()) -- && (this.hasRepairCost() ? that.hasRepairCost() && this.repairCost == that.repairCost : !that.hasRepairCost()); -+ && (this.hasRepairCost() ? that.hasRepairCost() && this.repairCost == that.repairCost : !that.hasRepairCost()) && this.spigot.isUnbreakable() == that.spigot.isUnbreakable(); // Spigot + && (this.hasRepairCost() ? that.hasRepairCost() && this.repairCost == that.repairCost : !that.hasRepairCost()) +- && (this.unhandledTags.equals(that.unhandledTags)); ++ && (this.unhandledTags.equals(that.unhandledTags)) ++ && this.spigot.isUnbreakable() == that.spigot.isUnbreakable(); // Spigot } /** -@@ -701,6 +723,7 @@ class CraftMetaItem implements ItemMeta, Repairable { - hash = 61 * hash + (hasEnchants() ? this.enchantments.hashCode() : 0); +@@ -722,6 +745,7 @@ class CraftMetaItem implements ItemMeta, Repairable { hash = 61 * hash + (hasAttributes() ? this.attributes.hashCode() : 0); hash = 61 * hash + (hasRepairCost() ? this.repairCost : 0); + hash = 61 * hash + unhandledTags.hashCode(); + hash = 61 * hash + (spigot.isUnbreakable() ? 1231 : 1237); // Spigot return hash; } -@@ -744,6 +767,13 @@ class CraftMetaItem implements ItemMeta, Repairable { +@@ -765,6 +789,13 @@ class CraftMetaItem implements ItemMeta, Repairable { builder.put(REPAIR.BUKKIT, repairCost); } @@ -105,7 +106,15 @@ index 6298d58..a3bc76d 100644 return builder; } -@@ -806,6 +836,19 @@ class CraftMetaItem implements ItemMeta, Repairable { +@@ -827,6 +858,7 @@ class CraftMetaItem implements ItemMeta, Repairable { + public static Set getHandledTags() { + if (HANDLED_TAGS.isEmpty()) { + HANDLED_TAGS.addAll(Arrays.asList( ++ UNBREAKABLE.NBT, // Spigot + DISPLAY.NBT, + REPAIR.NBT, + ATTRIBUTES.NBT, +@@ -851,6 +883,19 @@ class CraftMetaItem implements ItemMeta, Repairable { // Spigot start private final Spigot spigot = new Spigot() { diff --git a/CraftBukkit-Patches/0154-Configurable-Hanging-Tick.patch b/CraftBukkit-Patches/0154-Configurable-Hanging-Tick.patch index 38850b0b..3f5a45dc 100644 --- a/CraftBukkit-Patches/0154-Configurable-Hanging-Tick.patch +++ b/CraftBukkit-Patches/0154-Configurable-Hanging-Tick.patch @@ -1,14 +1,14 @@ -From a2a0d41f68f877aceee931cf74561c5943424ec4 Mon Sep 17 00:00:00 2001 +From e985b7bb2a3401c6278e5089baa34924aee8eb11 Mon Sep 17 00:00:00 2001 From: drXor Date: Sat, 9 Aug 2014 13:56:51 -0400 Subject: [PATCH] Configurable Hanging Tick diff --git a/src/main/java/net/minecraft/server/EntityHanging.java b/src/main/java/net/minecraft/server/EntityHanging.java -index 76bc12a..d34e5bf 100644 +index 6570340..b74c55e 100644 --- a/src/main/java/net/minecraft/server/EntityHanging.java +++ b/src/main/java/net/minecraft/server/EntityHanging.java -@@ -81,7 +81,7 @@ public abstract class EntityHanging extends Entity { +@@ -99,7 +99,7 @@ public abstract class EntityHanging extends Entity { this.lastX = this.locX; this.lastY = this.locY; this.lastZ = this.locZ;