模组:农作物数据
跳到导航
跳到搜索
← 目录
页面仍需完善
该页面由于下列原因被标记为不完善:
|
这个页面解释了游戏如何存储和解析农作物数据。这是模组开发人员的高级指南。
原始数据
农作物数据储存在Content\Data\Crops.xnb中,可以解压缩以编辑。作为参考,以下为1.5.1的原始数据:
数据 |
---|
{
"472": "1 1 1 1/spring/0/24/-1/0/false/false/false",
"473": "1 1 1 3 4/spring/1/188/3/0/false/true/false",
"474": "1 2 4 4 1/spring/2/190/-1/0/false/false/false",
"475": "1 1 1 2 1/spring/3/192/-1/0/true 1 1 0 .2/false/false",
"476": "1 1 1 1/spring/4/248/-1/0/false/false/false",
"273": "1 2 2 3/spring/34/271/-1/1/true 1 1 10 .1/false/false",
"831": "1 2 3 4/summer/42/830/-1/0/false/false/false",
"477": "1 2 2 1/spring/5/250/-1/1/false/false/false",
"478": "2 2 2 3 4/spring/6/252/-1/0/false/false/false",
"745": "1 1 2 2 2/spring/36/400/4/0/true 1 1 0 .02/false/false",
"479": "1 2 3 3 3/summer/7/254/-1/0/false/false/false",
"480": "2 2 2 2 3/summer/8/256/4/0/true 1 1 0 .05/false/false",
"481": "1 3 3 4 2/summer/9/258/4/0/true 3 3 0 .02/false/false",
"482": "1 1 1 1 1/summer/10/260/3/0/true 1 1 0 .03/false/false",
"483": "1 1 1 1/summer fall/11/262/-1/1/false/false/false",
"484": "2 1 2 1/summer/12/264/-1/0/false/false/false",
"485": "2 1 2 2 2/summer/13/266/-1/0/false/false/false",
"486": "2 3 2 3 3/summer/14/268/-1/0/false/false/false",
"833": "1 3 3 4 3/summer/43/832/7/0/false/false/false",
"433": "1 2 2 3 2/spring summer/40/433/2/0/true 4 4 0 .02/false/false",
"802": "2 2 2 3 3/spring summer fall winter/41/90/3/0/false/false/false",
"487": "2 3 3 3 3/summer fall/15/270/4/0/false/false/false",
"302": "1 1 2 3 4/summer/37/304/1/0/false/true/false",
"301": "1 1 2 3 3/fall/38/398/3/0/false/true/false",
"299": "1 2 2 2/fall/39/300/-1/1/false/false/false",
"488": "1 1 1 1 1/fall/16/272/5/0/true 1 1 0 .002/false/false",
"489": "2 2 1 2 1/fall/17/274/-1/0/false/false/false",
"490": "1 2 3 4 3/fall/18/276/-1/0/false/false/false",
"491": "1 1 1 1/fall/19/278/-1/0/false/false/false",
"492": "1 3 3 3/fall/20/280/-1/0/false/false/false",
"493": "1 2 1 1 2/fall/21/282/5/0/true 2 2 0 .1/false/false",
"494": "1 1 2 2/fall/22/284/-1/0/false/false/false",
"499": "2 7 7 7 5/spring summer fall/24/454/7/0/false/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",
"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",
"453": "1 2 2 2/summer/28/376/-1/0/false/false/true 255 0 0 254 254 254 255 170 0",
"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",
"431": "1 2 3 2/summer fall/30/421/-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",
"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",
}
|
格式
索引 | 字段 | 示例 | |
---|---|---|---|
键值 | 种子索引 (参见ObjectInformation.xnb) | 473 (青豆种子) | 455 (夏季亮片种子) |
0 | 每个生长阶段的天数 | 1 1 1 3 4 | 1 2 3 2 |
1 | 生长季节 | spring (春季) | summer (夏季) |
2 | Sprite Sheet 中的索引 (Content\TileSheets\Crops.xnb) | 1 | 29 |
3 | 收获作物的索引 (参见ObjectInformation.xnb) | 188 (青豆) | 593 (夏季亮片) |
4 | 收获后重新生长 | 3 | -1 |
5 | 收获方式 | 0 | 0 |
6 | 额外收获的机会 | true 1 2 6 0 | false |
7 | 棚架作物 | true | false |
8 | 色调颜色 | false | true 0 208 255 99 255 210 255 212 0 255 144 122 255 0 238 206 91 255 |
每个生长阶段的天数
生长过程中每个可视阶段的天数。最后阶段将在指定的天数后可收获。
请注意,肥料/植物学家只能将每个生长阶段去除至多3天。如果生长阶段很长,加速效果可能会有奇怪的表现。
收获后重新生长
-1 表示一次性作物,其它数字表示作物可以再次收获的天数。
收获方式
镰刀为1,直接收获为0
额外收获的机会
若此值为true,则后面的数字将解析为:
- minHarvest (最小收获数量)
- maxHarvest (最大收获数量)
- maxHarvestIncreasePerFarmingLevel (耕种等级效果)
- chanceForExtraCrops (获得额外作物概率)
游戏使用Crops.cs::harvest()中的如下代码确定单次收获时获得的作物数量,其中num是获得的作物数量。
if (this.minHarvest > 1 || this.maxHarvest > 1)
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))
num++;
if (random.NextDouble() < (double)Game1.dailyLuck / 1200.0 + 9.9999997473787516E-05)
num *= 2;
chanceForExtraCrops 中的值可能会为收获增加额外的作物,计算时与其它3个变量无关。例如,除了作为标准收获的土豆外,每次收获土豆种子(475)有约20%的机会产生额外的土豆。除了标准收获的3颗蓝莓外,每次收获蓝莓种子(481)都有约2%的机会产生额外的蓝莓。
棚架作物
对于棚架作物(葡萄、啤酒花、青豆)为true,对于所有其他作物为false。
色调颜色
如果色调颜色为true,则后面是rgb()值字符串。在上面的示例中,夏季亮片可以是6种不同颜色之一:
- rgb(0, 208, 255)
- rgb(99, 255, 210)
- rgb(255, 212, 0)
- rgb(255, 144, 122)
- rgb(255, 0, 238)
- rgb(206, 91, 255)