FSit

FSit

随便坐!

游戏机制

FSit

可自定义的服务端模组,允许玩家坐下、爬行以及骑乘其他玩家。 同时支持客户端,让玩家可以通过客户端配置和附加的客户端模组行为改进来提升体验。

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

使用方法

服务器上安装此模组即可,不强制玩家安装才能使用。

不过,在客户端安装将为此模组的使用者带来一些生活质量改进。 例如客户端配置、更好的爬行体验以及按键绑定。

与方块交互

与方块顶面交互(该方块必须可坐)即可开始坐下。

sapling yippie

通过 block-interaction 控制。

与玩家交互

与任何玩家交互即可开始骑乘。

elytra

通过 riding-minimum-yaw 控制角度差。

潜行

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

在洞口附近执行相同操作则会开始爬行。(sneak-crawling)

最小俯仰角和最大潜行窗口时间可分别通过 sneak-minimum-pitchsneak-window 配置。

命令

/sit/crawl 命令可用于相应动作。

按键绑定(客户端)

使用按键绑定开始坐下(默认:RCtrl)或爬行(默认:RAlt)。

按键绑定有三种模式:按住切换混合按住切换与原版行为一致。 混合是一种介于两者之间的机制,单击时作为切换,按住时作为按住。 混合模式中按住切换之间的窗口时间可在配置界面中设置。

配置

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

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

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

默认配置文件

use-server: false
seats-trait: moveable
seats-centered: false
block-interaction: true
block-interaction-ids:
  - '#minecraft:slabs'
  - '#minecraft:stairs'
  - '#minecraft:logs'
  - '#minecraft:fences'
riding-minimum-yaw: 45
sneak-window: 10
sneak-minimum-pitch: 60
sneak-crawling: true
commands:
  root: fsit
  sit: sit
  crawl: crawl
  lay: lay
选项详情

use-server

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

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

seats-trait

控制坐下行为。可能的值:staticattachedmoveable

  • static – 不做任何事,忽略一切;
  • attached – 如果座位下方没有支撑方块,则座位将被移除;
  • moveable – 座位可以被流体、活塞等推动。没有支撑方块时将会开始下落。

seats-centered

将座位放置在方块中心。

block-interaction

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

riding-minimum-yaw

当值为 1..180 时,允许通过与玩家交互来骑乘。 设置为 0 禁用骑乘交互,180 则取消限制。

该选项控制玩家水平朝向角度之间的差值,以允许通过交互进行骑乘。

block-interaction-ids

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

sneak-crawling

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

sneak-minimum-pitch

开始记录潜行动作所需的最小玩家俯仰角。 其中 90 表示完全向下看,-90 表示忽略玩家俯仰角。

sneak-window

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

贡献

欢迎提交拉取请求。 对于重大更改,请先开启一个问题来讨论您想要修改的内容。

翻译

新增或更新的翻译非常感谢, 可在 src/main/resources/assets/fsit/lang 中找到。

键为 *.description.1 的字段是不定长的,可以有任意行数, 您可以根据需要自由创建或删除带有 description.<n> 键的内容。

构建

该项目使用 FabricMCStonecutter 进行多版本支持。

> ./gradlew build

要运行特定版本,请使用 Stonecutter 切换到该版本,并运行 IDE 提供的版本配置,或者:

> ./gradlew "Set active project to [version]"
> ./gradlew [version]:runClient # 或
> ./gradlew [version]:runServer

发布通过 publishMods 任务完成。 需要提供 MODRINTH_TOKEN 环境变量,否则任务将进行试运行。

> ./gradlew chiseledPublish

许可证

本项目采用 MIT 许可证