aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/interfaces/IFluidAccess.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api/interfaces/IFluidAccess.java')
-rw-r--r--src/main/java/gregtech/api/interfaces/IFluidAccess.java26
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);
+ }
+}