Update upstream - fixes more Spawn Egg issues

This commit is contained in:
Aikar 2017-01-02 01:58:15 -05:00
parent 1b18e93607
commit 86e5224d94
5 changed files with 50 additions and 121 deletions

View File

@ -1,11 +1,11 @@
From e60c0b82ac056c2191c4d5d81b94078b7b52d42f Mon Sep 17 00:00:00 2001
From 1fe272b953204b2245b13d9c628b424b2eec9168 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 3 Mar 2016 04:00:11 -0600
Subject: [PATCH] Timings v2
diff --git a/pom.xml b/pom.xml
index 0e88ae2..31b8401 100644
index 0e88ae2a7..31b8401aa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -66,6 +66,12 @@
@ -23,7 +23,7 @@ index 0e88ae2..31b8401 100644
<version>3.0.3</version>
diff --git a/src/main/java/co/aikar/timings/MinecraftTimings.java b/src/main/java/co/aikar/timings/MinecraftTimings.java
new file mode 100644
index 0000000..29838de
index 000000000..29838de47
--- /dev/null
+++ b/src/main/java/co/aikar/timings/MinecraftTimings.java
@@ -0,0 +1,114 @@
@ -143,7 +143,7 @@ index 0000000..29838de
+}
diff --git a/src/main/java/co/aikar/timings/TimedChunkGenerator.java b/src/main/java/co/aikar/timings/TimedChunkGenerator.java
new file mode 100644
index 0000000..b79f1be
index 000000000..b79f1be7a
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimedChunkGenerator.java
@@ -0,0 +1,126 @@
@ -275,7 +275,7 @@ index 0000000..b79f1be
+}
diff --git a/src/main/java/co/aikar/timings/WorldTimingsHandler.java b/src/main/java/co/aikar/timings/WorldTimingsHandler.java
new file mode 100644
index 0000000..e778911
index 000000000..e7789117b
--- /dev/null
+++ b/src/main/java/co/aikar/timings/WorldTimingsHandler.java
@@ -0,0 +1,101 @@
@ -381,7 +381,7 @@ index 0000000..e778911
+ }
+}
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index 3d0a005..f509bed 100644
index c009c5f12..e67989083 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -14,11 +14,14 @@ import java.util.concurrent.TimeUnit;
@ -425,7 +425,7 @@ index 3d0a005..f509bed 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
index e8511ac..d3f1a4a 100644
index e8511ac9a..d3f1a4ac0 100644
--- a/src/main/java/net/minecraft/server/Block.java
+++ b/src/main/java/net/minecraft/server/Block.java
@@ -35,6 +35,15 @@ public class Block {
@ -445,7 +445,7 @@ index e8511ac..d3f1a4a 100644
public static int getId(Block block) {
return Block.REGISTRY.a(block); // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index 81fc04e..bd3b160 100644
index 81fc04ed3..bd3b16025 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -900,7 +900,7 @@ public class Chunk {
@ -493,7 +493,7 @@ index 81fc04e..bd3b160 100644
private void z() {
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index b39937f..17d39bb 100644
index b39937f3b..17d39bb0f 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -195,7 +195,7 @@ public class ChunkProviderServer implements IChunkProvider {
@ -515,7 +515,7 @@ index b39937f..17d39bb 100644
this.chunkLoader.a(this.world, chunk);
} catch (IOException ioexception) {
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
index a97e7d3..4890023 100644
index a97e7d3c2..4890023d7 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
@@ -402,7 +402,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
@ -555,7 +555,7 @@ index a97e7d3..4890023 100644
// return chunk; // CraftBukkit
}
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
index cb83e4f..4dab9e9 100644
index cb83e4f56..4dab9e962 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -23,7 +23,7 @@ import java.io.PrintStream;
@ -586,7 +586,7 @@ index cb83e4f..4dab9e9 100644
public boolean aa() {
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index dd946b9..4d28933 100644
index dd946b948..4d289330e 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -25,7 +25,8 @@ import org.bukkit.block.BlockFace;
@ -625,7 +625,7 @@ index dd946b9..4d28933 100644
public void recalcPosition() {
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 9a3c573..9c0b889 100644
index b231bfe7c..4fbe92a5a 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -31,7 +31,7 @@ import org.bukkit.event.entity.EntityTeleportEvent;
@ -637,7 +637,7 @@ index 9a3c573..9c0b889 100644
public abstract class EntityLiving extends Entity {
@@ -1815,7 +1815,6 @@ public abstract class EntityLiving extends Entity {
@@ -1816,7 +1816,6 @@ public abstract class EntityLiving extends Entity {
}
public void A_() {
@ -645,7 +645,7 @@ index 9a3c573..9c0b889 100644
super.A_();
this.cA();
if (!this.world.isClientSide) {
@@ -1888,9 +1887,7 @@ public abstract class EntityLiving extends Entity {
@@ -1889,9 +1888,7 @@ public abstract class EntityLiving extends Entity {
}
}
@ -655,7 +655,7 @@ index 9a3c573..9c0b889 100644
double d0 = this.locX - this.lastX;
double d1 = this.locZ - this.lastZ;
float f = (float) (d0 * d0 + d1 * d1);
@@ -1959,8 +1956,6 @@ public abstract class EntityLiving extends Entity {
@@ -1960,8 +1957,6 @@ public abstract class EntityLiving extends Entity {
} else {
this.bp = 0;
}
@ -664,7 +664,7 @@ index 9a3c573..9c0b889 100644
}
protected float h(float f, float f1) {
@@ -2025,7 +2020,6 @@ public abstract class EntityLiving extends Entity {
@@ -2026,7 +2021,6 @@ public abstract class EntityLiving extends Entity {
}
this.world.methodProfiler.a("ai");
@ -672,7 +672,7 @@ index 9a3c573..9c0b889 100644
if (this.isFrozen()) {
this.bd = false;
this.be = 0.0F;
@@ -2036,7 +2030,6 @@ public abstract class EntityLiving extends Entity {
@@ -2037,7 +2031,6 @@ public abstract class EntityLiving extends Entity {
this.doTick();
this.world.methodProfiler.b();
}
@ -680,7 +680,7 @@ index 9a3c573..9c0b889 100644
this.world.methodProfiler.b();
this.world.methodProfiler.a("jump");
@@ -2059,14 +2052,10 @@ public abstract class EntityLiving extends Entity {
@@ -2060,14 +2053,10 @@ public abstract class EntityLiving extends Entity {
this.bf *= 0.98F;
this.bg *= 0.9F;
this.r();
@ -696,7 +696,7 @@ index 9a3c573..9c0b889 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityTracker.java b/src/main/java/net/minecraft/server/EntityTracker.java
index 347a2b6..aceb08c 100644
index 347a2b671..aceb08ce1 100644
--- a/src/main/java/net/minecraft/server/EntityTracker.java
+++ b/src/main/java/net/minecraft/server/EntityTracker.java
@@ -175,7 +175,7 @@ public class EntityTracker {
@ -727,7 +727,7 @@ index 347a2b6..aceb08c 100644
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 90b6678..9e3a8d1 100644
index 90b667893..9e3a8d155 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -47,7 +47,7 @@ import org.bukkit.Bukkit;
@ -869,7 +869,7 @@ index 90b6678..9e3a8d1 100644
this.methodProfiler.b();
}
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
index a5a096b..c546139 100644
index a5a096be5..c546139c8 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -1,5 +1,6 @@
@ -969,7 +969,7 @@ index a5a096b..c546139 100644
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 01f8343..a10d8a7 100644
index 01f834304..a10d8a7b8 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -56,6 +56,7 @@ import org.bukkit.inventory.CraftingInventory;
@ -1017,7 +1017,7 @@ index 01f8343..a10d8a7 100644
// CraftBukkit end
}
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 7be0135..9f52995 100644
index 7be013599..9f5299570 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -1,5 +1,6 @@
@ -1041,7 +1041,7 @@ index 7be0135..9f52995 100644
public void addWhitelist(GameProfile gameprofile) {
diff --git a/src/main/java/net/minecraft/server/StructureGenerator.java b/src/main/java/net/minecraft/server/StructureGenerator.java
index f1f2065..fb350c4 100644
index f1f206501..fb350c408 100644
--- a/src/main/java/net/minecraft/server/StructureGenerator.java
+++ b/src/main/java/net/minecraft/server/StructureGenerator.java
@@ -1,5 +1,7 @@
@ -1083,7 +1083,7 @@ index f1f2065..fb350c4 100644
return flag;
}
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
index 6958a2e..b3d3df4 100644
index 6958a2e0f..b3d3df4cf 100644
--- a/src/main/java/net/minecraft/server/TileEntity.java
+++ b/src/main/java/net/minecraft/server/TileEntity.java
@@ -4,12 +4,13 @@ import javax.annotation.Nullable;
@ -1103,7 +1103,7 @@ index 6958a2e..b3d3df4 100644
private static final RegistryMaterials<MinecraftKey, Class<? extends TileEntity>> f = new RegistryMaterials();
protected World world;
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 09ca809..47e3b4d 100644
index 09ca809f0..47e3b4d98 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -18,11 +18,11 @@ import com.google.common.collect.Maps;
@ -1209,7 +1209,7 @@ index 09ca809..47e3b4d 100644
}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 4713150..26627ce 100644
index 47131503d..26627ce82 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -246,13 +246,13 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@ -1342,7 +1342,7 @@ index 4713150..26627ce 100644
// CraftBukkit start
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index f4b0871..761c8e4 100644
index f4b0871ed..761c8e462 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1729,6 +1729,7 @@ public final class CraftServer implements Server {
@ -1380,7 +1380,7 @@ index f4b0871..761c8e4 100644
}
diff --git a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java b/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java
deleted file mode 100644
index 41d2d87..0000000
index 41d2d87ee..000000000
--- a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java
+++ /dev/null
@@ -1,173 +0,0 @@
@ -1558,7 +1558,7 @@ index 41d2d87..0000000
- }
-}
diff --git a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java
index 3a95b44..b5efb9c 100644
index 3a95b4465..b5efb9c3f 100644
--- a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java
+++ b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java
@@ -1,6 +1,8 @@
@ -1602,7 +1602,7 @@ index 3a95b44..b5efb9c 100644
public void callStage3(QueuedChunk queuedChunk, Chunk chunk, Runnable runnable) throws RuntimeException {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index d057cce..877a0c8 100644
index d057cce36..877a0c88d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -37,15 +37,9 @@ import org.bukkit.configuration.serialization.DelegateDeserialization;
@ -1636,7 +1636,7 @@ index d057cce..877a0c8 100644
public Player.Spigot spigot()
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
index 92d217b..198c37c 100644
index 92d217bce..198c37c3c 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
@@ -189,7 +189,7 @@ public class CraftScheduler implements BukkitScheduler {
@ -1677,7 +1677,7 @@ index 92d217b..198c37c 100644
task.getOwner().getLogger().log(
Level.WARNING,
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
index 220e39a..afc6c17 100644
index 220e39abe..afc6c17e6 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
@@ -1,8 +1,8 @@
@ -1759,7 +1759,7 @@ index 220e39a..afc6c17 100644
- // Spigot end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java
index e52ef47..3d90b34 100644
index e52ef47b7..3d90b3426 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java
@@ -5,6 +5,7 @@ import org.bukkit.util.CachedServerIcon;
@ -1771,7 +1771,7 @@ index e52ef47..3d90b34 100644
this.value = value;
}
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index c32d44d..5c2fb00 100644
index c32d44df0..5c2fb0058 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -29,7 +29,7 @@ import net.minecraft.server.EntityWither;
@ -1833,5 +1833,5 @@ index c32d44d..5c2fb00 100644
}
}
--
2.9.3
2.11.0

View File

@ -1,11 +1,11 @@
From 7d1dd59d14b025644570acfcdca2a484ab8b1c6a Mon Sep 17 00:00:00 2001
From 100a23ef34a94e51c53f5c30f6f516bcc22b8194 Mon Sep 17 00:00:00 2001
From: Sudzzy <originmc@outlook.com>
Date: Wed, 2 Mar 2016 14:48:03 -0600
Subject: [PATCH] Disable explosion knockback
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index b5a106d..fcbf8a2 100644
index b5a106d5b..fcbf8a25c 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -205,4 +205,9 @@ public class PaperWorldConfig {
@ -19,10 +19,10 @@ index b5a106d..fcbf8a2 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index b328b25..fe6fe3f 100644
index 4fbe92a5a..b959fdac8 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -892,12 +892,14 @@ public abstract class EntityLiving extends Entity {
@@ -893,12 +893,14 @@ public abstract class EntityLiving extends Entity {
}
}
@ -37,7 +37,7 @@ index b328b25..fe6fe3f 100644
this.world.broadcastEntityEffect(this, (byte) 2);
}
@@ -921,6 +923,8 @@ public abstract class EntityLiving extends Entity {
@@ -922,6 +924,8 @@ public abstract class EntityLiving extends Entity {
}
}
@ -47,7 +47,7 @@ index b328b25..fe6fe3f 100644
if (!this.d(damagesource)) {
SoundEffect soundeffect = this.bX();
diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java
index 49fc95e..d7bc6a0 100644
index 49fc95e35..d7bc6a0ed 100644
--- a/src/main/java/net/minecraft/server/Explosion.java
+++ b/src/main/java/net/minecraft/server/Explosion.java
@@ -146,7 +146,7 @@ public class Explosion {
@ -69,5 +69,5 @@ index 49fc95e..d7bc6a0 100644
}
}
--
2.9.3
2.11.0

View File

@ -1,14 +1,14 @@
From d4b532c8addb75217b3f2a8461df8dda9bb2f75c Mon Sep 17 00:00:00 2001
From 7a13996738912fc0d21b933fdf57cf51987d83b9 Mon Sep 17 00:00:00 2001
From: mrapple <tony@oc.tc>
Date: Sun, 25 Nov 2012 13:43:39 -0600
Subject: [PATCH] Add methods for working with arrows stuck in living entities
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 885c108..42347e7 100644
index b959fdac8..bf8fbac4e 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -1379,10 +1379,12 @@ public abstract class EntityLiving extends Entity {
@@ -1380,10 +1380,12 @@ public abstract class EntityLiving extends Entity {
return (float) this.getAttributeInstance(GenericAttributes.maxHealth).getValue();
}
@ -22,7 +22,7 @@ index 885c108..42347e7 100644
this.datawatcher.set(EntityLiving.bq, Integer.valueOf(i));
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index aaea4e8..2a77cd4 100644
index aaea4e860..2a77cd462 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -559,4 +559,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
@ -43,5 +43,5 @@ index aaea4e8..2a77cd4 100644
+ // Paper end
}
--
2.9.3
2.11.0

View File

@ -1,71 +0,0 @@
From 976cceb1eaba63b9e7bcf5726db579aaf9bc2069 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 29 Dec 2016 07:54:48 -0500
Subject: [PATCH] Fix ItemStack Data Conversion
Spigot did not copy our version, and their version is not 100% correct.
The current state results in item meta and damage data value conversions clashing for control
For example on a horse egg, on itemstack creation, the 100 Damage is converted to 0 and sets EntityTag
SetItemMeta then drops the previous NBTTagCompound and makes a new one, which has no EntityType associated
to it as the previous stack had no metadata.
This change makes it so that itemstack conversion is delayed until after meta applies
Pretty much restores our previous implementation before Spigot tried to resolve it.
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
index 6db93b953..2d7cac940 100644
--- a/src/main/java/net/minecraft/server/ItemStack.java
+++ b/src/main/java/net/minecraft/server/ItemStack.java
@@ -56,6 +56,9 @@ public final class ItemStack {
}
public ItemStack(Item item, int i, int j) {
+ this(item, i, j, true); // Paper
+ }
+ public ItemStack(Item item, int i, int j, boolean convert) { // Paper
this.item = item;
this.damage = j;
this.count = i;
@@ -63,7 +66,7 @@ public final class ItemStack {
if (MinecraftServer.getServer() != null) {
this.setData(j);
}
- this.convertStack();
+ if (convert) this.convertStack(); // Paper
// CraftBukkit end
if (this.damage < 0) {
// this.damage = 0; // CraftBukkit - remove this.
@@ -454,7 +457,7 @@ public final class ItemStack {
}
public ItemStack cloneItemStack() {
- ItemStack itemstack = new ItemStack(this.item, this.count, this.damage);
+ ItemStack itemstack = new ItemStack(this.item, this.count, this.damage, false); // Paper - no need to convert a clone
if (this.tag != null) {
itemstack.tag = this.tag.g();
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
index fafc6b68d..dc1c416c7 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
@@ -41,10 +41,11 @@ public final class CraftItemStack extends ItemStack {
return net.minecraft.server.ItemStack.a;
}
- net.minecraft.server.ItemStack stack = new net.minecraft.server.ItemStack(item, original.getAmount(), original.getDurability());
+ net.minecraft.server.ItemStack stack = new net.minecraft.server.ItemStack(item, original.getAmount(), original.getDurability(), false); // Paper
if (original.hasItemMeta()) {
setItemMeta(stack, original.getItemMeta());
- }
+ } else { stack.convertStack(); } // Paper - setItemMeta will convert also
+
return stack;
}
--
2.11.0

@ -1 +1 @@
Subproject commit e2a288c863b383397057b742e9289bc4c31e44d1
Subproject commit 613be0d8418c044807040bb4c9b72ae4c118f5cd