All pluginsMC Skylines

Transport & ownership

Vehicles

Persistent configurable cars, planes, helicopters, boats, garages, crafting, ownership, fuel, and damage.

01

Feature reference

What it handles

Four vehicle classes

Cars, boats, airplanes, and helicopters have distinct server-authoritative control and physics models.

Persistent ownership

Fuel, durability, drivers, plates, wreck count, and title redemption remain trustworthy across restarts.

Garages

Typed garage signs handle title redemption, vehicle storage, deployment, and nearby despawning.

Driving controls

Acceleration, braking, steering, flight axes, horns, headlights, sirens, safe exit rules, and locking.

Crafting & repair

Configurable recipes, exact custom ingredients, parts pools, mechanic diagnosis, and bounded repair values.

Region rules

WorldGuard flags separately govern entry, spawning, damage, hijacking, horns, and sirens.

Visual integrations

Oraxen, ModelEngine, ProtocolLib, and native display fallbacks support custom vehicle presentation.

Justice bridge

Officers can securely seat and remove cuffed suspects without breaking custody.

02

Setup & operation

Detailed guide

Paper 1.21.11 vehicle system for cars, planes, helicopters, and boats. Vehicle definitions live in separate plugins/Vehicles/vehicles/*.yml files and use meters/blocks, seconds, kilograms, liters, m/s, and m/s².

First setup

  1. Install WorldGuard. Justice, Property, Oraxen, ModelEngine, and ProtocolLib are optional integrations.
  2. Put MCSkylines-Vehicles-1.5.10.jar in the server's plugins directory and start the server once.
  3. Configure vehicle definitions, recipes.yml, and parts.yml, or use /vehicle admin for physics and repair-part editing.
  4. Place a sign with [garage] on the first line. Enter CAR, PLANE, HELICOPTER, or BOAT in chat when prompted.
  5. Craft a vehicle registration title, hold it at a matching garage, and redeem it through the garage GUI. The title is only a serialized, one-use database token; a complete vehicle is never carried or placed as an item.

After registration, owners deploy stored vehicles only through a matching garage. Administrators can use /vehicle admin spawn <definition> [owner] to create a persistent registration and deploy it at their feet, /vehicle admin grant <definition> <owner> to create one directly in an owner's garage storage, and /vehicle admin store to force a nearby deployed vehicle back into storage. These commands never create physical vehicle items.

Vehicles can only be despawned near a matching garage. Physical vehicles serialize across chunk unloads and reappear when the chunk loads. On a full server restart, deployed vehicles return to storage while ownership, fuel, durability, drivers, license plate, and lifetime wreck count remain persistent.

Controls

  • Cars and boats: W accelerates, S brakes/reverses, A/D gradually steer, Jump holds the horn, and Sneak exits.
  • Planes: W/S adjust throttle, A/D roll and bank the aircraft, Jump pitches up above stall/control speed, and Sneak pitches down. Sneak exits only when landed and nearly stopped.
  • Helicopters: W/S pitch forward/back, A/D bank/turn, Jump ascends, and Sneak descends. Sneak exits only when landed.

Use /vehicle on and /vehicle off from the driver seat. Other commands include lock, unlock, info, drivers, transfer, headlights, siren, admin, and reload. /car, /plane, /helicopter, and /boat are aliases.

Configuration layout

  • config.yml: database, limits, garage behavior, hijacking, protection, sounds, and global physics workload.
  • vehicles/*.yml: one definition per model, including seats, model provider, dimensions, physics, durability, fuel, sounds, and features.
  • recipes.yml: shaped, shapeless, furnace, blasting, smoking, campfire, and stonecutting recipes. Exact Oraxen ingredients are supported.
  • parts.yml: easy and expensive repair pools, item providers, and repair percentages capped at 25%.

SQLite is the default. Set database.type: MYSQL for a network database. Craft results are database-serialized, and title redemption is transactional so copied titles cannot create duplicate vehicles.

The bundled default fleet is seeded only when config.yml is created for the first time. Once a data folder has a config, missing or deliberately deleted vehicles/*.yml files are not regenerated. Delete or move the entire Vehicles data folder when you intentionally want a clean set of current defaults.

Integrations

  • WorldGuard flags: vehicles-entry, vehicles-spawn, vehicles-damage, vehicles-hijack, vehicles-horn, and vehicles-siren.
  • Property tenants inherit normal WorldGuard region membership behavior.
  • Oraxen vehicle items, fuel, ingredients, and repair parts are resolved by ID.
  • ModelEngine models are attached by configured model ID, with native item-display fallbacks.
  • Justice registers a custody bridge. Police can right-click a cuffed suspect to use the nearest free passenger seat and right-click again to remove them while keeping them cuffed.

VehiclesApi is registered through Bukkit's services manager. It exposes vehicle snapshots, restrained-passenger seating, model adapters, and the persistence foundation for WorldGuard-region impounds and parked-vehicle tickets. Damage, ownership-change, and permanent-destruction events are public Bukkit events.

Fleet runtime 1.5.10

Use this JAR with the matching complete MC Skylines Oraxen pack. The stock audio now uses that pack's original overlapping motor beds and electronic siren; explicit custom sound settings are preserved. Water-cannon status uses a boss bar. Vehicle cleanup also removes invalid unloaded references and purges stale owned entities on chunk load. Multi-part assemblies wait for their complete chunk coverage before respawning, with a two-vehicle-per-tick restore budget. Display lighting is sampled above the road. Stationary transforms are not resent.

The larger stock layouts, American seating, animated wheel/rotor/articulation pivots and slab/stair descent fixes from the previous fleet builds are retained.

Alderwood audio and helicopter revision (1.5.10)

The matching full Oraxen pack recolors the public buses purple and seals the shared helicopter canopy, with higher-resolution police/EMS lettering. Engine routing now separates motorcycles from cars and selects diesel audio for heavy vehicles including tankers and tractors. The pack provides distinct combustion/exhaust rhythms, a lower siren sweep and reduced siren playback volume. Existing custom sound settings continue to take precedence.

Ownership and garage lifecycle

A craft recipe produces a serialized registration title, not a drivable vehicle item. Redeeming the title at a matching garage consumes the one-use database token and creates the persistent vehicle registration. The owner deploys and stores that registration through garages of the correct type.

Only stored vehicles can be deployed. Normal storage requires the matching garage and the vehicle to be close enough under the configured policy. Chunk unload serializes a deployed vehicle and restores it when its complete multi-chunk assembly can be loaded safely. A full server restart returns deployed registrations to storage while retaining ownership, fuel, durability, authorized drivers, plate, and wreck history.

Driver access and controls

Owners can lock/unlock, manage authorized drivers, transfer ownership, inspect status, and use definition-supported headlights, horns, sirens, and other equipment. A locked vehicle refuses unauthorized drivers; ownership transfer should be tested with the vehicle safely stored.

Cars and boats use forward/reverse throttle and gradual steering. Planes require sufficient speed for pitch authority and restrict exit until landed and nearly stopped. Helicopters use pitch/bank plus ascend/descend controls and likewise restrict airborne exit. /vehicle on and /vehicle off control the powered state from the driver's seat.

All movement is server-authoritative. Definitions specify mass, acceleration, drag, steering, dimensions, seats, durability, fuel, rendering provider, sounds, and features. Changing a definition affects behavior; it does not turn existing title copies into separate registrations.

Fuel, damage, wrecks, and repair

Fuel and durability are persistent registration state. Damage respects the vehicles-damage WorldGuard flag and configured protections. When durability reaches zero, the vehicle becomes a wreck and emits the public destruction event; Fire may create a fuel-scaled logical fire if that integration is enabled.

Repair parts are chosen from the configured easy/expensive pools and apply their configured percentages, each capped at 25%. Exact Oraxen or native identities are resolved by the item provider. Test repair at several durability levels and make sure the intended economy/crafting path controls part supply.

Hijacking and police use

Hijacking is governed by configuration, permissions, ownership/lock state, and the vehicles-hijack region flag. Horns, sirens, entry, spawning, and damage each have independent WorldGuard flags, allowing garages, dealerships, quiet zones, restricted airfields, and government compounds to use different policies.

With Justice active, police can place a cuffed suspect into the nearest free passenger seat and remove them while preserving custody state. This is a custody bridge, not a grant of vehicle ownership or driver access.

Definitions, models, and recipes

Each file under vehicles/ is one independently configurable model. The stock fleet is seeded only for a brand-new data folder; deleting one definition later is treated as an intentional removal and it is not silently regenerated. ModelEngine and Oraxen visuals use configured IDs, while native item-display assemblies remain the fallback.

Recipes support shaped, shapeless, furnace, blasting, smoking, campfire, and stonecutting forms. Recipe output is a secure registration title. Copied title items cannot redeem the same database token twice.

Vehicle testing checklist

  1. Build one garage of each enabled type and test title redemption, deployment, storage range, and type mismatch.
  2. Test owner, authorized driver, unauthorized player, lock state, transfer, and server restart.
  3. Drive representative car, boat, plane, and helicopter definitions through stop, reverse, turning, exit restrictions, and chunk boundaries.
  4. Test each WorldGuard flag in allow and deny regions.
  5. Consume fuel, apply damage, repair with each pool, and destroy a vehicle with and without Fire installed.
  6. Test native, Oraxen, and ModelEngine definitions actually used in production.
  7. With Justice active, load/unload a cuffed passenger and confirm custody remains intact.
  8. Use the administrative spawn, grant, and force-store actions only on staging before granting their permissions to staff.

03

Admin reference

Commands

CommandUsageDescriptionPermission
/vehicleAliases: car, plane, helicopter, boat/vehicle <on|off|lock|unlock|info|drivers|transfer|headlights|siren|admin|reload>Control and manage vehicles.Subcommand-based

04

LuckPerms reference

Permissions

NodeDefaultDescription / children
vehicles.usetrueNo additional description.
vehicles.crafttrueNo additional description.
vehicles.garage.usetrueNo additional description.
vehicles.garage.createopNo additional description.
vehicles.driver.managetrueNo additional description.
vehicles.transfertrueNo additional description.
vehicles.hijacktrueNo additional description.
vehicles.mechanicfalseNo additional description.Includes vehicles.repair, vehicles.diagnose
vehicles.repairfalseNo additional description.
vehicles.diagnosefalseNo additional description.
vehicles.policefalseNo additional description.
vehicles.adminopFull Vehicles access. Operators receive this parent automatically.Includes vehicles.use, vehicles.craft, vehicles.garage.use, vehicles.driver.manage, vehicles.transfer, vehicles.hijack, vehicles.mechanic, vehicles.police, vehicles.reload, vehicles.edit, vehicles.admin.spawn, vehicles.admin.grant, vehicles.admin.store, vehicles.admin.despawn, vehicles.admin.delete, vehicles.garage.create, vehicles.bypass
vehicles.reloadfalseNo additional description.
vehicles.editfalseNo additional description.
vehicles.admin.spawnfalseNo additional description.
vehicles.admin.grantfalseNo additional description.
vehicles.admin.storefalseNo additional description.
vehicles.admin.despawnfalseNo additional description.
vehicles.admin.deletefalseNo additional description.
vehicles.bypassfalseNo additional description.
Next pluginRobberies

Command and permission references reflect the current plugin.yml manifests in this workspace.