Realistic Terrain Movement

Realistic Terrain Movement

移动速度因地形方块而异,船只在海洋中会破裂,在山峰处高海拔风会将玩家推来推去。设计初衷是鼓励使用外部交通模组,特别是Create Aeronautics。

真实地形移动 改变了 Minecraft 中的移动方式,让地形、海拔和环境条件同时影响玩家和生物。道路变得更快速,泥巴和雪地会减慢你的速度,山风成为一项挑战,而开阔的海洋对小船来说也不再安全。

本模组旨在鼓励玩家使用交通模组或其他环境机制。

所有机制均可完全配置,并可独立启用或禁用: .../config/realisticterrainmovement-common.toml

特性

不同表面影响移动速度:

  • 小径、木板、砖块、石头及类似人造表面提供速度加成。
  • 沙地、砾石、泥巴、雪地、灵魂沙、细雪及其他粗糙地形会减慢移动速度。

地形速度影响示例图

反跳跃利用:

  • 跳跃不再能用来绕过地形惩罚。模组会记住离开地面后短时间内(可配置,默认2秒)的最后一个地形修正值,防止玩家通过在泥巴、雪地或沙地上连续跳跃来避免减速。

靴子减少地形惩罚:

  • 装备在脚部栏位的任何靴子默认减少50%的地形惩罚。在粗糙地形上行走变得更容易,同时保留来自道路和小径的所有正面加成。

生物也会受影响:

  • 地形效果不仅应用于玩家,也会影响世界中的大多数生物。
  • 默认排除水生生物、飞行实体和某些无腿生物,以维持其自然行为。

高海拔风力系统:

在Y=120以上,强风开始影响移动。风力强度在Y=250处达到峰值。

  • 风会将玩家和生物向侧面推。
  • 逆风行走会降低移动速度。
  • 风力强度随海拔升高而增加。
  • 仅在露天环境下生效(洞穴/建筑内部不受影响)。
  • 普通的攀爬跳跃不受影响。

船只与开阔海洋:

小船不适合深海航行。原版船只本质上是一种小型沿海船只,在现实中无法承受开阔海洋的恶劣条件。这鼓励玩家通过其他模组建造适合远洋航行的船只,用于探索遥远的岛屿和大陆。

  • 新放置在海洋生物群系中的船只将立即破碎并掉落为物品,鼓励玩家寻找替代的交通方式。

兼容性

默认配置支持以下模组:

可能与修改MOVEMENT_SPEED属性、应用自定义移动机制或改变原版船只行为的模组冲突。此外,如果你使用的交通模组中的载具具有"船(boat)"标签,它也会像所有原版船只一样在开阔海洋中损坏。解决方法是在我的模组配置中禁用船只损坏功能。

推荐模组

由于本模组的主要目的是补充其他模组,我推荐以下模组来充分发挥其全部潜力:

技术说明

  • 所有移动逻辑仅在服务端运行,通过EntityTickEvent.Post执行。
  • 地形和靴子使用组合的MOVEMENT_SPEED属性修饰符(ADD_MULTIPLIED_TOTAL)。在空中时,会保持(粘性)最后的落地值,而不是重置为中立值。
  • 风力通过直接速度操控应用,而非通过属性——确保能可靠地感受到,并且不会触发原版基于速度的视野扩大。
  • 风力系统会追踪每个实体最后的落地Y坐标,以检测“这是否是正常跳跃”,并在低于配置的上升阈值的跳跃期间跳过推拉/减速效果。
  • 生物群系模组的方块条目使用简单的modid:block或#modid:tag语法——如果未安装该模组,注册表查找将找不到任何内容,该条目将无效。
  • 配置列表会被缓存,仅在配置实际更改时重新解析。