A simple mod that adds the ability to sit https://modrinth.com/mod/fsit
Find a file
2025-07-30 16:32:05 +03:00
.github ci(build): upload everything in build/libs as one artifact 2024-11-27 16:35:51 +02:00
gradle chore: bump Fabric Loom to 1.11 2025-07-23 11:33:57 +03:00
public docs(readme): rewrite and provide more info 2024-10-20 20:49:38 +03:00
src fix(sneak): don't update sneaking on repeated inputs. Closes #3 2025-07-30 16:26:42 +03:00
versions chore: bump Minecraft to 1.21.8 (1.21.6) 2025-07-23 11:35:08 +03:00
.editorconfig style: add .editorconfig 2025-02-18 14:09:10 +02:00
.gitignore chore(gitignore): ignore environment files 2025-07-03 19:00:39 +03:00
build.gradle.kts build(FMJ): do not use version range for minecraft 2025-07-03 09:14:17 +03:00
CHANGELOG.md docs(changelog): v2.7.12 2025-07-30 16:32:05 +03:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2023-04-13 02:52:59 +03:00
gradle.properties build: parallel builds 2024-10-22 07:27:32 +03:00
gradlew chore: bump Gradle to 8.14.3 2025-07-23 11:32:07 +03:00
gradlew.bat chore: bump Gradle to 8.10.2 2024-10-11 22:19:49 +03:00
LICENSE initial commit 2023-03-10 01:34:42 +02:00
proguard.txt build(proguard): move configuration to proguard.txt 2024-10-28 15:41:23 +02:00
README.md docs(readme): remove misleading screenshot 2025-06-29 13:56:23 +03:00
settings.gradle.kts chore: bump Minecraft to 1.21.8 (1.21.6) 2025-07-23 11:35:08 +03:00
stonecutter.gradle.kts build(stonecutter): set 1.21 as VCS version 2025-06-29 13:21:04 +03:00

FSit

Customizable server-side mod that allows players to sit, crawl, and ride each other. Client-side is supported too, it allows players to improve their experience by syncing configuration and adding some client-side mod behaviour improvements.

Note

Inspired by GSit Spigot plugin.

Usage

Having this mod installed on the server is enough, players are not forced to have it to be able to use it.

However, installation on the client will bring some QoL improvements for players using this mod. Such as configuration syncing, better crawling, key bindings, and riding restrictions.

Interacting with blocks

Interact with the topside of the block, that can be sat on, to start sitting on them.

sapling yippee

Controlled with on_use.sitting and on_use.range.

Interacting with players

Interact with any player to start riding them.

elytra

Controlled with on_use.riding and on_use.range.

Riding restrictions (client)

Players can restrict other players from riding them.

social interactions

Can be accessed with Social Interactions Screen or using /fsit:client allow|restrict <player>.

Sneaking

Double sneak while looking down to sit right away. (on_sneak.sitting)

Doing the same, but near the hole, will start crawling otherwise. (on_sneak.crawling)

Minimal pitch and maximum sneak window can be configured with on_sneak.min_pitch and on_sneak.delay accordingly.

Commands

/sit and /crawl commands for corresponding actions are available.

Key bindings (client)

Use key bindings to start sitting (default: RCtrl) or crawling (default: RAlt).

Key bindings have three modes: Hold, Toggle, and Hybrid. Hold and Toggle works the same as Vanilla. Hybrid is an in-between mechanic, that works as Toggle on single-use and as Hold on holding.

Configuration

As was stated before, players can use their own configurations if they have this mod installed on the client. Otherwise, server configuration will be used.

Configuration can be viewed or edited on the server with /fsit <option> [value]. Reloading from the file can be done with /fsit reload.

For clients, configuration can be modified with Mod Menu and YetAnotherConfigLib installed.

yacl screen

What is that in the background?

WaveTech's villager trading matrix by cubicmetre designed by mrmaxmondays.

Default configuration file

use_server: false
sitting:
  behaviour: gravity
  should_center: false
on_use:
  sitting: false
  riding: false
  range: 2
  check_suffocation: true
  blocks:
    - "#slabs"
    - "#stairs"
    - "#logs"
on_sneak:
  sitting: true
  crawling: true
  min_pitch: 60.0
  delay: 600
Options details

use_server

When set to true, forces all players (server) or player (client) to use server's configuration.

Players' configuration will still be received and processed by the server, but will be ignored when accessed.

Re-disabling this option does not require resynchronizing players' configuration.

sitting.behaviour

Controls sitting behaviour. Possible values: nothing, discard, gravity.

  • nothing – does nothing, ignores everything;
  • discard – seats will be discarded if they do not have any supporting block underneath;
  • gravity – seats can be pushed by fluids, pistons, etc. Will start falling without a supporting block;

sitting.should_center

Place seats in the centre of the block.

on_use.sitting

Allows sitting by interacting with blocks.

on_use.riding

Allows riding by interacting with players.

on_use.range

Interaction radius for sitting and riding features.

on_use.check_suffocattion

Restricts player from completing interaction if it results in their suffocation.

on_use.blocks

List of blocks and block tags that are available to interact with.

on_sneak.sitting

Allows player to start sitting by double sneaking.

on_sneak.crawling

Starts crawling instead of sitting if there is a hole nearby.

on_sneak.min_pitch

Minimal required player's pitch to start registering sneak actions. Where -90 is straight up, and 90 is straight down.

on_sneak.delay

The window between sneaks to be recognized as double sneak action. Measured in milliseconds.

Contributing

Pull requests are welcome.
For major changes, please open an issue first to discuss what you would like to change.

Translations

New or updated translations are more than appreciated, they can be found at src/main/resources/assets/fsit/lang.

Fields with keys *.description.1 are indefinite and can have any number of lines, you are free to create new or remove keys with description.<n> when needed.

Building

Since the project uses Stonecutter, the build is performed using chiseledBuild task:

> ./gradlew chiseledBuild

Publishing is done with chiseledPublish task:

> ./gradlew chiseledPublish

For further versioning info, visit the Stonecutter Wiki.

License

This project is licensed under the MIT License.