forked from SteamWar/SteamWar
Fixes...
This commit is contained in:
@@ -294,7 +294,7 @@ public class FlatteningWrapper14 implements FlatteningWrapper.IFlatteningWrapper
|
|||||||
ItemStack head = new ItemStack(Material.PLAYER_HEAD, 1);
|
ItemStack head = new ItemStack(Material.PLAYER_HEAD, 1);
|
||||||
SkullMeta headmeta = (SkullMeta) head.getItemMeta();
|
SkullMeta headmeta = (SkullMeta) head.getItemMeta();
|
||||||
assert headmeta != null;
|
assert headmeta != null;
|
||||||
headmeta.setOwningPlayer(Bukkit.getOfflinePlayer(player.startsWith(".") ? player.substring(1) : player));
|
headmeta.setOwningPlayer(Bukkit.getOfflinePlayer((player.startsWith(".") ? player.substring(1) : player).replaceAll("§.", "")));
|
||||||
headmeta.setDisplayName(player);
|
headmeta.setDisplayName(player);
|
||||||
head.setItemMeta(headmeta);
|
head.setItemMeta(headmeta);
|
||||||
return head;
|
return head;
|
||||||
|
|||||||
@@ -63,7 +63,6 @@ public class WorldEditWrapper14 implements WorldEditWrapper {
|
|||||||
@Override
|
@Override
|
||||||
public InputStream getPlayerClipboard(Player player, boolean schemFormat) {
|
public InputStream getPlayerClipboard(Player player, boolean schemFormat) {
|
||||||
return WorldEditWrapper.getPlayerClipboard(player, schemFormat, (outputStream, clipboard, clipboardHolder) -> {
|
return WorldEditWrapper.getPlayerClipboard(player, schemFormat, (outputStream, clipboard, clipboardHolder) -> {
|
||||||
try {
|
|
||||||
if(schemFormat){
|
if(schemFormat){
|
||||||
ClipboardWriter writer = SCHEM.getWriter(outputStream);
|
ClipboardWriter writer = SCHEM.getWriter(outputStream);
|
||||||
writer.write(clipboard);
|
writer.write(clipboard);
|
||||||
@@ -71,9 +70,6 @@ public class WorldEditWrapper14 implements WorldEditWrapper {
|
|||||||
}else{
|
}else{
|
||||||
SCHEMATIC.getWriter(outputStream).write(clipboard);
|
SCHEMATIC.getWriter(outputStream).write(clipboard);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
|
||||||
throw new RuntimeException(e.getMessage(), e);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -37,33 +37,22 @@ import com.sk89q.worldedit.regions.CuboidRegion;
|
|||||||
import com.sk89q.worldedit.regions.Region;
|
import com.sk89q.worldedit.regions.Region;
|
||||||
import com.sk89q.worldedit.session.ClipboardHolder;
|
import com.sk89q.worldedit.session.ClipboardHolder;
|
||||||
import com.sk89q.worldedit.world.registry.WorldData;
|
import com.sk89q.worldedit.world.registry.WorldData;
|
||||||
import de.steamwar.sql.NoClipboardException;
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.PipedInputStream;
|
|
||||||
import java.io.PipedOutputStream;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.logging.Level;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.util.zip.GZIPInputStream;
|
|
||||||
|
|
||||||
public class WorldEditWrapper8 implements WorldEditWrapper {
|
public class WorldEditWrapper8 implements WorldEditWrapper {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public InputStream getPlayerClipboard(Player player, boolean schemFormat) {
|
public InputStream getPlayerClipboard(Player player, boolean schemFormat) {
|
||||||
return WorldEditWrapper.getPlayerClipboard(player, schemFormat, (outputStream, clipboard, clipboardHolder) ->
|
return WorldEditWrapper.getPlayerClipboard(player, schemFormat, (outputStream, clipboard, clipboardHolder) ->
|
||||||
{
|
ClipboardFormat.SCHEMATIC.getWriter(outputStream).write(clipboard, clipboardHolder.getWorldData()));
|
||||||
try {
|
|
||||||
ClipboardFormat.SCHEMATIC.getWriter(outputStream).write(clipboard, clipboardHolder.getWorldData());
|
|
||||||
} catch (IOException e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ public class ErrorHandler extends Handler {
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
//SWException.log(message, stacktrace);
|
SWException.log(message, stacktrace);
|
||||||
} catch (SecurityException e) {
|
} catch (SecurityException e) {
|
||||||
Core.getInstance().getLogger().log(Level.INFO, "Could not log error in database", e);
|
Core.getInstance().getLogger().log(Level.INFO, "Could not log error in database", e);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,10 +22,8 @@ package de.steamwar.core;
|
|||||||
import com.sk89q.worldedit.EmptyClipboardException;
|
import com.sk89q.worldedit.EmptyClipboardException;
|
||||||
import com.sk89q.worldedit.bukkit.WorldEditPlugin;
|
import com.sk89q.worldedit.bukkit.WorldEditPlugin;
|
||||||
import com.sk89q.worldedit.extent.clipboard.Clipboard;
|
import com.sk89q.worldedit.extent.clipboard.Clipboard;
|
||||||
import com.sk89q.worldedit.extent.clipboard.io.ClipboardFormat;
|
|
||||||
import com.sk89q.worldedit.session.ClipboardHolder;
|
import com.sk89q.worldedit.session.ClipboardHolder;
|
||||||
import de.steamwar.sql.NoClipboardException;
|
import de.steamwar.sql.NoClipboardException;
|
||||||
import org.apache.logging.log4j.util.TriConsumer;
|
|
||||||
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 org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
@@ -51,7 +49,7 @@ public interface WorldEditWrapper {
|
|||||||
return (WorldEditPlugin) Bukkit.getPluginManager().getPlugin("WorldEdit");
|
return (WorldEditPlugin) Bukkit.getPluginManager().getPlugin("WorldEdit");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static InputStream getPlayerClipboard(Player player, boolean schemFormat, TriConsumer<OutputStream, Clipboard, ClipboardHolder> consumer) {
|
public static InputStream getPlayerClipboard(Player player, boolean schemFormat, SchematicWriter consumer) {
|
||||||
ClipboardHolder clipboardHolder;
|
ClipboardHolder clipboardHolder;
|
||||||
try {
|
try {
|
||||||
clipboardHolder = WorldEditWrapper.getWorldEditPlugin().getSession(player).getClipboard();
|
clipboardHolder = WorldEditWrapper.getWorldEditPlugin().getSession(player).getClipboard();
|
||||||
@@ -73,7 +71,7 @@ public interface WorldEditWrapper {
|
|||||||
|
|
||||||
new Thread(() -> {
|
new Thread(() -> {
|
||||||
try {
|
try {
|
||||||
consumer.accept(outputStream, clipboard, clipboardHolder);
|
consumer.write(outputStream, clipboard, clipboardHolder);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Core.getInstance().getLogger().log(Level.SEVERE, "Could not write schematic", e);
|
Core.getInstance().getLogger().log(Level.SEVERE, "Could not write schematic", e);
|
||||||
}
|
}
|
||||||
@@ -86,4 +84,8 @@ public interface WorldEditWrapper {
|
|||||||
|
|
||||||
return inputStream;
|
return inputStream;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static interface SchematicWriter {
|
||||||
|
void write(OutputStream outputStream, Clipboard clipboard, ClipboardHolder holder) throws IOException;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user