aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/interfaces/tileentity/IMachineProgress.java
diff options
context:
space:
mode:
authorShawn Buckley <shawntbuckley@gmail.com>2015-10-21 20:46:52 -0400
committerShawn Buckley <shawntbuckley@gmail.com>2015-10-21 20:46:52 -0400
commit1185424fa7c692f9932623b965a99392d969e3c5 (patch)
tree39e19727dac27a4eff09a036fc27a1ee827d18a7 /src/main/java/gregtech/api/interfaces/tileentity/IMachineProgress.java
parent9d85f43d5642c7683ad2877c66c6fc70b5be8928 (diff)
downloadGT5-Unofficial-1185424fa7c692f9932623b965a99392d969e3c5.tar.gz
GT5-Unofficial-1185424fa7c692f9932623b965a99392d969e3c5.tar.bz2
GT5-Unofficial-1185424fa7c692f9932623b965a99392d969e3c5.zip
Move source files
Diffstat (limited to 'src/main/java/gregtech/api/interfaces/tileentity/IMachineProgress.java')
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IMachineProgress.java69
1 files changed, 69 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IMachineProgress.java b/src/main/java/gregtech/api/interfaces/tileentity/IMachineProgress.java
new file mode 100644
index 0000000000..78f238aa3e
--- /dev/null
+++ b/src/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