From a13f8c3a40e4b3c43f705be21fee3db1f7751f6f Mon Sep 17 00:00:00 2001 From: CodeCraft <86466022+CodeCraftPlugin@users.noreply.github.com> Date: Fri, 1 Dec 2023 21:16:16 +0530 Subject: [PATCH] removed biomes datagen and now works on json --- .../worldgen/biome/darkened_depths.json | 78 -------- .../DarkenDepthsDataGenerator.java | 3 - .../DarkenDepthsTerrablenderApi.java | 7 +- .../datagen/DarkenDepthsWorldGenerator.java | 1 - ...estBiomes.java => DarkenDepthsBiomes.java} | 6 +- .../world/DarkenDepthsBiomesBootStrap.java | 34 ---- .../world/biome/custom/DarkenDepthRegion.java | 29 +++ ...a.java => DarkenDepthSurfaceRuleData.java} | 12 +- .../biome/custom/DarkenDepthsBiomes.java | 103 ---------- .../world/biome/custom/TestRegion1.java | 3 +- .../world/biome/custom/TestRegion2.java | 3 +- .../worldgen/biome/darkened_depths.json | 187 ++++++++++++++++++ 12 files changed, 236 insertions(+), 230 deletions(-) delete mode 100644 src/main/generated/data/darkendepths/worldgen/biome/darkened_depths.json rename src/main/java/me/codecraft/darkendepths/world/{biome/custom/TestBiomes.java => DarkenDepthsBiomes.java} (89%) delete mode 100644 src/main/java/me/codecraft/darkendepths/world/DarkenDepthsBiomesBootStrap.java create mode 100644 src/main/java/me/codecraft/darkendepths/world/biome/custom/DarkenDepthRegion.java rename src/main/java/me/codecraft/darkendepths/world/biome/custom/{TestSurfaceRuleData.java => DarkenDepthSurfaceRuleData.java} (77%) delete mode 100644 src/main/java/me/codecraft/darkendepths/world/biome/custom/DarkenDepthsBiomes.java create mode 100644 src/main/resources/data/darkendepths/worldgen/biome/darkened_depths.json diff --git a/src/main/generated/data/darkendepths/worldgen/biome/darkened_depths.json b/src/main/generated/data/darkendepths/worldgen/biome/darkened_depths.json deleted file mode 100644 index 9a8cbd2..0000000 --- a/src/main/generated/data/darkendepths/worldgen/biome/darkened_depths.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "carvers": { - "air": [ - "minecraft:cave", - "minecraft:cave_extra_underground", - "minecraft:canyon" - ] - }, - "downfall": 0.8, - "effects": { - "fog_color": 1936563, - "foliage_color": 10474138, - "grass_color": 5279306, - "sky_color": 2341614, - "water_color": 6130396, - "water_fog_color": 10132178 - }, - "features": [ - [], - [], - [ - "minecraft:amethyst_geode" - ], - [ - "minecraft:monster_room", - "minecraft:monster_room_deep" - ], - [], - [], - [ - "minecraft:ore_dirt", - "minecraft:ore_gravel", - "minecraft:ore_granite_upper", - "minecraft:ore_granite_lower", - "minecraft:ore_diorite_upper", - "minecraft:ore_diorite_lower", - "minecraft:ore_andesite_lower", - "minecraft:ore_andesite_upper" - ], - [ - "darkendepths:darkened_stone_ore_placed" - ] - ], - "has_precipitation": true, - "spawn_costs": {}, - "spawners": { - "ambient": [ - { - "type": "minecraft:bat", - "maxCount": 2, - "minCount": 1, - "weight": 1 - } - ], - "axolotls": [], - "creature": [], - "misc": [], - "monster": [ - { - "type": "minecraft:zombie", - "maxCount": 4, - "minCount": 4, - "weight": 10 - } - ], - "underground_water_creature": [], - "water_ambient": [ - { - "type": "minecraft:salmon", - "maxCount": 5, - "minCount": 5, - "weight": 5 - } - ], - "water_creature": [] - }, - "temperature": 0.5 -} \ No newline at end of file diff --git a/src/main/java/me/codecraft/darkendepths/DarkenDepthsDataGenerator.java b/src/main/java/me/codecraft/darkendepths/DarkenDepthsDataGenerator.java index 9ffcf89..6709405 100644 --- a/src/main/java/me/codecraft/darkendepths/DarkenDepthsDataGenerator.java +++ b/src/main/java/me/codecraft/darkendepths/DarkenDepthsDataGenerator.java @@ -3,14 +3,12 @@ import me.codecraft.darkendepths.datagen.*; import me.codecraft.darkendepths.datagen.loottables.DarkenDepthsBlockLootTablesGenerator; import me.codecraft.darkendepths.datagen.tags.DarkenDepthsBlockMiningLevelGenerator; -import me.codecraft.darkendepths.world.DarkenDepthsBiomesBootStrap; import me.codecraft.darkendepths.world.DarkenDepthsConfiguredFeatures; import me.codecraft.darkendepths.world.DarkenDepthsPlacedFeatures; import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint; import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; import net.minecraft.registry.RegistryBuilder; import net.minecraft.registry.RegistryKeys; -import net.minecraft.world.gen.feature.OrePlacedFeatures; import org.jetbrains.annotations.Nullable; public class DarkenDepthsDataGenerator implements DataGeneratorEntrypoint { @@ -30,7 +28,6 @@ public void onInitializeDataGenerator(FabricDataGenerator fabricDataGenerator) { public void buildRegistry(RegistryBuilder registryBuilder) { registryBuilder.addRegistry(RegistryKeys.CONFIGURED_FEATURE, DarkenDepthsConfiguredFeatures::bootstrap); registryBuilder.addRegistry(RegistryKeys.PLACED_FEATURE, DarkenDepthsPlacedFeatures::bootstrap); - registryBuilder.addRegistry(RegistryKeys.BIOME, DarkenDepthsBiomesBootStrap::bootstrap); // OrePlacedFeatures } diff --git a/src/main/java/me/codecraft/darkendepths/DarkenDepthsTerrablenderApi.java b/src/main/java/me/codecraft/darkendepths/DarkenDepthsTerrablenderApi.java index 0d623c3..3c53bb4 100644 --- a/src/main/java/me/codecraft/darkendepths/DarkenDepthsTerrablenderApi.java +++ b/src/main/java/me/codecraft/darkendepths/DarkenDepthsTerrablenderApi.java @@ -1,9 +1,11 @@ package me.codecraft.darkendepths; +import me.codecraft.darkendepths.world.biome.custom.DarkenDepthRegion; +import me.codecraft.darkendepths.world.biome.custom.DarkenDepthSurfaceRuleData; import me.codecraft.darkendepths.world.biome.custom.TestRegion1; import me.codecraft.darkendepths.world.biome.custom.TestRegion2; -import me.codecraft.darkendepths.world.biome.custom.TestSurfaceRuleData; import net.minecraft.util.Identifier; +import terrablender.api.RegionType; import terrablender.api.Regions; import terrablender.api.SurfaceRuleManager; import terrablender.api.TerraBlenderApi; @@ -17,8 +19,9 @@ public void onTerraBlenderInitialized() { // Weights are kept intentionally low as we add minimal biomes Regions.register(new TestRegion1(new Identifier(MOD_ID, "overworld_1"), 10)); Regions.register(new TestRegion2(new Identifier(MOD_ID, "overworld_2"), 12)); + Regions.register(new DarkenDepthRegion(new Identifier(MOD_ID, "overworld_3"), RegionType.OVERWORLD, 2)); // Register our surface rules -// SurfaceRuleManager.addSurfaceRules(SurfaceRuleManager.RuleCategory.OVERWORLD, MOD_ID, TestSurfaceRuleData.makeRules()); +// SurfaceRuleManager.addSurfaceRules(SurfaceRuleManager.RuleCategory.OVERWORLD, MOD_ID, DarkenDepthSurfaceRuleData.makeRules()); } } \ No newline at end of file diff --git a/src/main/java/me/codecraft/darkendepths/datagen/DarkenDepthsWorldGenerator.java b/src/main/java/me/codecraft/darkendepths/datagen/DarkenDepthsWorldGenerator.java index 2fdf9bc..d4db684 100644 --- a/src/main/java/me/codecraft/darkendepths/datagen/DarkenDepthsWorldGenerator.java +++ b/src/main/java/me/codecraft/darkendepths/datagen/DarkenDepthsWorldGenerator.java @@ -16,7 +16,6 @@ public DarkenDepthsWorldGenerator(FabricDataOutput output, CompletableFuture HOT_RED = register("hot_red"); public static final RegistryKey COLD_BLUE = register("cold_blue"); - + public static final RegistryKey DARKENED_DEPTHS = register("darkened_depths"); private static RegistryKey register(String name) { return RegistryKey.of(RegistryKeys.BIOME, new Identifier(DarkenDepths.MOD_ID, name)); diff --git a/src/main/java/me/codecraft/darkendepths/world/DarkenDepthsBiomesBootStrap.java b/src/main/java/me/codecraft/darkendepths/world/DarkenDepthsBiomesBootStrap.java deleted file mode 100644 index dae3bdc..0000000 --- a/src/main/java/me/codecraft/darkendepths/world/DarkenDepthsBiomesBootStrap.java +++ /dev/null @@ -1,34 +0,0 @@ -package me.codecraft.darkendepths.world; - -import me.codecraft.darkendepths.DarkenDepths; -import me.codecraft.darkendepths.world.biome.custom.DarkenDepthsBiomes; -import net.minecraft.registry.Registerable; -import net.minecraft.registry.RegistryEntryLookup; -import net.minecraft.registry.RegistryKey; -import net.minecraft.registry.RegistryKeys; -import net.minecraft.util.Identifier; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.gen.carver.ConfiguredCarver; -import net.minecraft.world.gen.feature.PlacedFeature; - -public class DarkenDepthsBiomesBootStrap { - - - - public static void bootstrap(Registerable context) { - RegistryEntryLookup placedFeatureLookup = context.getRegistryLookup(RegistryKeys.PLACED_FEATURE); - RegistryEntryLookup> configuredCarverLookup = context.getRegistryLookup(RegistryKeys.CONFIGURED_CARVER); - register(context, DarkenDepthsBiomes.DARKENED_DEPTHS, DarkenDepthsBiomes.createDarkenDepths(placedFeatureLookup,configuredCarverLookup)); - - } - - public static RegistryKey registerKey(String name) { - return RegistryKey.of(RegistryKeys.BIOME, new Identifier(DarkenDepths.MOD_ID, name)); - } - - private static void register(Registerable context, RegistryKey key, Biome biome) { - context.register(key, biome); - } - - -} diff --git a/src/main/java/me/codecraft/darkendepths/world/biome/custom/DarkenDepthRegion.java b/src/main/java/me/codecraft/darkendepths/world/biome/custom/DarkenDepthRegion.java new file mode 100644 index 0000000..2448a5d --- /dev/null +++ b/src/main/java/me/codecraft/darkendepths/world/biome/custom/DarkenDepthRegion.java @@ -0,0 +1,29 @@ +package me.codecraft.darkendepths.world.biome.custom; + +import com.mojang.datafixers.util.Pair; +import me.codecraft.darkendepths.world.DarkenDepthsBiomes; +import net.minecraft.registry.Registry; +import net.minecraft.registry.RegistryKey; +import net.minecraft.util.Identifier; +import net.minecraft.world.biome.Biome; +import net.minecraft.world.biome.BiomeKeys; +import net.minecraft.world.biome.source.util.MultiNoiseUtil; +import terrablender.api.Region; +import terrablender.api.RegionType; + +import java.util.function.Consumer; + +public class DarkenDepthRegion extends Region { + public DarkenDepthRegion(Identifier name, RegionType type, int weight) { + super(name, type, weight); + } + + + @Override + public void addBiomes(Registry registry, Consumer>> mapper) { + this.addModifiedVanillaOverworldBiomes(mapper, builder -> { + builder.replaceBiome(BiomeKeys.DEEP_DARK, DarkenDepthsBiomes.DARKENED_DEPTHS); + }); + super.addBiomes(registry, mapper); + } +} diff --git a/src/main/java/me/codecraft/darkendepths/world/biome/custom/TestSurfaceRuleData.java b/src/main/java/me/codecraft/darkendepths/world/biome/custom/DarkenDepthSurfaceRuleData.java similarity index 77% rename from src/main/java/me/codecraft/darkendepths/world/biome/custom/TestSurfaceRuleData.java rename to src/main/java/me/codecraft/darkendepths/world/biome/custom/DarkenDepthSurfaceRuleData.java index eb1d1a7..212fa6c 100644 --- a/src/main/java/me/codecraft/darkendepths/world/biome/custom/TestSurfaceRuleData.java +++ b/src/main/java/me/codecraft/darkendepths/world/biome/custom/DarkenDepthSurfaceRuleData.java @@ -17,16 +17,19 @@ */ package me.codecraft.darkendepths.world.biome.custom; +import me.codecraft.darkendepths.blocks.DarkenDepthsBlocks; +import me.codecraft.darkendepths.world.DarkenDepthsBiomes; import net.minecraft.block.Block; import net.minecraft.block.Blocks; import net.minecraft.world.gen.surfacebuilder.MaterialRules; -public class TestSurfaceRuleData +public class DarkenDepthSurfaceRuleData { private static final MaterialRules.MaterialRule DIRT = makeStateRule(Blocks.DIRT); private static final MaterialRules.MaterialRule GRASS_BLOCK = makeStateRule(Blocks.GRASS_BLOCK); private static final MaterialRules.MaterialRule RED_TERRACOTTA = makeStateRule(Blocks.RED_TERRACOTTA); private static final MaterialRules.MaterialRule BLUE_TERRACOTTA = makeStateRule(Blocks.BLUE_TERRACOTTA); + private static final MaterialRules.MaterialRule TEST = makeStateRule(DarkenDepthsBlocks.DARKENED_STONE_ORE); public static MaterialRules.MaterialRule makeRules() { @@ -34,15 +37,16 @@ public static MaterialRules.MaterialRule makeRules() MaterialRules.MaterialRule grassSurface = MaterialRules.sequence(MaterialRules.condition(isAtOrAboveWaterLevel, GRASS_BLOCK), DIRT); return MaterialRules.sequence( - MaterialRules.condition(MaterialRules.biome(TestBiomes.HOT_RED), RED_TERRACOTTA), - MaterialRules.condition(MaterialRules.biome(TestBiomes.COLD_BLUE),BLUE_TERRACOTTA ), + MaterialRules.condition(MaterialRules.biome(DarkenDepthsBiomes.HOT_RED), RED_TERRACOTTA), + MaterialRules.condition(MaterialRules.biome(DarkenDepthsBiomes.DARKENED_DEPTHS),BLUE_TERRACOTTA ), + MaterialRules.condition(MaterialRules.biome(DarkenDepthsBiomes.DARKENED_DEPTHS),TEST), // Default to a grass and dirt surface MaterialRules.condition(MaterialRules.STONE_DEPTH_FLOOR, grassSurface) ); } - private static MaterialRules.MaterialRule makeStateRule(Block block) + private static MaterialRules.MaterialRule makeStateRule(Block block) { return MaterialRules.block(block.getDefaultState()); } diff --git a/src/main/java/me/codecraft/darkendepths/world/biome/custom/DarkenDepthsBiomes.java b/src/main/java/me/codecraft/darkendepths/world/biome/custom/DarkenDepthsBiomes.java deleted file mode 100644 index 4235379..0000000 --- a/src/main/java/me/codecraft/darkendepths/world/biome/custom/DarkenDepthsBiomes.java +++ /dev/null @@ -1,103 +0,0 @@ -package me.codecraft.darkendepths.world.biome.custom; - -import me.codecraft.darkendepths.world.DarkenDepthsPlacedFeatures; -import net.minecraft.entity.EntityType; -import net.minecraft.entity.SpawnGroup; -import net.minecraft.registry.RegistryEntryLookup; -import net.minecraft.registry.RegistryKey; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.biome.BiomeEffects; -import net.minecraft.world.biome.GenerationSettings; -import net.minecraft.world.biome.SpawnSettings; -import net.minecraft.world.gen.GenerationStep; -import net.minecraft.world.gen.carver.ConfiguredCarver; -import net.minecraft.world.gen.carver.ConfiguredCarvers; -import net.minecraft.world.gen.feature.OrePlacedFeatures; -import net.minecraft.world.gen.feature.PlacedFeature; -import net.minecraft.world.gen.feature.UndergroundPlacedFeatures; - -import static me.codecraft.darkendepths.world.DarkenDepthsBiomesBootStrap.registerKey; - -public class DarkenDepthsBiomes { - public static final RegistryKey DARKENED_DEPTHS = registerKey("darkened_depths"); - - public static Biome createDarkenDepths(RegistryEntryLookup placedFeatureLookup, RegistryEntryLookup> configuredCarverLookup) { - return new Biome.Builder() - // if it rains, snows or nothing falls, like in a desert - .precipitation(true) - // temperature, between 0f and 1f. Lower is hotter (?), don't have 0.15f or lower if precipitation is not NONE - .temperature(0.5f) - // frozen is only other option, maybe use that for cold biomes - .temperatureModifier(Biome.TemperatureModifier.NONE) - // downfall, affects grass and foliage color. Between 0f and 1f, > 0.85f makes fire go out quicker, for wet biomes - .downfall(0.8f).effects(new BiomeEffects.Builder(). - // color of fog over land in the distance - fogColor(0x1D8CB3).skyColor(0x23BAEE).waterColor(0x5D8ADC). - // color of fog in water in the distance - waterFogColor(0x9A9AD2). - // optional - grassColor(0x508E4A). - // optional - foliageColor(0x9FD29A). - // optional, this is the default - grassColorModifier(BiomeEffects.GrassColorModifier.NONE). - // biome particles (optional) also go here - //particleConfig(...). - // sound stuff is also optional, but goes here too - //moodSound(...) - build()).generationSettings(new GenerationSettings.LookupBackedBuilder(placedFeatureLookup, configuredCarverLookup). - // same carvers as in plains biome - carver(GenerationStep.Carver.AIR, ConfiguredCarvers.CAVE).carver(GenerationStep.Carver.AIR, ConfiguredCarvers.CAVE_EXTRA_UNDERGROUND).carver(GenerationStep.Carver.AIR, ConfiguredCarvers.CANYON). - // Since we don't change existing biomes, we can simply register our own features here. - // for floating islands - //feature(GenerationStep.Feature.RAW_GENERATION, ...). - // for stuff like lava lakes - // feature(GenerationStep.Feature.LAKES, ExampleMod.MY_LAKE_PF). - // for stuff like geodes and icebergs - feature(GenerationStep.Feature.LOCAL_MODIFICATIONS, UndergroundPlacedFeatures.AMETHYST_GEODE). - // for stuff like dungeons or underground fossils - feature(GenerationStep.Feature.UNDERGROUND_STRUCTURES, UndergroundPlacedFeatures.MONSTER_ROOM). - feature(GenerationStep.Feature.UNDERGROUND_STRUCTURES, UndergroundPlacedFeatures.MONSTER_ROOM_DEEP). - // for surface structures like desert wells (NOT trees!) - // feature(GenerationStep.Feature.SURFACE_STRUCTURES, MiscPlacedFeatures.DESERT_WELL). - // for ore blobs, including gravel/dirt/tuff blobs, and disks of clay etc - feature(GenerationStep.Feature.UNDERGROUND_ORES, OrePlacedFeatures.ORE_DIRT). - feature(GenerationStep.Feature.UNDERGROUND_ORES, OrePlacedFeatures.ORE_GRAVEL). - feature(GenerationStep.Feature.UNDERGROUND_ORES, OrePlacedFeatures.ORE_GRANITE_UPPER). - feature(GenerationStep.Feature.UNDERGROUND_ORES, OrePlacedFeatures.ORE_GRANITE_LOWER). - feature(GenerationStep.Feature.UNDERGROUND_ORES, OrePlacedFeatures.ORE_DIORITE_UPPER). - feature(GenerationStep.Feature.UNDERGROUND_ORES, OrePlacedFeatures.ORE_DIORITE_LOWER). - feature(GenerationStep.Feature.UNDERGROUND_ORES, OrePlacedFeatures.ORE_ANDESITE_LOWER). - feature(GenerationStep.Feature.UNDERGROUND_ORES, OrePlacedFeatures.ORE_ANDESITE_UPPER). -// feature(GenerationStep.Feature.UNDERGROUND_ORES, ). - // this one is used for nether ore blobs for whatever reason - feature(GenerationStep.Feature.UNDERGROUND_DECORATION, DarkenDepthsPlacedFeatures.DARKENED_STONE_ORE_PLACED_KEY). - // for surface lakes I think - //feature(GenerationStep.Feature.FLUID_SPRINGS, ...). - // trees as well as the small stuff like flowers, vines etc - // feature(GenerationStep.Feature.VEGETAL_DECORATION, TreePlacedFeatures.JUNGLE_BUSH) - // feature(GenerationStep.Feature.VEGETAL_DECORATION, VegetationPlacedFeatures.PATCH_BERRY_COMMON). - // be careful to NOT add features here AND so in biome modifications that it applies to this biome - // that can lead to confusing feature cycle order exceptions - build()).spawnSettings(new SpawnSettings.Builder(). - // AMBIENT is for bats, rarely spawn one to two - spawn(SpawnGroup.AMBIENT, new SpawnSettings.SpawnEntry(EntityType.BAT, 1, 1, 2)). - // no axolotls in our biome - //spawn(SpawnGroup.AXOLOTL, ...). - // CREATURE is for peaceful land mobs / animals; polar bears and striders are included here - // spawn(SpawnGroup.CREATURE, new SpawnSettings.SpawnEntry(EntityType.PIG, 10, 3, 5)). - // spawn(SpawnGroup.CREATURE, new SpawnSettings.SpawnEntry(EntityType.SHEEP, 10, 3, 5)). - // spawn(SpawnGroup.CREATURE, new SpawnSettings.SpawnEntry(EntityType.FOX, 10, 1, 2)). - // no idea what this is for - //spawn(SpawnGroup.MISC, ...). - // MONSTER for neutral and hostile monsters - spawn(SpawnGroup.MONSTER, new SpawnSettings.SpawnEntry(EntityType.ZOMBIE, 10, 4, 4)). - // UNDERGROUND_WATER_CREATURE is for glow squids - //spawn(SpawnGroup.UNDERGROUND_WATER_CREATURE, ...). - // WATER_AMBIENT is for fish - spawn(SpawnGroup.WATER_AMBIENT, new SpawnSettings.SpawnEntry(EntityType.SALMON, 5, 5, 5)). - // WATER_CREATURE is for squids and dolphins - //spawn(SpawnGroup.WATER_CREATURE, new SpawnSettings.SpawnEntry(EntityType.SQUID), 10, 5, 5). - build()).build(); - } -} diff --git a/src/main/java/me/codecraft/darkendepths/world/biome/custom/TestRegion1.java b/src/main/java/me/codecraft/darkendepths/world/biome/custom/TestRegion1.java index 6faa106..21c9bde 100644 --- a/src/main/java/me/codecraft/darkendepths/world/biome/custom/TestRegion1.java +++ b/src/main/java/me/codecraft/darkendepths/world/biome/custom/TestRegion1.java @@ -18,6 +18,7 @@ package me.codecraft.darkendepths.world.biome.custom; import com.mojang.datafixers.util.Pair; +import me.codecraft.darkendepths.world.DarkenDepthsBiomes; import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryKey; import net.minecraft.util.Identifier; @@ -50,7 +51,7 @@ public void addBiomes(Registry registry, Consumer builder.add(point, TestBiomes.COLD_BLUE)); + .build().forEach(point -> builder.add(point, DarkenDepthsBiomes.COLD_BLUE)); // Add our points to the mapper builder.build().forEach(mapper::accept); diff --git a/src/main/java/me/codecraft/darkendepths/world/biome/custom/TestRegion2.java b/src/main/java/me/codecraft/darkendepths/world/biome/custom/TestRegion2.java index 254b941..fb07789 100644 --- a/src/main/java/me/codecraft/darkendepths/world/biome/custom/TestRegion2.java +++ b/src/main/java/me/codecraft/darkendepths/world/biome/custom/TestRegion2.java @@ -18,6 +18,7 @@ package me.codecraft.darkendepths.world.biome.custom; import com.mojang.datafixers.util.Pair; +import me.codecraft.darkendepths.world.DarkenDepthsBiomes; import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryKey; import net.minecraft.util.Identifier; @@ -41,7 +42,7 @@ public void addBiomes(Registry registry, Consumer { // Simple example: // Replace the Vanilla desert with our hot_red biome - builder.replaceBiome(BiomeKeys.DESERT, TestBiomes.HOT_RED); + builder.replaceBiome(BiomeKeys.DESERT, DarkenDepthsBiomes.HOT_RED); }); super.addBiomes(registry, mapper); } diff --git a/src/main/resources/data/darkendepths/worldgen/biome/darkened_depths.json b/src/main/resources/data/darkendepths/worldgen/biome/darkened_depths.json new file mode 100644 index 0000000..9137398 --- /dev/null +++ b/src/main/resources/data/darkendepths/worldgen/biome/darkened_depths.json @@ -0,0 +1,187 @@ +{ + "temperature": 2, + "downfall": 0, + "has_precipitation": false, + "effects": { + "sky_color": 7254527, + "fog_color": 12638463, + "water_color": 4159204, + "water_fog_color": 329011, + "mood_sound": { + "sound": "minecraft:ambient.cave", + "tick_delay": 6000, + "block_search_extent": 8, + "offset": 2 + }, + "music": { + "sound": "minecraft:music.overworld.desert", + "min_delay": 12000, + "max_delay": 24000, + "replace_current_music": false + } + }, + "spawners": { + "ambient": [ + { + "type": "minecraft:bat", + "weight": 10, + "minCount": 8, + "maxCount": 8 + } + ], + "axolotls": [], + "creature": [ + { + "type": "minecraft:rabbit", + "weight": 4, + "minCount": 2, + "maxCount": 3 + } + ], + "misc": [], + "monster": [ + { + "type": "minecraft:spider", + "weight": 100, + "minCount": 4, + "maxCount": 4 + }, + { + "type": "minecraft:zombie", + "weight": 19, + "minCount": 4, + "maxCount": 4 + }, + { + "type": "minecraft:zombie_villager", + "weight": 1, + "minCount": 1, + "maxCount": 1 + }, + { + "type": "minecraft:skeleton", + "weight": 100, + "minCount": 4, + "maxCount": 4 + }, + { + "type": "minecraft:creeper", + "weight": 100, + "minCount": 4, + "maxCount": 4 + }, + { + "type": "minecraft:slime", + "weight": 100, + "minCount": 4, + "maxCount": 4 + }, + { + "type": "minecraft:enderman", + "weight": 10, + "minCount": 1, + "maxCount": 4 + }, + { + "type": "minecraft:witch", + "weight": 5, + "minCount": 1, + "maxCount": 1 + }, + { + "type": "minecraft:husk", + "weight": 80, + "minCount": 4, + "maxCount": 4 + } + ], + "underground_water_creature": [ + { + "type": "minecraft:glow_squid", + "weight": 10, + "minCount": 4, + "maxCount": 6 + } + ], + "water_ambient": [], + "water_creature": [] + }, + "spawn_costs": {}, + "carvers": { + "air": [ + "minecraft:cave", + "minecraft:cave_extra_underground", + "minecraft:canyon" + ] + }, + "features": [ + [], + [ + "minecraft:lake_lava_underground", + "minecraft:lake_lava_surface" + ], + [ + "minecraft:amethyst_geode" + ], + [ + "minecraft:fossil_upper", + "minecraft:fossil_lower", + "minecraft:monster_room", + "minecraft:monster_room_deep" + ], + [ + "minecraft:desert_well" + ], + [], + [ + "minecraft:ore_dirt", + "minecraft:ore_gravel", + "minecraft:ore_granite_upper", + "minecraft:ore_granite_lower", + "minecraft:ore_diorite_upper", + "minecraft:ore_diorite_lower", + "minecraft:ore_andesite_upper", + "minecraft:ore_andesite_lower", + "minecraft:ore_tuff", + "minecraft:ore_coal_upper", + "minecraft:ore_coal_lower", + "minecraft:ore_iron_upper", + "minecraft:ore_iron_middle", + "minecraft:ore_iron_small", + "minecraft:ore_gold", + "minecraft:ore_gold_lower", + "minecraft:ore_redstone", + "minecraft:ore_redstone_lower", + "minecraft:ore_diamond", + "minecraft:ore_diamond_medium", + "minecraft:ore_diamond_large", + "minecraft:ore_diamond_buried", + "minecraft:ore_lapis", + "minecraft:ore_lapis_buried", + "minecraft:ore_copper", + "minecraft:underwater_magma", + "minecraft:disk_sand", + "minecraft:disk_clay", + "minecraft:disk_gravel" + ], + [], + [ + "minecraft:spring_water", + "minecraft:spring_lava" + ], + [ + "minecraft:glow_lichen", + "minecraft:flower_default", + "minecraft:patch_grass_badlands", + "minecraft:patch_dead_bush_2", + "minecraft:brown_mushroom_normal", + "minecraft:red_mushroom_normal", + "minecraft:patch_sugar_cane_desert", + "minecraft:patch_pumpkin", + "minecraft:patch_cactus_desert" + ], + [ + "minecraft:freeze_top_layer" + ] + ] +}