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,11 +201,13 @@ 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);
Player viewer = getCurrentViewer();
if (viewer != null) {
viewer.closeInventory();
handleClosed(); handleClosed();
} }
}
@Override @Override
public void show() { public void show() {