package com.graywolf336.jail.beans; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.World; /** * Simple location class which doesn't store any instances of {@link World worlds} or {@link org.bukkit.block.Block blocks}, just uses strings, floats, and doubles. * * @author graywolf336 * @since 3.0.0 * @version 1.1.1 */ public class SimpleLocation { private String world; private double x, y, z; private float yaw, pitch; /** * Creates a new SimpleLocation with each detail provided separately. * * @param world as a string * @param x coordinate as a double * @param y coordinate as a double * @param z coordinate as a double * @param yaw as a float * @param pitch as a float */ public SimpleLocation(String world, double x, double y, double z, float yaw, float pitch) { this.world = world; this.x = x; this.y = y; this.z = z; this.yaw = yaw; this.pitch = pitch; } /** * Creates a new SimpleLocation with all the detail provided from {@link Location}. * * @param location to convert to a SimpleLocation */ public SimpleLocation(Location location) { this.world = location.getWorld().getName(); this.x = location.getX(); this.y = location.getY(); this.z = location.getZ(); this.yaw = location.getYaw(); this.pitch = location.getPitch(); } /** Returns the instance from Bukkit of the world this location is in. */ public World getWorld() { return Bukkit.getWorld(world); } /** Returns the name of the world this location is in. */ public String getWorldName() { return this.world; } /** Returns a new {@link Location} from this SimpleLocation. */ public Location getLocation() { return new Location(Bukkit.getWorld(world), x, y, z, yaw, pitch); } @Override public String toString() { return world + "," + x + "," + y + "," + z + "," + yaw + "," + pitch; } }