常见问题
从静谧四季到节气¶
代码兼容¶
这个问题可能一言难尽。曾经我有一个计划是做一个Hook中间层。后面担心现有部分模组可能也兼容节气,所以这样反而会有新问题。 不过代码层面偶尔有差别问题也不大,所以我最终是做了一个Ecliptic Seasons: MultiMod Patch。 通过主动提供一些兼容来处理基础问题。
标签兼容¶
这件事情就好说多了。可以参考数据包基本一章里的季节性作物与湿度条件一节。 如果有模组提供了静谧四季的标签,那么季节性就可以有了。 但是如果你是整合包作者,仍然推荐你使用节气自己的季节标签,出于兼容性考虑,因为有些情况下会仅引用节气的标签来进行判定。 但不管如何,湿度条件总是要自行添加,不过一般也非常简单。
问题检测¶
检测服务器卡死问题(非节气也可以使用)¶
-
打开命令提示符(CMD)
-
列出 Java 进程
运行命令:
jps -l
找到显示 Minecraft 的那一行,左侧的数字即为 PID(进程ID)。
- 生成线程转储
运行命令:
jstack <PID> > a.log
示例:
jstack 42928 > a.log
这将在当前目录生成名为 a.log 的文件。
- (可选)指定输出文件路径或文件名
示例:
jstack 42928 > D:\logs\mc\_thread\_dump.txt
-
如果出现类似错误
'jstack' 不是内部或外部命令 -
找到你的 Java 安装路径,例如:
C:\Program Files\Java\jdk-17\bin - 使用
cd命令进入该目录:cd "C:\Program Files\Java\jdk-17\bin" - 然后重新运行
jstack命令。
兼容性¶
某个作物是否根据季节和湿度生长?/ 是否支持特定模组的季节作物?¶
其实,问法反过来会更好。节气本身并不直接支持特定作物或方块,
因为当所有模组叠加时,方块数量可能达到数万。你可以通过手动添加标签来实现兼容。
如果你使用的模组已经支持静谧四季,且你未关闭兼容设置,那么季节作物的行为将被继承。
至于湿度,则需要单独进行配置。
这个模组和静谧四季是否兼容?¶
作为一个季节模组,节气与静谧四季有很多相似之处——
两者均用四季表示 Minecraft 年,改变草地和叶子的颜色,修改雨雪效果,控制季节作物生长。
但 Minecraft 已有 15 年历史,我们的目标是进一步推动季节系统的发展。
你也许尝试同时运行这两个模组,发现在下雨时游戏崩溃,就认为是新模组导致的。
实际上问题出在静谧四季使用了不兼容的 @Redirect mixin 来缓存数据,
而没有用本地变量捕获(早期 Mixin 时代也是可行的)。这种设计使代码非常脆弱。
有时没有崩溃,可能是因为你安装了Pretty Rain等模组,它们提供了独立的渲染逻辑,
绕开了风险较高的静谧四季代码,从而防止了崩溃。
命令¶
Season(季节)¶
你可以使用如下命令设置当前的天数计数和节气:
/ecliptic solar set 99
如果记得节气名称,也可以使用:
/ecliptic solar setTerm beginning_of_autumn
Weather(天气)¶
你可以使用:
/weather rain
但这属于 节气的兼容行为,会强制所有群系改变天气状态。
更好的做法是使用:
/ecliptic weather <biome> rain
其中 <biome> 可以是群系标签或群系 ID。
Time(时间)¶
节气会覆写原版命令,因此:
/time set night
会根据季节动态变化。