Modding:Fish Pond data

From Stardew Valley Wiki
Jump to: navigation, search

Index

This page explains how the game stores and parses Fish Pond data. This is an advanced guide for mod developers.

Raw data

Object data is stored in Content\Data\FishPondData.xnb, which can be unpacked for editing; currently, a special tool needs to be used to do so. Here's the raw data as of 1.4.3 for reference.

Note: This file was changed in 1.4.4. Known changes are that fish_ was replaced with item_ in the RequiredTags entries for fish_catfish, fish_octopus, fish_super_cucumber, fish_rainbow_trout. The following raw data does not include these corrections.

Data 
[
  {
    "RequiredTags": [
      "item_squid"
    ],
    "SpawnTime": 3,
    "ProducedItems": [
      {
        "RequiredPopulation": 7,
        "Chance": 1.0,
        "ItemID": 814,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 5,
        "Chance": 0.6,
        "ItemID": 814,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 3,
        "Chance": 0.45,
        "ItemID": 814,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.25,
        "ItemID": 814,
        "MinQuantity": 1,
        "MaxQuantity": 1
      }
    ],
    "PopulationGates": {
      "4": [
        "393 3",
        "397 1"
      ],
      "6": [
        "131 2"
      ]
    }
  },
  {
    "RequiredTags": [
      "item_midnight_squid"
    ],
    "SpawnTime": 3,
    "ProducedItems": [
      {
        "RequiredPopulation": 10,
        "Chance": 0.25,
        "ItemID": 814,
        "MinQuantity": 2,
        "MaxQuantity": 2
      },
      {
        "RequiredPopulation": 7,
        "Chance": 0.8,
        "ItemID": 814,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 5,
        "Chance": 0.6,
        "ItemID": 814,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 3,
        "Chance": 0.45,
        "ItemID": 814,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.2,
        "ItemID": 814,
        "MinQuantity": 1,
        "MaxQuantity": 1
      }
    ],
    "PopulationGates": {
      "4": [
        "393 3",
        "397 2"
      ],
      "6": [
        "131 2"
      ],
      "9": [
        "560"
      ]
    }
  },
  {
    "RequiredTags": [
      "item_carp"
    ],
    "SpawnTime": 1,
    "ProducedItems": [
      {
        "RequiredPopulation": 0,
        "Chance": 1.0,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      }
    ],
    "PopulationGates": {
      "4": [
        "153 2"
      ],
      "6": [
        "78 2"
      ]
    }
  },
  {
    "RequiredTags": [
      "item_herring"
    ],
    "SpawnTime": 1,
    "ProducedItems": [
      {
        "RequiredPopulation": 0,
        "Chance": 1.0,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      }
    ],
    "PopulationGates": {
      "4": [
        "169 3"
      ],
      "6": [
        "393"
      ]
    }
  },
  {
    "RequiredTags": [
      "item_sunfish"
    ],
    "SpawnTime": 1,
    "ProducedItems": [
      {
        "RequiredPopulation": 10,
        "Chance": 0.08,
        "ItemID": 768,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.9,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      }
    ],
    "PopulationGates": {
      "4": [
        "535 2",
        "309 2"
      ],
      "6": [
        "66",
        "770 3"
      ]
    }
  },
  {
    "RequiredTags": [
      "item_blobfish"
    ],
    "SpawnTime": 4,
    "ProducedItems": [
      {
        "RequiredPopulation": 9,
        "Chance": 0.02,
        "ItemID": 797,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.02,
        "ItemID": 688,
        "MinQuantity": 5,
        "MaxQuantity": 5
      },
      {
        "RequiredPopulation": 6,
        "Chance": 1.0,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 2
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.9,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      }
    ],
    "PopulationGates": {
      "2": [
        "393 3",
        "397 2",
        "84 2"
      ],
      "4": [
        "306",
        "433 5",
        "206"
      ],
      "6": [
        "348",
        "614",
        "223"
      ],
      "8": [
        "232",
        "394"
      ]
    }
  },
  {
    "RequiredTags": [
      "item_lava_eel"
    ],
    "SpawnTime": -1,
    "ProducedItems": [
      {
        "RequiredPopulation": 10,
        "Chance": 0.033,
        "ItemID": 537,
        "MinQuantity": 10,
        "MaxQuantity": 10
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.02,
        "ItemID": 537,
        "MinQuantity": 5,
        "MaxQuantity": 5
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.04,
        "ItemID": 226,
        "MinQuantity": 5,
        "MaxQuantity": 5
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.033,
        "ItemID": 812,
        "MinQuantity": 3,
        "MaxQuantity": 3
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.15,
        "ItemID": 812,
        "MinQuantity": 2,
        "MaxQuantity": 2
      },
      {
        "RequiredPopulation": 3,
        "Chance": 0.1,
        "ItemID": 384,
        "MinQuantity": 5,
        "MaxQuantity": 5
      },
      {
        "RequiredPopulation": 6,
        "Chance": 1.0,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.8,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      }
    ],
    "PopulationGates": {
      "2": [
        "82 3"
      ],
      "4": [
        "98",
        "570",
        "72 2"
      ],
      "6": [
        "288 2"
      ],
      "8": [
        "337"
      ]
    }
  },
  {
    "RequiredTags": [
      "item_woodskip"
    ],
    "SpawnTime": -1,
    "ProducedItems": [
      {
        "RequiredPopulation": 9,
        "Chance": 0.05,
        "ItemID": 309,
        "MinQuantity": 1,
        "MaxQuantity": 5
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.05,
        "ItemID": 310,
        "MinQuantity": 1,
        "MaxQuantity": 5
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.05,
        "ItemID": 311,
        "MinQuantity": 1,
        "MaxQuantity": 5
      },
      {
        "RequiredPopulation": 8,
        "Chance": 0.08,
        "ItemID": 388,
        "MinQuantity": 5,
        "MaxQuantity": 10
      },
      {
        "RequiredPopulation": 6,
        "Chance": 0.1,
        "ItemID": 709,
        "MinQuantity": 5,
        "MaxQuantity": 5
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.66,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.66,
        "ItemID": 388,
        "MinQuantity": 1,
        "MaxQuantity": 5
      }
    ],
    "PopulationGates": {
      "2": [
        "709 10"
      ],
      "4": [
        "404 2 3",
        "420 2 3"
      ],
      "6": [
        "725",
        "726"
      ],
      "8": [
        "70 2",
        "815"
      ]
    }
  },
  {
    "RequiredTags": [
      "item_tiger_trout"
    ],
    "SpawnTime": 999999,
    "ProducedItems": [
      {
        "RequiredPopulation": 10,
        "Chance": 0.8,
        "ItemID": 812,
        "MinQuantity": 2,
        "MaxQuantity": 2
      },
      {
        "RequiredPopulation": 5,
        "Chance": 0.4,
        "ItemID": 812,
        "MinQuantity": 2,
        "MaxQuantity": 2
      },
      {
        "RequiredPopulation": 0,
        "Chance": 1.0,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      }
    ],
    "PopulationGates": null
  },
  {
    "RequiredTags": [
      "fish_desert"
    ],
    "SpawnTime": 4,
    "ProducedItems": [
      {
        "RequiredPopulation": 10,
        "Chance": 0.05,
        "ItemID": 802,
        "MinQuantity": 2,
        "MaxQuantity": 5
      },
      {
        "RequiredPopulation": 10,
        "Chance": 0.25,
        "ItemID": 812,
        "MinQuantity": 3,
        "MaxQuantity": 3
      },
      {
        "RequiredPopulation": 8,
        "Chance": 0.5,
        "ItemID": 812,
        "MinQuantity": 2,
        "MaxQuantity": 2
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.75,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      }
    ],
    "PopulationGates": {
      "4": [
        "88 3",
        "90 3"
      ],
      "6": [
        "125"
      ]
    }
  },
  {
    "RequiredTags": [
      "item_void_salmon"
    ],
    "SpawnTime": -1,
    "ProducedItems": [
      {
        "RequiredPopulation": 9,
        "Chance": 0.05,
        "ItemID": 305,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 8,
        "Chance": 0.08,
        "ItemID": 769,
        "MinQuantity": 5,
        "MaxQuantity": 10
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.83,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 3
      },
      {
        "RequiredPopulation": 0,
        "Chance": 1.0,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      }
    ],
    "PopulationGates": {
      "2": [
        "769 5"
      ],
      "4": [
        "767 10"
      ],
      "6": [
        "305",
        "72"
      ],
      "8": [
        "386"
      ]
    }
  },
  {
    "RequiredTags": [
      "item_slimejack"
    ],
    "SpawnTime": -1,
    "ProducedItems": [
      {
        "RequiredPopulation": 9,
        "Chance": 0.02,
        "ItemID": 680,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.075,
        "ItemID": 766,
        "MinQuantity": 50,
        "MaxQuantity": 50
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.12,
        "ItemID": 766,
        "MinQuantity": 30,
        "MaxQuantity": 30
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.2,
        "ItemID": 766,
        "MinQuantity": 10,
        "MaxQuantity": 10
      },
      {
        "RequiredPopulation": 3,
        "Chance": 0.1,
        "ItemID": 153,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.8,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      }
    ],
    "PopulationGates": {
      "2": [
        "766 20"
      ],
      "4": [
        "684 10"
      ],
      "6": [
        "774 5",
        "456"
      ],
      "8": [
        "557"
      ]
    }
  },
  {
    "RequiredTags": [
      "item_stonefish"
    ],
    "SpawnTime": -1,
    "ProducedItems": [
      {
        "RequiredPopulation": 9,
        "Chance": 0.05,
        "ItemID": 535,
        "MinQuantity": 5,
        "MaxQuantity": 5
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.075,
        "ItemID": 390,
        "MinQuantity": 30,
        "MaxQuantity": 30
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.12,
        "ItemID": 535,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.01,
        "ItemID": 72,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 3,
        "Chance": 0.1,
        "ItemID": 378,
        "MinQuantity": 5,
        "MaxQuantity": 5
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.5,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.25,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      }
    ],
    "PopulationGates": {
      "2": [
        "378 10"
      ],
      "4": [
        "86 5"
      ],
      "6": [
        "382 10",
        "535 5"
      ],
      "8": [
        "334 4",
        "338 5"
      ]
    }
  },
  {
    "RequiredTags": [
      "item_ice_pip"
    ],
    "SpawnTime": -1,
    "ProducedItems": [
      {
        "RequiredPopulation": 9,
        "Chance": 0.05,
        "ItemID": 536,
        "MinQuantity": 5,
        "MaxQuantity": 5
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.075,
        "ItemID": 84,
        "MinQuantity": 5,
        "MaxQuantity": 5
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.12,
        "ItemID": 536,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.01,
        "ItemID": 72,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 3,
        "Chance": 0.1,
        "ItemID": 380,
        "MinQuantity": 5,
        "MaxQuantity": 5
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.5,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.25,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      }
    ],
    "PopulationGates": {
      "2": [
        "380 10"
      ],
      "4": [
        "84 5"
      ],
      "6": [
        "382 10",
        "536 5",
        "414"
      ],
      "8": [
        "335 4",
        "338 10"
      ]
    }
  },
  {
    "RequiredTags": [
      "item_ghostfish"
    ],
    "SpawnTime": -1,
    "ProducedItems": [
      {
        "RequiredPopulation": 9,
        "Chance": 0.05,
        "ItemID": 157,
        "MinQuantity": 5,
        "MaxQuantity": 5
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.02,
        "ItemID": 457,
        "MinQuantity": 3,
        "MaxQuantity": 3
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.12,
        "ItemID": 80,
        "MinQuantity": 3,
        "MaxQuantity": 3
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.05,
        "ItemID": 338,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 3,
        "Chance": 0.08,
        "ItemID": 80,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 1.0,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      }
    ],
    "PopulationGates": {
      "2": [
        "80 5"
      ],
      "4": [
        "78 5"
      ],
      "6": [
        "157 5"
      ],
      "8": [
        "96",
        "97",
        "338 2"
      ]
    }
  },
  {
    "RequiredTags": [
      "item_sturgeon"
    ],
    "SpawnTime": -1,
    "ProducedItems": [
      {
        "RequiredPopulation": 10,
        "Chance": 0.25,
        "ItemID": 812,
        "MinQuantity": 2,
        "MaxQuantity": 2
      },
      {
        "RequiredPopulation": 10,
        "Chance": 1.0,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.8,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 6,
        "Chance": 0.6,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 3,
        "Chance": 0.4,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.2,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      }
    ],
    "PopulationGates": {
      "2": [
        "72"
      ],
      "4": [
        "724 2",
        "342",
        "344"
      ],
      "6": [
        "749 3"
      ],
      "8": [
        "392"
      ]
    }
  },
  {
    "RequiredTags": [
      "fish_super_cucumber"
    ],
    "SpawnTime": -1,
    "ProducedItems": [
      {
        "RequiredPopulation": 9,
        "Chance": 0.05,
        "ItemID": 386,
        "MinQuantity": 1,
        "MaxQuantity": 3
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.05,
        "ItemID": 66,
        "MinQuantity": 1,
        "MaxQuantity": 3
      },
      {
        "RequiredPopulation": 0,
        "Chance": 1.0,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      }
    ],
    "PopulationGates": {
      "4": [
        "338 3",
        "340",
        "393 3",
        "723"
      ],
      "6": [
        "422 2 3",
        "60 2",
        "749 2 3",
        "116"
      ],
      "8": [
        "342",
        "336 3",
        "344",
        "386",
        "72"
      ]
    }
  },
  {
    "RequiredTags": [
      "fish_octopus"
    ],
    "SpawnTime": -1,
    "ProducedItems": [
      {
        "RequiredPopulation": 9,
        "Chance": 0.066,
        "ItemID": 749,
        "MinQuantity": 3,
        "MaxQuantity": 3
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.01,
        "ItemID": 749,
        "MinQuantity": 10,
        "MaxQuantity": 10
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.1,
        "ItemID": 749,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 1.0,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      }
    ],
    "PopulationGates": {
      "4": [
        "338 3",
        "340",
        "393 3",
        "723"
      ],
      "6": [
        "422 2 3",
        "60 2",
        "749 2 3",
        "116"
      ],
      "8": [
        "614"
      ]
    }
  },
  {
    "RequiredTags": [
      "fish_rainbow_trout"
    ],
    "SpawnTime": -1,
    "ProducedItems": [
      {
        "RequiredPopulation": 9,
        "Chance": 0.02,
        "ItemID": 394,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.001,
        "ItemID": 74,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 1.0,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      }
    ],
    "PopulationGates": {
      "4": [
        "338 3",
        "340",
        "393 3",
        "723"
      ],
      "6": [
        "422 2 3",
        "60 2",
        "749 2 3",
        "116"
      ],
      "8": [
        "342",
        "336 3",
        "344",
        "386",
        "72"
      ]
    }
  },
  {
    "RequiredTags": [
      "fish_semi_rare"
    ],
    "SpawnTime": -1,
    "ProducedItems": [
      {
        "RequiredPopulation": 9,
        "Chance": 0.003,
        "ItemID": 166,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 1.0,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      }
    ],
    "PopulationGates": {
      "4": [
        "338 3",
        "335 3",
        "393 3",
        "420 3",
        "723",
        "66 3"
      ],
      "6": [
        "422 2 3",
        "569",
        "60 2",
        "749 2 3",
        "116"
      ],
      "8": [
        "342",
        "336 3",
        "306",
        "386",
        "72"
      ]
    }
  },
  {
    "RequiredTags": [
      "fish_catfish"
    ],
    "SpawnTime": -1,
    "ProducedItems": [
      {
        "RequiredPopulation": 0,
        "Chance": 1.0,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      }
    ],
    "PopulationGates": {
      "4": [
        "334 3",
        "420 3",
        "66 2",
        "68 2"
      ],
      "6": [
        "422 2 3",
        "767 10",
        "86 2",
        "770 5"
      ],
      "8": [
        "342",
        "335 3",
        "306",
        "72"
      ]
    }
  },
  {
    "RequiredTags": [
      "fish_carnivorous"
    ],
    "SpawnTime": -1,
    "ProducedItems": [
      {
        "RequiredPopulation": 9,
        "Chance": 0.05,
        "ItemID": 684,
        "MinQuantity": 20,
        "MaxQuantity": 20
      },
      {
        "RequiredPopulation": 0,
        "Chance": 1.0,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      }
    ],
    "PopulationGates": {
      "4": [
        "142 2",
        "132 2",
        "702 2"
      ],
      "6": [
        "136 2",
        "700 2"
      ],
      "8": [
        "734 2",
        "164 2",
        "156 2"
      ]
    }
  },
  {
    "RequiredTags": [
      "item_coral"
    ],
    "SpawnTime": 2,
    "ProducedItems": [
      {
        "RequiredPopulation": 9,
        "Chance": 0.06,
        "ItemID": 543,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.06,
        "ItemID": 571,
        "MinQuantity": 1,
        "MaxQuantity": 1
      }
    ],
    "PopulationGates": null
  },
  {
    "RequiredTags": [
      "item_sea_urchin"
    ],
    "SpawnTime": 4,
    "ProducedItems": [
      {
        "RequiredPopulation": 9,
        "Chance": 0.02,
        "ItemID": 812,
        "MinQuantity": 5,
        "MaxQuantity": 5
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.33,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 5,
        "Chance": 0.2,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.1,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      }
    ],
    "PopulationGates": null
  },
  {
    "RequiredTags": [
      "fish_freshwater",
      "fish_crab_pot"
    ],
    "SpawnTime": -1,
    "ProducedItems": [
      {
        "RequiredPopulation": 9,
        "Chance": 0.075,
        "ItemID": 689,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.05,
        "ItemID": 153,
        "MinQuantity": 1,
        "MaxQuantity": 3
      },
      {
        "RequiredPopulation": 5,
        "Chance": 0.05,
        "ItemID": 770,
        "MinQuantity": 2,
        "MaxQuantity": 3
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.05,
        "ItemID": 168,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.05,
        "ItemID": 169,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.05,
        "ItemID": 170,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.05,
        "ItemID": 171,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.05,
        "ItemID": 172,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.05,
        "ItemID": 168,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.2,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      }
    ],
    "PopulationGates": {
      "4": [
        "330 5",
        "771 15"
      ],
      "6": [
        "709 5",
        "78",
        "684 10"
      ],
      "8": [
        "768 5",
        "774",
        "403"
      ]
    }
  },
  {
    "RequiredTags": [
      "fish_ocean",
      "fish_crab_pot"
    ],
    "SpawnTime": -1,
    "ProducedItems": [
      {
        "RequiredPopulation": 9,
        "Chance": 0.02,
        "ItemID": 392,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 9,
        "Chance": 0.075,
        "ItemID": 690,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.088,
        "ItemID": 152,
        "MinQuantity": 1,
        "MaxQuantity": 3
      },
      {
        "RequiredPopulation": 5,
        "Chance": 0.05,
        "ItemID": 397,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 5,
        "Chance": 0.075,
        "ItemID": 393,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.05,
        "ItemID": 168,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.05,
        "ItemID": 169,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.05,
        "ItemID": 170,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.05,
        "ItemID": 171,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.05,
        "ItemID": 172,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.05,
        "ItemID": 168,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.2,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      }
    ],
    "PopulationGates": {
      "4": [
        "330 5"
      ],
      "6": [
        "80 5",
        "684 10"
      ],
      "8": [
        "768 5",
        "774",
        "397"
      ]
    }
  },
  {
    "RequiredTags": [
      "fish_ocean"
    ],
    "SpawnTime": -1,
    "ProducedItems": [
      {
        "RequiredPopulation": 5,
        "Chance": 1.0,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.7,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      }
    ],
    "PopulationGates": {
      "4": [
        "536",
        "152 1 2",
        "169 3"
      ],
      "6": [
        "393 2",
        "372 2"
      ],
      "8": [
        "397 2",
        "62 2",
        "719"
      ]
    }
  },
  {
    "RequiredTags": [
      "fish_river"
    ],
    "SpawnTime": -1,
    "ProducedItems": [
      {
        "RequiredPopulation": 0,
        "Chance": 0.9,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      }
    ],
    "PopulationGates": {
      "4": [
        "309 3",
        "310 3",
        "311 3",
        "684 10"
      ],
      "6": [
        "384 3",
        "724",
        "770 5"
      ],
      "8": [
        "70 2",
        "340",
        "716",
        "722"
      ]
    }
  },
  {
    "RequiredTags": [
      "fish_lake"
    ],
    "SpawnTime": -1,
    "ProducedItems": [
      {
        "RequiredPopulation": 0,
        "Chance": 0.9,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      }
    ],
    "PopulationGates": {
      "4": [
        "153 2 3",
        "330 2 3",
        "766 5",
        "684 10"
      ],
      "6": [
        "86 1 2",
        "404 2 3",
        "571"
      ],
      "8": [
        "574",
        "721",
        "774 5"
      ]
    }
  },
  {
    "RequiredTags": [
      "category_fish"
    ],
    "SpawnTime": -1,
    "ProducedItems": [
      {
        "RequiredPopulation": 5,
        "Chance": 0.8,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      },
      {
        "RequiredPopulation": 0,
        "Chance": 0.8,
        "ItemID": 812,
        "MinQuantity": 1,
        "MaxQuantity": 1
      }
    ],
    "PopulationGates": {
      "4": [
        "685"
      ],
      "6": [
        "774"
      ]
    }
  }
]

Format

The data file is a list of objects which have the following four elements.

  • RequiredTags - A list of object context tags.
  • SpawnTime - An integer
  • ProducedItems - A list of objects describing possible pond production.
  • PopulationGates - A dictionary of objects controlling population limits and quests.

Each element is described in more detail below.

RequiredTags

To find the definition for a particular pond, the game goes through the pond definitions in the order they appear in the data file. The first definition where all of the required tags match the type of fish in the pond will be used. Individual fish are generally referenced with a tag that looks like item_<fishname> (e.g. item_sunfish). These tags are automatically created by the game for each fish object.

There are some more general tags defined in Content\Data\ObjectContextTags.xnb which usually match multiple fish. For example the tag fish_carnivorous is assigned to the Dorado, Lingcod, and Pike. The last pond definition in the unmodded Fish Pond data has a required tag of category_fish and is a generic catch-all that matches any fish in the -4 category.

Although unused in the base game, a tag can be prefaced with an exclamation point to reverse the logic; this will instead match any fish which does not have the associated tag assigned. For example, a definition with a required tag of !fish_carnivorous would match any fish except for Dorado, Lingcod, and Pike.

SpawnTime

This element controls how many days it takes for the pond to produce a new fish, assuming there is still room. The Tiger Trout is set to a spawn time of 999999 days which makes it essentially unable to reproduce, even though technically it would eventually do so if the game was played long enough. If the spawn time is set to -1, the game will dynamically determine the spawn time using the base price of the fish as shown below.

price range spawn time
0 - 30 1 day
31 - 80 2 days
81 - 120 3 days
121 - 250 4 days
251+ 5 days

ProducedItems

This element defines which items will be produced. Note that there is a base item production chance of (0.15 + 0.08 * population of pond) defined in code and this element will only be processed to select the actual item if that initial check is passed. Each entry contains the following 5 fields:

  • RequiredPopulation - integer
  • Chance - float
  • ItemID - integer (object ID)
  • MinQuantity - integer
  • MaxQuantity - integer

The entries are processed in order. For each, the game checks to see if the pond has a population of at least the RequiredPopulation amount. If so it rolls a random number in the range [0,1) and checks to see if that value is less than or equal to the given Chance. If so, the pond will produce between MinQuantity and MaxQuantity of the object specified by ItemID. If not, it will move on to the next element in the list and do the same check. This process repeats until either an item is selected or there are no more entries. Note that if the item is Roe, the game will set the name, color, and value of the Roe based on the type of fish in the pond.

PopulationGates

This element controls the population limits and quest items needed to bypass that limit. Note that all ponds have a final limit of 10 fish which is defined in code. If this element is null, there will be no quests and the starting population will be 1/10. The gates themselves are a dictionary where the key is a population number and the value is an array of possible quest items. When the game detects that the pond should grow to the given population number, it will start the quest and randomly choose one of the possible items for the request.

The possible quest items are strings containing up to 3 integers separated by spaces. These are the object ID (required), minimum quantity (optional), and maximum quantity (optional). If both minimum and maximum are supplied, there will be a random roll in that range to choose the requested quantity. If only the minimum is supplied, that exact amount will be requested. And if neither minimum or maximum is supplied, the requested quantity will be one.

Example: The fish_super_cucumber definition contains the following entry in its population gates:

      "6": [
        "422 2 3",
        "60 2",
        "749 2 3",
        "116"
      ],

This entry means that in order to grow from population 5 to population 6, a quest will be initiated, and that quest will require one of the following 4 items (randomly picked with equal weight):

  • 2-3 Purple Mushrooms
  • 2 Emeralds
  • 2-3 Omni Geodes
  • 1 Dried Starfish