###########################################################################
# All biomes
# This variable contains all registered biomes from all dimensions.
###########################################################################

allBiomes = forAllBiomes()

###########################################################################
# Overworld biomes
# These variables should contain all Overworld biome IDs.
###########################################################################

overworldBiomes = forAllBiomesExcept(8, 9, 127)

###########################################################################
# Nether biomes
# These variables should contain all Nether biome IDs.
###########################################################################

netherBiomes = forBiomes(8)

###########################################################################
# End biomes
# These variables should contain all End biome IDs.
###########################################################################

endBiomes = forBiomes(9)

###########################################################################
# Void biomes
# These variables should contain all Void biome IDs.
###########################################################################

endBiomes = forBiomes(127)

###########################################################################
# Ocean biomes
# These variables should contain all oceanic biome IDs.
###########################################################################

oceanBiomes = forBiomes(0, 24, 96, 97)

###########################################################################
# Land biomes
# These variables should contain all land biome IDs.
# Uses forAllBiomesExcept() which means the actual ID parameters should be
# the same oceanic biome IDs used for oceanBiomes above.
###########################################################################

landBiomes = forAllBiomesExcept(0, 24, 96, 97)

###########################################################################
# Vanilla biomes
# Each vanilla biome has its own variable, should you need to reference it.
###########################################################################

vanillaOcean = forBiomes(0)
vanillaPlains = forBiomes(1)
vanillaDesert = forBiomes(2)
vanillaExtremeHills = forBiomes(3)
vanillaForest = forBiomes(4)
vanillaTaiga = forBiomes(5)
vanillaSwampland = forBiomes(6)
vanillaRiver = forBiomes(7)
vanillaHell = forBiomes(8)
vanillaSky = forBiomes(9)
vanillaFrozenOcean = forBiomes(10)
vanillaFrozenRiver = forBiomes(11)
vanillaIcePlains = forBiomes(12)
vanillaIceMountains = forBiomes(13)
vanillaMushroomIsland = forBiomes(14)
vanillaMushroomIslandShore = forBiomes(15)
vanillaBeach = forBiomes(16)
vanillaDesertHills = forBiomes(17)
vanillaForestHills = forBiomes(18)
vanillaTaigaHills = forBiomes(19)
vanillaExtremeHillsEdge = forBiomes(20)
vanillaJungle = forBiomes(21)
vanillaJungleHills = forBiomes(22)
vanillaJungleEdge = forBiomes(23)
vanillaDeepOcean = forBiomes(24)
vanillaStoneBeach = forBiomes(25)
vanillaColdBeach = forBiomes(26)
vanillaBirchForest = forBiomes(27)
vanillaBirchForestHills = forBiomes(28)
vanillaRoofedForest = forBiomes(29)
vanillaColdTaiga = forBiomes(30)
vanillaColdTaigaHills = forBiomes(31)
vanillaMegaTaiga = forBiomes(32)
vanillaMegaTaigaHills = forBiomes(33)
vanillaExtremeHillsPlus = forBiomes(34)
vanillaSavanna = forBiomes(35)
vanillaSavannaPlateau = forBiomes(36)
vanillaMesa = forBiomes(37)
vanillaMesaPlateauF = forBiomes(38)
vanillaMesaPlateau = forBiomes(39)
vanillaSunflowerPlains = forBiomes(129)
vanillaDesertM = forBiomes(130)
vanillaExtremeHillsM = forBiomes(131)
vanillaFlowerForest = forBiomes(132)
vanillaTaigaM = forBiomes(133)
vanillaSwamplandM = forBiomes(134)
vanillaIcePlainsSpikes = forBiomes(140)
vanillaJungleM = forBiomes(149)
vanillaJungleEdgeM = forBiomes(151)
vanillaBirchForestM = forBiomes(155)
vanillaBirchForestHillsM = forBiomes(156)
vanillaRoofedForestM = forBiomes(157)
vanillaColdTaigaM = forBiomes(158)
vanillaMegaSpruceTaiga = forBiomes(160)
vanillaRedwoodTaigaHills = forBiomes(161)
vanillaExtremeHillsPlusM = forBiomes(162)
vanillaSavannaM = forBiomes(163)
vanillaSavannaPlateauM = forBiomes(164)
vanillaMesaBryce = forBiomes(165)
vanillaMesaPlateauFM = forBiomes(166)
vanillaMesaPlateauM = forBiomes(167)

alps = forBiomes(41)
bamboo_forest = forBiomes(42)
bayou = forBiomes(43)
bog = forBiomes(44)
boreal_forest = forBiomes(45)
brushland = forBiomes(46)
chaparral = forBiomes(47)
cherry_blossom_grove = forBiomes(48)
cold_desert = forBiomes(49)
coniferous_forest = forBiomes(50)
coral_reef = forBiomes(96)
crag = forBiomes(51)
dead_forest = forBiomes(52)
dead_swamp = forBiomes(53)
eucalyptus_forest = forBiomes(54)
fen = forBiomes(55)
flower_field = forBiomes(56)
flower_island = forBiomes(102)
glacier = forBiomes(94)
grassland = forBiomes(57)
gravel_beach = forBiomes(40)
grove = forBiomes(58)
heathland = forBiomes(59)
highland = forBiomes(60)
kelp_forest = forBiomes(97)
land_of_lakes = forBiomes(61)
lavender_fields = forBiomes(62)
lush_desert = forBiomes(63)
lush_swamp = forBiomes(64)
mangrove = forBiomes(98)
maple_woods = forBiomes(65)
marsh = forBiomes(66)
meadow = forBiomes(67)
moor = forBiomes(68)
mountain_peaks = forBiomes(69)
mountain_foothills = forBiomes(93)
mystic_grove = forBiomes(70)
oasis = forBiomes(95)
ominous_woods = forBiomes(71)
orchard = forBiomes(72)
origin_island = forBiomes(99)
outback = forBiomes(73)
overgrown_cliffs = forBiomes(74)
prairie = forBiomes(75)
quagmire = forBiomes(76)
rainforest = forBiomes(77)
redwood_forest = forBiomes(78)
sacred_springs = forBiomes(79)
seasonal_forest = forBiomes(80)
shield = forBiomes(81)
shrubland = forBiomes(82)
snowy_coniferous_forest = forBiomes(83)
snowy_forest = forBiomes(84)
steppe = forBiomes(85)
temperate_rainforest = forBiomes(86)
tropical_island = forBiomes(100)
tropical_rainforest = forBiomes(87)
tundra = forBiomes(88)
volcanic_island = forBiomes(101)
wasteland = forBiomes(89)
wetland = forBiomes(90)
woodland = forBiomes(91)
xeric_shrubland = forBiomes(92)

###########################################################################
# Icy overworld biomes
# These variables should contain all ICY overworld biome IDs.
###########################################################################

vanillaIcyOverworldBiomes = forBiomes(11, 12, 13, 26, 30, 31, 140, 158)
bopIcyOverworldBiomes = forBiomes(41, 49, 83, 84, 94)

###########################################################################
# Cool overworld biomes
# These variables should contain all COOL overworld biome IDs.
###########################################################################

vanillaCoolOverworldBiomes = forBiomes(0, 3, 5, 19, 24, 25, 32, 33, 34, 131, 133, 160, 161, 162)
bopCoolOverworldBiomes = forBiomes(40, 65, 69, 88, 93)

###########################################################################
# Warm overworld biomes
# These variables should contain all WARM overworld biome IDs.
###########################################################################

vanillaWarmOverworldBiomes = forBiomes(1, 4, 6, 7, 14, 15, 16, 18, 21, 22, 23, 27, 28, 29, 129, 132, 134, 149, 151, 155, 156, 157)
bopWarmOverworldBiomes = forBiomes(43, 44, 45, 47, 48, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 64, 66, 67, 68, 70, 71, 72, 74, 75, 76, 77, 78, 79, 80, 81, 82, 85, 86, 89, 90, 91, 92, 96, 97, 98, 99, 101, 102)

###########################################################################
# Desert overworld biomes
# These variables should contain all DESERT overworld biome IDs.
###########################################################################

vanillaDesertOverworldBiomes = forBiomes(2, 17, 35, 36, 37, 38, 39, 130, 163, 164, 165, 166, 167)
bopDesertOverworldBiomes = forBiomes(42, 46, 63, 73, 87, 95, 100)

###########################################################################
# Add all Overworld biomes to the biome pool with a default weight of 1.
# This needs to appear BEFORE biome weights are set.
###########################################################################

vanillaIcyOverworldBiomes.addToGeneration("ICY", 1)
vanillaCoolOverworldBiomes.addToGeneration("COOL", 1)
vanillaWarmOverworldBiomes.addToGeneration("WARM", 1)
vanillaDesertOverworldBiomes.addToGeneration("DESERT", 1)

bopIcyOverworldBiomes.addToGeneration("ICY", 1)
bopCoolOverworldBiomes.addToGeneration("COOL", 1)
bopWarmOverworldBiomes.addToGeneration("WARM", 1)
bopDesertOverworldBiomes.addToGeneration("DESERT", 1)

###########################################################################
# Biome weights
# Controls how frequently biomes are generated.
# You may change the weights to whatever you want.
# Weights must be non-negative integers.
###########################################################################

vanillaBeach.set("genWeight", 1)
vanillaBirchForest.set("genWeight", 10)
vanillaBirchForestHills.set("genWeight", 8)
vanillaBirchForestHillsM.set("genWeight", 4)
vanillaBirchForestM.set("genWeight", 4)
vanillaColdBeach.set("genWeight", 1)
vanillaColdTaiga.set("genWeight", 10)
vanillaColdTaigaHills.set("genWeight", 8)
vanillaColdTaigaM.set("genWeight", 4)
vanillaDeepOcean.set("genWeight", 2)
vanillaDesert.set("genWeight", 10)
vanillaDesertHills.set("genWeight", 8)
vanillaDesertM.set("genWeight", 4)
vanillaExtremeHills.set("genWeight", 10)
vanillaExtremeHillsM.set("genWeight", 4)
vanillaExtremeHillsPlus.set("genWeight", 4)
vanillaExtremeHillsPlusM.set("genWeight", 2)
vanillaFlowerForest.set("genWeight", 4)
vanillaForest.set("genWeight", 10)
vanillaForestHills.set("genWeight", 8)
vanillaFrozenRiver.set("genWeight", 1)
vanillaIceMountains.set("genWeight", 2)
vanillaIcePlains.set("genWeight", 10)
vanillaIcePlainsSpikes.set("genWeight", 1)
vanillaJungle.set("genWeight", 10)
vanillaJungleEdge.set("genWeight", 4)
vanillaJungleEdgeM.set("genWeight", 2)
vanillaJungleHills.set("genWeight", 8)
vanillaJungleM.set("genWeight", 4)
vanillaMegaSpruceTaiga.set("genWeight", 4)
vanillaMegaTaiga.set("genWeight", 10)
vanillaMegaTaigaHills.set("genWeight", 8)
vanillaMesa.set("genWeight", 1)
vanillaMesaBryce.set("genWeight", 1)
vanillaMesaPlateau.set("genWeight", 1)
vanillaMesaPlateauF.set("genWeight", 1)
vanillaMesaPlateauFM.set("genWeight", 1)
vanillaMesaPlateauM.set("genWeight", 1)
vanillaMushroomIsland.set("genWeight", 1)
vanillaMushroomIslandShore.set("genWeight", 1)
vanillaOcean.set("genWeight", 2)
vanillaPlains.set("genWeight", 10)
vanillaRiver.set("genWeight", 1)
vanillaRoofedForest.set("genWeight", 8)
vanillaRoofedForestM.set("genWeight", 4)
vanillaSavanna.set("genWeight", 10)
vanillaSavannaM.set("genWeight", 4)
vanillaSavannaPlateau.set("genWeight", 6)
vanillaSavannaPlateauM.set("genWeight", 2)
vanillaStoneBeach.set("genWeight", 1)
vanillaSunflowerPlains.set("genWeight", 4)
vanillaSwampland.set("genWeight", 10)
vanillaSwamplandM.set("genWeight", 4)
vanillaTaiga.set("genWeight", 10)
vanillaTaigaHills.set("genWeight", 8)
vanillaTaigaM.set("genWeight", 4)

alps.set("genWeight", 5)
bamboo_forest.set("genWeight", 5)
bayou.set("genWeight", 5)
bog.set("genWeight", 5)
boreal_forest.set("genWeight", 5)
brushland.set("genWeight", 5)
chaparral.set("genWeight", 5)
cherry_blossom_grove.set("genWeight", 5)
cold_desert.set("genWeight", 5)
coniferous_forest.set("genWeight", 5)
coral_reef.set("genWeight", 5)
crag.set("genWeight", 5)
dead_forest.set("genWeight", 5)
dead_swamp.set("genWeight", 5)
eucalyptus_forest.set("genWeight", 5)
fen.set("genWeight", 5)
flower_field.set("genWeight", 5)
flower_island.set("genWeight", 5)
glacier.set("genWeight", 5)
grassland.set("genWeight", 5)
gravel_beach.set("genWeight", 5)
grove.set("genWeight", 5)
heathland.set("genWeight", 5)
highland.set("genWeight", 5)
kelp_forest.set("genWeight", 5)
land_of_lakes.set("genWeight", 5)
lavender_fields.set("genWeight", 5)
lush_desert.set("genWeight", 5)
lush_swamp.set("genWeight", 5)
mangrove.set("genWeight", 5)
maple_woods.set("genWeight", 5)
marsh.set("genWeight", 5)
meadow.set("genWeight", 5)
moor.set("genWeight", 5)
mountain_peaks.set("genWeight", 5)
mountain_foothills.set("genWeight", 5)
mystic_grove.set("genWeight", 5)
oasis.set("genWeight", 5)
ominous_woods.set("genWeight", 5)
orchard.set("genWeight", 5)
origin_island.set("genWeight", 5)
outback.set("genWeight", 5)
overgrown_cliffs.set("genWeight", 5)
prairie.set("genWeight", 5)
quagmire.set("genWeight", 5)
rainforest.set("genWeight", 5)
redwood_forest.set("genWeight", 5)
sacred_springs.set("genWeight", 5)
seasonal_forest.set("genWeight", 5)
shield.set("genWeight", 5)
shrubland.set("genWeight", 5)
snowy_coniferous_forest.set("genWeight", 5)
snowy_forest.set("genWeight", 5)
steppe.set("genWeight", 5)
temperate_rainforest.set("genWeight", 5)
tropical_island.set("genWeight", 5)
tropical_rainforest.set("genWeight", 5)
tundra.set("genWeight", 5)
volcanic_island.set("genWeight", 5)
wasteland.set("genWeight", 5)
wetland.set("genWeight", 5)
woodland.set("genWeight", 5)
xeric_shrubland.set("genWeight", 5)

###########################################################################
# Set the biome size for the "Realistic" world type
# Default is 4; Large Biomes is 6
###########################################################################

Tweaker.setAverageBiomeSize("RTG", 4)

###########################################################################
# Set the biomes that players can spawn in
# By default, players may spawn in any land biome.
# You may use any of the variables above to set spawn biomes.
# For example:
# vanillaFlowerForest.set("isSpawnBiome", true)
# overworldBiomes.set("isSpawnBiome", true)
# vanillaIcyOverworldBiomes.set("isSpawnBiome", false)
###########################################################################

oceanBiomes.set("isSpawnBiome", false)
landBiomes.set("isSpawnBiome", true)

###########################################################################
# Remove biomes from generation
# River biomes must be removed here, but they will still generate.
###########################################################################

vanillaExtremeHillsEdge.remove()
vanillaFrozenOcean.remove()
vanillaRiver.remove()
vanillaFrozenRiver.remove()