added back surface-Block to BiomeBuilder
This commit is contained in:
parent
d89b0887c1
commit
d09a3a06df
1 changed files with 15 additions and 0 deletions
|
@ -4,6 +4,7 @@ import net.fabricmc.fabric.api.biome.v1.BiomeModifications;
|
||||||
import net.minecraft.core.particles.ParticleOptions;
|
import net.minecraft.core.particles.ParticleOptions;
|
||||||
import net.minecraft.data.BuiltinRegistries;
|
import net.minecraft.data.BuiltinRegistries;
|
||||||
import net.minecraft.data.worldgen.BiomeDefaultFeatures;
|
import net.minecraft.data.worldgen.BiomeDefaultFeatures;
|
||||||
|
import net.minecraft.data.worldgen.SurfaceRuleData;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
import net.minecraft.sounds.Music;
|
import net.minecraft.sounds.Music;
|
||||||
import net.minecraft.sounds.SoundEvent;
|
import net.minecraft.sounds.SoundEvent;
|
||||||
|
@ -21,8 +22,10 @@ import net.minecraft.world.level.biome.BiomeGenerationSettings;
|
||||||
import net.minecraft.world.level.biome.BiomeSpecialEffects;
|
import net.minecraft.world.level.biome.BiomeSpecialEffects;
|
||||||
import net.minecraft.world.level.biome.MobSpawnSettings;
|
import net.minecraft.world.level.biome.MobSpawnSettings;
|
||||||
import net.minecraft.world.level.biome.MobSpawnSettings.SpawnerData;
|
import net.minecraft.world.level.biome.MobSpawnSettings.SpawnerData;
|
||||||
|
import net.minecraft.world.level.block.Block;
|
||||||
import net.minecraft.world.level.levelgen.GenerationStep;
|
import net.minecraft.world.level.levelgen.GenerationStep;
|
||||||
import net.minecraft.world.level.levelgen.GenerationStep.Decoration;
|
import net.minecraft.world.level.levelgen.GenerationStep.Decoration;
|
||||||
|
import net.minecraft.world.level.levelgen.SurfaceRules;
|
||||||
import net.minecraft.world.level.levelgen.carver.ConfiguredWorldCarver;
|
import net.minecraft.world.level.levelgen.carver.ConfiguredWorldCarver;
|
||||||
import net.minecraft.world.level.levelgen.feature.ConfiguredStructureFeature;
|
import net.minecraft.world.level.levelgen.feature.ConfiguredStructureFeature;
|
||||||
import net.minecraft.world.level.levelgen.placement.PlacedFeature;
|
import net.minecraft.world.level.levelgen.placement.PlacedFeature;
|
||||||
|
@ -481,6 +484,17 @@ public class BCLBiomeBuilder {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private List<SurfaceRules.RuleSource> surfaceRules = new ArrayList<>(2);
|
||||||
|
/**
|
||||||
|
* Adds new world surface rule for the given block
|
||||||
|
* @param surfaceBlock {@link Block} to use.
|
||||||
|
* @return same {@link BCLBiomeBuilder} instance.
|
||||||
|
*/
|
||||||
|
public BCLBiomeBuilder surface(Block surfaceBlock) {
|
||||||
|
surfaceRules.add(SurfaceRules.ifTrue(SurfaceRules.ON_FLOOR, SurfaceRules.state(surfaceBlock.defaultBlockState())));
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Finalize biome creation.
|
* Finalize biome creation.
|
||||||
* @return created {@link BCLBiome} instance.
|
* @return created {@link BCLBiome} instance.
|
||||||
|
@ -515,6 +529,7 @@ public class BCLBiomeBuilder {
|
||||||
|
|
||||||
final T res = biomeConstructor.apply(biomeID, builder.build());
|
final T res = biomeConstructor.apply(biomeID, builder.build());
|
||||||
res.attachedStructures = structures;
|
res.attachedStructures = structures;
|
||||||
|
surfaceRules.forEach(s -> BiomeAPI.addSurfaceRule(BiomeAPI.getBiomeID(res.getBiome()), s));
|
||||||
res.setFogDensity(fogDensity);
|
res.setFogDensity(fogDensity);
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue