diff --git a/src/main/java/WayofTime/bloodmagic/block/BlockMimic.java b/src/main/java/WayofTime/bloodmagic/block/BlockMimic.java index 9ca83bc2..18121f5c 100644 --- a/src/main/java/WayofTime/bloodmagic/block/BlockMimic.java +++ b/src/main/java/WayofTime/bloodmagic/block/BlockMimic.java @@ -168,7 +168,7 @@ public class BlockMimic extends BlockEnumContainer implements IVarian if (stack != null && stack.getItem() instanceof ItemBlock) { Block block = ((ItemBlock) stack.getItem()).getBlock(); - IBlockState mimicState = block.getStateFromMeta(mimic.metaOfReplacedBlock); + IBlockState mimicState = block.getStateFromMeta(stack.getItemDamage()); if (block != this) { if (block.getRenderType(mimicState) == EnumBlockRenderType.ENTITYBLOCK_ANIMATED) diff --git a/src/main/java/WayofTime/bloodmagic/compat/waila/WailaCallbackHandler.java b/src/main/java/WayofTime/bloodmagic/compat/waila/WailaCallbackHandler.java index a723df0b..bd43fc86 100644 --- a/src/main/java/WayofTime/bloodmagic/compat/waila/WailaCallbackHandler.java +++ b/src/main/java/WayofTime/bloodmagic/compat/waila/WailaCallbackHandler.java @@ -28,6 +28,7 @@ public class WailaCallbackHandler registrar.registerBodyProvider(new DataProviderAlchemyArray(), BlockAlchemyArray.class); registrar.registerStackProvider(new DataProviderAlchemyArray(), BlockAlchemyArray.class); registrar.registerStackProvider(new DataProviderMimic(), BlockMimic.class); + registrar.registerNBTProvider(new DataProviderMimic(), BlockMimic.class); registrar.registerStackProvider(DataProviderPillar.INSTANCE, BlockEnumPillarCap.class); registrar.registerStackProvider(DataProviderPillar.INSTANCE, BlockEnumPillar.class); registrar.registerStackProvider(DataProviderPillar.INSTANCE, BlockEnumStairs.class); diff --git a/src/main/java/WayofTime/bloodmagic/compat/waila/provider/DataProviderMimic.java b/src/main/java/WayofTime/bloodmagic/compat/waila/provider/DataProviderMimic.java index f8c7a02f..3f42d8db 100644 --- a/src/main/java/WayofTime/bloodmagic/compat/waila/provider/DataProviderMimic.java +++ b/src/main/java/WayofTime/bloodmagic/compat/waila/provider/DataProviderMimic.java @@ -19,8 +19,10 @@ public class DataProviderMimic implements IWailaDataProvider @Override public ItemStack getWailaStack(IWailaDataAccessor accessor, IWailaConfigHandler config) { - TileMimic mimic = (TileMimic) accessor.getTileEntity(); - return mimic != null && mimic.getStackInSlot(0) != null ? mimic.getStackInSlot(0) : accessor.getStack(); + if (accessor.getNBTData().getBoolean("hasItem")) + return ItemStack.loadItemStackFromNBT(accessor.getNBTData()); + + return new ItemStack(accessor.getBlock(), 1, accessor.getMetadata()); } @Override @@ -44,6 +46,11 @@ public class DataProviderMimic implements IWailaDataProvider @Override public NBTTagCompound getNBTData(EntityPlayerMP player, TileEntity te, NBTTagCompound tag, World world, BlockPos pos) { - return null; + if (te instanceof TileMimic && ((TileMimic) te).getStackInSlot(0) != null) + { + tag.setBoolean("hasItem", true); + ((TileMimic) te).getStackInSlot(0).writeToNBT(tag); + } + return tag; } }