[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
|
||||
//we redo it at this point, otherwise we will get blank biomes
|
||||
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
|
||||
)));
|
||||
}
|
||||
rebuildFeaturesPerStep(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() {
|
||||
if (initialBiomeSource != getBiomeSource()) {
|
||||
if (this instanceof ChunkGeneratorAccessor acc) {
|
||||
BiomeSource bs = LevelGenUtil.getWorldSettings()
|
||||
.fixBiomeSource(initialBiomeSource, getBiomeSource().possibleBiomes());
|
||||
acc.bcl_setBiomeSource(bs);
|
||||
rebuildFeaturesPerStep(getBiomeSource());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue