搜索

季节效果与世界规则

作物、天气、视觉、生物以及冬冻春融。

作物生长

默认配置:

季节 露天生长倍率 露天停止生长
春季 1.25 否
夏季 2.0 否
秋季 1.0 否
冬季 1.0 是

“露天”在当前实现中只检查作物正上方一格是否为空气。只有紧贴作物上方一格为非空气时才按有遮盖处理;搭在更高处的普通温室屋顶不会改变这次判定。

倍率只作用于 BlockGrowEvent 中带年龄阶段的作物。倍率大于 1 时增加额外成长阶段:整数部分固定增加,小数部分按概率再增加一级,并且不会超过最大年龄。

季节天气

season-effects:
  spring: { rain-chance: 45, thunder-chance: 6 }
  summer: { rain-chance: 25, thunder-chance: 12 }
  autumn: { rain-chance: 30, thunder-chance: 4 }
  winter: { rain-chance: 10, thunder-chance: 0 }

季节/节气状态变化时,天气服务会在 NORMAL 环境按当前季节概率刷新降雨和雷暴,配置值为百分比。1.0.65 对冬季做了特殊处理:冬季不会主动切换天气,winter.rain-chance 与 winter.thunder-chance 当前不会被天气服务执行,原版 /weather 和自然天气仍可正常工作。

视觉效果

全局刷新周期与搜索范围:

visual-effects:
  interval-ticks: 40
  search-radius: 12
  respect-player-weather: true

默认视觉模块:

模块 条件与行为
极光 冬季、夜间、无雨、露天;当前实现还要求世界天数能被 5 整除
暴风雪 冬季且玩家实际天气正在降水;生成雪花和云,并执行一次按概率地表铺雪尝试
飘落树叶 春夏秋在附近找到树叶后显示季节色 DUST
秋叶染色 秋季分批把桦树叶、云杉叶和樱花叶替换为金合欢叶,离开秋季后按备份恢复
树枝落雪 冬季在附近树叶处显示雪花粒子
苹果掉落 夏季在橡树叶或杜鹃叶附近按概率掉落苹果

visual-effects.aurora.chance-percent 存在于配置模型中,但 1.0.65 的极光渲染器当前实际使用“五天一次”的门槛,没有读取该百分比。调节该值不会改变当前极光出现频率。

1.0.69 默认尊重 Player#getPlayerWeather():Residence 等插件给玩家设置晴天时不显示暴风雪;玩家无独立天气时读取世界天气。respect-player-weather: false 可恢复仅按世界天气判断。此开关不控制“树枝落雪”环境粒子,也不关闭独立的冬季水雪循环。

秋叶染色会真实修改并恢复方块数据,不只是客户端粒子。它只处理已加载区块和玩家附近随机采样位置,默认每名玩家每轮最多替换 24 个目标叶子方块。

原叶数据备份只保存在运行内存中,没有写入磁盘。若服务器在秋季已替换叶子后重启,原备份会丢失,这些金合欢叶不会由下一次恢复流程自动还原。建筑服或必须保留原树种的世界建议关闭 visual-effects.autumn-leaf-color.enable,只使用 PacketEvents 客户端群系色调,并在启用真实叶块替换前备份世界。

玩家放置的树叶会被标记为 persistent,从而防止原版自然腐烂;秋叶替换时会保留该属性,但不会因为是玩家放置就跳过替换。

冬季结冰与铺雪

season-world-rules:
  snow-accumulation:
    allow-top-slabs: true
    allow-top-stairs: true
    allow-leaves: false
  water-cycle:
    enable: true
    interval-ticks: 40
    search-radius: 6
    winter-freeze-chance-percent: 35
    winter-snow-place-chance-percent: 35

冬季只在玩家附近随机抽样:

  • 只把露天、上方为空气、液位为 0 的静水变成 ICE;
  • 只在原版允许支撑雪层的表面上方空气格铺一层薄雪;
  • 不在水、岩浆或冰类上铺雪,树叶默认跳过,可配置开启;
  • 不强制加载新区块。

水雪循环与暴风雪共用同一套铺雪服务。Folia 在目标位置所属区域读取和修改方块;排队后会复查配置与季节,避免重载或换季后的旧任务继续铺雪。

台阶、楼梯和建筑保护

表面 当前行为
原版允许承雪的完整方块 可铺雪
上半台阶、双台阶 可铺雪;allow-top-slabs: false 只关闭上半台阶,双台阶仍按完整表面处理
倒置楼梯(上半部) 可铺雪,可由 allow-top-stairs 关闭
下半台阶、普通楼梯 跳过,避免悬空或穿模;不填满、不替换建筑方块
栅栏等没有合适顶面的位置 原版支撑检测不通过时跳过
树叶 默认不铺雪,allow-leaves: true 后仍需通过原版支撑检测

原版雪层占据独立方块格,不能直接与下半台阶共用一格形成贴面雪。本版没有引入资源包、显示实体或客户端假方块来模拟这种外观。

Residence 领地兼容

1.0.69 的水面结冰、常规铺雪和暴风雪铺雪先发送 BlockFormEvent;春季融化先发送 BlockFadeEvent。Residence 或其他插件取消后,LISeasons 不再强行写入方块,也不会清除仍有雪层覆盖的草方块雪态。

  • iceform: false:禁止领地内形成普通冰、霜冰和雪层;设为 true 允许,但仍受 LISeasons 概率、季节和表面条件限制。
  • icemelt: false:保护 Residence 原生监听的普通冰、霜冰和雪层不被融化;设为 true 允许继续执行融化规则。
  • 雪块、细雪、浮冰和蓝冰不在该 Residence 标志的原生材质判断中。要保留它们,请关闭对应 water-cycle.meltable-blocks.<MATERIAL>.enable,不要仅依赖 icemelt。
  • Residence 的晴天/玩家天气控制只影响天气显示;要禁止实际积雪,还需要设置 iceform。

兼容不依赖编译绑定的 Residence API,也不在 LISeasons Jar 中附带 Residence 或 CMILib。参见 Residence 官方方块事件实现。

春季融雪

春季会做两类工作:

  1. 玩家近距离随机融化,使眼前变化更及时;
  2. 以在线玩家为中心,将已加载区块分批加入有限队列,逐列检查地表附近方块。

默认预算:

transition-melt-radius-chunks: 6
transition-melt-budget-per-tick: 512
transition-melt-block-check-budget-per-run: 4096
transition-melt-max-queued-chunks: 1024
max-chunk-refreshes-per-run: 4

默认可融化结果:

方块 默认参与 结果
ICE 是 WATER
FROSTED_ICE 是 WATER
SNOW 是 AIR
SNOW_BLOCK 是 AIR
POWDER_SNOW 是 AIR
PACKED_ICE 否 WATER
BLUE_ICE 否 WATER

目标为 WATER 时,只有方块上方为空气才会转换,避免把封闭冰块直接变成水源。

freeze-exempt-biomes 与 melt-exempt-biomes 使用群系 ID 的关键词包含匹配。两个列表互相独立,空列表表示不额外排除。

冬天不结冰、春天不融化

完全关闭水雪循环:

season-world-rules:
  water-cycle:
    enable: false

只关闭结冰可将 winter-freeze-chance-percent 设为 0;只关闭铺雪可将 winter-snow-place-chance-percent 设为 0;只保留某些冰雪可关闭对应 meltable-blocks.<MATERIAL>.enable。

天然冰封群系

biome_settings.frozen_biome 可对指定天然群系单独控制:

  • lock_winter_mode:即使全局不是冬季,也按冬季水雪规则处理;
  • disable_ice_melting:阻止冰类融化;
  • disable_snow_melting:阻止雪类融化;
  • target_biomes:目标群系 ID。

季节群系染色只改变玩家客户端收到的群系调色板。服务端判断结冰、融雪和天然冰封群系时读取的始终是真实群系,所以区块不会因为客户端“看起来像雪原”就被当作永久天然冰封群系;非冬季仍可正常融雪。

Dominion 保护

integration:
  dominion:
    protect-ice-and-snow: true

安装 Dominion 且开启保护后,LISeasons 的融雪流程不会修改受保护领地内的冰雪,同时监听 BlockFadeEvent,阻止原版规则融化这些方块。

季节生物替换

只处理 NATURAL、REINFORCEMENTS、CHUNK_GEN 三类生成原因:

  • 夏季在 temperature.yml -> tropical-biomes 匹配的热带群系中,僵尸默认有 70% 变为尸壳;
  • 冬季自然骷髅默认有 85% 变为流浪者。

刷怪蛋、命令、刷怪笼等其他生成原因不走这套替换规则。

返回首页