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/common/GT_Client.java | 107 +++++-------- src/main/java/gregtech/common/GT_Network.java | 3 +- .../gregtech/common/GT_PlayerActivityLogger.java | 6 +- src/main/java/gregtech/common/GT_Proxy.java | 173 +++++++++++---------- src/main/java/gregtech/common/GT_RecipeAdder.java | 22 ++- .../java/gregtech/common/GT_ThaumcraftCompat.java | 22 ++- .../gregtech/common/GT_Worldgen_GT_Ore_Layer.java | 2 +- .../common/GT_Worldgen_GT_Ore_SmallPieces.java | 2 +- .../java/gregtech/common/GT_Worldgen_Stone.java | 31 ++-- .../java/gregtech/common/GT_Worldgenerator.java | 56 ++++--- .../gregtech/common/blocks/GT_Block_Casings1.java | 18 ++- .../gregtech/common/blocks/GT_Block_Casings2.java | 54 +++---- .../gregtech/common/blocks/GT_Block_Casings3.java | 60 +++---- .../gregtech/common/blocks/GT_Block_Casings4.java | 143 +++++++---------- .../gregtech/common/blocks/GT_Block_Casings5.java | 146 ++++++----------- .../gregtech/common/blocks/GT_Block_Casings6.java | 49 ++---- .../gregtech/common/blocks/GT_Block_Casings8.java | 114 ++++++-------- .../gregtech/common/blocks/GT_Block_Casings9.java | 12 +- .../common/blocks/GT_Block_Casings_Abstract.java | 2 +- .../gregtech/common/blocks/GT_Block_Machines.java | 18 +-- .../java/gregtech/common/blocks/GT_Block_Ores.java | 41 ++--- .../common/blocks/GT_Block_Ores_Abstract.java | 33 +--- .../common/blocks/GT_Block_Reinforced.java | 41 +++-- .../common/blocks/GT_Block_Stones_Abstract.java | 10 +- .../gregtech/common/blocks/GT_Block_Storage.java | 2 +- .../gregtech/common/blocks/GT_Cyclotron_Coils.java | 33 ++-- .../gregtech/common/blocks/GT_Item_Casings2.java | 7 +- .../gregtech/common/blocks/GT_Item_Casings5.java | 2 +- .../common/blocks/GT_Item_Casings_Abstract.java | 2 +- .../gregtech/common/blocks/GT_Item_Concretes.java | 2 +- .../common/blocks/GT_Item_LongDistancePipe.java | 2 +- .../gregtech/common/blocks/GT_Item_Machines.java | 2 +- .../java/gregtech/common/blocks/GT_Item_Ores.java | 2 +- .../common/blocks/GT_Item_Stones_Abstract.java | 2 +- .../gregtech/common/blocks/GT_Item_Storage.java | 2 +- .../common/covers/GT_Cover_ControlsWork.java | 5 +- .../gregtech/common/covers/GT_Cover_Conveyor.java | 101 +++++------- .../gregtech/common/covers/GT_Cover_Crafting.java | 10 +- .../gregtech/common/covers/GT_Cover_DoesWork.java | 44 +++--- .../gregtech/common/covers/GT_Cover_Drain.java | 24 +-- .../gregtech/common/covers/GT_Cover_EUMeter.java | 62 +++----- .../common/covers/GT_Cover_FacadeBase.java | 36 ++--- .../common/covers/GT_Cover_FluidLimiter.java | 3 +- .../common/covers/GT_Cover_FluidRegulator.java | 3 +- .../covers/GT_Cover_FluidStorageMonitor.java | 6 +- .../common/covers/GT_Cover_Fluidfilter.java | 76 ++++----- .../gregtech/common/covers/GT_Cover_ItemMeter.java | 3 +- .../common/covers/GT_Cover_NeedMaintainance.java | 88 ++++------- .../common/covers/GT_Cover_PlayerDetector.java | 15 +- .../java/gregtech/common/covers/GT_Cover_Pump.java | 101 +++++------- .../common/covers/GT_Cover_RedstoneConductor.java | 28 +--- .../covers/GT_Cover_RedstoneReceiverExternal.java | 4 +- .../common/covers/GT_Cover_RedstoneSignalizer.java | 22 ++- .../GT_Cover_RedstoneTransmitterInternal.java | 4 +- .../covers/GT_Cover_RedstoneWirelessBase.java | 23 +-- .../gregtech/common/covers/GT_Cover_Shutter.java | 16 +- .../java/gregtech/common/covers/GT_Cover_Vent.java | 27 ++-- .../GT_Cover_AdvancedRedstoneReceiverInternal.java | 3 +- .../GT_Cover_AdvancedWirelessRedstoneBase.java | 19 ++- .../GT_Cover_WirelessMaintenanceDetector.java | 20 +-- .../gregtech/common/entities/GT_Entity_Arrow.java | 14 +- src/main/java/gregtech/common/fluid/GT_Fluid.java | 21 +-- .../gregtech/common/gui/modularui/UIHelper.java | 52 +++---- .../modularui/widget/FluidDisplaySlotWidget.java | 15 +- src/main/java/gregtech/common/items/DropType.java | 2 +- .../gregtech/common/items/GT_FluidDisplayItem.java | 2 +- .../common/items/GT_IntegratedCircuit_Item.java | 23 ++- .../common/items/GT_MetaGenerated_Item_98.java | 2 +- .../common/items/GT_MetaGenerated_Item_99.java | 2 +- .../gregtech/common/items/GT_SensorCard_Item.java | 2 +- .../gregtech/common/items/GT_VolumetricFlask.java | 8 +- src/main/java/gregtech/common/items/ItemComb.java | 55 +++---- src/main/java/gregtech/common/items/ItemDrop.java | 2 +- .../java/gregtech/common/items/ItemPollen.java | 2 +- .../java/gregtech/common/items/ItemPropolis.java | 2 +- .../java/gregtech/common/items/PollenType.java | 2 +- .../java/gregtech/common/items/PropolisType.java | 2 +- .../common/items/behaviors/Behaviour_Arrow.java | 4 +- .../items/behaviors/Behaviour_Cover_Tool.java | 6 +- .../items/behaviors/Behaviour_DataStick.java | 9 +- .../items/behaviors/Behaviour_Plunger_Fluid.java | 6 +- .../common/items/behaviors/Behaviour_Scoop.java | 22 ++- src/main/java/gregtech/common/misc/GT_Command.java | 29 ++-- .../misc/spaceprojects/SpaceProjectManager.java | 2 +- .../misc/spaceprojects/base/SP_Requirements.java | 9 +- .../misc/spaceprojects/commands/SPM_Command.java | 32 ++-- .../misc/spaceprojects/commands/SP_Command.java | 21 +-- .../misc/spaceprojects/enums/SpaceBodyType.java | 2 +- .../common/misc/spaceprojects/enums/StarType.java | 2 +- .../misc/spaceprojects/enums/UpgradeStatus.java | 2 +- .../spaceprojects/interfaces/ISpaceProject.java | 14 +- .../common/net/MessageUpdateFluidDisplayItem.java | 3 +- .../redstonecircuits/GT_Circuit_BasicLogic.java | 42 +++-- .../common/redstonecircuits/GT_Circuit_Equals.java | 12 +- .../common/redstonecircuits/GT_Circuit_Pulser.java | 16 +- .../redstonecircuits/GT_Circuit_Randomizer.java | 15 +- .../redstonecircuits/GT_Circuit_RedstoneMeter.java | 22 ++- .../common/redstonecircuits/GT_Circuit_Timer.java | 21 +-- .../java/gregtech/common/render/GT_RenderUtil.java | 21 ++- .../gregtech/common/render/GT_RenderedTexture.java | 96 +++--------- .../gregtech/common/render/GT_Renderer_Block.java | 25 ++- .../common/render/GT_Renderer_Entity_Arrow.java | 3 +- .../gregtech/common/render/GT_TextureBuilder.java | 29 ++-- .../render/items/GT_GeneratedItem_Renderer.java | 3 +- .../items/GT_GeneratedMaterial_Renderer.java | 6 +- .../common/render/items/InfinityRenderer.java | 3 +- .../common/render/items/UniversiumRenderer.java | 27 ++-- .../automation/GT_MetaTileEntity_RecipeFilter.java | 3 +- .../boilers/GT_MetaTileEntity_Boiler_Lava.java | 19 ++- .../boilers/GT_MetaTileEntity_Boiler_Steel.java | 2 +- .../GT_MetaTileEntity_MagicalEnergyAbsorber.java | 14 +- .../GT_MetaTileEntity_NaquadahReactor.java | 18 +-- .../GT_MetaTileEntity_Hatch_OutputBus_ME.java | 3 +- .../GT_MetaTileEntity_Hatch_Output_ME.java | 3 +- .../machines/basic/GT_MetaTileEntity_Charger.java | 3 +- .../machines/basic/GT_MetaTileEntity_Printer.java | 2 +- .../basic/GT_MetaTileEntity_SeismicProspector.java | 32 ++-- .../basic/GT_MetaTileEntity_Teleporter.java | 50 +++--- ...GT_MetaTileEntity_LongDistancePipelineBase.java | 3 +- .../multi/GT_MetaTileEntity_AssemblyLine.java | 8 +- .../multi/GT_MetaTileEntity_DieselEngine.java | 2 +- .../multi/GT_MetaTileEntity_DistillationTower.java | 47 +++--- .../multi/GT_MetaTileEntity_DrillerBase.java | 50 +++--- .../multi/GT_MetaTileEntity_FusionComputer.java | 11 +- .../GT_MetaTileEntity_IntegratedOreFactory.java | 71 ++++----- .../multi/GT_MetaTileEntity_LargeBoiler.java | 2 +- .../multi/GT_MetaTileEntity_LargeTurbine.java | 2 +- .../multi/GT_MetaTileEntity_LargeTurbine_Gas.java | 6 +- ...GT_MetaTileEntity_LargeTurbine_GasAdvanced.java | 6 +- .../GT_MetaTileEntity_LargeTurbine_Plasma.java | 8 +- .../multi/GT_MetaTileEntity_NanoForge.java | 4 +- .../multi/GT_MetaTileEntity_OilCracker.java | 3 +- .../multi/GT_MetaTileEntity_OilDrillBase.java | 6 +- .../GT_MetaTileEntity_OreDrillingPlantBase.java | 9 +- .../multi/GT_MetaTileEntity_PCBFactory.java | 74 +++------ .../GT_MetaTileEntity_PrimitiveBlastFurnace.java | 2 +- .../GT_MetaTileEntity_DigitalChestBase.java | 37 ++--- .../storage/GT_MetaTileEntity_DigitalTankBase.java | 74 ++++----- .../gregtech/common/tools/GT_Tool_Crowbar.java | 4 +- .../gregtech/common/tools/GT_Tool_JackHammer.java | 2 +- .../java/gregtech/common/tools/GT_Tool_Plow.java | 2 +- .../gregtech/common/tools/GT_Tool_Plunger.java | 1 + .../java/gregtech/common/tools/GT_Tool_Sense.java | 2 +- 143 files changed, 1328 insertions(+), 1935 deletions(-) (limited to 'src/main/java/gregtech/common') diff --git a/src/main/java/gregtech/common/GT_Client.java b/src/main/java/gregtech/common/GT_Client.java index 9938b46ab0..505fa1a96d 100644 --- a/src/main/java/gregtech/common/GT_Client.java +++ b/src/main/java/gregtech/common/GT_Client.java @@ -342,37 +342,37 @@ public class GT_Client extends GT_Proxy implements Runnable { for (byte tSide : ALL_VALID_SIDES) { if ((tConnections & (1 << tSide)) != 0) { switch (GRID_SWITCH_TABLE[aEvent.target.sideHit][tSide]) { - case 0: + case 0 -> { GL11.glVertex3d(+.25D, .0D, +.25D); GL11.glVertex3d(-.25D, .0D, -.25D); GL11.glVertex3d(-.25D, .0D, +.25D); GL11.glVertex3d(+.25D, .0D, -.25D); - break; - case 1: + } + case 1 -> { GL11.glVertex3d(-.25D, .0D, +.50D); GL11.glVertex3d(+.25D, .0D, +.25D); GL11.glVertex3d(-.25D, .0D, +.25D); GL11.glVertex3d(+.25D, .0D, +.50D); - break; - case 2: + } + case 2 -> { GL11.glVertex3d(-.50D, .0D, -.25D); GL11.glVertex3d(-.25D, .0D, +.25D); GL11.glVertex3d(-.50D, .0D, +.25D); GL11.glVertex3d(-.25D, .0D, -.25D); - break; - case 3: + } + case 3 -> { GL11.glVertex3d(-.25D, .0D, -.50D); GL11.glVertex3d(+.25D, .0D, -.25D); GL11.glVertex3d(-.25D, .0D, -.25D); GL11.glVertex3d(+.25D, .0D, -.50D); - break; - case 4: + } + case 4 -> { GL11.glVertex3d(+.50D, .0D, -.25D); GL11.glVertex3d(+.25D, .0D, +.25D); GL11.glVertex3d(+.50D, .0D, +.25D); GL11.glVertex3d(+.25D, .0D, -.25D); - break; - case 5: + } + case 5 -> { GL11.glVertex3d(+.50D, .0D, +.50D); GL11.glVertex3d(+.25D, .0D, +.25D); GL11.glVertex3d(+.50D, .0D, +.25D); @@ -389,7 +389,7 @@ public class GT_Client extends GT_Proxy implements Runnable { GL11.glVertex3d(-.25D, .0D, -.25D); GL11.glVertex3d(-.50D, .0D, -.25D); GL11.glVertex3d(-.25D, .0D, -.50D); - break; + } } } } @@ -744,8 +744,7 @@ public class GT_Client extends GT_Proxy implements Runnable { trace.blockX, trace.blockY, trace.blockZ); - if (tileEntity instanceof IGregTechTileEntity) { - final IGregTechTileEntity gtTile = (IGregTechTileEntity) tileEntity; + if (tileEntity instanceof IGregTechTileEntity gtTile) { if (gtTile.getMetaTileEntity() instanceof IHasFluidDisplayItem) { GT_Values.NW.sendToServer( new MessageUpdateFluidDisplayItem( @@ -948,59 +947,33 @@ public class GT_Client extends GT_Proxy implements Runnable { if (tString.startsWith(SoundResource.RANDOM_EXPLODE.toString())) if (aStack.stackSize == 3) tString = SoundResource.RANDOM_FUSE.toString(); else if (aStack.stackSize == 2) tString = "random.old_explode"; - if (tString.startsWith("streaming.")) switch (aStack.stackSize) { - case 1: // '\001' - tString = tString + "13"; - break; - - case 2: // '\002' - tString = tString + "cat"; - break; - - case 3: // '\003' - tString = tString + "blocks"; - break; - - case 4: // '\004' - tString = tString + "chirp"; - break; - - case 5: // '\005' - tString = tString + "far"; - break; - - case 6: // '\006' - tString = tString + "mall"; - break; - - case 7: // '\007' - tString = tString + "mellohi"; - break; - - case 8: // '\b' - tString = tString + "stal"; - break; - - case 9: // '\t' - tString = tString + "strad"; - break; - - case 10: // '\n' - tString = tString + "ward"; - break; - - case 11: // '\013' - tString = tString + "11"; - break; - - case 12: // '\f' - tString = tString + "wait"; - break; - - default: - tString = tString + "wherearewenow"; - break; - } + if (tString.startsWith("streaming.")) tString = switch (aStack.stackSize) { + case 1 -> // '\001' + tString + "13"; + case 2 -> // '\002' + tString + "cat"; + case 3 -> // '\003' + tString + "blocks"; + case 4 -> // '\004' + tString + "chirp"; + case 5 -> // '\005' + tString + "far"; + case 6 -> // '\006' + tString + "mall"; + case 7 -> // '\007' + tString + "mellohi"; + case 8 -> // '\b' + tString + "stal"; + case 9 -> // '\t' + tString + "strad"; + case 10 -> // '\n' + tString + "ward"; + case 11 -> // '\013' + tString + "11"; + case 12 -> // '\f' + tString + "wait"; + default -> tString + "wherearewenow"; + }; if (tString.startsWith("streaming.")) { new WorldSpawnedEventBuilder.RecordEffectEventBuilder().setIdentifier(tString.substring(10)) .setPosition(aX, aY, aZ) diff --git a/src/main/java/gregtech/common/GT_Network.java b/src/main/java/gregtech/common/GT_Network.java index 665439dbd8..b6d44be85b 100644 --- a/src/main/java/gregtech/common/GT_Network.java +++ b/src/main/java/gregtech/common/GT_Network.java @@ -141,10 +141,9 @@ public class GT_Network extends MessageToMessageCodec public void sendPacketToAllPlayersInRange(World aWorld, GT_Packet aPacket, int aX, int aZ) { if (!aWorld.isRemote) { for (Object tObject : aWorld.playerEntities) { - if (!(tObject instanceof EntityPlayerMP)) { + if (!(tObject instanceof EntityPlayerMP tPlayer)) { break; } - EntityPlayerMP tPlayer = (EntityPlayerMP) tObject; Chunk tChunk = aWorld.getChunkFromBlockCoords(aX, aZ); if (tPlayer.getServerForPlayer() .getPlayerManager() diff --git a/src/main/java/gregtech/common/GT_PlayerActivityLogger.java b/src/main/java/gregtech/common/GT_PlayerActivityLogger.java index 384a3a8eb4..686c066c2c 100644 --- a/src/main/java/gregtech/common/GT_PlayerActivityLogger.java +++ b/src/main/java/gregtech/common/GT_PlayerActivityLogger.java @@ -15,14 +15,14 @@ public class GT_PlayerActivityLogger implements Runnable { return; } ArrayList tList = GT_Mod.gregtechproxy.mBufferedPlayerActivity; - GT_Mod.gregtechproxy.mBufferedPlayerActivity = new ArrayList(); + GT_Mod.gregtechproxy.mBufferedPlayerActivity = new ArrayList<>(); String tLastOutput = ""; int i = 0; for (int j = tList.size(); i < j; i++) { if (!tLastOutput.equals(tList.get(i))) { - GT_Log.pal.println((String) tList.get(i)); + GT_Log.pal.println(tList.get(i)); } - tLastOutput = (String) tList.get(i); + tLastOutput = tList.get(i); } Thread.sleep(10000L); } diff --git a/src/main/java/gregtech/common/GT_Proxy.java b/src/main/java/gregtech/common/GT_Proxy.java index 30de62084a..df8d0bb39b 100644 --- a/src/main/java/gregtech/common/GT_Proxy.java +++ b/src/main/java/gregtech/common/GT_Proxy.java @@ -47,6 +47,7 @@ import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemBow; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.CraftingManager; +import net.minecraft.item.crafting.IRecipe; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.Potion; import net.minecraft.tileentity.TileEntity; @@ -763,10 +764,12 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG try { for (String tOreName : OreDictionary.getOreNames()) { ItemStack tOreStack; - for (Iterator i$ = OreDictionary.getOres(tOreName) - .iterator(); i$.hasNext(); registerOre( - new OreDictionary.OreRegisterEvent(tOreName, tOreStack))) { - tOreStack = (ItemStack) i$.next(); + for (Iterator i$ = OreDictionary.getOres(tOreName) + .iterator(); i$.hasNext(); registerOre( + new OreDictionary.OreRegisterEvent( + tOreName, + tOreStack))) { + tOreStack = i$.next(); } } } catch (Throwable e) { @@ -1318,19 +1321,19 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG GT_Log.out.println( "GT_Mod: Cleaning up all OreDict Crafting Recipes, which have an empty List in them, since they are never meeting any Condition."); - List tList = CraftingManager.getInstance() - .getRecipeList(); + List tList = CraftingManager.getInstance() + .getRecipeList(); for (int i = 0; i < tList.size(); i++) { if ((tList.get(i) instanceof ShapedOreRecipe)) { for (Object tObject : ((ShapedOreRecipe) tList.get(i)).getInput()) { - if (((tObject instanceof List)) && (((List) tObject).isEmpty())) { + if (((tObject instanceof List)) && (((List) tObject).isEmpty())) { tList.remove(i--); break; } } } else if ((tList.get(i) instanceof ShapelessOreRecipe)) { for (Object tObject : ((ShapelessOreRecipe) tList.get(i)).getInput()) { - if (((tObject instanceof List)) && (((List) tObject).isEmpty())) { + if (((tObject instanceof List)) && (((List) tObject).isEmpty())) { tList.remove(i--); break; } @@ -1673,24 +1676,31 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG } else if (aEvent.Name.equals("sheetPlastic")) { GT_OreDictUnificator.registerOre(OrePrefixes.plate, Materials.Plastic, aEvent.Ore); } else if (aEvent.Name.startsWith("shard")) { - if (aEvent.Name.equals("shardAir")) { - GT_OreDictUnificator.registerOre(OrePrefixes.gem, Materials.InfusedAir, aEvent.Ore); - return; - } else if (aEvent.Name.equals("shardWater")) { - GT_OreDictUnificator.registerOre(OrePrefixes.gem, Materials.InfusedWater, aEvent.Ore); - return; - } else if (aEvent.Name.equals("shardFire")) { - GT_OreDictUnificator.registerOre(OrePrefixes.gem, Materials.InfusedFire, aEvent.Ore); - return; - } else if (aEvent.Name.equals("shardEarth")) { - GT_OreDictUnificator.registerOre(OrePrefixes.gem, Materials.InfusedEarth, aEvent.Ore); - return; - } else if (aEvent.Name.equals("shardOrder")) { - GT_OreDictUnificator.registerOre(OrePrefixes.gem, Materials.InfusedOrder, aEvent.Ore); - return; - } else if (aEvent.Name.equals("shardEntropy")) { - GT_OreDictUnificator.registerOre(OrePrefixes.gem, Materials.InfusedEntropy, aEvent.Ore); - return; + switch (aEvent.Name) { + case "shardAir" -> { + GT_OreDictUnificator.registerOre(OrePrefixes.gem, Materials.InfusedAir, aEvent.Ore); + return; + } + case "shardWater" -> { + GT_OreDictUnificator.registerOre(OrePrefixes.gem, Materials.InfusedWater, aEvent.Ore); + return; + } + case "shardFire" -> { + GT_OreDictUnificator.registerOre(OrePrefixes.gem, Materials.InfusedFire, aEvent.Ore); + return; + } + case "shardEarth" -> { + GT_OreDictUnificator.registerOre(OrePrefixes.gem, Materials.InfusedEarth, aEvent.Ore); + return; + } + case "shardOrder" -> { + GT_OreDictUnificator.registerOre(OrePrefixes.gem, Materials.InfusedOrder, aEvent.Ore); + return; + } + case "shardEntropy" -> { + GT_OreDictUnificator.registerOre(OrePrefixes.gem, Materials.InfusedEntropy, aEvent.Ore); + return; + } } } else if (aEvent.Name.equals("fieryIngot")) { GT_OreDictUnificator.registerOre(OrePrefixes.ingot, Materials.FierySteel, aEvent.Ore); @@ -1778,11 +1788,11 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG } if (aMaterial != Materials._NULL) { Materials tReRegisteredMaterial; - for (Iterator i$ = aMaterial.mOreReRegistrations.iterator(); i$.hasNext(); GT_OreDictUnificator.registerOre( + for (Iterator i$ = aMaterial.mOreReRegistrations.iterator(); i$.hasNext(); GT_OreDictUnificator.registerOre( aPrefix, tReRegisteredMaterial, aEvent.Ore)) { - tReRegisteredMaterial = (Materials) i$.next(); + tReRegisteredMaterial = i$.next(); } aMaterial.add(GT_Utility.copyAmount(1L, aEvent.Ore)); @@ -1800,14 +1810,14 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG } switch (aPrefix) { - case crystal: + case crystal -> { if ((aMaterial == Materials.CertusQuartz) || (aMaterial == Materials.NetherQuartz) || (aMaterial == Materials.Fluix)) { GT_OreDictUnificator.registerOre(OrePrefixes.gem, aMaterial, aEvent.Ore); } - break; - case gem: + } + case gem -> { if (aMaterial == Materials.Lapis || aMaterial == Materials.Sodalite) { GT_OreDictUnificator.registerOre(Dyes.dyeBlue, aEvent.Ore); } else if (aMaterial == Materials.Lazurite) { @@ -1847,8 +1857,8 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG OreDictNames.craftingQuartz, aEvent.Ore); } - break; - case cableGt01: + } + case cableGt01 -> { if (aMaterial == Materials.Tin) { GT_OreDictUnificator.registerOre(OreDictNames.craftingWireTin, aEvent.Ore); } else if (aMaterial == Materials.AnyCopper) { @@ -1860,8 +1870,8 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG } else if (aMaterial == Materials.AnyIron) { GT_OreDictUnificator.registerOre(OreDictNames.craftingWireIron, aEvent.Ore); } - break; - case lens: + } + case lens -> { if ((aMaterial.contains(SubTag.TRANSPARENT)) && (aMaterial.mColor != Dyes._NULL)) { GT_OreDictUnificator.registerOre( @@ -1869,8 +1879,8 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG .replaceFirst("dye", ""), aEvent.Ore); } - break; - case plate: + } + case plate -> { if ((aMaterial == Materials.Plastic) || (aMaterial == Materials.Rubber)) { GT_OreDictUnificator.registerOre(OrePrefixes.sheet, aMaterial, aEvent.Ore); } else if (aMaterial == Materials.Silicon) { @@ -1879,16 +1889,17 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG GT_OreDictUnificator.addToBlacklist(aEvent.Ore); GT_OreDictUnificator.registerOre(OrePrefixes.plank, aMaterial, aEvent.Ore); } - break; - case cell: + } + case cell -> { if (aMaterial == Materials.Empty) { GT_OreDictUnificator.addToBlacklist(aEvent.Ore); } - break; - case gearGt: - GT_OreDictUnificator.registerOre(OrePrefixes.gear, aMaterial, aEvent.Ore); - break; - case stick: + } + case gearGt -> GT_OreDictUnificator.registerOre( + OrePrefixes.gear, + aMaterial, + aEvent.Ore); + case stick -> { if (!GT_RecipeRegistrator.sRodMaterialList.contains(aMaterial)) { GT_RecipeRegistrator.sRodMaterialList.add(aMaterial); } else if (aMaterial == Materials.Wood) { @@ -1899,8 +1910,8 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG ToolDictNames.craftingToolSolderingMetal, aEvent.Ore); } - break; - case dust: + } + case dust -> { if (aMaterial == Materials.Salt) { GT_OreDictUnificator.registerOre("itemSalt", aEvent.Ore); } else if (aMaterial == Materials.Wood) { @@ -1923,8 +1934,8 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG } else if (aMaterial == Materials.YellowLimonite) { GT_OreDictUnificator.registerOre(Dyes.dyeYellow, aEvent.Ore); } - break; - case ingot: + } + case ingot -> { if (aMaterial == Materials.Rubber) { GT_OreDictUnificator.registerOre("itemRubber", aEvent.Ore); } else if (aMaterial == Materials.FierySteel) { @@ -1996,9 +2007,8 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG 400, 8); } - break; - default: - break; + } + default -> {} } if (aPrefix.mIsUnificatable && !aMaterial.mUnificatable) { return; @@ -2035,55 +2045,51 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG return; } switch (aPrefix) { - case dye: + case dye -> { if (GT_Utility.isStringValid(tName)) { GT_OreDictUnificator.registerOre(OrePrefixes.dye, aEvent.Ore); } - break; - case stoneSmooth: - GT_OreDictUnificator.registerOre("stone", aEvent.Ore); - break; - case stoneCobble: - GT_OreDictUnificator.registerOre("cobblestone", aEvent.Ore); - break; - case plank: + } + case stoneSmooth -> GT_OreDictUnificator.registerOre("stone", aEvent.Ore); + case stoneCobble -> GT_OreDictUnificator.registerOre("cobblestone", aEvent.Ore); + case plank -> { if (tName.equals("Wood")) { GT_OreDictUnificator.addItemData(aEvent.Ore, new ItemData(Materials.Wood, 3628800L)); } - break; - case slab: + } + case slab -> { if (tName.equals("Wood")) { GT_OreDictUnificator.addItemData(aEvent.Ore, new ItemData(Materials.Wood, 1814400L)); } - break; - case sheet: + } + case sheet -> { if (tName.equals("Plastic")) { GT_OreDictUnificator.registerOre(OrePrefixes.plate, Materials.Plastic, aEvent.Ore); } else if (tName.equals("Rubber")) { GT_OreDictUnificator.registerOre(OrePrefixes.plate, Materials.Rubber, aEvent.Ore); } - break; - case crafting: - if (tName.equals("ToolSolderingMetal")) { - GregTech_API.registerSolderingMetal(aEvent.Ore); - } else if (tName.equals("IndustrialDiamond")) { - GT_OreDictUnificator.addToBlacklist(aEvent.Ore); - } else if (tName.equals("WireCopper")) { - GT_OreDictUnificator.registerOre(OrePrefixes.wire, Materials.Copper, aEvent.Ore); + } + case crafting -> { + switch (tName) { + case "ToolSolderingMetal" -> GregTech_API.registerSolderingMetal(aEvent.Ore); + case "IndustrialDiamond" -> GT_OreDictUnificator.addToBlacklist(aEvent.Ore); + case "WireCopper" -> GT_OreDictUnificator.registerOre( + OrePrefixes.wire, + Materials.Copper, + aEvent.Ore); } - break; - case wood: + } + case wood -> { if (tName.equals("Rubber")) { GT_OreDictUnificator.registerOre("logRubber", aEvent.Ore); } - break; - case food: + } + case food -> { if (tName.equals("Cocoapowder")) { GT_OreDictUnificator.registerOre(OrePrefixes.dust, Materials.Cocoa, aEvent.Ore); } - break; - default: - break; + } + default -> {} } } GT_Log.ore.println(tModToName); @@ -2196,7 +2202,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG } for (int i = 0; i < aEvent.world.loadedEntityList.size(); i++) { if ((aEvent.world.loadedEntityList.get(i) instanceof Entity)) { - Entity tEntity = (Entity) aEvent.world.loadedEntityList.get(i); + Entity tEntity = aEvent.world.loadedEntityList.get(i); if (((tEntity instanceof EntityItem)) && (this.mItemDespawnTime != 6000) && (((EntityItem) tEntity).lifespan == 6000)) { ((EntityItem) tEntity).lifespan = this.mItemDespawnTime; @@ -2204,13 +2210,13 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG && (!(tEntity instanceof EntityPlayer)) && (tEntity.canBePushed()) && (((EntityLivingBase) tEntity).getHealth() > 0.0F)) { - List tList = tEntity.worldObj.getEntitiesWithinAABBExcludingEntity( + List tList = tEntity.worldObj.getEntitiesWithinAABBExcludingEntity( tEntity, tEntity.boundingBox.expand( 0.20000000298023224D, 0.0D, 0.20000000298023224D)); - Class tClass = tEntity.getClass(); + Class tClass = tEntity.getClass(); int tEntityCount = 1; if (tList != null) { for (Object o : tList) { @@ -2395,8 +2401,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG return null; } final TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); - if ((tTileEntity instanceof IGregTechTileEntity)) { - final IGregTechTileEntity tile = (IGregTechTileEntity) tTileEntity; + if ((tTileEntity instanceof IGregTechTileEntity tile)) { if (GUI_ID_COVER_SIDE_BASE <= aID && aID < GUI_ID_COVER_SIDE_BASE + 6) { final byte side = (byte) (aID - GT_Proxy.GUI_ID_COVER_SIDE_BASE); diff --git a/src/main/java/gregtech/common/GT_RecipeAdder.java b/src/main/java/gregtech/common/GT_RecipeAdder.java index 5c7ac4cd4a..3816973227 100644 --- a/src/main/java/gregtech/common/GT_RecipeAdder.java +++ b/src/main/java/gregtech/common/GT_RecipeAdder.java @@ -510,7 +510,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder { public void addDefaultPolymerizationRecipes(Fluid aBasicMaterial, ItemStack aBasicMaterialCell, Fluid aPolymer) { // Oxygen/Titaniumtetrafluoride -> +50% Output each addChemicalRecipe( - ItemList.Cell_Air.get(1, new Object[0]), + ItemList.Cell_Air.get(1), GT_Utility.getIntegratedCircuit(1), new GT_FluidStack(aBasicMaterial, 144), new GT_FluidStack(aPolymer, 144), @@ -1278,7 +1278,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder { if (tGunpowder < 65) { GT_Recipe.GT_Recipe_Map.sImplosionRecipes.addRecipe( true, - new ItemStack[] { aInput1, ItemList.Block_Powderbarrel.get(tGunpowder, new Object[0]) }, + new ItemStack[] { aInput1, ItemList.Block_Powderbarrel.get(tGunpowder) }, new ItemStack[] { aOutput1, aOutput2 }, null, null, @@ -2366,7 +2366,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder { } List tFluidOutputList; if (FluidOutputArray != null) { - tFluidOutputList = new ArrayList<>(Arrays.asList(FluidOutputArray));; + tFluidOutputList = new ArrayList<>(Arrays.asList(FluidOutputArray)); } else { tFluidOutputList = new ArrayList<>(1); } @@ -2854,7 +2854,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder { } GT_Recipe.GT_Recipe_Map.sPyrolyseRecipes.addRecipe( false, - new ItemStack[] { aInput, ItemList.Circuit_Integrated.getWithDamage(0L, intCircuit, new Object[0]) }, + new ItemStack[] { aInput, ItemList.Circuit_Integrated.getWithDamage(0L, intCircuit) }, new ItemStack[] { aOutput }, null, null, @@ -2921,7 +2921,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder { false, new ItemStack[] { aResearchItem }, new ItemStack[] { aOutput }, - new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Writes Research result", new Object[0]) }, + new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Writes Research result") }, null, null, aResearchTime, @@ -2931,7 +2931,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder { false, aInputs, new ItemStack[] { aOutput }, - new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Reads Research result", new Object[0]) }, + new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Reads Research result") }, aFluidInputs, null, aDuration, @@ -2974,8 +2974,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder { tAlts[i] = null; tPersistentHash = tPersistentHash * 31 + GT_Utility.persistentHash(tInputs[i], true, false); continue; - } else if (obj instanceof ItemStack[]) { - ItemStack[] aStacks = (ItemStack[]) obj; + } else if (obj instanceof ItemStack[]aStacks) { if (aStacks.length > 0) { tInputs[i] = aStacks[0]; tAlts[i] = Arrays.copyOf(aStacks, aStacks.length); @@ -2985,8 +2984,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder { tPersistentHash *= 31; continue; } - } else if (obj instanceof Object[]) { - Object[] objs = (Object[]) obj; + } else if (obj instanceof Object[]objs) { List tList; if (objs.length >= 2 && !(tList = GT_OreDictUnificator.getOres(objs[0])).isEmpty()) { try { @@ -3032,7 +3030,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder { false, new ItemStack[] { aResearchItem }, new ItemStack[] { aOutput }, - new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Writes Research result", new Object[0]) }, + new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Writes Research result") }, null, null, aResearchTime, @@ -3042,7 +3040,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder { false, tInputs, new ItemStack[] { aOutput }, - new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Reads Research result", new Object[0]) }, + new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Reads Research result") }, aFluidInputs, null, aDuration, diff --git a/src/main/java/gregtech/common/GT_ThaumcraftCompat.java b/src/main/java/gregtech/common/GT_ThaumcraftCompat.java index a7a2f0d4ee..9c7eeb8f09 100644 --- a/src/main/java/gregtech/common/GT_ThaumcraftCompat.java +++ b/src/main/java/gregtech/common/GT_ThaumcraftCompat.java @@ -123,10 +123,10 @@ public class GT_ThaumcraftCompat implements IThaumcraftCompat { private static final AspectList getAspectList(List aAspects) { AspectList rAspects = new AspectList(); TC_Aspects.TC_AspectStack tAspect; - for (Iterator i$ = aAspects.iterator(); i$.hasNext(); rAspects.add( + for (Iterator i$ = aAspects.iterator(); i$.hasNext(); rAspects.add( (Aspect) tAspect.mAspect.mAspect, (int) tAspect.mAmount)) { - tAspect = (TC_Aspects.TC_AspectStack) i$.next(); + tAspect = i$.next(); } return rAspects; } @@ -142,9 +142,7 @@ public class GT_ThaumcraftCompat implements IThaumcraftCompat { if (tCategory == null) { return null; } - for (Iterator i$ = tCategory.research.values() - .iterator(); i$.hasNext();) { - ResearchItem tResearch = (ResearchItem) i$.next(); + for (ResearchItem tResearch : tCategory.research.values()) { if ((tResearch.displayColumn == aX) && (tResearch.displayRow == aY)) { aX += (aX > 0 ? 5 : -5); aY += (aY > 0 ? 5 : -5); @@ -158,7 +156,7 @@ public class GT_ThaumcraftCompat implements IThaumcraftCompat { aY, aComplexity, aIcon); - ArrayList tPages = new ArrayList(aPages.length); + ArrayList tPages = new ArrayList<>(aPages.length); GT_LanguageManager.addStringLocalization("tc.research_name." + aResearch, aName); GT_LanguageManager.addStringLocalization("tc.research_text." + aResearch, "[GT] " + aText); for (Object tPage : aPages) { @@ -198,14 +196,14 @@ public class GT_ThaumcraftCompat implements IThaumcraftCompat { rResearch.setStub(); } if (aParentResearches != null) { - ArrayList tParentResearches = new ArrayList(); + ArrayList tParentResearches = new ArrayList<>(); for (String tParent : aParentResearches) { if (GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.researches, aResearch, true)) { tParentResearches.add(tParent); } } if (tParentResearches.size() > 0) { - rResearch.setParents((String[]) tParentResearches.toArray(new String[tParentResearches.size()])); + rResearch.setParents(tParentResearches.toArray(new String[0])); rResearch.setConcealed(); } } @@ -213,7 +211,7 @@ public class GT_ThaumcraftCompat implements IThaumcraftCompat { rResearch.setItemTriggers(aResearchTriggers); rResearch.setHidden(); } - rResearch.setPages((ResearchPage[]) tPages.toArray(new ResearchPage[tPages.size()])); + rResearch.setPages(tPages.toArray(new ResearchPage[0])); return rResearch.registerResearchItem(); } @@ -273,7 +271,7 @@ public class GT_ThaumcraftCompat implements IThaumcraftCompat { public boolean registerThaumcraftAspectsToItem(ItemStack aExampleStack, List aAspects, String aOreDict) { if (aAspects.isEmpty()) return false; - ThaumcraftApi.registerObjectTag(aOreDict, (AspectList) getAspectList(aAspects)); + ThaumcraftApi.registerObjectTag(aOreDict, getAspectList(aAspects)); return true; } @@ -282,12 +280,12 @@ public class GT_ThaumcraftCompat implements IThaumcraftCompat { boolean aAdditive) { if (aAspects.isEmpty()) return false; if (aAdditive) { - ThaumcraftApi.registerComplexObjectTag(aStack, (AspectList) getAspectList(aAspects)); + ThaumcraftApi.registerComplexObjectTag(aStack, getAspectList(aAspects)); return true; } AspectList tAlreadyRegisteredAspects = ThaumcraftApiHelper.getObjectAspects(aStack); if (tAlreadyRegisteredAspects == null || tAlreadyRegisteredAspects.size() <= 0) { - ThaumcraftApi.registerObjectTag(aStack, (AspectList) getAspectList(aAspects)); + ThaumcraftApi.registerObjectTag(aStack, getAspectList(aAspects)); } return true; } diff --git a/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java b/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java index f11d6d0640..0b10523f1a 100644 --- a/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java +++ b/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java @@ -21,7 +21,7 @@ import gregtech.common.blocks.GT_TileEntity_Ores; public class GT_Worldgen_GT_Ore_Layer extends GT_Worldgen { - public static ArrayList sList = new ArrayList(); + public static ArrayList sList = new ArrayList<>(); public static int sWeight = 0; public final short mMinY; public final short mMaxY; diff --git a/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_SmallPieces.java b/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_SmallPieces.java index 5387668dce..fb44948805 100644 --- a/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_SmallPieces.java +++ b/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_SmallPieces.java @@ -26,7 +26,7 @@ public class GT_Worldgen_GT_Ore_SmallPieces extends GT_Worldgen { public final boolean mMoon = false, mMars = false, mAsteroid = false; public final String mBiome; public final String aTextWorldgen = "worldgen."; - public static ArrayList sList = new ArrayList(); + public static ArrayList sList = new ArrayList<>(); // TODO CHECK IF INSTANTIATION IS CORRECT public GT_Worldgen_GT_Ore_SmallPieces(String aName, boolean aDefault, int aMinY, int aMaxY, int aAmount, diff --git a/src/main/java/gregtech/common/GT_Worldgen_Stone.java b/src/main/java/gregtech/common/GT_Worldgen_Stone.java index 22782d8231..94b529c1e5 100644 --- a/src/main/java/gregtech/common/GT_Worldgen_Stone.java +++ b/src/main/java/gregtech/common/GT_Worldgen_Stone.java @@ -22,7 +22,7 @@ import gregtech.common.blocks.GT_TileEntity_Ores; public class GT_Worldgen_Stone extends GT_Worldgen_Ore { - static final double sizeConversion[] = { 1, 1, 1.333333, 1.333333, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 }; // Bias + static final double[] sizeConversion = { 1, 1, 1.333333, 1.333333, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 }; // Bias // the // sizes // towards @@ -36,18 +36,18 @@ public class GT_Worldgen_Stone extends GT_Worldgen_Ore { // or // sills. - public Hashtable validStoneSeeds = new Hashtable(1024); + public Hashtable validStoneSeeds = new Hashtable<>(1024); - class StoneSeeds { + static class StoneSeeds { public boolean mExists; StoneSeeds(boolean exists) { mExists = exists; } - }; + } - class ValidSeeds { + static class ValidSeeds { public int mX; public int mZ; @@ -56,7 +56,7 @@ public class GT_Worldgen_Stone extends GT_Worldgen_Ore { this.mX = x; this.mZ = z; } - }; + } public GT_Worldgen_Stone(String aName, boolean aDefault, Block aBlock, int aBlockMeta, int aDimensionType, int aAmount, int aSize, int aProbability, int aMinY, int aMaxY, Collection aBiomeList, @@ -80,7 +80,7 @@ public class GT_Worldgen_Stone extends GT_Worldgen_Ore { public boolean executeWorldgen(World aWorld, Random aRandom, String aBiome, int aDimensionType, int aChunkX, int aChunkZ, IChunkProvider aChunkGenerator, IChunkProvider aChunkProvider) { XSTR stoneRNG = new XSTR(); - ArrayList stones = new ArrayList(); + ArrayList stones = new ArrayList<>(); if (!isGenerationAllowed(aWorld, aDimensionType, this.mDimensionType)) { return false; @@ -96,13 +96,12 @@ public class GT_Worldgen_Stone extends GT_Worldgen_Ore { // Check stone seeds to see if they have been added for (int x = aChunkX / 16 - windowWidth; x < (aChunkX / 16 + windowWidth + 1); x++) { for (int z = aChunkZ / 16 - windowWidth; z < (aChunkZ / 16 + windowWidth + 1); z++) { - long hash = ((long) ((aWorld.provider.dimensionId & 0xffL) << 56) - | (((long) x & 0x000000000fffffffL) << 28) + long hash = (((aWorld.provider.dimensionId & 0xffL) << 56) | (((long) x & 0x000000000fffffffL) << 28) | ((long) z & 0x000000000fffffffL)); if (!validStoneSeeds.containsKey(hash)) { // Determine if RNG says to add stone at this chunk stoneRNG.setSeed( - (long) aWorld.getSeed() ^ hash + Math.abs(mBlockMeta) + aWorld.getSeed() ^ hash + Math.abs(mBlockMeta) + Math.abs(mSize) + ((GregTech_API.sBlockGranites == mBlock) ? (32768) : (0))); // Don't judge me. // Want different @@ -139,11 +138,11 @@ public class GT_Worldgen_Stone extends GT_Worldgen_Ore { int z = stones.get(0).mZ * 16; stoneRNG.setSeed( - (long) aWorld.getSeed() ^ ((long) ((aWorld.provider.dimensionId & 0xffL) << 56) - | (((long) x & 0x000000000fffffffL) << 28) - | ((long) z & 0x000000000fffffffL)) + Math.abs(mBlockMeta) - + Math.abs(mSize) - + ((GregTech_API.sBlockGranites == mBlock) ? (32768) : (0))); // Don't judge me + aWorld.getSeed() + ^ (((aWorld.provider.dimensionId & 0xffL) << 56) | (((long) x & 0x000000000fffffffL) << 28) + | ((long) z & 0x000000000fffffffL)) + Math.abs(mBlockMeta) + + Math.abs(mSize) + + ((GregTech_API.sBlockGranites == mBlock) ? (32768) : (0))); // Don't judge me for (int i = 0; i < this.mAmount; i++) { // Not sure why you would want more than one in a chunk! Left alone // though. // Locate the stoneseed XYZ. Original code would request an isAir at the seed location, causing a chunk @@ -198,7 +197,7 @@ public class GT_Worldgen_Stone extends GT_Worldgen_Ore { + " tMaxY=" + tMaxY + " - Skipped because first requesting chunk would not contain this stone"); - long hash = ((long) ((aWorld.provider.dimensionId & 0xffL) << 56) + long hash = (((aWorld.provider.dimensionId & 0xffL) << 56) | (((long) x & 0x000000000fffffffL) << 28) | ((long) z & 0x000000000fffffffL)); validStoneSeeds.remove(hash); diff --git a/src/main/java/gregtech/common/GT_Worldgenerator.java b/src/main/java/gregtech/common/GT_Worldgenerator.java index 2ac29036d0..37b917e8c5 100644 --- a/src/main/java/gregtech/common/GT_Worldgenerator.java +++ b/src/main/java/gregtech/common/GT_Worldgenerator.java @@ -34,8 +34,8 @@ public class GT_Worldgenerator implements IWorldGenerator { private static int endMinSize = 50; private static int endMaxSize = 200; private static boolean endAsteroids = true; - public static List mList = new ArrayList(); - public static HashSet ProcChunks = new HashSet(); + public static List mList = new ArrayList<>(); + public static HashSet ProcChunks = new HashSet<>(); // This is probably not going to work. Trying to create a fake orevein to put into hashtable when there will be no // ores in a vein. public static GT_Worldgen_GT_Ore_Layer noOresInVein = new GT_Worldgen_GT_Ore_Layer( @@ -53,7 +53,7 @@ public class GT_Worldgenerator implements IWorldGenerator { Materials.Aluminium, Materials.Aluminium, Materials.Aluminium); - public static Hashtable validOreveins = new Hashtable(1024); + public static Hashtable validOreveins = new Hashtable<>(1024); public boolean mIsGenerating = false; public static final Object listLock = new Object(); @@ -136,7 +136,7 @@ public class GT_Worldgenerator implements IWorldGenerator { // static int test=0; // Local class to track which orevein seeds must be checked when doing chunkified worldgen - class NearbySeeds { + static class NearbySeeds { public int mX; public int mZ; @@ -149,8 +149,7 @@ public class GT_Worldgenerator implements IWorldGenerator { @Override public boolean equals(Object o) { if (this == o) return true; - if (!(o instanceof GT_Worldgenerator.WorldGenContainer.NearbySeeds)) return false; - GT_Worldgenerator.WorldGenContainer.NearbySeeds that = (GT_Worldgenerator.WorldGenContainer.NearbySeeds) o; + if (!(o instanceof NearbySeeds that)) return false; if (this.mX != that.mX) return false; return this.mZ == that.mZ; } @@ -161,9 +160,9 @@ public class GT_Worldgenerator implements IWorldGenerator { result = 31 * result + this.mZ; return result; } - }; + } - public static ArrayList seedList = new ArrayList(); + public static ArrayList seedList = new ArrayList<>(); // aX and aZ are now the by-chunk X and Z for the chunk of interest public WorldGenContainer(Random aRandom, int aX, int aZ, int aDimensionType, World aWorld, @@ -213,11 +212,10 @@ public class GT_Worldgenerator implements IWorldGenerator { // bits of the chunk so we have bits for dimension. // ( (long)oreseedZ & 0x000000000fffffffL )) Puts the chunk Z in the bits 0-27. Cuts off the top few bits // of the chunk so we have bits for dimension. - long oreveinSeed = ((long) this.mWorld.getSeed() << 16) - ^ ((long) ((this.mWorld.provider.dimensionId & 0xffL) << 56) - | (((long) oreseedX & 0x000000000fffffffL) << 28) - | ((long) oreseedZ & 0x000000000fffffffL)); // Use an RNG that is identical every time it is - // called for + long oreveinSeed = (this.mWorld.getSeed() << 16) ^ (((this.mWorld.provider.dimensionId & 0xffL) << 56) + | (((long) oreseedX & 0x000000000fffffffL) << 28) + | ((long) oreseedZ & 0x000000000fffffffL)); // Use an RNG that is identical every time it is + // called for // this oreseed. XSTR oreveinRNG = new XSTR(oreveinSeed); int oreveinPercentageRoll = oreveinRNG.nextInt(100); // Roll the dice, see if we get an orevein here at all @@ -279,7 +277,7 @@ public class GT_Worldgenerator implements IWorldGenerator { this.mChunkGenerator, this.mChunkProvider); switch (placementResult) { - case GT_Worldgen_GT_Ore_Layer.ORE_PLACED: + case GT_Worldgen_GT_Ore_Layer.ORE_PLACED -> { if (debugOrevein) GT_Log.out.println( " Added near oreveinSeed=" + oreveinSeed + " " @@ -292,12 +290,11 @@ public class GT_Worldgenerator implements IWorldGenerator { + tDimensionName); validOreveins.put(oreveinSeed, tWorldGen); oreveinFound = true; - break; - case GT_Worldgen_GT_Ore_Layer.NO_ORE_IN_BOTTOM_LAYER: - placementAttempts++; - // SHould do retry in this case until out of chances - break; - case GT_Worldgen_GT_Ore_Layer.NO_OVERLAP: + } + case GT_Worldgen_GT_Ore_Layer.NO_ORE_IN_BOTTOM_LAYER -> placementAttempts++; + + // SHould do retry i