From d5182da346319d1c3f71e52e14e699628ca7cd6e Mon Sep 17 00:00:00 2001 From: AlgorithmX2 Date: Tue, 4 Mar 2014 22:31:50 -0600 Subject: [PATCH] IInventory Comparator Support. --- block/AEBaseBlock.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/block/AEBaseBlock.java b/block/AEBaseBlock.java index 64be2726e..49b2b3418 100644 --- a/block/AEBaseBlock.java +++ b/block/AEBaseBlock.java @@ -12,6 +12,8 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.resources.IResource; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; @@ -58,6 +60,7 @@ public class AEBaseBlock extends BlockContainer implements IAEFeature protected boolean isOpaque = true; protected boolean isFullSize = true; protected boolean hasSubtypes = false; + protected boolean isInventory = false; @SideOnly(Side.CLIENT) public IIcon renderIcon; @@ -163,6 +166,7 @@ public class AEBaseBlock extends BlockContainer implements IAEFeature { AEBaseTile.registerTileItem( c, new ItemStackSrc( this, 0 ) ); GameRegistry.registerTileEntity( tileEntityType = c, FeatureFullname ); + isInventory = IInventory.class.isAssignableFrom( c ); } protected void setfeature(EnumSet f) @@ -713,4 +717,17 @@ public class AEBaseBlock extends BlockContainer implements IAEFeature return hasSubtypes; } + public boolean hasComparatorInputOverride() + { + return isInventory; + } + + public int getComparatorInputOverride(World w, int x, int y, int z, int s) + { + TileEntity te = getTileEntity( w, x, y, z ); + if ( te instanceof IInventory ) + return Container.calcRedstoneFromInventory( (IInventory) te ); + return 0; + } + }