Skip to content

Commit

Permalink
Changes to 5.09.45.168 to allow ore generation to work correctly in o…
Browse files Browse the repository at this point in the history
…verworld like Forge Essentials multiworlds.
  • Loading branch information
spacebuilder2020 committed Aug 9, 2024
1 parent 9ec067d commit 5ac803d
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 7 deletions.
12 changes: 7 additions & 5 deletions src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@
import net.minecraft.init.Blocks;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import net.minecraft.world.WorldProviderEnd;
import net.minecraft.world.WorldProviderHell;
import net.minecraft.world.WorldProviderSurface;
import net.minecraft.world.chunk.IChunkProvider;

import gregtech.api.GregTech_API;
Expand Down Expand Up @@ -114,11 +117,10 @@ public int executeWorldgenChunkified(World aWorld, Random aRandom, String aBiome
// Return a special empty orevein
return ORE_PLACED;
}
if (!isGenerationAllowed(
aWorld,
aDimensionType,
((aDimensionType == -1) && (this.mNether)) || ((aDimensionType == 0) && (this.mOverworld))
|| ((aDimensionType == 1) && (this.mEnd)) ? aDimensionType : ~aDimensionType)) {
boolean allowed = ((aWorld.provider instanceof WorldProviderHell) && (this.mNether))
|| ((aWorld.provider instanceof WorldProviderSurface) && (this.mOverworld))
|| ((aWorld.provider instanceof WorldProviderEnd) && (this.mEnd));
if (!isGenerationAllowed(aWorld, aDimensionType, allowed ? aDimensionType : ~aDimensionType)) {
// The following code can be used for debugging, but it spams in logs
// if (debugOrevein) { GT_Log.out.println( "Wrong dimension" ); }
return WRONG_DIMENSION;
Expand Down
6 changes: 4 additions & 2 deletions src/main/java/gregtech/common/GT_Worldgen_Stone.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraft.world.chunk.IChunkProvider;
import net.minecraftforge.common.DimensionManager;

import gregtech.api.GregTech_API;
import gregtech.api.objects.XSTR;
Expand Down Expand Up @@ -81,8 +82,9 @@ public boolean executeWorldgen(World aWorld, Random aRandom, String aBiome, int
int aChunkZ, IChunkProvider aChunkGenerator, IChunkProvider aChunkProvider) {
XSTR stoneRNG = new XSTR();
ArrayList<ValidSeeds> stones = new ArrayList<>();

if (!isGenerationAllowed(aWorld, aDimensionType, this.mDimensionType)) {
boolean allowed = DimensionManager.getWorld(this.mDimensionType).provider.getClass()
== aWorld.provider.getClass();
if (!isGenerationAllowed(aWorld, aDimensionType, allowed ? aDimensionType : this.mDimensionType)) {
return false;
}
if (!(this.mBiomeList.isEmpty() || this.mBiomeList.contains(aBiome))) {
Expand Down

0 comments on commit 5ac803d

Please sign in to comment.