Merge pull request #1860 from jmongeon/Comparator
Add comparator support to the GasTank
This commit is contained in:
commit
f72f462c63
2 changed files with 36 additions and 0 deletions
src/main/java/mekanism/common
|
@ -219,6 +219,19 @@ public class BlockGasTank extends BlockContainer
|
|||
return itemStack;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasComparatorInputOverride()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getComparatorInputOverride(World world, int x, int y, int z, int par5)
|
||||
{
|
||||
TileEntityGasTank tileEntity = (TileEntityGasTank)world.getTileEntity(x, y, z);
|
||||
return tileEntity.getRedstoneLevel();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ForgeDirection[] getValidRotations(World world, int x, int y, int z)
|
||||
{
|
||||
|
|
|
@ -21,6 +21,7 @@ import net.minecraft.entity.player.EntityPlayerMP;
|
|||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class TileEntityGasTank extends TileEntityContainerBlock implements IGasHandler, ITubeConnection, IRedstoneControl
|
||||
|
@ -42,6 +43,8 @@ public class TileEntityGasTank extends TileEntityContainerBlock implements IGasH
|
|||
|
||||
public Mode dumping;
|
||||
|
||||
public int currentGasAmount;
|
||||
|
||||
/** This machine's current RedstoneControl type. */
|
||||
public RedstoneControl controlType;
|
||||
|
||||
|
@ -90,6 +93,17 @@ public class TileEntityGasTank extends TileEntityContainerBlock implements IGasH
|
|||
{
|
||||
gasTank.draw(output, true);
|
||||
}
|
||||
|
||||
if(!worldObj.isRemote)
|
||||
{
|
||||
int newGasAmount = gasTank.getStored();
|
||||
|
||||
if(newGasAmount != this.currentGasAmount)
|
||||
{
|
||||
markDirty();
|
||||
this.currentGasAmount = newGasAmount;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -265,6 +279,15 @@ public class TileEntityGasTank extends TileEntityContainerBlock implements IGasH
|
|||
return true;
|
||||
}
|
||||
|
||||
public int getRedstoneLevel()
|
||||
{
|
||||
int stored = gasTank.getStored();
|
||||
|
||||
if(stored == 0) return 0;
|
||||
|
||||
return MathHelper.floor_float((float)stored / (float)MAX_GAS * 14.0f + 1.0f);
|
||||
}
|
||||
|
||||
@Override
|
||||
public RedstoneControl getControlType()
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue