]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/commitdiff
Move client side only models to client side
authorIrtimaled <irtimaled@gmail.com>
Thu, 21 May 2020 22:27:38 +0000 (15:27 -0700)
committerIrtimaled <irtimaled@gmail.com>
Sat, 23 May 2020 07:00:30 +0000 (00:00 -0700)
24 files changed:
src/main/java/com/irtimaled/bbor/ReflectionHelper.java [deleted file]
src/main/java/com/irtimaled/bbor/client/ClientRenderer.java
src/main/java/com/irtimaled/bbor/client/Player.java
src/main/java/com/irtimaled/bbor/client/commands/Arguments.java
src/main/java/com/irtimaled/bbor/client/commands/LineCommandBuilder.java
src/main/java/com/irtimaled/bbor/client/commands/SphereCommandBuilder.java
src/main/java/com/irtimaled/bbor/client/interop/SpawningSphereHelper.java
src/main/java/com/irtimaled/bbor/client/models/BoundingBoxConduit.java
src/main/java/com/irtimaled/bbor/client/models/BoundingBoxLine.java
src/main/java/com/irtimaled/bbor/client/models/BoundingBoxSpawningSphere.java
src/main/java/com/irtimaled/bbor/client/models/BoundingBoxSphere.java [new file with mode: 0644]
src/main/java/com/irtimaled/bbor/client/models/Point.java [new file with mode: 0644]
src/main/java/com/irtimaled/bbor/client/providers/ConduitProvider.java
src/main/java/com/irtimaled/bbor/client/providers/CustomLineProvider.java
src/main/java/com/irtimaled/bbor/client/providers/CustomSphereProvider.java
src/main/java/com/irtimaled/bbor/client/providers/SpawningSphereProvider.java
src/main/java/com/irtimaled/bbor/client/renderers/AbstractRenderer.java
src/main/java/com/irtimaled/bbor/client/renderers/ConduitRenderer.java
src/main/java/com/irtimaled/bbor/client/renderers/OffsetPoint.java
src/main/java/com/irtimaled/bbor/client/renderers/SpawningSphereRenderer.java
src/main/java/com/irtimaled/bbor/client/renderers/SphereRenderer.java
src/main/java/com/irtimaled/bbor/common/ReflectionHelper.java [new file with mode: 0644]
src/main/java/com/irtimaled/bbor/common/models/BoundingBoxSphere.java [deleted file]
src/main/java/com/irtimaled/bbor/common/models/Point.java [deleted file]

diff --git a/src/main/java/com/irtimaled/bbor/ReflectionHelper.java b/src/main/java/com/irtimaled/bbor/ReflectionHelper.java
deleted file mode 100644 (file)
index c685b30..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-package com.irtimaled.bbor;
-
-import com.irtimaled.bbor.common.TypeHelper;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-import java.util.function.Function;
-
-public class ReflectionHelper {
-    public static <T, R> Function<T, R> getPrivateFieldGetter(Class<?> clazz, Type fieldType, Type... genericTypeArguments) {
-        Field field = findField(clazz, fieldType, genericTypeArguments);
-        if (field == null) return obj -> null;
-
-        field.setAccessible(true);
-        return obj -> {
-            try {
-                return (R) field.get(obj);
-            } catch (IllegalAccessException ignored) {
-                return null;
-            }
-        };
-    }
-
-    private static Field findField(Class<?> clazz, Type fieldType, Type[] genericTypeArguments) {
-        for (Field field : clazz.getDeclaredFields()) {
-            Type type = field.getGenericType();
-            ParameterizedType genericType = TypeHelper.as(type, ParameterizedType.class);
-            if (genericType == null) {
-                if (type != fieldType || genericTypeArguments.length > 0) continue;
-                return field;
-            }
-
-            Type rawType = genericType.getRawType();
-            if (rawType != fieldType) continue;
-
-            Type[] actualTypeArguments = genericType.getActualTypeArguments();
-            if (actualTypeArguments.length != genericTypeArguments.length) continue;
-
-            for (int typeIndex = 0; typeIndex < actualTypeArguments.length; typeIndex++) {
-                if (actualTypeArguments[typeIndex] != genericTypeArguments[typeIndex]) return null;
-            }
-
-            return field;
-        }
-        return null;
-    }
-}
index a2d611b33075569f26b783c805c61377ac1887fe..4c6ba9d83d8715bc1347f0f1be685660de917a00 100644 (file)
@@ -8,7 +8,6 @@ import com.irtimaled.bbor.client.renderers.*;
 import com.irtimaled.bbor.common.MathHelper;
 import com.irtimaled.bbor.common.models.AbstractBoundingBox;
 import com.irtimaled.bbor.common.models.BoundingBoxCuboid;
-import com.irtimaled.bbor.common.models.BoundingBoxSphere;
 import org.lwjgl.opengl.GL11;
 
 import java.util.HashMap;
index 2d518d0848a20aed5a60bc867db2d71fb2ebc332..3006b179bc9eca7957bf94a77535b7b8880091d9 100644 (file)
@@ -1,7 +1,7 @@
 package com.irtimaled.bbor.client;
 
+import com.irtimaled.bbor.client.models.Point;
 import com.irtimaled.bbor.common.models.Coords;
-import com.irtimaled.bbor.common.models.Point;
 import net.minecraft.client.entity.player.ClientPlayerEntity;
 
 public class Player {
index 68a0858baa726128cdafe1be063322db1d96d9e9..a0f0dc5f94751a16f632d17c49e185f4fea29f1c 100644 (file)
@@ -1,8 +1,8 @@
 package com.irtimaled.bbor.client.commands;
 
 import com.irtimaled.bbor.client.config.HexColor;
+import com.irtimaled.bbor.client.models.Point;
 import com.irtimaled.bbor.common.models.Coords;
-import com.irtimaled.bbor.common.models.Point;
 import com.mojang.brigadier.arguments.*;
 import com.mojang.brigadier.context.CommandContext;
 import com.mojang.brigadier.exceptions.CommandSyntaxException;
index 048b2aa995e58c96c119f232e8bf81fda617fc00..411f59aa7ff2858814fa37f5062187097610b46f 100644 (file)
@@ -1,7 +1,7 @@
 package com.irtimaled.bbor.client.commands;
 
+import com.irtimaled.bbor.client.models.Point;
 import com.irtimaled.bbor.client.providers.CustomLineProvider;
-import com.irtimaled.bbor.common.models.Point;
 import com.mojang.brigadier.builder.LiteralArgumentBuilder;
 import com.mojang.brigadier.context.CommandContext;
 import com.mojang.brigadier.exceptions.CommandSyntaxException;
index a96b754a3b7d43278759ad1445bfbd9571c96625..1a8d2b2e20e99b8e8d907fa174f1164640b201fc 100644 (file)
@@ -1,7 +1,7 @@
 package com.irtimaled.bbor.client.commands;
 
+import com.irtimaled.bbor.client.models.Point;
 import com.irtimaled.bbor.client.providers.CustomSphereProvider;
-import com.irtimaled.bbor.common.models.Point;
 import com.mojang.brigadier.builder.LiteralArgumentBuilder;
 import com.mojang.brigadier.context.CommandContext;
 import com.mojang.brigadier.exceptions.CommandSyntaxException;
index 299d17befeb4c75b0e436e83cee4be3aefce3026..856e4b89797a37e1281ceb0023e72aa9dfb8eb43 100644 (file)
@@ -1,8 +1,8 @@
 package com.irtimaled.bbor.client.interop;
 
 import com.irtimaled.bbor.client.models.BoundingBoxSpawningSphere;
+import com.irtimaled.bbor.client.models.Point;
 import com.irtimaled.bbor.common.models.Coords;
-import com.irtimaled.bbor.common.models.Point;
 import net.minecraft.block.BlockState;
 import net.minecraft.client.Minecraft;
 import net.minecraft.util.math.BlockPos;
index a894843393108ac111edd9cb4225e1a000e47653..ecf9d47cb28ed7fa889981bcfe90996a34269cfe 100644 (file)
@@ -2,9 +2,7 @@ package com.irtimaled.bbor.client.models;
 
 import com.irtimaled.bbor.common.BoundingBoxType;
 import com.irtimaled.bbor.common.TypeHelper;
-import com.irtimaled.bbor.common.models.BoundingBoxSphere;
 import com.irtimaled.bbor.common.models.Coords;
-import com.irtimaled.bbor.common.models.Point;
 
 public class BoundingBoxConduit extends BoundingBoxSphere {
     private final int level;
index b8b02bda18b6643cebf6dd56f389160a38a8411b..733efe4e90e94e40746f7cf6fba8d40ed2b9c0bb 100644 (file)
@@ -3,7 +3,6 @@ package com.irtimaled.bbor.client.models;
 import com.irtimaled.bbor.common.BoundingBoxType;
 import com.irtimaled.bbor.common.TypeHelper;
 import com.irtimaled.bbor.common.models.AbstractBoundingBox;
-import com.irtimaled.bbor.common.models.Point;
 
 public class BoundingBoxLine extends AbstractBoundingBox {
     private final Point minPoint;
index fbf6b8b075ce34b13d1220a6ae202a072d2dff27..5d3087ebd816bfbf9b4c671a2c09264266d67929 100644 (file)
@@ -1,8 +1,6 @@
 package com.irtimaled.bbor.client.models;
 
 import com.irtimaled.bbor.common.BoundingBoxType;
-import com.irtimaled.bbor.common.models.BoundingBoxSphere;
-import com.irtimaled.bbor.common.models.Point;
 import net.minecraft.util.math.BlockPos;
 
 import java.util.HashSet;
diff --git a/src/main/java/com/irtimaled/bbor/client/models/BoundingBoxSphere.java b/src/main/java/com/irtimaled/bbor/client/models/BoundingBoxSphere.java
new file mode 100644 (file)
index 0000000..3fb8d08
--- /dev/null
@@ -0,0 +1,42 @@
+package com.irtimaled.bbor.client.models;
+
+import com.irtimaled.bbor.common.BoundingBoxType;
+import com.irtimaled.bbor.common.models.AbstractBoundingBox;
+import com.irtimaled.bbor.common.models.Coords;
+
+public class BoundingBoxSphere extends AbstractBoundingBox {
+    private final double radius;
+    private final double minX;
+    private final double minZ;
+    private final double maxX;
+    private final double maxZ;
+    private final Point point;
+
+    public BoundingBoxSphere(Point point, double radius, BoundingBoxType type) {
+        super(type);
+        this.radius = radius;
+        this.point = point;
+
+        Coords center = point.getCoords();
+        this.minX = center.getX() - radius;
+        this.minZ = center.getZ() - radius;
+        this.maxX = center.getX() + radius;
+        this.maxZ = center.getZ() + radius;
+    }
+
+    @Override
+    public Boolean intersectsBounds(int minX, int minZ, int maxX, int maxZ) {
+        return this.maxX >= minX &&
+                this.maxZ >= minZ &&
+                this.minX <= maxX &&
+                this.minZ <= maxZ;
+    }
+
+    public double getRadius() {
+        return radius;
+    }
+
+    public Point getPoint() {
+        return point;
+    }
+}
diff --git a/src/main/java/com/irtimaled/bbor/client/models/Point.java b/src/main/java/com/irtimaled/bbor/client/models/Point.java
new file mode 100644 (file)
index 0000000..a403054
--- /dev/null
@@ -0,0 +1,76 @@
+package com.irtimaled.bbor.client.models;
+
+import com.irtimaled.bbor.common.MathHelper;
+import com.irtimaled.bbor.common.TypeHelper;
+import com.irtimaled.bbor.common.models.Coords;
+import net.minecraft.util.math.Vec3d;
+
+public class Point {
+    private final double x;
+    private final double y;
+    private final double z;
+
+    public Point(double x, double y, double z) {
+        this.x = x;
+        this.y = y;
+        this.z = z;
+    }
+
+    public Point(Coords Coords) {
+        this.x = Coords.getX();
+        this.y = Coords.getY();
+        this.z = Coords.getZ();
+    }
+
+    public Point(Vec3d pos) {
+        this.x = pos.x;
+        this.y = pos.y;
+        this.z = pos.z;
+    }
+
+    public double getX() {
+        return x;
+    }
+
+    public double getY() {
+        return y;
+    }
+
+    public double getZ() {
+        return z;
+    }
+
+    public Point offset(double x, double y, double z) {
+        return new Point(this.x + x, this.y + y, this.z + z);
+    }
+
+    public Point snapXZ(double nearest) {
+        double x = MathHelper.snapToNearest(this.x, nearest);
+        double z = MathHelper.snapToNearest(this.z, nearest);
+        return new Point(x, this.y, z);
+    }
+
+    public double getDistance(Point point) {
+        double dx = this.x - point.x;
+        double dy = this.y - point.y;
+        double dz = this.z - point.z;
+        return Math.sqrt(dx * dx + dy * dy + dz * dz);
+    }
+
+    public Coords getCoords() {
+        return new Coords(x, y, z);
+    }
+
+    @Override
+    public int hashCode() {
+        return TypeHelper.combineHashCodes(Double.hashCode(z), Double.hashCode(y), Double.hashCode(x));
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) return true;
+        if (obj == null || getClass() != obj.getClass()) return false;
+        Point point = (Point) obj;
+        return getX() == point.getX() && getY() == point.getY() && getZ() == point.getZ();
+    }
+}
index 1890e157f7da7b9ff50e005c16131a1974ecee47..6d3392d6a3cf4dcb9e5e2800700bb100b0b15a5e 100644 (file)
@@ -1,10 +1,10 @@
 package com.irtimaled.bbor.client.providers;
 
-import com.irtimaled.bbor.ReflectionHelper;
 import com.irtimaled.bbor.client.config.BoundingBoxTypeHelper;
 import com.irtimaled.bbor.client.interop.TileEntitiesHelper;
 import com.irtimaled.bbor.client.models.BoundingBoxConduit;
 import com.irtimaled.bbor.common.BoundingBoxType;
+import com.irtimaled.bbor.common.ReflectionHelper;
 import com.irtimaled.bbor.common.models.Coords;
 import net.minecraft.tileentity.ConduitTileEntity;
 import net.minecraft.util.math.BlockPos;
index 6c50944ba167b9e4bed5f0412a49d6885eaa5e47..b35470f08e90634c20e950cc196c8fb7a629ba04 100644 (file)
@@ -2,8 +2,8 @@ package com.irtimaled.bbor.client.providers;
 
 import com.irtimaled.bbor.client.Player;
 import com.irtimaled.bbor.client.models.BoundingBoxLine;
+import com.irtimaled.bbor.client.models.Point;
 import com.irtimaled.bbor.common.BoundingBoxType;
-import com.irtimaled.bbor.common.models.Point;
 
 import java.util.HashMap;
 import java.util.Map;
index 1f59e772b6dac22a7aa7bc6cae0d4adc809af334..61e604d4c486b0ba96348b713770ba501200eb4e 100644 (file)
@@ -1,9 +1,9 @@
 package com.irtimaled.bbor.client.providers;
 
 import com.irtimaled.bbor.client.Player;
+import com.irtimaled.bbor.client.models.BoundingBoxSphere;
+import com.irtimaled.bbor.client.models.Point;
 import com.irtimaled.bbor.common.BoundingBoxType;
-import com.irtimaled.bbor.common.models.BoundingBoxSphere;
-import com.irtimaled.bbor.common.models.Point;
 
 import java.util.HashMap;
 import java.util.Map;
index 056b18b3de7695c90ab400e3c88f4e4806c711c4..56904e6d488fcba8690ac4695db77d452f4a8448 100644 (file)
@@ -6,9 +6,9 @@ import com.irtimaled.bbor.client.config.ConfigManager;
 import com.irtimaled.bbor.client.interop.BlockProcessor;
 import com.irtimaled.bbor.client.interop.SpawningSphereHelper;
 import com.irtimaled.bbor.client.models.BoundingBoxSpawningSphere;
+import com.irtimaled.bbor.client.models.Point;
 import com.irtimaled.bbor.common.BoundingBoxType;
 import com.irtimaled.bbor.common.MathHelper;
-import com.irtimaled.bbor.common.models.Point;
 import net.minecraft.client.Minecraft;
 
 import java.util.HashSet;
index d51f623a42667dc05c278d52c735c8a2f63f5d42..92084b49f8b8d9597f1082d142a2a53ea80a32bf 100644 (file)
@@ -1,8 +1,8 @@
 package com.irtimaled.bbor.client.renderers;
 
 import com.irtimaled.bbor.client.config.ConfigManager;
+import com.irtimaled.bbor.client.models.Point;
 import com.irtimaled.bbor.common.models.AbstractBoundingBox;
-import com.irtimaled.bbor.common.models.Point;
 import com.mojang.blaze3d.platform.GLX;
 import net.minecraft.client.Minecraft;
 import net.minecraft.client.gui.FontRenderer;
index 93d40ef29d5d9c18af68d90b5ef72536186c504f..95fe01f8930dbc94243aa5d2e98ffaf3db8af3b2 100644 (file)
@@ -4,7 +4,7 @@ import com.irtimaled.bbor.client.config.BoundingBoxTypeHelper;
 import com.irtimaled.bbor.client.config.ColorHelper;
 import com.irtimaled.bbor.client.config.ConfigManager;
 import com.irtimaled.bbor.client.models.BoundingBoxConduit;
-import com.irtimaled.bbor.common.models.Point;
+import com.irtimaled.bbor.client.models.Point;
 
 import java.awt.*;
 
index 9d794fdf49a64c5dc058a3e8177f0eead0c85de7..76c1dc70f5d6ea8f81b84a30a0de97d2ed4182a9 100644 (file)
@@ -1,8 +1,8 @@
 package com.irtimaled.bbor.client.renderers;
 
 import com.irtimaled.bbor.client.Camera;
+import com.irtimaled.bbor.client.models.Point;
 import com.irtimaled.bbor.common.models.Coords;
-import com.irtimaled.bbor.common.models.Point;
 
 class OffsetPoint {
     private final Point point;
index 63080aeaaf40fd9d37af6c70a9b1cf53e10f7a03..6d07100ae6c3eae9fba5c2ad06797185f16242b7 100644 (file)
@@ -5,8 +5,8 @@ import com.irtimaled.bbor.client.config.BoundingBoxTypeHelper;
 import com.irtimaled.bbor.client.config.ColorHelper;
 import com.irtimaled.bbor.client.config.ConfigManager;
 import com.irtimaled.bbor.client.models.BoundingBoxSpawningSphere;
+import com.irtimaled.bbor.client.models.Point;
 import com.irtimaled.bbor.common.BoundingBoxType;
-import com.irtimaled.bbor.common.models.Point;
 import net.minecraft.client.resources.I18n;
 
 import java.awt.*;
index 0144becc0f85c3d48fbe8447ebee2ca75c57e9ed..241236ae3dd1a83a1ad31cc7119c6c6a59249a3a 100644 (file)
@@ -1,8 +1,8 @@
 package com.irtimaled.bbor.client.renderers;
 
 import com.irtimaled.bbor.client.config.BoundingBoxTypeHelper;
-import com.irtimaled.bbor.common.models.BoundingBoxSphere;
-import com.irtimaled.bbor.common.models.Point;
+import com.irtimaled.bbor.client.models.BoundingBoxSphere;
+import com.irtimaled.bbor.client.models.Point;
 
 public class SphereRenderer extends AbstractRenderer<BoundingBoxSphere> {
     @Override
diff --git a/src/main/java/com/irtimaled/bbor/common/ReflectionHelper.java b/src/main/java/com/irtimaled/bbor/common/ReflectionHelper.java
new file mode 100644 (file)
index 0000000..4ade3c2
--- /dev/null
@@ -0,0 +1,46 @@
+package com.irtimaled.bbor.common;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+import java.util.function.Function;
+
+public class ReflectionHelper {
+    public static <T, R> Function<T, R> getPrivateFieldGetter(Class<?> clazz, Type fieldType, Type... genericTypeArguments) {
+        Field field = findField(clazz, fieldType, genericTypeArguments);
+        if (field == null) return obj -> null;
+
+        field.setAccessible(true);
+        return obj -> {
+            try {
+                return (R) field.get(obj);
+            } catch (IllegalAccessException ignored) {
+                return null;
+            }
+        };
+    }
+
+    private static Field findField(Class<?> clazz, Type fieldType, Type[] genericTypeArguments) {
+        for (Field field : clazz.getDeclaredFields()) {
+            Type type = field.getGenericType();
+            ParameterizedType genericType = TypeHelper.as(type, ParameterizedType.class);
+            if (genericType == null) {
+                if (type != fieldType || genericTypeArguments.length > 0) continue;
+                return field;
+            }
+
+            Type rawType = genericType.getRawType();
+            if (rawType != fieldType) continue;
+
+            Type[] actualTypeArguments = genericType.getActualTypeArguments();
+            if (actualTypeArguments.length != genericTypeArguments.length) continue;
+
+            for (int typeIndex = 0; typeIndex < actualTypeArguments.length; typeIndex++) {
+                if (actualTypeArguments[typeIndex] != genericTypeArguments[typeIndex]) return null;
+            }
+
+            return field;
+        }
+        return null;
+    }
+}
diff --git a/src/main/java/com/irtimaled/bbor/common/models/BoundingBoxSphere.java b/src/main/java/com/irtimaled/bbor/common/models/BoundingBoxSphere.java
deleted file mode 100644 (file)
index 5c550f6..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-package com.irtimaled.bbor.common.models;
-
-import com.irtimaled.bbor.common.BoundingBoxType;
-
-public class BoundingBoxSphere extends AbstractBoundingBox {
-    private final double radius;
-    private final double minX;
-    private final double minZ;
-    private final double maxX;
-    private final double maxZ;
-    private final Point point;
-
-    public BoundingBoxSphere(Point point, double radius, BoundingBoxType type) {
-        super(type);
-        this.radius = radius;
-        this.point = point;
-
-        Coords center = point.getCoords();
-        this.minX = center.getX() - radius;
-        this.minZ = center.getZ() - radius;
-        this.maxX = center.getX() + radius;
-        this.maxZ = center.getZ() + radius;
-    }
-
-    @Override
-    public Boolean intersectsBounds(int minX, int minZ, int maxX, int maxZ) {
-        return this.maxX >= minX &&
-                this.maxZ >= minZ &&
-                this.minX <= maxX &&
-                this.minZ <= maxZ;
-    }
-
-    public double getRadius() {
-        return radius;
-    }
-
-    public Point getPoint() {
-        return point;
-    }
-}
diff --git a/src/main/java/com/irtimaled/bbor/common/models/Point.java b/src/main/java/com/irtimaled/bbor/common/models/Point.java
deleted file mode 100644 (file)
index a049d83..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-package com.irtimaled.bbor.common.models;
-
-import com.irtimaled.bbor.common.MathHelper;
-import com.irtimaled.bbor.common.TypeHelper;
-import net.minecraft.util.math.Vec3d;
-
-public class Point {
-    private final double x;
-    private final double y;
-    private final double z;
-
-    public Point(double x, double y, double z) {
-        this.x = x;
-        this.y = y;
-        this.z = z;
-    }
-
-    public Point(Coords Coords) {
-        this.x = Coords.getX();
-        this.y = Coords.getY();
-        this.z = Coords.getZ();
-    }
-
-    public Point(Vec3d pos) {
-        this.x = pos.x;
-        this.y = pos.y;
-        this.z = pos.z;
-    }
-
-    public double getX() {
-        return x;
-    }
-
-    public double getY() {
-        return y;
-    }
-
-    public double getZ() {
-        return z;
-    }
-
-    public Point offset(double x, double y, double z) {
-        return new Point(this.x + x, this.y + y, this.z + z);
-    }
-
-    public Point snapXZ(double nearest) {
-        double x = MathHelper.snapToNearest(this.x, nearest);
-        double z = MathHelper.snapToNearest(this.z, nearest);
-        return new Point(x, this.y, z);
-    }
-
-    public double getDistance(Point point) {
-        double dx = this.x - point.x;
-        double dy = this.y - point.y;
-        double dz = this.z - point.z;
-        return Math.sqrt(dx * dx + dy * dy + dz * dz);
-    }
-
-    public Coords getCoords() {
-        return new Coords(x, y, z);
-    }
-
-    @Override
-    public int hashCode() {
-        return TypeHelper.combineHashCodes(Double.hashCode(z), Double.hashCode(y), Double.hashCode(x));
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        if (this == obj) return true;
-        if (obj == null || getClass() != obj.getClass()) return false;
-        Point point = (Point) obj;
-        return getX() == point.getX() && getY() == point.getY() && getZ() == point.getZ();
-    }
-}