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_Randomizer.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_Randomizer.java')
-rw-r--r-- | src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Randomizer.java | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Randomizer.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Randomizer.java new file mode 100644 index 0000000000..036485bc22 --- /dev/null +++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Randomizer.java @@ -0,0 +1,94 @@ +package gregtech.common.redstonecircuits;
+
+import gregtech.api.interfaces.IRedstoneCircuitBlock;
+import gregtech.api.util.GT_CircuitryBehavior;
+
+public class GT_Circuit_Randomizer
+ extends GT_CircuitryBehavior
+{
+ public GT_Circuit_Randomizer(int aIndex)
+ {
+ super(aIndex);
+ }
+
+ public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+ {
+ aCircuitData[0] = 1;
+ aCircuitData[4] = 0;
+ }
+
+ public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+ {
+ if (aCircuitData[0] < 1) {
+ aCircuitData[0] = 1;
+ }
+ if (aCircuitData[3] < 0) {
+ aCircuitData[3] = 0;
+ }
+ if (aCircuitData[3] > 1) {
+ aCircuitData[3] = 1;
+ }
+ if (aCircuitData[4] < 0) {
+ aCircuitData[4] = 0;
+ }
+ }
+
+ public void onTick(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+ {
+ if (aCircuitData[3] == 1)
+ {
+ if (getAnyRedstone(aRedstoneCircuitBlock)) {
+ aCircuitData[4] += 1;
+ } else {
+ aCircuitData[4] = 0;
+ }
+ }
+ else if (getAnyRedstone(aRedstoneCircuitBlock)) {
+ aCircuitData[4] = 0;
+ } else {
+ aCircuitData[4] += 1;
+ }
+ if (aCircuitData[4] >= aCircuitData[0])
+ {
+ aCircuitData[4] = 0;
+ aRedstoneCircuitBlock.setRedstone((byte)aRedstoneCircuitBlock.getRandom(16), aRedstoneCircuitBlock.getOutputFacing());
+ }
+ }
+
+ public String getName()
+ {
+ return "Randomizer";
+ }
+
+ public String getDescription()
+ {
+ return "Randomizes Redstone";
+ }
+
+ public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex)
+ {
+ switch (aCircuitDataIndex)
+ {
+ case 0:
+ return "Delay";
+ case 3:
+ return aCircuitData[aCircuitDataIndex] == 1 ? "RS => ON" : "RS => OFF";
+ case 4:
+ return "Status";
+ }
+ return "";
+ }
+
+ public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex)
+ {
+ return false;
+ }
+
+ public String getDataDisplay(int[] aCircuitData, int aCircuitDataIndex)
+ {
+ if (aCircuitDataIndex != 0) {
+ return "";
+ }
+ return null;
+ }
+}
|