FSit 继续

FSit 继续

FSit的延续。在现代化Minecraft版本中,可以坐下、爬行并骑乘其他玩家。

游戏机制

FSit 延续版

[!IMPORTANT] 这是由 rvbsm 开发的 FSit 的社区延续版本,原作者已长时间无法联系。 本项目仅用于保持该模组的活力,并更新至更新的 Minecraft 版本。 如果原作者回归并联系我们,本项目将立即下架。 原模组的所有功劳归功于 rvbsm。基于 MIT 许可证授权。

可自定义的服务器端模组,允许玩家坐下、爬行和骑乘其他玩家。 同时支持客户端,通过使用客户端配置和增强客户端行为,为玩家提供更好的体验。

[!NOTE] 灵感来源于 GSit Spigot 插件。

使用方法

只需在服务器上安装此模组即可,玩家无需安装即可使用。

然而,在客户端安装将为使用此模组的玩家带来一些生活质量改进, 如客户端配置、更流畅的爬行动作和按键绑定。

与方块交互

点击方块的上表面(可坐的方块)即可坐上去。

随处可坐

sitting.enabled 控制。

与玩家交互

点击任意玩家即可开始骑乘。 点击骑行队列中的任何人,你会骑到最顶端的玩家身上。

与玩家交互

通过 riding.max-yaw-difference 控制角度差。

潜行

向下看时双按潜行键即可立即坐下。

在洞口附近做同样操作则会开始爬行。 (sneak-activation.prefer-crawl-in-tight-space)

最小俯视角和潜行检测窗口可通过 sneak-activation.min-pitch-downsneak-activation.window-ticks 配置。

命令

姿态命令:

  • /sit — 在当前位置坐下
  • /crawl — 开始爬行
  • /lay — 躺下(实验性)

/fsit 下的模组命令:

  • /fsit reload — 重新读取配置文件(仅管理员)
  • /fsit mount-angle set <0..180> / /fsit mount-angle query — 运行时调整 riding.max-yaw-difference(仅管理员)
  • /fsit hands add <item|#tag> / remove / clear / reset / list — 管理你的自定义物品列表,这些物品不计入"满手"状态,不影响坐下/骑乘检测。 默认为火把和不死图腾,这样你可以手持它们并依然可以坐下。 所有玩家可用,列表按玩家分别保存。
  • /fsit teleport <vanilla|disabled|enhanced> / /fsit teleport query — 当你传送时坐在你身上的玩家会怎样(仅管理员,服务器全局):
    • vanilla — 乘客在相同维度中跟随,跨维度传送时被留下
    • disabled — 传送前乘客被放下
    • enhanced — 乘客跟随你,包括跨维度(推荐)

按键绑定(客户端)

使用按键绑定开始坐下(默认:右 Ctrl)或爬行(默认:右 Alt)。

按键绑定有三种模式:按住切换混合按住切换与原版工作方式相同。 混合是一种中间机制,单次按下时如切换模式,按住时如按住模式。 混合模式下按住切换之间的窗口可在配置界面中调整。

配置

如前所述,如果玩家在客户端安装了此模组,他们可以使用自己的配置文件。 否则,将使用服务器配置。

配置文件可通过 /fsit reload 重新加载。

对于客户端,可通过安装 Mod MenuYetAnotherConfigLib 修改配置。

默认配置文件

# FSit 配置。不要手动编辑 `version`。
# 在专用服务器上:通过 `/fsit reload` 重新读取此文件。
# 在客户端:重新加载本地配置需要重启游戏。
version: 2

use-server-config: false

# 坐在方块上(如台阶、楼梯)。
sitting:
  enabled: true
  behavior: moveable
  centered: false
  blocks:
    - '#minecraft:slabs'
    - '#minecraft:stairs'
    - '#minecraft:logs'
    - '#minecraft:fences'
    - '#minecraft:walls'

# 骑乘其他玩家(点击玩家坐在其头上)。
# teleport-mode 为服务器全局设置(仅管理员)。可选值:
#   vanilla   -> 保持原样传送(乘客在相同维度跟随,
#                跨维度被留下——没有 'enhanced' 可能会崩溃)
#   disabled  -> 传送前放下乘客
#   enhanced  -> 携带乘客一起,包括跨维度(推荐)
riding:
  enabled: true
  max-yaw-difference: 180
  teleport-mode: vanilla

# 双击潜行进入坐下/爬行姿态的快捷键。
sneak-activation:
  enabled: true
  window-ticks: 10
  min-pitch-down: 60
  prefer-crawl-in-tight-space: true

# 命令。
#   true       -> 以默认名称启用
#   false      -> 不注册命令
#   "name"     -> 以自定义名称启用(如 lay: sleep)
# 命令更改需要重启服务器才能生效。
commands:
  root: true
  sit: true
  crawl: true
  lay: true
选项详情

use-server-config

设置为 true 时,强制所有玩家(服务器)或玩家(客户端)使用服务器配置。

启用此选项将忽略客户端的姿态更新,仅保留服务器到客户端的同步。

sitting.enabled

允许通过与方块交互来坐下。

sitting.behavior

控制坐下行为。可选值:staticattachedmoveable

  • static – 不执行任何操作,忽略所有内容;
  • attached – 如果没有下方支撑方块,座位将被丢弃;
  • moveable – 座位可被液体、活塞等推动。没有支撑方块时将开始下落。

sitting.centered

将座位放置在方块中心。

sitting.blocks

可交互的方块和方块标签列表。

riding.enabled

允许通过与其他玩家交互来骑乘。

riding.max-yaw-difference

当值为 1..180 时,控制允许通过交互骑乘时玩家水平朝向角度的差异。 0 禁用骑乘交互,180 完全移除限制。 也可在运行时通过 /fsit mount-angle set <0..180> 修改。

riding.teleport-mode

玩家传送时乘客的服务器全局行为。可选值:vanilladisabledenhanced

  • vanilla – 乘客在相同维度中跟随,跨维度传送时被留下;
  • disabled – 传送前乘客被放下;
  • enhanced – 乘客跟随你,包括跨维度(推荐)。

也可在运行时通过 /fsit teleport <vanilla|disabled|enhanced> 修改(仅管理员)。

sneak-activation.enabled

启用双击潜行快捷键以进入坐下和爬行姿态。

sneak-activation.prefer-crawl-in-tight-space

如果附近有洞口,则开始爬行而不是坐下。

sneak-activation.min-pitch-down

开始记录潜行动作所需的最小玩家俯视角。 90 为完全朝下,-90 忽略玩家俯视角。

sneak-activation.window-ticks

双击潜行被识别为双击动作的时间窗口(以游戏刻为单位)。 设置为 0 禁用潜行动作。

commands.*

每个命令的开关。每个命令(rootsitcrawllay)接受:

  • true – 以默认名称注册;
  • false – 不注册;
  • "name" – 以自定义名称注册(如 lay: sleep)。

命令更改需要重启服务器才能生效。

许可证

本项目与原作一样,基于 MIT 许可证 授权。