Spawn anti-conditions are all required to block spawning
Summary
If a spawn pool has multiple anti-conditions, they are all being AND together. i.e. they all must be true to block spawns. There is no way to OR them together.
Steps to reproduce
Pick a spawn pool for a Pokemon that already has an anti-condition (like one of the many with #cobblemon:is_cold).
Add a second anti-condition to it. Like a dimension one.
Example with Rhyperior:
{
"id": "rhyperior-1",
"pokemon": "rhyperior",
"presets": [
"natural",
"wild"
],
"type": "pokemon",
"context": "grounded",
"bucket": "common",
"level": "44-54",
"weight": 0.01,
"weightMultiplier": {
"multiplier": 0.25,
"condition": {
"timeRange": "night"
}
},
"condition": {
"minSkyLight": 8,
"maxSkyLight": 15,
"biomes": [
"#cobblemon:is_mountain",
"#cobblemon:is_savanna"
]
},
"anticondition": {
"biomes": [
"#cobblemon:is_cold"
],
"dimensions": [
"tm:kanto",
"tm:paldea",
"tm:kitakami",
"tm:hoenn",
"tm:alola",
"tm:johto"
]
}
}
What is the current bug behavior?
Spawns are blocked only if all anti-conditions are met. In the Rhyperior example, it must be a cold biome AND inside of one of the listed dimensions. Not a cold biome OR inside of one of the dimensions.
What is the expected correct behavior?
Anti-conditions should be applied separately. A cold biome OR inside of one of the dimensions.
Cobblemon Version and Mod Loader
Cobblemon 1.7 snapshot (this bugfix is needed: af09a6a0). Neoforge 1.21.1
Mods used besides Cobblemon
No.
Relevant logs, screenshots and/or videos
Using /checkspawns in a #cobblemon:is_savanna biome (Scrubland from Biomes 'O Plenty).
Spawns
------
Spearow: 28.12%, Duduo: 28.12%, Ekans: 16.87%, Tauros: 6.25%, Exeggcute: 5.94%, Rhyhorn: 5.62%, Fearow: 3.12%, Dodrio: 3.12%, Arbok: 1.87%, Rhydon: 0.59%, Exeggutor: 0.31%, Rhyperior: 0.03%
Additional Information
(If you can, link to the line of code that might be responsible for the problem, or any other info that might be useful)