summaryrefslogtreecommitdiff
path: root/main/java/gregtech/api/interfaces/tileentity/IMachineProgress.java
diff options
context:
space:
mode:
authorFoghrye4 <foghrye4@gmail.com>2017-08-10 18:50:56 +0300
committerFoghrye4 <foghrye4@gmail.com>2017-08-10 18:50:56 +0300
commit877312184c472d9845e5ef1008bc538f4634059f (patch)
tree4e098cc94296cc11f3b87e8ef64c3c568b6aeb51 /main/java/gregtech/api/interfaces/tileentity/IMachineProgress.java
parent939d2ea16679ce64d98b98c716b85f851aa576e2 (diff)
fix missing source folder
Diffstat (limited to 'main/java/gregtech/api/interfaces/tileentity/IMachineProgress.java')
-rw-r--r--main/java/gregtech/api/interfaces/tileentity/IMachineProgress.java69
1 files changed, 69 insertions, 0 deletions
diff --git a/main/java/gregtech/api/interfaces/tileentity/IMachineProgress.java b/main/java/gregtech/api/interfaces/tileentity/IMachineProgress.java
new file mode 100644
index 0000000..78f238a
--- /dev/null
+++ b/main/java/gregtech/api/interfaces/tileentity/IMachineProgress.java
@@ -0,0 +1,69 @@
+package gregtech.api.interfaces.tileentity;
+
+/**
+ * For Machines which have Progress
+ */
+public interface IMachineProgress extends IHasWorldObjectAndCoords {
+ /**
+ * returns the Progress this Machine has made. Warning, this can also be negative!
+ */
+ public int getProgress();
+
+ /**
+ * returns the Progress the Machine needs to complete its task.
+ */
+ public int getMaxProgress();
+
+ /**
+ * increases the Progress of the Machine
+ */
+ public boolean increaseProgress(int aProgressAmountInTicks);
+
+ /**
+ * returns if the Machine currently does something.
+ */
+ public boolean hasThingsToDo();
+
+ /**
+ * returns if the Machine just got enableWorking called after being disabled.
+ * Used for Translocators, which need to check if they need to transfer immediately.
+ */
+ public boolean hasWorkJustBeenEnabled();
+
+ /**
+ * allows Machine to work
+ */
+ public void enableWorking();
+
+ /**
+ * disallows Machine to work
+ */
+ public void disableWorking();
+
+ /**
+ * if the Machine is allowed to Work
+ */
+ public boolean isAllowedToWork();
+
+ /**
+ * used to control Machines via Redstone Signal Strength by special Covers
+ * only Values between 0 and 15!
+ */
+ public void setWorkDataValue(byte aValue);
+
+ /**
+ * used to control Machines via Redstone Signal Strength by special Covers
+ * In case of 0 the Machine is very likely doing nothing, or is just not being controlled at all.
+ */
+ public byte getWorkDataValue();
+
+ /**
+ * gives you the Active Status of the Machine
+ */
+ public boolean isActive();
+
+ /**
+ * sets the visible Active Status of the Machine
+ */
+ public void setActive(boolean aActive);
+} \ No newline at end of file