package com.demigodsrpg.util;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.entity.Entity;
import org.bukkit.event.entity.EntityTeleportEvent;
public class VehicleUtil {
/**
* Teleport an entity and the vehicle it is inside of, or vice versa.
*
* @param entity The entity/vehicle to be teleported.
* @param to The destination.
*/
public static void teleport(final Entity entity, final Location to) {
EntityTeleportEvent event = new EntityTeleportEvent(entity, entity.getLocation(), to);
Bukkit.getPluginManager().callEvent(event);
if (event.isCancelled()) return;
if (entity.isInsideVehicle()) {
Entity vehicle = entity.getVehicle();
vehicle.eject();
vehicle.teleport(to);
entity.teleport(to);
vehicle.setPassenger(entity);
} else if (entity.getPassenger() != null) {
Entity passenger = entity.getPassenger();
entity.eject();
entity.teleport(to);
passenger.teleport(to);
entity.setPassenger(passenger);
} else entity.teleport(to);
}
}