From c56fe105644728222cc37a29bf3dc8789b7473d8 Mon Sep 17 00:00:00 2001 From: SemvdH Date: Mon, 10 Nov 2025 19:42:21 +0100 Subject: [PATCH] add equals and hashcode to coordinate class --- .../coordinates/db/.LCKCoordinate.java~ | 1 - .../coordinates/db/.LCKDatabaseManager.java~ | 1 - .../coordinates/db/.LCKMinecraftColor.java~ | 1 - ic_plugin_coordinates/pom.xml | 1 - .../coordinates/db/Coordinate.java | 34 +++++++++++++++++++ .../db/CoordinatesDatabaseManager.java | 5 +++ ic_plugin_core/pom.xml | 1 - .../core/db/DatabaseManager.java | 2 +- 8 files changed, 40 insertions(+), 6 deletions(-) delete mode 100644 ic_plugin/src/main/java/nl/interestingcorner/coordinates/db/.LCKCoordinate.java~ delete mode 100644 ic_plugin/src/main/java/nl/interestingcorner/coordinates/db/.LCKDatabaseManager.java~ delete mode 100644 ic_plugin/src/main/java/nl/interestingcorner/coordinates/db/.LCKMinecraftColor.java~ diff --git a/ic_plugin/src/main/java/nl/interestingcorner/coordinates/db/.LCKCoordinate.java~ b/ic_plugin/src/main/java/nl/interestingcorner/coordinates/db/.LCKCoordinate.java~ deleted file mode 100644 index fde4fbf..0000000 --- a/ic_plugin/src/main/java/nl/interestingcorner/coordinates/db/.LCKCoordinate.java~ +++ /dev/null @@ -1 +0,0 @@ -/home/sem/Development/Minecraft/mc-ic-server/ic_plugin/src/main/java/nl/interestingcorner/coordinates/db/Coordinate.java \ No newline at end of file diff --git a/ic_plugin/src/main/java/nl/interestingcorner/coordinates/db/.LCKDatabaseManager.java~ b/ic_plugin/src/main/java/nl/interestingcorner/coordinates/db/.LCKDatabaseManager.java~ deleted file mode 100644 index 033714a..0000000 --- a/ic_plugin/src/main/java/nl/interestingcorner/coordinates/db/.LCKDatabaseManager.java~ +++ /dev/null @@ -1 +0,0 @@ -/home/sem/Development/Minecraft/mc-ic-server/ic_plugin/src/main/java/nl/interestingcorner/coordinates/db/DatabaseManager.java \ No newline at end of file diff --git a/ic_plugin/src/main/java/nl/interestingcorner/coordinates/db/.LCKMinecraftColor.java~ b/ic_plugin/src/main/java/nl/interestingcorner/coordinates/db/.LCKMinecraftColor.java~ deleted file mode 100644 index 399af69..0000000 --- a/ic_plugin/src/main/java/nl/interestingcorner/coordinates/db/.LCKMinecraftColor.java~ +++ /dev/null @@ -1 +0,0 @@ -/home/sem/Development/Minecraft/mc-ic-server/ic_plugin/src/main/java/nl/interestingcorner/coordinates/db/MinecraftColor.java \ No newline at end of file diff --git a/ic_plugin_coordinates/pom.xml b/ic_plugin_coordinates/pom.xml index 8699237..31559a9 100644 --- a/ic_plugin_coordinates/pom.xml +++ b/ic_plugin_coordinates/pom.xml @@ -9,7 +9,6 @@ jar ic_plugin_coordinates - https://interesting-corner.nl diff --git a/ic_plugin_coordinates/src/main/java/nl/interestingcorner/coordinates/db/Coordinate.java b/ic_plugin_coordinates/src/main/java/nl/interestingcorner/coordinates/db/Coordinate.java index 61b9819..78cab5e 100644 --- a/ic_plugin_coordinates/src/main/java/nl/interestingcorner/coordinates/db/Coordinate.java +++ b/ic_plugin_coordinates/src/main/java/nl/interestingcorner/coordinates/db/Coordinate.java @@ -24,6 +24,7 @@ import nl.interestingcorner.core.MinecraftColor; * Class to represent a coordinate to teleport to */ public class Coordinate { + private final int HASH_PRIME = 31; /** * auto-generated ID */ @@ -108,4 +109,37 @@ public class Coordinate { .append(" }"); return sb.toString(); } + + @Override + public boolean equals(Object obj) { + if (this == obj) + { + return true; + } + if (obj == null || getClass() != obj.getClass()) + { + return false; + } + Coordinate other = (Coordinate) obj; + + return id == other.id && + nether == other.nether && + name.equals(other.name) && + description.equals(other.description) && + position.equals(other.position) && + world.equals(other.world) && + color == other.color; + } + + @Override + public int hashCode() { + int result = Integer.hashCode(id); + result = HASH_PRIME * result + Boolean.hashCode(nether); + result = HASH_PRIME * result + (name != null ? name.hashCode() : 0); + result = HASH_PRIME * result + (description != null ? description.hashCode() : 0); + result = HASH_PRIME * result + (position != null ? position.hashCode() : 0); + result = HASH_PRIME * result + (world != null ? world.hashCode() : 0); + result = HASH_PRIME * result + (color != null ? color.hashCode() : 0); + return result; + } } diff --git a/ic_plugin_coordinates/src/main/java/nl/interestingcorner/coordinates/db/CoordinatesDatabaseManager.java b/ic_plugin_coordinates/src/main/java/nl/interestingcorner/coordinates/db/CoordinatesDatabaseManager.java index 1319c1d..62c36ba 100644 --- a/ic_plugin_coordinates/src/main/java/nl/interestingcorner/coordinates/db/CoordinatesDatabaseManager.java +++ b/ic_plugin_coordinates/src/main/java/nl/interestingcorner/coordinates/db/CoordinatesDatabaseManager.java @@ -120,6 +120,11 @@ public enum CoordinatesDatabaseManager implements nl.interestingcorner.core.db.D return true; } + public boolean addCoordinate(Coordinate coordinate) { + return addCoordinate(coordinate.name, coordinate.description, coordinate.position, coordinate.nether, + coordinate.world, coordinate.color); + } + /** * initializes the tables for the database. * diff --git a/ic_plugin_core/pom.xml b/ic_plugin_core/pom.xml index 57b70b8..6dede0f 100644 --- a/ic_plugin_core/pom.xml +++ b/ic_plugin_core/pom.xml @@ -9,7 +9,6 @@ jar ic_plugin_core - https://interesting-corner.nl diff --git a/ic_plugin_core/src/main/java/nl/interestingcorner/core/db/DatabaseManager.java b/ic_plugin_core/src/main/java/nl/interestingcorner/core/db/DatabaseManager.java index 76ce6c8..379da1e 100644 --- a/ic_plugin_core/src/main/java/nl/interestingcorner/core/db/DatabaseManager.java +++ b/ic_plugin_core/src/main/java/nl/interestingcorner/core/db/DatabaseManager.java @@ -40,7 +40,7 @@ public enum DatabaseManager { } /** - * Closes the connectino to the database + * Closes the connection to the database * * @return true if the connection closed succesfully, false if not. */