87 lines
4.1 KiB
HTML
87 lines
4.1 KiB
HTML
|
<!--
|
||
|
title: API
|
||
|
description: Api usage examples
|
||
|
published: false
|
||
|
date: 2024-12-28T20:39:33.295Z
|
||
|
tags: developers
|
||
|
editor: code
|
||
|
dateCreated: 2024-12-28T20:10:42.650Z
|
||
|
-->
|
||
|
|
||
|
<h1 class="toc-header" id="api-usage"> API Usage</h1>
|
||
|
<p>This guide explains how to integrate the new and improved VehiclesPlus API (v3) into your project.</p>
|
||
|
<h2 class="toc-header" id="adding-vehiclesplus-to-your-project"> Adding VehiclesPlus to Your Project</h2>
|
||
|
<p>To use the VehiclesPlus API in your plugin, follow these steps:</p>
|
||
|
<h3 class="toc-header" id="step-1-add-vehiclesplus-to-your-dependencies"> Step 1: Add VehiclesPlus to Your Dependencies</h3>
|
||
|
<p>Ensure VehiclesPlus is added as a dependency in your project. To always use the latest version, update your dependency configuration as shown below:</p>
|
||
|
<p>Maven (<code>pom.xml</code>):</p>
|
||
|
<pre class="prismjs line-numbers" v-pre="true"><code class="language-xml"><repository>
|
||
|
<id>sbdevelopment-repo</id>
|
||
|
<url>https://repo.sbdevelopment.tech/releases</url>
|
||
|
</repository>
|
||
|
|
||
|
<dependency>
|
||
|
<groupId>tech.sbdevelopment</groupId>
|
||
|
<artifactId>vehiclesplus</artifactId>
|
||
|
<version>latest</version>
|
||
|
</dependency>
|
||
|
</code></pre>
|
||
|
<p>Gradle (<code>build.gradle</code>):</p>
|
||
|
<pre class="prismjs line-numbers" v-pre="true"><code class="language-gradle">repositories {
|
||
|
maven {
|
||
|
url 'https://repo.sbdevelopment.tech/releases'
|
||
|
}
|
||
|
}
|
||
|
|
||
|
dependencies {
|
||
|
implementation 'tech.sbdevelopment:vehiclesplus:latest'
|
||
|
}
|
||
|
</code></pre>
|
||
|
<blockquote>
|
||
|
<p><strong>Note</strong>: Using <code>latest</code> ensures that your project always fetches the most recent release, but it might cause issues if breaking changes are introduced. For more stability, consider specifying a specific version (e.g., <code>3.0.2</code>).</p>
|
||
|
</blockquote>
|
||
|
<h2 class="toc-header" id="example-adding-a-car-to-someones-garage"> Example: Adding a Car to Someone's Garage</h2>
|
||
|
<p>This example demonstrates how to add a vehicle to any garage:</p>
|
||
|
<pre class="prismjs line-numbers" v-pre="true"><code class="language-java">// Give car to garage
|
||
|
public void giveCar(Garage garage, String vehicleType) {
|
||
|
// Attempt to create a vehicle
|
||
|
StorageVehicle vehicle = VehiclesPlusAPI.createVehicle(vehicleType);
|
||
|
|
||
|
if (vehicle == null) {
|
||
|
System.err.println("Failed to create vehicle of type: " + vehicleType);
|
||
|
return; // Exit if the vehicle could not be created
|
||
|
}
|
||
|
|
||
|
// Add the vehicle's UUID to the garage
|
||
|
garage.addVehicle(vehicle.getUuid());
|
||
|
System.out.println("Vehicle created and added to the garage successfully.");
|
||
|
}
|
||
|
</code></pre>
|
||
|
<h2 class="toc-header" id="example-adding-a-vehicle-to-the-players-default-garage"> Example: Adding a Vehicle to the Player's Default Garage</h2>
|
||
|
<p>This example demonstrates how to add a vehicle to the player's default garage:</p>
|
||
|
<pre class="prismjs line-numbers" v-pre="true"><code class="language-java">// Give car to player's default garage
|
||
|
public void giveCar(Player player, String vehicleType) {
|
||
|
// Attempt to create a vehicle
|
||
|
StorageVehicle vehicle = VehiclesPlusAPI.createVehicle(vehicleType);
|
||
|
|
||
|
// Retrieve the player's default garage
|
||
|
Optional<Garage> optionalGarage = VehiclesPlusAPI.getGarage(player.getName());
|
||
|
|
||
|
if (vehicle == null) {
|
||
|
System.err.println("Failed to create vehicle of type: " + vehicleType);
|
||
|
return; // Exit if the vehicle could not be created
|
||
|
}
|
||
|
|
||
|
if (optionalGarage.isPresent()) {
|
||
|
Garage garage = optionalGarage.get();
|
||
|
garage.addVehicle(vehicle.getUuid());
|
||
|
System.out.println("Vehicle created and added to the garage successfully.");
|
||
|
} else {
|
||
|
System.err.println("Garage not found for player: " + player.getName());
|
||
|
// Optionally, you could create a new garage for the player here if the API allows it.
|
||
|
}
|
||
|
}
|
||
|
</code></pre>
|
||
|
<h2 class="toc-header" id="api-documentation"> API Documentation</h2>
|
||
|
<p>For additional details, examples, and advanced usage, refer to the official <a class="is-external-link" href="https://sbdevelopment.tech/vehiclesplus">VehiclesPlus API Docs</a>.</p>
|