From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Thu, 2 Jul 2020 21:48:06 -0500 Subject: [PATCH] Make natural spawns per biome configurable diff --git a/src/main/java/net/minecraft/server/BiomeBase.java b/src/main/java/net/minecraft/server/BiomeBase.java index 52ebdfcc0..9259ba1af 100644 --- a/src/main/java/net/minecraft/server/BiomeBase.java +++ b/src/main/java/net/minecraft/server/BiomeBase.java @@ -25,6 +25,23 @@ import org.apache.logging.log4j.Logger; public class BiomeBase { + // Purpur start + protected static org.bukkit.configuration.file.YamlConfiguration biomeData; + + static { + String filename = "biomes.yml"; + java.io.File file = new java.io.File(filename); + if (!file.exists()) { + try { + java.nio.file.Files.copy(BiomeBase.class.getResourceAsStream("/" + filename), file.toPath(), java.nio.file.StandardCopyOption.REPLACE_EXISTING); + } catch (Exception e) { + MinecraftServer.LOGGER.error("Unable to save biomes.yml!", e); + } + } + biomeData = org.bukkit.configuration.file.YamlConfiguration.loadConfiguration(file); + } + // Purpur end + public static final Logger LOGGER = LogManager.getLogger(); // Paper decompile error - Spigots stupid decompiler public static final Codec b = RecordCodecBuilder.create(i -> { @@ -69,7 +86,7 @@ public class BiomeBase { protected final Map>> r; protected final List> s = Lists.newArrayList(); private final Map, StructureFeature> u; - private final Map> v; + private final Map> v; protected Map> getSpawnData() { return v; } // Purpur - OBFHELPER private final Map, BiomeBase.e> w = Maps.newHashMap(); private final List x; private final ThreadLocal y = ThreadLocal.withInitial(() -> { @@ -187,7 +204,7 @@ public class BiomeBase { } protected void a(EnumCreatureType enumcreaturetype, BiomeBase.BiomeMeta biomebase_biomemeta) { - ((List) this.v.get(enumcreaturetype)).add(biomebase_biomemeta); + //((List) this.v.get(type)).add(meta); // Purpur - don't auto register mobs } protected void a(EntityTypes entitytypes, double d0, double d1) { diff --git a/src/main/java/net/minecraft/server/Biomes.java b/src/main/java/net/minecraft/server/Biomes.java index eaa527f4f..d39b19f79 100644 --- a/src/main/java/net/minecraft/server/Biomes.java +++ b/src/main/java/net/minecraft/server/Biomes.java @@ -91,6 +91,35 @@ public abstract class Biomes { BiomeBase.reg.a(biomebase, IRegistry.BIOME.a(IRegistry.BIOME.get(new MinecraftKey(biomebase.l)))); } + // Purpur start + org.bukkit.configuration.ConfigurationSection section = BiomeBase.biomeData.getConfigurationSection(s + ".spawn-data"); + if (section != null) { + for (String entity : section.getKeys(false)) { + EntityTypes type = EntityTypes.getType(entity).orElse(null); + if (type == null) { + MinecraftServer.LOGGER.error("Unknown entity type in biomes.yml for " + s + "." + entity); + continue; + } + String raw = section.getString(entity); + if (raw == null || raw.isEmpty()) { + continue; + } + int weight, min, max; + try { + String[] split = raw.trim().replace(" ", "").split(","); + weight = Integer.parseInt(split[0]); + min = Integer.parseInt(split[1]); + max = Integer.parseInt(split[2]); + } catch (Exception e) { + MinecraftServer.LOGGER.error("Error parsing data in biomes.yml for " + s + "." + entity, e); + continue; + } + biomebase.getSpawnData().get(type.getEnumCreatureType()) + .add(new BiomeBase.BiomeMeta(type, weight, min, max)); + } + } + // Purpur end + return biomebase; } diff --git a/src/main/resources/biomes.yml b/src/main/resources/biomes.yml new file mode 100644 index 000000000..ff48801c3 --- /dev/null +++ b/src/main/resources/biomes.yml @@ -0,0 +1,1065 @@ +ocean: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + drowned: 5,1,1 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + bat: 10,8,8 + squid: 1,1,4 + cod: 10,3,6 + dolphin: 1,1,2 +plains: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + horse: 5,2,6 + donkey: 1,1,3 + bat: 10,8,8 +desert: + spawn-data: + spider: 100,4,4 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + zombie: 19,4,4 + zombie_villager: 1,1,1 + husk: 80,4,4 + rabbit: 4,2,3 + bat: 10,8,8 +mountains: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + llama: 5,4,6 + bat: 10,8,8 +forest: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + wolf: 5,4,4 + bat: 10,8,8 +taiga: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + wolf: 8,4,4 + rabbit: 4,2,3 + fox: 8,2,4 + bat: 10,8,8 +swamp: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 1,1,1 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + bat: 10,8,8 +river: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + drowned: 100,1,1 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + bat: 10,8,8 + squid: 2,1,4 + salmon: 5,1,5 +nether_wastes: + spawn-data: + ghast: 50,4,4 + zombified_piglin: 100,4,4 + magma_cube: 2,4,4 + enderman: 1,4,4 + piglin: 15,4,4 + strider: 60,1,2 +the_end: + spawn-data: + enderman: 10,4,4 +frozen_ocean: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + drowned: 5,1,1 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + polar_bear: 1,1,2 + bat: 10,8,8 + squid: 1,1,4 + salmon: 15,1,5 +frozen_river: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + drowned: 1,1,1 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + bat: 10,8,8 + squid: 2,1,4 + salmon: 5,1,5 +snowy_tundra: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + skeleton: 20,4,4 + stray: 80,4,4 + rabbit: 10,2,3 + polar_bear: 1,1,2 + bat: 10,8,8 +snowy_mountains: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + skeleton: 20,4,4 + stray: 80,4,4 + rabbit: 10,2,3 + polar_bear: 1,1,2 + bat: 10,8,8 +mushroom_fields: + spawn-data: + mooshroom: 8,4,8 + bat: 10,8,8 +mushroom_field_shore: + spawn-data: + mooshroom: 8,4,8 + bat: 10,8,8 +beach: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + turtle: 5,2,5 + bat: 10,8,8 +desert_hills: + spawn-data: + spider: 100,4,4 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + zombie: 19,4,4 + zombie_villager: 1,1,1 + husk: 80,4,4 + rabbit: 4,2,3 + bat: 10,8,8 +wooded_hills: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + wolf: 5,4,4 + bat: 10,8,8 +taiga_hills: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + wolf: 8,4,4 + rabbit: 4,2,3 + fox: 8,2,4 + bat: 10,8,8 +mountain_edge: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + llama: 5,4,6 + bat: 10,8,8 +jungle: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + ocelot: 2,1,3 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + parrot: 40,1,2 + panda: 1,1,2 + bat: 10,8,8 +jungle_hills: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + ocelot: 2,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + parrot: 10,1,1 + panda: 1,1,2 + bat: 10,8,8 +jungle_edge: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + bat: 10,8,8 +deep_ocean: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + drowned: 5,1,1 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + bat: 10,8,8 + squid: 1,1,4 + cod: 10,3,6 + dolphin: 1,1,2 +stone_shore: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + bat: 10,8,8 +snowy_beach: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + bat: 10,8,8 +birch_forest: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + bat: 10,8,8 +birch_forest_hills: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + bat: 10,8,8 +dark_forest: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + bat: 10,8,8 +snowy_taiga: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + wolf: 8,4,4 + rabbit: 4,2,3 + fox: 8,2,4 + bat: 10,8,8 +snowy_taiga_hills: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + wolf: 8,4,4 + rabbit: 4,2,3 + fox: 8,2,4 + bat: 10,8,8 +giant_tree_taiga: + spawn-data: + spider: 100,4,4 + zombie: 100,4,4 + skeleton: 100,4,4 + zombie_villager: 25,1,1 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + wolf: 8,4,4 + rabbit: 4,2,3 + fox: 8,2,4 + bat: 10,8,8 +giant_tree_taiga_hills: + spawn-data: + spider: 100,4,4 + zombie: 100,4,4 + skeleton: 100,4,4 + zombie_villager: 25,1,1 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + wolf: 8,4,4 + rabbit: 4,2,3 + fox: 8,2,4 + bat: 10,8,8 +wooded_mountains: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + llama: 5,4,6 + bat: 10,8,8 +savanna: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + horse: 1,2,6 + donkey: 1,1,1 + bat: 10,8,8 +savanna_plateau: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + horse: 1,2,6 + donkey: 1,1,1 + llama: 8,4,4 + bat: 10,8,8 +badlands: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + bat: 10,8,8 +wooded_badlands_plateau: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + bat: 10,8,8 +badlands_plateau: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + bat: 10,8,8 +small_end_islands: + spawn-data: + enderman: 10,4,4 +end_midlands: + spawn-data: + enderman: 10,4,4 +end_highlands: + spawn-data: + enderman: 10,4,4 +end_barrens: + spawn-data: + enderman: 10,4,4 +warm_ocean: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + bat: 10,8,8 + squid: 10,4,4 + pufferfish: 15,1,3 + tropical_fish: 25,8,8 + dolphin: 2,1,2 +lukewarm_ocean: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + drowned: 5,1,1 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + bat: 10,8,8 + squid: 10,1,2 + cod: 15,3,6 + pufferfish: 5,1,3 + tropical_fish: 25,8,8 + dolphin: 2,1,2 +cold_ocean: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + drowned: 5,1,1 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + bat: 10,8,8 + squid: 3,1,4 + cod: 15,3,6 + salmon: 15,1,5 +deep_warm_ocean: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + drowned: 5,1,1 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + bat: 10,8,8 + squid: 5,1,4 + tropical_fish: 25,8,8 + dolphin: 2,1,2 +deep_lukewarm_ocean: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + drowned: 5,1,1 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + bat: 10,8,8 + squid: 8,1,4 + cod: 8,3,6 + pufferfish: 5,1,3 + tropical_fish: 25,8,8 + dolphin: 2,1,2 +deep_cold_ocean: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + drowned: 5,1,1 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + bat: 10,8,8 + squid: 3,1,4 + cod: 15,3,6 + salmon: 15,1,5 +deep_frozen_ocean: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + drowned: 5,1,1 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + polar_bear: 1,1,2 + bat: 10,8,8 + squid: 1,1,4 + salmon: 15,1,5 +sunflower_plains: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + horse: 5,2,6 + donkey: 1,1,3 + bat: 10,8,8 +desert_lakes: + spawn-data: + spider: 100,4,4 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + zombie: 19,4,4 + zombie_villager: 1,1,1 + husk: 80,4,4 + rabbit: 4,2,3 + bat: 10,8,8 +gravelly_mountains: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + llama: 5,4,6 + bat: 10,8,8 +flower_forest: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + rabbit: 4,2,3 + bat: 10,8,8 +taiga_mountains: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + wolf: 8,4,4 + rabbit: 4,2,3 + fox: 8,2,4 + bat: 10,8,8 +swamp_hills: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 1,1,1 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + bat: 10,8,8 +ice_spikes: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + skeleton: 20,4,4 + stray: 80,4,4 + rabbit: 10,2,3 + polar_bear: 1,1,2 + bat: 10,8,8 +modified_jungle: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + ocelot: 2,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + parrot: 10,1,1 + bat: 10,8,8 +modified_jungle_edge: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + bat: 10,8,8 +tall_birch_forest: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + bat: 10,8,8 +tall_birch_hills: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + bat: 10,8,8 +dark_forest_hills: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + bat: 10,8,8 +snowy_taiga_mountains: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + wolf: 8,4,4 + rabbit: 4,2,3 + fox: 8,2,4 + bat: 10,8,8 +giant_spruce_taiga: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + wolf: 8,4,4 + rabbit: 4,2,3 + fox: 8,2,4 + bat: 10,8,8 +giant_spruce_taiga_hills: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + wolf: 8,4,4 + rabbit: 4,2,3 + fox: 8,2,4 + bat: 10,8,8 +modified_gravelly_mountains: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + llama: 5,4,6 + bat: 10,8,8 +shattered_savanna: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + horse: 1,2,6 + donkey: 1,1,1 + bat: 10,8,8 +shattered_savanna_plateau: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + horse: 1,2,6 + donkey: 1,1,1 + bat: 10,8,8 +eroded_badlands: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + bat: 10,8,8 +modified_wooded_badlands_plateau: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + bat: 10,8,8 +modified_badlands_plateau: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + bat: 10,8,8 +bamboo_jungle: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + ocelot: 2,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + parrot: 40,1,2 + panda: 80,1,2 + bat: 10,8,8 +bamboo_jungle_hills: + spawn-data: + spider: 100,4,4 + zombie: 95,4,4 + zombie_villager: 5,1,1 + skeleton: 100,4,4 + creeper: 100,4,4 + slime: 100,4,4 + enderman: 10,1,4 + witch: 5,1,1 + ocelot: 2,1,1 + sheep: 12,4,4 + pig: 10,4,4 + chicken: 10,4,4 + cow: 8,4,4 + parrot: 10,1,1 + panda: 80,1,2 + bat: 10,8,8 +soul_sand_valley: + spawn-data: + skeleton: 20,5,5 + ghast: 50,4,4 + enderman: 1,4,4 + strider: 60,1,2 +crimson_forest: + spawn-data: + zombified_piglin: 1,2,4 + hoglin: 9,3,4 + piglin: 5,3,4 + strider: 60,1,2 +warped_forest: + spawn-data: + enderman: 1,4,4 + strider: 60,1,2 +basalt_deltas: + spawn-data: + ghast: 40,1,1 + magma_cube: 100,2,5 + strider: 60,1,2