diff options
Diffstat (limited to 'src/main/java/gregtech/api/interfaces/IFluidAccess.java')
-rw-r--r-- | src/main/java/gregtech/api/interfaces/IFluidAccess.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/interfaces/IFluidAccess.java b/src/main/java/gregtech/api/interfaces/IFluidAccess.java new file mode 100644 index 0000000000..8fa9b3a3fa --- /dev/null +++ b/src/main/java/gregtech/api/interfaces/IFluidAccess.java @@ -0,0 +1,26 @@ +package gregtech.api.interfaces; + +import net.minecraftforge.fluids.FluidStack; + +public interface IFluidAccess { + + void set(FluidStack stack); + + FluidStack get(); + + int getCapacity(); + + default int getRealCapacity() { + return getCapacity(); + } + + default void addAmount(int amount) { + if (get() != null) { + get().amount = Math.min(get().amount + amount, getRealCapacity()); + } + } + + default void verifyFluidStack() { + if (get() != null && get().amount <= 0) set(null); + } +} |