Update BaseWindow.java

This commit is contained in:
NichtStudioCode 2021-09-11 21:19:09 +02:00
parent e765daa00f
commit ccbe5a8e0f

@ -175,6 +175,8 @@ public abstract class BaseWindow implements Window {
@Override @Override
public void close(boolean closeForViewer) { public void close(boolean closeForViewer) {
if (closed) return;
closed = true; closed = true;
WindowManager.getInstance().removeWindow(this); WindowManager.getInstance().removeWindow(this);
@ -199,10 +201,12 @@ public abstract class BaseWindow implements Window {
@Override @Override
public void closeForViewer() { public void closeForViewer() {
closeable = true; closeable = true;
// clone list to prevent ConcurrentModificationException
new ArrayList<>(getInventories()[0].getViewers()).forEach(HumanEntity::closeInventory);
handleClosed(); Player viewer = getCurrentViewer();
if (viewer != null) {
viewer.closeInventory();
handleClosed();
}
} }
@Override @Override