diff --git a/src/main/java/ru/betterend/registry/EndBiomes.java b/src/main/java/ru/betterend/registry/EndBiomes.java index 97fbcd7f..e64f9d27 100644 --- a/src/main/java/ru/betterend/registry/EndBiomes.java +++ b/src/main/java/ru/betterend/registry/EndBiomes.java @@ -49,6 +49,7 @@ import ru.betterend.world.biome.land.NeonOasisBiome; import ru.betterend.world.biome.land.PaintedMountainsBiome; import ru.betterend.world.biome.land.ShadowForestBiome; import ru.betterend.world.biome.land.SulphurSpringsBiome; +import ru.betterend.world.biome.land.UmbraValleyBiome; import ru.betterend.world.biome.land.UmbrellaJungleBiome; import ru.betterend.world.generator.BiomeType; import ru.betterend.world.generator.GeneratorOptions; @@ -97,6 +98,7 @@ public class EndBiomes { public static final EndBiome DRY_SHRUBLAND = registerBiome(new DryShrublandBiome(), BiomeType.LAND); public static final EndBiome LANTERN_WOODS = registerBiome(new LanternWoodsBiome(), BiomeType.LAND); public static final EndBiome NEON_OASIS = registerSubBiome(new NeonOasisBiome(), DUST_WASTELANDS); + public static final EndBiome UMBRA_VALLEY = registerBiome(new UmbraValleyBiome(), BiomeType.LAND); // Better End Void public static final EndBiome ICE_STARFIELD = registerBiome(new BiomeIceStarfield(), BiomeType.VOID); diff --git a/src/main/java/ru/betterend/world/biome/land/UmbraValleyBiome.java b/src/main/java/ru/betterend/world/biome/land/UmbraValleyBiome.java new file mode 100644 index 00000000..09c1752c --- /dev/null +++ b/src/main/java/ru/betterend/world/biome/land/UmbraValleyBiome.java @@ -0,0 +1,19 @@ +package ru.betterend.world.biome.land; + +import ru.bclib.world.biomes.BCLBiomeDef; +import ru.betterend.BetterEnd; +import ru.betterend.registry.EndBlocks; +import ru.betterend.world.biome.EndBiome; +import ru.betterend.world.surface.SurfaceBuilders; + +public class UmbraValleyBiome extends EndBiome { + public UmbraValleyBiome() { + super( + new BCLBiomeDef(BetterEnd.makeID("umbra_valley")) + .setFogColor(100, 100, 100) + .setPlantsColor(200, 200, 200) + .setWaterAndFogColor(69, 104, 134) + .setSurface(SurfaceBuilders.UMBRA_SURFACE.configured(SurfaceBuilders.DEFAULT_END_CONFIG)) + ); + } +} diff --git a/src/main/java/ru/betterend/world/surface/SulphuricSurfaceBuilder.java b/src/main/java/ru/betterend/world/surface/SulphuricSurfaceBuilder.java index 303f926d..4d53ea58 100644 --- a/src/main/java/ru/betterend/world/surface/SulphuricSurfaceBuilder.java +++ b/src/main/java/ru/betterend/world/surface/SulphuricSurfaceBuilder.java @@ -35,7 +35,7 @@ public class SulphuricSurfaceBuilder extends SurfaceBuilder SULPHURIC_SURFACE = register("sulphuric_surface", new SulphuricSurfaceBuilder()); + public static final SurfaceBuilder UMBRA_SURFACE = register("umbra_surface", new UmbraSurfaceBuilder()); private static SurfaceBuilder register(String name, SurfaceBuilder builder) { return Registry.register(Registry.SURFACE_BUILDER, name, builder); diff --git a/src/main/java/ru/betterend/world/surface/UmbraSurfaceBuilder.java b/src/main/java/ru/betterend/world/surface/UmbraSurfaceBuilder.java new file mode 100644 index 00000000..fc4ace91 --- /dev/null +++ b/src/main/java/ru/betterend/world/surface/UmbraSurfaceBuilder.java @@ -0,0 +1,24 @@ +package ru.betterend.world.surface; + +import net.minecraft.world.level.biome.Biome; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.chunk.ChunkAccess; +import net.minecraft.world.level.levelgen.surfacebuilders.SurfaceBuilder; +import net.minecraft.world.level.levelgen.surfacebuilders.SurfaceBuilderBaseConfiguration; +import ru.betterend.noise.OpenSimplexNoise; + +import java.util.Random; + +public class UmbraSurfaceBuilder extends SurfaceBuilder { + private static final OpenSimplexNoise NOISE = new OpenSimplexNoise(1512); + + public UmbraSurfaceBuilder() { + super(SurfaceBuilderBaseConfiguration.CODEC); + } + + @Override + public void apply(Random random, ChunkAccess chunk, Biome biome, int x, int z, int height, double noise, BlockState defaultBlock, BlockState defaultFluid, int seaLevel, int seed, long n, SurfaceBuilderBaseConfiguration surfaceBlocks) { + int depth = (int) (NOISE.eval(x * 0.1, z * 0.1) * 20 + NOISE.eval(x * 0.5, z * 0.5) * 10 + 60); + SurfaceBuilder.DEFAULT.apply(random, chunk, biome, x, z, height, noise + depth, defaultBlock, defaultFluid, seaLevel, seed, n, SurfaceBuilders.UMBRA_SURFACE_CONFIG); + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/lang/en_us.json b/src/main/resources/assets/betterend/lang/en_us.json index 62c1c097..d22b3f31 100644 --- a/src/main/resources/assets/betterend/lang/en_us.json +++ b/src/main/resources/assets/betterend/lang/en_us.json @@ -883,5 +883,23 @@ "block.betterend.sulphuric_rock_flower_pot": "Sulphuric Rock Flower Pot", "block.betterend.violecite_flower_pot": "Violecite Flower Pot", "block.betterend.virid_jadestone_flower_pot": "Virid Jadestone Flower Pot", - "block.betterend.virid_jadestone_flower_pot": "Virid Jadestone Flower Pot" -} + "block.betterend.virid_jadestone_flower_pot": "Virid Jadestone Flower Pot", + + "block.betterend.umbralith": "Umbralith", + "block.betterend.umbralith_bricks": "Umbralith Bricks", + "block.betterend.umbralith_bricks_slab": "Umbralith Bricks Slab", + "block.betterend.umbralith_bricks_stairs": "Umbralith Bricks Stairs", + "block.betterend.umbralith_bricks_wall": "Umbralith Bricks Wall", + "block.betterend.umbralith_button": "Umbralith Button", + "block.betterend.umbralith_flower_pot": "Umbralith Flower Pot", + "block.betterend.umbralith_furnace": "Umbralith Furnace", + "block.betterend.umbralith_lantern": "Umbralith Lantern", + "block.betterend.umbralith_pedestal": "Umbralith Pedestal", + "block.betterend.umbralith_pillar": "Umbralith Pillar", + "block.betterend.umbralith_plate": "Umbralith Pressure Plate", + "block.betterend.umbralith_polished": "Umbralith Polished", + "block.betterend.umbralith_slab": "Umbralith Slab", + "block.betterend.umbralith_stairs": "Umbralith Stairs", + "block.betterend.umbralith_tiles": "Umbralith Tiles", + "block.betterend.umbralith_wall": "Umbralith Wall" + } diff --git a/src/main/resources/assets/betterend/lang/ru_ru.json b/src/main/resources/assets/betterend/lang/ru_ru.json index ada69545..109a89f8 100644 --- a/src/main/resources/assets/betterend/lang/ru_ru.json +++ b/src/main/resources/assets/betterend/lang/ru_ru.json @@ -898,5 +898,23 @@ "block.betterend.sandy_jadestone_flower_pot": "Цветочный горшок из песчаного нефрита", "block.betterend.sulphuric_rock_flower_pot": "Цветочный горшок из серного камня", "block.betterend.violecite_flower_pot": "Цветочный горшок из виолецита", - "block.betterend.virid_jadestone_flower_pot": "Цветочный горшок из зелёного нефрита" + "block.betterend.virid_jadestone_flower_pot": "Цветочный горшок из зелёного нефрита", + + "block.betterend.umbralith": "Умбралит", + "block.betterend.umbralith_bricks": "Умбралитовые кирпичи", + "block.betterend.umbralith_bricks_slab": "Плита из умбралитовых кирпичей", + "block.betterend.umbralith_bricks_stairs": "Ступени из умбралитовых кирпичей", + "block.betterend.umbralith_bricks_wall": "Стена из умбралитовых кирпичей", + "block.betterend.umbralith_button": "Умбралитовая кнопка", + "block.betterend.umbralith_flower_pot": "Умбралитовый горшок", + "block.betterend.umbralith_furnace": "Умбралитовая печь", + "block.betterend.umbralith_lantern": "Умбралитовый фонарь", + "block.betterend.umbralith_pedestal": "Умбралитовый пьедестал", + "block.betterend.umbralith_pillar": "Умбралитовая колонна", + "block.betterend.umbralith_plate": "Умбралитовая нажимная плита", + "block.betterend.umbralith_polished": "Полированный умбралит", + "block.betterend.umbralith_slab": "Умбралитовая плита", + "block.betterend.umbralith_stairs": "Умбралитовые ступени", + "block.betterend.umbralith_tiles": "Умбралитовая плитка", + "block.betterend.umbralith_wall": "Умбралитовая стена" } \ No newline at end of file