From a2b377f2d54bd565100579a1a6b75526c473bd8e Mon Sep 17 00:00:00 2001 From: Adubbz Date: Sun, 5 Jul 2020 22:30:55 +1000 Subject: [PATCH] Nether biome placement is now not-garbage --- .../common/world/BOPDimensionType.java | 2 +- .../common/world/BOPNetherBiomeProvider.java | 47 +++++-------------- 2 files changed, 14 insertions(+), 35 deletions(-) diff --git a/src/main/java/biomesoplenty/common/world/BOPDimensionType.java b/src/main/java/biomesoplenty/common/world/BOPDimensionType.java index e0b1f2081..b063df584 100644 --- a/src/main/java/biomesoplenty/common/world/BOPDimensionType.java +++ b/src/main/java/biomesoplenty/common/world/BOPDimensionType.java @@ -32,7 +32,7 @@ public class BOPDimensionType extends DimensionType private static ChunkGenerator bopNetherGenerator(long seed) { - return new NoiseChunkGenerator(BOPNetherBiomeProvider.Preset.NETHER.biomeSource(seed), seed, DimensionSettings.Preset.NETHER.settings()); + return new NoiseChunkGenerator(new BOPNetherBiomeProvider(seed), seed, DimensionSettings.Preset.NETHER.settings()); } public static SimpleRegistry bopDimensions(long seed) diff --git a/src/main/java/biomesoplenty/common/world/BOPNetherBiomeProvider.java b/src/main/java/biomesoplenty/common/world/BOPNetherBiomeProvider.java index b83d5ca32..fe5c8bc89 100644 --- a/src/main/java/biomesoplenty/common/world/BOPNetherBiomeProvider.java +++ b/src/main/java/biomesoplenty/common/world/BOPNetherBiomeProvider.java @@ -7,57 +7,36 @@ ******************************************************************************/ package biomesoplenty.common.world; -import biomesoplenty.api.enums.BOPClimates; -import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; -import com.mojang.datafixers.util.Pair; -import net.minecraft.util.ResourceLocation; import net.minecraft.world.biome.Biome; -import net.minecraft.world.biome.Biomes; +import net.minecraft.world.biome.provider.BiomeProvider; import net.minecraft.world.biome.provider.NetherBiomeProvider; import net.minecraft.world.gen.layer.Layer; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; -import java.util.List; import java.util.Optional; -import java.util.function.LongFunction; -import java.util.stream.Collectors; public class BOPNetherBiomeProvider extends NetherBiomeProvider { private final Layer noiseBiomeLayer; - public BOPNetherBiomeProvider(long seed, List> parameters, Optional preset) + public BOPNetherBiomeProvider(long seed) { - super(seed, parameters, preset); + super(seed, Lists.newArrayList(), Optional.empty()); this.noiseBiomeLayer = BOPNetherLayerUtil.createGenLayers(seed); } - public static NetherBiomeProvider bopNether(long seed) + @Override + public Biome getNoiseBiome(int x, int y, int z) { - List biomeList = Lists.newArrayList(Biomes.NETHER_WASTES, Biomes.SOUL_SAND_VALLEY, Biomes.CRIMSON_FOREST, Biomes.WARPED_FOREST, Biomes.BASALT_DELTAS); - - /* Add bop biomes to the biome list. */ - for (Biome biome : BOPClimates.NETHER.getLandBiomes().stream().map((entry) -> entry.biome).collect(Collectors.toList())) - { - biomeList.add(biome); - } - - return new BOPNetherBiomeProvider(seed, biomeList.stream().flatMap((biome) -> biome.optimalParameters().map((attribute) -> Pair.of(attribute, biome))).collect(ImmutableList.toImmutableList()), Optional.of(Preset.NETHER)); + return this.noiseBiomeLayer.get(x, z); } -// @Override -// public Biome getNoiseBiome(int x, int y, int z) -// { -// return this.noiseBiomeLayer.get(x, z); -// } - - public static class Preset extends NetherBiomeProvider.Preset + @Override + @OnlyIn(Dist.CLIENT) + public BiomeProvider withSeed(long seed) { - public Preset(ResourceLocation location, LongFunction biomeProvider) - { - super(location, biomeProvider); - } - - public static final NetherBiomeProvider.Preset NETHER = new NetherBiomeProvider.Preset(new ResourceLocation("nether"), (seed) -> BOPNetherBiomeProvider.bopNether(seed) ); - }; + return new BOPNetherBiomeProvider(seed); + } }