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 --- .../api/net/GT_Packet_GtTileEntityGuiRequest.java | 3 +-- .../gregtech/api/net/GT_Packet_MultiTileEntity.java | 17 ++++++++--------- .../gregtech/api/net/GT_Packet_RequestCoverData.java | 3 +-- .../java/gregtech/api/net/GT_Packet_SetLockedFluid.java | 3 +-- .../gregtech/api/net/GT_Packet_TileEntityCoverGUI.java | 3 +-- 5 files changed, 12 insertions(+), 17 deletions(-) (limited to 'src/main/java/gregtech/api/net') diff --git a/src/main/java/gregtech/api/net/GT_Packet_GtTileEntityGuiRequest.java b/src/main/java/gregtech/api/net/GT_Packet_GtTileEntityGuiRequest.java index dbc72042a3..bf1a7e4af7 100644 --- a/src/main/java/gregtech/api/net/GT_Packet_GtTileEntityGuiRequest.java +++ b/src/main/java/gregtech/api/net/GT_Packet_GtTileEntityGuiRequest.java @@ -88,9 +88,8 @@ public class GT_Packet_GtTileEntityGuiRequest extends GT_Packet_New { final World world = DimensionManager.getWorld(this.dimId); if (world == null) return; final TileEntity tile = world.getTileEntity(this.mX, this.mY, this.mZ); - if (!(tile instanceof BaseTileEntity) || ((BaseTileEntity) tile).isDead()) return; + if (!(tile instanceof BaseTileEntity baseTile) || ((BaseTileEntity) tile).isDead()) return; - final BaseTileEntity baseTile = ((BaseTileEntity) tile); final EntityPlayerMP player = (EntityPlayerMP) world.getEntityByID(playerId); final CoverableTileEntity coverableTile = (baseTile instanceof CoverableTileEntity) ? (CoverableTileEntity) baseTile diff --git a/src/main/java/gregtech/api/net/GT_Packet_MultiTileEntity.java b/src/main/java/gregtech/api/net/GT_Packet_MultiTileEntity.java index 98f6f11aec..b31355adad 100644 --- a/src/main/java/gregtech/api/net/GT_Packet_MultiTileEntity.java +++ b/src/main/java/gregtech/api/net/GT_Packet_MultiTileEntity.java @@ -100,7 +100,7 @@ public class GT_Packet_MultiTileEntity extends GT_Packet_New { } /** - * + * * @param boolToSync each bit of the integer will be a boolean. */ public void setBooleans(int boolToSync) { @@ -213,11 +213,13 @@ public class GT_Packet_MultiTileEntity extends GT_Packet_New { } if ((packetFeatures & INVENTORY_NAME) == INVENTORY_NAME) { int tLength = aData.readInt(); - String tName = ""; + String tName; if (tLength > 0) { + StringBuilder tNameBuilder = new StringBuilder(); for (int i = 0; i < tLength; i++) { - tName += aData.readChar(); + tNameBuilder.append(aData.readChar()); } + tName = tNameBuilder.toString(); } else { tName = null; } @@ -241,8 +243,7 @@ public class GT_Packet_MultiTileEntity extends GT_Packet_New { final TileEntity tTileEntity = aWorld.getTileEntity(mX, mY, mZ); try { final Block tBlock = aWorld.getBlock(mX, mY, mZ); - if (tBlock instanceof MultiTileEntityBlock) { - final MultiTileEntityBlock mteBlock = (MultiTileEntityBlock) tBlock; + if (tBlock instanceof MultiTileEntityBlock mteBlock) { final IMultiTileEntity mte = mteBlock.receiveMultiTileEntityData(aWorld, mX, mY, mZ, mRID, mID); if (mte == null) return; mte.receiveClientEvent(GregTechTileClientEvents.CHANGE_COMMON_DATA, mCommonData); @@ -255,8 +256,7 @@ public class GT_Packet_MultiTileEntity extends GT_Packet_New { mte.receiveClientEvent(GregTechTileClientEvents.CHANGE_REDSTONE_OUTPUT, mRedstone); } - if ((features & MODES) == MODES && mte instanceof IMultiTileEntity.IMTE_HasModes) { - final IMultiTileEntity.IMTE_HasModes mteModes = (IMultiTileEntity.IMTE_HasModes) mte; + if ((features & MODES) == MODES && mte instanceof IMultiTileEntity.IMTE_HasModes mteModes) { mteModes.setMode(mMode); mteModes.setAllowedModes(mAllowedModes); } @@ -271,8 +271,7 @@ public class GT_Packet_MultiTileEntity extends GT_Packet_New { mtePart.setLockedInventoryIndex(mLockedInventoryIndex); } - if ((features & INVENTORY_NAME) == INVENTORY_NAME && mte instanceof InventoryUpgrade) { - final InventoryUpgrade invUpg = (InventoryUpgrade) mte; + if ((features & INVENTORY_NAME) == INVENTORY_NAME && mte instanceof InventoryUpgrade invUpg) { invUpg.setInventoryName(mInventoryName); } diff --git a/src/main/java/gregtech/api/net/GT_Packet_RequestCoverData.java b/src/main/java/gregtech/api/net/GT_Packet_RequestCoverData.java index e997c8feb9..e1ac057aa4 100644 --- a/src/main/java/gregtech/api/net/GT_Packet_RequestCoverData.java +++ b/src/main/java/gregtech/api/net/GT_Packet_RequestCoverData.java @@ -102,8 +102,7 @@ public class GT_Packet_RequestCoverData extends GT_Packet_New { final World world = DimensionManager.getWorld(mPlayer.dimension); if (world != null) { final TileEntity tile = world.getTileEntity(mX, mY, mZ); - if (tile instanceof CoverableTileEntity) { - final CoverableTileEntity te = (CoverableTileEntity) tile; + if (tile instanceof CoverableTileEntity te) { if (!te.isDead() && te.getCoverIDAtSide(side) == coverID) { te.issueCoverUpdate(side); } diff --git a/src/main/java/gregtech/api/net/GT_Packet_SetLockedFluid.java b/src/main/java/gregtech/api/net/GT_Packet_SetLockedFluid.java index a96d33bda6..0252201ba3 100644 --- a/src/main/java/gregtech/api/net/GT_Packet_SetLockedFluid.java +++ b/src/main/java/gregtech/api/net/GT_Packet_SetLockedFluid.java @@ -80,10 +80,9 @@ public class GT_Packet_SetLockedFluid extends GT_Packet_New { TileEntity tile = world.getTileEntity(mX, mY, mZ); if (!(tile instanceof IGregTechTileEntity) || ((IGregTechTileEntity) tile).isDead()) return; IMetaTileEntity mte = ((IGregTechTileEntity) tile).getMetaTileEntity(); - if (!(mte instanceof IFluidLockable)) return; + if (!(mte instanceof IFluidLockable mteToLock)) return; Fluid tFluid = FluidRegistry.getFluid(mFluidID); if (tFluid == null) return; - IFluidLockable mteToLock = (IFluidLockable) mte; if (!mteToLock.allowChangingLockedFluid(tFluid.getName())) return; mteToLock.lockFluid(true); diff --git a/src/main/java/gregtech/api/net/GT_Packet_TileEntityCoverGUI.java b/src/main/java/gregtech/api/net/GT_Packet_TileEntityCoverGUI.java index 86321f9287..25d4adf8e1 100644 --- a/src/main/java/gregtech/api/net/GT_Packet_TileEntityCoverGUI.java +++ b/src/main/java/gregtech/api/net/GT_Packet_TileEntityCoverGUI.java @@ -191,8 +191,7 @@ public class GT_Packet_TileEntityCoverGUI extends GT_Packet_New { // Using EntityPlayer instead of EntityClientPlayerMP so both client and server can load this final EntityPlayer thePlayer = ((EntityPlayer) ((World) aWorld).getEntityByID(playerID)); final TileEntity tile = aWorld.getTileEntity(mX, mY, mZ); - if (tile instanceof IGregTechTileEntity && !((IGregTechTileEntity) tile).isDead()) { - final IGregTechTileEntity gtTile = ((IGregTechTileEntity) tile); + if (tile instanceof IGregTechTileEntity gtTile && !((IGregTechTileEntity) tile).isDead()) { gtTile.setCoverDataAtSide(side, coverData); // Set it client side to read later. GT_CoverBehaviorBase cover = gtTile.getCoverBehaviorAtSideNew(side); -- cgit