374 lines
No EOL
13 KiB
Markdown
374 lines
No EOL
13 KiB
Markdown
---
|
|
title: Vehicle Configuration
|
|
description: Configure the base vehicles.
|
|
published: true
|
|
date: 2024-04-07T10:09:26.999Z
|
|
tags:
|
|
editor: markdown
|
|
dateCreated: 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!
|
|
|
|
## Modifying an existing vehicle
|
|
The plugin comes with a standard vehicle per type (cars, motorcycles, boats, etc.).
|
|
|
|
- `bikes/ExampleBike.yml`
|
|
- `boats/ExampleBoat.yml`
|
|
- `cars/ExampleCar.yml`
|
|
- `helicopters/ExampleHelicopter.yml`
|
|
- `hovercrafts/ExampleHovercraft.yml`
|
|
- `planes/ExamplePlane.yml`
|
|
- `tanks/ExampleTank.yml`
|
|
|
|
The default files can be download from [the GitHub repository](https://github.com/SBDPlugins/VehiclesPlus/tree/master/Vehicle%20Models/Examples-v2).
|
|
|
|
## Creating a new vehicle
|
|
### Step 1: Resourcepack setup
|
|
The first step is to add the model to a resourcepack. This makes it possible to place the model on a vehicle.
|
|
|
|
### Tabs {.tabset}
|
|
#### YouTube tutorial (NL/BE)
|
|
You can find a step-by-step tutorial on YouTube by The BelgiumGames.
|
|
https://www.youtube.com/watch?v=5CbPg7ld7hw
|
|
|
|
#### Text tutorial (EN)
|
|
##### Step 1a: 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](https://vehicles.polymart.org/).
|
|
|
|
##### Step 1b: 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 1c: 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 1d: 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:
|
|
|
|
```json
|
|
"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 1e: 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](https://git.sbdevelopment.tech/SBDevelopment/VehiclesPlus/src/branch/master/Vehicle%20Models).
|
|
|
|
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:
|
|
|
|
```yaml
|
|
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 (`#`).*
|
|
```yaml
|
|
# 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.
|
|
```yaml
|
|
[...]
|
|
# 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.
|
|
```yaml
|
|
[...]
|
|
# 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.
|
|
```yaml
|
|
[...]
|
|
# 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
|
|
``` |