diff options
author | GlodBlock <60341015+GlodBlock@users.noreply.github.com> | 2021-09-27 15:39:31 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-27 15:39:31 +0800 |
commit | 097438be70486735a8940dd5ce4e9484b6d951af (patch) | |
tree | 90f26b34d5059eb9858d9c82aabbd5373638acfa /src/main/java/gregtech/common/redstonecircuits | |
parent | a0a77f0b9868a4ca8a3df8ae8d50b4dcfb4030db (diff) | |
parent | 92433a5b85bb2fcca541ac25ca4033fac24f841e (diff) | |
download | GT5-Unofficial-097438be70486735a8940dd5ce4e9484b6d951af.tar.gz GT5-Unofficial-097438be70486735a8940dd5ce4e9484b6d951af.tar.bz2 GT5-Unofficial-097438be70486735a8940dd5ce4e9484b6d951af.zip |
Merge pull request #1 from GlodBlock/fix-crack-recipe-check
Fix crack recipe check
Diffstat (limited to 'src/main/java/gregtech/common/redstonecircuits')
9 files changed, 83 insertions, 20 deletions
diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BasicLogic.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BasicLogic.java index ab99c1b941..ab4f7eda69 100644 --- a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BasicLogic.java +++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BasicLogic.java @@ -3,16 +3,17 @@ package gregtech.common.redstonecircuits; import gregtech.api.interfaces.IRedstoneCircuitBlock; import gregtech.api.util.GT_CircuitryBehavior; -public class GT_Circuit_BasicLogic - extends GT_CircuitryBehavior { +public class GT_Circuit_BasicLogic extends GT_CircuitryBehavior { public GT_Circuit_BasicLogic(int aIndex) { super(aIndex); } + @Override public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { aCircuitData[0] = 0; } + @Override public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { if (aCircuitData[0] < 0) { aCircuitData[0] = 0; @@ -22,6 +23,7 @@ public class GT_Circuit_BasicLogic } } + @Override 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()); @@ -42,14 +44,17 @@ public class GT_Circuit_BasicLogic } } + @Override public String getName() { return "Basic Logic"; } + @Override public String getDescription() { return "Regular Logic Gates"; } + @Override public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex) { if (aCircuitDataIndex == 0) { switch (aCircuitData[0]) { @@ -86,10 +91,12 @@ public class GT_Circuit_BasicLogic return ""; } + @Override public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex) { return false; } + @Override 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 index 0a38f929d1..2ea61ddf51 100644 --- a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BitAnd.java +++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BitAnd.java @@ -3,12 +3,12 @@ package gregtech.common.redstonecircuits; import gregtech.api.interfaces.IRedstoneCircuitBlock; import gregtech.api.util.GT_CircuitryBehavior; -public class GT_Circuit_BitAnd - extends GT_CircuitryBehavior { +public class GT_Circuit_BitAnd extends GT_CircuitryBehavior { public GT_Circuit_BitAnd(int aIndex) { super(aIndex); } + @Override public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { aCircuitData[0] = 0; aCircuitData[1] = 0; @@ -16,6 +16,7 @@ public class GT_Circuit_BitAnd aCircuitData[3] = 0; } + @Override public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { if (aCircuitData[0] < 0) { aCircuitData[0] = 0; @@ -43,26 +44,32 @@ public class GT_Circuit_BitAnd } } + @Override 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()); } + @Override public String getName() { return "Hardcode Bit-AND"; } + @Override public String getDescription() { return "( signal & this ) != 0"; } + @Override public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex) { return "Bit " + aCircuitDataIndex + ":"; } + @Override public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex) { return false; } + @Override 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 index 1846582bf3..827e4a341e 100644 --- a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_CombinationLock.java +++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_CombinationLock.java @@ -3,12 +3,12 @@ package gregtech.common.redstonecircuits; import gregtech.api.interfaces.IRedstoneCircuitBlock; import gregtech.api.util.GT_CircuitryBehavior; -public class GT_Circuit_CombinationLock - extends GT_CircuitryBehavior { +public class GT_Circuit_CombinationLock extends GT_CircuitryBehavior { public GT_Circuit_CombinationLock(int aIndex) { super(aIndex); } + @Override public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { aCircuitData[0] = 1; aCircuitData[1] = 0; @@ -18,6 +18,7 @@ public class GT_Circuit_CombinationLock aCircuitData[5] = 0; } + @Override public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { if (aCircuitData[0] < 1) { aCircuitData[0] = 1; @@ -54,6 +55,7 @@ public class GT_Circuit_CombinationLock } } + @Override public void onTick(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { while ((aCircuitData[aCircuitData[4]] == 0) && (aCircuitData[4] < 4)) { aCircuitData[4] += 1; @@ -79,22 +81,27 @@ public class GT_Circuit_CombinationLock } } + @Override public String getName() { return "Combination Lock"; } + @Override public String getDescription() { return "Checks Combinations"; } + @Override public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex) { return "Power " + aCircuitDataIndex; } + @Override public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex) { return false; } + @Override 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 index f328b6adde..f5bd99e09e 100644 --- a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Equals.java +++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Equals.java @@ -3,17 +3,18 @@ package gregtech.common.redstonecircuits; import gregtech.api.interfaces.IRedstoneCircuitBlock; import gregtech.api.util.GT_CircuitryBehavior; -public class GT_Circuit_Equals - extends GT_CircuitryBehavior { +public class GT_Circuit_Equals extends GT_CircuitryBehavior { public GT_Circuit_Equals(int aIndex) { super(aIndex); } + @Override public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { aCircuitData[0] = 0; aCircuitData[1] = 0; } + @Override public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { if (aCircuitData[0] < 0) { aCircuitData[0] = 0; @@ -29,18 +30,22 @@ public class GT_Circuit_Equals } } + @Override 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()); + aRedstoneCircuitBlock.setRedstone(((byte) (((aCircuitData[1] != 0) == (getStrongestRedstone(aRedstoneCircuitBlock) == aCircuitData[0])) ? 0 : 15)), aRedstoneCircuitBlock.getOutputFacing()); } + @Override public String getName() { return "Equals"; } + @Override public String getDescription() { return "signal == this"; } + @Override public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex) { switch (aCircuitDataIndex) { case 0: @@ -51,10 +56,12 @@ public class GT_Circuit_Equals return ""; } + @Override public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex) { return false; } + @Override public String getDataDisplay(int[] aCircuitData, int aCircuitDataIndex) { if (aCircuitDataIndex > 0) { return ""; diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Pulser.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Pulser.java index 815a7791cf..d1360df7cb 100644 --- a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Pulser.java +++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Pulser.java @@ -9,12 +9,14 @@ public class GT_Circuit_Pulser super(aIndex); } + @Override public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { aCircuitData[0] = 1; aCircuitData[1] = 16; aCircuitData[4] = 0; } + @Override public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { if (aCircuitData[0] < 1) { aCircuitData[0] = 1; @@ -30,6 +32,7 @@ public class GT_Circuit_Pulser } } + @Override public void onTick(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { byte tRedstone = aCircuitData[1] == 0 ? getWeakestNonZeroRedstone(aRedstoneCircuitBlock) : getStrongestRedstone(aRedstoneCircuitBlock); if (aCircuitData[4] == 0) { @@ -47,14 +50,17 @@ public class GT_Circuit_Pulser 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()); } + @Override public String getName() { return "Pulser"; } + @Override public String getDescription() { return "Limits&Enlengths"; } + @Override public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex) { switch (aCircuitDataIndex) { case 0: @@ -65,10 +71,12 @@ public class GT_Circuit_Pulser return ""; } + @Override public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex) { return false; } + @Override public String getDataDisplay(int[] aCircuitData, int aCircuitDataIndex) { if (aCircuitDataIndex == 1) { if (aCircuitData[aCircuitDataIndex] == 16) { diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Randomizer.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Randomizer.java index b86981e5f9..a04e2e94d1 100644 --- a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Randomizer.java +++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Randomizer.java @@ -3,17 +3,18 @@ package gregtech.common.redstonecircuits; import gregtech.api.interfaces.IRedstoneCircuitBlock; import gregtech.api.util.GT_CircuitryBehavior; -public class GT_Circuit_Randomizer - extends GT_CircuitryBehavior { +public class GT_Circuit_Randomizer extends GT_CircuitryBehavior { public GT_Circuit_Randomizer(int aIndex) { super(aIndex); } + @Override public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { aCircuitData[0] = 1; aCircuitData[4] = 0; } + @Override public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { if (aCircuitData[0] < 1) { aCircuitData[0] = 1; @@ -29,6 +30,7 @@ public class GT_Circuit_Randomizer } } + @Override public void onTick(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { if (aCircuitData[3] == 1) { if (getAnyRedstone(aRedstoneCircuitBlock)) { @@ -47,14 +49,17 @@ public class GT_Circuit_Randomizer } } + @Override public String getName() { return "Randomizer"; } + @Override public String getDescription() { return "Randomizes Redstone"; } + @Override public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex) { switch (aCircuitDataIndex) { case 0: @@ -67,10 +72,12 @@ public class GT_Circuit_Randomizer return ""; } + @Override public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex) { return false; } + @Override public String getDataDisplay(int[] aCircuitData, int aCircuitDataIndex) { if (aCircuitDataIndex != 0) { return ""; diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_RedstoneMeter.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_RedstoneMeter.java index 767b9ac8d0..973e6f3963 100644 --- a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_RedstoneMeter.java +++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_RedstoneMeter.java @@ -3,12 +3,12 @@ package gregtech.common.redstonecircuits; import gregtech.api.interfaces.IRedstoneCircuitBlock; import gregtech.api.util.GT_CircuitryBehavior; -public class GT_Circuit_RedstoneMeter - extends GT_CircuitryBehavior { +public class GT_Circuit_RedstoneMeter extends GT_CircuitryBehavior { public GT_Circuit_RedstoneMeter(int aIndex) { super(aIndex); } + @Override public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { aCircuitData[0] = 1; aCircuitData[1] = 15; @@ -16,6 +16,7 @@ public class GT_Circuit_RedstoneMeter aCircuitData[3] = 15; } + @Override public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { if (aCircuitData[0] < 0) { aCircuitData[0] = 0; @@ -46,19 +47,23 @@ public class GT_Circuit_RedstoneMeter } } + @Override 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()); } + @Override public String getName() { return "Redstone Meter"; } + @Override public String getDescription() { return "Checks Boundaries"; } + @Override public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex) { switch (aCircuitDataIndex) { case 0: @@ -73,10 +78,12 @@ public class GT_Circuit_RedstoneMeter return ""; } + @Override public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex) { return false; } + @Override public String getDataDisplay(int[] aCircuitData, int aCircuitDataIndex) { if (aCircuitDataIndex == 2) { return aCircuitData[2] == 0 ? "OFF" : "ON"; diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Repeater.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Repeater.java index e501bb0258..61432610a9 100644 --- a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Repeater.java +++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Repeater.java @@ -3,18 +3,19 @@ package gregtech.common.redstonecircuits; import gregtech.api.interfaces.IRedstoneCircuitBlock; import gregtech.api.util.GT_CircuitryBehavior; -public class GT_Circuit_Repeater - extends GT_CircuitryBehavior { +public class GT_Circuit_Repeater extends GT_CircuitryBehavior { public GT_Circuit_Repeater(int aIndex) { super(aIndex); } + @Override public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { aCircuitData[0] = 1; aCircuitData[4] = 0; aCircuitData[5] = -1; } + @Override public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { if (aCircuitData[0] < 1) { aCircuitData[0] = 1; @@ -27,6 +28,7 @@ public class GT_Circuit_Repeater } } + @Override public void onTick(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { if (getAnyRedstone(aRedstoneCircuitBlock)) { aCircuitData[4] += 1; @@ -50,26 +52,30 @@ public class GT_Circuit_Repeater } } + @Override public String getName() { return "Repeater"; } + @Override public String getDescription() { return "Delays RS-Signal"; } + @Override public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex) { - switch (aCircuitDataIndex) { - case 0: - return "Delay"; + if (aCircuitDataIndex == 0) { + return "Delay"; } return ""; } + @Override public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex) { return false; } + @Override public String getDataDisplay(int[] aCircuitData, int aCircuitDataIndex) { if (aCircuitDataIndex > 0) { return ""; diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Timer.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Timer.java index c012ea2afb..57af0c4598 100644 --- a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Timer.java +++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Timer.java @@ -3,12 +3,12 @@ package gregtech.common.redstonecircuits; import gregtech.api.interfaces.IRedstoneCircuitBlock; import gregtech.api.util.GT_CircuitryBehavior; -public class GT_Circuit_Timer - extends GT_CircuitryBehavior { +public class GT_Circuit_Timer extends GT_CircuitryBehavior { public GT_Circuit_Timer(int aIndex) { super(aIndex); } + @Override public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { aCircuitData[0] = 2; aCircuitData[1] = 1; @@ -16,6 +16,7 @@ public class GT_Circuit_Timer aCircuitData[4] = 0; } + @Override public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { if (aCircuitData[0] < 2) { aCircuitData[0] = 2; @@ -37,6 +38,7 @@ public class GT_Circuit_Timer } } + @Override public void onTick(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock) { if (aCircuitData[3] == 1) { if (getAnyRedstone(aRedstoneCircuitBlock)) { @@ -66,14 +68,17 @@ public class GT_Circuit_Timer } } + @Override public String getName() { return "Timer"; } + @Override public String getDescription() { return "Pulses Redstone"; } + @Override public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex) { switch (aCircuitDataIndex) { case 0: @@ -90,10 +95,12 @@ public class GT_Circuit_Timer return ""; } + @Override public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex) { return false; } + @Override public String getDataDisplay(int[] aCircuitData, int aCircuitDataIndex) { if (aCircuitDataIndex == 3) { return ""; |