diff --git a/src/main/java/org/dimdev/dimdoors/world/ModBiomes.java b/src/main/java/org/dimdev/dimdoors/world/ModBiomes.java index dff45ed6..7780b5b5 100644 --- a/src/main/java/org/dimdev/dimdoors/world/ModBiomes.java +++ b/src/main/java/org/dimdev/dimdoors/world/ModBiomes.java @@ -4,8 +4,8 @@ import org.dimdev.dimdoors.block.ModBlocks; import org.dimdev.dimdoors.entity.ModEntityTypes; import org.dimdev.dimdoors.mixin.BuiltinBiomesAccessor; import org.dimdev.dimdoors.sound.ModSoundEvents; -import org.dimdev.dimdoors.util.BlankBiomeBuilder; +import net.minecraft.entity.SpawnGroup; import net.minecraft.sound.BiomeMoodSound; import net.minecraft.util.Identifier; import net.minecraft.util.registry.BuiltinRegistries; @@ -50,21 +50,22 @@ public final class ModBiomes { .depth(0.1f) .downfall(0.0f) .effects(new BiomeEffects.Builder() - .fogColor(0) + .fogColor(0x222222) .waterColor(0) .foliageColor(0) .waterFogColor(0) .moodSound(new BiomeMoodSound(ModSoundEvents.CREEPY, 6000, 8, 2.0)) - .skyColor(0x404040) + .skyColor(0x222222) + .grassColor(0) .build()) .generationSettings(new GenerationSettings.Builder() .surfaceBuilder(SurfaceBuilder.NETHER.method_30478(new TernarySurfaceConfig(ModBlocks.UNRAVELLED_FABRIC.getDefaultState(), ModBlocks.UNRAVELLED_FABRIC.getDefaultState(), ModBlocks.ETERNAL_FLUID.getDefaultState()))) .build()) .precipitation(Biome.Precipitation.NONE) - .scale(0.9f) + .scale(2F) .spawnSettings(new SpawnSettings.Builder() .creatureSpawnProbability(0.2f) - .spawnCost(ModEntityTypes.MONOLITH, 5, 5) + .spawn(SpawnGroup.MONSTER, new SpawnSettings.SpawnEntry(ModEntityTypes.MONOLITH, 1, 1, 1)) .build()) .temperature(0.2f) .temperatureModifier(Biome.TemperatureModifier.NONE) diff --git a/src/main/java/org/dimdev/dimdoors/world/limbo/LimboBiomeSource.java b/src/main/java/org/dimdev/dimdoors/world/limbo/LimboBiomeSource.java index 32be6d30..b2617540 100644 --- a/src/main/java/org/dimdev/dimdoors/world/limbo/LimboBiomeSource.java +++ b/src/main/java/org/dimdev/dimdoors/world/limbo/LimboBiomeSource.java @@ -1,7 +1,9 @@ package org.dimdev.dimdoors.world.limbo; import java.util.Collections; +import java.util.Set; +import com.google.common.collect.ImmutableSet; import com.mojang.serialization.Codec; import com.mojang.serialization.Decoder; import com.mojang.serialization.Encoder; @@ -28,6 +30,11 @@ public class LimboBiomeSource extends BiomeSource { return this; } + @Override + public Set getBiomesInArea(int x, int y, int z, int radius) { + return ImmutableSet.of(ModBiomes.LIMBO_BIOME); + } + @Override public Biome getBiomeForNoiseGen(int biomeX, int biomeY, int biomeZ) { return ModBiomes.LIMBO_BIOME; diff --git a/src/main/java/org/dimdev/dimdoors/world/limbo/LimboChunkGenerator.java b/src/main/java/org/dimdev/dimdoors/world/limbo/LimboChunkGenerator.java index 7522f7d4..2e5c8936 100644 --- a/src/main/java/org/dimdev/dimdoors/world/limbo/LimboChunkGenerator.java +++ b/src/main/java/org/dimdev/dimdoors/world/limbo/LimboChunkGenerator.java @@ -4,7 +4,9 @@ import it.unimi.dsi.fastutil.objects.ObjectArrayList; import it.unimi.dsi.fastutil.objects.ObjectList; import it.unimi.dsi.fastutil.objects.ObjectListIterator; +import java.util.Arrays; import java.util.Iterator; +import java.util.List; import java.util.Random; import java.util.function.Predicate; import java.util.function.Supplier; @@ -13,10 +15,12 @@ import java.util.stream.IntStream; import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; import org.dimdev.dimdoors.block.ModBlocks; +import org.dimdev.dimdoors.entity.ModEntityTypes; import org.jetbrains.annotations.Nullable; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; +import net.minecraft.entity.SpawnGroup; import net.minecraft.structure.JigsawJunction; import net.minecraft.structure.PoolStructurePiece; import net.minecraft.structure.StructurePiece; @@ -39,6 +43,7 @@ import net.minecraft.world.Heightmap; import net.minecraft.world.SpawnHelper; import net.minecraft.world.WorldAccess; import net.minecraft.world.biome.Biome; +import net.minecraft.world.biome.SpawnSettings; import net.minecraft.world.biome.source.BiomeSource; import net.minecraft.world.biome.source.TheEndBiomeSource; import net.minecraft.world.chunk.Chunk; @@ -138,7 +143,7 @@ public class LimboChunkGenerator extends ChunkGenerator { } - public Codec getCodec() { + public final Codec getCodec() { return CODEC; } @@ -147,6 +152,7 @@ public class LimboChunkGenerator extends ChunkGenerator { return new LimboChunkGenerator(this.biomeSource.withSeed(seed), this.settings); } + public boolean equals(long l, RegistryKey registryKey) { return this.worldSeed == l && this.settings.get().equals(registryKey); } diff --git a/src/main/resources/data/dimdoors/dimension/limbo.json b/src/main/resources/data/dimdoors/dimension/limbo.json index 9ff35d77..bb1abb35 100644 --- a/src/main/resources/data/dimdoors/dimension/limbo.json +++ b/src/main/resources/data/dimdoors/dimension/limbo.json @@ -9,7 +9,7 @@ "bedrock_floor_position": 0, "bedrock_roof_position": -1, "disable_mob_generation": false, - "sea_level": 32, + "sea_level": 8, "structures": { "structures": {} }, @@ -20,22 +20,22 @@ "random_density_offset": true, "island_noise_override": false, "amplified": true, - "size_horizontal": 1, + "size_horizontal": 2, "size_vertical": 4, - "height": 192, + "height": 128, "sampling": { "xz_scale": 0.9999999814507745, - "y_scale": 0.632539814507745, + "y_scale": 1.502539814507745, "xz_factor": 80, - "y_factor": 240 + "y_factor": 120 }, "bottom_slide": { - "target": -30, - "size": 0, - "offset": 0 + "target": 60, + "size": 2, + "offset": 2 }, "top_slide": { - "target": -10, + "target": -1, "size": 3, "offset": 0 }