X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Frhynodge%2Floader%2FChain.java;h=d54fae079904c898c143c72929859b95b284d8fc;hb=752bf043b7b26d5e89f6c907bddcec8bd12cd34e;hp=2587d0941a053b29044831d110dc2f87c707fd2f;hpb=1fb66d5eb584966802911657ec88f17bca196699;p=rhynodge.git diff --git a/src/main/java/net/pterodactylus/rhynodge/loader/Chain.java b/src/main/java/net/pterodactylus/rhynodge/loader/Chain.java index 2587d09..d54fae0 100644 --- a/src/main/java/net/pterodactylus/rhynodge/loader/Chain.java +++ b/src/main/java/net/pterodactylus/rhynodge/loader/Chain.java @@ -279,11 +279,15 @@ public class Chain { public int hashCode() { int hashCode = 0; hashCode ^= name.hashCode(); - hashCode ^= query.hashCode(); - for (Part filter : filters) { - hashCode ^= filter.hashCode(); + if (watcher != null) { + hashCode ^= watcher.hashCode(); + } else { + hashCode ^= query.hashCode(); + for (Part filter : filters) { + hashCode ^= filter.hashCode(); + } + hashCode ^= trigger.hashCode(); } - hashCode ^= trigger.hashCode(); hashCode ^= action.hashCode(); hashCode ^= updateInterval; return hashCode; @@ -301,19 +305,25 @@ public class Chain { if (!name.equals(chain.name)) { return false; } - if (!query.equals(chain.query)) { - return false; - } - if (filters.size() != chain.filters.size()) { - return false; - } - for (int filterIndex = 0; filterIndex < filters.size(); ++filterIndex) { - if (!filters.get(filterIndex).equals(chain.filters.get(filterIndex))) { + if (watcher != null) { + if (!watcher.equals(chain.watcher)) { + return false; + } + } else { + if (!query.equals(chain.query)) { + return false; + } + if (filters.size() != chain.filters.size()) { + return false; + } + for (int filterIndex = 0; filterIndex < filters.size(); ++filterIndex) { + if (!filters.get(filterIndex).equals(chain.filters.get(filterIndex))) { + return false; + } + } + if (!trigger.equals(chain.trigger)) { return false; } - } - if (!trigger.equals(chain.trigger)) { - return false; } if (!action.equals(chain.action)) { return false;