Skip to content
This repository was archived by the owner on May 27, 2023. It is now read-only.

Commit 20502c6

Browse files
committed
fix: Fix schematic placement
1 parent 45b1da1 commit 20502c6

File tree

2 files changed

+19
-12
lines changed

2 files changed

+19
-12
lines changed

src/main/java/net/crystalgames/scaffolding/schematic/impl/MCEditSchematic.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
package net.crystalgames.scaffolding.schematic.impl;
22

3+
import java.io.OutputStream;
4+
import java.util.ArrayList;
5+
import java.util.List;
6+
import java.util.Objects;
7+
import java.util.concurrent.CompletableFuture;
38
import net.crystalgames.scaffolding.region.Region;
49
import net.crystalgames.scaffolding.schematic.Schematic;
510
import net.minestom.server.coordinate.Pos;
@@ -11,12 +16,6 @@
1116
import org.jglrxavpok.hephaistos.nbt.NBTCompound;
1217
import org.jglrxavpok.hephaistos.nbt.NBTException;
1318

14-
import java.io.OutputStream;
15-
import java.util.ArrayList;
16-
import java.util.List;
17-
import java.util.Objects;
18-
import java.util.concurrent.CompletableFuture;
19-
2019
// https://github.com/EngineHub/WorldEdit/blob/version/5.x/src/main/java/com/sk89q/worldedit/schematic/MCEditSchematicFormat.java
2120
public class MCEditSchematic implements Schematic {
2221

@@ -110,7 +109,9 @@ public CompletableFuture<Region> build(Instance instance, Pos position) {
110109
short stateId = regionBlock.stateId();
111110

112111
Block block = Block.fromStateId(stateId);
113-
if (block != null) blockBatch.setBlock(blockPosition, block);
112+
if (block != null) {
113+
blockBatch.setBlock(blockPosition.add(position), block);
114+
}
114115
}
115116

116117
blockBatch.apply(instance, () -> future.complete(new Region(instance, position, position.add(width, height, length))));

src/main/java/net/crystalgames/scaffolding/schematic/impl/SpongeSchematic.java

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
package net.crystalgames.scaffolding.schematic.impl;
22

3+
import java.io.OutputStream;
4+
import java.util.ArrayList;
5+
import java.util.HashMap;
6+
import java.util.LinkedHashMap;
7+
import java.util.List;
8+
import java.util.Map;
9+
import java.util.Set;
10+
import java.util.concurrent.CompletableFuture;
311
import net.crystalgames.scaffolding.region.Region;
412
import net.crystalgames.scaffolding.schematic.Schematic;
513
import net.minestom.server.coordinate.Pos;
@@ -11,10 +19,6 @@
1119
import org.jglrxavpok.hephaistos.nbt.NBTCompound;
1220
import org.jglrxavpok.hephaistos.nbt.NBTException;
1321

14-
import java.io.OutputStream;
15-
import java.util.*;
16-
import java.util.concurrent.CompletableFuture;
17-
1822
// https://github.com/EngineHub/WorldEdit/blob/303f5a76b2df70d63480f2126c9ef4b228eb3c59/worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/io/SpongeSchematicReader.java#L261-L297
1923
public class SpongeSchematic implements Schematic {
2024

@@ -129,7 +133,9 @@ public CompletableFuture<Region> build(Instance instance, Pos position) {
129133
short stateId = regionBlock.stateId();
130134

131135
Block block = Block.fromStateId(stateId);
132-
if (block != null) blockBatch.setBlock(blockPosition, block);
136+
if (block != null) {
137+
blockBatch.setBlock(blockPosition.add(position), block);
138+
}
133139
}
134140

135141
blockBatch.apply(instance, () -> future.complete(new Region(instance, position, position.add(width, height, length))));

0 commit comments

Comments
 (0)