This commit is contained in:
2024-12-01 17:06:35 +01:00
parent 7927a195d6
commit 37072b1f49
5 changed files with 15 additions and 28 deletions
@@ -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;
}
} }