3
0
Mirror von https://github.com/PaperMC/Paper.git synchronisiert 2024-12-21 22:10:10 +01:00

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

Dieser Commit ist enthalten in:
md_5 2020-07-05 11:35:20 +10:00
Ursprung 567e245fff
Commit 4309566390
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: E8E901AC7C617C11

Datei anzeigen

@ -268,10 +268,12 @@ public class CraftMetaBlockState extends CraftMetaItem implements BlockStateMeta
@Override @Override
public BlockState getBlockState() { public BlockState getBlockState() {
Material stateMaterial = material; // Only actually used for jigsaws
if (blockEntityTag != null) { if (blockEntityTag != null) {
switch (material) { switch (material) {
case SHIELD: case SHIELD:
blockEntityTag.setString("id", "banner"); blockEntityTag.setString("id", "banner");
stateMaterial = shieldToBannerHack(blockEntityTag);
break; break;
case SHULKER_BOX: case SHULKER_BOX:
case WHITE_SHULKER_BOX: case WHITE_SHULKER_BOX:
@ -298,7 +300,7 @@ public class CraftMetaBlockState extends CraftMetaItem implements BlockStateMeta
break; 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) { switch (material) {
case ACACIA_SIGN: case ACACIA_SIGN: