package crazypants.enderio.conduit.packet;
import crazypants.enderio.conduit.IConduit;
import crazypants.enderio.conduit.gas.IGasConduit;
import crazypants.enderio.conduit.item.IItemConduit;
import crazypants.enderio.conduit.liquid.ILiquidConduit;
import crazypants.enderio.conduit.me.IMEConduit;
import crazypants.enderio.conduit.oc.IOCConduit;
import crazypants.enderio.conduit.power.IPowerConduit;
import crazypants.enderio.conduit.redstone.IRedstoneConduit;
public enum ConTypeEnum {
POWER(IPowerConduit.class),
FLUID(ILiquidConduit.class),
ITEM(IItemConduit.class),
REDSTONE(IRedstoneConduit.class),
GAS(IGasConduit.class),
ME(IMEConduit.class),
OC(IOCConduit.class);
final Class<? extends IConduit> baseType;
private ConTypeEnum(Class<? extends IConduit> baseType) {
this.baseType = baseType;
}
public Class<? extends IConduit> getBaseType() {
return baseType;
}
public static ConTypeEnum get(IConduit con) {
Class<? extends IConduit> from = con.getBaseConduitType();
for (ConTypeEnum ct : ConTypeEnum.values()) {
if (ct.getBaseType() == from) {
return ct;
}
}
return null;
}
}