
真实有限流体
有限的水和熔岩,具有逼真的流动效果
从死亡中归来,这些逼真的水体模组终于来到了 Minecraft 1.12!
这个模组为原版液体和Forge 液体(由每个模组注册的那些)添加了逼真的有限流体行为
演示视频:(来自测试版)
Fluidlogged API 兼容
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
注意事项
+此模组默认添加了 ForgeBuckets 兼容,因此你可以使用桶来移动流体而不会损失少量的流体。否则,你可以使用为某些模组制作的特定兼容。我欢迎任何建议。
+我正在考虑一个系统,为具有特定名称的流体实现通用行为,无论是对新生成的还是已存在的流体方块(BlockFluidClassic)都适用。
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
待办事项
- 添加 Fluidlogged API 兼容
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
模组特定兼容补丁:
- IC2(使用 IC2 的流体单元收集/放置有限流体的特殊逻辑)
- Traveler's Backpack(使用其软管收集/放置有限流体的特殊逻辑)
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
配置文件
//Tickrates waterTickRate --> 水的 tick 速率。 lavaTickRate --> 熔岩的 tick 速率。
//Fluid Logic lakelimit --> 当你与流体方块交互时,会转变为静止/流动方块的数量。
maxCalc --> 每 tick 有限流体计算的最大数量。一个(尝试)避免服务器卡顿的上限。
playerMaxDistanceToCalc --> 流动液体与玩家之间的最大距离,用于在当前 tick 中当前计算量开始接近最大值时,决定是推迟还是立即更新方块。
//Rain Logic enableRain --> 启用有限的水降雨。
rainAmount --> 下雨时每 tick 水滴落下的概率的比例修正值。大于 24 的值不会增加降雨量。不能为零,但 0.1 是有效的。
//Pressure Logic doPressure --> 是否激活压力系统。
//Evaporation Logic enableEvaporation --> 水是否应该蒸发。仅适用于具有最低流体液位的水。
evaporationChance --> 每 tick 水蒸发的概率。
//Misc Logic waterCanFreeze --> 水是否可以变成冰。
bucketRemoveLowFluid --> 当没有足够的流体装满一个桶时,桶是否应该移除世界中的有限流体。
waterLightOpacity --> 水在光线穿过时移除的光量。
flowingWaterShouldMoveCreativePlayer --> 流动液体是否应该推动创造模式下的玩家。
shouldTickRandomly --> 流体是否应该具有随机 tick。
shouldFluidsBeInfinite --> 大型流体团(湖泊、海洋)是否应该作为无限流体源。
createBlocksForBlocklessFluids --> 为没有默认方块分配的流体创建有限流体方块。
//Debug debug --> 允许调试内容。仅用于测试目的。
旧页面
从死亡中归来,这些逼真的水体模组终于来到了 Minecraft 1.12!
这个模组添加了有限水和有限熔岩,这两种流体都与基础的水和熔岩不同,所以你仍然可以使用原版版本!
在配置中你可以找到类似以下的内容 --> 水和熔岩的 Tick 速率、降雨和蒸发功能、一种(尝试)修补海洋与海底洞穴/峡谷之间缺口的方法等。
基础模组兼容
通用模组兼容(v1.6.0)
默认关闭 --> 如果你想要通用兼容,需要将其设置为 TRUE。容易崩溃/出错。
压力系统(v1.5.0)
### 待办事项
+计划更多的模组兼容,目前最大的问题是那些直接使用原版水和熔岩引用而不是 ForgeFluid 系统的模组。
-更新 1 --> 大多数已通过 mixin 覆盖,但如有任何意外行为请告知我
-更新 2 --> 我添加了一个配置选项,让你可以使用一种实验性的方式来添加兼容。容易崩溃和出错,但它能工作。更多信息见下文。
+目前,并非世界生成中的所有水都被替换了,计划将来会这样做。(那些墙上孤独的水/熔岩方块)
+将此系统添加到任何 ForgeFluid 需要完全不同的方法,所以目前只支持水和熔岩。也许将来如果有时间我会添加此功能。
+我正在考虑一种方法,将此系统添加到游戏中每个 FluidRegistry 流体,可能会缺少原始流体的某些属性,但可以在不重写整个代码库的情况下工作。
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
注意事项
+有一个配置选项可以将已存在的世界(带有原版水和熔岩)转换为 RealisticFiniteFluids 的水和熔岩。
+我还需要说明,这个模组是未经充分测试的,所以请随意在你最喜欢的模组中使用它时,遇到任何不兼容/崩溃就提出问题(请进行二分搜索以找出有问题的模组)
+目前,该模组与 FluidLogged API 不兼容(我认为这两个模组本质上是不兼容的,即使我们通过添加一些检查来避免崩溃,RealisticFiniteFluids 和 FluidLogged 也无法一起工作)
+另外,我又开学了(2025 年秋季),可能无法持续更新,请耐心等待。
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
模组特定兼容补丁:
- Climatic Biomes(使用有限水代替原版)
- IC2(使用 IC2 的流体单元收集/放置有限流体的特殊逻辑)
- Traveler's Backpack(使用其软管收集/放置有限流体的特殊逻辑)
- (即将推出)Realistic Terrain Generation Community(使用有限水代替原版)
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
配置文件
//Tickrates waterTickRate --> 水的 tick 速率。 lavaTickRate --> 熔岩的 tick 速率。
//Fluid Logic lakelimit --> 当你与流体方块交互时,会转变为静止/流动方块的数量。
maxCalc --> 每 tick 有限流体计算的最大数量。一个(尝试)避免服务器卡顿的上限。
playerMaxDistanceToCalc --> 流动液体与玩家之间的最大距离,用于在当前 tick 中当前计算量开始接近最大值时,决定是推迟还是立即更新方块。
//Rain Logic enableRain --> 启用有限的水降雨。
rainAmount --> 如果 scalableRainMethod 为 FALSE:下雨时每 tick 水滴落下的概率。
rainArea --> 如果 scalableRainMethod 为 FALSE:水滴落下区域的直径(以方块计)。
scalableRainMethod --> 是否使用“渲染距离导向方法”或“玩家导向方法”来放置雨水。
rainNewMethodAmount --> 如果 scalableRainMethod 为 TRUE:下雨时每 tick 水滴落下的概率的比例修正值。大于 24 的值不会增加降雨量。不能为零,但 0.1 是有效的。
//Pressure Logic doPressure --> 是否激活压力系统。
//Evaporation Logic enableEvaporation --> 水是否应该蒸发。仅适用于具有最低流体液位的水。
evaporationChance --> 每 tick 水蒸发的概率。
//Misc Logic waterCanFreeze --> 水是否可以变成冰。
oceanBarrierMode --> 海洋屏障方法(避免在水下矿井和海洋之间留下开口)。
bucketRemoveLowFluid --> 当没有足够的流体装满一个桶时,桶是否应该移除世界中的有限流体。
waterLightOpacity --> 水在光线穿过时移除的光量。
replaceVanillaFluids --> 是否替换已存在世界中的原版流体。此选项在手动设置为 true 后会自动设为 false(影响游戏 1 次后自动重置为 false)。
universalCompat --> 启用通用兼容 Coremod
exclusionsPrefixes --> 从 coremod 中排除的路径前缀。要排除一个类,添加该类的完整路径。要排除整个包,只需添加该路径。
flowingWaterShouldMoveCreativePlayer --> 流动液体是否应该推动创造模式下的玩家。
shouldTickRandomly --> 流体是否应该具有随机 tick。
shouldFluidsBeInfinite --> 大型流体团(湖泊、海洋)是否应该作为无限流体源。
//Debug debug --> 允许调试内容。仅用于测试目的。
debugUniversalCompatLog --> 启用所需的调试日志,以找出 universalCompat 配置选项所做的有问题的补丁。
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
如何调试/为通用兼容配置添加例外
如果你在启用 universalCompat 配置选项后,游戏加载时出现崩溃,请执行以下操作: 1.- 禁用 universalCompat 配置选项
--- 如果这解决了问题:
2.- 同时启用 universalCompat 和 debugUniversalCompatLog
3.- 游戏崩溃后,检查 latest.log 中的崩溃日志行,看看我的通用兼容 Coremod 修改的哪个类是导致崩溃的类
4.- 将该类的名称(例如:“net.minecraft.init.Blocks”)添加到配置文件中的例外列表中
5.- 重新运行游戏,看看是否再次崩溃。
6.- 如果你想禁用整个模组的所有兼容,添加其初始包路径(例如:“ic2.core”)
如果你发现 Realistic Finite Fluids 的流体方块丢失/被其他模组注册(Witchery、BuildCraft、IC2 等)
1.- 加载游戏并查看有限流体的 ModID(以找出有问题的模组)
1.1.- 找到后,单独使用该模组执行以下步骤。如果有其他模组将我的有限方块注册为它们的,你可能需要重复此过程。
2.- 在配置中同时启用 universalCompat 和 debugUniversalCompatLog。
3.- 检查:“modificada: CLASS_PATH”(将 CLASS_PATH 替换为有问题模组的初始路径,你可以在该模组的 .jar 文件或模组的 github 中看到)
4.- 检查被修改类的方法,尝试找到“items”、“blocks”、“init”等。并将这些类的路径添加到例外列表中。
4.1.- 如果你没有找到任何带有这些暗示性名称的方法或类,尝试该模组中所有正在被修改的类,更不用说那些未被修改的了。
5.- 重复直到有限流体注册到 RealisticFiniteFluids 的 ModID。
希望你喜欢这个小项目!
显示 1-12 条,共 12 条
以上为资源接口提供的文件记录。安装时请在客户端确认文件、游戏版本及依赖。
还没有人评论,去客户端里说两句吧。
评论在新手盒子客户端中发表,这里同步展示。