diff options
Diffstat (limited to 'src/main/java/gregtech/common')
-rw-r--r-- | src/main/java/gregtech/common/WorldgenGTOreLayer.java | 17 | ||||
-rw-r--r-- | src/main/java/gregtech/common/WorldgenGTOreSmallPieces.java | 15 |
2 files changed, 31 insertions, 1 deletions
diff --git a/src/main/java/gregtech/common/WorldgenGTOreLayer.java b/src/main/java/gregtech/common/WorldgenGTOreLayer.java index 2a31395a69..0e7c69b867 100644 --- a/src/main/java/gregtech/common/WorldgenGTOreLayer.java +++ b/src/main/java/gregtech/common/WorldgenGTOreLayer.java @@ -51,6 +51,14 @@ public class WorldgenGTOreLayer extends GTWorldgen { public final String aTextWorldgen = "worldgen."; public Class[] mAllowedProviders; + public String[] blackListedProviders; + public static Class tfProviderClass; + + static { + try { + tfProviderClass = Class.forName("twilightforest.world.WorldProviderTwilightForest"); + } catch (ClassNotFoundException ignored) {} + } public WorldgenGTOreLayer(OreMixBuilder mix) { super(mix.oreMixName, sList, mix.enabledByDefault); @@ -87,6 +95,13 @@ public class WorldgenGTOreLayer extends GTWorldgen { if (this.mOverworld) { allowedProviders.add(WorldProviderSurface.class); + if (!this.twilightForest) { + blackListedProviders = new String[] { "twilightforest.world.WorldProviderTwilightForest" }; + } + } + + if (tfProviderClass != null && this.twilightForest) { + allowedProviders.add(tfProviderClass); } if (this.mEnd) { @@ -104,7 +119,7 @@ public class WorldgenGTOreLayer extends GTWorldgen { return ORE_PLACED; } - if (!isGenerationAllowed(aWorld, mAllowedProviders)) { + if (!isGenerationAllowed(aWorld, blackListedProviders, mAllowedProviders)) { // The following code can be used for debugging, but it spams in logs // if (debugOrevein) { GTLog.out.println( "Wrong dimension" ); } return WRONG_DIMENSION; diff --git a/src/main/java/gregtech/common/WorldgenGTOreSmallPieces.java b/src/main/java/gregtech/common/WorldgenGTOreSmallPieces.java index 4eb4eb4cce..e3be59a628 100644 --- a/src/main/java/gregtech/common/WorldgenGTOreSmallPieces.java +++ b/src/main/java/gregtech/common/WorldgenGTOreSmallPieces.java @@ -31,6 +31,14 @@ public class WorldgenGTOreSmallPieces extends GTWorldgen { public static ArrayList<WorldgenGTOreSmallPieces> sList = new ArrayList<>(); public Class[] mAllowedProviders; + public String[] blackListedProviders; + public static Class tfProviderClass; + + static { + try { + tfProviderClass = Class.forName("twilightforest.world.WorldProviderTwilightForest"); + } catch (ClassNotFoundException ignored) {} + } public WorldgenGTOreSmallPieces(SmallOreBuilder ore) { super(ore.smallOreName, GregTechAPI.sWorldgenList, ore.enabledByDefault); @@ -54,6 +62,13 @@ public class WorldgenGTOreSmallPieces extends GTWorldgen { if (this.mOverworld) { allowedProviders.add(WorldProviderSurface.class); + if (!this.twilightForest) { + blackListedProviders = new String[] { "twilightforest.world.WorldProviderTwilightForest" }; + } + } + + if (tfProviderClass != null && this.twilightForest) { + allowedProviders.add(tfProviderClass); } if (this.mEnd) { |