79 lines
2.2 KiB
Java
79 lines
2.2 KiB
Java
package ley.anvil.api.energy;
|
|
|
|
import net.minecraft.util.EnumFacing;
|
|
import net.minecraftforge.energy.IEnergyStorage;
|
|
|
|
import javax.annotation.Nullable;
|
|
|
|
public interface IEnergy /*Forge Specific*/extends IEnergyStorage {
|
|
|
|
IEnergyType getType();
|
|
|
|
default IEnergyType[] getTypes() {
|
|
return new IEnergyType[] {getType()};
|
|
}
|
|
|
|
long getCapacity();
|
|
|
|
long getStored();
|
|
|
|
void setStored(long energy);
|
|
|
|
long getOutputPower(IEnergyType type);
|
|
|
|
long getInputPower(IEnergyType type);
|
|
|
|
long insertEnergy(long energy, IEnergyType type, boolean simulate);
|
|
|
|
long extractEnergy(long energy, IEnergyType type, boolean simulate);
|
|
|
|
boolean canInput(IEnergyType type);
|
|
|
|
boolean canOutput(IEnergyType type);
|
|
|
|
@Deprecated
|
|
default long getOutputPower(IEnergyType type, @Nullable EnumFacing to) {return getOutputPower(type);}
|
|
@Deprecated
|
|
default long getInputPower(IEnergyType type, @Nullable EnumFacing to) {return getInputPower(type);}
|
|
@Deprecated
|
|
default long insertEnergy(long energy, IEnergyType type, @Nullable EnumFacing from, boolean simulate) {return insertEnergy(energy,type, simulate);}
|
|
@Deprecated
|
|
default long extractEnergy(long energy, IEnergyType type, @Nullable EnumFacing from, boolean simulate) {return extractEnergy(energy, type, simulate);}
|
|
@Deprecated
|
|
default boolean canInput(IEnergyType type, @Nullable EnumFacing from) {return canInput(type);}
|
|
@Deprecated
|
|
default boolean canOutput(IEnergyType type, @Nullable EnumFacing to) {return canOutput(type);}
|
|
|
|
//Forge Specific
|
|
|
|
@Override
|
|
default int receiveEnergy(int maxReceive, boolean simulate) {
|
|
return (int) insertEnergy(maxReceive, CommonType.FLUX, simulate);
|
|
}
|
|
|
|
@Override
|
|
default int extractEnergy(int maxExtract, boolean simulate) {
|
|
return (int) extractEnergy(maxExtract, CommonType.FLUX, simulate);
|
|
}
|
|
|
|
@Override
|
|
default int getEnergyStored() {
|
|
return (int) getStored();
|
|
}
|
|
|
|
@Override
|
|
default int getMaxEnergyStored() {
|
|
return (int) getCapacity();
|
|
}
|
|
|
|
@Override
|
|
default boolean canExtract() {
|
|
return canOutput(CommonType.FLUX);
|
|
}
|
|
|
|
@Override
|
|
default boolean canReceive() {
|
|
return canInput(CommonType.FLUX);
|
|
}
|
|
}
|