From aae20352078fd59502b10dda0a0e0037b23c1e93 Mon Sep 17 00:00:00 2001 From: Forwolk Date: Wed, 11 Jul 2018 18:38:37 +0300 Subject: [PATCH] Location implements cloneable --- core/src/main/java/mc/core/Location.java | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/core/src/main/java/mc/core/Location.java b/core/src/main/java/mc/core/Location.java index fa1e00b..474ab1d 100644 --- a/core/src/main/java/mc/core/Location.java +++ b/core/src/main/java/mc/core/Location.java @@ -9,15 +9,17 @@ import lombok.Data; @AllArgsConstructor @Data -public class Location { +public class Location implements Cloneable { private double x, y, z; public static Location copyOf(Location location) { - return new Location( - location.x, - location.y, - location.z - ); + return location.clone(); + } + + public Location (Location location) { + this.x = location.getX(); + this.y = location.getY(); + this.z = location.getZ(); } public void set(Location location) { @@ -45,4 +47,13 @@ public class Location { public int getBlockZ() { return (int) z; } + + @Override + protected Location clone() { + try { + return (Location) super.clone(); + } catch (CloneNotSupportedException e) { + return null; + } + } }