GT5-Unofficial/main/java/gregtech/api/interfaces/tileentity/IMachineProgress.java
2015-04-23 18:14:22 +02:00

69 lines
No EOL
1.6 KiB
Java

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);
}