Skip to content

Community funded. Cosmetic rewards only. Never pay-to-win.

Our promise
AshRun
In-game model of Qwilfish
← All Pokémon

National Pokédex #0211 · Generation 2

Qwilfish

waterpoison

Qwilfish sucks in water, inflating itself. This Pokémon uses the pressure of the water it swallowed to shoot toxic quills all at once from all over its body. It finds swimming somewhat challenging.

Natural spawn

AshRun locations

How to obtain Qwilfish

26 places to look

Where to look in the wild

Biome

Lukewarm Ocean / Warm Ocean

Level19-44RarityUncommon
  • Outdoors
Biome

Ocean

Level19-44RarityCommon
  • Outdoors
Biome

Lukewarm Ocean / Warm Ocean

Level19-44RarityUncommon
  • Outdoors
Biome

Lukewarm Ocean / Warm Ocean

Level19-44RarityCommon
  • Outdoors
  • Lure: Level 1+
Biome

Ocean

Level19-44RarityCommon
  • Outdoors
  • Near: Monument
Biome

Lukewarm Ocean / Warm Ocean

Level19-44RarityUncommon
  • Light: Bright
  • Under cover
Biome

Ocean

Level19-44RarityCommon
  • Light: Bright
  • Under cover
Biome

Lukewarm Ocean / Warm Ocean

Level19-44RarityUncommon
  • Light: Bright
  • Under cover
Biome

Lukewarm Ocean / Warm Ocean

Level19-44RarityCommon
  • Light: Bright
  • Under cover
  • Lure: Level 1+
Biome

Ocean

Level19-44RarityCommon
  • Light: Bright
  • Under cover
  • Near: Monument
Biome

Overworld

Level19-44RarityUncommon
  • Under cover
  • Height: Y -60–13
  • Near: Shipwreck Coves Submerged Shipwreck Cove
Biome

Overworld

Level19-44RarityUncommon
  • Under cover
  • Height: Y -60–13
  • Near: Shipwreck Coves Submerged Shipwreck Cove
Biome

Overworld

Level19-44RarityCommon
  • Under cover
  • Height: Y -60–13
  • Near: Shipwreck Coves Submerged Shipwreck Cove
  • Lure: Level 1+
Biome

Cold Ocean

Level19-44RarityUncommon
  • Outdoors
Biome

Cold Ocean / Frozen Ocean

Level19-44RarityCommon
  • Outdoors
Biome

Cold Ocean

Level19-44RarityUncommon
  • Outdoors
Biome

Cold Ocean

Level19-44RarityCommon
  • Outdoors
  • Lure: Level 1+
Biome

Cold Ocean / Frozen Ocean

Level19-44RarityCommon
  • Outdoors
  • Near: Monument
Biome

Cold Ocean

Level19-44RarityUncommon
  • Light: Bright
  • Under cover
Biome

Cold Ocean / Frozen Ocean

Level19-44RarityCommon
  • Light: Bright
  • Under cover
Biome

Cold Ocean

Level19-44RarityUncommon
  • Light: Bright
  • Under cover
Biome

Cold Ocean

Level19-44RarityCommon
  • Light: Bright
  • Under cover
  • Lure: Level 1+
Biome

Cold Ocean / Frozen Ocean

Level19-44RarityCommon
  • Light: Bright
  • Under cover
  • Near: Monument
Biome

Cold

Level19-44RarityUncommon
  • Under cover
  • Height: Y -60–13
  • Near: Shipwreck Coves Submerged Shipwreck Cove
Biome

Cold

Level19-44RarityUncommon
  • Under cover
  • Height: Y -60–13
  • Near: Shipwreck Coves Submerged Shipwreck Cove
Biome

Cold

Level19-44RarityCommon
  • Under cover
  • Height: Y -60–13
  • Near: Shipwreck Coves Submerged Shipwreck Cove
  • Lure: Level 1+

Battle profile

Base stats

440 total
Hp65
Attack95
Defence85
Special Attack55
Special Defence55
Speed85

Abilities

  • Poisonpoint
  • Swiftswim
  • Intimidate Hidden

Training

Base experience
88
Growth
Medium Fast
EV yield
Hp: 0 · Attack: 1 · Defence: 0 · Special Attack: 0 · Special Defence: 0 · Speed: 0
Friendship
50

Progression

Evolution & forms

This Pokémon does not evolve into another species.

Forms

Complete installed learnset

Moves

135 entries
Level moves (18)
Lv. 1 · TackleLv. 1 · PoisonstingLv. 1 · BubbleLv. 4 · HardenLv. 8 · WatergunLv. 12 · FellstingerLv. 16 · MinimizeLv. 20 · SpikesLv. 24 · BrineLv. 28 · PoisonjabLv. 32 · PinmissileLv. 36 · ToxicspikesLv. 40 · StockpileLv. 40 · SpitupLv. 44 · ToxicLv. 48 · AquatailLv. 52 · AcupressureLv. 56 · Destinybond
Egg moves (10)
AcidsprayAquajetAstonishBarbbarrageBubblebeamFlailHazeSelfdestructSupersonicWaterpulse
Tm moves (67)
AcidsprayAgilityAquatailAssuranceBlizzardBounceBrineChillingwaterCrunchCurseDiveDoubleedgeEndureExplosionFacadeFlipturnGigaimpactGunkshotGyroballHailHazeHeadbuttHexHydropumpIcebeamIcywindLiquidationMudshotPainsplitPaybackPinmissilePoisonjabPoisontailProtectRaindanceRestRevengeReversalRolloutScaleshotScaryfaceSelfdestructShadowballShockwaveSignalbeamSleeptalkSludgebombSludgewaveSpikesSpiteSteelrollerSubstituteSurfSwiftSwordsdanceTakedownTauntTerablastThroatchopThunderwaveToxicToxicspikesVenomdrenchVenoshockWaterfallWaterpulseWhirlpool
Tutor moves (25)
AquatailBounceDiveFlipturnGigaimpactGunkshotIcebeamIcywindLiquidationPainsplitPoisonjabRestRolloutScaleshotShadowballShockwaveSignalbeamSleeptalkSludgebombSpikesSpiteSteelrollerSwiftThroatchopWaterpulse
Legacy moves (15)
AttractCaptivateConfideDefensecurlDoubleteamFrustrationHiddenpowerMimicNaturalgiftReturnRoundScaldSecretpowerSnoreSwagger

Useful extras

Drops & breeding

Pufferfish

Quantity 1

Prismarine Shard

Quantity 0-1

Poison Barb

2.5% chance

Egg groups
Water 2
Egg cycles
20
Catch rate
45
Maximum drops
3
Technical server dataRaw records, internal IDs, source files, presets, and full JSON

Source summary

Base species: Cobblemon-neoforge-1.7.3+1.21.1.jar. Installed additions: none.

Acquisition records

{
  "questGuides": [],
  "structureEncounters": [],
  "naturalSpawns": [
    {
      "id": "qwilfish-1",
      "pokemon": "qwilfish",
      "presets": [
        "water"
      ],
      "type": "pokemon",
      "spawnablePositionType": "submerged",
      "bucket": "uncommon",
      "level": "19-44",
      "weight": 10,
      "condition": {
        "canSeeSky": true,
        "biomes": [
          "#cobblemon:is_lukewarm_ocean",
          "#cobblemon:is_warm_ocean"
        ]
      },
      "anticondition": {
        "structures": [
          "minecraft:monument"
        ]
      },
      "source": "Cobblemon-neoforge-1.7.3+1.21.1.jar",
      "sourceFile": "data/cobblemon/spawn_pool_world/0211_qwilfish.json"
    },
    {
      "id": "qwilfish-2",
      "pokemon": "qwilfish",
      "presets": [
        "water",
        "ocean_monument"
      ],
      "type": "pokemon",
      "spawnablePositionType": "submerged",
      "bucket": "common",
      "level": "19-44",
      "weight": 60,
      "condition": {
        "canSeeSky": true,
        "biomes": [
          "#cobblemon:is_ocean"
        ]
      },
      "anticondition": {
        "biomes": [
          "#cobblemon:is_cold_ocean",
          "#cobblemon:is_frozen_ocean"
        ]
      },
      "source": "Cobblemon-neoforge-1.7.3+1.21.1.jar",
      "sourceFile": "data/cobblemon/spawn_pool_world/0211_qwilfish.json"
    },
    {
      "id": "qwilfish-3",
      "pokemon": "qwilfish",
      "type": "pokemon",
      "spawnablePositionType": "fishing",
      "bucket": "uncommon",
      "level": "19-44",
      "weight": 10,
      "condition": {
        "canSeeSky": true,
        "biomes": [
          "#cobblemon:is_lukewarm_ocean",
          "#cobblemon:is_warm_ocean"
        ]
      },
      "anticondition": {
        "minLureLevel": 1,
        "structures": [
          "minecraft:monument"
        ]
      },
      "source": "Cobblemon-neoforge-1.7.3+1.21.1.jar",
      "sourceFile": "data/cobblemon/spawn_pool_world/0211_qwilfish.json"
    },
    {
      "id": "qwilfish-4",
      "pokemon": "qwilfish",
      "type": "pokemon",
      "spawnablePositionType": "fishing",
      "bucket": "common",
      "level": "19-44",
      "weight": 10,
      "weightMultiplier": {
        "multiplier": 0.6,
        "condition": {
          "minLureLevel": 1,
          "maxLureLevel": 2
        }
      },
      "condition": {
        "canSeeSky": true,
        "biomes": [
          "#cobblemon:is_lukewarm_ocean",
          "#cobblemon:is_warm_ocean"
        ],
        "minLureLevel": 1
      },
      "anticondition": {
        "structures": [
          "minecraft:monument"
        ]
      },
      "source": "Cobblemon-neoforge-1.7.3+1.21.1.jar",
      "sourceFile": "data/cobblemon/spawn_pool_world/0211_qwilfish.json"
    },
    {
      "id": "qwilfish-5",
      "pokemon": "qwilfish",
      "type": "pokemon",
      "spawnablePositionType": "fishing",
      "bucket": "common",
      "level": "19-44",
      "weight": 100,
      "weightMultiplier": {
        "multiplier": 0.6,
        "condition": {
          "minLureLevel": 0,
          "maxLureLevel": 1
        }
      },
      "condition": {
        "canSeeSky": true,
        "biomes": [
          "#cobblemon:is_ocean"
        ],
        "structures": [
          "minecraft:monument"
        ]
      },
      "anticondition": {
        "biomes": [
          "#cobblemon:is_cold_ocean",
          "#cobblemon:is_frozen_ocean"
        ]
      },
      "source": "Cobblemon-neoforge-1.7.3+1.21.1.jar",
      "sourceFile": "data/cobblemon/spawn_pool_world/0211_qwilfish.json"
    },
    {
      "id": "qwilfish-6",
      "pokemon": "qwilfish",
      "presets": [
        "water"
      ],
      "type": "pokemon",
      "spawnablePositionType": "submerged",
      "bucket": "uncommon",
      "level": "19-44",
      "weight": 10,
      "condition": {
        "canSeeSky": false,
        "minSkyLight": 8,
        "maxSkyLight": 15,
        "biomes": [
          "#cobblemon:is_lukewarm_ocean",
          "#cobblemon:is_warm_ocean"
        ]
      },
      "anticondition": {
        "structures": [
          "minecraft:monument"
        ]
      },
      "source": "Cobblemon-neoforge-1.7.3+1.21.1.jar",
      "sourceFile": "data/cobblemon/spawn_pool_world/0211_qwilfish.json"
    },
    {
      "id": "qwilfish-7",
      "pokemon": "qwilfish",
      "presets": [
        "water",
        "ocean_monument"
      ],
      "type": "pokemon",
      "spawnablePositionType": "submerged",
      "bucket": "common",
      "level": "19-44",
      "weight": 60,
      "condition": {
        "canSeeSky": false,
        "minSkyLight": 8,
        "maxSkyLight": 15,
        "biomes": [
          "#cobblemon:is_ocean"
        ]
      },
      "anticondition": {
        "biomes": [
          "#cobblemon:is_cold_ocean",
          "#cobblemon:is_frozen_ocean"
        ]
      },
      "source": "Cobblemon-neoforge-1.7.3+1.21.1.jar",
      "sourceFile": "data/cobblemon/spawn_pool_world/0211_qwilfish.json"
    },
    {
      "id": "qwilfish-8",
      "pokemon": "qwilfish",
      "type": "pokemon",
      "spawnablePositionType": "fishing",
      "bucket": "uncommon",
      "level": "19-44",
      "weight": 10,
      "condition": {
        "canSeeSky": false,
        "minSkyLight": 8,
        "maxSkyLight": 15,
        "biomes": [
          "#cobblemon:is_lukewarm_ocean",
          "#cobblemon:is_warm_ocean"
        ]
      },
      "anticondition": {
        "minLureLevel": 1,
        "structures": [
          "minecraft:monument"
        ]
      },
      "source": "Cobblemon-neoforge-1.7.3+1.21.1.jar",
      "sourceFile": "data/cobblemon/spawn_pool_world/0211_qwilfish.json"
    },
    {
      "id": "qwilfish-9",
      "pokemon": "qwilfish",
      "type": "pokemon",
      "spawnablePositionType": "fishing",
      "bucket": "common",
      "level": "19-44",
      "weight": 10,
      "weightMultiplier": {
        "multiplier": 0.6,
        "condition": {
          "minLureLevel": 1,
          "maxLureLevel": 2
        }
      },
      "condition": {
        "canSeeSky": false,
        "minSkyLight": 8,
        "maxSkyLight": 15,
        "biomes": [
          "#cobblemon:is_lukewarm_ocean",
          "#cobblemon:is_warm_ocean"
        ],
        "minLureLevel": 1
      },
      "anticondition": {
        "structures": [
          "minecraft:monument"
        ]
      },
      "source": "Cobblemon-neoforge-1.7.3+1.21.1.jar",
      "sourceFile": "data/cobblemon/spawn_pool_world/0211_qwilfish.json"
    },
    {
      "id": "qwilfish-10",
      "pokemon": "qwilfish",
      "type": "pokemon",
      "spawnablePositionType": "fishing",
      "bucket": "common",
      "level": "19-44",
      "weight": 100,
      "weightMultiplier": {
        "multiplier": 0.6,
        "condition": {
          "minLureLevel": 0,
          "maxLureLevel": 1
        }
      },
      "condition": {
        "canSeeSky": false,
        "minSkyLight": 8,
        "maxSkyLight": 15,
        "biomes": [
          "#cobblemon:is_ocean"
        ],
        "structures": [
          "minecraft:monument"
        ]
      },
      "anticondition": {
        "biomes": [
          "#cobblemon:is_cold_ocean",
          "#cobblemon:is_frozen_ocean"
        ]
      },
      "source": "Cobblemon-neoforge-1.7.3+1.21.1.jar",
      "sourceFile": "data/cobblemon/spawn_pool_world/0211_qwilfish.json"
    },
    {
      "id": "qwilfish-11",
      "pokemon": "qwilfish",
      "presets": [
        "water"
      ],
      "type": "pokemon",
      "spawnablePositionType": "submerged",
      "bucket": "uncommon",
      "level": "19-44",
      "weight": 10,
      "condition": {
        "canSeeSky": false,
        "biomes": [
          "#cobblemon:is_overworld"
        ],
        "structures": [
          "cobblemon:shipwreck_coves/submerged_shipwreck_cove"
        ],
        "minY": -60,
        "maxY": 13
      },
      "anticondition": {
        "biomes": [
          "#cobblemon:is_cold"
        ]
      },
      "source": "Cobblemon-neoforge-1.7.3+1.21.1.jar",
      "sourceFile": "data/cobblemon/spawn_pool_world/0211_qwilfish.json"
    },
    {
      "id": "qwilfish-12",
      "pokemon": "qwilfish",
      "type": "pokemon",
      "spawnablePositionType": "fishing",
      "bucket": "uncommon",
      "level": "19-44",
      "weight": 10,
      "condition": {
        "canSeeSky": false,
        "biomes": [
          "#cobblemon:is_overworld"
        ],
        "structures": [
          "cobblemon:shipwreck_coves/submerged_shipwreck_cove"
        ],
        "minY": -60,
        "maxY": 13
      },
      "anticondition": {
        "minLureLevel": 1,
        "biomes": [
          "#cobblemon:is_cold"
        ]
      },
      "source": "Cobblemon-neoforge-1.7.3+1.21.1.jar",
      "sourceFile": "data/cobblemon/spawn_pool_world/0211_qwilfish.json"
    },
    {
      "id": "qwilfish-13",
      "pokemon": "qwilfish",
      "type": "pokemon",
      "spawnablePositionType": "fishing",
      "bucket": "common",
      "level": "19-44",
      "weight": 10,
      "weightMultiplier": {
        "multiplier": 0.6,
        "condition": {
          "minLureLevel": 1,
          "maxLureLevel": 2
        }
      },
      "condition": {
        "canSeeSky": false,
        "biomes": [
          "#cobblemon:is_overworld"
        ],
        "minLureLevel": 1,
        "structures": [
          "cobblemon:shipwreck_coves/submerged_shipwreck_cove"
        ],
        "minY": -60,
        "maxY": 13
      },
      "anticondition": {
        "biomes": [
          "#cobblemon:is_cold"
        ]
      },
      "source": "Cobblemon-neoforge-1.7.3+1.21.1.jar",
      "sourceFile": "data/cobblemon/spawn_pool_world/0211_qwilfish.json"
    },
    {
      "id": "qwilfish-hisuian-14",
      "pokemon": "qwilfish hisuian",
      "presets": [
        "water"
      ],
      "type": "pokemon",
      "spawnablePositionType": "submerged",
      "bucket": "uncommon",
      "level": "19-44",
      "weight": 8.4,
      "condition": {
        "canSeeSky": true,
        "biomes": [
          "#cobblemon:is_cold_ocean"
        ]
      },
      "anticondition": {
        "structures": [
          "minecraft:monument"
        ]
      },
      "source": "Cobblemon-neoforge-1.7.3+1.21.1.jar",
      "sourceFile": "data/cobblemon/spawn_pool_world/0211_qwilfish.json"
    },
    {
      "id": "qwilfish-hisuian-15",
      "pokemon": "qwilfish hisuian",
      "presets": [
        "water",
        "ocean_monument"
      ],
      "type": "pokemon",
      "spawnablePositionType": "submerged",
      "bucket": "common",
      "level": "19-44",
      "weight": 54,
      "condition": {
        "canSeeSky": true,
        "biomes": [
          "#cobblemon:is_cold_ocean",
          "#cobblemon:is_frozen_ocean"
        ]
      },
      "source": "Cobblemon-neoforge-1.7.3+1.21.1.jar",
      "sourceFile": "data/cobblemon/spawn_pool_world/0211_qwilfish.json"
    },
    {
      "id": "qwilfish-hisuian-16",
      "pokemon": "qwilfish hisuian",
      "type": "pokemon",
      "spawnablePositionType": "fishing",
      "bucket": "uncommon",
      "level": "19-44",
      "weight": 8.4,
      "condition": {
        "canSeeSky": true,
        "biomes": [
          "#cobblemon:is_cold_ocean"
        ]
      },
      "anticondition": {
        "minLureLevel": 1,
        "structures": [
          "minecraft:monument"
        ]
      },
      "source": "Cobblemon-neoforge-1.7.3+1.21.1.jar",
      "sourceFile": "data/cobblemon/spawn_pool_world/0211_qwilfish.json"
    },
    {
      "id": "qwilfish-hisuian-17",
      "pokemon": "qwilfish hisuian",
      "type": "pokemon",
      "spawnablePositionType": "fishing",
      "bucket": "common",
      "level": "19-44",
      "weight": 9,
      "weightMultiplier": {
        "multiplier": 0.6,
        "condition": {
          "minLureLevel": 1,
          "maxLureLevel": 2
        }
      },
      "condition": {
        "canSeeSky": true,
        "biomes": [
          "#cobblemon:is_cold_ocean"
        ],
        "minLureLevel": 1
      },
      "anticondition": {
        "structures": [
          "minecraft:monument"
        ]
      },
      "source": "Cobblemon-neoforge-1.7.3+1.21.1.jar",
      "sourceFile": "data/cobblemon/spawn_pool_world/0211_qwilfish.json"
    },
    {
      "id": "qwilfish-hisuian-18",
      "pokemon": "qwilfish hisuian",
      "type": "pokemon",
      "spawnablePositionType": "fishing",
      "bucket": "common",
      "level": "19-44",
      "weight": 54,
      "weightMultiplier": {
        "multiplier": 0.6,
        "condition": {
          "minLureLevel": 0,
          "maxLureLevel": 1
        }
      },
      "condition": {
        "canSeeSky": true,
        "biomes": [
          "#cobblemon:is_cold_ocean",
          "#cobblemon:is_frozen_ocean"
        ],
        "structures": [
          "minecraft:monument"
        ]
      },
      "source": "Cobblemon-neoforge-1.7.3+1.21.1.jar",
      "sourceFile": "data/cobblemon/spawn_pool_world/0211_qwilfish.json"
    },
    {
      "id": "qwilfish-hisuian-19",
      "pokemon": "qwilfish hisuian",
      "presets": [
        "water"
      ],
      "type": "pokemon",
      "spawnablePositionType": "submerged",
      "bucket": "uncommon",
      "level": "19-44",
      "weight": 8.4,
      "condition": {
        "canSeeSky": false,
        "minSkyLight": 8,
        "maxSkyLight": 15,
        "biomes": [
          "#cobblemon:is_cold_ocean"
        ]
      },
      "anticondition": {
        "structures": [
          "minecraft:monument"
        ]
      },
      "source": "Cobblemon-neoforge-1.7.3+1.21.1.jar",
      "sourceFile": "data/cobblemon/spawn_pool_world/0211_qwilfish.json"
    },
    {
      "id": "qwilfish-hisuian-20",
      "pokemon": "qwilfish hisuian",
      "presets": [
        "water",
        "ocean_monument"
      ],
      "type": "pokemon",
      "spawnablePositionType": "submerged",
      "bucket": "common",
      "level": "19-44",
      "weight": 54,
      "condition": {
        "canSeeSky": false,
        "minSkyLight": 8,
        "maxSkyLight": 15,
        "biomes": [
          "#cobblemon:is_cold_ocean",
          "#cobblemon:is_frozen_ocean"
        ]
      },
      "source": "Cobblemon-neoforge-1.7.3+1.21.1.jar",
      "sourceFile": "data/cobblemon/spawn_pool_world/0211_qwilfish.json"
    },
    {
      "id": "qwilfish-hisuian-21",
      "pokemon": "qwilfish hisuian",
      "type": "pokemon",
      "spawnablePositionType": "fishing",
      "bucket": "uncommon",
      "level": "19-44",
      "weight": 8.4,
      "condition": {
        "canSeeSky": false,
        "minSkyLight": 8,
        "maxSkyLight": 15,
        "biomes": [
          "#cobblemon:is_cold_ocean"
        ]
      },
      "anticondition": {
        "minLureLevel": 1,
        "structures": [
          "minecraft:monument"
        ]
      },
      "source": "Cobblemon-neoforge-1.7.3+1.21.1.jar",
      "sourceFile": "data/cobblemon/spawn_pool_world/0211_qwilfish.json"
    },
    {
      "id": "qwilfish-hisuian-22",
      "pokemon": "qwilfish hisuian",
      "type": "pokemon",
      "spawnablePositionType": "fishing",
      "bucket": "common",
      "level": "19-44",
      "weight": 9,
      "weightMultiplier": {
        "multiplier": 0.6,
        "condition": {
          "minLureLevel": 1,
          "maxLureLevel": 2
        }
      },
      "condition": {
        "canSeeSky": false,
        "minSkyLight": 8,
        "maxSkyLight": 15,
        "biomes": [
          "#cobblemon:is_cold_ocean"
        ],
        "minLureLevel": 1
      },
      "anticondition": {
        "structures": [
          "minecraft:monument"
        ]
      },
      "source": "Cobblemon-neoforge-1.7.3+1.21.1.jar",
      "sourceFile": "data/cobblemon/spawn_pool_world/0211_qwilfish.json"
    },
    {
      "id": "qwilfish-hisuian-23",
      "pokemon": "qwilfish hisuian",
      "type": "pokemon",
      "spawnablePositionType": "fishing",
      "bucket": "common",
      "level": "19-44",
      "weight": 54,
      "weightMultiplier": {
        "multiplier": 0.6,
        "condition": {
          "minLureLevel": 0,
          "maxLureLevel": 1
        }
      },
      "condition": {
        "canSeeSky": false,
        "minSkyLight": 8,
        "maxSkyLight": 15,
        "biomes": [
          "#cobblemon:is_cold_ocean",
          "#cobblemon:is_frozen_ocean"
        ],
        "structures": [
          "minecraft:monument"
        ]
      },
      "source": "Cobblemon-neoforge-1.7.3+1.21.1.jar",
      "sourceFile": "data/cobblemon/spawn_pool_world/0211_qwilfish.json"
    },
    {
      "id": "qwilfish-hisuian-24",
      "pokemon": "qwilfish hisuian",
      "presets": [
        "water"
      ],
      "type": "pokemon",
      "spawnablePositionType": "submerged",
      "bucket": "uncommon",
      "level": "19-44",
      "weight": 8.4,
      "condition": {
        "canSeeSky": false,
        "biomes": [
          "#cobblemon:is_cold"
        ],
        "structures": [
          "cobblemon:shipwreck_coves/submerged_shipwreck_cove"
        ],
        "minY": -60,
        "maxY": 13
      },
      "source": "Cobblemon-neoforge-1.7.3+1.21.1.jar",
      "sourceFile": "data/cobblemon/spawn_pool_world/0211_qwilfish.json"
    },
    {
      "id": "qwilfish-hisuian-25",
      "pokemon": "qwilfish hisuian",
      "type": "pokemon",
      "spawnablePositionType": "fishing",
      "bucket": "uncommon",
      "level": "19-44",
      "weight": 8.4,
      "condition": {
        "canSeeSky": false,
        "biomes": [
          "#cobblemon:is_cold"
        ],
        "structures": [
          "cobblemon:shipwreck_coves/submerged_shipwreck_cove"
        ],
        "minY": -60,
        "maxY": 13
      },
      "anticondition": {
        "minLureLevel": 1
      },
      "source": "Cobblemon-neoforge-1.7.3+1.21.1.jar",
      "sourceFile": "data/cobblemon/spawn_pool_world/0211_qwilfish.json"
    },
    {
      "id": "qwilfish-hisuian-26",
      "pokemon": "qwilfish hisuian",
      "type": "pokemon",
      "spawnablePositionType": "fishing",
      "bucket": "common",
      "level": "19-44",
      "weight": 9,
      "weightMultiplier": {
        "multiplier": 0.6,
        "condition": {
          "minLureLevel": 1,
          "maxLureLevel": 2
        }
      },
      "condition": {
        "canSeeSky": false,
        "biomes": [
          "#cobblemon:is_cold"
        ],
        "minLureLevel": 1,
        "structures": [
          "cobblemon:shipwreck_coves/submerged_shipwreck_cove"
        ],
        "minY": -60,
        "maxY": 13
      },
      "source": "Cobblemon-neoforge-1.7.3+1.21.1.jar",
      "sourceFile": "data/cobblemon/spawn_pool_world/0211_qwilfish.json"
    }
  ],
  "raids": [],
  "fossils": []
}

Evolution and forms

{
  "evolutions": [],
  "forms": [
    {
      "name": "Hisui",
      "aspects": [
        "hisuian"
      ],
      "types": [
        "dark",
        "poison"
      ],
      "abilities": [
        "poisonpoint",
        "swiftswim",
        "h:intimidate"
      ],
      "stats": {
        "hp": 65,
        "attack": 95,
        "defence": 85,
        "special_attack": 55,
        "special_defence": 55,
        "speed": 85
      },
      "moves": [
        {
          "method": "level",
          "move": "tackle",
          "level": 1
        },
        {
          "method": "level",
          "move": "poisonsting",
          "level": 1
        },
        {
          "method": "level",
          "move": "harden",
          "level": 4
        },
        {
          "method": "level",
          "move": "bite",
          "level": 8
        },
        {
          "method": "level",
          "move": "fellstinger",
          "level": 12
        },
        {
          "method": "level",
          "move": "minimize",
          "level": 16
        },
        {
          "method": "level",
          "move": "spikes",
          "level": 20
        },
        {
          "method": "level",
          "move": "brine",
          "level": 24
        },
        {
          "method": "level",
          "move": "barbbarrage",
          "level": 28
        },
        {
          "method": "level",
          "move": "pinmissile",
          "level": 32
        },
        {
          "method": "level",
          "move": "toxicspikes",
          "level": 36
        },
        {
          "method": "level",
          "move": "stockpile",
          "level": 40
        },
        {
          "method": "level",
          "move": "spitup",
          "level": 40
        },
        {
          "method": "level",
          "move": "toxic",
          "level": 44
        },
        {
          "method": "level",
          "move": "crunch",
          "level": 48
        },
        {
          "method": "level",
          "move": "acupressure",
          "level": 52
        },
        {
          "method": "level",
          "move": "destinybond",
          "level": 56
        },
        {
          "method": "egg",
          "move": "acidspray"
        },
        {
          "method": "egg",
          "move": "aquajet"
        },
        {
          "method": "egg",
          "move": "aquatail"
        },
        {
          "method": "egg",
          "move": "astonish"
        },
        {
          "method": "egg",
          "move": "bubblebeam"
        },
        {
          "method": "egg",
          "move": "flail"
        },
        {
          "method": "egg",
          "move": "haze"
        },
        {
          "method": "egg",
          "move": "selfdestruct"
        },
        {
          "method": "egg",
          "move": "supersonic"
        },
        {
          "method": "egg",
          "move": "waterpulse"
        },
        {
          "method": "tm",
          "move": "acidspray"
        },
        {
          "method": "tm",
          "move": "agility"
        },
        {
          "method": "tm",
          "move": "aquatail"
        },
        {
          "method": "tm",
          "move": "blizzard"
        },
        {
          "method": "tm",
          "move": "brine"
        },
        {
          "method": "tm",
          "move": "chillingwater"
        },
        {
          "method": "tm",
          "move": "crunch"
        },
        {
          "method": "tm",
          "move": "curse"
        },
        {
          "method": "tm",
          "move": "darkpulse"
        },
        {
          "method": "tm",
          "move": "doubleedge"
        },
        {
          "method": "tm",
          "move": "endure"
        },
        {
          "method": "tm",
          "move": "facade"
        },
        {
          "method": "tm",
          "move": "gigaimpact"
        },
        {
          "method": "tm",
          "move": "gunkshot"
        },
        {
          "method": "tm",
          "move": "gyroball"
        },
        {
          "method": "tm",
          "move": "haze"
        },
        {
          "method": "tm",
          "move": "hex"
        },
        {
          "method": "tm",
          "move": "hydropump"
        },
        {
          "method": "tm",
          "move": "iceball"
        },
        {
          "method": "tm",
          "move": "icebeam"
        },
        {
          "method": "tm",
          "move": "icywind"
        },
        {
          "method": "tm",
          "move": "lashout"
        },
        {
          "method": "tm",
          "move": "liquidation"
        },
        {
          "method": "tm",
          "move": "mudshot"
        },
        {
          "method": "tm",
          "move": "painsplit"
        },
        {
          "method": "tm",
          "move": "pinmissile"
        },
        {
          "method": "tm",
          "move": "poisonjab"
        },
        {
          "method": "tm",
          "move": "poisontail"
        },
        {
          "method": "tm",
          "move": "protect"
        },
        {
          "method": "tm",
          "move": "raindance"
        },
        {
          "method": "tm",
          "move": "rest"
        },
        {
          "method": "tm",
          "move": "reversal"
        },
        {
          "method": "tm",
          "move": "scaleshot"
        },
        {
          "method": "tm",
          "move": "scaryface"
        },
        {
          "method": "tm",
          "move": "selfdestruct"
        },
        {
          "method": "tm",
          "move": "shadowball"
        },
        {
          "method": "tm",
          "move": "sleeptalk"
        },
        {
          "method": "tm",
          "move": "sludgebomb"
        },
        {
          "method": "tm",
          "move": "spikes"
        },
        {
          "method": "tm",
          "move": "spite"
        },
        {
          "method": "tm",
          "move": "substitute"
        },
        {
          "method": "tm",
          "move": "surf"
        },
        {
          "method": "tm",
          "move": "swift"
        },
        {
          "method": "tm",
          "move": "swordsdance"
        },
        {
          "method": "tm",
          "move": "takedown"
        },
        {
          "method": "tm",
          "move": "taunt"
        },
        {
          "method": "tm",
          "move": "terablast"
        },
        {
          "method": "tm",
          "move": "throatchop"
        },
        {
          "method": "tm",
          "move": "toxic"
        },
        {
          "method": "tm",
          "move": "toxicspikes"
        },
        {
          "method": "tm",
          "move": "venoshock"
        },
        {
          "method": "tm",
          "move": "waterfall"
        },
        {
          "method": "tm",
          "move": "waterpulse"
        },
        {
          "method": "tutor",
          "move": "aquatail"
        },
        {
          "method": "tutor",
          "move": "darkpulse"
        },
        {
          "method": "tutor",
          "move": "gigaimpact"
        },
        {
          "method": "tutor",
          "move": "gunkshot"
        },
        {
          "method": "tutor",
          "move": "iceball"
        },
        {
          "method": "tutor",
          "move": "icebeam"
        },
        {
          "method": "tutor",
          "move": "icywind"
        },
        {
          "method": "tutor",
          "move": "lashout"
        },
        {
          "method": "tutor",
          "move": "liquidation"
        },
        {
          "method": "tutor",
          "move": "painsplit"
        },
        {
          "method": "tutor",
          "move": "poisonjab"
        },
        {
          "method": "tutor",
          "move": "rest"
        },
        {
          "method": "tutor",
          "move": "scaleshot"
        },
        {
          "method": "tutor",
          "move": "shadowball"
        },
        {
          "method": "tutor",
          "move": "sleeptalk"
        },
        {
          "method": "tutor",
          "move": "sludgebomb"
        },
        {
          "method": "tutor",
          "move": "spikes"
        },
        {
          "method": "tutor",
          "move": "spite"
        },
        {
          "method": "tutor",
          "move": "swift"
        },
        {
          "method": "tutor",
          "move": "throatchop"
        },
        {
          "method": "tutor",
          "move": "waterpulse"
        }
      ],
      "evolutions": [
        {
          "id": "qwilfish_overqwil",
          "variant": "level_up",
          "result": "overqwil",
          "consumeHeldItem": false,
          "learnableMoves": [],
          "requirements": [
            {
              "variant": "has_move",
              "move": "barbbarrage"
            }
          ]
        }
      ],
      "description": [
        "It lives just offshore in cold parts of the world. Its poisonous spikes are thicker and shorter than those of other regions' Qwilfish."
      ]
    }
  ]
}

Behavior and drops

{
  "behaviour": {
    "moving": {
      "walk": {
        "avoidsLand": true
      },
      "swim": {
        "swimSpeed": 0.3,
        "canBreatheUnderwater": true
      }
    },
    "resting": {
      "canSleep": true,
      "light": "0-4",
      "drowsyChance": 0.0333,
      "rouseChance": 0.0042
    },
    "herd": {
      "maxSize": "9",
      "toleratedLeaders": [
        {
          "pokemon": "qwilfish",
          "tier": 1
        },
        {
          "pokemon": "overqwil",
          "tier": 2
        },
        {
          "pokemon": "manaphy",
          "tier": 3
        }
      ]
    },
    "combat": {
      "willDefendSelf": true,
      "willDefendOwner": true,
      "willFlee": false
    }
  },
  "drops": {
    "amount": 3,
    "entries": [
      {
        "item": "minecraft:pufferfish"
      },
      {
        "item": "minecraft:prismarine_shard",
        "quantityRange": "0-1"
      },
      {
        "item": "cobblemon:poison_barb",
        "percentage": 2.5
      }
    ]
  },
  "labels": [
    "gen2",
    "johtonian_form"
  ]
}

Complete installed species record

{
  "implemented": true,
  "nationalPokedexNumber": 211,
  "name": "Qwilfish",
  "primaryType": "water",
  "secondaryType": "poison",
  "maleRatio": 0.5,
  "height": 5,
  "weight": 39,
  "pokedex": [
    "cobblemon.species.qwilfish.desc"
  ],
  "labels": [
    "gen2",
    "johtonian_form"
  ],
  "aspects": [],
  "abilities": [
    "poisonpoint",
    "swiftswim",
    "h:intimidate"
  ],
  "eggGroups": [
    "water_2"
  ],
  "baseStats": {
    "hp": 65,
    "attack": 95,
    "defence": 85,
    "special_attack": 55,
    "special_defence": 55,
    "speed": 85
  },
  "evYield": {
    "hp": 0,
    "attack": 1,
    "defence": 0,
    "special_attack": 0,
    "special_defence": 0,
    "speed": 0
  },
  "baseExperienceYield": 88,
  "experienceGroup": "medium_fast",
  "catchRate": 45,
  "eggCycles": 20,
  "baseFriendship": 50,
  "features": [
    "hisuian"
  ],
  "baseScale": 1,
  "hitbox": {
    "width": 0.6,
    "height": 0.8,
    "fixed": false
  },
  "behaviour": {
    "moving": {
      "walk": {
        "avoidsLand": true
      },
      "swim": {
        "swimSpeed": 0.3,
        "canBreatheUnderwater": true
      }
    },
    "resting": {
      "canSleep": true,
      "light": "0-4",
      "drowsyChance": 0.0333,
      "rouseChance": 0.0042
    },
    "herd": {
      "maxSize": "9",
      "toleratedLeaders": [
        {
          "pokemon": "qwilfish",
          "tier": 1
        },
        {
          "pokemon": "overqwil",
          "tier": 2
        },
        {
          "pokemon": "manaphy",
          "tier": 3
        }
      ]
    },
    "combat": {
      "willDefendSelf": true,
      "willDefendOwner": true,
      "willFlee": false
    }
  },
  "drops": {
    "amount": 3,
    "entries": [
      {
        "item": "minecraft:pufferfish"
      },
      {
        "item": "minecraft:prismarine_shard",
        "quantityRange": "0-1"
      },
      {
        "item": "cobblemon:poison_barb",
        "percentage": 2.5
      }
    ]
  },
  "moves": [
    "1:tackle",
    "1:poisonsting",
    "1:bubble",
    "4:harden",
    "8:watergun",
    "12:fellstinger",
    "16:minimize",
    "20:spikes",
    "24:brine",
    "28:poisonjab",
    "32:pinmissile",
    "36:toxicspikes",
    "40:stockpile",
    "40:spitup",
    "44:toxic",
    "48:aquatail",
    "52:acupressure",
    "56:destinybond",
    "egg:acidspray",
    "egg:aquajet",
    "egg:astonish",
    "egg:barbbarrage",
    "egg:bubblebeam",
    "egg:flail",
    "egg:haze",
    "egg:selfdestruct",
    "egg:supersonic",
    "egg:waterpulse",
    "tm:acidspray",
    "tm:agility",
    "tm:aquatail",
    "tm:assurance",
    "tm:blizzard",
    "tm:bounce",
    "tm:brine",
    "tm:chillingwater",
    "tm:crunch",
    "tm:curse",
    "tm:dive",
    "tm:doubleedge",
    "tm:endure",
    "tm:explosion",
    "tm:facade",
    "tm:flipturn",
    "tm:gigaimpact",
    "tm:gunkshot",
    "tm:gyroball",
    "tm:hail",
    "tm:haze",
    "tm:headbutt",
    "tm:hex",
    "tm:hydropump",
    "tm:icebeam",
    "tm:icywind",
    "tm:liquidation",
    "tm:mudshot",
    "tm:painsplit",
    "tm:payback",
    "tm:pinmissile",
    "tm:poisonjab",
    "tm:poisontail",
    "tm:protect",
    "tm:raindance",
    "tm:rest",
    "tm:revenge",
    "tm:reversal",
    "tm:rollout",
    "tm:scaleshot",
    "tm:scaryface",
    "tm:selfdestruct",
    "tm:shadowball",
    "tm:shockwave",
    "tm:signalbeam",
    "tm:sleeptalk",
    "tm:sludgebomb",
    "tm:sludgewave",
    "tm:spikes",
    "tm:spite",
    "tm:steelroller",
    "tm:substitute",
    "tm:surf",
    "tm:swift",
    "tm:swordsdance",
    "tm:takedown",
    "tm:taunt",
    "tm:terablast",
    "tm:throatchop",
    "tm:thunderwave",
    "tm:toxic",
    "tm:toxicspikes",
    "tm:venomdrench",
    "tm:venoshock",
    "tm:waterfall",
    "tm:waterpulse",
    "tm:whirlpool",
    "tutor:aquatail",
    "tutor:bounce",
    "tutor:dive",
    "tutor:flipturn",
    "tutor:gigaimpact",
    "tutor:gunkshot",
    "tutor:icebeam",
    "tutor:icywind",
    "tutor:liquidation",
    "tutor:painsplit",
    "tutor:poisonjab",
    "tutor:rest",
    "tutor:rollout",
    "tutor:scaleshot",
    "tutor:shadowball",
    "tutor:shockwave",
    "tutor:signalbeam",
    "tutor:sleeptalk",
    "tutor:sludgebomb",
    "tutor:spikes",
    "tutor:spite",
    "tutor:steelroller",
    "tutor:swift",
    "tutor:throatchop",
    "tutor:waterpulse",
    "legacy:attract",
    "legacy:captivate",
    "legacy:confide",
    "legacy:defensecurl",
    "legacy:doubleteam",
    "legacy:frustration",
    "legacy:hiddenpower",
    "legacy:mimic",
    "legacy:naturalgift",
    "legacy:return",
    "legacy:round",
    "legacy:scald",
    "legacy:secretpower",
    "legacy:snore",
    "legacy:swagger"
  ],
  "evolutions": [],
  "forms": [
    {
      "name": "Hisui",
      "primaryType": "dark",
      "secondaryType": "poison",
      "maleRatio": 0.5,
      "height": 5,
      "weight": 39,
      "pokedex": [
        "cobblemon.species.qwilfish-hisui.desc"
      ],
      "labels": [
        "gen8a",
        "hisuian_form"
      ],
      "aspects": [
        "hisuian"
      ],
      "moves": [
        "1:tackle",
        "1:poisonsting",
        "4:harden",
        "8:bite",
        "12:fellstinger",
        "16:minimize",
        "20:spikes",
        "24:brine",
        "28:barbbarrage",
        "32:pinmissile",
        "36:toxicspikes",
        "40:stockpile",
        "40:spitup",
        "44:toxic",
        "48:crunch",
        "52:acupressure",
        "56:destinybond",
        "egg:acidspray",
        "egg:aquajet",
        "egg:aquatail",
        "egg:astonish",
        "egg:bubblebeam",
        "egg:flail",
        "egg:haze",
        "egg:selfdestruct",
        "egg:supersonic",
        "egg:waterpulse",
        "tm:acidspray",
        "tm:agility",
        "tm:aquatail",
        "tm:blizzard",
        "tm:brine",
        "tm:chillingwater",
        "tm:crunch",
        "tm:curse",
        "tm:darkpulse",
        "tm:doubleedge",
        "tm:endure",
        "tm:facade",
        "tm:gigaimpact",
        "tm:gunkshot",
        "tm:gyroball",
        "tm:haze",
        "tm:hex",
        "tm:hydropump",
        "tm:iceball",
        "tm:icebeam",
        "tm:icywind",
        "tm:lashout",
        "tm:liquidation",
        "tm:mudshot",
        "tm:painsplit",
        "tm:pinmissile",
        "tm:poisonjab",
        "tm:poisontail",
        "tm:protect",
        "tm:raindance",
        "tm:rest",
        "tm:reversal",
        "tm:scaleshot",
        "tm:scaryface",
        "tm:selfdestruct",
        "tm:shadowball",
        "tm:sleeptalk",
        "tm:sludgebomb",
        "tm:spikes",
        "tm:spite",
        "tm:substitute",
        "tm:surf",
        "tm:swift",
        "tm:swordsdance",
        "tm:takedown",
        "tm:taunt",
        "tm:terablast",
        "tm:throatchop",
        "tm:toxic",
        "tm:toxicspikes",
        "tm:venoshock",
        "tm:waterfall",
        "tm:waterpulse",
        "tutor:aquatail",
        "tutor:darkpulse",
        "tutor:gigaimpact",
        "tutor:gunkshot",
        "tutor:iceball",
        "tutor:icebeam",
        "tutor:icywind",
        "tutor:lashout",
        "tutor:liquidation",
        "tutor:painsplit",
        "tutor:poisonjab",
        "tutor:rest",
        "tutor:scaleshot",
        "tutor:shadowball",
        "tutor:sleeptalk",
        "tutor:sludgebomb",
        "tutor:spikes",
        "tutor:spite",
        "tutor:swift",
        "tutor:throatchop",
        "tutor:waterpulse"
      ],
      "evolutions": [
        {
          "id": "qwilfish_overqwil",
          "variant": "level_up",
          "result": "overqwil",
          "consumeHeldItem": false,
          "learnableMoves": [],
          "requirements": [
            {
              "variant": "has_move",
              "move": "barbbarrage"
            }
          ]
        }
      ],
      "battleOnly": false,
      "behaviour": {
        "herd": {
          "maxSize": "9",
          "toleratedLeaders": [
            {
              "pokemon": "qwilfish",
              "tier": 1
            },
            {
              "pokemon": "overqwil",
              "tier": 2
            },
            {
              "pokemon": "manaphy",
              "tier": 3
            }
          ]
        },
        "moving": {
          "walk": {
            "avoidsLand": true
          },
          "swim": {
            "canBreatheUnderwater": true
          }
        },
        "combat": {
          "willDefendSelf": true,
          "willDefendOwner": true,
          "willFlee": false
        },
        "resting": {
          "drowsyChance": 0.0333,
          "rouseChance": 0.0042
        }
      }
    }
  ]
}