diff --git a/core/src/main/java/com/boydti/fawe/jnbt/SchematicStreamer.java b/core/src/main/java/com/boydti/fawe/jnbt/SchematicStreamer.java index 2a1948b3..7f21ce8a 100644 --- a/core/src/main/java/com/boydti/fawe/jnbt/SchematicStreamer.java +++ b/core/src/main/java/com/boydti/fawe/jnbt/SchematicStreamer.java @@ -33,9 +33,15 @@ public class SchematicStreamer extends NBTStreamer { setupClipboard(length); } }; + NBTStreamReader initializer2 = new NBTStreamReader() { + @Override + public void run(Integer length, Integer type) { + setupClipboard(length*2); + } + }; addReader("Schematic.Blocks.?", initializer); addReader("Schematic.Data.?", initializer); - addReader("Schematic.AddBlocks.?", initializer); + addReader("Schematic.AddBlocks.?", initializer2); addReader("Schematic.Blocks.#", new ByteReader() { @Override public void run(int index, int value) { diff --git a/core/src/main/java/com/boydti/fawe/object/clipboard/DiskOptimizedClipboard.java b/core/src/main/java/com/boydti/fawe/object/clipboard/DiskOptimizedClipboard.java index 4474dc6c..47a6a995 100644 --- a/core/src/main/java/com/boydti/fawe/object/clipboard/DiskOptimizedClipboard.java +++ b/core/src/main/java/com/boydti/fawe/object/clipboard/DiskOptimizedClipboard.java @@ -238,6 +238,8 @@ public class DiskOptimizedClipboard extends FaweClipboard implements Closeable { area = width * length; volume = width * length * height; long size = width * height * length * 2l + HEADER_SIZE + (hasBiomes() ? area : 0); + close(); + this.braf = new RandomAccessFile(file, "rw"); braf.setLength(size); init(); mbb.putChar(2, (char) width);