
生活世界(QOL)
一款提升原版体验的便利性模组,包含3D作物、环境生物、高级水体(需搭配着色器以获得最佳视觉效果)
生命世界
原版 Minecraft,活了起来。 真实的风场吹过草地与树林。一个由六组永不循环的游荡波列构成的海洋。(使用 SOLAS 光影以获得最佳视觉效果)浪花拍击岩石,随每一次波浪涌上沙滩。水流真的会托起你和你的小船。蜥蜴在沙漠的沙地上晒太阳,螃蟹在水线边横着爬行,热带鸟类飞越丛林树冠。
生命世界不添加矿石、机器、维度或生物。它不改变游戏的任何玩法。它只是让你已经熟悉的世界动起来。
仅客户端。 不注册任何方块、物品、实体或配方,你世界中的任何一个方块都不会被修改,服务器也不需要安装此模组。
需求
| Minecraft | 1.21 |
| 加载器 | Fabric Loader 0.15.0+ |
| 依赖 | Fabric API |
| Java | 21 |
| 端侧 | 仅客户端 — 可在原版服务器上运行 |
在游戏中按 F6 打开设置界面。
你会在最初五分钟内注意到的变化
- 麦田会随风起伏而非静止不动,并且你可以看到一阵风扫过田野,然后才吹到你面前。
- 站在沙滩上:波浪以不规则的间隔涌来,会有更大的一组浪头抵达,波峰在变浅时变得尖锐,并破碎成白色浪花。
- 泡沫线会随着每一波浪涌上沙滩再退回,湿润的沙地边缘参差不齐地随之移动。
- 跳入海中:一个水冠,飞溅的弧形水滴,扩散的涟漪,以及摇晃着上浮并在水面破裂的气泡。
- 游进波浪中,水流会托着你——升上波峰,向前推进,再沉入波谷。
- 坐上小船:它会在波浪上起伏摇晃,每一次划桨都会在桨叶处搅起气泡。
- 农作物、草丛和花朵是真正三维的。
- 黄昏的沼泽:萤火虫。正午的沙漠:热浪 shimmer 和当你靠近时迅速逃开的蜥蜴。
海洋
水面是一个频谱 Gerstner 海洋——用于电影和游戏水体渲染的方法:
- 六组波列,从 26 米的长涌到 2.4 米的碎波,刻意非谐波。
- 深水色散(
ω = √(gk)),因此长涌确实比短碎波传播得更快,水面不断重塑自身形态。 - 游荡的波向——每组波列的方向以其自身的周期围绕风向缓慢漂移。
- 窄带波列——每组波列的振幅和相位独立游荡,这正是真实海洋频谱的合成方式。这是消除循环的部分:通过自相关测量,水面的峰值自相似度为 0.36(1.0 意味着“此动画在重复”)。
- 波群——顺风漂移的噪声场意味着成组的大浪会涌过,同一片海洋的任意两段永远不会在做同样的事情。
- 浅水变形与破碎——在浅水中,波峰会变得尖锐、前倾并坍塌成破浪。
- 白浪花和坡度着色由波浪梯度计算得出,因此即使未安装光影包,海面看起来也是三维的。
波浪是感知海岸的:每个水方块的波浪尺度在其区块网格构建时,根据其周围水域的开阔程度烘焙而成。池塘几乎不动,贴近沙滩的水只抬升几厘米(因此水线永远不会出现缝隙),而开阔的海洋则能获得完整的涌浪——在雷暴中大约有 0.7 个方块的波峰到波谷高度。
波浪大小随风和天气变化。晴天:轻柔的涌浪。雷暴:沉重的、破碎的巨浪。
泡沫与海岸线
泡沫是最容易暴露模组是“几个循环精灵图”的部分,因此:
- 三种结构不同的泡沫家族——浓密翻腾、排水蕾丝、破碎岛屿——每一种都是 8 帧 64px 的溶解动画。每个泡沫斑块选择其中一种。
- 所有属性都是每个斑块独立的:寿命、大小、冲程距离、旋转、自旋、不透明度和起始帧。
- 斑块在排水时会分裂成更小的漂移岛屿。
- 泡沫属于波浪——只有当共享波场表明波峰确实到达某个岸边区块时,该处才会产生泡沫;并且由于波场是有方向性的,泡沫线会随着波前沿海岸线扫过。
- 它会碰撞物体。 一个波浪面撞上岩石会戛然而止,在岩石前堆积得更亮,并向岩面抛洒水花。水冲击悬崖、石柱和码头侧面时,会猛烈撞击并产生爬升的水花和脚下翻腾的气泡。
- 连续的海岸带泡沫是两层以不同速度滚动,每个区块有八种 UV 朝向可选,因此网格永远不会显示出重复的贴图裁剪。
湿润的沙地不是一个固定的环带:每个方块都知道自己与水的距离,深色区域会随着当前的冲浪带上溯到沙滩上相应的位置,然后再退回。
浮力、船只与气泡
- 波浪会托起你。 浮力使用你所看到的同一波浪表面的精确导数,因此你会升上波峰,被波浪推着前进,然后沉入波谷。轨道运动随深度呈指数衰减,所以水面游泳者会被抛来抛去,而潜水者则不受影响。
- 船只会在其所在的波浪上俯仰和横摇。
- 划桨会搅动水面——在划水动作中桨叶实际入水的点,会从桨叶处抛出水泡、泡沫和水花。
- 真实的气泡:一个带有明亮边缘的薄折射外壳,浮力和终端速度随大小变化,上升气泡实际具有的螺旋摆动,以及它们在水面破裂时产生的爆裂和圆环。由入水溅落、划桨、游泳、障碍物搅动和海床 vents 产生。
- 分层溅落效果:一个八帧的水冠,一连串弹道水滴划出弧线并融入水面,以及扩散的圆环——所有大小都由撞击速度和实体宽度决定。
- 瀑布会产生水雾、水冠、水花、泡沫和剥离的水滴,其规模由落差高度决定:一个方块高的溪流就保持小溪流的样子。
运动是温和且有界的——海洋能让你移动的最快速度就是水本身的速度(约为步行速度的五分之一),并且有每 tick 的硬性上限。只有你自己的玩家和你驾驶的船只会受到影响,因此在服务器上不会出现橡皮筋效应。它有一个开关和一个强度滑块。
风
一个统一的环境风场驱动着一切,因此世界表现得像一个整体系统,而不是一堆无关效果的堆砌。
- 风向缓慢而持续地漂移——风永远不会瞬移到新的方向。
- 强度随天气变化:晴天微风,暴风雨中强风持续。
- 阵风是传播的前锋,而非全局乘数:一个垂直于风向的带状区域以每秒 9-16 个方块的速度顺风扫过。草丛、烟雾、粒子和顶点着色器都在各自的位置评估同一个带状区域,因此你可以看着一阵风穿过田野并抵达。
- 大尺度噪声意味着远处的水不会与脚下近处的草同步运动。
植被与 3D 植物
草丛、蕨类、花朵、树苗、农作物、甘蔗、竹子、藤蔓、海带和树叶都会随风弯曲——锚点正确(植物在基部旋转,藤蔓从顶部悬挂,树叶作为树冠移动),并且每种都有自己的相位,因此麦田绝不会像一块僵硬的板子一样移动。暴风雨会让所有东西弯得更厉害;弯曲量设有上限,这样不会有任何东西看起来像橡胶一样。
3D 农作物和植物:共享的作物、十字形和染色十字形模型模板将被替换为更密集的交叉平面模型,因此农作物、草丛、花朵、蕨类、树苗、甘蔗和蘑菇从任何角度都有真实的体积感,而成熟的小麦、胡萝卜、土豆、甜菜根和下界疣会长出下垂的头部。使用原版纹理,因此你的纹理包仍然适用,并且生长阶段、碰撞箱、掉落物和所有耕种机制完全不变。
天气与氛围
- 雨会随风倾斜——网格、密度和纹理与原版相同,但每道雨丝都会随风倾斜,阵雨中轻柔,暴风雨中猛烈。
- 雪会横向飘移,并被剪切形成暴风雪。
- 积雪会以覆盖层的形式逐渐累积,并缓慢融化。不会放置雪层方块。
- 湿润的表面会随着雨水渗透而变暗,并在大约一分钟内干燥;水坑会在暴雨中形成。
- 雨水会在水面上留下涟漪,在石头上留下迸溅的水滴冠;阵雨过后树叶会继续滴水;洞穴中会有水滴。
- 生物群系和时间感知的粒子:温暖日子里的花粉和种子,沙漠中的尘土,火山地形中的灰烬,风将树冠上的叶子吹落,黎明时水面上的薄雾,暴风雨中的水花。
- 沙漠热浪 shimmer 作为一种真正的屏幕空间折射效果,集中在水平线附近。你的 HUD 保持完全锐利。
- 雷暴和黎明时,空气感觉会微妙地更沉重。
环境生物 — 十个生物群系栖息地
这里的每一种生物都是粒子,而非实体:没有服务器 tick,没有 AI,没有寻路,不与生物容量上限交互,没有掉落物,没有可击杀或繁殖的对象,也没有网络流量。它们仍然会转向、浮动、拍打翅膀并对你做出反应。
| 生物群系 | 生物 |
|---|---|
| 沙漠 / 恶地 | 在热沙上晒太阳的蜥蜴、甲虫、灯旁的飞蛾、高空盘旋的鸟类 |
| 丛林 | 成群的热带鸟类、蝴蝶、甲虫、青蛙、蜻蜓、夜间密集的萤火虫 |
| 沼泽 | 水面上的蜻蜓、青蛙、大量的萤火虫、飞蛾 |
| 海滩 | 在水线边横行的螃蟹、岸鸟 |
| 海洋 / 河流 | 上方的海鸟、下方的鱼群和浮游生物 |
| 森林 | 鸟类、蝴蝶、甲虫、萤火虫、飞蛾 |
| 针叶林 | 森林鸟类、甲虫、偶尔出现的飞蛾 |
| 积雪 | 雪鸟,稀疏——雪原本就该让人感到空旷寒冷 |
| 山地 | 在高空盘旋于山峰之上的鸟类 |
| 平原 / 热带草原 | 花朵上的蝴蝶、鸟类、甲虫、温和夜晚的萤火虫 |
地面生物有真实的行为,而非一个游荡目标:蜥蜴先静坐不动,然后快速短距离冲刺;螃蟹横向移动;甲虫缓慢前行;青蛙以真实的弧线跳跃。它们会沿着地形移动,拒绝超过一个方块的台阶,并在你靠近时逃跑。
在水下,鱼群会作为一个协调的群体,沿着一条共享的游荡路径移动。
质量预设
按 F6 循环切换预设,或编辑 config/livingworld.json。
| 预设 | 用途 |
|---|---|
| 低 | 性能较弱的硬件。最少的粒子、简单的摆动、基础泡沫。 |
| 中 | 完整的植被动画、波浪、泡沫、湿润表面、薄雾、大部分野生动物。 |
| 高 | 默认。以自然强度开启所有效果。 |
| 超高 | 更高的密度和距离,更强的波浪和摆动。 |
| 展示 | 适用于高性能 PC。 3500 个粒子,96 格效果距离,20000 个覆盖层四边形,六组波列,最大泡沫和野生动物密度。毫无保留。 |
大约有五十个独立的开关和滑块:风、阵风、草/作物/叶/树摆动、海浪、浪高、浮力强度、海滩泡沫、泡沫强度、湿沙、湿润表面、水坑、雨溅、涟漪、风驱降水、雪效果、积雪、瀑布效果、瀑布水雾、气泡、薄雾、暴风雨雾、热浪、洞穴滴水、树叶滴水、水下生物、鱼群、动态海草、萤火虫、蝴蝶、蜻蜓、飞蛾、鸟类、地面生物、烟雾风力、火焰余烬、效果距离、覆盖层距离、粒子上限和更新速率。
性能
- 无实体。 每一种生物、泡沫斑块、水花和雾气都是粒子。
- 分类粒子配额。 水、天气、大气、野生动物、水底和火各获得人口上限的保留份额,因此任何系统都不会使另一个系统匮乏,且总量有界。
- 动画在 GPU 上运行。 植被、波浪和阵风前锋都是顶点位移——区块网格永远不会为了动画而重建。
- 采样探测,而非遍历。 效果每 tick 只采样少量位置,因此成本是固定的,不会随渲染距离增长。
- 带真实细节层次的缓存覆盖层几何体:距离优先扫描,基于质量的四边形预算,因此远处细节先于近处细节被丢弃。
如果你需要回收帧数,先降低效果距离和最大粒子数——它们占主导影响。波浪和植被动画基本是免费的。
光影与兼容性
无光影时,以上所有功能都可用,包括波浪、白浪花和坡度着色。
使用 Iris / Oculus 时,生命世界会正确地让路。光影包会替换核心着色器,几乎所有光影包都自带其摇曳植物和水体动画,因此模组会检测到活动中的光影包,将植被和水体动画交给光影包处理,并重新加载区块,以便光影包看到干净的几何体。所有不依赖核心着色器的功能都会在光影包之上继续运行——岸边泡沫和冲浪带、白浪花、溅落水冠、气泡、薄雾、风驱雨雪、积雪、湿沙、野生动物、鱼类、船只物理和 3D 植物模型——而这些恰恰是最能从光影包的照明和反射中获益的部分。关闭光影后,模组自身的波浪模拟会自动重新接管。
Sodium / Embeddium 会用其自身的着色器替换地形渲染,因此在其安装后,着色器驱动的植被摆动和海洋波浪无法抵达 GPU。这会在启动时被检测并记录到日志中;模组的所有其他功能正常工作。
多人游戏:完全客户端。无数据包,无世界修改,对其他玩家不可见,也不可能有任何优势——不触及任何游戏数值、碰撞箱、光照等级或方块状态。
无障碍:减少动态 开关可立即禁用所有运动密集型效果,同时保留静态视觉效果。粒子、野生动物和距离滑块都可以独立归零,并且模组尊重原版的 Particles 视频选项(设置为 Minimal 时将完全停止生成粒子)。
这是一个年轻的项目——如果你遇到视觉错误、崩溃或性能问题,请附上你的模组列表、预设和硬件配置提交 issue,它会被修复。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。