512 lines
15 KiB
Python
512 lines
15 KiB
Python
from mcpacker.model.ecology.biomefilter import BiomeFilter as BF
|
|
from mcpacker.model.fauna.mob import Mob
|
|
from mcpacker.model.fauna.mobcatalog import MobCatalog
|
|
from mcpacker.model.fauna.mobspawn import MobSpawn
|
|
from mcpacker.model.fauna.mobspawnbuilder import MobSpawnBuilder
|
|
from mcpacker.model.habitat import Habitat
|
|
from mcpacker.model.resourceid import ResourceId
|
|
from mcpacker.model.modpack import ModPack
|
|
|
|
import mcpacker.model.altitude as AL
|
|
import mcpacker.model.ecology.flora as FL
|
|
import mcpacker.model.ecology.geology as GE
|
|
import mcpacker.model.ecology.heat as HE
|
|
import mcpacker.model.ecology.humidity as HU
|
|
import mcpacker.model.ecology.soil as SO
|
|
import mcpacker.model.ecology.water as WA
|
|
import mcpacker.model.fauna.active as AC
|
|
import mcpacker.model.fauna.group as GR
|
|
import mcpacker.model.fauna.location as LO
|
|
import mcpacker.model.scarcity as SC
|
|
import mcpacker.model.season as SE
|
|
|
|
|
|
# Constants ########################################################################################
|
|
|
|
def addMobSpawns(pack:ModPack):
|
|
mobs = pack.world.mobs
|
|
b = MobSpawnBuilder(pack.world.mobSpawns)
|
|
|
|
b.start(mobs["animalplus:raccoon"])
|
|
b.altitude = AL.span(AL.LOWLANDS, AL.HILLS)
|
|
b.biomeFilters = BF([(FL.CANOPY, FL.FOREST), HE.TEMPERATE])
|
|
b.seasons = SE.exclude(SE.WINTER)
|
|
b.group = GR.merge(GR.SOLO, GR.PAIR)
|
|
b.scarcity = SC.UNCOMMON
|
|
b.save("raccoon-normal")
|
|
|
|
b.seasons = SE.WINTER
|
|
b.scarcity = SC.SPARSE
|
|
b.save("raccoon-winter")
|
|
|
|
b.start(mobs["animalplus:red_panda"])
|
|
b.altitude = AL.span(AL.UPLANDS, AL.HILLS)
|
|
b.biomeFilters = BF([ResourceId.parse("bamboo_jungle")])
|
|
b.seasons = SE.ALL
|
|
b.group = GR.merge(GR.SOLO, GR.PAIR)
|
|
b.scarcity = SC.SPARSE
|
|
b.save("redpanda-normal")
|
|
|
|
b.start(mobs["bearminimum:black_bear"])
|
|
b.altitude = AL.span(AL.LOWLANDS, AL.ALPINE)
|
|
b.biomeFilters = BF([HE.TEMPERATE, FL.FOREST])
|
|
b.seasons = SE.AUTUMN
|
|
b.group = GR.merge(GR.SOLO, GR.FAMILY)
|
|
b.scarcity = SC.UNCOMMON
|
|
b.save("blackbear-autumn")
|
|
|
|
b.seasons = [SE.SPRING, SE.SUMMER]
|
|
b.scarcity = SC.SPARSE
|
|
b.save("blackbear-springsummer")
|
|
|
|
b.seasons = SE.WINTER
|
|
b.scarcity = SC.UNUSUAL
|
|
b.save("blackbear-winter")
|
|
|
|
b.start(mobs["minecraft:armadillo"])
|
|
b.altitude = AL.LOWLANDS
|
|
b.biomeFilters = BF([HE.SUBTROPICAL, HU.ARID, (SO.CLAYEY, SO.ROCKY)])
|
|
b.seasons = SE.SUMMER
|
|
b.group = GR.merge(GR.SOLO, GR.PAIR)
|
|
b.scarcity = SC.COMMON
|
|
b.save("armadillo-lowlands-summer")
|
|
|
|
b.altitude = AL.UPLANDS
|
|
b.scarcity = SC.SPARSE
|
|
b.save("armadillo-uplands-summer")
|
|
|
|
b.altitude = AL.LOWLANDS
|
|
b.scarcity = SC.UNCOMMON
|
|
b.seasons = SE.exclude(SE.SUMMER)
|
|
b.save("armadillo-lowlands-normal")
|
|
|
|
b.altitude = AL.UPLANDS
|
|
b.scarcity = SC.UNUSUAL
|
|
b.save("armadillo-uplands-normal")
|
|
|
|
b.start(mobs["minecraft:blaze"])
|
|
b.altitude = AL.PLUTONIC
|
|
b.location = LO.CAVE
|
|
b.group = GR.SOLO
|
|
b.scarcity = SC.UNCOMMON
|
|
b.save("blaze-normal")
|
|
|
|
b.start(mobs["bearminimum:brown_bear"])
|
|
b.altitude = AL.span(AL.LOWLANDS, AL.ALPINE)
|
|
b.biomeFilters = BF([(FL.CANOPY, FL.FOREST), HE.BOREAL])
|
|
b.seasons = SE.AUTUMN
|
|
b.group = GR.SOLO
|
|
b.scarcity = SC.SPARSE
|
|
b.save("brownbear-autumn")
|
|
|
|
b.seasons = [SE.SPRING, SE.SUMMER]
|
|
b.scarcity = SC.UNUSUAL
|
|
b.save("brownbear-springsummer")
|
|
|
|
b.seasons = SE.WINTER
|
|
b.scarcity = SC.RARE
|
|
b.save("brownbear-winter")
|
|
|
|
b.start(mobs["minecraft:camel"])
|
|
b.altitude = AL.span(AL.DUNES, AL.LOWLANDS)
|
|
b.biomeFilters = BF([HE.TROPICAL, HU.ARID, SO.SANDY])
|
|
b.seasons = SE.DRY
|
|
b.group = GR.FAMILY
|
|
b.scarcity = SC.UNUSUAL
|
|
b.save("camel-dry")
|
|
|
|
b.seasons = SE.WET
|
|
b.scarcity = SC.RARE
|
|
b.save("camel-wet")
|
|
|
|
b.start(mobs["minecraft:cave_spider"])
|
|
b.altitude = AL.span(AL.OVERBURDEN, AL.HILLS)
|
|
b.location = LO.CAVE
|
|
b.group = GR.SOLO
|
|
b.scarcity = SC.UNCOMMON
|
|
b.save("cavespider-normal")
|
|
|
|
b.start(mobs["cold_sweat:chameleon"])
|
|
b.altitude = AL.span(AL.DUNES, AL.UPLANDS)
|
|
b.biomeFilters = BF([(FL.CANOPY, FL.FOREST), HE.TROPICAL, HU.SOAKED])
|
|
b.seasons = SE.WET
|
|
b.group = GR.merge(GR.SOLO, GR.FAMILY)
|
|
b.scarcity = SC.COMMON
|
|
b.save("chameleon-wet")
|
|
|
|
b.seasons = SE.DRY
|
|
b.scarcity = SC.UNCOMMON
|
|
b.save("chameleon-dry")
|
|
|
|
b.start(mobs["minecraft:chicken"])
|
|
b.altitude = AL.span(AL.LOWLANDS, AL.UPLANDS)
|
|
b.biomeFilters = BF([FL.CLEARING, HE.TROPICAL, HU.SOAKED], [SO.FUNGAL])
|
|
b.seasons = SE.SUMMER
|
|
b.group = GR.TROUP
|
|
b.scarcity = SC.COMMON
|
|
b.save("chicken-summer")
|
|
|
|
b.seasons = SE.exclude(SE.SUMMER)
|
|
b.scarcity = SC.UNCOMMON
|
|
b.save("chicken-normal")
|
|
|
|
b.start(mobs["minecraft:cod"])
|
|
b.altitude = AL.span(AL.SHALLOWS, AL.DEEPS)
|
|
b.biomeFilters = BF([HE.BOREAL, WA.OCEAN])
|
|
b.seasons = SE.ALL
|
|
b.group = GR.HERD
|
|
b.scarcity = SC.COMMON
|
|
b.save("cod-normal")
|
|
|
|
b.start(mobs["minecraft:cow"])
|
|
b.altitude = AL.span(AL.LOWLANDS, AL.UPLANDS)
|
|
b.biomeFilters = BF(
|
|
[FL.FIELD, HE.within(HE.SUBTROPICAL, HE.BOREAL), (HU.DAMP, HU.DRY)],
|
|
[SO.FUNGAL, SO.ROCKY]
|
|
)
|
|
b.seasons = [SE.SPRING, SE.SUMMER]
|
|
b.group = GR.HERD
|
|
b.scarcity = SC.SPARSE
|
|
b.save("cow-springsummer")
|
|
|
|
b.altitude = AL.LOWLANDS
|
|
b.seasons = [SE.AUTUMN, SE.WINTER]
|
|
b.group = GR.TROUP
|
|
b.scarcity = SC.UNUSUAL
|
|
b.save("cow-autumnwinter")
|
|
|
|
b.start(mobs["crabbersdelight:crab"])
|
|
b.altitude = AL.DUNES
|
|
b.biomeFilters = BF([(HE.TROPICAL, HE.SUBTROPICAL), WA.COAST])
|
|
b.seasons = SE.ALL
|
|
b.group = GR.SOLO
|
|
b.scarcity = SC.UNCOMMON
|
|
b.save("crab-warm")
|
|
|
|
b.biomeFilters = BF([(HE.TEMPERATE, HE.BOREAL), WA.COAST])
|
|
b.scarcity = SC.SPARSE
|
|
b.save("crab-cool")
|
|
|
|
b.start(mobs["minecraft:dolphin"])
|
|
b.altitude = AL.span(AL.SURFACE, AL.DEEPS)
|
|
b.biomeFilters = BF([(HE.SUBTROPICAL, HE.TEMPERATE), WA.OCEAN])
|
|
b.location = LO.WATER
|
|
b.seasons = SE.SUMMER
|
|
b.group = GR.FAMILY
|
|
b.scarcity = SC.UNCOMMON
|
|
b.save("dolphin-summer")
|
|
|
|
b.seasons = SE.exclude(SE.SUMMER)
|
|
b.scarcity = SC.SPARSE
|
|
b.save("dolphin-normal")
|
|
|
|
b.start(mobs["minecraft:donkey"])
|
|
b.altitude = AL.span(AL.UPLANDS, AL.HILLS)
|
|
b.biomeFilters = BF([FL.CLEARING, HE.SUBTROPICAL, HU.DRY])
|
|
b.seasons = [SE.SUMMER, SE.AUTUMN]
|
|
b.group = GR.FAMILY
|
|
b.scarcity = SC.SPARSE
|
|
b.save("donkey-autumnsummer")
|
|
|
|
b.altitude = AL.span(AL.LOWLANDS, AL.UPLANDS)
|
|
b.seasons = [SE.WINTER, SE.SPRING]
|
|
b.scarcity = SC.SPARSE
|
|
b.save("donkey-springwinter")
|
|
|
|
b.start(mobs["minecraft:fox"])
|
|
b.altitude = AL.span(AL.LOWLANDS, AL.HILLS)
|
|
b.biomeFilters = BF([FL.FOREST, HE.within(HE.TEMPERATE, HE.FROZEN), SO.ACIDIC])
|
|
b.seasons = [SE.SPRING]
|
|
b.group = GR.FAMILY
|
|
b.scarcity = SC.UNCOMMON
|
|
b.save("fox-spring")
|
|
|
|
b.seasons = SE.exclude(SE.SPRING)
|
|
b.group = GR.SOLO
|
|
b.scarcity = SC.SPARSE
|
|
b.save("fox-normal")
|
|
|
|
b.start(mobs["minecraft:frog"])
|
|
b.altitude = AL.span(AL.SURFACE, AL.DUNES)
|
|
b.biomeFilters = BF([WA.SWAMP])
|
|
b.group = GR.HERD
|
|
b.scarcity = SC.COMMON
|
|
b.seasons = SE.SUMMER
|
|
b.save("frog-summer")
|
|
|
|
b.seasons = SE.SPRING
|
|
b.scarcity = SC.SPARSE
|
|
b.save("frog-spring")
|
|
|
|
b.seasons = SE.AUTUMN
|
|
b.scarcity = SC.UNUSUAL
|
|
b.save("frog-autumn")
|
|
|
|
b.seasons = SE.WINTER
|
|
b.scarcity = SC.ABSENT
|
|
b.save("frog-winter")
|
|
|
|
b.start(mobs["minecraft:glow_squid"])
|
|
b.altitude = AL.ABYSS
|
|
b.biomeFilters = BF([WA.OCEAN], [HE.FROZEN])
|
|
b.group = GR.SOLO
|
|
b.location = LO.WATER
|
|
b.scarcity = SC.RARE
|
|
b.seasons = SE.ALL
|
|
b.save("glowsquid-normal")
|
|
|
|
b.start(mobs["minecraft:goat"])
|
|
b.altitude = AL.span(AL.HILLS, AL.CRAGS)
|
|
b.biomeFilters = BF([(HE.BOREAL, HE.FROZEN), SO.ROCKY])
|
|
b.group = GR.FAMILY
|
|
b.scarcity = SC.UNCOMMON
|
|
b.seasons = SE.ALL
|
|
b.save("goat-normal")
|
|
|
|
b.start(mobs["minecraft:horse"])
|
|
b.altitude = AL.span(AL.DUNES, AL.LOWLANDS)
|
|
b.biomeFilters = BF([FL.FIELD, (HE.SUBTROPICAL, HE.TEMPERATE), (SO.LOAMY, SO.PEATY, SO.SANDY)])
|
|
b.group = GR.HERD
|
|
b.scarcity = SC.UNUSUAL
|
|
b.seasons = SE.ALL
|
|
b.save("horse-normal")
|
|
|
|
b.start(mobs["minecraft:llama"])
|
|
b.altitude = AL.span(AL.ALPINE, AL.PEAKS)
|
|
b.biomeFilters = BF([(HE.BOREAL, HE.FROZEN), SO.ROCKY])
|
|
b.group = GR.HERD
|
|
b.scarcity = SC.UNCOMMON
|
|
b.seasons = SE.ALL
|
|
b.save("llama-normal")
|
|
|
|
b.start(mobs["minecraft:magma_cube"])
|
|
b.altitude = AL.PLUTONIC
|
|
b.location = LO.CAVE
|
|
b.group = GR.SOLO
|
|
b.scarcity = SC.UNCOMMON
|
|
b.save("magmacube-normal")
|
|
|
|
b.start(mobs["minecraft:mooshroom"])
|
|
b.altitude = AL.span(AL.DUNES, AL.UPLANDS)
|
|
b.biomeFilters = BF([SO.FUNGAL])
|
|
b.group = GR.HERD
|
|
b.scarcity = SC.UNCOMMON
|
|
b.seasons = SE.ALL
|
|
b.save("mooshroom-normal")
|
|
|
|
b.start(mobs["minecraft:ocelot"])
|
|
b.altitude = AL.span(AL.LOWLANDS, AL.HILLS)
|
|
b.biomeFilters = BF([FL.CANOPY, HE.TROPICAL])
|
|
b.group = GR.SOLO
|
|
b.scarcity = SC.RARE
|
|
b.seasons = SE.ALL
|
|
b.save("ocelot-normal")
|
|
|
|
b.start(mobs["minecraft:panda"])
|
|
b.altitude = AL.span(AL.LOWLANDS, AL.UPLANDS)
|
|
b.biomeFilters = BF([ResourceId.parse("bamboo_jungle")])
|
|
b.group = GR.SOLO
|
|
b.scarcity = SC.UNUSUAL
|
|
b.seasons = SE.exclude(SE.SPRING)
|
|
b.save("panda-normal")
|
|
|
|
b.group = GR.PAIR
|
|
b.seasons = SE.SPRING
|
|
b.save("panda-spring")
|
|
|
|
b.start(mobs["minecraft:parrot"])
|
|
b.altitude = AL.span(AL.DUNES, AL.HILLS)
|
|
b.biomeFilters = BF([FL.CANOPY, HE.TROPICAL])
|
|
b.group = GR.PAIR
|
|
b.scarcity = SC.COMMON
|
|
b.seasons = SE.ALL
|
|
b.save("parrot-canopyforest")
|
|
|
|
b.biomeFilters = BF([FL.CLEARING, HE.TROPICAL], [SO.FUNGAL])
|
|
b.scarcity = SC.UNCOMMON
|
|
b.save("parrot-clearing")
|
|
|
|
b.start(mobs["minecraft:pig"])
|
|
b.altitude = AL.span(AL.LOWLANDS, AL.HILLS)
|
|
b.biomeFilters = BF([
|
|
FL.within(FL.CANOPY, FL.CLEARING),
|
|
HE.within(HE.SUBTROPICAL, HE.BOREAL),
|
|
SO.LOAMY,
|
|
|
|
])
|
|
b.group = GR.TROUP
|
|
b.scarcity = SC.COMMON
|
|
b.seasons = SE.SUMMER
|
|
b.save("pig-summer")
|
|
|
|
b.scarcity = SC.UNCOMMON
|
|
b.seasons = SE.exclude(SE.SUMMER)
|
|
b.save("pig-normal")
|
|
|
|
b.start(mobs["minecraft:polar_bear"])
|
|
b.altitude = AL.DUNES
|
|
b.biomeFilters = BF([HE.FROZEN, (WA.COAST, WA.OCEAN)])
|
|
b.group = GR.PAIR
|
|
b.scarcity = SC.UNUSUAL
|
|
b.seasons = [SE.SPRING, SE.WINTER]
|
|
b.save("polarbear-springwinter")
|
|
|
|
b.group = GR.SOLO
|
|
b.seasons = [SE.SUMMER, SE.AUTUMN]
|
|
b.scarcity = SC.RARE
|
|
b.save("polarbear-autumnsummer")
|
|
|
|
b.start(mobs["minecraft:pufferfish"])
|
|
b.altitude = AL.SHALLOWS
|
|
b.biomeFilters = BF([(HE.TEMPERATE, HE.TROPICAL), WA.OCEAN])
|
|
b.group = GR.TROUP
|
|
b.location = LO.WATER
|
|
b.scarcity = SC.UNCOMMON
|
|
b.seasons = SE.ALL
|
|
b.save("pufferfish-normal")
|
|
|
|
b.start(mobs["minecraft:rabbit"])
|
|
b.altitude = AL.span(AL.DUNES, AL.ALPINE)
|
|
b.biomeFilters = BF([
|
|
FL.within(FL.CANOPY, FL.FIELD),
|
|
HE.within(HE.SUBTROPICAL, HE.BOREAL),
|
|
WA.INLAND,
|
|
])
|
|
b.group = GR.FAMILY
|
|
b.scarcity = SC.COMMON
|
|
b.seasons = SE.SPRING
|
|
b.save("rabbit-temperate-spring")
|
|
|
|
b.scarcity = SC.SPARSE
|
|
b.seasons = [SE.SUMMER, SE.AUTUMN]
|
|
b.save("rabbit-temperate-autumnsummer")
|
|
|
|
b.scarcity = SC.SPARSE
|
|
b.seasons = SE.WINTER
|
|
b.save("rabbit-temperate-winter")
|
|
|
|
b.altitude = AL.span(AL.DUNES, AL.LOWLANDS)
|
|
b.biomeFilters = BF([FL.BARREN, HE.TROPICAL, HU.ARID])
|
|
b.group = GR.PAIR
|
|
b.scarcity = SC.SPARSE
|
|
b.seasons = SE.exclude(SE.SUMMER)
|
|
b.save("rabbit-desert-normal")
|
|
|
|
b.scarcity = SC.UNUSUAL
|
|
b.seasons = SE.SUMMER
|
|
b.save("rabbit-desert-summer")
|
|
|
|
b.altitude = AL.span(AL.LOWLANDS, AL.UPLANDS)
|
|
b.biomeFilters = BF([FL.within(FL.FOREST, FL.FIELD), HE.FROZEN])
|
|
b.scarcity = SC.SPARSE
|
|
b.seasons = SE.exclude(SE.WINTER)
|
|
b.save("rabbit-frozen-normal")
|
|
|
|
b.scarcity = SC.UNUSUAL
|
|
b.seasons = SE.WINTER
|
|
b.save("rabbit-frozen-winter")
|
|
|
|
b.start(mobs["minecraft:salmon"])
|
|
b.altitude = AL.span(AL.SURFACE, AL.SHALLOWS)
|
|
b.biomeFilters = BF([WA.RIVER], [HE.FROZEN])
|
|
b.group = GR.HERD
|
|
b.scarcity = SC.COMMON
|
|
b.seasons = SE.AUTUMN
|
|
b.save("salmon-autumnrun")
|
|
|
|
b.scarcity = SC.UNCOMMON
|
|
b.seasons = [SE.SPRING]
|
|
b.save("salmon-springrun")
|
|
|
|
b.seasons = [SE.SUMMER, SE.WINTER]
|
|
b.scarcity = SC.ABSENT
|
|
b.save("salmon-notrunning")
|
|
|
|
b.start(mobs["minecraft:sheep"])
|
|
b.altitude = AL.span(AL.LOWLANDS, AL.UPLANDS)
|
|
b.biomeFilters = BF([FL.within(FL.FOREST, FL.FIELD), HE.BOREAL])
|
|
b.group = GR.HERD
|
|
b.scarcity = SC.UNCOMMON
|
|
b.seasons = SE.ALL
|
|
b.save("sheep-normal")
|
|
|
|
b.start(mobs["minecraft:slime"])
|
|
b.altitude = AL.span(AL.SURFACE, AL.DUNES)
|
|
b.biomeFilters = BF([HE.TEMPERATE, WA.SWAMP])
|
|
b.group = GR.SOLO
|
|
b.scarcity = SC.UNCOMMON
|
|
b.seasons = [SE.SPRING]
|
|
b.save("slime-spring")
|
|
|
|
b.scarcity = SC.UNUSUAL
|
|
b.seasons = SE.exclude(SE.SPRING)
|
|
b.save("slime-normal")
|
|
|
|
b.start(mobs["minecraft:spider"])
|
|
b.altitude = AL.span(AL.LOWLANDS, AL.HILLS)
|
|
b.biomeFilters = BF([FL.CANOPY, HE.TEMPERATE])
|
|
b.group = GR.SOLO
|
|
b.scarcity = SC.COMMON
|
|
b.seasons = SE.SUMMER
|
|
b.save("spider-summer")
|
|
|
|
b.scarcity = SC.UNCOMMON
|
|
b.seasons = [SE.SPRING, SE.AUTUMN]
|
|
b.save("spider-springsummer")
|
|
|
|
b.scarcity = SC.SPARSE
|
|
b.seasons = SE.WINTER
|
|
b.save("spider-winter")
|
|
|
|
b.start(mobs["minecraft:squid"])
|
|
b.altitude = AL.DEEPS
|
|
b.biomeFilters = BF([WA.OCEAN], [HE.FROZEN])
|
|
b.group = GR.SOLO
|
|
b.location = LO.WATER
|
|
b.scarcity = SC.SPARSE
|
|
b.seasons = SE.ALL
|
|
b.save("squid-normal")
|
|
|
|
b.start(mobs["minecraft:tropical_fish"])
|
|
b.altitude = AL.SHALLOWS
|
|
b.biomeFilters = BF([HE.TROPICAL, WA.OCEAN])
|
|
b.group = GR.HERD
|
|
b.location = LO.WATER
|
|
b.scarcity = SC.COMMON
|
|
b.seasons = SE.ALL
|
|
b.save("tropicalfish-normal")
|
|
|
|
b.start(mobs["minecraft:turtle"])
|
|
b.altitude = AL.span(AL.SURFACE, AL.SHALLOWS)
|
|
b.biomeFilters = BF([HE.within(HE.TROPICAL, HE.SUBTROPICAL), WA.OCEAN])
|
|
b.group = GR.SOLO
|
|
b.scarcity = SC.SPARSE
|
|
b.seasons = SE.ALL
|
|
b.save("turtle-normal")
|
|
|
|
b.altitude = AL.DUNES
|
|
b.biomeFilters = BF([HE.within(HE.TROPICAL, HE.SUBTROPICAL), WA.COAST])
|
|
b.group = GR.SOLO
|
|
b.scarcity = SC.UNUSUAL
|
|
b.save("turtle-spawning")
|
|
|
|
b.start(mobs["minecraft:wolf"])
|
|
b.altitude = AL.span(AL.LOWLANDS, AL.UPLANDS)
|
|
b.biomeFilters = BF([FL.CANOPY, HE.TEMPERATE, WA.INLAND])
|
|
b.group = GR.TROUP
|
|
b.scarcity = SC.COMMON
|
|
b.seasons = SE.ALL
|
|
b.save("wolf-deepforest")
|
|
|
|
b.biomeFilters = BF([FL.within(FL.FOREST, FL.FIELD), (HE.TEMPERATE, HE.BOREAL), WA.INLAND])
|
|
b.scarcity = SC.UNCOMMON
|
|
b.save("wolf-normal")
|
|
|
|
b.biomeFilters = BF([FL.within(FL.FOREST, FL.FIELD), HE.FROZEN, WA.INLAND])
|
|
b.scarcity = SC.UNUSUAL
|
|
b.save("wolf-arctic")
|
|
|
|
b.biomeFilters = BF([(FL.CLEARING, FL.FIELD), HE.SUBTROPICAL, WA.INLAND], [SO.ROCKY])
|
|
b.scarcity = SC.SPARSE
|
|
b.save("wolf-savanna")
|