From cfba07ba6d26288aafb90c8c58da67c2bc4d7fca Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Sat, 24 Oct 2020 10:17:22 +0300 Subject: [PATCH] /locate command fix --- .../java/ru/betterend/util/StructureHelper.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/main/java/ru/betterend/util/StructureHelper.java b/src/main/java/ru/betterend/util/StructureHelper.java index 5b1ddf06..eabf3e21 100644 --- a/src/main/java/ru/betterend/util/StructureHelper.java +++ b/src/main/java/ru/betterend/util/StructureHelper.java @@ -7,7 +7,9 @@ import java.util.Set; import net.minecraft.server.world.ServerWorld; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.ChunkPos; +import net.minecraft.world.Heightmap; import net.minecraft.world.gen.ChunkRandom; +import net.minecraft.world.gen.chunk.ChunkGenerator; import net.minecraft.world.gen.chunk.StructureConfig; import net.minecraft.world.gen.feature.StructureFeature; @@ -21,11 +23,21 @@ public class StructureHelper { int z2 = chunkZ + radius; POSITIONS.clear(); + ChunkGenerator generator = world.getChunkManager().getChunkGenerator(); for (int x = x1; x <= x2; x += 8) { for (int z = z1; z <= z2; z += 8) { ChunkPos chunk = feature.getStartChunk(config, worldSeed, chunkRandom, x, z); if (world.getBiome(chunk.getStartPos()).getGenerationSettings().hasStructureFeature(feature)) - POSITIONS.add(chunk); + { + if (feature.getName().equals("endcity")) { + if (generator.getHeight((x << 16) | 8, (z << 16) | 8, Heightmap.Type.WORLD_SURFACE_WG) > 60) { + POSITIONS.add(chunk); + } + } + else { + POSITIONS.add(chunk); + } + } } } }