Flush clipboard rather than close on player disconnect

Addresses #1291
This commit is contained in:
dordsor21
2021-09-13 15:08:03 +01:00
parent 3088b1245c
commit 06d716248e
5 changed files with 39 additions and 5 deletions

View File

@ -61,4 +61,11 @@ public class LazyClipboardHolder extends URIClipboardHolder {
clipboard = null;
}
@Override
public synchronized void flush() {
if (clipboard instanceof BlockArrayClipboard) {
clipboard.flush();
}
}
}

View File

@ -3,6 +3,7 @@ package com.fastasyncworldedit.core.extent.clipboard;
import com.sk89q.worldedit.extent.clipboard.Clipboard;
import com.sk89q.worldedit.session.ClipboardHolder;
import java.io.IOException;
import java.net.URI;
import java.util.ArrayList;
import java.util.HashSet;
@ -183,4 +184,15 @@ public class MultiClipboardHolder extends URIClipboardHolder {
}
}
@Override
public void flush() {
for (ClipboardHolder holder : holders) {
try {
holder.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}