blob: a0a362c4e510917082d9d8ac17264a617e5d1941 (
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
package gregtech.api.interfaces;
import net.minecraft.block.Block;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.util.ForgeDirection;
import gregtech.api.interfaces.tileentity.ICoverable;
import gregtech.api.util.CoverBehavior;
/**
* Implemented by the MetaTileEntity of the Redstone Circuit Block
*/
public interface IRedstoneCircuitBlock {
/**
* The Output Direction the Circuit Block is Facing
*/
ForgeDirection getOutputFacing();
/**
* sets Output Redstone State at Side
*/
boolean setRedstone(byte aStrength, ForgeDirection side);
/**
* returns Output Redstone State at Side Note that setRedstone checks if there is a Difference between the old and
* the new Setting before consuming any Energy
*/
byte getOutputRedstone(ForgeDirection side);
/**
* returns Input Redstone Signal at Side
*/
byte getInputRedstone(ForgeDirection side);
/**
* If this Side is Covered up and therefor not doing any Redstone
*/
CoverBehavior getCover(ForgeDirection side);
int getCoverID(ForgeDirection side);
int getCoverVariable(ForgeDirection side);
/**
* returns whatever Block-ID is adjacent to the Redstone Circuit Block
*/
Block getBlockAtSide(ForgeDirection side);
/**
* returns whatever Meta-Value is adjacent to the Redstone Circuit Block
*/
byte getMetaIDAtSide(ForgeDirection side);
/**
* returns whatever TileEntity is adjacent to the Redstone Circuit Block
*/
TileEntity getTileEntityAtSide(ForgeDirection side);
/**
* returns whatever TileEntity is used by the Redstone Circuit Block
*/
ICoverable getOwnTileEntity();
/**
* returns worldObj.rand.nextInt(aRange)
*/
int getRandom(int aRange);
}
|