From 1593e7dc412235b477a00138078465f769eec72e Mon Sep 17 00:00:00 2001 From: Frank Date: Wed, 15 Dec 2021 11:59:01 +0100 Subject: [PATCH] Fixed priorities in SurfaceRules --- .../java/ru/betterend/world/biome/EndBiome.java | 15 ++++++--------- .../world/biome/land/SulphurSpringsBiome.java | 6 +++--- .../world/biome/land/UmbraValleyBiome.java | 6 +++--- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/src/main/java/ru/betterend/world/biome/EndBiome.java b/src/main/java/ru/betterend/world/biome/EndBiome.java index e56ce50f..7e0601d4 100644 --- a/src/main/java/ru/betterend/world/biome/EndBiome.java +++ b/src/main/java/ru/betterend/world/biome/EndBiome.java @@ -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()); } } diff --git a/src/main/java/ru/betterend/world/biome/land/SulphurSpringsBiome.java b/src/main/java/ru/betterend/world/biome/land/SulphurSpringsBiome.java index 35e66a81..46702131 100644 --- a/src/main/java/ru/betterend/world/biome/land/SulphurSpringsBiome.java +++ b/src/main/java/ru/betterend/world/biome/land/SulphurSpringsBiome.java @@ -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(), diff --git a/src/main/java/ru/betterend/world/biome/land/UmbraValleyBiome.java b/src/main/java/ru/betterend/world/biome/land/UmbraValleyBiome.java index d593195b..b24afe2d 100644 --- a/src/main/java/ru/betterend/world/biome/land/UmbraValleyBiome.java +++ b/src/main/java/ru/betterend/world/biome/land/UmbraValleyBiome.java @@ -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(),