package mekanism.api.transmitters;
import mekanism.api.gas.IGasTransmitter;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.StatCollector;
public enum TransmissionType
{
ENERGY("EnergyNetwork", "Energy"),
FLUID("FluidNetwork", "Fluids"),
GAS("GasNetwork", "Gases"),
ITEM("InventoryNetwork", "Items"),
HEAT("HeatNetwork", "Heat");
private String name;
private String transmission;
private TransmissionType(String n, String t)
{
name = n;
transmission = t;
}
public String getName()
{
return name;
}
public String getTransmission()
{
return transmission;
}
public String localize()
{
return StatCollector.translateToLocal("transmission." + getTransmission());
}
public static boolean checkTransmissionType(ITransmitter sideTile, TransmissionType type)
{
return type.checkTransmissionType(sideTile);
}
public static boolean checkTransmissionType(TileEntity tile1, TransmissionType type)
{
return checkTransmissionType(tile1, type, null);
}
public static boolean checkTransmissionType(TileEntity tile1, TransmissionType type, TileEntity tile2)
{
return type.checkTransmissionType(tile1, tile2);
}
public boolean checkTransmissionType(ITransmitter transmitter)
{
return transmitter.getTransmissionType() == this;
}
public boolean checkTransmissionType(TileEntity sideTile, TileEntity currentTile)
{
if(sideTile instanceof ITransmitter)
{
if(((ITransmitter)sideTile).getTransmissionType() == this)
{
return true;
}
}
if(this == GAS && currentTile instanceof IGasTransmitter)
{
if(((IGasTransmitter)currentTile).canTransferGasToTube(sideTile))
{
return true;
}
}
return false;
}
}