From b088958c9f6935d356b6c087c8e8106b400aa24f Mon Sep 17 00:00:00 2001 From: Raven Szewczyk Date: Sat, 1 Apr 2023 20:06:12 +0100 Subject: 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 --- src/main/java/gregtech/api/interfaces/ICondition.java | 4 ++++ src/main/java/gregtech/api/interfaces/IIconContainer.java | 6 +++--- .../java/gregtech/api/interfaces/tileentity/IEnergyConnected.java | 6 ++---- .../api/interfaces/tileentity/IExperimentalEnergyTileEntity.java | 4 ++-- 4 files changed, 11 insertions(+), 9 deletions(-) (limited to 'src/main/java/gregtech/api/interfaces') diff --git a/src/main/java/gregtech/api/interfaces/ICondition.java b/src/main/java/gregtech/api/interfaces/ICondition.java index 554cd2df77..9c7033b3d7 100644 --- a/src/main/java/gregtech/api/interfaces/ICondition.java +++ b/src/main/java/gregtech/api/interfaces/ICondition.java @@ -24,6 +24,7 @@ public interface ICondition { private final ICondition[] mConditions; + @SafeVarargs public Or(ICondition... aConditions) { mConditions = aConditions; } @@ -39,6 +40,7 @@ public interface ICondition { private final ICondition[] mConditions; + @SafeVarargs public Nor(ICondition... aConditions) { mConditions = aConditions; } @@ -54,6 +56,7 @@ public interface ICondition { private final ICondition[] mConditions; + @SafeVarargs public And(ICondition... aConditions) { mConditions = aConditions; } @@ -69,6 +72,7 @@ public interface ICondition { private final ICondition[] mConditions; + @SafeVarargs public Nand(ICondition... aConditions) { mConditions = aConditions; } diff --git a/src/main/java/gregtech/api/interfaces/IIconContainer.java b/src/main/java/gregtech/api/interfaces/IIconContainer.java index fbb9e53519..b76b4c5e9c 100644 --- a/src/main/java/gregtech/api/interfaces/IIconContainer.java +++ b/src/main/java/gregtech/api/interfaces/IIconContainer.java @@ -28,7 +28,7 @@ public interface IIconContainer { @SideOnly(Side.CLIENT) default int getIconPasses() { return 1; - }; + } /** * @return the Default Texture File for this Icon. @@ -37,12 +37,12 @@ public interface IIconContainer { ResourceLocation getTextureFile(); @SideOnly(Side.CLIENT) - public default short[] getIconColor(int aRenderPass) { + default short[] getIconColor(int aRenderPass) { return UNCOLORED_RBGA; } @SideOnly(Side.CLIENT) - public default boolean isUsingColorModulation(int aRenderPass) { + default boolean isUsingColorModulation(int aRenderPass) { return aRenderPass == 0; } } diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IEnergyConnected.java b/src/main/java/gregtech/api/interfaces/tileentity/IEnergyConnected.java index 37a7d2fc5c..1affdb0d74 100644 --- a/src/main/java/gregtech/api/interfaces/tileentity/IEnergyConnected.java +++ b/src/main/java/gregtech/api/interfaces/tileentity/IEnergyConnected.java @@ -60,11 +60,10 @@ public interface IEnergyConnected extends IColoredTileEntity { */ public static long emitEnergyToNetwork(long aVoltage, long aAmperage, IEnergyConnected aEmitter) { long rUsedAmperes = 0; - if (!(aEmitter instanceof IHasWorldObjectAndCoords)) { + if (!(aEmitter instanceof IHasWorldObjectAndCoords emitterTile)) { return 0; } - IHasWorldObjectAndCoords emitterTile = (IHasWorldObjectAndCoords) aEmitter; for (byte i = 0, j = 0; i < 6 && aAmperage > rUsedAmperes; i++) { if (!aEmitter.outputsEnergyTo(i)) { continue; @@ -72,8 +71,7 @@ public interface IEnergyConnected extends IColoredTileEntity { j = GT_Utility.getOppositeSide(i); final TileEntity tTileEntity = emitterTile.getTileEntityAtSide(i); - if (tTileEntity instanceof PowerLogicHost) { - PowerLogicHost host = (PowerLogicHost) tTileEntity; + if (tTileEntity instanceof PowerLogicHost host) { PowerLogic logic = host.getPowerLogic(j); if (logic == null || logic.isEnergyReceiver()) { diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IExperimentalEnergyTileEntity.java b/src/main/java/gregtech/api/interfaces/tileentity/IExperimentalEnergyTileEntity.java index 119a1af207..1f0c7f4b1c 100644 --- a/src/main/java/gregtech/api/interfaces/tileentity/IExperimentalEnergyTileEntity.java +++ b/src/main/java/gregtech/api/interfaces/tileentity/IExperimentalEnergyTileEntity.java @@ -51,14 +51,14 @@ public interface IExperimentalEnergyTileEntity extends IColoredTileEntity, IHasW private static void checkAvailabilities() { if (CHECK_ALL) { try { - Class tClass = cofh.api.energy.IEnergyReceiver.class; + Class tClass = cofh.api.energy.IEnergyReceiver.class; tClass.getCanonicalName(); RF_ENERGY = true; } catch (Throwable e) { /**/ } try { - Class tClass = ic2.api.energy.tile.IEnergySink.class; + Class tClass = ic2.api.energy.tile.IEnergySink.class; tClass.getCanonicalName(); IC_ENERGY = true; } catch (Throwable e) { -- cgit