summaryrefslogtreecommitdiffstats
path: root/src/main
diff options
context:
space:
mode:
authormd_5 <git@md-5.net>2017-12-16 10:18:34 +1100
committermd_5 <git@md-5.net>2017-12-16 10:18:34 +1100
commitfb4564cc37c37a19a8920025de6bb19dbf852338 (patch)
tree9049e08b31667f3df5ba7c5ebadd2496b9a73f06 /src/main
parent2ee49b4955aaab9f3827db8771da59b2b403ad9a (diff)
downloadcraftbukkit-fb4564cc37c37a19a8920025de6bb19dbf852338.tar
craftbukkit-fb4564cc37c37a19a8920025de6bb19dbf852338.tar.gz
craftbukkit-fb4564cc37c37a19a8920025de6bb19dbf852338.tar.lz
craftbukkit-fb4564cc37c37a19a8920025de6bb19dbf852338.tar.xz
craftbukkit-fb4564cc37c37a19a8920025de6bb19dbf852338.zip
SPIGOT-2892: Fix some clone implementations and add unit test
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBanner.java7
-rw-r--r--src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBlockState.java9
-rw-r--r--src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSpawnEgg.java3
3 files changed, 19 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBanner.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBanner.java
index aa1a210a..7b356789 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBanner.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBanner.java
@@ -200,4 +200,11 @@ public class CraftMetaBanner extends CraftMetaItem implements BannerMeta {
boolean applicableTo(Material type) {
return type == Material.BANNER;
}
+
+ @Override
+ public CraftMetaBanner clone() {
+ CraftMetaBanner meta = (CraftMetaBanner) super.clone();
+ meta.patterns = new ArrayList<>(patterns);
+ return meta;
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBlockState.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBlockState.java
index fe874e0d..3bd9ee47 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBlockState.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBlockState.java
@@ -214,6 +214,15 @@ public class CraftMetaBlockState extends CraftMetaItem implements BlockStateMeta
}
@Override
+ public CraftMetaBlockState clone() {
+ CraftMetaBlockState meta = (CraftMetaBlockState) super.clone();
+ if (blockEntityTag != null) {
+ meta.blockEntityTag = blockEntityTag.g();
+ }
+ return meta;
+ }
+
+ @Override
public boolean hasBlockState() {
return blockEntityTag != null;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSpawnEgg.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSpawnEgg.java
index 2f438eb4..70616a2f 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSpawnEgg.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSpawnEgg.java
@@ -176,6 +176,9 @@ public class CraftMetaSpawnEgg extends CraftMetaItem implements SpawnEggMeta {
CraftMetaSpawnEgg clone = (CraftMetaSpawnEgg) super.clone();
clone.spawnedType = spawnedType;
+ if (entityTag != null) {
+ clone.entityTag = entityTag.g();
+ }
return clone;
}