Fixed priorities in SurfaceRules

This commit is contained in:
Frank 2021-12-15 11:59:01 +01:00
parent 71ecd6d17e
commit 1593e7dc41
3 changed files with 12 additions and 15 deletions

View file

@ -1,7 +1,5 @@
package ru.betterend.world.biome;
import java.util.function.BiFunction;
import net.minecraft.core.BlockPos;
import net.minecraft.data.worldgen.StructureFeatures;
import net.minecraft.resources.ResourceLocation;
@ -22,12 +20,14 @@ import ru.betterend.registry.EndBlocks;
import ru.betterend.registry.EndFeatures;
import ru.betterend.registry.EndSounds;
import java.util.function.BiFunction;
public class EndBiome extends BCLBiome implements SurfaceMaterialProvider {
public static class DefaultSurfaceMaterialProvider implements SurfaceMaterialProvider{
public static final BlockState END_STONE = Blocks.END_STONE.defaultBlockState();
@Override
public BlockState getTopMaterial() {
return END_STONE;
return getUnderMaterial();
}
@Override
@ -47,11 +47,8 @@ public class EndBiome extends BCLBiome implements SurfaceMaterialProvider {
@Override
public SurfaceRuleBuilder surface() {
SurfaceRuleBuilder builder = SurfaceRuleBuilder
.start()
.filler(getUnderMaterial())
;
SurfaceRuleBuilder builder = SurfaceRuleBuilder.start();
if (generateFloorRule() && getTopMaterial()!=getUnderMaterial()){
if (getTopMaterial()!=getAltTopMaterial()){
builder.floor(getTopMaterial());
@ -59,7 +56,7 @@ public class EndBiome extends BCLBiome implements SurfaceMaterialProvider {
builder.chancedFloor(getTopMaterial(), getAltTopMaterial());
}
}
return builder;
return builder.filler(getUnderMaterial());
}
}

View file

@ -1,7 +1,5 @@
package ru.betterend.world.biome.land;
import java.util.List;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.state.BlockState;
@ -18,6 +16,8 @@ import ru.betterend.registry.EndSounds;
import ru.betterend.world.biome.EndBiome;
import ru.betterend.world.surface.SulphuricSurfaceNoiseCondition;
import java.util.List;
public class SulphurSpringsBiome extends EndBiome.Config {
public SulphurSpringsBiome() {
super("sulphur_springs");
@ -75,7 +75,7 @@ public class SulphurSpringsBiome extends EndBiome.Config {
public SurfaceRuleBuilder surface() {
return super
.surface()
.rule(
.rule(2,
SurfaceRules.ifTrue(SurfaceRules.ON_FLOOR,
new SwitchRuleSource(
new SulphuricSurfaceNoiseCondition(),

View file

@ -1,7 +1,5 @@
package ru.betterend.world.biome.land;
import java.util.List;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.levelgen.SurfaceRules;
import ru.bclib.api.biomes.BCLBiomeBuilder;
@ -15,6 +13,8 @@ import ru.betterend.registry.EndSounds;
import ru.betterend.world.biome.EndBiome;
import ru.betterend.world.surface.UmbraSurfaceNoiseCondition;
import java.util.List;
public class UmbraValleyBiome extends EndBiome.Config {
public UmbraValleyBiome() {
super("umbra_valley");
@ -56,7 +56,7 @@ public class UmbraValleyBiome extends EndBiome.Config {
public SurfaceRuleBuilder surface() {
return super
.surface()
.rule(
.rule(2,
SurfaceRules.ifTrue(SurfaceRules.ON_FLOOR,
new SwitchRuleSource(
new UmbraSurfaceNoiseCondition(),