Settings Packets
Plugin Channel Identifier: openboatutils:settings
Contains packets that modify the current context (by default this is the default context) with the exception of the version packet, which is here due to backwards compatibility
Serverbound
Version
Sends the server the version of OpenBoatUtils we are currently running. This is sent once on join.
As of 0.5.0 an unstable flag is also sent after the first short. It is intended to block use of potentially broken development builds without having to impact the version Ids. probably reject builds of these for most people
Take care to only read the unstable flag when the version id is >= 19 (0.5.0).
| Packet ID | Version | Unstable (as of 0.5.0) |
|---|---|---|
0 (short) | Version ID (int) | boolean |
Clientbound
Reset
Resets all settings in the current context back to vanilla values. If operating in the default context, this also fully disables the mod (equivalent to no context being active).
| Packet ID |
|---|
0 (short) |
Set Step Height
Sets the player's boat step height, in blocks. The vanilla value is 0f and the old boatutils uses a value of 1.25f.
| Packet ID | Step Height (default 0) |
|---|---|
1 (short) | float |
Set Default Slipperiness
Sets the slipperiness value that is used for any blocks that don't have a specified slipperiness value. The vanilla value is 0.6f.
| Packet ID | Default Slipperiness (default 0.6f) |
|---|---|
2 (short) | float |
Set Block(s) Slipperiness
Sets the slipperiness value that is used the specified block(s).
| Packet ID | Slipperiness | Blocks |
|---|---|---|
3 (short) | float | string (comma seperated list of namespaced:identifier) |
Set Boat Fall Damage
Sets if the boat takes fall damage and breaks. The vanilla value is true.
| Packet ID | Fall Damage (default false) |
|---|---|
4 (short) | boolean |
Set Boat Water Elevation
If true, the boat will move upward in water streams until it reaches the top. This is implemented in the same way as the old boatutils for parity reasons.
| Packet ID | Water Elevation (default false) |
|---|---|
5 (short) | boolean |
Set Boat Air Control
If true, the boat will control in the air like it does on the ground. it's slipperiness value will be taken from minecraft:air or the default slipperiness if no value is provided.
| Packet ID | Air Control (default false) |
|---|---|
6 (short) | boolean |
Set Boat Jump Force
If this is not 0f (the default), the player will be able to jump while in the boat, and their y velocity will be set to this value when jumping. 0.36f is a good value for 1 block tall jumps with a bit of leniency.
| Packet ID | Jump Force (default 0f) |
|---|---|
7 (short) | float |
Set Mode
Modes are like setting presets. upon receiving this packet the client will set its settings to those of the mode.
There is a list of modes and more information here.
| Packet ID | Mode ID |
|---|---|
8 (short) | short |
Set Gravity
Sets the magnitude of the gravity force. the vanilla value is -0.03999999910593033 (yes).
| Packet ID | Gravity (default above) |
|---|---|
9 (short) | double |
Set Yaw Acceleration
Sets the boat's angular acceleration. The vanilla value is 1.0f.
| Packet ID | Acceleration (default 1.0f) |
|---|---|
10 (short) | float |
Set Forward Acceleration
Sets the boat's acceleration when pressing the forward key. The vanilla value is 0.04f.
| Packet ID | Acceleration (default 0.04f) |
|---|---|
11 (short) | float |
Set Backward Acceleration
Sets the boat's acceleration when pressing the backward key. The vanilla value is 0.005f.
| Packet ID | Acceleration (default 0.005f) |
|---|---|
12 (short) | float |
Set Turning Forward Acceleration
The boat gets forwards acceleration when you turn and aren't pressing forwards or backwards. The vanilla value is 0.005f.
| Packet ID | Acceleration (default 0.005f) |
|---|---|
13 (short) | float |
Allow Acceleration Stacking
Allows Turning Forward Acceleration to apply at the same time as forward/backward acceleration.
| Packet ID | Enabled (default false) |
|---|---|
14 (short) | boolean |
Resend Version
The client will send the version packet again when receiving this.
| Packet ID |
|---|
15 (short) |
Set Underwater Control
If true, makes the boat's underwater physics act like grounded physics (similar to air control), using the slipperiness of minecraft:water
| Packet ID | Enabled (default false) |
|---|---|
16 (short) | boolean |
Set Surface Water Control
If true, makes the boat's surface water physics act like grounded physics (similar to the above packet), using the slipperiness of minecraft:water
| Packet ID | Enabled (default false) |
|---|---|
17 (short) | boolean |
Set Exclusive Mode
Sets a mode after first resetting all settings to vanilla values.
There is a list of modes and more information here.
| Packet ID | Mode ID |
|---|---|
18 (short) | short |
Set Coyote Time
Sets the number of ticks after leaving the ground where the boat can still jump.
| Packet ID | Time (default 0) |
|---|---|
19 (short) | int |
Set Water Jumping
If true, and a jump force has been set, allows the boat to jump when on the surface of water.
| Packet ID | Enabled (default false) |
|---|---|
20 (short) | boolean |
Set Swim Force
If nonzero, pressing space while underwater will apply this vertical force to the boat.
| Packet ID | Force (default 0.0f) |
|---|---|
21 (short) | float |
Clear Blocks Slipperiness
Removes the specific slipperiness for the specified blocks, giving them to whatever the default slipperiness is.
| Packet ID | Blocks |
|---|---|
22 (short) | string (comma seperated list of namespaced:identifier) |
Clear All Slipperiness
Removes the specific slipperiness for all blocks, making everything have the default slipperiness (makes ice and similar blocks with specific slipperiness have the same slipperiness as everything else).
| Packet ID |
|---|
23 (short) |
Apply Mode Series
Applies a list of modes in order with one packet.
| Packet ID | Count | Mode Ids |
|---|---|---|
24 (short) | short | short[] |
Apply Exclusive Mode Series
Applies a list of modes in order with one packet, resetting first.
| Packet ID | Count | Mode Ids |
|---|---|---|
25 (short) | short | short[] |
Set Per-Block Setting
Sets a setting that is applied based on the blocks the bloat is standing above, similar to how slipperiness works. When the boat is not on the ground, the value for minecraft:air is used, and the default values for every block are the ones set by previous packets for these settings (if you set a jump force, and then set a per-block jump force for a set of blocks, the difference will only be noticeable when standing on those blocks).
| Packet ID | Setting (below) | Value | Blocks |
|---|---|---|---|
26 (short) | short | float | string (comma seperated list of namespaced:identifier) |
| Setting | Ordinal |
|---|---|
JUMP_FORCE | 0 |
FORWARDS_ACCEL | 1 |
BACKWARDS_ACCEL | 2 |
YAW_ACCEL | 3 |
TURN_FORWARDS_ACCEL | 4 |
WALLTAP_MULTIPLIER | 5 |
JUMPS | 6 |
COYOTE_TIME | 7 |
STEP_UP_SLIPPERINESS | 8 |
LATERAL_SLIPPERINESS | 9 |
BRAKE_SLIPPERINESS | 10 |
MAX_SPEED | 11 |
MAX_SPEED_RESISTANCE | 12 |
Set Collision Mode
Sets if the boat collides with other entities.
| Packet ID | Mode (Below) |
|---|---|
27 (short) | short |
| Mode | Ordinal |
|---|---|
VANILLA | 0 |
NO_BOATS_OR_PLAYERS | 1 |
NO_ENTITIES | 2 |
ENTITYTYPE_FILTER | 3 |
NO_BOATS_OR_PLAYERS_PLUS_FILTER | 4 |
Set Air Stepping
Sets if the boat is allowed to step when it hits the side of a block while not touching the ground
| Packet ID | Enabled (default false) |
|---|---|
28 (short) | boolean |
Set Ten Step Interpolation Non-Context
Sets if the boat interpolation is changed from 3 steps to 10.
| Packet ID | Enabled (default false) |
|---|---|
29 (short) | boolean |
WARNING
This affects all boats and is handled completely separately to contexts, a reset packet won't clear this setting but relogging will.
Why do this?
Before 1.21.3 boats interpolated over 10 ticks, after this point it was changed to 3 ticks by mojang. Most servers will set this to true upon join to replicate the pre 1.21.3 behaviour which is usually essential for racing.
Set Collision Resolution
Sets the amount of times the boat's movement step is divided, to try to avoid incorrect corner collisions at higher speeds.
This is capped to 50 but a value of like 5 is usually more than enough.
| Packet ID | Resolution (default 0) |
|---|---|
30 (short) | byte |
Add To Collision Filter
Adds a certain type of entity to the collision filter to be filtered out when using filtered collision modes.
Entity names are namespaced like minecraft:player.
| Packet ID | Entities |
|---|---|
31 (short) | string (comma separated list of namespaced entity types (e.g: minecraft:pig) |
Clear Collision Filter
Removes all entity types currently filtered out when using filtered collision modes.
| Packet ID |
|---|
32 (short) |
Compound ^0.5.0
Sends multiple setting packets bundled together as a single atomic update. Each inner packet is a full settings packet including its own packet ID short. The payload for this packet is also used for the store context packet.
Renamed from Transaction to Compound in 0.5.1
| Packet ID | Count | Packets |
|---|---|---|
33 (short) | int | packet[] (each a full clientbound settings packet) |
Set Walltap Multiplier ^0.5.0
Sets the multiplier applied to the boat's velocity when it collides with a wall.
Positive values will result in bouncing off walls
| Packet ID | Multiplier (default 0) |
|---|---|
34 (short) | float |
Set Jumps ^0.5.0
Sets the number of jumps the boat is allowed before landing again (i.e. for mid-air/double jump support). A value of 1 is the standard single jump.
| Packet ID | Jumps (default 1) |
|---|---|
35 (short) | int |
Set Scale ^0.5.0
Sets the scale of the boat.
| Packet ID | Scale (default 1f) |
|---|---|
36 (short) | float |
Set Step Up Slipperiness ^0.5.0
The boat's current velocity will be multiplied by this value whenever the boat steps up a block.
| Packet ID | Scale (default 1f) |
|---|---|
37 (short) | float |
Set Reset On World Load Non-Context ^0.5.0
Sets if everything is reset upon world load, including non-context settings.
This is true by default, see the details block below for why.
| Packet ID | Enabled (default true) |
|---|---|
38 (short) | boolean |
WARNING
This is handled completely separately to contexts, a reset packet won't clear this setting but relogging will.
Details
The process used by server proxies (Velocity, etc..) to switch a player between servers is indistinguishable from a dimension change. We treat all world loads as a "new server" entirely, because it very much could be.
Set Fix Double Water Elevation ^0.5.1
Controls if the fix for double water elevation is enabled (see issue #5)
This is false by default to retain compatibility with old records, but it is highly recommended that this is enabled on any track using water elevation going forwards.
| Packet ID | Enabled (default false) |
|---|---|
39 (short) | boolean |
Set Lateral Slipperiness ^0.5.1
When this value isn't 1f an extra "grip" force is applied opposing the current slip. A Value of 0f will ensure that a boat will only travel in the direction it is currently facing.
| Packet ID | Slipperiness (default 1f) |
|---|---|
40 (short) | float |
Set Brake Slipperiness ^0.5.1
When this value isn't 1 the behaviour of the S key changes, instead of accelerating backwards the current velocity is scaled by the slipperiness here.
A value of 0.8 will reduce the velocity of the boat by 20% each tick.
| Packet ID | Slipperiness (default 1f) |
|---|---|
41 (short) | float |
Apply Impulse ^0.5.1 Non-Context
Applies an impulse to the current boat's velocity relative to the world.
| Packet ID | X | Y | Z |
|---|---|---|---|
42 (short) | double | double | double |
WARNING
This is handled completely separately to contexts, it only applies to the boat the player is actively controlling and has no lasting effect.
Apply Impulse Relative ^0.5.1 Non-Context
Applies an impulse to the current boat's velocity relative to the boat.
| Packet ID | X | Y | Z |
|---|---|---|---|
43 (short) | double | double | double |
WARNING
This is handled completely separately to contexts, it only applies to the boat the player is actively controlling and has no lasting effect.
Set Multi Stepping ^0.5.1
Enables a rewritten stepping implementation that allows for multiple step ups per tick. Vanilla stepping can only step once per tick and will also get stuck if it can't step everything in one go.
The implementation is based on a patch by Moulberry.
| Packet ID | Enabled (default false) |
|---|---|
44 (short) | boolean |
Set Max Speed ^0.5.1
Sets the threshold for where max speed is punished by Max Speed Slipperiness.
Any negative values will disable this.
| Packet ID | Max Speed (default -1) |
|---|---|
45 (short) | float |
Set Max Speed Resistance ^0.5.1
Provides the scale multiplier applied to a player's velocity above the Max Speed.
Given Max speed of 10b/t and a player is traveling at 12b/t the additional 2b/t will be scaled by max speed resistance and applied against the velocity.
A Value of 1f makes it impossible to travel faster than the max speed.
| Packet ID | Enabled (default 0) |
|---|---|
46 (short) | float |
Set Honey Compatibility ^0.5.1
Reverts the behavior of honey in versions 1.21.3+ to behavior in 1.21.1. Notably reducing the speed at which the boat slides down.
| Packet ID | Enabled (default false) |
|---|---|
47 (short) | boolean |
