aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/graphs
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/api/graphs
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/api/graphs')
-rw-r--r--src/main/java/gregtech/api/graphs/GenerateNodeMap.java3
-rw-r--r--src/main/java/gregtech/api/graphs/GenerateNodeMapPower.java10
-rw-r--r--src/main/java/gregtech/api/graphs/Node.java2
-rw-r--r--src/main/java/gregtech/api/graphs/PowerNodes.java3
-rw-r--r--src/main/java/gregtech/api/graphs/consumers/NodeEnergyReceiver.java35
-rw-r--r--src/main/java/gregtech/api/graphs/paths/PowerNodePath.java4
6 files changed, 11 insertions, 46 deletions
diff --git a/src/main/java/gregtech/api/graphs/GenerateNodeMap.java b/src/main/java/gregtech/api/graphs/GenerateNodeMap.java
index fba74b0aec..b64020f33d 100644
--- a/src/main/java/gregtech/api/graphs/GenerateNodeMap.java
+++ b/src/main/java/gregtech/api/graphs/GenerateNodeMap.java
@@ -18,8 +18,7 @@ public abstract class GenerateNodeMap {
// clearing the node map to make sure it is gone on reset
public static void clearNodeMap(Node aNode, int aReturnNodeValue) {
- if (aNode.mTileEntity instanceof BaseMetaPipeEntity) {
- final BaseMetaPipeEntity tPipe = (BaseMetaPipeEntity) aNode.mTileEntity;
+ if (aNode.mTileEntity instanceof BaseMetaPipeEntity tPipe) {
tPipe.setNode(null);
tPipe.setNodePath(null);
if (aNode.mSelfPath != null) {
diff --git a/src/main/java/gregtech/api/graphs/GenerateNodeMapPower.java b/src/main/java/gregtech/api/graphs/GenerateNodeMapPower.java
index 26c3c60ef1..67591040e9 100644
--- a/src/main/java/gregtech/api/graphs/GenerateNodeMapPower.java
+++ b/src/main/java/gregtech/api/graphs/GenerateNodeMapPower.java
@@ -39,16 +39,14 @@ public class GenerateNodeMapPower extends GenerateNodeMap {
@Override
protected boolean addConsumer(TileEntity aTileEntity, byte aSide, int aNodeValue,
ArrayList<ConsumerNode> aConsumers) {
- if (aTileEntity instanceof BaseMetaTileEntity) {
- BaseMetaTileEntity tBaseTileEntity = (BaseMetaTileEntity) aTileEntity;
+ if (aTileEntity instanceof BaseMetaTileEntity tBaseTileEntity) {
if (tBaseTileEntity.inputEnergyFrom(aSide, false)) {
ConsumerNode tConsumerNode = new NodeGTBaseMetaTile(aNodeValue, tBaseTileEntity, aSide, aConsumers);
aConsumers.add(tConsumerNode);
return true;
}
- } else if (aTileEntity instanceof IEnergyConnected) {
- IEnergyConnected tTileEntity = (IEnergyConnected) aTileEntity;
+ } else if (aTileEntity instanceof IEnergyConnected tTileEntity) {
if (tTileEntity.inputEnergyFrom(aSide, false)) {
ConsumerNode tConsumerNode = new NodeEnergyConnected(aNodeValue, tTileEntity, aSide, aConsumers);
aConsumers.add(tConsumerNode);
@@ -97,8 +95,8 @@ public class GenerateNodeMapPower extends GenerateNodeMap {
@Override
protected Node getEmptyNode(int aNodeValue, byte aSide, TileEntity aTileEntity,
ArrayList<ConsumerNode> aConsumers) {
- Node tNode = new EmptyPowerConsumer(aNodeValue, aTileEntity, aSide, aConsumers);
- aConsumers.add((ConsumerNode) tNode);
+ ConsumerNode tNode = new EmptyPowerConsumer(aNodeValue, aTileEntity, aSide, aConsumers);
+ aConsumers.add(tNode);
return tNode;
}
diff --git a/src/main/java/gregtech/api/graphs/Node.java b/src/main/java/gregtech/api/graphs/Node.java
index 38b3cd0e37..005b32a5b7 100644
--- a/src/main/java/gregtech/api/graphs/Node.java
+++ b/src/main/java/gregtech/api/graphs/Node.java
@@ -32,7 +32,7 @@ public class Node {
public int mNodeValue;
public int mHighestNodeValue;
- public class ReturnPair {
+ public static class ReturnPair {
public NodePath mReturnPath;
public Lock returnLock;
diff --git a/src/main/java/gregtech/api/graphs/PowerNodes.java b/src/main/java/gregtech/api/graphs/PowerNodes.java
index 12416f6d72..22f1e02add 100644
--- a/src/main/java/gregtech/api/graphs/PowerNodes.java
+++ b/src/main/java/gregtech/api/graphs/PowerNodes.java
@@ -30,7 +30,6 @@ public class PowerNodes {
if (tNextNode.mNodeValue == tConsumer.mNodeValue) {
tAmpsUsed += processNodeInject(aCurrentNode, tConsumer, j, aMaxAmps - tAmpsUsed, aVoltage);
tConsumer = (ConsumerNode) aConsumers.getNextNode();
- break;
} else {
if (aPreviousNode == tNextNode) return tAmpsUsed;
tAmpsUsed += processNextNode(
@@ -41,8 +40,8 @@ public class PowerNodes {
aMaxAmps - tAmpsUsed,
aVoltage);
tConsumer = (ConsumerNode) aConsumers.getNode();
- break;
}
+ break;
}
}
} else {
diff --git a/src/main/java/gregtech/api/graphs/consumers/NodeEnergyReceiver.java b/src/main/java/gregtech/api/graphs/consumers/NodeEnergyReceiver.java
index c7c4cbeba5..fec34c9d66 100644
--- a/src/main/java/gregtech/api/graphs/consumers/NodeEnergyReceiver.java
+++ b/src/main/java/gregtech/api/graphs/consumers/NodeEnergyReceiver.java
@@ -1,7 +1,5 @@
package gregtech.api.graphs.consumers;
-import static gregtech.api.enums.GT_Values.V;
-
import java.util.ArrayList;
import net.minecraft.init.Blocks;
@@ -12,6 +10,7 @@ import net.minecraftforge.common.util.ForgeDirection;
import cofh.api.energy.IEnergyReceiver;
import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
+import gregtech.api.enums.GT_Values;
import gregtech.api.enums.SoundResource;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.WorldSpawnedEventBuilder;
@@ -51,37 +50,7 @@ public class NodeEnergyReceiver extends ConsumerNode {
// copied from IEnergyConnected
private void explode(int aRfOut) {
if (aRfOut > 32L * GregTech_API.mEUtoRF / 100L) {
- int aExplosionPower = aRfOut;
- float tStrength = aExplosionPower < V[0] ? 1.0F
- : aExplosionPower < V[1] ? 2.0F
- : aExplosionPower < V[2] ? 3.0F
- : aExplosionPower < V[3] ? 4.0F
- : aExplosionPower < V[4] ? 5.0F
- : aExplosionPower < V[4] * 2 ? 6.0F
- : aExplosionPower < V[5] ? 7.0F
- : aExplosionPower < V[6] ? 8.0F
- : aExplosionPower < V[7] ? 9.0F
- : aExplosionPower < V[8] ? 10.0F
- : aExplosionPower < V[8] * 2
- ? 11.0F
- : aExplosionPower
- < V[9] ? 12.0F
- : aExplosionPower
- < V[10] ? 13.0F
- : aExplosionPower
- < V[11] ? 14.0F
- : aExplosionPower
- < V[12] ? 15.0F
- : aExplosionPower
- < V[12] * 2
- ? 16.0F
- : aExplosionPower
- < V[13] ? 17.0F
- : aExplosionPower
- < V[14] ? 18.0F
- : aExplosionPower
- < V[15] ? 19.0F
- : 20.0F;
+ float tStrength = GT_Values.getExplosionPowerForVoltage(aRfOut);
int tX = mTileEntity.xCoord, tY = mTileEntity.yCoord, tZ = mTileEntity.zCoord;
World tWorld = mTileEntity.getWorldObj();
GT_Utility.sendSoundToPlayers(tWorld, SoundResource.IC2_MACHINES_MACHINE_OVERLOAD, 1.0F, -1, tX, tY, tZ);
diff --git a/src/main/java/gregtech/api/graphs/paths/PowerNodePath.java b/src/main/java/gregtech/api/graphs/paths/PowerNodePath.java
index 7d9a76524e..97edd5757c 100644
--- a/src/main/java/gregtech/api/graphs/paths/PowerNodePath.java
+++ b/src/main/java/gregtech/api/graphs/paths/PowerNodePath.java
@@ -90,8 +90,8 @@ public class PowerNodePath extends NodePath {
public long getVoltage(MetaPipeEntity aCable) {
int tLoss = 0;
if (mCountUp) {
- for (int i = 0; i < mPipes.length; i++) {
- GT_MetaPipeEntity_Cable tCable = (GT_MetaPipeEntity_Cable) mPipes[i];
+ for (MetaPipeEntity mPipe : mPipes) {
+ GT_MetaPipeEntity_Cable tCable = (GT_MetaPipeEntity_Cable) mPipe;
tLoss += tCable.mCableLossPerMeter;
if (aCable == tCable) {
return Math.max(mVoltage - tLoss, 0);