Fixed disguises (spells) not clearing properly when removed by the server #47

This commit is contained in:
Sollace 2022-01-26 12:05:37 +01:00
parent 6d48b1ad57
commit 66255ad61d

View file

@ -48,8 +48,13 @@ public class NetworkedReferenceSet<T> {
public boolean clear() {
dirty |= !ids.isEmpty() || !values.isEmpty();
ids.clear();
for (NetworkedReference<T> reference : values.values()) {
reference.updateReference(null);
try {
reading = true;
for (NetworkedReference<T> reference : values.values()) {
reference.updateReference(null);
}
} finally {
reading = false;
}
values.clear();
return dirty;
@ -81,7 +86,12 @@ public class NetworkedReferenceSet<T> {
NetworkedReference<T> i = values.remove(id);
if (i != null) {
dirty = true;
i.updateReference(null);
try {
reading = true;
i.updateReference(null);
} finally {
reading = false;
}
}
}