Driving, physics and damage

How vehicles behave on the road, on water and in the air.

Driving modes

The server picks how vehicles are driven with driving.mode in config.yml (applied with /veicolo reload, no restart needed):

ModeHow it is driven
WASD (default)W forward, S backward, A and D steer.
HORSELike Minecraft's horse: the vehicle turns towards where the player looks. W speeds up, S brakes and then reverses, A and D do nothing (or strafe, see below). Applies to every vehicle type.
  • Per vehicle. A model's file can have "drivingMode": "HORSE" or "WASD", which overrides the server's value (for example motorcycles always in WASD).
  • Reverse. In HORSE, S brakes while the vehicle moves forward and then reverses; with driving.horse.reverse: false it only brakes. While reversing the vehicle keeps turning towards where the player looks.
  • A and D. By default they do nothing, like the horse. With driving.horse.strafe.enabled: true they move the vehicle sideways while keeping the direction the player looks at; strafe.speed-share (0.35) is the sideways speed as a share of the top speed. Applies to cars, motorcycles, boats, hovercrafts and helicopters.
  • Standing still. A stopped car does not turn by looking around (turn-in-place: true to allow it). Tanks and hovercrafts keep their own behavior.
  • Planes and helicopters. Horizontally they follow the look freely (360 degrees). Vertically they climb and descend following the pitch of the look, but with a limit: beyond max-pitch-degrees (35 degrees) looking further up or down changes nothing, and below dead-zone-degrees (5) the plane holds its altitude. Space and Shift always work and take priority. Turn it off with look-climb: false.
  • Dead zone. Small mouse movements (below dead-zone-degrees, 3 degrees) do not make the vehicle wobble; full-lock-degrees (35) is the error at which the steering is at its maximum.

Personal speed limit

The driver can lower their vehicle's top speed with /veicolo speed 40 (km/h). It cannot exceed the model's maximum (upgrades included); the limit stays saved on the vehicle, even after a restart or a transfer. /veicolo speed reset removes it. Requires the ev.speed permission.

Controls

You drive with W and S (forward and backward), A and D (steering), Space and Shift to climb and descend with planes and helicopters and for a motorcycle's wheelie. Vehicles are driven with the keyboard: the player does not move.

Physics per type

TypeBehavior
cars, trucksFollow the terrain (slopes and rolling), only steer while moving, brake on their own.
bikesLean in corners. With Space, above the wheelieMinSpeed speed in config.yml (100 km/h by default) and with fuel, they wheelie: the nose lifts by the wheelieAngle of the bikeseat (50 degrees if missing). With models slower than 100 km/h, lower wheelieMinSpeed.
bicyclesLike motorcycles, but without a tank: no fuel and no fuel bar.
tanksLike cars, but slower and able to turn in place when stopped. Turrets follow the gunner's look.
boatsFloat and only move on water.
hovercraftsMove on both water and land, with sideways drift.
helicoptersThe rotor must spin to lift off; Space goes up, Shift goes down; without the engine they glide down.
planesTake off above the takeoff speed (liftoffSpeed); below it, they lose altitude.

Gravity

A vehicle with no ground under it (spawned in the air or with the block below removed) falls and lands; a hard landing causes a damaging impact. Applies to every type.

Climbing blocks, slabs and stairs

In collision.behavior of config.yml:

SettingEffect
blockDrivingClimb full blocks and stairs (step up to 1.375 blocks). With false, stairs also count as full blocks.
slabDrivingClimb slabs (step up to 0.625 blocks).
stopAtBlockWith false, blocks never stop the vehicle.

Slabs only: blockDriving: false and slabDriving: true.

Forbidden blocks

blocked-blocks.yml lists blocks no vehicle can climb or drive through (for example carpets), even if the settings above would allow it:

damage: false
blocks:
  - GRAY_CARPET
  - "*_CARPET"
  - "SNOW*"

Write exact names or with an asterisk at the start or end. With damage: false, stopping in front of these blocks does not damage the vehicle. /veicolo reload re-reads the file. A vehicle already sitting on one of these blocks is lifted as if facing a wall.

Driver's action bar

The driver sees a single action bar with speed, fuel and vehicle integrity, for example Speed: 62 km/h | Fuel: 80% (32.0 L) | Integrity: 95%. After a crash no separate message appears any more: the integrity value changes instead. With hud.show in config.yml you choose which of the three values to show and in what order; the texts are the hud.* keys in vehicle-messages/it_IT.yml (hud.speed, hud.fuel, hud.integrity, hud.separator). The low-fuel indicator is explained in Fuel. With actionBar: false the bar does not appear.

Impacts and damage

Collisions can be turned off: collision.enabled: false in config.yml for everyone (or just collision.entities and collision.vehicles to turn off impacts against living entities or other vehicles, with the players and damage options to not hit players or not deal damage), collision.disabled-worlds for certain worlds, the WorldGuard flag vehicles-collision for certain regions. Vehicles are still stopped by blocks, unless stopAtBlock: false.

  • Impacts. No sound (only the particle effect remains, and the explosion on destruction). Against a block, another vehicle or a living entity above 5 km/h. Damage depends on speed, the block's hardness and collision.damageLevel (REALISTIC, NORMAL, REDUCED, MINIMAL, NONE).
  • Destruction. At zero health the vehicle disappears (despawnOnZeroHealth) and the trunk's contents drop on the ground (dropTrunkItems). A destroyed vehicle must be repaired before it can go out again.
  • Repair. From the vehicle's menu, costing the price divided by repairCostDivision, paid by the player through Vault. Staff use /veicolo repair [player], for free.

Upgrades

The Upgrades button of the vehicle's menu (the garage's UPGRADE permission) improves speed, tank, acceleration and steering in levels, for stats with upgradable: true (see File format). The vehicle must be in the garage, not out on the road. Each level costs stepCost.