350 lines
12 KiB
Markdown
350 lines
12 KiB
Markdown
|
---
|
||
|
sidebar_label: Vehicles
|
||
|
---
|
||
|
import Tabs from '@theme/Tabs';
|
||
|
import TabItem from '@theme/TabItem';
|
||
|
|
||
|
# 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>
|
||
|
<TabItem value="text-tutorial" label="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!
|
||
|
|
||
|
:::info
|
||
|
You can easily find VehiclesPlus-compatible models [on Polymart](https://vehicles.polymart.org/).
|
||
|
:::
|
||
|
|
||
|
##### Step 2: Generate the resourcepack
|
||
|
**Generate the resourcepack for your server using the [VehiclesPlus Resourcepack Generator tool](https://vprpgenerator.sbdevelopment.tech/).**
|
||
|
|
||
|
Just fill in your Minecraft version, choose a Namespace (leave it at `vp` to be safe) and select an Item you want to insert the models on.
|
||
|
|
||
|
Then easily upload all the models you want to add to your resourcepack and click on the **Generate** button.
|
||
|
|
||
|
:::warning
|
||
|
**NOTE:** The tool overwrites the item configuration for the selected item. Please select an item that you currently do not use in the case you upload your own resourcepack.
|
||
|
:::
|
||
|
|
||
|
###### Step 3: 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 **(for example `cars/ExampleCar.yml`)**. If you don't have the original example 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 vehicle (for example from `ExampleCar.yml` to `MyCoolCar.yml`). Also make sure to change the name inside the file, like `name: MyCoolCar`
|
||
|
|
||
|
Now go to the skin section, and change the values to the once given by the generator.
|
||
|
|
||
|
**Example:** If your model is called MyCoolCar and has been bound to `custom_model_data: 2` change the value under `meta` to `2`.
|
||
|
|
||
|
```yaml
|
||
|
list0:
|
||
|
className: me.legofreak107.vehiclesplus.vehicles.vehicles.objects.addons.skins.Skin
|
||
|
skin:
|
||
|
==: org.bukkit.inventory.ItemStack
|
||
|
v: 3337
|
||
|
type: LEATHER_BOOTS
|
||
|
meta:
|
||
|
==: ItemMeta
|
||
|
meta-type: UNSPECIFIC
|
||
|
custom-model-data: 1
|
||
|
```
|
||
|
|
||
|
:::danger
|
||
|
**NOTE:** Do *NOT* copy/paste this configuration part! Only change the `type` and `meta` sections according to your situation.
|
||
|
:::
|
||
|
|
||
|
###### Step 4: Change other settings
|
||
|
Now it's time to change the other settings to match your vehicle. Check the "Settings per vehicle" section below to see what each section means.
|
||
|
|
||
|
:::info
|
||
|
This step might take some time. You need to change the settings, restart your server and see if everything is working as expected. You might need to tinker some settings multiple times.
|
||
|
|
||
|
**NOTE: You have to give yourself a new vehicle to see the changes you made!**
|
||
|
:::
|
||
|
|
||
|
</TabItem>
|
||
|
<TabItem value="youtube-tutorial" label="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
|
||
|
|
||
|
</TabItem>
|
||
|
</Tabs>
|
||
|
|
||
|
## 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
|
||
|
```
|