forked from SteamWar/SteamWar
Fixes...
This commit is contained in:
@@ -65,10 +65,6 @@ public class NodeData {
|
|||||||
private SchematicFormat nodeFormat;
|
private SchematicFormat nodeFormat;
|
||||||
|
|
||||||
public InputStream schemData() throws IOException {
|
public InputStream schemData() throws IOException {
|
||||||
return new GZIPInputStream(schemDataRaw());
|
|
||||||
}
|
|
||||||
|
|
||||||
public InputStream schemDataRaw() throws IOException {
|
|
||||||
try {
|
try {
|
||||||
return selSchemData.select(rs -> {
|
return selSchemData.select(rs -> {
|
||||||
rs.next();
|
rs.next();
|
||||||
@@ -96,8 +92,8 @@ public class NodeData {
|
|||||||
@Getter
|
@Getter
|
||||||
public enum SchematicFormat {
|
public enum SchematicFormat {
|
||||||
MCEDIT(".schematic"),
|
MCEDIT(".schematic"),
|
||||||
V2(".schem"),
|
SPONGE_V2(".schem"),
|
||||||
V3(".schem");
|
SPONGE_V3(".schem");
|
||||||
|
|
||||||
private final String fileEnding;
|
private final String fileEnding;
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -145,6 +145,6 @@ public class WorldeditWrapper14 implements WorldeditWrapper {
|
|||||||
throw new SecurityException(e);
|
throw new SecurityException(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
new SchematicData(schem).saveFromBytes(outputStream.toByteArray(), NodeData.SchematicFormat.V2);
|
new SchematicData(schem).saveFromBytes(outputStream.toByteArray(), NodeData.SchematicFormat.SPONGE_V2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ package de.steamwar.core;
|
|||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.Maps;
|
import com.google.common.collect.Maps;
|
||||||
import com.sk89q.jnbt.*;
|
import com.sk89q.jnbt.*;
|
||||||
import com.sk89q.worldedit.EmptyClipboardException;
|
|
||||||
import com.sk89q.worldedit.WorldEdit;
|
import com.sk89q.worldedit.WorldEdit;
|
||||||
import com.sk89q.worldedit.WorldEditException;
|
import com.sk89q.worldedit.WorldEditException;
|
||||||
import com.sk89q.worldedit.extension.input.InputParseException;
|
import com.sk89q.worldedit.extension.input.InputParseException;
|
||||||
@@ -51,7 +50,6 @@ import org.bukkit.util.Vector;
|
|||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.logging.Level;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static com.google.common.base.Preconditions.checkNotNull;
|
import static com.google.common.base.Preconditions.checkNotNull;
|
||||||
@@ -88,7 +86,8 @@ public class WorldEditWrapper14 implements WorldEditWrapper {
|
|||||||
try {
|
try {
|
||||||
|
|
||||||
switch (schemFormat) {
|
switch (schemFormat) {
|
||||||
case V2:
|
case SPONGE_V2:
|
||||||
|
case SPONGE_V3:
|
||||||
return new SpongeSchematicReader(new NBTInputStream(is)).read();
|
return new SpongeSchematicReader(new NBTInputStream(is)).read();
|
||||||
case MCEDIT:
|
case MCEDIT:
|
||||||
return new MCEditSchematicReader(new NBTInputStream(is)).read();
|
return new MCEditSchematicReader(new NBTInputStream(is)).read();
|
||||||
|
|||||||
@@ -19,7 +19,6 @@
|
|||||||
|
|
||||||
package de.steamwar.core;
|
package de.steamwar.core;
|
||||||
|
|
||||||
import com.fastasyncworldedit.core.extent.clipboard.io.FastSchematicReader;
|
|
||||||
import com.sk89q.jnbt.NBTInputStream;
|
import com.sk89q.jnbt.NBTInputStream;
|
||||||
import com.sk89q.worldedit.extent.clipboard.Clipboard;
|
import com.sk89q.worldedit.extent.clipboard.Clipboard;
|
||||||
import com.sk89q.worldedit.extent.clipboard.io.*;
|
import com.sk89q.worldedit.extent.clipboard.io.*;
|
||||||
@@ -40,7 +39,7 @@ public class WorldEditWrapper18 extends WorldEditWrapper14 {
|
|||||||
switch (schemFormat) {
|
switch (schemFormat) {
|
||||||
case MCEDIT:
|
case MCEDIT:
|
||||||
return new MCEditSchematicReader(nbtStream).read();
|
return new MCEditSchematicReader(nbtStream).read();
|
||||||
case V2:
|
case SPONGE_V2:
|
||||||
return new SpongeSchematicReader(nbtStream).read();
|
return new SpongeSchematicReader(nbtStream).read();
|
||||||
default:
|
default:
|
||||||
throw new IllegalArgumentException("Unsupported schematic format");
|
throw new IllegalArgumentException("Unsupported schematic format");
|
||||||
|
|||||||
@@ -67,8 +67,8 @@ public class WorldEditWrapper21 implements WorldEditWrapper {
|
|||||||
public Clipboard getClipboard(InputStream is, NodeData.SchematicFormat schemFormat) throws IOException {
|
public Clipboard getClipboard(InputStream is, NodeData.SchematicFormat schemFormat) throws IOException {
|
||||||
return switch (schemFormat) {
|
return switch (schemFormat) {
|
||||||
case MCEDIT -> new MCEditSchematicReader(new NBTInputStream(is)).read();
|
case MCEDIT -> new MCEditSchematicReader(new NBTInputStream(is)).read();
|
||||||
case V2 -> new FastSchematicReaderV2(new NBTInputStream(is)).read();
|
case SPONGE_V2 -> new FastSchematicReaderV2(new NBTInputStream(is)).read();
|
||||||
case V3 -> new FaWeSchematicReaderV3(is).read();
|
case SPONGE_V3 -> new FaWeSchematicReaderV3(is).read();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -75,8 +75,8 @@ public class WorldEditWrapper8 implements WorldEditWrapper {
|
|||||||
switch (schemFormat) {
|
switch (schemFormat) {
|
||||||
case MCEDIT:
|
case MCEDIT:
|
||||||
return new SchematicReader(new NBTInputStream(is)).read(WorldEdit.getInstance().getServer().getWorlds().get(0).getWorldData());
|
return new SchematicReader(new NBTInputStream(is)).read(WorldEdit.getInstance().getServer().getWorlds().get(0).getWorldData());
|
||||||
case V2:
|
case SPONGE_V2:
|
||||||
case V3:
|
case SPONGE_V3:
|
||||||
return new SpongeSchematicReader(new NBTInputStream(is)).read(WorldEdit.getInstance().getServer().getWorlds().get(0).getWorldData());
|
return new SpongeSchematicReader(new NBTInputStream(is)).read(WorldEdit.getInstance().getServer().getWorlds().get(0).getWorldData());
|
||||||
default:
|
default:
|
||||||
throw new IllegalArgumentException("Unsupported schematic format");
|
throw new IllegalArgumentException("Unsupported schematic format");
|
||||||
|
|||||||
@@ -27,14 +27,11 @@ import de.steamwar.sql.NoClipboardException;
|
|||||||
import com.sk89q.worldedit.math.transform.Transform;
|
import com.sk89q.worldedit.math.transform.Transform;
|
||||||
import com.sk89q.worldedit.regions.Region;
|
import com.sk89q.worldedit.regions.Region;
|
||||||
import de.steamwar.sql.NodeData;
|
import de.steamwar.sql.NodeData;
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Data;
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.util.concurrent.CompletableFuture;
|
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
public interface WorldEditWrapper {
|
public interface WorldEditWrapper {
|
||||||
@@ -93,9 +90,9 @@ public interface WorldEditWrapper {
|
|||||||
if (Core.getVersion() <= 12) {
|
if (Core.getVersion() <= 12) {
|
||||||
return NodeData.SchematicFormat.MCEDIT;
|
return NodeData.SchematicFormat.MCEDIT;
|
||||||
} else if (Core.getVersion() <= 20) {
|
} else if (Core.getVersion() <= 20) {
|
||||||
return NodeData.SchematicFormat.V2;
|
return NodeData.SchematicFormat.SPONGE_V2;
|
||||||
} else {
|
} else {
|
||||||
return NodeData.SchematicFormat.V3;
|
return NodeData.SchematicFormat.SPONGE_V3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ public class DiscordSchemUpload extends ListenerAdapter {
|
|||||||
node = SchematicNode.createSchematic(user.getId(), name, null);
|
node = SchematicNode.createSchematic(user.getId(), name, null);
|
||||||
|
|
||||||
try (InputStream in = attachment.getProxy().download().get()) {
|
try (InputStream in = attachment.getProxy().download().get()) {
|
||||||
NodeData.get(node).saveFromStream(in, fileName.substring(dot).equalsIgnoreCase(".schem") ? NodeData.SchematicFormat.V2 : NodeData.SchematicFormat.MCEDIT);
|
NodeData.get(node).saveFromStream(in, fileName.substring(dot).equalsIgnoreCase(".schem") ? NodeData.SchematicFormat.SPONGE_V2 : NodeData.SchematicFormat.MCEDIT);
|
||||||
sender.system("DC_SCHEMUPLOAD_SUCCESS", name);
|
sender.system("DC_SCHEMUPLOAD_SUCCESS", name);
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
Thread.currentThread().interrupt();
|
Thread.currentThread().interrupt();
|
||||||
|
|||||||
Reference in New Issue
Block a user