From d7b0abafd9b4ce21c8f1b54714ada498c4bd670b Mon Sep 17 00:00:00 2001 From: Nicholas Ignoffo Date: Tue, 18 Oct 2016 16:12:39 -0700 Subject: [PATCH] Fix NPE in mimic when loading some tiles (#951) --- src/main/java/WayofTime/bloodmagic/tile/TileMimic.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/WayofTime/bloodmagic/tile/TileMimic.java b/src/main/java/WayofTime/bloodmagic/tile/TileMimic.java index 6b8dc409..122f3cff 100644 --- a/src/main/java/WayofTime/bloodmagic/tile/TileMimic.java +++ b/src/main/java/WayofTime/bloodmagic/tile/TileMimic.java @@ -4,7 +4,6 @@ import java.lang.reflect.Field; import java.util.List; import net.minecraft.block.Block; -import net.minecraft.block.ITileEntityProvider; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntityPotion; @@ -347,9 +346,13 @@ public class TileMimic extends TileInventory implements ITickable if (stack != null && stack.getItem() instanceof ItemBlock) { Block block = ((ItemBlock) stack.getItem()).getBlock(); - if (block instanceof ITileEntityProvider) + IBlockState state = block.getStateFromMeta(stack.getItemDamage()); + if (block.hasTileEntity(state)) { - TileEntity tile = ((ITileEntityProvider) block).createNewTileEntity(world, stack.getItemDamage()); + TileEntity tile = block.createTileEntity(world, state); + + if (tile == null) + return null; if (tag != null) {