diff options
author | Alexdoru <57050655+Alexdoru@users.noreply.github.com> | 2024-09-03 22:36:50 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-03 20:36:50 +0000 |
commit | 4f33caf2586097daa253d76ce996f9fca4e10cc3 (patch) | |
tree | ea3a8ee2baf4c5aebdd1700b940f2373e475f626 /src/main/java/galacticgreg/registry | |
parent | a881bdb42c695433174342125696213e582e78fc (diff) | |
download | GT5-Unofficial-4f33caf2586097daa253d76ce996f9fca4e10cc3.tar.gz GT5-Unofficial-4f33caf2586097daa253d76ce996f9fca4e10cc3.tar.bz2 GT5-Unofficial-4f33caf2586097daa253d76ce996f9fca4e10cc3.zip |
replace Loader.isModLoaded() calls with Mods enum cached call (#3031)
* replace Loader.isModLoaded() calls with Mods enum cached call
* prevent Loader.isModLoaded calls
* Revert "prevent Loader.isModLoaded calls"
This reverts commit 9df23fd8db9dfe70a16be10e1d8688ee629da054.
* no Loader.isModLoaded calls in gagreg
---------
Co-authored-by: boubou19 <miisterunknown@gmail.com>
Co-authored-by: Martin Robertz <dream-master@gmx.net>
Diffstat (limited to 'src/main/java/galacticgreg/registry')
-rw-r--r-- | src/main/java/galacticgreg/registry/GalacticGregRegistry.java | 139 |
1 files changed, 50 insertions, 89 deletions
diff --git a/src/main/java/galacticgreg/registry/GalacticGregRegistry.java b/src/main/java/galacticgreg/registry/GalacticGregRegistry.java index 9dc5d0fa04..ee12baeb17 100644 --- a/src/main/java/galacticgreg/registry/GalacticGregRegistry.java +++ b/src/main/java/galacticgreg/registry/GalacticGregRegistry.java @@ -1,14 +1,11 @@ package galacticgreg.registry; -import static galacticgreg.api.enums.ModContainers.Vanilla; - import java.util.Collection; import java.util.HashMap; import java.util.Map; import net.minecraft.world.chunk.IChunkProvider; -import cpw.mods.fml.common.Loader; import galacticgreg.GalacticGreg; import galacticgreg.api.Enums.DimensionType; import galacticgreg.api.ModContainer; @@ -22,54 +19,46 @@ import galacticgreg.generators.GenEllipsoid; */ public class GalacticGregRegistry { - private static final Map<String, ModContainer> _mModContainers = new HashMap<>(); - public static final String DIM_UNKNOWN = "GGREG_DIMENSION_UNKNOWN"; - private static boolean _mInitializationDone = false; + private static final Map<String, ModContainer> modContainers = new HashMap<>(); + private static boolean initializationDone = false; /** * Register new ModContainer in the registry. Call this after you've populated it with Dimensions and Blocks Must be * called from your own PreInit or Init event - * - * @param pModContainer - * @return */ - public static boolean registerModContainer(ModContainer pModContainer) { - if (_mInitializationDone) { + public static void registerModContainer(ModContainer modContainer) { + if (initializationDone) { GalacticGreg.Logger.warn("Initialization is already done, you can't add more ModContainers!"); - return false; + return; } - if (_mModContainers.containsKey(pModContainer.getModName())) { + if (modContainers.containsKey(modContainer.getModName())) { GalacticGreg.Logger - .warn("There is already a mod registered with that name: [%s]", pModContainer.getModName()); - return false; - } else { - GalacticGreg.Logger.info( - "Registered new mod to generate ores: [%s] Dimensions provided: [%d]", - pModContainer.getModName(), - pModContainer.getDimensionList() - .size()); - _mModContainers.put(pModContainer.getModName(), pModContainer); - return true; + .warn("There is already a mod registered with that name: [%s]", modContainer.getModName()); + return; } + + GalacticGreg.Logger.info( + "Registered new mod to generate ores: [%s] Dimensions provided: [%d]", + modContainer.getModName(), + modContainer.getDimensionList() + .size()); + modContainers.put(modContainer.getModName(), modContainer); } /** * Lookup the registered dimensions and try to find the DimensionDefinition that has the ChunkProvider that we have * here - * - * @param pChunkProvider - * @return */ - public static ModDimensionDef getDimensionTypeByChunkGenerator(IChunkProvider pChunkProvider) { + public static ModDimensionDef getDimensionTypeByChunkGenerator(IChunkProvider chunkProvider) { try { - if (!_mInitializationDone) return null; + if (!initializationDone) return null; - String tFQCPN = pChunkProvider.toString() + String tFQCPN = chunkProvider.toString() .split("@")[0]; ModDimensionDef tReturnMDD = null; - for (ModContainer mc : _mModContainers.values()) { + for (ModContainer mc : modContainers.values()) { for (ModDimensionDef mdd : mc.getDimensionList()) { if (mdd.getChunkProviderName() .equals(tFQCPN)) { @@ -88,20 +77,18 @@ public class GalacticGregRegistry { /** * Get all registered modcontainers. Can only be done after the initialization process is done - * - * @return */ public static Collection<ModContainer> getModContainers() { - if (!_mInitializationDone) return null; + if (!initializationDone) return null; - return _mModContainers.values(); + return modContainers.values(); } /** * Initializes the Registry. Never do this in your code, GalacticGreg will crash if you do so */ public static boolean InitRegistry() { - if (_mInitializationDone) // never run init twice! + if (initializationDone) // never run init twice! return false; InitModContainers(); @@ -114,70 +101,44 @@ public class GalacticGregRegistry { * Parse modcontainers and search for loaded mods. Enable found mods for generation */ private static void InitModContainers() { - for (ModContainer mc : _mModContainers.values()) { + for (ModContainer mc : modContainers.values()) { // todo: rename Vanilla mod container name from "Vanilla" to "minecraft" - if (!Loader.isModLoaded(mc.getModName()) && !mc.getModName() - .equals(Vanilla.modContainer.getModName())) { + if (!mc.isModLoaded()) { GalacticGreg.Logger.warn( "Ignoring ModRegistration for OreGen: [%s], because mod is not loaded. Did you misspell the name?", mc.getModName()); - mc.setEnabled(false); - } else { - GalacticGreg.Logger.info("Mod [%s] is now enabled for OreGen by GalacticGreg", mc.getModName()); - mc.setEnabled(true); - for (ModDimensionDef md : mc.getDimensionList()) { + continue; + } + + GalacticGreg.Logger.info("Mod [%s] is now enabled for OreGen by GalacticGreg", mc.getModName()); + + for (ModDimensionDef md : mc.getDimensionList()) { + GalacticGreg.Logger.info( + "ModID: [%s] DimName: [%s] ValidBlocks: [%d] Identifier: [%s] Generators: [%d]", + mc.getModName(), + md.getDimensionName(), + md.getReplaceableBlocks() + .size(), + md.getDimIdentifier(), + md.getSpaceObjectGenerators() + .size()); + + // Register default generator if dimension is asteroid and no generator was added + if (md.getDimensionType() == DimensionType.Asteroid) { + if (md.getSpaceObjectGenerators() + .isEmpty()) { + GalacticGreg.Logger.debug("No generators found, adding built-in ellipsoid generator"); + md.registerSpaceObjectGenerator(new GenEllipsoid()); + } GalacticGreg.Logger.info( - "ModID: [%s] DimName: [%s] ValidBlocks: [%d] Identifier: [%s] Generators: [%d]", - mc.getModName(), - md.getDimensionName(), - md.getReplaceableBlocks() - .size(), - md.getDimIdentifier(), + "Asteroid-Enabled dimension. Registered Generators: [%d]", md.getSpaceObjectGenerators() .size()); - - // Register default generator if dimension is asteroid and no generator was added - if (md.getDimensionType() == DimensionType.Asteroid) { - if (md.getSpaceObjectGenerators() - .size() == 0) { - GalacticGreg.Logger.debug("No generators found, adding build-in ellipsoid generator"); - md.registerSpaceObjectGenerator(new GenEllipsoid()); - } - GalacticGreg.Logger.info( - "Asteroid-Enabled dimension. Registered Generators: [%d]", - md.getSpaceObjectGenerators() - .size()); - } - - md.finalizeReplaceableBlocks(mc.getModName()); } - } - } - _mInitializationDone = true; - } - - /** - * Returns ModContainer for given DimensionDefinition - * - * @param pDimensionDefinition - * @return - */ - public static ModContainer getModContainerForDimension(ModDimensionDef pDimensionDefinition) { - if (!_mInitializationDone) return null; - try { - for (ModContainer mc : _mModContainers.values()) { - for (ModDimensionDef md : mc.getDimensionList()) { - if (pDimensionDefinition.getDimIdentifier() - .equals(md.getDimIdentifier())) { - return mc; - } - } + md.finalizeReplaceableBlocks(mc.getModName()); } - return null; - } catch (Exception e) { - e.printStackTrace(); - return null; } + initializationDone = true; } } |