aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/redstonecircuits
diff options
context:
space:
mode:
authorRaven Szewczyk <git@eigenraven.me>2023-04-01 20:06:12 +0100
committerGitHub <noreply@github.com>2023-04-01 19:06:12 +0000
commitb088958c9f6935d356b6c087c8e8106b400aa24f (patch)
treebe608fac08ba158f1226a4fb9f5b1ed459bac2a9 /src/main/java/gregtech/common/redstonecircuits
parente52cd9c3458584e58073df5cd9cde1302994f266 (diff)
downloadGT5-Unofficial-b088958c9f6935d356b6c087c8e8106b400aa24f.tar.gz
GT5-Unofficial-b088958c9f6935d356b6c087c8e8106b400aa24f.tar.bz2
GT5-Unofficial-b088958c9f6935d356b6c087c8e8106b400aa24f.zip
Jabel, Generic injection and mostly automatic code cleanup (#1829)
* Enable Jabel&Generic injection, fix type error caused by this * add missing <> * Infer generic types automatically * Parametrize cast types * Use enhanced for loops * Unnecessary boxing * Unnecessary unboxing * Use Objects.equals * Explicit type can be replaced with `<>` * Collapse identical catch blocks * Add SafeVarargs where applicable * Anonymous type can be replaced with lambda * Use List.sort directly * Lambda can be a method reference * Statement lambda can be an expression lambda * Use string switches * Instanceof pattern matching * Text block can be used * Migrate to enhanced switch * Java style array declarations * Unnecessary toString() * More unnecessary String conversions * Unnecessary modifiers * Unnecessary semicolons * Fix duplicate conditions * Extract common code from if branches * Replace switches with ifs for 1-2 cases * Inner class may be static * Minor performance issues * Replace string appending in loops with string builders * Fix IntelliJ using the wrong empty list method * Use Long.compare * Generic arguments: getSubItems * Generic arguments: getSubBlocks * Raw types warnings * Fix remaining missing generics * Too weak variable type leads to unnecessary cast * Redundant type casts * Redundant array length check * Redundant vararg arrays * Manual min/max implementations * A couple missed inspections * Goodbye explosion power ternary ladder * Apply spotless * Get rid of the other two big ternary ladders * Binary search explosion power * Don't overcomplicate things
Diffstat (limited to 'src/main/java/gregtech/common/redstonecircuits')
-rw-r--r--src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BasicLogic.java42
-rw-r--r--src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Equals.java12
-rw-r--r--src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Pulser.java16
-rw-r--r--src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Randomizer.java15
-rw-r--r--src/main/java/gregtech/common/redstonecircuits/GT_Circuit_RedstoneMeter.java22
-rw-r--r--src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Timer.java21
6 files changed, 63 insertions, 65 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 ad9b0798dc..3e179aee11 100644
--- a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BasicLogic.java
+++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BasicLogic.java
@@ -78,34 +78,48 @@ public class GT_Circuit_BasicLogic extends GT_CircuitryBehavior {
public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex) {
if (aCircuitDataIndex == 0) {
switch (aCircuitData[0]) {
- case 0:
+ case 0 -> {
return "OR";
- case 1:
+ }
+ case 1 -> {
return "NOR";
- case 2:
+ }
+ case 2 -> {
return "XOR";
- case 3:
+ }
+ case 3 -> {
return "XNOR";
- case 4:
+ }
+ case 4 -> {
return "AND";
- case 5:
+ }
+ case 5 -> {
return "NAND";
- case 6:
+ }
+ case 6 -> {
return "INVERT";
- case 7:
+ }
+ case 7 -> {
return "BIT_OR";
- case 8:
+ }
+ case 8 -> {
return "BIT_NOR";
- case 9:
+ }
+ case 9 -> {
return "BIT_XOR";
- case 10:
+ }
+ case 10 -> {
return "BIT_XNOR";
- case 11:
+ }
+ case 11 -> {
return "BIT_AND";
- case 12:
+ }
+ case 12 -> {
return "BIT_NAND";
- case 13:
+ }
+ case 13 -> {
return "BIT_INVERT";
+ }
}
}
return "";
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 e162040f00..5e230d3363 100644
--- a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Equals.java
+++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Equals.java
@@ -52,13 +52,11 @@ public class GT_Circuit_Equals extends GT_CircuitryBehavior {
@Override
public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex) {
- switch (aCircuitDataIndex) {
- case 0:
- return "Signal";
- case 1:
- return aCircuitData[1] == 0 ? "Equal" : "Unequal";
- }
- return "";
+ return switch (aCircuitDataIndex) {
+ case 0 -> "Signal";
+ case 1 -> aCircuitData[1] == 0 ? "Equal" : "Unequal";
+ default -> "";
+ };
}
@Override
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 7f6858b09f..672fddf7fb 100644
--- a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Pulser.java
+++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Pulser.java
@@ -49,8 +49,8 @@ public class GT_Circuit_Pulser extends GT_CircuitryBehavior {
}
}
aRedstoneCircuitBlock.setRedstone(
- (byte) ((aCircuitData[4] > 0) && (aCircuitData[4] <= aCircuitData[0]) ? (byte) aCircuitData[1]
- : (aCircuitData[1] <= 0) || (aCircuitData[1] > 15) ? (byte) aCircuitData[5] : 0),
+ (aCircuitData[4] > 0) && (aCircuitData[4] <= aCircuitData[0]) ? (byte) aCircuitData[1]
+ : (aCircuitData[1] <= 0) || (aCircuitData[1] > 15) ? (byte) aCircuitData[5] : 0,
aRedstoneCircuitBlock.getOutputFacing());
}
@@ -66,13 +66,11 @@ public class GT_Circuit_Pulser extends GT_CircuitryBehavior {
@Override
public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex) {
- switch (aCircuitDataIndex) {
- case 0:
- return "Length";
- case 1:
- return "RS Out";
- }
- return "";
+ return switch (aCircuitDataIndex) {
+ case 0 -> "Length";
+ case 1 -> "RS Out";
+ default -> "";
+ };
}
@Override
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 cac5263454..6557f0277c 100644
--- a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Randomizer.java
+++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Randomizer.java
@@ -64,15 +64,12 @@ public class GT_Circuit_Randomizer extends GT_CircuitryBehavior {
@Override
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 "";
+ return switch (aCircuitDataIndex) {
+ case 0 -> "Delay";
+ case 3 -> aCircuitData[aCircuitDataIndex] == 1 ? "RS => ON" : "RS => OFF";
+ case 4 -> "Status";
+ default -> "";
+ };
}
@Override
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 7755630b26..491fe72c87 100644
--- a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_RedstoneMeter.java
+++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_RedstoneMeter.java
@@ -52,8 +52,8 @@ public class GT_Circuit_RedstoneMeter extends GT_CircuitryBehavior {
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),
+ ((tRedstone >= aCircuitData[0]) && (tRedstone <= aCircuitData[1]) ? 1 : 0)
+ != (aCircuitData[2] != 0 ? 1 : 0) ? (byte) aCircuitData[3] : 0,
aRedstoneCircuitBlock.getOutputFacing());
}
@@ -69,17 +69,13 @@ public class GT_Circuit_RedstoneMeter extends GT_CircuitryBehavior {
@Override
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 "";
+ return switch (aCircuitDataIndex) {
+ case 0 -> "Lower";
+ case 1 -> "Upper";
+ case 2 -> "Invert:";
+ case 3 -> "RS Out:";
+ default -> "";
+ };
}
@Override
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 c592d10e99..b7ff2096c6 100644
--- a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Timer.java
+++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Timer.java
@@ -83,19 +83,14 @@ public class GT_Circuit_Timer extends GT_CircuitryBehavior {
@Override
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 "";
+ return switch (aCircuitDataIndex) {
+ case 0 -> "Delay";
+ case 1 -> "Pulses";
+ case 2 -> "Length";
+ case 3 -> aCircuitData[aCircuitDataIndex] == 1 ? "RS => ON" : "RS => OFF";
+ case 4 -> "Time";
+ default -> "";
+ };
}
@Override