Archived
3
0
Fork 1
This repository has been archived on 2025-01-10. You can view files and clone it, but cannot push or open issues or pull requests.
docs/vehiclesplus/configuration/vehicles.md

13 KiB

title description published date tags editor dateCreated
Vehicle Configuration Configure the base vehicles. true 2024-04-07T10:14:59.042Z markdown 2023-07-22T14:07:37.924Z

Vehicle Configuration

By default, VehiclesPlus gets shipped with some example vehicles. These are made for testing the plugin and to stimulate your inspiration. You can find the correct resourcepack on the Setup page.

If you want to proceed with VehiclesPlus, it's possible to make or buy your own vehicles, and set them up in the plugin. This creates endless possibilities!

Creating a new vehicle

Tabs

YouTube tutorial (NL/BE)

You can find a step-by-step tutorial on YouTube by The BelgiumGames. He explains how to add the models to the resourepack and how to setup the vehicles in the config file. https://www.youtube.com/watch?v=5CbPg7ld7hw

Text tutorial (EN)

Step 1: Purchase your models

The first step is to achieve the models you want to use. Make sure the models are delivered in a Minecraft-compatible .json file. This makes it super easy to install!

You can easily find VehiclesPlus-compatible models on Polymart.

Step 2: Download the empty tutorial resourcepack
Step 3: Changing the supported version

Open the pack.mcmeta file in the root folder. Change the pack_format to the correct number according to the table below. Then change the game_version to the default (latest) version you want to support.

Version: pack_format:
1.12 - 1.12.2 3
1.13 - 1.14.4 4
1.15 - 1.16.1 5
1.16.2 - 1.16.5 6
1.17 - 1.17.1 7
1.18 - 1.18.2 8
1.19 - 1.19.2 9
1.19.3 12
1.19.4 13
1.20 - 1.20.1 15
1.20.2 18
1.20.3 - 1.20.4 22
Step 4: Install the model files

Now its time to install the model's files inside the resourcepack. Most of the time, a .json file is included with your model. You can direclty put this file in the assets/vp/models/item folder.

If any textures files are included (most of the time, this is not the case), insert them into the assets/vp/textures/item folder.

Step 5: Add the models to the correct item

VehiclesPlus uses an item to make the models visible. You can choose any item you want, by default the plugin uses the leather_boots for models.

Under the overrides section, add a line like this:

"overrides": [
    { "predicate": {"custom_model_data":1}, "model": "vp:item/YOURMODEL"}
]

Replace YOURMODEL by the name of the .json file (excluding the extension!). Replace the 1 by the data number you want to assign. This must be unique for the leather_boots file. Remember this number for step 5.

Step 6: Create a configuration file

Now go to your Minecraft server's files.

Copy the example configuration file from the VehiclesPlus plugin folder for the type of vehicle you want to add. If you don't have the original files in your plugin folder anymore, you can find them here.

Rename the copied file to the name of your file. Then also change the name inside the file, like name: MyCoolCar

Now go to the skin section, and replace the meta section by this:

list0:
  className: me.legofreak107.vehiclesplus.vehicles.vehicles.objects.addons.skins.Skin
  skin:
    ==: org.bukkit.inventory.ItemStack
    v: 3337
    # ONLY change the section below!
    # Change the type to the correct item. Probably you used the LEATHER_BOOTS.
    type: LEATHER_BOOTS
    meta:
      ==: ItemMeta
      meta-type: UNSPECIFIC
      # Set the custom model data you chose in step 4.
      custom-model-data: 1

Settings per vehicle

This section explains which settings are available per vehicle. Per setting will be explained what it means as a comment (#).

# DO NOT CHANGE!
className: me.legofreak107.vehiclesplus.vehicles.vehicles.objects.BaseVehicle
# The unique identifier of this base vehicle.
name: ExampleCar
# The type of the vehicle (check out the default for the type to use to get the correct value).
vehicleType: me.legofreak107.vehiclesplus.vehicles.vehicles.objects.types.CarType
# The permissions for this vehicle
permissions:
	# DO NOT CHANGE!
  className: me.legofreak107.vehiclesplus.vehicles.vehicles.objects.VehiclePermissions
  # The permission to buy this vehicle.
  buyPermission: vp.buy.car
  # The permission to drive this vehicle.
  ridePermission: vp.ride.car
  # If true, players can sit in the non-driving seats without the ride permission.
  enterWithoutRidePermission: true
# The list of available colors in the shop (will only work for COLORABLE_ARMOR).
baseColorList:
  # To add a new color, just copy the last one and add 1 to the list value, for example list5.
  list0:
    ==: Color
    ALPHA: 255
    RED: 255
    BLUE: 0
    GREEN: 0
  list1:
    ==: Color
    ALPHA: 255
    RED: 0
    BLUE: 0
    GREEN: 0
  list2:
    ==: Color
    ALPHA: 255
    RED: 255
    BLUE: 255
    GREEN: 255
  list3:
    ==: Color
    ALPHA: 255
    RED: 128
    BLUE: 128
    GREEN: 128
  list4:
    ==: Color
    ALPHA: 255
    RED: 192
    BLUE: 192
    GREEN: 192
# The list of parts for this vehicle. The full list will be explained further below.
partList:
  list0:
    [...]
# The max speed settings.
speedSettings:
	# DO NOT CHANGE
  className: me.legofreak107.vehiclesplus.vehicles.vehicles.objects.base.storage.StorageUpgradeable
  # The base max speed value (given when bought).
  base: 100
  # The maximum max speed value (which can be upgraded to).
  max: 200
  # The steps per upgrade for the max speed value (will be added to the current value at upgrade).
  step: 5
  # The cost to upgrade with the step value.
  upgradeCost: 1000
# The fuel tank settings.
fuelTankSettings:
	# DO NOT CHANGE
  className: me.legofreak107.vehiclesplus.vehicles.vehicles.objects.base.storage.StorageUpgradeable
  # The base fuel tank value (Liters) (given when bought).
  base: 50
  # The maximum fuel tank value (Liters) (which can be upgraded to).
  max: 100
  # The steps per upgrade for the fuel tank value (Liters) (will be added to the current value at upgrade).
  step: 5
  # The cost to upgrade with the step value.
  upgradeCost: 1000
# The turning radius settings.
turningRadiusSettings:
	# DO NOT CHANGE
  className: me.legofreak107.vehiclesplus.vehicles.vehicles.objects.base.storage.StorageUpgradeable
  # The base turning radius value (given when bought).
  base: 7
  # The maximum turning radius value (which can be upgraded to).
  max: 15
  # The steps per upgrade for the turning radius value (will be added to the current value at upgrade).
  step: 1
  # The cost to upgrade with the step value.
  upgradeCost: 1000
# The acceleration settings.
accelerationSettings:
	# DO NOT CHANGE
  className: me.legofreak107.vehiclesplus.vehicles.vehicles.objects.base.storage.StorageUpgradeable
  # The base acceleration value (given when bought).
  base: 50
  # The maximum acceleration value (which can be upgraded to).
  max: 100
  # The steps per upgrade for the acceleration value (will be added to the current value at upgrade).
  step: 5
  # The cost to upgrade with the step value.
  upgradeCost: 1000
# The horn settings (not compatible with drift).
hornSettings:
	# DO NOT CHANGE
  className: me.legofreak107.vehiclesplus.vehicles.vehicles.objects.base.storage.StorageHorn
  # If true, the horn sound will be played at space.
  enabled: true
  # The sound to play for the horn.
  # Full list: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Sound.html#enum-constant-summary
  sound: BASS
 	# The cooldown (seconds) before the horn can be pressed again.
  cooldown: 0
# If true, the vehicle can drift when pressing space (not compatible with the horn).
drift: true
# The exhaust settings.
exhaustSettings:
	# DO NOT CHANGE
  className: me.legofreak107.vehiclesplus.vehicles.vehicles.objects.base.storage.StorageSmoke
  # If true, the exhaust particle will be shown.
  enabled: true
  # The X offset (from the base) for the particle location.
  xOffset: -5.0
  # The Y offset (from the base) for the particle location.
  yOffset: 0.0
  # The Z offset (from the base) for the particle location.
  zOffset: 0.0
  # The particle to show.
  # Full list: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Particle.html#enum-constant-summary
  particleName: SMOKE_LARGE
# If true, players can exit while the vehicle is moving.
# PLEASE NOTE: On Minecraft 1.16.x, setting this value to false will NOT work!
canExitWhileMoving: true
# The price for this base vehicle.
price: 100000.0
# The fuel settings.
fuelSettings:
	# DO NOT CHANGE
  className: me.legofreak107.vehiclesplus.vehicles.vehicles.objects.base.storage.StorageFuel
  # The fuel usage (Liters) of this vehicle.
  usage: 6.0
  # The type of fuel to use. This references the ID of the created fuel type.
  # By default, only GASOLINE is available.
  type: GASOLINE
# The total health available on this vehicle.
health: 100
# The size (slots) available in the trunk.
# Available options: 0, 9, 18, 27, 36, 45, 54
trunkSize: 27
# The hitbox settings.
hitbox:
	# DO NOT CHANGE
  className: me.legofreak107.vehiclesplus.vehicles.vehicles.objects.base.storage.StorageHitbox
  # The length of the hitbox (from to back).
  length: 3.0
  # The width of the hitbox (left to right).
  width: 2.0
  # The height of the hitbox (bottom to top).
  height: 1.0
# If true, realistic steering will be used. How longer you press the steering keys (A-D), how stronger the vehicle will steer to that direction.
steeringType: true
# If true, the skin model will be placed on the hand of the armorstand.
# If false, the skin model will be placed on the head of the armorstand.
handModel: false

Parts

Parts can be added to the vehicle. Some parts are visible (using an item), some are not.

Skin

The skin part represents the chassic of the vehicle.

    [...]
    # DO NOT CHANGE
    className: me.legofreak107.vehiclesplus.vehicles.vehicles.objects.addons.skins.Skin
    # The skin item to show.
    # For all the available settings, check out: https://www.spigotmc.org/wiki/itemstack-serialization/
    skin:
      ==: org.bukkit.inventory.ItemStack
      v: 3337
      type: LEATHER_BOOTS
      meta:
        ==: ItemMeta
        meta-type: COLORABLE_ARMOR
        Unbreakable: true
        Damage: 1
    # The color of the skin item (will only work for COLORABLE_ARMOR).
    color:
      ==: Color
      ALPHA: 255
      RED: 255
      BLUE: 255
      GREEN: 255
    # The X offset (from the base).
    xOffset: 0.0
    # The Y offset (from the base).
    yOffset: 0.0
    # The Z offset (from the base).
    zOffset: 0.0
    # DO NOT CHANGE
    UID: 83479cdf-55fb-4d75-98f6-312b7b38343f
    # DO NOT CHANGE
    isCustomPlaced: false

Seat

![carseat.png](/carseat.png =10%x) Please note, this part is NOT visible. The visible seat MUST be included in the skin.

The seat parts represents a seat in the vehicle. Players can sit on each seat.

    [...]
    # DO NOT CHANGE
    className: me.legofreak107.vehiclesplus.vehicles.vehicles.objects.addons.seats.Seat
    # If true, the player can drive the vehicle from this seat (will only work for ONE seat!).
    steer: true
    # The X offset (from the base).
    xOffset: 0.0
    # The Y offset (from the base).
    yOffset: 0.0
    # The Z offset (from the base).
    zOffset: 0.0
    # DO NOT CHANGE
    UID: d13eb53e-bfa8-44e1-bc55-c250fb20880b
    # DO NOT CHANGE
    isCustomPlaced: false

Wheel

The wheel parts represents the wheels of a vehicle. Wheels can rotate when steering.

		[...]
    # DO NOT CHANGE
    className: me.legofreak107.vehiclesplus.vehicles.vehicles.objects.addons.Wheel
    # If true, the wheel moves when steering
    steering: true
    # The rotation offset at spawn, depends on the configuration in the model.
    rotationOffset: 180
    # The skin item to show.
    # For all the available settings, check out: https://www.spigotmc.org/wiki/itemstack-serialization/
    skin:
      ==: org.bukkit.inventory.ItemStack
      v: 3337
      type: LEATHER_CHESTPLATE
      meta:
        ==: ItemMeta
        meta-type: COLORABLE_ARMOR
        Unbreakable: true
        Damage: 2
    # The color of the skin item (will only work for COLORABLE_ARMOR).
    color:
      ==: Color
      ALPHA: 255
      RED: 20
      BLUE: 20
      GREEN: 20
    # The X offset (from the base).
    xOffset: 0.0
    # The Y offset (from the base).
    yOffset: 0.0
    # The Z offset (from the base).
    zOffset: 0.0
    # DO NOT CHANGE
    UID: 7b0b9d87-502b-46c7-8b50-9bc285e0a868
    # DO NOT CHANGE
    isCustomPlaced: false