SPIGOT-2892: Fix some clone implementations and add unit test
By: md_5 <git@md-5.net>
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -213,6 +213,15 @@ public class CraftMetaBlockState extends CraftMetaItem implements BlockStateMeta
|
||||
return false;
|
||||
}
|
||||
|
||||
@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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user