Changes

Jump to navigation Jump to search
formatting
Line 4: Line 4:     
==Raw data==
 
==Raw data==
Crops data is stored in <tt>Content\Data\Crops.xnb</tt>, which can be [[Modding:Creating an XNB mod#unpacking|unpacked using XNB Extract]]. Here's the raw data (as of v1.2) for reference:
+
Crop data is stored in <samp>Content\Data\Crops.xnb</samp>, which can be [[Modding:Editing XNB files#unpacking|unpacked for editing]]. Here's the raw data as of {{version|1.5.1}} for reference:
   −
<source lang="yaml">
+
{{collapse|Data|content=<syntaxhighlight lang="json">
299: "1 2 2 2/fall/39/300/-1/1/false/false/false" #!String
+
{
301: "1 1 2 3 3/fall/38/398/3/0/true 1 2 6 0/true/false" #!String
+
  "472": "1 1 1 1/spring/0/24/-1/0/false/false/false",
302: "1 1 2 3 4/summer/37/304/1/0/true 1 2 6 0/true/false" #!String
+
  "473": "1 1 1 3 4/spring/1/188/3/0/false/true/false",
347: "2 4 6 6 6/fall/32/417/-1/0/false/false/false" #!String
+
  "474": "1 2 4 4 1/spring/2/190/-1/0/false/false/false",
425: "1 4 4 3/fall/31/595/-1/0/false/false/true 187 0 255 119 137 255 71 227 255 255 127 144 205 178 255 140 119 255" #!String
+
  "475": "1 1 1 2 1/spring/3/192/-1/0/true 1 1 0 .2/false/false",
427: "1 1 2 2/spring/26/591/-1/0/false/false/true 255 186 255 223 191 255 255 246 0 255 80 0 255 158 193" #!String
+
  "476": "1 1 1 1/spring/4/248/-1/0/false/false/false",
429: "1 2 2 2/spring/27/597/-1/0/false/false/true 35 127 255 109 131 255 112 207 255 191 228 255 94 121 255 40 150 255" #!String
+
  "273": "1 2 2 3/spring/34/271/-1/1/true 1 1 10 .1/false/false",
431: "1 2 3 2/summer fall/30/421/-1/0/false/false/false" #!String
+
  "831": "1 2 3 4/summer/42/830/-1/0/false/false/false",
433: "1 2 2 3 2/spring summer/40/433/2/0/true 4 6 10 .02/false/false" #!String
+
  "477": "1 2 2 1/spring/5/250/-1/1/false/false/false",
453: "1 2 2 2/summer/28/376/-1/0/false/false/true 255 0 0 254 254 254 255 170 0" #!String
+
  "478": "2 2 2 3 4/spring/6/252/-1/0/false/false/false",
455: "1 2 3 2/summer/29/593/-1/0/false/false/true 0 208 255 99 255 210 255 212 0 255 144 122 255 0 238 206 91 255" #!String
+
  "745": "1 1 2 2 2/spring/36/400/4/0/true 1 1 0 .02/false/false",
472: "1 1 1 1/spring/0/24/-1/0/false/false/false" #!String
+
  "479": "1 2 3 3 3/summer/7/254/-1/0/false/false/false",
473: "1 1 1 3 4/spring/1/188/3/0/true 1 2 6 0/true/false" #!String
+
  "480": "2 2 2 2 3/summer/8/256/4/0/true 1 1 0 .05/false/false",
474: "1 2 4 4 1/spring/2/190/-1/0/false/false/false" #!String
+
  "481": "1 3 3 4 2/summer/9/258/4/0/true 3 3 0 .02/false/false",
475: "1 1 1 2 1/spring/3/192/-1/0/true 1 2 8 .2/false/false" #!String
+
  "482": "1 1 1 1 1/summer/10/260/3/0/true 1 1 0 .03/false/false",
476: "1 1 1 1/spring/4/248/-1/0/false/false/false" #!String
+
  "483": "1 1 1 1/summer fall/11/262/-1/1/false/false/false",
477: "1 2 2 1/spring/5/250/-1/1/false/false/false" #!String
+
  "484": "2 1 2 1/summer/12/264/-1/0/false/false/false",
478: "2 2 2 3 4/spring/6/252/-1/0/false/false/false" #!String
+
  "485": "2 1 2 2 2/summer/13/266/-1/0/false/false/false",
479: "1 2 3 3 3/summer/7/254/-1/0/false/false/false" #!String
+
  "486": "2 3 2 3 3/summer/14/268/-1/0/false/false/false",
480: "2 2 2 2 3/summer/8/256/4/0/true 1 1 6 .05/false/false" #!String
+
  "833": "1 3 3 4 3/summer/43/832/7/0/false/false/false",
481: "1 3 3 4 2/summer/9/258/4/0/true 3 5 5 .02/false/false" #!String
+
  "433": "1 2 2 3 2/spring summer/40/433/2/0/true 4 4 0 .02/false/false",
482: "1 1 1 1 1/summer/10/260/3/0/true 1 1 5 .03/false/false" #!String
+
  "802": "2 2 2 3 3/spring summer fall winter/41/90/3/0/false/false/false",
483: "1 1 1 1/summer fall/11/262/-1/1/false/false/false" #!String
+
  "487": "2 3 3 3 3/summer fall/15/270/4/0/false/false/false",
484: "2 1 2 1/summer/12/264/-1/0/false/false/false" #!String
+
  "302": "1 1 2 3 4/summer/37/304/1/0/false/true/false",
485: "2 1 2 2 2/summer/13/266/-1/0/false/false/false" #!String
+
  "301": "1 1 2 3 3/fall/38/398/3/0/false/true/false",
486: "2 3 2 3 3/summer/14/268/-1/0/false/false/false" #!String
+
  "299": "1 2 2 2/fall/39/300/-1/1/false/false/false",
487: "2 3 3 3 3/summer fall/15/270/4/0/true 1 2 5 0/false/false" #!String
+
  "488": "1 1 1 1 1/fall/16/272/5/0/true 1 1 0 .002/false/false",
488: "1 1 1 1 1/fall/16/272/5/0/true 1 2 10 .002/false/false" #!String
+
  "489": "2 2 1 2 1/fall/17/274/-1/0/false/false/false",
489: "2 2 1 2 1/fall/17/274/-1/0/false/false/false" #!String
+
  "490": "1 2 3 4 3/fall/18/276/-1/0/false/false/false",
490: "1 2 3 4 3/fall/18/276/-1/0/false/false/false" #!String
+
  "491": "1 1 1 1/fall/19/278/-1/0/false/false/false",
491: "1 1 1 1/fall/19/278/-1/0/false/false/false" #!String
+
  "492": "1 3 3 3/fall/20/280/-1/0/false/false/false",
492: "1 3 3 3/fall/20/280/-1/0/false/false/false" #!String
+
  "493": "1 2 1 1 2/fall/21/282/5/0/true 2 2 0 .1/false/false",
493: "1 2 1 1 2/fall/21/282/5/0/true 2 6 5 .1/false/false" #!String
+
  "494": "1 1 2 2/fall/22/284/-1/0/false/false/false",
494: "1 1 2 2/fall/22/284/-1/0/false/false/false" #!String
+
  "499": "2 7 7 7 5/spring summer fall/24/454/7/0/false/false/false",
495: "3 4/spring/23/16/-1/0/false/false/false" #!String
+
  "427": "1 1 2 2/spring/26/591/-1/0/false/false/true 255 186 255 223 191 255 255 246 0 255 80 0 255 158 193",
496: "3 4/summer/23/396/-1/0/false/false/false" #!String
+
  "429": "1 2 2 2/spring/27/597/-1/0/false/false/true 35 127 255 109 131 255 112 207 255 191 228 255 94 121 255 40 150 255",
497: "3 4/fall/23/404/-1/0/false/false/false" #!String
+
  "453": "1 2 2 2/summer/28/376/-1/0/false/false/true 255 0 0 254 254 254 255 170 0",
498: "3 4/winter/23/412/-1/0/false/false/false" #!String
+
  "455": "1 2 3 2/summer/29/593/-1/0/false/false/true 0 208 255 99 255 210 255 212 0 255 144 122 255 0 238 206 91 255",
499: "2 7 7 7 5/spring summer fall/24/454/7/0/false/false/false" #!String
+
  "431": "1 2 3 2/summer fall/30/421/-1/0/false/false/false",
745: "1 1 2 2 2/spring/36/400/4/0/true 1 1 5 .02/false/false" #!String
+
  "425": "1 4 4 3/fall/31/595/-1/0/false/false/true 187 0 255 119 137 255 71 227 255 255 127 144 205 178 255 140 119 255",
</source>
+
  "347": "2 4 6 6 6/fall/32/417/-1/0/false/false/false",
 +
  "495": "3 4/spring/23/16/-1/0/false/false/false",
 +
  "496": "3 4/summer/23/396/-1/0/false/false/false",
 +
  "497": "3 4/fall/23/404/-1/0/false/false/false",
 +
  "498": "3 4/winter/23/412/-1/0/false/false/false",
 +
  "885": "1 2 2 2/spring summer fall winter/44/771/-1/1/true 4 7 0 .01/false/false",
 +
  "890": "1 1 1 1/spring summer fall winter/47/889/-1/0/false/false/false",
 +
}
 +
</syntaxhighlight>}}
    
==Format==
 
==Format==
   
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 58: Line 65:  
|-
 
|-
 
| Key
 
| Key
| Seed Index <small>(from [[Modding:Object data|ObjectInformation.xnb]])</small>
+
| Seed Index <small>(from [[Modding:Items|ObjectInformation.xnb]])</small>
 
| 473 <small>''(Bean Starter)''</small>
 
| 473 <small>''(Bean Starter)''</small>
 
| 455 <small>''(Spangle Seeds)''</small>
 
| 455 <small>''(Spangle Seeds)''</small>
Line 73: Line 80:  
|-
 
|-
 
| 2
 
| 2
| Row in Sprite Sheet <small>(<tt>Content\TileSheets\Crops.xnb</tt>)</small>
+
| Index in Sprite Sheet <small>(<samp>Content\TileSheets\Crops.xnb</samp>)</small>
 
| 1
 
| 1
 
| 29
 
| 29
 
|-
 
|-
 
| 3
 
| 3
| Index of Harvest <small>(from [[Modding:Object data|ObjectInformation.xnb]])</small>
+
| Index of Harvest <small>(from [[Modding:Items|ObjectInformation.xnb]])</small>
 
| 188 <small>''(Green Bean)''</small>
 
| 188 <small>''(Green Bean)''</small>
 
| 593 <small>''(Summer Spangle)''</small>
 
| 593 <small>''(Summer Spangle)''</small>
Line 108: Line 115:  
|}
 
|}
   −
===Regrow after Harvest===
+
===Days in each stage of growth===
Either -1 for no regrowth, or number of days until regrowth.
+
The number of days in each visual step of growth. The final stage will be harvestable after the specified number of days.
   −
===Harvest Method===
+
Note that speedgrow/agricultralist can only remove up to 3 days per stage of growth, so if your growth stages are very long the fertilizers may appear to work weirdly.
 +
 
 +
===Regrow after harvest===
 +
Either -1 for no regrowth, or the number of days until the crop can be harvested again.
 +
 
 +
===Harvest method===
 
1 for Scythe, 0 for all others
 
1 for Scythe, 0 for all others
   −
===Chance for Extra Harvest===
+
===Chance for extra harvest===
 
If this value is true, then the numbers that follow are parsed as:
 
If this value is true, then the numbers that follow are parsed as:
 
#minHarvest
 
#minHarvest
Line 121: Line 133:  
#chanceForExtraCrops
 
#chanceForExtraCrops
   −
The game determines the number of crops gained at a single harvest using the following code from <tt>Crops.cs::harvest()</tt>, where <tt>num</tt> is the number of crops gained:
+
The game determines the number of crops gained at a single harvest using the following code from <samp>Crops.cs::harvest()</samp>, where <samp>num</samp> is the number of crops gained:
   −
<source lang="C#">
+
<syntaxhighlight lang="C#">
 
if (this.minHarvest > 1 || this.maxHarvest > 1)
 
if (this.minHarvest > 1 || this.maxHarvest > 1)
     num = random.Next(this.minHarvest, Math.Min(this.minHarvest + 1, this.maxHarvest + 1 + Game1.player.FarmingLevel / this.maxHarvestIncreasePerFarmingLevel));
+
     num = random.Next(this.minHarvest, Math.Max(this.minHarvest + 1, this.maxHarvest + 1 + Game1.player.FarmingLevel / this.maxHarvestIncreasePerFarmingLevel));
    if (this.chanceForExtraCrops > 0.0)
+
 
        while (random.NextDouble() < Math.Min(0.9, this.chanceForExtraCrops))
+
if (this.chanceForExtraCrops > 0.0)
            num++;
+
    while (random.NextDouble() < Math.Min(0.9, this.chanceForExtraCrops))
 +
        num++;
    
if (random.NextDouble() < (double)Game1.dailyLuck / 1200.0 + 9.9999997473787516E-05)
 
if (random.NextDouble() < (double)Game1.dailyLuck / 1200.0 + 9.9999997473787516E-05)
 
     num *= 2;
 
     num *= 2;
</source>
+
</syntaxhighlight>
   −
The result (''i.e.'', <tt>num</tt>) of <code>random.Next(this.minHarvest, Math.Min(this.minHarvest + 1, this.maxHarvest + 1 + Game1.player.FarmingLevel / this.maxHarvestIncreasePerFarmingLevel))</code> is '''always the minHarvest''', for 2 reasons.
+
The value in <samp>chanceForExtraCrops</samp> may add additional crops to a harvest, calculated independently of the other 3 variables. For example, each harvest of a Potato Seed (475) has &#8776;20% chance of yielding an extra potato, in addition to the one Potato given as standard harvest. Each harvest of a Blueberry Seed (481) has &#8776;2% chance of yielding an extra Blueberry, in addition to the 3 Blueberries given as standard harvest.  
#Taking the <tt>Math.Min</tt> of (<tt>minHarvest + 1</tt>) and (<tt>this.maxHarvest + 1 + Game1.player.FarmingLevel / this.maxHarvestIncreasePerFarmingLevel</tt>) always results in (<tt>minHarvest + 1</tt>)
  −
#<tt>random.Next</tt> uses an inclusive lower bound and an exclusive upper bound, so it is effectively calculating a random number between <tt>minHarvest</tt> and <tt>minHarvest</tt>
  −
Therefore, as of v1.2, only 3 seeds always give more than one crop per harvest:  Coffee Bean (433), Blueberry Seeds (481), and Cranberry Seeds (493).
     −
The value in <tt>chanceForExtraCrops</tt> may add additional crops to a harvest, calculated independently of the other 3 variables.  For example, each harvest of a Potato Seed (475) has &#8776;20% chance of yielding an extra potato, in addition to the one Potato given as standard harvest.  Each harvest of a Blueberry Seed (481) has &#8776;2% chance of yielding an extra Blueberry, in addition to the 3 Blueberries given as standard harvest.
+
The chance for doubling the determined yield depends on Daily Luck: With a minimal value of -0.1 and a maximal value of +0.125 (accounting for the [[Special Charm]]), the chance ranges from 0.001<span style="text-decoration: overline">6</span>% (1 out of 60,000) to 0.02041<span style="text-decoration: overline">6</span>% (49 out of 240,000; or roughly 1 out of 4,898).
   −
===Raised Seeds===
+
===Raised seeds===
 
True for trellis crops (Grapes, Hops, Green Beans), false for all others.
 
True for trellis crops (Grapes, Hops, Green Beans), false for all others.
   −
===Tint Color===
+
===Tint color===
 
If Tint Color is true, a string of rgb() values follows.  In the example above, Summer Spangle can be one of 6 different colors:
 
If Tint Color is true, a string of rgb() values follows.  In the example above, Summer Spangle can be one of 6 different colors:
 
*rgb(0, 208, 255)
 
*rgb(0, 208, 255)
Line 154: Line 164:     
[[Category:Modding]]
 
[[Category:Modding]]
 +
 +
[[fr:Modding:Données des récoltes]]
 +
[[ru:Модификации:Культуры]]
 +
[[zh:模组:农作物数据]]
107,287

edits

Navigation menu