95 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| 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);
 | |
|     }
 | |
| 
 | |
| }
 | 
