forked from SteamWar/SteamWar
Fix WorldEditWrapper not loading schematics in 1.21
This commit is contained in:
@@ -67,36 +67,31 @@ public class WorldEditWrapper14 implements WorldEditWrapper {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPlayerClipboard(Player player, InputStream is, NodeData.SchematicFormat schemFormat) {
|
||||
Clipboard clipboard = null;
|
||||
try {
|
||||
clipboard = getClipboard(is, schemFormat);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e.getMessage(), e);
|
||||
}
|
||||
|
||||
if (clipboard == null)
|
||||
throw new NoClipboardException();
|
||||
|
||||
public void setPlayerClipboard(Player player, Clipboard clipboard) {
|
||||
Actor actor = WorldEditWrapper.getWorldEditPlugin().wrapCommandSender(player);
|
||||
WorldEditWrapper.getWorldEditPlugin().getWorldEdit().getSessionManager().get(actor).setClipboard(new ClipboardHolder(clipboard));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Clipboard getClipboard(InputStream is, NodeData.SchematicFormat schemFormat) throws IOException {
|
||||
try {
|
||||
public Clipboard getClipboard(NodeData data) throws IOException {
|
||||
InputStream is = data.schemData(true);
|
||||
return readClipboard(is, data.getNodeFormat());
|
||||
}
|
||||
|
||||
switch (schemFormat) {
|
||||
case SPONGE_V2:
|
||||
case SPONGE_V3:
|
||||
return new SpongeSchematicReader(new NBTInputStream(is), this).read();
|
||||
case MCEDIT:
|
||||
return new MCEditSchematicReader(new NBTInputStream(is)).read();
|
||||
default:
|
||||
throw new IOException("This schematic format is currently not supported");
|
||||
}
|
||||
} catch (NullPointerException e) {
|
||||
throw new NoClipboardException();
|
||||
@Override
|
||||
public Clipboard getClipboard(InputStream inputStream) throws IOException {
|
||||
return readClipboard(inputStream, getNativeFormat());
|
||||
}
|
||||
|
||||
private Clipboard readClipboard(InputStream is, NodeData.SchematicFormat format) throws IOException {
|
||||
switch (format) {
|
||||
case SPONGE_V2:
|
||||
case SPONGE_V3:
|
||||
return new SpongeSchematicReader(new NBTInputStream(is), this).read();
|
||||
case MCEDIT:
|
||||
return new MCEditSchematicReader(new NBTInputStream(is)).read();
|
||||
default:
|
||||
throw new IOException("This schematic format is currently not supported");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user