逍遥小书生 发表于 2020-3-21 22:24

Season模组的附加Mod——GEO中关于生长设定的图解

花费了好几天的功夫,然后用谷歌翻译到Mod制作组的交流论坛学习,终于弄明白如何设置GEO模组中作物的生长,现在分享下。


growthTransitions有三种命令.虽然命令中使用了‘range’(范围),但是你可以只操作一个状态.

incrementByOneRange=“x“ 处于状态‘x’的作物会生长一个阶段.
incrementByOneRange=“x-y“ 处于状态‘x’到‘y’之间的作物会生长一个阶段.

incrementByRange=“x" incrementBy=“z“ 处于状态‘x’的作物会生长‘z’阶段.
incrementByRange=“x-y” incrementBy=“z“ 处于状态‘x’到‘y’的作物会生长‘z’阶段.
这个命令更多的用在夏季(北半球)作物生长旺盛阶段,使作物快速生长。不建议‘z’的值大于2。
这个命令的前后部分位置可以交换,下面的格式也是正确的。
incrementBy=“z“incrementByRange=“x"
incrementBy=“z“incrementByRange=“x-y"

setRange=“x” setTo=“z“ 状态‘x’的作物变成状态‘z’。
setRange=“x-y”setTo=“z“ 状态‘x’到‘y’的作物变成状态‘z’。
这个命令更多的用于冬季使作物‘withered’(枯萎),也可以把冬季发芽的作物强制改为‘CUT’状态,这样阻止在冬季播种。
这个命令的前后部分位置可以交换,下面的格式也是正确的。
setTo=“z“setRange=“x"
setTo=“z“setRange=“x-y"

三条命令可以同时使用。
例如, <crop name=“BARLEY” incrementByOneRange=“6” incrementByRange=“3-5” incrementBy=“2” setRange=“1” setTo=“2”/> ,这是正确的.
但是,同一个状态,只能有一个命令操作。(这个不确定)
例如, <crop name=“BARLEY” incrementByOneRange=“5-6” incrementByRange=“3-5” incrementBy=“2” setRange=“1” setTo=“2”/>, 这是错误的。
同一个命令不能多次执行。(这个不确定)
例如, <crop name = “BARLEY” incrementByOneRange = “3-4” incrementByOneRange = “6” setRange = “1” setTo= “2” /> , 这是错误的。


‘range’的值可以为‘MAX’,当使用‘MAX’时,对作物来说其最大值为‘7’,对牧草和白杨树却不是。
但是‘MAX’和‘7’不是完全一样。 incrementByOneRange=“1-MAX” 和incrementByOneRange=“1-7”的处理结果是不一样的。前一个命令不会导致状态‘7’的作物变成‘withered’,但是后一个命令却可以导致状态‘7’的作物变成‘withered’。
因此建议合理的使用‘MAX’,防止产生意外的结果。

在gt进行处理时,如果结果大于‘7’,那么作物会变成‘withered’状态, ‘withered’可以认为是‘8’。
‘withered’是作物的最终形态,使其增长是无效的。

所有命令没有涉及的状态会保持不变。每次执行growthTransition时,你必须考虑到总是会有新产生的状态‘1’。

建议适当的时候(冬季)使用setRange = “x-y” setTo = “withered”,这样可以强制作物枯萎,否则它会耐心等到下一个生长阶段继续生长。使用 setRange = “1” setTo = “cut” ,可以强制使发芽状态变成收割状态,这可以阻止在不恰当的时间播种。

NPC不会正确的处理‘withered’,推荐初春能播种时使用setRange = “withered” setTo = “cut” ,这条命令会把枯萎的田地恢复到‘cut’,这样NPC才能及时的耕种。

逍遥小书生 发表于 2020-3-21 22:27

本帖最后由 逍遥小书生 于 2020-3-26 23:35 编辑

作物有‘7’个生长状态,有‘cut’ 和 ‘withered’ 状态。作物长到状态‘7’时才能收割。游戏中,当作物达到状态‘5’时,其外观会变成成熟的样式,但是不能收割。不过小麦,大麦,燕麦,大豆,油菜,玉米等能制作糠的作物在状态‘5’可以使用牧草收割机制造糠。
在游戏的初始设定中,甘蔗等可以多次收割,在Season中可以用命令 setRange=“CUT” setTo=“2“ 使作物从‘cut’状态重新生长。但这样会导致作物一次种植反复收割。除了牧草和白杨树外,建议不要使用。

白萝卜有‘1-2’,白萝卜不会成熟,不能收割。牧草有‘1-4’,牧草生长到‘3’就可以收割。白杨树有‘2-5’,生长到‘5’才能收割。这三种只有‘cut’ 状态,没有‘withered’ 状态。这三种作物的生长设定建议直接复制默认的。
注意,季节Mod默认设定牧草能直接从‘cut’ 状态到状态‘2’,白杨树可以直接从‘cut’ 状态到状态‘3’,它们可以不用重新播种。(不确定白萝卜有没有’CUT’,白杨树默认栽种的是树苗,直接就是25%,但是用修改的播种机也能播种种子,理论上有状态‘0%’。)

为了能更直观的理解growthTransition,我绘制了一个流程图,使用的是Season里面的crops文件中的gt 命令。我选择了大麦进行分析。
整个流程进行下来,发现官方的命令有点瑕疵。
最终结论是, Period 1-3种植的大麦能成熟收割。 Period 4-5期间种植的大麦无法成熟,最终枯萎。 Period 6-9种植的大麦能成熟收割。 Period 10-12期间种植的大麦理论上能成熟收割。大麦只有在期间Period 6-10能成熟收割,过期后会枯萎。
游戏里的截图如下,基本一致。

逍遥小书生 发表于 2020-3-21 22:28






逍遥小书生 发表于 2020-3-21 22:31





逍遥小书生 发表于 2020-3-21 22:32





逍遥小书生 发表于 2020-3-21 22:35

本帖最后由 逍遥小书生 于 2020-3-26 23:36 编辑

我制作了PDF文件,度盘地址:pan.baidu.com/s/1AmIfAlk9wIVuR_-RlvrCDQ

、捕风的汉子 发表于 2020-4-8 17:22

看不懂,但是季节mod是个很好的mod

逍遥小书生 发表于 2020-4-8 21:20

、捕风的汉子 发表于 2020-4-8 17:22
看不懂,但是季节mod是个很好的mod

你要是想自己制作我可以提供支持。
页: [1]
查看完整版本: Season模组的附加Mod——GEO中关于生长设定的图解