Skip to content

Commit 3956e99

Browse files
committed
Fix BiomeMode: OldGenerator being broken by 0ee3a23
1 parent 5c6e35d commit 3956e99

File tree

6 files changed

+25
-25
lines changed

6 files changed

+25
-25
lines changed

common/src/main/java/com/khorn/terraincontrol/LocalWorld.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,6 @@ public interface LocalWorld
8989
*/
9090
public LocalBiome getBiome(int x, int z) throws BiomeNotFoundException;
9191

92-
// temperature*rain
93-
public double getBiomeFactorForOldBM(int index);
94-
9592
// Default generators
9693
public void prepareDefaultStructures(int chunkX, int chunkZ, boolean dry);
9794

common/src/main/java/com/khorn/terraincontrol/generator/ChunkProviderTC.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,12 @@
44
import static com.khorn.terraincontrol.util.ChunkCoordinate.CHUNK_Y_SIZE;
55
import static com.khorn.terraincontrol.util.ChunkCoordinate.CHUNK_Z_SIZE;
66

7-
import com.khorn.terraincontrol.generator.biome.BiomeGenerator;
8-
97
import com.khorn.terraincontrol.LocalWorld;
10-
import com.khorn.terraincontrol.TerrainControl;
118
import com.khorn.terraincontrol.configuration.BiomeConfig;
129
import com.khorn.terraincontrol.configuration.WorldConfig;
1310
import com.khorn.terraincontrol.configuration.WorldSettings;
11+
import com.khorn.terraincontrol.generator.biome.BiomeGenerator;
12+
import com.khorn.terraincontrol.generator.biome.OldBiomeGenerator;
1413
import com.khorn.terraincontrol.generator.biome.OutputType;
1514
import com.khorn.terraincontrol.generator.noise.NoiseGeneratorNewOctaves;
1615
import com.khorn.terraincontrol.generator.noise.NoiseGeneratorPerlinOctaves;
@@ -541,10 +540,13 @@ private void generateTerrainNoise(int xOffset, int yOffset, int zOffset, int max
541540

542541
private void oldBiomeFactor(int x, int z, int i4, int ySections, double noiseHeight)
543542
{
544-
if (this.worldSettings.worldConfig.biomeMode == TerrainControl.getBiomeModeManager().OLD_GENERATOR)
543+
BiomeGenerator unwrapped = localWorld.getBiomeGenerator().unwrap();
544+
if (unwrapped instanceof OldBiomeGenerator)
545545
{
546-
this.volatilityFactor = (1.0D - this.localWorld.getBiomeFactorForOldBM(z * 48 + 17 + x * 3));
547-
546+
OldBiomeGenerator oldBiomeGenerator = (OldBiomeGenerator) unwrapped;
547+
int index = z * 48 + 17 + x * 3;
548+
double product = oldBiomeGenerator.oldTemperature1[index] * oldBiomeGenerator.oldWetness[index];
549+
this.volatilityFactor = 1.0 - product;
548550
} else
549551
{
550552
final BiomeConfig biomeConfig = toBiomeConfig(this.biomeArray[(x + this.maxSmoothRadius + (z + this.maxSmoothRadius)

common/src/main/java/com/khorn/terraincontrol/generator/biome/BiomeGenerator.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,4 +105,15 @@ public boolean isCached()
105105
return false;
106106
}
107107

108+
/**
109+
* Biome generators can be wrapped, for example to cache another biome
110+
* generator. This method returns the unwrapped biome generator. If this
111+
* biome generator doesn't wrap another biome generator, it returns itself.
112+
* @return The unwrapped biome generator.
113+
*/
114+
public BiomeGenerator unwrap()
115+
{
116+
return this;
117+
}
118+
108119
}

common/src/main/java/com/khorn/terraincontrol/generator/biome/CachedBiomeGenerator.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,4 +179,10 @@ public boolean isCached()
179179
{
180180
return true;
181181
}
182+
183+
@Override
184+
public BiomeGenerator unwrap()
185+
{
186+
return generator.unwrap();
187+
}
182188
}

platforms/bukkit/src/main/java/com/khorn/terraincontrol/bukkit/BukkitWorld.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import com.khorn.terraincontrol.customobjects.CustomObjectStructureCache;
1515
import com.khorn.terraincontrol.exception.BiomeNotFoundException;
1616
import com.khorn.terraincontrol.generator.biome.BiomeGenerator;
17-
import com.khorn.terraincontrol.generator.biome.OldBiomeGenerator;
1817
import com.khorn.terraincontrol.logging.LogMarker;
1918
import com.khorn.terraincontrol.util.ChunkCoordinate;
2019
import com.khorn.terraincontrol.util.NamedBinaryTag;
@@ -160,13 +159,6 @@ public int getCalculatedBiomeId(int x, int z)
160159
return this.biomeGenerator.getBiome(x, z);
161160
}
162161

163-
@Override
164-
public double getBiomeFactorForOldBM(int index)
165-
{
166-
OldBiomeGenerator oldBiomeGenerator = (OldBiomeGenerator) this.biomeGenerator;
167-
return oldBiomeGenerator.oldTemperature1[index] * oldBiomeGenerator.oldWetness[index];
168-
}
169-
170162
@Override
171163
public void prepareDefaultStructures(int chunkX, int chunkZ, boolean dry)
172164
{

platforms/forge/src/main/java/com/khorn/terraincontrol/forge/ForgeWorld.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import com.khorn.terraincontrol.forge.generator.structure.*;
1111
import com.khorn.terraincontrol.forge.util.NBTHelper;
1212
import com.khorn.terraincontrol.generator.biome.BiomeGenerator;
13-
import com.khorn.terraincontrol.generator.biome.OldBiomeGenerator;
1413
import com.khorn.terraincontrol.logging.LogMarker;
1514
import com.khorn.terraincontrol.util.ChunkCoordinate;
1615
import com.khorn.terraincontrol.util.NamedBinaryTag;
@@ -182,13 +181,6 @@ public int getCalculatedBiomeId(int x, int z)
182181
return this.biomeManager.getBiome(x, z);
183182
}
184183

185-
@Override
186-
public double getBiomeFactorForOldBM(int index)
187-
{
188-
OldBiomeGenerator oldBiomeGenerator = (OldBiomeGenerator) this.biomeManager;
189-
return oldBiomeGenerator.oldTemperature1[index] * oldBiomeGenerator.oldWetness[index];
190-
}
191-
192184
@Override
193185
public void prepareDefaultStructures(int chunkX, int chunkZ, boolean dry)
194186
{

0 commit comments

Comments
 (0)