diff options
author | Jason Mitchell <mitchej@gmail.com> | 2023-01-29 22:47:18 -0800 |
---|---|---|
committer | Jason Mitchell <mitchej@gmail.com> | 2023-01-29 22:47:18 -0800 |
commit | 960bbb3537d7c8c552050b5826de58bc8d798f04 (patch) | |
tree | 8006e73e99cc48c8b401cf9b34388f9b293dd43e /src/main/java/bloodasp/galacticgreg/registry/GalacticGregRegistry.java | |
parent | 1e0349649cf45764435b993bc87339742a025078 (diff) | |
download | GT5-Unofficial-960bbb3537d7c8c552050b5826de58bc8d798f04.tar.gz GT5-Unofficial-960bbb3537d7c8c552050b5826de58bc8d798f04.tar.bz2 GT5-Unofficial-960bbb3537d7c8c552050b5826de58bc8d798f04.zip |
[ci skip] spotlessApply with the new settings
Diffstat (limited to 'src/main/java/bloodasp/galacticgreg/registry/GalacticGregRegistry.java')
-rw-r--r-- | src/main/java/bloodasp/galacticgreg/registry/GalacticGregRegistry.java | 323 |
1 files changed, 156 insertions, 167 deletions
diff --git a/src/main/java/bloodasp/galacticgreg/registry/GalacticGregRegistry.java b/src/main/java/bloodasp/galacticgreg/registry/GalacticGregRegistry.java index 243a008e1b..112c174e42 100644 --- a/src/main/java/bloodasp/galacticgreg/registry/GalacticGregRegistry.java +++ b/src/main/java/bloodasp/galacticgreg/registry/GalacticGregRegistry.java @@ -1,5 +1,11 @@ package bloodasp.galacticgreg.registry; +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; + +import net.minecraft.world.chunk.IChunkProvider; + import bloodasp.galacticgreg.GalacticGreg; import bloodasp.galacticgreg.api.Enums.DimensionType; import bloodasp.galacticgreg.api.ModContainer; @@ -7,177 +13,160 @@ import bloodasp.galacticgreg.api.ModDimensionDef; import bloodasp.galacticgreg.dynconfig.DynamicDimensionConfig; import bloodasp.galacticgreg.generators.GenEllipsoid; import cpw.mods.fml.common.Loader; -import net.minecraft.world.chunk.IChunkProvider; - -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; /** * GalacticGregs registry * */ 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; - - /** - * 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) - { - GalacticGreg.Logger.warn("Initialization is already done, you can't add more ModContainers!"); - return false; - } - - if(_mModContainers.containsKey(pModContainer.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; - } - } - - /** - * 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) - { - try - { - if (!_mInitializationDone) - return null; - - String tFQCPN = pChunkProvider.toString().split("@")[0]; - ModDimensionDef tReturnMDD = null; - - for (ModContainer mc : _mModContainers.values()) - { - for (ModDimensionDef mdd : mc.getDimensionList()) - { - if (mdd.getChunkProviderName().equals(tFQCPN)) - { - tReturnMDD = mdd; - break; - } - } - } - - return tReturnMDD; - } - catch (Exception e) - { - e.printStackTrace(); - return null; - } - } - - /** - * Get all registered modcontainers. Can only be done after the initialization process is done - * @return - */ - public static Collection<ModContainer> getModContainers() - { - if(!_mInitializationDone) - return null; - - return _mModContainers.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! - return false; - - InitModContainers(); - - DynamicDimensionConfig.InitDynamicConfig(); - return true; - } - - /** - * Parse modcontainers and search for loaded mods. Enable found mods for generation - */ - private static void InitModContainers() - { - for (ModContainer mc : _mModContainers.values()) - { - if(!Loader.isModLoaded(mc.getModName()) && !mc.getModName().equalsIgnoreCase("vanilla")) - { - 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()) - { - 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.AsteroidAndPlanet || 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; - } - } - } - return null; - } - catch (Exception e) - { - e.printStackTrace(); - return null; - } - } + + private static final Map<String, ModContainer> _mModContainers = new HashMap<>(); + public static final String DIM_UNKNOWN = "GGREG_DIMENSION_UNKNOWN"; + private static boolean _mInitializationDone = 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) { + GalacticGreg.Logger.warn("Initialization is already done, you can't add more ModContainers!"); + return false; + } + + if (_mModContainers.containsKey(pModContainer.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; + } + } + + /** + * 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) { + try { + if (!_mInitializationDone) return null; + + String tFQCPN = pChunkProvider.toString().split("@")[0]; + ModDimensionDef tReturnMDD = null; + + for (ModContainer mc : _mModContainers.values()) { + for (ModDimensionDef mdd : mc.getDimensionList()) { + if (mdd.getChunkProviderName().equals(tFQCPN)) { + tReturnMDD = mdd; + break; + } + } + } + + return tReturnMDD; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + /** + * Get all registered modcontainers. Can only be done after the initialization process is done + * + * @return + */ + public static Collection<ModContainer> getModContainers() { + if (!_mInitializationDone) return null; + + return _mModContainers.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! + return false; + + InitModContainers(); + + DynamicDimensionConfig.InitDynamicConfig(); + return true; + } + + /** + * Parse modcontainers and search for loaded mods. Enable found mods for generation + */ + private static void InitModContainers() { + for (ModContainer mc : _mModContainers.values()) { + if (!Loader.isModLoaded(mc.getModName()) && !mc.getModName().equalsIgnoreCase("vanilla")) { + 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()) { + 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.AsteroidAndPlanet + || 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; + } + } + } + return null; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } } |