From 4865db661c159750fd0837bce77c824bfd034229 Mon Sep 17 00:00:00 2001 From: miozune Date: Fri, 11 Aug 2023 19:15:50 +0900 Subject: Don't lazily initialize EIC recipemap (#350) * Add one more commit to .git-blame-ignore-revs * updateBuildScript * Don't lazily initialize EIC recipemap Former-commit-id: 693b0374ef33b7600ab37b71024056d0941877d8 --- .../ElectricImplosionCompressorRecipes.java | 5 ++- .../common/loaders/StaticRecipeChangeLoaders.java | 52 ++++++---------------- .../GT_TileEntity_ElectricImplosionCompressor.java | 4 +- .../bartimaeusnek/bartworks/util/BWRecipes.java | 18 ++++++++ 4 files changed, 37 insertions(+), 42 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ElectricImplosionCompressorRecipes.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ElectricImplosionCompressorRecipes.java index 7687ccedb4..5ac8d72744 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ElectricImplosionCompressorRecipes.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ElectricImplosionCompressorRecipes.java @@ -1,6 +1,5 @@ package com.github.bartimaeusnek.bartworks.common.loaders; -import static com.github.bartimaeusnek.bartworks.common.tileentities.multis.GT_TileEntity_ElectricImplosionCompressor.eicMap; import static gregtech.api.enums.GT_Values.M; import static gregtech.api.enums.Mods.EternalSingularity; import static gregtech.api.enums.Mods.GoodGenerator; @@ -12,6 +11,8 @@ import static gregtech.api.util.GT_ModHandler.getModItem; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; +import com.github.bartimaeusnek.bartworks.util.BWRecipes; + import gregtech.api.enums.*; import gregtech.api.util.GT_OreDictUnificator; @@ -20,7 +21,7 @@ public class ElectricImplosionCompressorRecipes implements Runnable { private static void addElectricImplosionRecipe(final ItemStack[] inputItems, final FluidStack[] inputFluids, final ItemStack[] outputItems, final FluidStack[] outputFluids, final int durationInTicks, final int EUPerTick) { - eicMap.addRecipe( + BWRecipes.instance.eicMap.addRecipe( false, inputItems, outputItems, diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/StaticRecipeChangeLoaders.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/StaticRecipeChangeLoaders.java index 81336594b1..6f482aaa48 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/StaticRecipeChangeLoaders.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/StaticRecipeChangeLoaders.java @@ -13,7 +13,6 @@ package com.github.bartimaeusnek.bartworks.common.loaders; -import static com.github.bartimaeusnek.bartworks.common.tileentities.multis.GT_TileEntity_ElectricImplosionCompressor.eicMap; import static com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader.ANAEROBE_GAS; import static com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader.NOBLE_GAS; import static com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader.Oganesson; @@ -51,7 +50,6 @@ import com.github.bartimaeusnek.bartworks.util.StreamUtils; import com.github.bartimaeusnek.bartworks.util.log.DebugLog; import com.github.bartimaeusnek.crossmod.BartWorksCrossmod; import com.google.common.collect.ArrayListMultimap; -import com.gtnewhorizons.modularui.common.widget.ProgressBar; import cpw.mods.fml.common.registry.GameRegistry; import gnu.trove.map.hash.TObjectDoubleHashMap; @@ -60,7 +58,6 @@ import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.SubTag; -import gregtech.api.gui.modularui.GT_UITextures; import gregtech.api.objects.GT_ItemStack; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; @@ -618,43 +615,22 @@ public class StaticRecipeChangeLoaders { toAdd.forEach(GT_Recipe.GT_Recipe_Map.sBlastRecipes::add); } - @SuppressWarnings("ALL") public static void addElectricImplosionCompressorRecipes() { - if (eicMap == null) { - eicMap = new GT_Recipe.GT_Recipe_Map( - new HashSet<>(GT_Recipe.GT_Recipe_Map.sImplosionRecipes.mRecipeList.size()), - "gt.recipe.electricimplosioncompressor", - "Electric Implosion Compressor", - (String) null, - "gregtech:textures/gui/basicmachines/Default", - 6, - 2, - 0, - 0, - 1, - "", - 1, - "", - true, - true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_IMPLOSION) - .setProgressBar(GT_UITextures.PROGRESSBAR_COMPRESS, ProgressBar.Direction.RIGHT); - GT_Recipe.GT_Recipe_Map.sImplosionRecipes.mRecipeList.stream().filter(e -> e.mInputs != null).forEach( - recipe -> eicMap.addRecipe( - true, - Arrays.stream(recipe.mInputs).filter(e -> !StaticRecipeChangeLoaders.checkForExplosives(e)) - .distinct().toArray(ItemStack[]::new), - recipe.mOutputs, - null, - null, - null, - 1, - BW_Util.getMachineVoltageFromTier(10), - 0)); - - // Custom EIC recipes. - new ElectricImplosionCompressorRecipes().run(); - } + GT_Recipe.GT_Recipe_Map.sImplosionRecipes.mRecipeList.stream().filter(e -> e.mInputs != null).forEach( + recipe -> BWRecipes.instance.eicMap.addRecipe( + true, + Arrays.stream(recipe.mInputs).filter(e -> !StaticRecipeChangeLoaders.checkForExplosives(e)) + .distinct().toArray(ItemStack[]::new), + recipe.mOutputs, + null, + null, + null, + 1, + BW_Util.getMachineVoltageFromTier(10), + 0)); + // Custom EIC recipes. + new ElectricImplosionCompressorRecipes().run(); } private static boolean checkForExplosives(ItemStack input) { diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ElectricImplosionCompressor.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ElectricImplosionCompressor.java index 4f79104b2c..cd76fc7470 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ElectricImplosionCompressor.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ElectricImplosionCompressor.java @@ -39,6 +39,7 @@ import com.github.bartimaeusnek.bartworks.MainMod; import com.github.bartimaeusnek.bartworks.client.renderer.BW_EICPistonVisualizer; import com.github.bartimaeusnek.bartworks.common.configs.ConfigHandler; import com.github.bartimaeusnek.bartworks.common.net.EICPacket; +import com.github.bartimaeusnek.bartworks.util.BWRecipes; import com.github.bartimaeusnek.bartworks.util.Coords; import com.gtnewhorizon.structurelib.StructureLibAPI; import com.gtnewhorizon.structurelib.alignment.IAlignmentLimits; @@ -74,7 +75,6 @@ public class GT_TileEntity_ElectricImplosionCompressor extends GT_MetaTileEntity_ExtendedPowerMultiBlockBase implements ISurvivalConstructable { - public static GT_Recipe.GT_Recipe_Map eicMap; private static final boolean pistonEnabled = !ConfigHandler.disablePistonInEIC; private Boolean piston = true; private static final SoundResource sound = SoundResource.RANDOM_EXPLODE; @@ -255,7 +255,7 @@ public class GT_TileEntity_ElectricImplosionCompressor @Override public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return eicMap; + return BWRecipes.instance.eicMap; } @Override diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/util/BWRecipes.java b/src/main/java/com/github/bartimaeusnek/bartworks/util/BWRecipes.java index 9fc49a3716..21bab359a5 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/util/BWRecipes.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/util/BWRecipes.java @@ -44,6 +44,7 @@ import com.gtnewhorizons.modularui.api.drawable.IDrawable; import com.gtnewhorizons.modularui.api.math.Pos2d; import com.gtnewhorizons.modularui.api.screen.ModularWindow; import com.gtnewhorizons.modularui.common.widget.DrawableWidget; +import com.gtnewhorizons.modularui.common.widget.ProgressBar; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; @@ -207,6 +208,23 @@ public class BWRecipes { StatCollector.translateToLocalFormatted("BW.NEI.display.radhatch.1", amount), StatCollector.translateToLocalFormatted("BW.NEI.display.radhatch.2", time * amount / 20.0)); }); + public final GT_Recipe.GT_Recipe_Map eicMap = new GT_Recipe.GT_Recipe_Map( + new HashSet<>(GT_Recipe.GT_Recipe_Map.sImplosionRecipes.mRecipeList.size()), + "gt.recipe.electricimplosioncompressor", + "Electric Implosion Compressor", + null, + "gregtech:textures/gui/basicmachines/Default", + 6, + 2, + 0, + 0, + 1, + "", + 1, + "", + true, + true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_IMPLOSION) + .setProgressBar(GT_UITextures.PROGRESSBAR_COMPRESS, ProgressBar.Direction.RIGHT); /** * @param machine 0 = biolab; 1 = BacterialVat; 2 = sAcidGenFuels; 3 = circuitAssemblyLine -- cgit