Skip to content

Kenny-Hui/TakeASeat

Repository files navigation

TakeASeat

Fabric server-side mod that allows you to sit on a (customizable list of) block by right-clicking.
It also allows putting restrictions to prevent player from, for example, suffocating or clipping through areas that cannot be normally be accessed.

Config

The config file is located in config/takeaseat.json, editable value as follows:

Key Description Default Value Type
allowedBlockId An array of block id that player can right click and sit on [] String array
allowedBlockTag An array of block tags that player can right click and sit on ["stairs", "slabs"] String array
stairsOffset Whether to put a offset to the player when sitting on a stairs so that they sits slightly more forward, does not work well with 90 degree turn stairs. false Boolean
ensurePlayerWontSuffocate Do not allow player to sit if there's a suffocatable block on top.

Note that this only applies to suffocatable block, usually a full
1x1 block and doesn't affect other non-suffocatable block like stairs
or light block.
true Boolean
mustBeEmptyHandToSit Whether the player must not be holding any item on both hand to sit. true Boolean
blockMustBeLowerThanPlayer This ensures the block (seat) the player clicked must not be higher
than the player by at most 0.5 meter.

Useful to prevent player from climbing to house ceiling made with stairs.
true Boolean
mustNotBeObstructed This further restricts player by ensuring no solid block exist between the
player and the seat. (Solid block implies the block must not have a collidable area)

This is a rather harsh measure and could create false positives,
sometimes requiring player to get closer to the seat before being able to sit, but is
useful on server that don't want visitors to sit on otherwise inaccessible area.
false Boolean
maxDistance Distance in blocks that the player must get closer to before being able to sit

Value less than or equals to 0 means there's no max distance.
0 Double
requiredOpLevel The required OP level the player must have before being allowed to sit. 0 Integer

Permissions

Description Fabric Permission API/Luckperm Vanilla (OP Level)
/takeaseat reload takeaseat.reload 2
Sit on block takeaseat.sit (requiredOpLevel in config)

Bugs/Suggestions

You may open an GitHub issue here, please keep things civil :)

License

This project is licensed under the MIT License.