Skip to content

Server Configuration

Endor H edited this page Apr 10, 2024 · 10 revisions

The Aerobatic Elytra mod uses Simple Config to provide powerful config menus.

The server settings (only editable for authorized players (operators by default, see the Simple Config wiki)) include the following settings:

Item Properties

  • Durability (of the Aerobatic Elytra item, which is used while flying, just like the vanilla Elytra)
  • Unbreakable, in case you want the Aerobatic Elytra to not lose durability, only limiting its usage with fuel consumption

Aerobatic Flight

Tilt

The following settings configure how fast can players rotate while flying. Players need to be moving in order to rotate. If a player somehow manages to move backwards while flying, they will rotate in the opposite direction as they intend, naturally.

  • Pitch (degrees/s at 1m/s, scaled linearly by speed), how fast can players rotate up and down (relative to their screen).
  • Roll (degrees/s at 1m/s, scaled linearly by speed), how fast can players roll (rotate their screen clockwise/anti-clockwise).
  • Yaw (degrees/s at 1m/s, scaled linearly by speed), how fast can players rotate left and right (relative to their screen).

Propulsion

  • Min and max thrust, in m/s². Can include negative values (propelling backwards, just for fun)
  • Propulsion on take off. Set this to your max thrust if you want to take off easily

Physics

  • Gravity multiplier, applied to players while flying. (By default, gravity effects are reduced to an 80% for flying players, to help keep lift at the speeds the Elytra moves, since a "real Aerobatic Elytra" would need much higher speeds to be able to fly)
  • Glide multiplier, which affects the strength of the glide effect, that is, the lift provided by the air flow colliding with the wings
  • Base friction, as a coefficient between 0 and 1. Removing friction while having infinite thrust is a bad idea, albeit fun for maybe once or twice
  • Rotation friction, applied when rotating (its effect is scaled by the 1-norm of the rotation in all 3 axes). Setting it to 1 will let you rotate without any friction, which feels pretty weird, but is definitely fun
  • Inertia, which affects the emulated inertia, useful to smooth the speed and direction, making the player feel heavier in the air. Removing all emulated inertia makes controls easier, but I find it less entertaining to fly
  • Underwater friction and underwater nerfed friction, which affect the underwater friction for Elytras with Aquatic ability of 1 and 0 respectively. It is interpolated in-between. The two different settings are only useful if you have recipes in the server to establish an upgrade system for Aerobatic Elytras, making it harder to achieve frictionless water flight
  • Motorless friction and motorless gravity, which replace base friction and gravity multiplier when flying without thrust. This is necessary for motorless flight to feel realistic, as with reduced gravity you'd feel like a balloon rather than a plane. Gravity is artificially increased for motorless flight, and friction decreased, making the gliding feel more natural. These values are interpolated according to the thrust strength

Braking

  • Maximum brake time in seconds. Set to 0 to disable the limit
  • Brake friction, which replaces the base friction while braking. Can be smaller than the base friction, turning the braking into a boost mode of sorts instead
  • Brake gravity, which adds up to the base gravity while braking. This can help make landing easier, but you may disable it (or set it to a negative value for fun)

Flight Modes

  • Allow Midair Change, which lets players switch between flight modes in the air. This can be disabled, as changing modes is an easy way to cheese crashes
  • Normal Flight Mode, which lets you enable/disable the vanilla Elytra flight mode for Aerobatic Elytras in the server, in case you want players to also carry a vanilla elytra to be able to flight in vanilla mode

Fuel Logic

  • Linear, quadratic and sqrt fuel usage, which are all added up to determine the fuel usage, proportional to the relative thrust strength used. (You can simply set the linear usage, leaving the others as 0, if you don't want to overcomplicate things
  • Boost Usage Multiplier, which applies to the max fuel usage while in boost mode. You can make this less than 1 (or even negative, which would recharge fuel), if you want to create a weird experience where you can recharge fuel by flying (who am I to say no to you?)

Weather

Affects the effects applied to flight under bad weather:

  • Ignore Cloud Level. By default, weather effects are not applied to players above the cloud level, as there is no rain/storms above the clouds. However, you can use this setting to disable that
  • Cloud Level. You can change the Y level considered as the cloud level. Minecraft renders clouds at Y=128 by default

Rain and Storm settings

Tweak the effects applied during rain, and during storms. The effects during storms are the sum of both. That is, storm settings add up to rain settings.

The settings are also multiplied by the biome. Snow is ×1.2 times stronger, and in dry biomes there's no rain.

  • Rain strength (m/s²), which pushes players downwards (extra gravity)
  • Wind strength (m/s²), which pushes players in locally changing directions. Nearby players are affected by the same winds
  • Wind randomness (deg/s), which affects the maximum speed at which wind changes direction
  • Wind Angular Strength (deg/s), which affects turbulences, that rotate players randomly in all axes (also location based)

Network

Settings related to the server-side anti-cheat:

  • Disable Movement Check, which selectively enables the /gamerule disableElytraMovementCheck for players flying aerobatically, but not for other players. Does nothing if the gamerule is already applied (for everyone with any kind of elytra)
  • Aerobatic Movement Check, which rather than enabling the disableElytraMovementCheck rule, modifies the check this rule avoids, changing the maximum allowed difference between the player moved distance and the player's speed. By default this is 300 for players flying with elytra, and 100 for other players. If the option above or the gamerule are enabled this setting will be irrelevant, as the check will be bypassed for flying players
  • Disable Rotation Check, which disables the mod's own check that verifies players don't rotate more than they can while flying. This check accounts for server and connection lag, so you should never encounter problems with it, unless a player is actually cheating. Otherwise, please report it in the issue tracker
  • Rotation Check Overlook. Lenience multiplier of the above check. You may increase this value instead of disabling the check entirely if you're experiencing problems
  • Speed Cap. This is a hard speed cap for flight, meant to prevent server crashes if you break other settings. The default value of 200m/s is more than reasonable. If you have a Minecraft server capable of handling players loading chunks at 200 blocks/s, please contact me.
  • Invalid Packet Limit, which is disabled by default. Can be used to automatically kick erroring players

Collisions

  • Collision Damage multiplier, which you can tweak to make crashes more forgiving, or disproportionately lethal.
  • Hay Bale Collision Damage Multiplier, which is applied in addition to the previous one when the crash is into hay bales

Break Leaves

Enables and configures the feature that breaks leaves non-destructively when crashing on them. The leaves are replaced by a broken variant that behaves like a cobweb block (without slowing you so much). Broken leaves recover with time.

  • Min Leaf-breaking Speed, which controls the minimum required speed in able to break leaves when colliding with them. Setting this to 0 will make landing on leaves impossible
  • Leaf-breaking chance (Constant and Linear), which add up to determine the chance to break the leaves depending on the player's speed. To guarantee that leaves will break above the min speed, just set the constant chance to 1
  • Broken leaves motion multiplier, which is the friction applied by the leaves to players inside them. In other words, controls the strength of the "cobweb" effect of the leaves (Smaller values slow more, exponentially)
  • Regrow chance, which is evaluated at every random tick, unless the broken leaves are colliding with an entity, or powered by redstone (in case you want to build a wall/door/secret entrance with broken leaves

The broken leaves block is not obtainable, and the only way to generate it is by crashing into leaves. It is technically a tile entity, containing a reference to the original leaves block that was broken, so it should work perfectly fine with leaves blocks from other mods.

Slime Bounce

Enables and configures the feature that allows players to bounce off slime, (as a light ray bounces off a mirror, changing direction)

  • Min Slime Bounce Speed. Like with leaves, setting this to 0 will make landing on slime impossible
  • Slime Bounce Friction. Speed multiplier applied to the player once per bounce
  • Slime Bounce Angular Friction. Multiplier applied to the player rotation tilt once per bounce. It mainly helps players bounce in a straight line, but can as well be annoying, which is why it's disabled (1.0) by default

Known Collision issues

Collisions in Minecraft versions older than 1.20 can be weird. If you land on the border of a slime platform, with the center of the player being above the air block besides the slime block you actually collided with, Minecraft will consider the player has landed on air. Since air is not slime, the player will not bounce, and will receive full fall damage (since air does not cancel fall damage).

This mod does some attempts at preventing this problem, by searching for the actual collided block in crashes several times at increasing distances. However, it is still possible to reproduce at high enough speeds. Try to avoid the edge of slime platforms/walls, as it can be lethal. Thankfully, this nonsense was fixed more properly by Mojang in 1.20.

More?

There's more that can be tweaked in this mod. But it requires configuration through datapacks.

Do not be intimidated by the hurdle of creating a datapack just for configuration, as this mod includes bundled datapacks, which serve both as documented examples, and as quick templates for your own settings/datapack features.