diff options
author | Blood-Asp <bloodasphendrik@gmail.com> | 2015-10-20 00:24:30 +0200 |
---|---|---|
committer | Blood-Asp <bloodasphendrik@gmail.com> | 2015-10-20 00:24:30 +0200 |
commit | 9202e2bfe31b1c38d74fadbc050292e5016de8b3 (patch) | |
tree | a5d45c0544609332c0b5219119329af8e4bee35b /src/main/java/gregtech/common/redstonecircuits/GT_Circuit_RedstoneMeter.java | |
parent | 9367648dd69c4834c213a050aeae4af0acea1ed2 (diff) | |
parent | 85c804fa112fd1f19c91e45d150a787cfbf0f7a8 (diff) | |
download | GT5-Unofficial-9202e2bfe31b1c38d74fadbc050292e5016de8b3.tar.gz GT5-Unofficial-9202e2bfe31b1c38d74fadbc050292e5016de8b3.tar.bz2 GT5-Unofficial-9202e2bfe31b1c38d74fadbc050292e5016de8b3.zip |
Merge pull request #249 from ShawnBuckley/source-move
Move source directory
Diffstat (limited to 'src/main/java/gregtech/common/redstonecircuits/GT_Circuit_RedstoneMeter.java')
-rw-r--r-- | src/main/java/gregtech/common/redstonecircuits/GT_Circuit_RedstoneMeter.java | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_RedstoneMeter.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_RedstoneMeter.java new file mode 100644 index 0000000000..0cb8d09760 --- /dev/null +++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_RedstoneMeter.java @@ -0,0 +1,97 @@ +package gregtech.common.redstonecircuits;
+
+import gregtech.api.interfaces.IRedstoneCircuitBlock;
+import gregtech.api.util.GT_CircuitryBehavior;
+
+public class GT_Circuit_RedstoneMeter
+ extends GT_CircuitryBehavior
+{
+ public GT_Circuit_RedstoneMeter(int aIndex)
+ {
+ super(aIndex);
+ }
+
+ public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+ {
+ aCircuitData[0] = 1;
+ aCircuitData[1] = 15;
+ aCircuitData[2] = 0;
+ aCircuitData[3] = 15;
+ }
+
+ public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+ {
+ if (aCircuitData[0] < 0) {
+ aCircuitData[0] = 0;
+ }
+ if (aCircuitData[0] > 15) {
+ aCircuitData[0] = 15;
+ }
+ if (aCircuitData[1] < 0) {
+ aCircuitData[1] = 0;
+ }
+ if (aCircuitData[1] > 15) {
+ aCircuitData[1] = 15;
+ }
+ if (aCircuitData[1] < aCircuitData[0]) {
+ aCircuitData[1] = aCircuitData[0];
+ }
+ if (aCircuitData[2] < 0) {
+ aCircuitData[2] = 0;
+ }
+ if (aCircuitData[2] > 1) {
+ aCircuitData[2] = 1;
+ }
+ if (aCircuitData[3] < 0) {
+ aCircuitData[3] = 0;
+ }
+ if (aCircuitData[3] > 15) {
+ aCircuitData[3] = 15;
+ }
+ }
+
+ public void onTick(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+ {
+ byte tRedstone = getStrongestRedstone(aRedstoneCircuitBlock);
+ aRedstoneCircuitBlock.setRedstone((byte)(((tRedstone >= aCircuitData[0]) && (tRedstone <= aCircuitData[1]) ? 1 : 0) != (aCircuitData[2] != 0 ? 1 : 0) ? (byte)aCircuitData[3] : 0), aRedstoneCircuitBlock.getOutputFacing());
+ }
+
+ public String getName()
+ {
+ return "Redstone Meter";
+ }
+
+ public String getDescription()
+ {
+ return "Checks Boundaries";
+ }
+
+ public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex)
+ {
+ switch (aCircuitDataIndex)
+ {
+ case 0:
+ return "Lower";
+ case 1:
+ return "Upper";
+ case 2:
+ return "Invert:";
+ case 3:
+ return "RS Out:";
+ }
+ return "";
+ }
+
+ public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex)
+ {
+ return false;
+ }
+
+ public String getDataDisplay(int[] aCircuitData, int aCircuitDataIndex)
+ {
+ if (aCircuitDataIndex == 2) {
+ return aCircuitData[2] == 0 ? "OFF" : "ON";
+ }
+ return null;
+ }
+}
|