diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/io/FastSchematicReader.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/io/FastSchematicReader.java index 35a2f379b..9fdebeb06 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/io/FastSchematicReader.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/io/FastSchematicReader.java @@ -99,6 +99,7 @@ public class FastSchematicReader extends NBTSchematicReader { private char[] biomePalette; private BlockVector3 min = BlockVector3.ZERO; private boolean brokenEntities = false; + private boolean isWorldEdit = false; /** @@ -171,6 +172,10 @@ public class FastSchematicReader extends NBTSchematicReader { metadata.add("WEOffsetZ").withInt((i, v) -> offsetZ = v); metadata.add("FAWEVersion").withInt((i, v) -> faweWritten = v); + StreamDelegate worldEditSection = metadata.add("WorldEdit"); + worldEditSection.withValue((ValueReader) (index, v) -> isWorldEdit = true); + + StreamDelegate paletteDelegate = schematic.add("Palette"); paletteDelegate.withValue((ValueReader>) (ignore, v) -> { palette = new char[v.size()]; @@ -389,7 +394,7 @@ public class FastSchematicReader extends NBTSchematicReader { clipboard.createEntity(loc, state); continue; } - if (faweWritten == -1) { + if (!isWorldEdit && faweWritten == -1) { int locX = loc.getBlockX(); int locY = loc.getBlockY(); int locZ = loc.getBlockZ();