新建2023-07-15

同步功能重做

更改

  • 添加了自定义云层颜色的功能。

  • 添加了云层亮度增强功能。

  • 由于配置系统需要,Cloth Config 已由原来的前置改为联动。配置文件已交由内建代码处理。

    • 但如果你需要在游戏内更改设置,你仍然需要安装它。

修复

  • 修复了 Forge 在双端安装时,服务端向客户端发送空的天气信息导致客户端报错掉线的问题。

  • 修复了自 1.7.4 版本开始的云层同步功能无法运作的问题。为此重制了几乎整个网络模块。现在该功能应当能正常工作了。

  • 移除了客户端的请求同步功能。

    • 但你仍然可以使用服务端的 /sfcr sync 命令。

  • (1.18.2/1.19.2/1.19.3)修复了启用“云层显示距离匹配视野”选项后,通过调整游戏视距而自动更改的云层显示距离不会自动保存的问题。

  • 代码整理。

已知问题

  • 当你或你的服务器的同步间隔设置得过短导致同步频率过高时,云层位置会闪现。

  • 通过服务器同步的云层,其形状并不完全一致。

你已经到达了世界的尽头..
新建2023-07-01

“优化与合并”更新

  • 通过给云层模型的重建添加帧间隔的方法大幅优化了模组的硬件占用。

    • 在粗浅的测试中,该版本的游戏帧率相较于 1.7.4 版本提升了 200% 以上,已经非常接近无模组原版的帧率了,效果显著!

    • 但仍然不要将云层设置得过大,在每次模型重建中,过大的云层依旧会制造卡顿尖峰,导致掉帧。

  • 使用 Forgix 插件将 Forge 和 Fabric 的代码合并在了同一个 .jar 文件中,以减少模组发布的工作量。

    • 虽然文件大小几乎翻倍,但你现在可以将它放在任意加载器中使用。

  • 现在你可以完全禁用面剔除功能(如果需要的话)。

  • (仅 1.20)修复了网络包中丢失的群系降水类型的密度设置。

  • 对配置界面和语言文件进行了少量更改。

帧率比较:

common-第1张图片1.7.4common-第2张图片1.7.5
你已经到达了世界的尽头..
新建2023-06-08
  • 更新适配至 1.20 版本;

  • 轻微提升了面剔除的计算效率(大概 10%)。

你已经到达了世界的尽头..
新建2023-05-12

更改&修复

  • 添加面剔除功能;

  • 为调试屏幕(F3)添加了剔除信息;

  • 调整了配置和配置屏幕;

  • 修复了 Mixin 的冗余;

  • 修复了当启用“显示距离适配视距”选项时改变游戏视距,显示距离没有自动改变的问题(Mixin 的问题);

  • 修复了在某些情况下配置屏幕中输入的迷雾距离值无法提交的问题;

  • 当云块大小不为 16 时,降低了云层的移动速度;

  • 移除了不产生任何作用的区块加载检测代码。

致 1.19.4:

  • 我注意到新添加的剔除功能在 1.19.4 版本上对游戏帧率的提升非常有限,目前还没找到原因。

2023-05-06

更改

  • 移除了与钠·拓展的联动;

  • 将云层生成阈值开放进了设置页面。

修复

  • 修复了“地形回避”功能中错误的高度计算方法;

  • 修复了云层与地形重叠时的闪烁问题;

  • 修复了执行 /weather rain 命令后天气预检测模块持续返回 thunder 导致云层密度错误变化的问题;

  • 修复了天气预检测功能无法在降雨结束时正确预测天气晴朗与否的问题;

  • 修复了 weatherChange 参数在单人游戏中被 clientTick 方法覆写导致天气预检测功能无法运行的问题;

  • 修复了云块大小设为 16 以外的数值时迷雾距离没有正确适配的问题;

  • 修复了云层移动速度错误地跟随游戏帧率变化的问题;

  • 修复了多人游戏时同步模块在收到数据前频繁发送同步指令的问题;

  • 修复了潜在的接收同步数据包时的崩溃;

  • 优化了云层高度定位的计算方法;

  • 优化了密度渐变的步进算法。

已知问题

  • 严重的性能卡顿。

由于 1.7.0 版本中实现的平滑渐变功能需要云层在每一游戏刻都重建一次模型,故该操作被移出了多线程过程,导致云层较多时游戏客户端出现严重的卡顿。为了解决这个问题,目前判断需要重写部分核心代码,这可能会使模组其他功能产生不稳定的情况。

因此,我决定先发布这个比较稳定的版本 应该吧,毕竟修了那么多 bug,好方便我接下来专心修改代码核心。

1.8.x 版本见。

2023-04-17

功能添加

  • 云块大小现在可以进行调整了;

  • 云朵现在会自动回避较高的地形和建筑物,以免从其中穿过;(由 RealisticClouds 启发并私自复现)

  • 群系检测功能现在可以以云层下方的区块作为检测对象,实现更精确、更合理地生成;(同上)

  • (实验性地)云层现在在刷新时可在两组形状间平滑过渡(但因为我还搞不清楚的渲染问题,视觉效果很差)。

更改&修复

  • 修复了群系系数的计算错误(这次真的修复了>w<)

  • 群系过滤列表现在可以输入以“#”开头的标签了;

  • 调整了云层密度阈值的计算公式(平衡群系和天气的密度乘积挺难的,未来计划直接把这两个参数放进配置屏幕里……)

  • (显而易见地)为了实现以上功能对代码结构进行了大修;

  • (因为大修)现在云层在黎明和黄昏时的颜色变化更流畅了(不断地 remesh,会比以前更消耗性能)

致 1.19.4:

由于游戏版本问题,该版本的模组不得不对群系检测功能进行重写以填补 .downfall() 方法消失后的参数空缺,所以该版本的模组可能会在视觉表现上与其他版本产生显著差异。

你已经到达了世界的尽头..
新建2023-02-23

错误修复和优化

  • 修复了一个导致游玩时间过长后云层刷新线程崩溃的问题;

  • 修复了对钠·拓展的兼容无法生效的问题;

  • 移除了对 Raised Clouds 的兼容,因为它不开源且我从未测试过,无法保证此兼容能够运行;

  • 修复了单人游戏暂停时云层刷新与移动不暂停的问题;

  • 修复了一个丢失的服务端命令,并稍微优化了其他的命令;

  • 再次提升了群系降雨系数的基础倍率;

  • 微调了云层高度的计算方式,以尝试兼容 Head in the Clouds

2023-02-17

共享同一片天空!

更改

  • 在多人游戏/服务器中为所有客户端同步云层的位置和形状,以使所有客户端上的云层表现一致。
    - 为此,本模组需要同时安装在客户端和服务端,并在客户端中启用“服务器同步”选项。
    - 现在本模组对双端都是可选安装的;但如果任意一端未安装,同步功能将无法使用。

  • 为服务端添加了一系列指令以方便服务器管理员远程配置和管理模组的状态,键入“/sfcr”并回车即可查看命令帮助。

  • 天气检测算法在本次为了双端安装而进行的代码重写中“被迫”进行了优化,较之以往运行更高效。

  • 一些细节更改。

修复

(仅 1.18.2)修复了当玩家穿越区块边界时出现的奇怪的云层闪烁和位移问题。虽然我依旧不清楚这个问题到底是怎么出现的

2023-02-10
  • 修复了一个由天气预检测功能导致的加入服务器/多人游戏时崩溃的严重漏洞;
    - 现在该功能会在你不是服务主机时自动禁用。
    (在非主机情况下无法获取 ServerWorld 句柄导致崩溃)

  • “天气预检测时间”选项现在可以设置为 0 以手动禁用该功能。

2023-02-09

群系检测功能更新

更改

  • 添加了群系检测功能:使用群系降雨量作为参数自动调整云层密度;

  • 优化了天气检测功能的准确度、灵敏度和视觉表现;
    - 添加了预检测功能,现在你可以从云层的密度改变来知晓即将到来的天气;
    - 更好的云层密度门限;
    - 更平滑的密度改变;

  • 开放了更多可配置选项,重新制作了配置界面;

  • 语言文件更新。

修复

  • 云层不再渲染在没有 Skylight 属性的维度了,例如下界和末地;

  • 云层迷雾的距离现在会被正常计算了;

  • 修复并优化了密度计算的结果;

  • 修复了当无迷雾时的视锥距离;

  • 其他小型修复(请前往 Github 查看 commit 细节,或查看之前的 b 测日志)。

已知问题

  • 因为一个原版游戏方法返回值的错误,预检测功能无法在雷暴和降雨结束时正确运行。

你已经到达了世界的尽头..
新建2023-02-16

综合性调优&修复

  • 修复服务端命令无法运行的问题;

  • 修复天气检测无法工作的问题;

  • 基本修复 b1 的所有问题;

  • 对同步功能进行了 C2C/C2S/Multi C2S 测试,基本通过。

2023-02-16

更改

初步实现了在客户端与服务端之间同步云的位置。(仅使用单客户端测试,需进一步多端测试)

  • 为了分别安装在客户端和服务端,对模组代码结构进行了大改;
    - 大改的同时被迫对天气检测算法进行了优化;

  • 添加了客户端和服务端各自的命令(客户端请求同步,服务端修改配置);

  • 添加了客户端的服务器同步设置。

问题

  • 连接并与服务器同步云数据的客户端的云的移动速度过慢,且与服务器不同步;

  • 单人游戏中云移动速度过快;

  • 客户端向服务端请求同步时,服务端没有提示信息;

  • 客户端加入服务端并同步时未获得同步提示;

  • 配置系统的问题:客户端退出与其同步的服务器时加载配置,以还原被服务器同步的数据。

  • ……

2023-02-09

更改

  • 修复了云会渲染在没有 Skylight 的维度,包括下界和末地的问题;

  • 修复了快速刷新功能与天气预测错误(由后者的 getTime 方法调用 bug 引起,已注释在代码中);

  • 修复了错误的密度计算方法(由 int 类型舍弃小数点引起的计算错误);

  • 将天气和群系的变化检测与密度改变算法分离,以获得更灵敏的检测速度(现在检测算法将每 tick 运行一次);

  • 优化了平缓刷新与快速刷新的判断条件;

  • 调试并细化了密度参数的取值范围,使其覆盖随机采样的主要取值范围;

  • 修复了群系倍率在参与最终密度计算时的方法错误;

  • 将迷雾距离算法应用于最大视锥距离的计算,避免云层被视锥剔除;

  • 将调试信息改为在游戏内输出;

  • 从配置屏幕中移除了调试按钮;

  • 一处英文翻译关键字错误;

  • 语言文件的小幅修缮。

问题

  • 无法预测雷暴/降雨之后的天气状况;

  • 调试输出会导致游戏崩溃(聊天记录数量溢出)。

2023-02-08

更改/修正

  • 修复了潜在的多人游戏中的崩溃(获取ServerWorld 句柄时判断是否为本地游戏后再选择使用Integrated Server 还是Minecraft Server);

  • 优化了天气检测算法入点,降低其更新频率;

  • 优化了自动迷雾距离算法;

  • 优化了密度取值过程;

  • 优化了群系检测,添加了密度改变过渡;

  • 添加调试开关;

  • 下调了云厚度滑块的最大值至64,上调了雾距离滑块最大值至32;

  • 小幅修正配置界面的提示文字。

问题

  • 天气/群系改变时的快速刷新云层功能无法工作;

  • 频繁出现的密度计算错误;

  • 天气预测功能失效。

2023-02-07

优化天气检测算法,开放更多的可配置项目,尝试使用降水值进行群系检测。

问题

  • 使用了 integrated server 类,可能无法在多人游戏中使用;

  • 降雨时的云层密度依旧无法令人满意;

  • 群系检测不起作用;

  • 云层常规密度设置不起作用;

  • 刷新频率在天气稳定后无法降低;

  • 雾设置在大改后与原生地面迷雾脱节(需还原更改)。

2023-01-31

配置性更新!

  • 添加了 Cloth Config API 的依赖,以管理模组配置。

  • 添加了模组菜单的兼容,以在游戏中打开配置界面。

  • 云层厚度现在支持在 8 到 128 中调整。(默认为 32)

  • 云层宽度现在支持在 60 到 384 中调整。(默认为 96)

  • 云层高度现在可以独立在 128 至 384 中调整。(默认跟随原版)

    • 注意:当安装有调整云层高度的模组时(比如钠·拓展Raised Clouds),此设置将自动禁用以应用其更改。

  • 可在“超级华丽云”和“原版华丽云”中快速切换。(不需要再卸载模组)

  • 为配置界面添加了中文和英文支持。

已知问题:

  • “云层显示距离匹配视距”功能正在开发,该选项暂时无法使用。

  • 当云层厚度和宽度设置得过高时会引起卡顿。

  • 云层上的迷雾效果在使用高厚度高显示宽度的云层、且迷雾距离低于 4 时无法准确工作。

2023-01-28

修复云在视线边缘会被方形遮罩剔除的问题。

你已经到达了世界的尽头..
新建2023-02-14

小型优化补丁

更改

  • 云会在黎明和黄昏时稍微变红;

  • 添加了“群系影响过滤”以忽略由过小或过窄的群系所带来的云层密度改变;
    - 你可以自定义这些群系。

  • 云会在“云层渲染距离”改变时保持其位置以避免错位;

  • 提升了云层的基础密度 10%;

  • 提升了群系基础影响倍率 50%;
    - 但沙漠和类似的群系依旧不会出现云,因为零乘以什么都是零 :-P

修复

  • 用浮点数替换了大量整数除数以修复因小数点被舍弃而出现的位置计算失误;
    - 现在应该不会再出现云层闪烁的现象了——但愿。

已知问题

【1.18 版本玩家注意】该版本的模组在玩家穿越区块边界时会出现严重的云层位置错位和闪回,目前尚不清楚这个现象是如何发生的。出于对模组质量的考量,我决定在该问题得到解决前先暂停对于 1.18 的支持。

2023-02-02

天气检测功能测试

  • 云的密度将随当前天气改变;

  • 天气改变时,云的更新速度加快 4 倍,以使密度平滑过渡;

  • 天气稳定时,云的更新速度降低为原来的 0.33 倍,以节省性能;

  • 重写了配置系统以在配置界面关闭时正确地更新运行参数;

  • “云层显示距离匹配视野”选项现在能正常使用了;

  • 添加了“自动迷雾距离”选项;

  • 尝试通过提升迷雾距离倍率来修复迷雾对云的错误遮罩;

  • 调整了配置页面中滑块的取值范围,使其更合理。

  • 语言文件更新。

当前的密度改变效果我并不满意,但因为这可能需要很长的时间才能优化,所以我决定先为那些想要天气检测功能的玩家放出一个测试版。

你已经到达了世界的尽头..
新建2023-06-21

通过使用 Architectury API,本模组现已支持 Forge。

  • 移植代码至 Architectury API 以期为模组提供便利的多加载器支持。

    • 更新了模组图标和名称为“重筑版 Rearchitected”。

  • 修复了多人游戏时的同步功能。

    • 更新、修复了过时的网络通信模块。

    • 更新了服务端的专有指令。

  • (除 1.16.5 外)优化了面剔除功能中角度的计算过程,使其自适应玩家的视野变化(例如疾跑、药水效果等)。

你已经到达了世界的尽头..
新建2023-06-23
  • 修复了在游戏内修改的设置无法提交的问题;

  • 修复了 /sfcr statu 命令的回显;

  • 更新了模组内置描述。

以上问题仅存在于 1.16.5-1.7.4 中。

2023-06-16
  • 移植至 1.16.5。

注意,一些功能在此版本上无法运行:

  1. 云层渲染距离拓展;

  2. 采样步骤 3。

你已经到达了世界的尽头..