aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/everglades/gen/gt/WorldGen_GT.java
blob: 2035cfe096224f05a5620b776e67faeb1131ba67 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package gtPlusPlus.everglades.gen.gt;

import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.concurrent.ConcurrentHashMap;

import net.minecraft.world.World;
import net.minecraft.world.chunk.IChunkProvider;

import gtPlusPlus.xmod.gregtech.HANDLER_GT;

public abstract class WorldGen_GT {
	public final String mWorldGenName;
	public final boolean mEnabled;
	private final Map<String, Boolean> mDimensionMap = new ConcurrentHashMap<String, Boolean>();

	public WorldGen_GT(String aName, List aList, boolean aDefault) {
		this.mWorldGenName = aName;
		this.mEnabled = HANDLER_GT.sCustomWorldgenFile.get("worldgen", this.mWorldGenName, aDefault);
		if (this.mEnabled) {
			aList.add(this);
		}

	}

	public boolean executeWorldgen(World aWorld, Random aRandom, String aBiome, int aDimensionType, int aChunkX,
			int aChunkZ, IChunkProvider aChunkGenerator, IChunkProvider aChunkProvider) {
		return false;
	}

	public boolean executeCavegen(World aWorld, Random aRandom, String aBiome, int aDimensionType, int aChunkX,
			int aChunkZ, IChunkProvider aChunkGenerator, IChunkProvider aChunkProvider) {
		return false;
	}

	public boolean isGenerationAllowed(World aWorld, int aDimensionType, int aAllowedDimensionType) {
		String aDimName = aWorld.provider.getDimensionName();
		Boolean tAllowed = (Boolean) this.mDimensionMap.get(aDimName);
		if (tAllowed == null) {
			boolean tValue = HANDLER_GT.sCustomWorldgenFile.get("worldgen.dimensions." + this.mWorldGenName, aDimName,
					aDimensionType == aAllowedDimensionType);
			this.mDimensionMap.put(aDimName, Boolean.valueOf(tValue));
			return tValue;
		} else {
			return tAllowed.booleanValue();
		}
	}
}