redpower/src/main/java/cofh/api/energy/IEnergyTransport.java

35 lines
1,008 B
Java

package cofh.api.energy;
import net.minecraftforge.common.util.ForgeDirection;
public interface IEnergyTransport extends IEnergyProvider, IEnergyReceiver {
@Override
int getEnergyStored(ForgeDirection var1);
IEnergyTransport.InterfaceType getTransportState(ForgeDirection var1);
boolean setTransportState(IEnergyTransport.InterfaceType var1, ForgeDirection var2);
public static enum InterfaceType {
SEND,
RECEIVE,
BALANCE;
public IEnergyTransport.InterfaceType getOpposite() {
return this == BALANCE ? BALANCE : (this == SEND ? RECEIVE : SEND);
}
public IEnergyTransport.InterfaceType rotate() {
return this.rotate(true);
}
public IEnergyTransport.InterfaceType rotate(boolean forward) {
if (forward) {
return this == BALANCE ? RECEIVE : (this == RECEIVE ? SEND : BALANCE);
} else {
return this == BALANCE ? SEND : (this == SEND ? RECEIVE : BALANCE);
}
}
}
}