Update flora/fauna spawns to use a common system
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
from mcpacker.model.altitude import Altitude
|
||||
from mcpacker.model.ecology.biomefilter import BiomeFilter as BF
|
||||
from mcpacker.model.flora.plantspawn import PlantSpawn
|
||||
from mcpacker.model.resourceid import ResourceId
|
||||
from mcpacker.model.flora.plantspawnbuilder import PlantSpawnBuilder
|
||||
from mcpacker.model.modpack import ModPack
|
||||
from mcpacker.model.resourceid import ResourceId
|
||||
|
||||
import mcpacker.model.altitude as AL
|
||||
import mcpacker.model.ecology.flora as FL
|
||||
@@ -18,429 +19,370 @@ import mcpacker.model.scarcity as SC
|
||||
|
||||
def addPlantSpawns(pack:ModPack):
|
||||
plants = pack.world.plants
|
||||
spawns = pack.world.plantSpawns
|
||||
b = PlantSpawnBuilder(pack.world.plantSpawns)
|
||||
|
||||
# Crop Patches #############################################################
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["athelas"],
|
||||
altitude = AL.span(AL.LOWLANDS, AL.HILLS),
|
||||
biomeFilters = BF([FL.CANOPY, HE.TEMPERATE]),
|
||||
scarcity = SC.SPARSE,
|
||||
))
|
||||
b.start(plants["athelas"])
|
||||
b.altitude = AL.span(AL.LOWLANDS, AL.HILLS)
|
||||
b.biomeFilters = BF([FL.CANOPY, HE.TEMPERATE])
|
||||
b.scarcity = SC.SPARSE
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["beetroot"],
|
||||
altitude = AL.LOWLANDS,
|
||||
biomeFilters = BF([FL.FOREST, HE.BOREAL, SO.ACIDIC]),
|
||||
scarcity = SC.COMMON,
|
||||
))
|
||||
b.start(plants["beetroot"])
|
||||
b.altitude = AL.LOWLANDS
|
||||
b.biomeFilters = BF([FL.FOREST, HE.BOREAL, SO.ACIDIC])
|
||||
b.scarcity = SC.COMMON
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["bellpepper"],
|
||||
altitude = AL.LOWLANDS,
|
||||
biomeFilters = BF([FL.CLEARING, HE.TROPICAL, HU.WET, WA.INLAND]),
|
||||
scarcity = SC.COMMON,
|
||||
))
|
||||
b.start(plants["bellpepper"])
|
||||
b.altitude = AL.LOWLANDS
|
||||
b.biomeFilters = BF([FL.CLEARING, HE.TROPICAL, HU.WET, WA.INLAND])
|
||||
b.scarcity = SC.COMMON
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["blueberry"],
|
||||
altitude = AL.span(AL.UPLANDS, AL.ALPINE),
|
||||
biomeFilters = BF([FL.within(FL.FOREST, FL.FIELD), HE.BOREAL]),
|
||||
scarcity = SC.SPARSE,
|
||||
))
|
||||
b.start(plants["blueberry"])
|
||||
b.altitude = AL.span(AL.UPLANDS, AL.ALPINE)
|
||||
b.biomeFilters = BF([FL.within(FL.FOREST, FL.FIELD), HE.BOREAL])
|
||||
b.scarcity = SC.SPARSE
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["brownmushroom"],
|
||||
altitude = AL.span(AL.SOIL, AL.ALPINE),
|
||||
biomeFilters = [
|
||||
BF(
|
||||
[(FL.CANOPY, FL.FOREST), (HE.TEMPERATE, HE.BOREAL), (SO.LOAMY, SO.CLAYEY)],
|
||||
[WA.OCEAN]
|
||||
),
|
||||
BF([HU.WET], [HE.FROZEN, WA.OCEAN, WA.RIVER]),
|
||||
BF([SO.FUNGAL]),
|
||||
],
|
||||
scarcity = SC.COMMON,
|
||||
))
|
||||
b.start(plants["brownmushroom"])
|
||||
b.altitude = AL.span(AL.SOIL, AL.ALPINE)
|
||||
b.biomeFilters = [
|
||||
BF([(FL.CANOPY, FL.FOREST), (HE.TEMPERATE, HE.BOREAL), (SO.LOAMY, SO.CLAYEY)], [WA.OCEAN]),
|
||||
BF([HU.WET], [HE.FROZEN, WA.OCEAN, WA.RIVER]),
|
||||
BF([SO.FUNGAL]),
|
||||
]
|
||||
b.scarcity = SC.COMMON
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["cabbage"],
|
||||
altitude = AL.HILLS,
|
||||
biomeFilters = BF([(HE.SUBTROPICAL, HE.TEMPERATE), SO.SANDY, WA.COAST]),
|
||||
scarcity = SC.COMMON,
|
||||
))
|
||||
b.start(plants["cabbage"])
|
||||
b.altitude = AL.HILLS
|
||||
b.biomeFilters = BF([(HE.SUBTROPICAL, HE.TEMPERATE), SO.SANDY, WA.COAST])
|
||||
b.scarcity = SC.COMMON
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["carrot"],
|
||||
altitude = AL.LOWLANDS,
|
||||
biomeFilters = BF(
|
||||
[(FL.FOREST, FL.CLEARING), HE.TEMPERATE, SO.LOAMY],
|
||||
[ResourceId.parse("flower_forest")],
|
||||
),
|
||||
scarcity = SC.COMMON,
|
||||
))
|
||||
b.start(plants["carrot"])
|
||||
b.altitude = AL.LOWLANDS
|
||||
b.biomeFilters = BF(
|
||||
[(FL.FOREST, FL.CLEARING), HE.TEMPERATE, SO.LOAMY], [ResourceId.parse("flower_forest")],
|
||||
)
|
||||
b.scarcity = SC.COMMON
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["coffee"],
|
||||
altitude = AL.span(AL.HILLS, AL.ALPINE),
|
||||
biomeFilters = BF([FL.CANOPY, HE.TROPICAL, HU.WET]),
|
||||
scarcity = SC.SPARSE,
|
||||
))
|
||||
b.start(plants["coffee"])
|
||||
b.altitude = AL.span(AL.HILLS, AL.ALPINE)
|
||||
b.biomeFilters = BF([FL.CANOPY, HE.TROPICAL, HU.WET])
|
||||
b.scarcity = SC.SPARSE
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["corn"],
|
||||
altitude = AL.span(AL.LOWLANDS, AL.UPLANDS),
|
||||
biomeFilters = BF([FL.FIELD, HE.SUBTROPICAL, (SO.LOAMY, SO.SANDY)]),
|
||||
scarcity = SC.COMMON,
|
||||
))
|
||||
b.start(plants["corn"])
|
||||
b.altitude = AL.span(AL.LOWLANDS, AL.UPLANDS)
|
||||
b.biomeFilters = BF([FL.FIELD, HE.SUBTROPICAL, (SO.LOAMY, SO.SANDY)])
|
||||
b.scarcity = SC.COMMON
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["cotton"],
|
||||
altitude = AL.LOWLANDS,
|
||||
biomeFilters = BF([FL.FIELD, HE.SUBTROPICAL, HU.DRY, (SO.LOAMY, SO.SANDY)]),
|
||||
scarcity = SC.UNCOMMON,
|
||||
))
|
||||
b.start(plants["cotton"])
|
||||
b.altitude = AL.LOWLANDS
|
||||
b.biomeFilters = BF([FL.FIELD, HE.SUBTROPICAL, HU.DRY, (SO.LOAMY, SO.SANDY)])
|
||||
b.scarcity = SC.UNCOMMON
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["currant"],
|
||||
altitude = AL.span(AL.UPLANDS, AL.ALPINE),
|
||||
biomeFilters = BF([FL.within(FL.FOREST, FL.FIELD), (HE.BOREAL, HE.FROZEN)]),
|
||||
scarcity = SC.UNCOMMON,
|
||||
))
|
||||
b.start(plants["currant"])
|
||||
b.altitude = AL.span(AL.UPLANDS, AL.ALPINE)
|
||||
b.biomeFilters = BF([FL.within(FL.FOREST, FL.FIELD), (HE.BOREAL, HE.FROZEN)])
|
||||
b.scarcity = SC.UNCOMMON
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["cranberry"],
|
||||
altitude = AL.DUNES,
|
||||
biomeFilters = BF([HU.WET, SO.PEATY]),
|
||||
scarcity = SC.UNCOMMON,
|
||||
))
|
||||
b.start(plants["cranberry"])
|
||||
b.altitude = AL.DUNES
|
||||
b.biomeFilters = BF([HU.WET, SO.PEATY])
|
||||
b.scarcity = SC.UNCOMMON
|
||||
b.save("")
|
||||
|
||||
# NOTE: Due to a bug in Supplementaries, flax can *only* be planted on sand, despite the actual
|
||||
# plant requiring an entirely different soil. Therefore, we're imaginging *this* so-called
|
||||
# "flax" as a fiberous, desert-dwelling cousin.
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["flax"],
|
||||
altitude = AL.DUNES,
|
||||
biomeFilters = BF([FL.BARREN, HU.DRY, SO.SANDY]),
|
||||
scarcity = SC.COMMON,
|
||||
))
|
||||
b.start(plants["flax"])
|
||||
b.altitude = AL.DUNES
|
||||
b.biomeFilters = BF([FL.BARREN, HU.DRY, SO.SANDY])
|
||||
b.scarcity = SC.COMMON
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["hamimelon"],
|
||||
altitude = AL.span(AL.LOWLANDS, AL.UPLANDS),
|
||||
biomeFilters = BF([FL.FIELD, HE.SUBTROPICAL, HU.DRY, (SO.LOAMY, SO.SANDY)]),
|
||||
scarcity = SC.RARE,
|
||||
))
|
||||
b.start(plants["hamimelon"])
|
||||
b.altitude = AL.span(AL.LOWLANDS, AL.UPLANDS)
|
||||
b.biomeFilters = BF([FL.FIELD, HE.SUBTROPICAL, HU.DRY, (SO.LOAMY, SO.SANDY)])
|
||||
b.scarcity = SC.RARE
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["hemp"],
|
||||
altitude = AL.span(AL.DUNES, AL.UPLANDS),
|
||||
biomeFilters = BF(
|
||||
[FL.FIELD, HE.TEMPERATE, HU.DAMP, SO.LOAMY],
|
||||
[ResourceId.parse("sunflower_plains")]
|
||||
),
|
||||
scarcity = SC.UNCOMMON,
|
||||
))
|
||||
b.start(plants["hemp"])
|
||||
b.altitude = AL.span(AL.DUNES, AL.UPLANDS)
|
||||
b.biomeFilters = BF(
|
||||
[FL.FIELD, HE.TEMPERATE, HU.DAMP, SO.LOAMY], [ResourceId.parse("sunflower_plains")]
|
||||
),
|
||||
b.scarcity = SC.UNCOMMON
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["lemon"],
|
||||
altitude = AL.UPLANDS,
|
||||
biomeFilters = BF([FL.FIELD, HE.SUBTROPICAL, HU.DRY]),
|
||||
scarcity = SC.SPARSE,
|
||||
))
|
||||
b.start(plants["lemon"])
|
||||
b.altitude = AL.UPLANDS
|
||||
b.biomeFilters = BF([FL.FIELD, HE.SUBTROPICAL, HU.DRY])
|
||||
b.scarcity = SC.SPARSE
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["melon"],
|
||||
altitude = AL.LOWLANDS,
|
||||
biomeFilters = BF([FL.CLEARING, HE.TROPICAL, HU.WET], [SO.FUNGAL]),
|
||||
scarcity = SC.SPARSE,
|
||||
))
|
||||
b.start(plants["melon"])
|
||||
b.altitude = AL.LOWLANDS
|
||||
b.biomeFilters = BF([FL.CLEARING, HE.TROPICAL, HU.WET], [SO.FUNGAL])
|
||||
b.scarcity = SC.SPARSE
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["onion"],
|
||||
altitude = AL.span(AL.UPLANDS, AL.HILLS),
|
||||
biomeFilters = BF([FL.FOREST, HE.TEMPERATE, HU.DAMP, SO.ACIDIC]),
|
||||
scarcity = SC.SPARSE,
|
||||
))
|
||||
b.start(plants["onion"])
|
||||
b.altitude = AL.span(AL.UPLANDS, AL.HILLS)
|
||||
b.biomeFilters = BF([FL.FOREST, HE.TEMPERATE, HU.DAMP, SO.ACIDIC])
|
||||
b.scarcity = SC.SPARSE
|
||||
b.save("")
|
||||
|
||||
# NOTE: Due to a bug in Fruits Delight, pineapple can *only* be planted on sand: despite this
|
||||
# in now way reflecting the plant's actual ecology. As such, we have to imagine these as
|
||||
# a more cactus-like cousin of actual pineapples.
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["pineapple"],
|
||||
altitude = AL.LOWLANDS,
|
||||
biomeFilters = BF([FL.BARREN, HE.TROPICAL, HU.DRY, SO.SANDY]),
|
||||
scarcity = SC.SPARSE,
|
||||
# TODO: add sand as substrate in addplants.py
|
||||
))
|
||||
b.start(plants["pineapple"])
|
||||
b.altitude = AL.LOWLANDS
|
||||
b.biomeFilters = BF([FL.BARREN, HE.TROPICAL, HU.DRY, SO.SANDY])
|
||||
b.scarcity = SC.SPARSE
|
||||
# TODO: add sand as substrate in addplants.py
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["potato"],
|
||||
altitude = AL.span(AL.UPLANDS, AL.HILLS),
|
||||
biomeFilters = BF([FL.FOREST, HE.BOREAL, HU.DAMP, SO.ACIDIC]),
|
||||
scarcity = SC.UNCOMMON,
|
||||
))
|
||||
b.start(plants["potato"])
|
||||
b.altitude = AL.span(AL.UPLANDS, AL.HILLS)
|
||||
b.biomeFilters = BF([FL.FOREST, HE.BOREAL, HU.DAMP, SO.ACIDIC])
|
||||
b.scarcity = SC.UNCOMMON
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["pumpkin"],
|
||||
altitude = AL.LOWLANDS,
|
||||
biomeFilters = BF([FL.FIELD, HE.TEMPERATE, SO.LOAMY]),
|
||||
scarcity = SC.UNUSUAL,
|
||||
))
|
||||
b.start(plants["pumpkin"])
|
||||
b.altitude = AL.LOWLANDS
|
||||
b.biomeFilters = BF([FL.FIELD, HE.TEMPERATE, SO.LOAMY])
|
||||
b.scarcity = SC.UNUSUAL
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["redmushroom"],
|
||||
altitude = AL.span(AL.SOIL, AL.ALPINE),
|
||||
biomeFilters = [
|
||||
BF([(FL.CANOPY, FL.FOREST), (HE.TEMPERATE, HE.BOREAL), (SO.LOAMY, SO.CLAYEY)]),
|
||||
BF([HU.WET], [HE.FROZEN, WA.OCEAN, WA.RIVER]),
|
||||
BF([SO.FUNGAL]),
|
||||
],
|
||||
scarcity = SC.UNCOMMON,
|
||||
))
|
||||
b.start(plants["redmushroom"])
|
||||
b.altitude = AL.span(AL.SOIL, AL.ALPINE)
|
||||
b.biomeFilters = [
|
||||
BF([(FL.CANOPY, FL.FOREST), (HE.TEMPERATE, HE.BOREAL), (SO.LOAMY, SO.CLAYEY)]),
|
||||
BF([HU.WET], [HE.FROZEN, WA.OCEAN, WA.RIVER]),
|
||||
BF([SO.FUNGAL]),
|
||||
]
|
||||
b.scarcity = SC.UNCOMMON
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["rice"],
|
||||
altitude = AL.SURFACE,
|
||||
biomeFilters = BF([(HE.SUBTROPICAL, HE.TEMPERATE), (WA.RIVER, WA.SWAMP)]),
|
||||
scarcity = SC.COMMON,
|
||||
))
|
||||
b.start(plants["rice"])
|
||||
b.altitude = AL.SURFACE
|
||||
b.biomeFilters = BF([(HE.SUBTROPICAL, HE.TEMPERATE), (WA.RIVER, WA.SWAMP)])
|
||||
b.scarcity = SC.COMMON
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["sugarcane"],
|
||||
altitude = AL.DUNES,
|
||||
biomeFilters = BF([(HE.TROPICAL, HE.TEMPERATE), (WA.RIVER, WA.SWAMP)]),
|
||||
scarcity = SC.COMMON,
|
||||
))
|
||||
b.start(plants["sugarcane"])
|
||||
b.altitude = AL.DUNES
|
||||
b.biomeFilters = BF([(HE.TROPICAL, HE.TEMPERATE), (WA.RIVER, WA.SWAMP)])
|
||||
b.scarcity = SC.COMMON
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["sunflower"],
|
||||
altitude = AL.span(AL.LOWLANDS, AL.UPLANDS),
|
||||
biomeFilters = BF([ResourceId.parse("sunflower_plains")]),
|
||||
scarcity = SC.CARPET,
|
||||
))
|
||||
b.start(plants["sunflower"])
|
||||
b.altitude = AL.span(AL.LOWLANDS, AL.UPLANDS)
|
||||
b.biomeFilters = BF([ResourceId.parse("sunflower_plains")])
|
||||
b.scarcity = SC.CARPET
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["tomato"],
|
||||
altitude = AL.span(AL.UPLANDS, AL.HILLS),
|
||||
biomeFilters = BF([FL.CLEARING, HE.TROPICAL, HU.WET], [SO.FUNGAL]),
|
||||
scarcity = SC.UNCOMMON,
|
||||
))
|
||||
b.start(plants["tomato"])
|
||||
b.altitude = AL.span(AL.UPLANDS, AL.HILLS)
|
||||
b.biomeFilters = BF([FL.CLEARING, HE.TROPICAL, HU.WET], [SO.FUNGAL])
|
||||
b.scarcity = SC.UNCOMMON
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["wheat"],
|
||||
altitude = AL.span(AL.LOWLANDS, AL.UPLANDS),
|
||||
biomeFilters = BF([FL.FIELD, HE.TEMPERATE, HU.DAMP, SO.LOAMY]),
|
||||
scarcity = SC.COMMON,
|
||||
))
|
||||
b.start(plants["wheat"])
|
||||
b.altitude = AL.span(AL.LOWLANDS, AL.UPLANDS)
|
||||
b.biomeFilters = BF([FL.FIELD, HE.TEMPERATE, HU.DAMP, SO.LOAMY])
|
||||
b.scarcity = SC.COMMON
|
||||
b.save("")
|
||||
|
||||
# Flower Patches ###########################################################
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["allium"],
|
||||
altitude = AL.span(AL.UPLANDS, AL.HILLS),
|
||||
biomeFilters = BF([FL.FOREST, HE.TEMPERATE, HU.DAMP, SO.ACIDIC]),
|
||||
scarcity = SC.UNCOMMON,
|
||||
))
|
||||
b.start(plants["allium"])
|
||||
b.altitude = AL.span(AL.UPLANDS, AL.HILLS)
|
||||
b.biomeFilters = BF([FL.FOREST, HE.TEMPERATE, HU.DAMP, SO.ACIDIC])
|
||||
b.scarcity = SC.UNCOMMON
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["azurebluet"],
|
||||
altitude = AL.span(AL.UPLANDS, AL.ALPINE),
|
||||
biomeFilters = BF([FL.FIELD, (HE.TEMPERATE, HE.BOREAL), HU.DAMP, (SO.LOAMY, SO.PEATY)]),
|
||||
scarcity = SC.SPARSE,
|
||||
))
|
||||
b.start(plants["azurebluet"])
|
||||
b.altitude = AL.span(AL.UPLANDS, AL.ALPINE)
|
||||
b.biomeFilters = BF([FL.FIELD, (HE.TEMPERATE, HE.BOREAL), HU.DAMP, (SO.LOAMY, SO.PEATY)])
|
||||
b.scarcity = SC.SPARSE
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["blueorchid"],
|
||||
altitude = AL.span(AL.LOWLANDS, AL.UPLANDS),
|
||||
biomeFilters = BF([FL.CANOPY, HE.TROPICAL, HU.WET]),
|
||||
scarcity = SC.RARE,
|
||||
))
|
||||
b.start(plants["blueorchid"])
|
||||
b.altitude = AL.span(AL.LOWLANDS, AL.UPLANDS)
|
||||
b.biomeFilters = BF([FL.CANOPY, HE.TROPICAL, HU.WET])
|
||||
b.scarcity = SC.RARE
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["cornflower"],
|
||||
altitude = AL.span(AL.UPLANDS, AL.ALPINE),
|
||||
biomeFilters = BF([FL.FIELD, HE.TEMPERATE, (SO.LOAMY, SO.PEATY)]),
|
||||
scarcity = SC.COMMON,
|
||||
))
|
||||
b.start(plants["cornflower"])
|
||||
b.altitude = AL.span(AL.UPLANDS, AL.ALPINE)
|
||||
b.biomeFilters = BF([FL.FIELD, HE.TEMPERATE, (SO.LOAMY, SO.PEATY)])
|
||||
b.scarcity = SC.COMMON
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["daisy"],
|
||||
altitude = AL.span(AL.UPLANDS, AL.ALPINE),
|
||||
biomeFilters = BF([FL.FIELD, (HE.TEMPERATE, HE.BOREAL)]),
|
||||
scarcity = SC.UNCOMMON,
|
||||
))
|
||||
b.start(plants["daisy"])
|
||||
b.altitude = AL.span(AL.UPLANDS, AL.ALPINE)
|
||||
b.biomeFilters = BF([FL.FIELD, (HE.TEMPERATE, HE.BOREAL)])
|
||||
b.scarcity = SC.UNCOMMON
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["dandelion"],
|
||||
altitude = AL.span(AL.DUNES, AL.HILLS),
|
||||
biomeFilters = BF(
|
||||
[(FL.CLEARING, FL.FIELD)],
|
||||
[HE.FROZEN, HU.WET, SO.FUNGAL, SO.ROCKY, ResourceId.parse("flower_forest")]),
|
||||
scarcity = SC.COMMON,
|
||||
))
|
||||
b.start(plants["dandelion"])
|
||||
b.altitude = AL.span(AL.DUNES, AL.HILLS)
|
||||
b.biomeFilters = BF(
|
||||
[(FL.CLEARING, FL.FIELD)],
|
||||
[HE.FROZEN, HU.WET, SO.FUNGAL, SO.ROCKY, ResourceId.parse("flower_forest")]
|
||||
)
|
||||
b.scarcity = SC.COMMON
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["lilac"],
|
||||
altitude = AL.LOWLANDS,
|
||||
biomeFilters = BF([FL.FOREST, HE.TEMPERATE, HU.DAMP, SO.LOAMY]),
|
||||
scarcity = SC.UNUSUAL,
|
||||
))
|
||||
b.start(plants["lilac"])
|
||||
b.altitude = AL.LOWLANDS
|
||||
b.biomeFilters = BF([FL.FOREST, HE.TEMPERATE, HU.DAMP, SO.LOAMY])
|
||||
b.scarcity = SC.UNUSUAL
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["lily"],
|
||||
altitude = AL.span(AL.LOWLANDS, AL.UPLANDS),
|
||||
biomeFilters = BF([FL.FOREST, (HE.TEMPERATE, HE.BOREAL), HU.DAMP, SO.ACIDIC]),
|
||||
scarcity = SC.RARE,
|
||||
))
|
||||
b.start(plants["lily"])
|
||||
b.altitude = AL.span(AL.LOWLANDS, AL.UPLANDS)
|
||||
b.biomeFilters = BF([FL.FOREST, (HE.TEMPERATE, HE.BOREAL), HU.DAMP, SO.ACIDIC])
|
||||
b.scarcity = SC.RARE
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["peony"],
|
||||
altitude = AL.LOWLANDS,
|
||||
biomeFilters = BF([FL.CLEARING, HE.TEMPERATE, HU.DAMP, SO.ROCKY]),
|
||||
scarcity = SC.SPARSE,
|
||||
))
|
||||
b.start(plants["peony"])
|
||||
b.altitude = AL.LOWLANDS
|
||||
b.biomeFilters = BF([FL.CLEARING, HE.TEMPERATE, HU.DAMP, SO.ROCKY])
|
||||
b.scarcity = SC.SPARSE
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["poppy"],
|
||||
altitude = AL.span(AL.DUNES, AL.UPLANDS),
|
||||
biomeFilters = BF(
|
||||
[FL.FIELD, (HE.SUBTROPICAL, HE.TEMPERATE), (HU.DRY, HU.DAMP)],
|
||||
[SO.FUNGAL]
|
||||
),
|
||||
scarcity = SC.SPARSE,
|
||||
))
|
||||
b.start(plants["poppy"])
|
||||
b.altitude = AL.span(AL.DUNES, AL.UPLANDS)
|
||||
b.biomeFilters = BF(
|
||||
[FL.FIELD, (HE.SUBTROPICAL, HE.TEMPERATE), (HU.DRY, HU.DAMP)],
|
||||
[SO.FUNGAL]
|
||||
),
|
||||
b.scarcity = SC.SPARSE
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["rose_black"],
|
||||
altitude = AL.HILLS,
|
||||
biomeFilters = BF([FL.CANOPY, HE.TEMPERATE]),
|
||||
scarcity = SC.RARE,
|
||||
))
|
||||
b.start(plants["rose_black"])
|
||||
b.altitude = AL.HILLS
|
||||
b.biomeFilters = BF([FL.CANOPY, HE.TEMPERATE])
|
||||
b.scarcity = SC.RARE
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["rose_bush"],
|
||||
altitude = AL.span(AL.UPLANDS, AL.ALPINE),
|
||||
biomeFilters = BF([FL.FOREST, (HE.TEMPERATE, HE.BOREAL), SO.LOAMY]),
|
||||
scarcity = SC.UNUSUAL,
|
||||
))
|
||||
b.start(plants["rose_bush"])
|
||||
b.altitude = AL.span(AL.UPLANDS, AL.ALPINE)
|
||||
b.biomeFilters = BF([FL.FOREST, (HE.TEMPERATE, HE.BOREAL), SO.LOAMY])
|
||||
b.scarcity = SC.UNUSUAL
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["tulip_orange"],
|
||||
altitude = AL.span(AL.DUNES, AL.LOWLANDS),
|
||||
biomeFilters = BF([ResourceId.parse("flower_forest")]),
|
||||
scarcity = SC.UNUSUAL,
|
||||
))
|
||||
b.start(plants["tulip_orange"])
|
||||
b.altitude = AL.span(AL.DUNES, AL.LOWLANDS)
|
||||
b.biomeFilters = BF([ResourceId.parse("flower_forest")])
|
||||
b.scarcity = SC.UNUSUAL
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["tulip_pink"],
|
||||
altitude = AL.span(AL.DUNES, AL.LOWLANDS),
|
||||
biomeFilters = BF([ResourceId.parse("flower_forest")]),
|
||||
scarcity = SC.SPARSE,
|
||||
))
|
||||
b.start(plants["tulip_pink"])
|
||||
b.altitude = AL.span(AL.DUNES, AL.LOWLANDS)
|
||||
b.biomeFilters = BF([ResourceId.parse("flower_forest")])
|
||||
b.scarcity = SC.SPARSE
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["tulip_red"],
|
||||
altitude = AL.span(AL.DUNES, AL.LOWLANDS),
|
||||
biomeFilters = BF([ResourceId.parse("flower_forest")]),
|
||||
scarcity = SC.COMMON,
|
||||
))
|
||||
b.start(plants["tulip_red"])
|
||||
b.altitude = AL.span(AL.DUNES, AL.LOWLANDS)
|
||||
b.biomeFilters = BF([ResourceId.parse("flower_forest")])
|
||||
b.scarcity = SC.COMMON
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["tulip_white"],
|
||||
altitude = AL.span(AL.DUNES, AL.LOWLANDS),
|
||||
biomeFilters = BF([ResourceId.parse("flower_forest")]),
|
||||
scarcity = SC.UNCOMMON,
|
||||
))
|
||||
b.start(plants["tulip_white"])
|
||||
b.altitude = AL.span(AL.DUNES, AL.LOWLANDS)
|
||||
b.biomeFilters = BF([ResourceId.parse("flower_forest")])
|
||||
b.scarcity = SC.UNCOMMON
|
||||
b.save("")
|
||||
|
||||
# Trees ####################################################################
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["apple"],
|
||||
altitude = AL.span(AL.LOWLANDS, AL.UPLANDS),
|
||||
biomeFilters = BF(
|
||||
[(FL.FOREST, FL.CLEARING), HE.TEMPERATE, SO.LOAMY],
|
||||
[ResourceId.parse("flower_forest")],
|
||||
),
|
||||
scarcity = SC.SPARSE,
|
||||
))
|
||||
b.start(plants["apple"])
|
||||
b.altitude = AL.span(AL.LOWLANDS, AL.UPLANDS)
|
||||
b.biomeFilters = BF(
|
||||
[(FL.FOREST, FL.CLEARING), HE.TEMPERATE, SO.LOAMY],
|
||||
[ResourceId.parse("flower_forest")],
|
||||
)
|
||||
b.scarcity = SC.SPARSE
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["bayberry"],
|
||||
altitude = AL.span(AL.DUNES, AL.UPLANDS),
|
||||
biomeFilters = BF([HE.TEMPERATE, (SO.ROCKY, SO.SANDY), WA.COAST]),
|
||||
scarcity = SC.SPARSE,
|
||||
))
|
||||
b.start(plants["bayberry"])
|
||||
b.altitude = AL.span(AL.DUNES, AL.UPLANDS)
|
||||
b.biomeFilters = BF([HE.TEMPERATE, (SO.ROCKY, SO.SANDY), WA.COAST])
|
||||
b.scarcity = SC.SPARSE
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["durian"],
|
||||
altitude = AL.HILLS,
|
||||
biomeFilters = BF([FL.within(FL.CANOPY, FL.CLEARING), HE.TROPICAL, HU.WET, SO.ACIDIC]),
|
||||
scarcity = SC.UNUSUAL,
|
||||
))
|
||||
b.start(plants["durian"])
|
||||
b.altitude = AL.HILLS
|
||||
b.biomeFilters = BF([FL.within(FL.CANOPY, FL.CLEARING), HE.TROPICAL, HU.WET, SO.ACIDIC])
|
||||
b.scarcity = SC.UNUSUAL
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["fig"],
|
||||
altitude = AL.span(AL.UPLANDS, AL.HILLS),
|
||||
biomeFilters = BF([HE.SUBTROPICAL, HU.DRY, SO.SANDY], [FL.BARREN]),
|
||||
scarcity = SC.UNCOMMON,
|
||||
))
|
||||
b.start(plants["fig"])
|
||||
b.altitude = AL.span(AL.UPLANDS, AL.HILLS)
|
||||
b.biomeFilters = BF([HE.SUBTROPICAL, HU.DRY, SO.SANDY], [FL.BARREN])
|
||||
b.scarcity = SC.UNCOMMON
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["hawberry"],
|
||||
altitude = AL.span(AL.UPLANDS, AL.HILLS),
|
||||
biomeFilters = BF([(FL.FOREST, FL.CLEARING), HE.TEMPERATE, (SO.ACIDIC, SO.LOAMY)]),
|
||||
scarcity = SC.SPARSE,
|
||||
))
|
||||
b.start(plants["hawberry"])
|
||||
b.altitude = AL.span(AL.UPLANDS, AL.HILLS)
|
||||
b.biomeFilters = BF([(FL.FOREST, FL.CLEARING), HE.TEMPERATE, (SO.ACIDIC, SO.LOAMY)])
|
||||
b.scarcity = SC.SPARSE
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["lychee"],
|
||||
altitude = AL.UPLANDS,
|
||||
biomeFilters = BF([FL.CLEARING, HE.TROPICAL, HU.WET], [SO.FUNGAL]),
|
||||
scarcity = SC.SPARSE,
|
||||
))
|
||||
b.start(plants["lychee"])
|
||||
b.altitude = AL.UPLANDS
|
||||
b.biomeFilters = BF([FL.CLEARING, HE.TROPICAL, HU.WET], [SO.FUNGAL])
|
||||
b.scarcity = SC.SPARSE
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["mango"],
|
||||
altitude = AL.LOWLANDS,
|
||||
biomeFilters = BF(
|
||||
[FL.within(FL.CANOPY, FL.CLEARING), HE.TROPICAL, (HU.DAMP, HU.WET), SO.ACIDIC]
|
||||
),
|
||||
scarcity = SC.UNCOMMON,
|
||||
))
|
||||
b.start(plants["mango"])
|
||||
b.altitude = AL.LOWLANDS
|
||||
b.biomeFilters = BF(
|
||||
[FL.within(FL.CANOPY, FL.CLEARING), HE.TROPICAL, (HU.DAMP, HU.WET), SO.ACIDIC]
|
||||
)
|
||||
b.scarcity = SC.UNCOMMON
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["mangosteen"],
|
||||
altitude = AL.UPLANDS,
|
||||
biomeFilters = BF([FL.CANOPY, HE.TROPICAL, HU.WET, SO.ACIDIC]),
|
||||
scarcity = SC.UNUSUAL,
|
||||
))
|
||||
b.start(plants["mangosteen"])
|
||||
b.altitude = AL.UPLANDS
|
||||
b.biomeFilters = BF([FL.CANOPY, HE.TROPICAL, HU.WET, SO.ACIDIC])
|
||||
b.scarcity = SC.UNUSUAL
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["orange"],
|
||||
altitude = AL.LOWLANDS,
|
||||
biomeFilters = BF([FL.FIELD, HE.SUBTROPICAL, HU.DRY]),
|
||||
scarcity = SC.SPARSE,
|
||||
))
|
||||
b.start(plants["orange"])
|
||||
b.altitude = AL.LOWLANDS
|
||||
b.biomeFilters = BF([FL.FIELD, HE.SUBTROPICAL, HU.DRY])
|
||||
b.scarcity = SC.SPARSE
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["peach"],
|
||||
altitude = AL.span(AL.LOWLANDS, AL.UPLANDS),
|
||||
biomeFilters = BF([FL.CLEARING, HE.TEMPERATE, HU.DAMP, SO.ROCKY]),
|
||||
scarcity = SC.UNCOMMON,
|
||||
))
|
||||
b.start(plants["peach"])
|
||||
b.altitude = AL.span(AL.LOWLANDS, AL.UPLANDS)
|
||||
b.biomeFilters = BF([FL.CLEARING, HE.TEMPERATE, HU.DAMP, SO.ROCKY])
|
||||
b.scarcity = SC.UNCOMMON
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["pear"],
|
||||
altitude = AL.span(AL.LOWLANDS, AL.UPLANDS),
|
||||
biomeFilters = BF([FL.CLEARING, HE.TEMPERATE, HU.DAMP, (SO.ACIDIC, SO.LOAMY)]),
|
||||
scarcity = SC.UNCOMMON,
|
||||
))
|
||||
b.start(plants["pear"])
|
||||
b.altitude = AL.span(AL.LOWLANDS, AL.UPLANDS)
|
||||
b.biomeFilters = BF([FL.CLEARING, HE.TEMPERATE, HU.DAMP, (SO.ACIDIC, SO.LOAMY)])
|
||||
b.scarcity = SC.UNCOMMON
|
||||
b.save("")
|
||||
|
||||
spawns.add(PlantSpawn(
|
||||
plant = plants["persimmon"],
|
||||
altitude = AL.span(AL.LOWLANDS, AL.UPLANDS),
|
||||
biomeFilters = BF([FL.FOREST, HE.TEMPERATE, SO.LOAMY]),
|
||||
scarcity = SC.UNCOMMON,
|
||||
))
|
||||
b.start(plants["persimmon"])
|
||||
b.altitude = AL.span(AL.LOWLANDS, AL.UPLANDS)
|
||||
b.biomeFilters = BF([FL.FOREST, HE.TEMPERATE, SO.LOAMY])
|
||||
b.scarcity = SC.UNCOMMON
|
||||
b.save("")
|
||||
|
||||
Reference in New Issue
Block a user