aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/interfaces
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api/interfaces')
-rw-r--r--src/main/java/gregtech/api/interfaces/ICleanroom.java22
-rw-r--r--src/main/java/gregtech/api/interfaces/ICleanroomReceiver.java18
-rw-r--r--src/main/java/gregtech/api/interfaces/metatileentity/IMachineCallback.java10
3 files changed, 40 insertions, 10 deletions
diff --git a/src/main/java/gregtech/api/interfaces/ICleanroom.java b/src/main/java/gregtech/api/interfaces/ICleanroom.java
new file mode 100644
index 0000000000..61e339d050
--- /dev/null
+++ b/src/main/java/gregtech/api/interfaces/ICleanroom.java
@@ -0,0 +1,22 @@
+package gregtech.api.interfaces;
+
+/**
+ * Classes implementing this interface can act as cleanroom, used to satisfy environment required for some recipes.
+ */
+public interface ICleanroom {
+
+ /**
+ * @return Current cleanness of this cleanroom. Max at 10000.
+ */
+ int getCleanness();
+
+ /**
+ * @return If this cleanroom is valid.
+ */
+ boolean isValidCleanroom();
+
+ /**
+ * Release pollution to this cleanroom.
+ */
+ void pollute();
+}
diff --git a/src/main/java/gregtech/api/interfaces/ICleanroomReceiver.java b/src/main/java/gregtech/api/interfaces/ICleanroomReceiver.java
new file mode 100644
index 0000000000..b0d42f9aec
--- /dev/null
+++ b/src/main/java/gregtech/api/interfaces/ICleanroomReceiver.java
@@ -0,0 +1,18 @@
+package gregtech.api.interfaces;
+
+import javax.annotation.Nullable;
+
+import net.minecraft.tileentity.TileEntity;
+
+/**
+ * Implement this interface for TileEntities that can have association to cleanroom.
+ * Calling {@link gregtech.common.GT_Pollution#addPollution(TileEntity, int)} from this machine
+ * will pollute associated cleanroom.
+ */
+public interface ICleanroomReceiver {
+
+ @Nullable
+ ICleanroom getCleanroom();
+
+ void setCleanroom(ICleanroom cleanroom);
+}
diff --git a/src/main/java/gregtech/api/interfaces/metatileentity/IMachineCallback.java b/src/main/java/gregtech/api/interfaces/metatileentity/IMachineCallback.java
deleted file mode 100644
index fb7845cfd4..0000000000
--- a/src/main/java/gregtech/api/interfaces/metatileentity/IMachineCallback.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package gregtech.api.interfaces.metatileentity;
-
-public interface IMachineCallback<Machinetype extends IMetaTileEntity> {
-
- Machinetype getCallbackBase();
-
- void setCallbackBase(Machinetype callback);
-
- Class<?> getType();
-}