SPIGOT-5943: Calling get BlockStateMeta#getBlockState causes NPE with shield with banner

This commit is contained in:
md_5 2020-07-05 11:35:20 +10:00
parent 567e245fff
commit 4309566390
No known key found for this signature in database
GPG Key ID: E8E901AC7C617C11

View File

@ -268,10 +268,12 @@ public class CraftMetaBlockState extends CraftMetaItem implements BlockStateMeta
@Override
public BlockState getBlockState() {
Material stateMaterial = material; // Only actually used for jigsaws
if (blockEntityTag != null) {
switch (material) {
case SHIELD:
blockEntityTag.setString("id", "banner");
stateMaterial = shieldToBannerHack(blockEntityTag);
break;
case SHULKER_BOX:
case WHITE_SHULKER_BOX:
@ -298,7 +300,7 @@ public class CraftMetaBlockState extends CraftMetaItem implements BlockStateMeta
break;
}
}
TileEntity te = (blockEntityTag == null) ? null : TileEntity.create(CraftMagicNumbers.getBlock(material).getBlockData(), blockEntityTag);
TileEntity te = (blockEntityTag == null) ? null : TileEntity.create(CraftMagicNumbers.getBlock(stateMaterial).getBlockData(), blockEntityTag);
switch (material) {
case ACACIA_SIGN: