From 300e963b0b3007be1865d3ad468186268bd4b152 Mon Sep 17 00:00:00 2001 From: gnembon Date: Sat, 2 May 2020 14:44:11 -0300 Subject: [PATCH] biome and structure calls should only request status they need. --- src/main/java/carpet/script/CarpetExpression.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/carpet/script/CarpetExpression.java b/src/main/java/carpet/script/CarpetExpression.java index 03e42147..85837f2d 100644 --- a/src/main/java/carpet/script/CarpetExpression.java +++ b/src/main/java/carpet/script/CarpetExpression.java @@ -1088,7 +1088,7 @@ public class CarpetExpression throw new InternalExpressionException("Unknown biome: "+biomeName); ServerWorld world = cc.s.getWorld(); BlockPos pos = locator.block.getPos(); - Chunk chunk = world.getChunk(pos); + Chunk chunk = world.getChunk(pos.getX() >> 4, pos.getZ() >> 4, ChunkStatus.BIOMES); ((BiomeArrayInterface)chunk.getBiomeArray()).setBiomeAtIndex(pos, world, biome); this.forceChunkUpdate(pos, world); return LazyValue.NULL; @@ -1099,7 +1099,7 @@ public class CarpetExpression BlockArgument locator = BlockArgument.findIn(cc, lv, 0); ServerWorld world = cc.s.getWorld(); BlockPos pos = locator.block.getPos(); - Map references = world.getChunk(pos).getStructureReferences(); + Map references = world.getChunk(pos.getX() >> 4, pos.getZ() >> 4, ChunkStatus.STRUCTURE_REFERENCES).getStructureReferences(); if (lv.size() == locator.offset) { List referenceList = references.entrySet().stream(). @@ -1125,7 +1125,7 @@ public class CarpetExpression ServerWorld world = cc.s.getWorld(); BlockPos pos = locator.block.getPos(); - Map structures = world.getChunk(pos).getStructureStarts(); + Map structures = world.getChunk(pos.getX() >> 4, pos.getZ() >> 4, ChunkStatus.STRUCTURE_STARTS).getStructureStarts(); if (lv.size() == locator.offset) { Map structureList = new HashMap<>();