diff --git a/src/main/java/de/bixilon/minosoft/ServerListPing.java b/src/main/java/de/bixilon/minosoft/ServerListPing.java index 75c9f2cae..82f27bece 100644 --- a/src/main/java/de/bixilon/minosoft/ServerListPing.java +++ b/src/main/java/de/bixilon/minosoft/ServerListPing.java @@ -14,7 +14,6 @@ package de.bixilon.minosoft; import com.google.gson.JsonObject; -import com.google.gson.JsonParseException; import de.bixilon.minosoft.game.datatypes.TextComponent; public class ServerListPing { final JsonObject raw; @@ -46,7 +45,7 @@ public class ServerListPing { public TextComponent getMotd() { try { return new TextComponent(raw.getAsJsonObject("description")); - } catch (JsonParseException ignored) { + } catch (Exception ignored) { } return new TextComponent(raw.get("description").getAsString()); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/TextComponent.java b/src/main/java/de/bixilon/minosoft/game/datatypes/TextComponent.java index edd1fc513..1189a5a3f 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/TextComponent.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/TextComponent.java @@ -30,7 +30,7 @@ public class TextComponent { } try { this.json = JsonParser.parseString(raw).getAsJsonObject(); - } catch (IllegalStateException e) { + } catch (Exception e) { // not a text component, is a legacy string this.json = new JsonObject(); JsonArray extra = new JsonArray(); diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/objectLoader/enchantments/Enchantment.java b/src/main/java/de/bixilon/minosoft/game/datatypes/objectLoader/enchantments/Enchantment.java index 1575b3aaf..c8783b009 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/objectLoader/enchantments/Enchantment.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/objectLoader/enchantments/Enchantment.java @@ -35,11 +35,19 @@ public class Enchantment { return String.format("%s:%s", getMod(), getIdentifier()); } + @Override + public int hashCode() { + return mod.hashCode() * identifier.hashCode(); + } + @Override public boolean equals(Object obj) { if (super.equals(obj)) { return true; } + if (hashCode() != obj.hashCode()) { + return false; + } Enchantment their = (Enchantment) obj; return getIdentifier().equals(their.getIdentifier()) && getMod().equals(their.getMod()); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/objectLoader/statistics/Statistic.java b/src/main/java/de/bixilon/minosoft/game/datatypes/objectLoader/statistics/Statistic.java index 123a9887f..63a10ffd0 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/objectLoader/statistics/Statistic.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/objectLoader/statistics/Statistic.java @@ -35,11 +35,19 @@ public class Statistic { return String.format("%s:%s", getMod(), getIdentifier()); } + @Override + public int hashCode() { + return mod.hashCode() * identifier.hashCode(); + } + @Override public boolean equals(Object obj) { if (super.equals(obj)) { return true; } + if (hashCode() != obj.hashCode()) { + return false; + } return toString().equals(obj.toString()); } }