aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/galacticgreg/registry
diff options
context:
space:
mode:
authorAlexdoru <57050655+Alexdoru@users.noreply.github.com>2024-09-03 22:36:50 +0200
committerGitHub <noreply@github.com>2024-09-03 20:36:50 +0000
commit4f33caf2586097daa253d76ce996f9fca4e10cc3 (patch)
treeea3a8ee2baf4c5aebdd1700b940f2373e475f626 /src/main/java/galacticgreg/registry
parenta881bdb42c695433174342125696213e582e78fc (diff)
downloadGT5-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.java139
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;
}
}