blob: 1b280184ce7807a3525f80067a5db55b6e84e506 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
package gregtech.api.interfaces.tileentity;
import net.minecraftforge.common.util.ForgeDirection;
/**
* This File has just internal Information about the Redstone State of a TileEntity
*/
public interface IRedstoneEmitter extends IHasWorldObjectAndCoords {
/**
* gets the Redstone Level the TileEntity should emit to the given Output Side
*
* @param side the {@link ForgeDirection} side
* @return the Redstone Level the TileEntity
*/
byte getOutputRedstoneSignal(ForgeDirection side);
/**
* sets the Redstone Level the TileEntity should emit to the given Output Side
* <p/>
* Do not use this if ICoverable is implemented. ICoverable has @getInternalOutputRedstoneSignal for Machine
* internal Output Redstone, so that it doesnt conflict with Cover Redstone. This sets the true Redstone Output
* Signal. Only Cover Behaviors should use it, not MetaTileEntities.
*/
void setOutputRedstoneSignal(ForgeDirection side, byte aStrength);
/**
* gets the Redstone Level the TileEntity should emit to the given Output Side
*/
byte getStrongOutputRedstoneSignal(ForgeDirection side);
/**
* sets the Redstone Level the TileEntity should emit to the given Output Side
* <p/>
* Do not use this if ICoverable is implemented. ICoverable has @getInternalOutputRedstoneSignal for Machine
* internal Output Redstone, so that it doesnt conflict with Cover Redstone. This sets the true Redstone Output
* Signal. Only Cover Behaviors should use it, not MetaTileEntities.
*/
void setStrongOutputRedstoneSignal(ForgeDirection side, byte aStrength);
/**
* Gets the Output for the comparator on the given Side
*/
byte getComparatorValue(ForgeDirection side);
/**
* Get the redstone output signal strength for a given side
*/
default byte getGeneralRS(ForgeDirection side) {
return 0;
}
}
|