From c16b03c0e98ed20c9fbb0fabd6fa9dea5be923c6 Mon Sep 17 00:00:00 2001 From: StartsMercury <89975834+StartsMercury@users.noreply.github.com> Date: Sat, 1 Feb 2025 13:43:36 +0800 Subject: [PATCH] Implement equals and hashcode for time types --- .../impl/client/config/RebuildInterval.java | 16 ++++++++++++++++ .../impl/client/config/TransitionDuration.java | 17 +++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/src/client/java/io/github/startsmercury/visual_snowy_leaves/impl/client/config/RebuildInterval.java b/src/client/java/io/github/startsmercury/visual_snowy_leaves/impl/client/config/RebuildInterval.java index 5cbce85..03f3ecd 100644 --- a/src/client/java/io/github/startsmercury/visual_snowy_leaves/impl/client/config/RebuildInterval.java +++ b/src/client/java/io/github/startsmercury/visual_snowy_leaves/impl/client/config/RebuildInterval.java @@ -55,4 +55,20 @@ public int asHours() { public int compareTo(final RebuildInterval rhs) { return Integer.compareUnsigned(this.ticks, rhs.ticks); } + + @Override + public boolean equals(final Object obj) { + if (this == obj) { + return true; + } else if (obj instanceof final RebuildInterval other) { + return this.ticks == other.ticks; + } else { + return false; + } + } + + @Override + public int hashCode() { + return Integer.hashCode(this.ticks); + } } diff --git a/src/client/java/io/github/startsmercury/visual_snowy_leaves/impl/client/config/TransitionDuration.java b/src/client/java/io/github/startsmercury/visual_snowy_leaves/impl/client/config/TransitionDuration.java index a63b8f7..9b0d765 100644 --- a/src/client/java/io/github/startsmercury/visual_snowy_leaves/impl/client/config/TransitionDuration.java +++ b/src/client/java/io/github/startsmercury/visual_snowy_leaves/impl/client/config/TransitionDuration.java @@ -6,6 +6,7 @@ import net.minecraft.SharedConstants; import java.time.Duration; +import java.util.Objects; import static io.github.startsmercury.visual_snowy_leaves.impl.client.VslConstants.Duration.ONE_TICK; @@ -102,4 +103,20 @@ public int asHours() { public int compareTo(final TransitionDuration rhs) { return Integer.compareUnsigned(this.ticks, rhs.ticks); } + + @Override + public boolean equals(final Object obj) { + if (this == obj) { + return true; + } else if (obj instanceof final TransitionDuration other) { + return this.ticks == other.ticks; + } else { + return false; + } + } + + @Override + public int hashCode() { + return Integer.hashCode(this.ticks); + } }