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

View file

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

View file

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