From 5dca846363bddd6bc967f0c93f68b0c42d7a75ce Mon Sep 17 00:00:00 2001 From: gnembon Date: Sat, 11 Dec 2021 22:30:42 +0100 Subject: [PATCH] fixes ranges of perimeterinfo. fixes #1207 --- src/main/java/carpet/commands/PerimeterInfoCommand.java | 2 +- src/main/java/carpet/utils/PerimeterDiagnostics.java | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/carpet/commands/PerimeterInfoCommand.java b/src/main/java/carpet/commands/PerimeterInfoCommand.java index d700dd3b..619fdf8d 100644 --- a/src/main/java/carpet/commands/PerimeterInfoCommand.java +++ b/src/main/java/carpet/commands/PerimeterInfoCommand.java @@ -52,7 +52,7 @@ public class PerimeterInfoCommand { nbttagcompound.putString("id", mobId); Entity baseEntity = EntityType.loadEntityWithPassengers(nbttagcompound, source.getWorld(), (entity_1x) -> { - entity_1x.refreshPositionAndAngles(new BlockPos(pos.getX(), -10, pos.getZ()), entity_1x.getYaw(), entity_1x. getPitch()); + entity_1x.refreshPositionAndAngles(new BlockPos(pos.getX(), source.getWorld().getBottomY()-10, pos.getZ()), entity_1x.getYaw(), entity_1x. getPitch()); return !source.getWorld().tryLoadEntity(entity_1x) ? null : entity_1x; }); if (!(baseEntity instanceof MobEntity)) diff --git a/src/main/java/carpet/utils/PerimeterDiagnostics.java b/src/main/java/carpet/utils/PerimeterDiagnostics.java index 257068fd..15c8f9d7 100644 --- a/src/main/java/carpet/utils/PerimeterDiagnostics.java +++ b/src/main/java/carpet/utils/PerimeterDiagnostics.java @@ -89,6 +89,8 @@ public class PerimeterDiagnostics PerimeterDiagnostics diagnostic = new PerimeterDiagnostics(worldserver,ctype,el); EntityType type = EntityType.ZOMBIE; if (el != null) type = el.getType(); + int minY = worldserver.getBottomY(); + int maxY = worldserver.getTopY(); for (int x = -128; x <= 128; ++x) { for (int z = -128; z <= 128; ++z) @@ -97,7 +99,7 @@ public class PerimeterDiagnostics { continue; } - for (int y= 0; y < 256; ++y) + for (int y= minY; y < maxY; ++y) { if ((Math.abs(y-eY)>128) ) {