package com.yaohun.farmingwar.game; import com.sk89q.worldedit.math.BlockVector3; import org.bukkit.Location; import org.bukkit.World; import org.bukkit.configuration.ConfigurationSection; import java.util.Objects; public class Point { private double x; private double y; private double z; public Point(int x, int y, int z) { this.x = x; this.y = y; this.z = z; } public Point(double x, double y, double z) { this.x = x; this.y = y; this.z = z; } public double getX() { return x; } public double getY() { return y; } public double getZ() { return z; } public void setX(double x) { this.x = x; } public void setY(double y) { this.y = y; } public void setZ(double z) { this.z = z; } public Point clone() { return new Point(x, y, z); } public Location toLocation(World world) { return new Location(world, x, y, z, 0, 0); } public static Point of(Location location) { return new Point(location.getX(), location.getY(), location.getZ()); } public static Point deserialize(ConfigurationSection section) { return new Point(section.getDouble("x"), section.getDouble("y"), section.getDouble("z")); } public BlockVector3 toBlockVector3() { return BlockVector3.at(x, y, z); } @Override public String toString() { return "Point{" + "x=" + x + ", y=" + y + ", z=" + z + '}'; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Point point = (Point) o; return Double.compare(point.x, x) == 0 && Double.compare(point.y, y) == 0 && Double.compare(point.z, z) == 0; } @Override public int hashCode() { return Objects.hash(x, y, z); } }