[Fix] Biomes from Terrablender have no features
This commit is contained in:
parent
e49323be93
commit
bb08368511
1 changed files with 15 additions and 10 deletions
|
@ -76,26 +76,31 @@ public class BCLChunkGenerator extends NoiseBasedChunkGenerator {
|
||||||
|
|
||||||
//terrablender is completley invalidating the feature imitialization
|
//terrablender is completley invalidating the feature imitialization
|
||||||
//we redo it at this point, otherwise we will get blank biomes
|
//we redo it at this point, otherwise we will get blank biomes
|
||||||
if (this instanceof ChunkGeneratorAccessor acc) {
|
rebuildFeaturesPerStep(biomeSource);
|
||||||
Function<Holder<Biome>, BiomeGenerationSettings> function = (Holder<Biome> hh) -> hh.value()
|
|
||||||
.getGenerationSettings();
|
|
||||||
|
|
||||||
acc.bcl_setFeaturesPerStep(Suppliers.memoize(() -> FeatureSorter.buildFeaturesPerStep(
|
|
||||||
List.copyOf(biomeSource.possibleBiomes()),
|
|
||||||
(hh) -> function.apply(hh).features(),
|
|
||||||
true
|
|
||||||
)));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
System.out.println("Chunk Generator: " + this + " (biomeSource: " + biomeSource + ")");
|
System.out.println("Chunk Generator: " + this + " (biomeSource: " + biomeSource + ")");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void rebuildFeaturesPerStep(BiomeSource biomeSource) {
|
||||||
|
if (this instanceof ChunkGeneratorAccessor acc) {
|
||||||
|
Function<Holder<Biome>, BiomeGenerationSettings> function = (Holder<Biome> hh) -> hh.value()
|
||||||
|
.getGenerationSettings();
|
||||||
|
|
||||||
|
acc.bcl_setFeaturesPerStep(Suppliers.memoize(() -> FeatureSorter.buildFeaturesPerStep(
|
||||||
|
List.copyOf(biomeSource.possibleBiomes()),
|
||||||
|
(hh) -> function.apply(hh).features(),
|
||||||
|
true
|
||||||
|
)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void restoreInitialBiomeSource() {
|
public void restoreInitialBiomeSource() {
|
||||||
if (initialBiomeSource != getBiomeSource()) {
|
if (initialBiomeSource != getBiomeSource()) {
|
||||||
if (this instanceof ChunkGeneratorAccessor acc) {
|
if (this instanceof ChunkGeneratorAccessor acc) {
|
||||||
BiomeSource bs = LevelGenUtil.getWorldSettings()
|
BiomeSource bs = LevelGenUtil.getWorldSettings()
|
||||||
.fixBiomeSource(initialBiomeSource, getBiomeSource().possibleBiomes());
|
.fixBiomeSource(initialBiomeSource, getBiomeSource().possibleBiomes());
|
||||||
acc.bcl_setBiomeSource(bs);
|
acc.bcl_setBiomeSource(bs);
|
||||||
|
rebuildFeaturesPerStep(getBiomeSource());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue