From b09b54435f9427332854558c42bd2c902825cbfe Mon Sep 17 00:00:00 2001 From: Dream-Master Date: Tue, 21 Jun 2016 18:42:02 +0200 Subject: remove all --- .../redstonecircuits/GT_Circuit_BasicLogic.java | 96 ------------------- .../common/redstonecircuits/GT_Circuit_BitAnd.java | 69 -------------- .../GT_Circuit_CombinationLock.java | 101 -------------------- .../common/redstonecircuits/GT_Circuit_Equals.java | 64 ------------- .../common/redstonecircuits/GT_Circuit_Pulser.java | 83 ----------------- .../redstonecircuits/GT_Circuit_Randomizer.java | 80 ---------------- .../redstonecircuits/GT_Circuit_RedstoneMeter.java | 86 ----------------- .../redstonecircuits/GT_Circuit_Repeater.java | 79 ---------------- .../common/redstonecircuits/GT_Circuit_Timer.java | 103 --------------------- 9 files changed, 761 deletions(-) delete mode 100644 src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BasicLogic.java delete mode 100644 src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BitAnd.java delete mode 100644 src/main/java/gregtech/common/redstonecircuits/GT_Circuit_CombinationLock.java delete mode 100644 src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Equals.java delete mode 100644 src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Pulser.java delete mode 100644 src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Randomizer.java delete mode 100644 src/main/java/gregtech/common/redstonecircuits/GT_Circuit_RedstoneMeter.java delete mode 100644 src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Repeater.java delete mode 100644 src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Timer.java (limited to 'src/main/java/gregtech/common/redstonecircuits') diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BasicLogic.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BasicLogic.java deleted file mode 100644 index 8651643eff..0000000000 --- a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BasicLogic.java +++ /dev/null @@ -1,96 +0,0 @@ -package gregtech.common.redstonecircuits; - -import gregtech.api.interfaces.IRedstoneCircuitBlock; -import gregtech.api.util.GT_CircuitryBehavior; - -public class GT_Circuit_BasicLogic - extends GT_CircuitryBehavior { - public GT_Circuit_BasicLogic(int aIndex) { - super(aIndex); - } - - public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { - aCircuitData[0] = 0; - } - - public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { - if (aCircuitData[0] < 0) { - aCircuitData[0] = 0; - } - if (aCircuitData[0] > 13) { - aCircuitData[0] = 13; - } - } - - public void onTick(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { - if (aCircuitData[0] < 2) { - aRedstoneCircuitBlock.setRedstone((byte) (aCircuitData[0] % 2 == (getAnyRedstone(aRedstoneCircuitBlock) ? 0 : 1) ? 15 : 0), aRedstoneCircuitBlock.getOutputFacing()); - } else if (aCircuitData[0] < 4) { - aRedstoneCircuitBlock.setRedstone((byte) (aCircuitData[0] % 2 == (getOneRedstone(aRedstoneCircuitBlock) ? 0 : 1) ? 15 : 0), aRedstoneCircuitBlock.getOutputFacing()); - } else if (aCircuitData[0] < 6) { - aRedstoneCircuitBlock.setRedstone((byte) (aCircuitData[0] % 2 == (getAllRedstone(aRedstoneCircuitBlock) ? 0 : 1) ? 15 : 0), aRedstoneCircuitBlock.getOutputFacing()); - } else if (aCircuitData[0] < 7) { - aRedstoneCircuitBlock.setRedstone((byte) (15 - getStrongestRedstone(aRedstoneCircuitBlock)), aRedstoneCircuitBlock.getOutputFacing()); - } else if (aCircuitData[0] < 9) { - aRedstoneCircuitBlock.setRedstone((byte) ((aCircuitData[0] % 2 == 0 ? 15 : 0) ^ (getStrongestRedstone(aRedstoneCircuitBlock) | getWeakestRedstone(aRedstoneCircuitBlock))), aRedstoneCircuitBlock.getOutputFacing()); - } else if (aCircuitData[0] < 11) { - aRedstoneCircuitBlock.setRedstone((byte) ((aCircuitData[0] % 2 == 0 ? 15 : 0) ^ getStrongestRedstone(aRedstoneCircuitBlock) ^ getWeakestRedstone(aRedstoneCircuitBlock)), aRedstoneCircuitBlock.getOutputFacing()); - } else if (aCircuitData[0] < 13) { - aRedstoneCircuitBlock.setRedstone((byte) ((aCircuitData[0] % 2 == 0 ? 15 : 0) ^ getStrongestRedstone(aRedstoneCircuitBlock) & getWeakestRedstone(aRedstoneCircuitBlock)), aRedstoneCircuitBlock.getOutputFacing()); - } else if (aCircuitData[0] < 14) { - aRedstoneCircuitBlock.setRedstone((byte) (getStrongestRedstone(aRedstoneCircuitBlock) ^ 0xF), aRedstoneCircuitBlock.getOutputFacing()); - } - } - - public String getName() { - return "Basic Logic"; - } - - public String getDescription() { - return "Regular Logic Gates"; - } - - public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex) { - if (aCircuitDataIndex == 0) { - switch (aCircuitData[0]) { - case 0: - return "OR"; - case 1: - return "NOR"; - case 2: - return "XOR"; - case 3: - return "XNOR"; - case 4: - return "AND"; - case 5: - return "NAND"; - case 6: - return "INVERT"; - case 7: - return "BIT_OR"; - case 8: - return "BIT_NOR"; - case 9: - return "BIT_XOR"; - case 10: - return "BIT_XNOR"; - case 11: - return "BIT_AND"; - case 12: - return "BIT_NAND"; - case 13: - return "BIT_INVERT"; - } - } - return ""; - } - - public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex) { - return false; - } - - public String getDataDisplay(int[] aCircuitData, int aCircuitDataIndex) { - return ""; - } -} diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BitAnd.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BitAnd.java deleted file mode 100644 index 8832de37b6..0000000000 --- a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BitAnd.java +++ /dev/null @@ -1,69 +0,0 @@ -package gregtech.common.redstonecircuits; - -import gregtech.api.interfaces.IRedstoneCircuitBlock; -import gregtech.api.util.GT_CircuitryBehavior; - -public class GT_Circuit_BitAnd - extends GT_CircuitryBehavior { - public GT_Circuit_BitAnd(int aIndex) { - super(aIndex); - } - - public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { - aCircuitData[0] = 0; - aCircuitData[1] = 0; - aCircuitData[2] = 0; - aCircuitData[3] = 0; - } - - public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { - if (aCircuitData[0] < 0) { - aCircuitData[0] = 0; - } - if (aCircuitData[1] < 0) { - aCircuitData[1] = 0; - } - if (aCircuitData[2] < 0) { - aCircuitData[2] = 0; - } - if (aCircuitData[3] < 0) { - aCircuitData[3] = 0; - } - if (aCircuitData[0] > 1) { - aCircuitData[0] = 1; - } - if (aCircuitData[1] > 1) { - aCircuitData[1] = 1; - } - if (aCircuitData[2] > 1) { - aCircuitData[2] = 1; - } - if (aCircuitData[3] > 1) { - aCircuitData[3] = 1; - } - } - - public void onTick(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { - aRedstoneCircuitBlock.setRedstone((byte) ((getStrongestRedstone(aRedstoneCircuitBlock) & (aCircuitData[0] | aCircuitData[1] << 1 | aCircuitData[2] << 2 | aCircuitData[3] << 3)) != 0 ? 15 : 0), aRedstoneCircuitBlock.getOutputFacing()); - } - - public String getName() { - return "Hardcode Bit-AND"; - } - - public String getDescription() { - return "( signal & this ) != 0"; - } - - public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex) { - return "Bit " + aCircuitDataIndex + ":"; - } - - public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex) { - return false; - } - - public String getDataDisplay(int[] aCircuitData, int aCircuitDataIndex) { - return aCircuitData[aCircuitDataIndex] == 0 ? "OFF" : "ON"; - } -} diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_CombinationLock.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_CombinationLock.java deleted file mode 100644 index 74492173cf..0000000000 --- a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_CombinationLock.java +++ /dev/null @@ -1,101 +0,0 @@ -package gregtech.common.redstonecircuits; - -import gregtech.api.interfaces.IRedstoneCircuitBlock; -import gregtech.api.util.GT_CircuitryBehavior; - -public class GT_Circuit_CombinationLock - extends GT_CircuitryBehavior { - public GT_Circuit_CombinationLock(int aIndex) { - super(aIndex); - } - - public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { - aCircuitData[0] = 1; - aCircuitData[1] = 0; - aCircuitData[2] = 0; - aCircuitData[3] = 0; - aCircuitData[4] = 0; - aCircuitData[5] = 0; - } - - public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { - if (aCircuitData[0] < 1) { - aCircuitData[0] = 1; - } - if (aCircuitData[1] < 0) { - aCircuitData[1] = 0; - } - if (aCircuitData[2] < 0) { - aCircuitData[2] = 0; - } - if (aCircuitData[3] < 0) { - aCircuitData[3] = 0; - } - if (aCircuitData[0] > 15) { - aCircuitData[0] = 15; - } - if (aCircuitData[1] > 15) { - aCircuitData[1] = 15; - } - if (aCircuitData[2] > 15) { - aCircuitData[2] = 15; - } - if (aCircuitData[3] > 15) { - aCircuitData[3] = 15; - } - if (aCircuitData[4] < 0) { - aCircuitData[4] = 0; - } - if (aCircuitData[4] > 3) { - aCircuitData[4] = 3; - } - if (aCircuitData[5] < 0) { - aCircuitData[5] = 0; - } - } - - public void onTick(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { - while ((aCircuitData[aCircuitData[4]] == 0) && (aCircuitData[4] < 4)) { - aCircuitData[4] += 1; - } - if (aCircuitData[4] < 4) { - int tRedstone = getStrongestRedstone(aRedstoneCircuitBlock); - if (tRedstone > 0) { - if (aCircuitData[5] == 0) { - if (tRedstone == aCircuitData[aCircuitData[4]]) { - aCircuitData[4] += 1; - } else { - aCircuitData[4] = 0; - } - } - aCircuitData[5] = 1; - } else { - aCircuitData[5] = 0; - } - aRedstoneCircuitBlock.setRedstone((byte) 0, aRedstoneCircuitBlock.getOutputFacing()); - } else { - aRedstoneCircuitBlock.setRedstone((byte) 15, aRedstoneCircuitBlock.getOutputFacing()); - aCircuitData[4] = 0; - } - } - - public String getName() { - return "Combination Lock"; - } - - public String getDescription() { - return "Checks Combinations"; - } - - public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex) { - return "Power " + aCircuitDataIndex; - } - - public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex) { - return false; - } - - public String getDataDisplay(int[] aCircuitData, int aCircuitDataIndex) { - return null; - } -} diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Equals.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Equals.java deleted file mode 100644 index 16ef890b5a..0000000000 --- a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Equals.java +++ /dev/null @@ -1,64 +0,0 @@ -package gregtech.common.redstonecircuits; - -import gregtech.api.interfaces.IRedstoneCircuitBlock; -import gregtech.api.util.GT_CircuitryBehavior; - -public class GT_Circuit_Equals - extends GT_CircuitryBehavior { - public GT_Circuit_Equals(int aIndex) { - super(aIndex); - } - - public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { - aCircuitData[0] = 0; - aCircuitData[1] = 0; - } - - 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[3] = 0; - } - if (aCircuitData[1] > 1) { - aCircuitData[3] = 1; - } - } - - public void onTick(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { - aRedstoneCircuitBlock.setRedstone(((byte) ((aCircuitData[1] != 0 ? getStrongestRedstone(aRedstoneCircuitBlock) == aCircuitData[0] : getStrongestRedstone(aRedstoneCircuitBlock) != aCircuitData[0]) ? 0 : 15)), aRedstoneCircuitBlock.getOutputFacing()); - } - - public String getName() { - return "Equals"; - } - - public String getDescription() { - return "signal == this"; - } - - public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex) { - switch (aCircuitDataIndex) { - case 0: - return "Signal"; - case 1: - return aCircuitData[1] == 0 ? "Equal" : "Unequal"; - } - 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; - } -} diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Pulser.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Pulser.java deleted file mode 100644 index edc7b36687..0000000000 --- a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Pulser.java +++ /dev/null @@ -1,83 +0,0 @@ -package gregtech.common.redstonecircuits; - -import gregtech.api.interfaces.IRedstoneCircuitBlock; -import gregtech.api.util.GT_CircuitryBehavior; - -public class GT_Circuit_Pulser - extends GT_CircuitryBehavior { - public GT_Circuit_Pulser(int aIndex) { - super(aIndex); - } - - public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { - aCircuitData[0] = 1; - aCircuitData[1] = 16; - aCircuitData[4] = 0; - } - - public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { - if (aCircuitData[0] < 1) { - aCircuitData[0] = 1; - } - if (aCircuitData[1] < 0) { - aCircuitData[1] = 0; - } - if (aCircuitData[1] > 16) { - aCircuitData[1] = 16; - } - if (aCircuitData[4] < 0) { - aCircuitData[4] = 0; - } - } - - public void onTick(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { - byte tRedstone = aCircuitData[1] == 0 ? getWeakestNonZeroRedstone(aRedstoneCircuitBlock) : getStrongestRedstone(aRedstoneCircuitBlock); - if (aCircuitData[4] == 0) { - aCircuitData[5] = tRedstone; - } - if ((tRedstone > 0) || (aCircuitData[4] > 0)) { - int tmp40_39 = 4; - int[] tmp40_38 = aCircuitData; - int tmp42_41 = tmp40_38[tmp40_39]; - tmp40_38[tmp40_39] = (tmp42_41 + 1); - if ((tmp42_41 >= aCircuitData[0]) && (tRedstone <= 0)) { - aCircuitData[4] = 0; - } - } - aRedstoneCircuitBlock.setRedstone((byte) ((aCircuitData[4] > 0) && (aCircuitData[4] <= aCircuitData[0]) ? (byte) aCircuitData[1] : (aCircuitData[1] <= 0) || (aCircuitData[1] > 15) ? (byte) aCircuitData[5] : 0), aRedstoneCircuitBlock.getOutputFacing()); - } - - public String getName() { - return "Pulser"; - } - - public String getDescription() { - return "Limits&Enlengths"; - } - - public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex) { - switch (aCircuitDataIndex) { - case 0: - return "Length"; - case 1: - return "RS Out"; - } - return ""; - } - - public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex) { - return false; - } - - public String getDataDisplay(int[] aCircuitData, int aCircuitDataIndex) { - if (aCircuitDataIndex == 1) { - if (aCircuitData[aCircuitDataIndex] == 16) { - return "HIGHEST"; - } - if (aCircuitData[aCircuitDataIndex] == 0) { - return "LOWEST"; - } - } - return aCircuitDataIndex > 1 ? "" : null; - } -} diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Randomizer.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Randomizer.java deleted file mode 100644 index bfa7b98f91..0000000000 --- a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Randomizer.java +++ /dev/null @@ -1,80 +0,0 @@ -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; - } -} diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_RedstoneMeter.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_RedstoneMeter.java deleted file mode 100644 index fb38e594a8..0000000000 --- a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_RedstoneMeter.java +++ /dev/null @@ -1,86 +0,0 @@ -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; - } -} diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Repeater.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Repeater.java deleted file mode 100644 index 1f584c7477..0000000000 --- a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Repeater.java +++ /dev/null @@ -1,79 +0,0 @@ -package gregtech.common.redstonecircuits; - -import gregtech.api.interfaces.IRedstoneCircuitBlock; -import gregtech.api.util.GT_CircuitryBehavior; - -public class GT_Circuit_Repeater - extends GT_CircuitryBehavior { - public GT_Circuit_Repeater(int aIndex) { - super(aIndex); - } - - public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { - aCircuitData[0] = 1; - aCircuitData[4] = 0; - aCircuitData[5] = -1; - } - - public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { - if (aCircuitData[0] < 1) { - aCircuitData[0] = 1; - } - if (aCircuitData[4] < 0) { - aCircuitData[4] = 0; - } - if (aCircuitData[5] < -1) { - aCircuitData[5] = -1; - } - } - - public void onTick(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { - if (getAnyRedstone(aRedstoneCircuitBlock)) { - aCircuitData[4] += 1; - if (aCircuitData[5] < 0) { - aCircuitData[5] = 0; - } - } - if ((aCircuitData[5] >= 0) && (aCircuitData[5] < aCircuitData[0])) { - aCircuitData[5] += 1; - } - if (aCircuitData[4] > 0) { - if (aCircuitData[5] >= aCircuitData[0]) { - aCircuitData[4] -= 1; - aRedstoneCircuitBlock.setRedstone((byte) 15, aRedstoneCircuitBlock.getOutputFacing()); - } else { - aRedstoneCircuitBlock.setRedstone((byte) 0, aRedstoneCircuitBlock.getOutputFacing()); - } - } else { - aRedstoneCircuitBlock.setRedstone((byte) 0, aRedstoneCircuitBlock.getOutputFacing()); - aCircuitData[5] = -1; - } - } - - public String getName() { - return "Repeater"; - } - - public String getDescription() { - return "Delays RS-Signal"; - } - - public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex) { - switch (aCircuitDataIndex) { - case 0: - return "Delay"; - } - 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; - } -} diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Timer.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Timer.java deleted file mode 100644 index 96a6f800b8..0000000000 --- a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Timer.java +++ /dev/null @@ -1,103 +0,0 @@ -package gregtech.common.redstonecircuits; - -import gregtech.api.interfaces.IRedstoneCircuitBlock; -import gregtech.api.util.GT_CircuitryBehavior; - -public class GT_Circuit_Timer - extends GT_CircuitryBehavior { - public GT_Circuit_Timer(int aIndex) { - super(aIndex); - } - - public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { - aCircuitData[0] = 2; - aCircuitData[1] = 1; - aCircuitData[2] = 2; - aCircuitData[4] = 0; - } - - public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { - if (aCircuitData[0] < 2) { - aCircuitData[0] = 2; - } - if (aCircuitData[1] < 1) { - aCircuitData[1] = 1; - } - if (aCircuitData[2] < 2) { - aCircuitData[2] = 2; - } - 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]) { - if (aCircuitData[1] > 1) { - if (aCircuitData[4] >= aCircuitData[0] + (aCircuitData[1] - 1) * aCircuitData[2]) { - aRedstoneCircuitBlock.setRedstone((byte) 15, aRedstoneCircuitBlock.getOutputFacing()); - aCircuitData[4] = 0; - } else { - aRedstoneCircuitBlock.setRedstone((byte) ((aCircuitData[4] - aCircuitData[0]) % aCircuitData[2] == 0 ? 15 : 0), aRedstoneCircuitBlock.getOutputFacing()); - } - } else { - aRedstoneCircuitBlock.setRedstone((byte) 15, aRedstoneCircuitBlock.getOutputFacing()); - aCircuitData[4] = 0; - } - } else { - aRedstoneCircuitBlock.setRedstone((byte) 0, aRedstoneCircuitBlock.getOutputFacing()); - } - } - - public String getName() { - return "Timer"; - } - - public String getDescription() { - return "Pulses Redstone"; - } - - public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex) { - switch (aCircuitDataIndex) { - case 0: - return "Delay"; - case 1: - return "Pulses"; - case 2: - return "Length"; - case 3: - return aCircuitData[aCircuitDataIndex] == 1 ? "RS => ON" : "RS => OFF"; - case 4: - return "Time"; - } - return ""; - } - - public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex) { - return false; - } - - public String getDataDisplay(int[] aCircuitData, int aCircuitDataIndex) { - if (aCircuitDataIndex == 3) { - return ""; - } - return null; - } -} -- cgit From 09add3e8ac3be54b1e6c068e87d4fb5143c6d785 Mon Sep 17 00:00:00 2001 From: Dream-Master Date: Tue, 21 Jun 2016 18:50:29 +0200 Subject: even with Blood asp experimental branch --- .../redstonecircuits/GT_Circuit_BasicLogic.java | 96 +++++++++++++++++++ .../common/redstonecircuits/GT_Circuit_BitAnd.java | 69 ++++++++++++++ .../GT_Circuit_CombinationLock.java | 101 ++++++++++++++++++++ .../common/redstonecircuits/GT_Circuit_Equals.java | 64 +++++++++++++ .../common/redstonecircuits/GT_Circuit_Pulser.java | 83 +++++++++++++++++ .../redstonecircuits/GT_Circuit_Randomizer.java | 80 ++++++++++++++++ .../redstonecircuits/GT_Circuit_RedstoneMeter.java | 86 +++++++++++++++++ .../redstonecircuits/GT_Circuit_Repeater.java | 79 ++++++++++++++++ .../common/redstonecircuits/GT_Circuit_Timer.java | 103 +++++++++++++++++++++ 9 files changed, 761 insertions(+) create mode 100644 src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BasicLogic.java create mode 100644 src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BitAnd.java create mode 100644 src/main/java/gregtech/common/redstonecircuits/GT_Circuit_CombinationLock.java create mode 100644 src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Equals.java create mode 100644 src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Pulser.java create mode 100644 src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Randomizer.java create mode 100644 src/main/java/gregtech/common/redstonecircuits/GT_Circuit_RedstoneMeter.java create mode 100644 src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Repeater.java create mode 100644 src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Timer.java (limited to 'src/main/java/gregtech/common/redstonecircuits') diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BasicLogic.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BasicLogic.java new file mode 100644 index 0000000000..ab99c1b941 --- /dev/null +++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BasicLogic.java @@ -0,0 +1,96 @@ +package gregtech.common.redstonecircuits; + +import gregtech.api.interfaces.IRedstoneCircuitBlock; +import gregtech.api.util.GT_CircuitryBehavior; + +public class GT_Circuit_BasicLogic + extends GT_CircuitryBehavior { + public GT_Circuit_BasicLogic(int aIndex) { + super(aIndex); + } + + public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { + aCircuitData[0] = 0; + } + + public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { + if (aCircuitData[0] < 0) { + aCircuitData[0] = 0; + } + if (aCircuitData[0] > 13) { + aCircuitData[0] = 13; + } + } + + public void onTick(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { + if (aCircuitData[0] < 2) { + aRedstoneCircuitBlock.setRedstone((byte) (aCircuitData[0] % 2 == (getAnyRedstone(aRedstoneCircuitBlock) ? 0 : 1) ? 15 : 0), aRedstoneCircuitBlock.getOutputFacing()); + } else if (aCircuitData[0] < 4) { + aRedstoneCircuitBlock.setRedstone((byte) (aCircuitData[0] % 2 == (getOneRedstone(aRedstoneCircuitBlock) ? 0 : 1) ? 15 : 0), aRedstoneCircuitBlock.getOutputFacing()); + } else if (aCircuitData[0] < 6) { + aRedstoneCircuitBlock.setRedstone((byte) (aCircuitData[0] % 2 == (getAllRedstone(aRedstoneCircuitBlock) ? 0 : 1) ? 15 : 0), aRedstoneCircuitBlock.getOutputFacing()); + } else if (aCircuitData[0] < 7) { + aRedstoneCircuitBlock.setRedstone((byte) (15 - getStrongestRedstone(aRedstoneCircuitBlock)), aRedstoneCircuitBlock.getOutputFacing()); + } else if (aCircuitData[0] < 9) { + aRedstoneCircuitBlock.setRedstone((byte) ((aCircuitData[0] % 2 == 0 ? 15 : 0) ^ (getStrongestRedstone(aRedstoneCircuitBlock) | getWeakestRedstone(aRedstoneCircuitBlock))), aRedstoneCircuitBlock.getOutputFacing()); + } else if (aCircuitData[0] < 11) { + aRedstoneCircuitBlock.setRedstone((byte) ((aCircuitData[0] % 2 == 0 ? 15 : 0) ^ getStrongestRedstone(aRedstoneCircuitBlock) ^ getWeakestRedstone(aRedstoneCircuitBlock)), aRedstoneCircuitBlock.getOutputFacing()); + } else if (aCircuitData[0] < 13) { + aRedstoneCircuitBlock.setRedstone((byte) ((aCircuitData[0] % 2 == 0 ? 15 : 0) ^ getStrongestRedstone(aRedstoneCircuitBlock) & getWeakestRedstone(aRedstoneCircuitBlock)), aRedstoneCircuitBlock.getOutputFacing()); + } else if (aCircuitData[0] < 14) { + aRedstoneCircuitBlock.setRedstone((byte) (getStrongestRedstone(aRedstoneCircuitBlock) ^ 0xF), aRedstoneCircuitBlock.getOutputFacing()); + } + } + + public String getName() { + return "Basic Logic"; + } + + public String getDescription() { + return "Regular Logic Gates"; + } + + public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex) { + if (aCircuitDataIndex == 0) { + switch (aCircuitData[0]) { + case 0: + return "OR"; + case 1: + return "NOR"; + case 2: + return "XOR"; + case 3: + return "XNOR"; + case 4: + return "AND"; + case 5: + return "NAND"; + case 6: + return "INVERT"; + case 7: + return "BIT_OR"; + case 8: + return "BIT_NOR"; + case 9: + return "BIT_XOR"; + case 10: + return "BIT_XNOR"; + case 11: + return "BIT_AND"; + case 12: + return "BIT_NAND"; + case 13: + return "BIT_INVERT"; + } + } + return ""; + } + + public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex) { + return false; + } + + public String getDataDisplay(int[] aCircuitData, int aCircuitDataIndex) { + return ""; + } +} diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BitAnd.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BitAnd.java new file mode 100644 index 0000000000..0a38f929d1 --- /dev/null +++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BitAnd.java @@ -0,0 +1,69 @@ +package gregtech.common.redstonecircuits; + +import gregtech.api.interfaces.IRedstoneCircuitBlock; +import gregtech.api.util.GT_CircuitryBehavior; + +public class GT_Circuit_BitAnd + extends GT_CircuitryBehavior { + public GT_Circuit_BitAnd(int aIndex) { + super(aIndex); + } + + public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { + aCircuitData[0] = 0; + aCircuitData[1] = 0; + aCircuitData[2] = 0; + aCircuitData[3] = 0; + } + + public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { + if (aCircuitData[0] < 0) { + aCircuitData[0] = 0; + } + if (aCircuitData[1] < 0) { + aCircuitData[1] = 0; + } + if (aCircuitData[2] < 0) { + aCircuitData[2] = 0; + } + if (aCircuitData[3] < 0) { + aCircuitData[3] = 0; + } + if (aCircuitData[0] > 1) { + aCircuitData[0] = 1; + } + if (aCircuitData[1] > 1) { + aCircuitData[1] = 1; + } + if (aCircuitData[2] > 1) { + aCircuitData[2] = 1; + } + if (aCircuitData[3] > 1) { + aCircuitData[3] = 1; + } + } + + public void onTick(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { + aRedstoneCircuitBlock.setRedstone((byte) ((getStrongestRedstone(aRedstoneCircuitBlock) & (aCircuitData[0] | aCircuitData[1] << 1 | aCircuitData[2] << 2 | aCircuitData[3] << 3)) != 0 ? 15 : 0), aRedstoneCircuitBlock.getOutputFacing()); + } + + public String getName() { + return "Hardcode Bit-AND"; + } + + public String getDescription() { + return "( signal & this ) != 0"; + } + + public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex) { + return "Bit " + aCircuitDataIndex + ":"; + } + + public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex) { + return false; + } + + public String getDataDisplay(int[] aCircuitData, int aCircuitDataIndex) { + return aCircuitData[aCircuitDataIndex] == 0 ? "OFF" : "ON"; + } +} diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_CombinationLock.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_CombinationLock.java new file mode 100644 index 0000000000..1846582bf3 --- /dev/null +++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_CombinationLock.java @@ -0,0 +1,101 @@ +package gregtech.common.redstonecircuits; + +import gregtech.api.interfaces.IRedstoneCircuitBlock; +import gregtech.api.util.GT_CircuitryBehavior; + +public class GT_Circuit_CombinationLock + extends GT_CircuitryBehavior { + public GT_Circuit_CombinationLock(int aIndex) { + super(aIndex); + } + + public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { + aCircuitData[0] = 1; + aCircuitData[1] = 0; + aCircuitData[2] = 0; + aCircuitData[3] = 0; + aCircuitData[4] = 0; + aCircuitData[5] = 0; + } + + public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { + if (aCircuitData[0] < 1) { + aCircuitData[0] = 1; + } + if (aCircuitData[1] < 0) { + aCircuitData[1] = 0; + } + if (aCircuitData[2] < 0) { + aCircuitData[2] = 0; + } + if (aCircuitData[3] < 0) { + aCircuitData[3] = 0; + } + if (aCircuitData[0] > 15) { + aCircuitData[0] = 15; + } + if (aCircuitData[1] > 15) { + aCircuitData[1] = 15; + } + if (aCircuitData[2] > 15) { + aCircuitData[2] = 15; + } + if (aCircuitData[3] > 15) { + aCircuitData[3] = 15; + } + if (aCircuitData[4] < 0) { + aCircuitData[4] = 0; + } + if (aCircuitData[4] > 3) { + aCircuitData[4] = 3; + } + if (aCircuitData[5] < 0) { + aCircuitData[5] = 0; + } + } + + public void onTick(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { + while ((aCircuitData[aCircuitData[4]] == 0) && (aCircuitData[4] < 4)) { + aCircuitData[4] += 1; + } + if (aCircuitData[4] < 4) { + int tRedstone = getStrongestRedstone(aRedstoneCircuitBlock); + if (tRedstone > 0) { + if (aCircuitData[5] == 0) { + if (tRedstone == aCircuitData[aCircuitData[4]]) { + aCircuitData[4] += 1; + } else { + aCircuitData[4] = 0; + } + } + aCircuitData[5] = 1; + } else { + aCircuitData[5] = 0; + } + aRedstoneCircuitBlock.setRedstone((byte) 0, aRedstoneCircuitBlock.getOutputFacing()); + } else { + aRedstoneCircuitBlock.setRedstone((byte) 15, aRedstoneCircuitBlock.getOutputFacing()); + aCircuitData[4] = 0; + } + } + + public String getName() { + return "Combination Lock"; + } + + public String getDescription() { + return "Checks Combinations"; + } + + public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex) { + return "Power " + aCircuitDataIndex; + } + + public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex) { + return false; + } + + public String getDataDisplay(int[] aCircuitData, int aCircuitDataIndex) { + return null; + } +} diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Equals.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Equals.java new file mode 100644 index 0000000000..f328b6adde --- /dev/null +++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Equals.java @@ -0,0 +1,64 @@ +package gregtech.common.redstonecircuits; + +import gregtech.api.interfaces.IRedstoneCircuitBlock; +import gregtech.api.util.GT_CircuitryBehavior; + +public class GT_Circuit_Equals + extends GT_CircuitryBehavior { + public GT_Circuit_Equals(int aIndex) { + super(aIndex); + } + + public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { + aCircuitData[0] = 0; + aCircuitData[1] = 0; + } + + 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[3] = 0; + } + if (aCircuitData[1] > 1) { + aCircuitData[3] = 1; + } + } + + public void onTick(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { + aRedstoneCircuitBlock.setRedstone(((byte) ((aCircuitData[1] != 0 ? getStrongestRedstone(aRedstoneCircuitBlock) == aCircuitData[0] : getStrongestRedstone(aRedstoneCircuitBlock) != aCircuitData[0]) ? 0 : 15)), aRedstoneCircuitBlock.getOutputFacing()); + } + + public String getName() { + return "Equals"; + } + + public String getDescription() { + return "signal == this"; + } + + public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex) { + switch (aCircuitDataIndex) { + case 0: + return "Signal"; + case 1: + return aCircuitData[1] == 0 ? "Equal" : "Unequal"; + } + 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; + } +} diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Pulser.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Pulser.java new file mode 100644 index 0000000000..815a7791cf --- /dev/null +++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Pulser.java @@ -0,0 +1,83 @@ +package gregtech.common.redstonecircuits; + +import gregtech.api.interfaces.IRedstoneCircuitBlock; +import gregtech.api.util.GT_CircuitryBehavior; + +public class GT_Circuit_Pulser + extends GT_CircuitryBehavior { + public GT_Circuit_Pulser(int aIndex) { + super(aIndex); + } + + public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { + aCircuitData[0] = 1; + aCircuitData[1] = 16; + aCircuitData[4] = 0; + } + + public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { + if (aCircuitData[0] < 1) { + aCircuitData[0] = 1; + } + if (aCircuitData[1] < 0) { + aCircuitData[1] = 0; + } + if (aCircuitData[1] > 16) { + aCircuitData[1] = 16; + } + if (aCircuitData[4] < 0) { + aCircuitData[4] = 0; + } + } + + public void onTick(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { + byte tRedstone = aCircuitData[1] == 0 ? getWeakestNonZeroRedstone(aRedstoneCircuitBlock) : getStrongestRedstone(aRedstoneCircuitBlock); + if (aCircuitData[4] == 0) { + aCircuitData[5] = tRedstone; + } + if ((tRedstone > 0) || (aCircuitData[4] > 0)) { + int tmp40_39 = 4; + int[] tmp40_38 = aCircuitData; + int tmp42_41 = tmp40_38[tmp40_39]; + tmp40_38[tmp40_39] = (tmp42_41 + 1); + if ((tmp42_41 >= aCircuitData[0]) && (tRedstone <= 0)) { + aCircuitData[4] = 0; + } + } + aRedstoneCircuitBlock.setRedstone((byte) ((aCircuitData[4] > 0) && (aCircuitData[4] <= aCircuitData[0]) ? (byte) aCircuitData[1] : (aCircuitData[1] <= 0) || (aCircuitData[1] > 15) ? (byte) aCircuitData[5] : 0), aRedstoneCircuitBlock.getOutputFacing()); + } + + public String getName() { + return "Pulser"; + } + + public String getDescription() { + return "Limits&Enlengths"; + } + + public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex) { + switch (aCircuitDataIndex) { + case 0: + return "Length"; + case 1: + return "RS Out"; + } + return ""; + } + + public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex) { + return false; + } + + public String getDataDisplay(int[] aCircuitData, int aCircuitDataIndex) { + if (aCircuitDataIndex == 1) { + if (aCircuitData[aCircuitDataIndex] == 16) { + return "HIGHEST"; + } + if (aCircuitData[aCircuitDataIndex] == 0) { + return "LOWEST"; + } + } + return aCircuitDataIndex > 1 ? "" : null; + } +} 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..b86981e5f9 --- /dev/null +++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Randomizer.java @@ -0,0 +1,80 @@ +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; + } +} 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..767b9ac8d0 --- /dev/null +++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_RedstoneMeter.java @@ -0,0 +1,86 @@ +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; + } +} diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Repeater.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Repeater.java new file mode 100644 index 0000000000..e501bb0258 --- /dev/null +++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Repeater.java @@ -0,0 +1,79 @@ +package gregtech.common.redstonecircuits; + +import gregtech.api.interfaces.IRedstoneCircuitBlock; +import gregtech.api.util.GT_CircuitryBehavior; + +public class GT_Circuit_Repeater + extends GT_CircuitryBehavior { + public GT_Circuit_Repeater(int aIndex) { + super(aIndex); + } + + public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { + aCircuitData[0] = 1; + aCircuitData[4] = 0; + aCircuitData[5] = -1; + } + + public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { + if (aCircuitData[0] < 1) { + aCircuitData[0] = 1; + } + if (aCircuitData[4] < 0) { + aCircuitData[4] = 0; + } + if (aCircuitData[5] < -1) { + aCircuitData[5] = -1; + } + } + + public void onTick(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { + if (getAnyRedstone(aRedstoneCircuitBlock)) { + aCircuitData[4] += 1; + if (aCircuitData[5] < 0) { + aCircuitData[5] = 0; + } + } + if ((aCircuitData[5] >= 0) && (aCircuitData[5] < aCircuitData[0])) { + aCircuitData[5] += 1; + } + if (aCircuitData[4] > 0) { + if (aCircuitData[5] >= aCircuitData[0]) { + aCircuitData[4] -= 1; + aRedstoneCircuitBlock.setRedstone((byte) 15, aRedstoneCircuitBlock.getOutputFacing()); + } else { + aRedstoneCircuitBlock.setRedstone((byte) 0, aRedstoneCircuitBlock.getOutputFacing()); + } + } else { + aRedstoneCircuitBlock.setRedstone((byte) 0, aRedstoneCircuitBlock.getOutputFacing()); + aCircuitData[5] = -1; + } + } + + public String getName() { + return "Repeater"; + } + + public String getDescription() { + return "Delays RS-Signal"; + } + + public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex) { + switch (aCircuitDataIndex) { + case 0: + return "Delay"; + } + 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; + } +} diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Timer.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Timer.java new file mode 100644 index 0000000000..c012ea2afb --- /dev/null +++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Timer.java @@ -0,0 +1,103 @@ +package gregtech.common.redstonecircuits; + +import gregtech.api.interfaces.IRedstoneCircuitBlock; +import gregtech.api.util.GT_CircuitryBehavior; + +public class GT_Circuit_Timer + extends GT_CircuitryBehavior { + public GT_Circuit_Timer(int aIndex) { + super(aIndex); + } + + public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { + aCircuitData[0] = 2; + aCircuitData[1] = 1; + aCircuitData[2] = 2; + aCircuitData[4] = 0; + } + + public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { + if (aCircuitData[0] < 2) { + aCircuitData[0] = 2; + } + if (aCircuitData[1] < 1) { + aCircuitData[1] = 1; + } + if (aCircuitData[2] < 2) { + aCircuitData[2] = 2; + } + 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]) { + if (aCircuitData[1] > 1) { + if (aCircuitData[4] >= aCircuitData[0] + (aCircuitData[1] - 1) * aCircuitData[2]) { + aRedstoneCircuitBlock.setRedstone((byte) 15, aRedstoneCircuitBlock.getOutputFacing()); + aCircuitData[4] = 0; + } else { + aRedstoneCircuitBlock.setRedstone((byte) ((aCircuitData[4] - aCircuitData[0]) % aCircuitData[2] == 0 ? 15 : 0), aRedstoneCircuitBlock.getOutputFacing()); + } + } else { + aRedstoneCircuitBlock.setRedstone((byte) 15, aRedstoneCircuitBlock.getOutputFacing()); + aCircuitData[4] = 0; + } + } else { + aRedstoneCircuitBlock.setRedstone((byte) 0, aRedstoneCircuitBlock.getOutputFacing()); + } + } + + public String getName() { + return "Timer"; + } + + public String getDescription() { + return "Pulses Redstone"; + } + + public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex) { + switch (aCircuitDataIndex) { + case 0: + return "Delay"; + case 1: + return "Pulses"; + case 2: + return "Length"; + case 3: + return aCircuitData[aCircuitDataIndex] == 1 ? "RS => ON" : "RS => OFF"; + case 4: + return "Time"; + } + return ""; + } + + public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex) { + return false; + } + + public String getDataDisplay(int[] aCircuitData, int aCircuitDataIndex) { + if (aCircuitDataIndex == 3) { + return ""; + } + return null; + } +} -- cgit