I was thinking about this, since I love using Cobblemounts on my server and had some thoughts; two possible sources of data that might work better than just the pokemon's type, if they're available in the Java class:
"behaviour" field of the pokemon's config, if it has behaviour.moving.swim.canSwimInWater you could enable Swimming, and then if it has behaviour.moving.fly.canFly you could enable Flying; upside is that this will prevent Doduo/Dodrio from flying; downside is that this will not accurately reflect behavior for datapack-or-addon added mons unless they've had the behaviours defined. (MoreMons doesn't define Dragapult as behaviour.moving.fly.canFly but it's blatantly flying all the time.)
"moves" field, could give swimming to pokemon that can learn "tm:surf" and/or "tm:dive", and flying to pokemon that can learn "tm:fly"; this reflects pre-generation-7 canon around pokemon that can ridden to fly or swim, and will prevent Gyarados from flying (although Pokemon Legends: Arceus does have flying Gyarados). Upside: It's canon. Downside: This will allow Doduo/Dodrio to fly even though that doesn't make the most sense.
Could do some combination of the two (if 'behaviour' is defined, use swim.canSwimInWater and fly.canFly, otherwise use 'moves'?)
However it's done, it would be nice to have in combination with #18 where you could manually override any decision (such as enabling flying Gyarados because it's canon in one game but not canon to Cobblemounts/HM learn set)
I was thinking about this, since I love using Cobblemounts on my server and had some thoughts; two possible sources of data that might work better than just the pokemon's type, if they're available in the Java class:
Could do some combination of the two (if 'behaviour' is defined, use swim.canSwimInWater and fly.canFly, otherwise use 'moves'?)
However it's done, it would be nice to have in combination with #18 where you could manually override any decision (such as enabling flying Gyarados because it's canon in one game but not canon to Cobblemounts/HM learn set)