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

Commit adbdf87

Browse files
committed
Fix preloading incorrect chunks in Schematic#build() implementations
1 parent c7952bf commit adbdf87

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,11 +126,11 @@ public CompletableFuture<Region> build(Instance instance, Pos position) {
126126

127127
List<CompletableFuture<Void>> futures = new ArrayList<>();
128128
for (Region.Block regionBlock : regionBlocks) {
129-
Pos blockPosition = regionBlock.position();
129+
Pos absoluteBlockPosition = regionBlock.position().add(position);
130130
short stateId = regionBlock.stateId();
131131

132132
Block block = Block.fromStateId(stateId);
133-
if (block != null) futures.add(instance.loadOptionalChunk(blockPosition).thenRun(() -> blockBatch.setBlock(blockPosition.add(position), block)));
133+
if (block != null) futures.add(instance.loadOptionalChunk(absoluteBlockPosition).thenRun(() -> blockBatch.setBlock(absoluteBlockPosition, block)));
134134
}
135135

136136
CompletableFuture.allOf(futures.toArray(new CompletableFuture[]{})).join();

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,11 +146,11 @@ public CompletableFuture<Region> build(Instance instance, Pos position) {
146146

147147
List<CompletableFuture<Void>> futures = new ArrayList<>();
148148
for (Region.Block regionBlock : regionBlocks) {
149-
Pos blockPosition = regionBlock.position();
149+
Pos absoluteBlockPosition = regionBlock.position().add(position);
150150
short stateId = regionBlock.stateId();
151151

152152
Block block = Block.fromStateId(stateId);
153-
if (block != null) futures.add(instance.loadOptionalChunk(blockPosition).thenRun(() -> blockBatch.setBlock(blockPosition.add(position), block)));
153+
if (block != null) futures.add(instance.loadOptionalChunk(absoluteBlockPosition).thenRun(() -> blockBatch.setBlock(absoluteBlockPosition, block)));
154154
}
155155

156156
CompletableFuture.allOf(futures.toArray(new CompletableFuture[]{})).join();

0 commit comments

Comments
 (0)