From 4347901cab02f3636622f2f283fd4e90bd67328f Mon Sep 17 00:00:00 2001 From: fullwall Date: Mon, 22 Aug 2022 23:05:57 +0800 Subject: [PATCH] Backport changes --- .../nms/v1_16_R3/util/PlayerNavigation.java | 4 ++-- .../nms/v1_17_R1/util/PlayerNavigation.java | 12 ++++++------ .../nms/v1_18_R2/util/PlayerNavigation.java | 6 +++--- .../nms/v1_8_R3/util/PlayerNavigation.java | 4 ++-- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/v1_16_R3/src/main/java/net/citizensnpcs/nms/v1_16_R3/util/PlayerNavigation.java b/v1_16_R3/src/main/java/net/citizensnpcs/nms/v1_16_R3/util/PlayerNavigation.java index 1a0a3ccf4..bc338fded 100644 --- a/v1_16_R3/src/main/java/net/citizensnpcs/nms/v1_16_R3/util/PlayerNavigation.java +++ b/v1_16_R3/src/main/java/net/citizensnpcs/nms/v1_16_R3/util/PlayerNavigation.java @@ -450,9 +450,9 @@ public class PlayerNavigation extends NavigationAbstract { Vec3D var0 = b(); this.l = (this.a.getWidth() > 0.75F) ? (this.a.getWidth() / 2.0F) : (0.75F - this.a.getWidth() / 2.0F); BaseBlockPosition var1 = this.c.g(); - double var2 = Math.abs(this.a.locX() - var1.getX() + 0.5D); + double var2 = Math.abs(this.a.locX() - (var1.getX() + 0.5D)); double var4 = Math.abs(this.a.locY() - var1.getY()); - double var6 = Math.abs(this.a.locZ() - var1.getZ() + 0.5D); + double var6 = Math.abs(this.a.locZ() - (var1.getZ() + 0.5D)); boolean var8 = (var2 < this.l && var6 < this.l && var4 < 1.0D); boolean b2 = Math.abs(this.a.locX() - (var1.getX() + 0.5D)) < this.l && Math.abs(this.a.locZ() - (var1.getZ() + 0.5D)) < this.l diff --git a/v1_17_R1/src/main/java/net/citizensnpcs/nms/v1_17_R1/util/PlayerNavigation.java b/v1_17_R1/src/main/java/net/citizensnpcs/nms/v1_17_R1/util/PlayerNavigation.java index 7d024513c..6370b8539 100644 --- a/v1_17_R1/src/main/java/net/citizensnpcs/nms/v1_17_R1/util/PlayerNavigation.java +++ b/v1_17_R1/src/main/java/net/citizensnpcs/nms/v1_17_R1/util/PlayerNavigation.java @@ -137,8 +137,8 @@ public class PlayerNavigation extends PathNavigation { double var9) { for (BlockPos var12 : BlockPos.betweenClosed(new BlockPos(var0, var1, var2), new BlockPos(var0 + var3 - 1, var1 + var4 - 1, var2 + var5 - 1))) { - double var13 = var12.getX() + 0.5D - var6.x; - double var15 = var12.getZ() + 0.5D - var6.z; + double var13 = (var12.getX() + 0.5D) - var6.x; + double var15 = (var12.getZ() + 0.5D) - var6.z; if (var13 * var7 + var15 * var9 < 0.0D) continue; if (!this.level.getBlockState(var12).isPathfindable(this.level, var12, PathComputationType.LAND)) @@ -155,8 +155,8 @@ public class PlayerNavigation extends PathNavigation { return false; for (int var13 = var11; var13 < var11 + var3; var13++) { for (int var14 = var12; var14 < var12 + var5; var14++) { - double var15 = var13 + 0.5D - var6.x; - double var17 = var14 + 0.5D - var6.z; + double var15 = (var13 + 0.5D) - var6.x; + double var17 = (var14 + 0.5D) - var6.z; if (var15 * var7 + var17 * var9 >= 0.0D) { BlockPathTypes var19 = this.nodeEvaluator.getBlockPathType(this.level, var13, var1 - 1, var14, this.mob, var3, var4, var5, true, true); @@ -282,9 +282,9 @@ public class PlayerNavigation extends PathNavigation { this.maxDistanceToWaypoint = (this.mob.getBbWidth() > 0.75F) ? (this.mob.getBbWidth() / 2.0F) : (0.75F - this.mob.getBbWidth() / 2.0F); BlockPos blockPos = this.path.getNextNodePos(); - double var2 = Math.abs(this.mob.getX() - blockPos.getX() + 0.5D); + double var2 = Math.abs(this.mob.getX() - (blockPos.getX() + 0.5D)); double var4 = Math.abs(this.mob.getY() - blockPos.getY()); - double var6 = Math.abs(this.mob.getZ() - blockPos.getZ() + 0.5D); + double var6 = Math.abs(this.mob.getZ() - (blockPos.getZ() + 0.5D)); boolean var8 = (var2 < this.maxDistanceToWaypoint && var6 < this.maxDistanceToWaypoint && var4 < 1.0D); if (var8 || (this.mob.canCutCorner((this.path.getNextNode()).type) && shouldTargetNextNodeInDirection(var0))) this.path.advance(); diff --git a/v1_18_R2/src/main/java/net/citizensnpcs/nms/v1_18_R2/util/PlayerNavigation.java b/v1_18_R2/src/main/java/net/citizensnpcs/nms/v1_18_R2/util/PlayerNavigation.java index 71b1a79f3..f964f3434 100644 --- a/v1_18_R2/src/main/java/net/citizensnpcs/nms/v1_18_R2/util/PlayerNavigation.java +++ b/v1_18_R2/src/main/java/net/citizensnpcs/nms/v1_18_R2/util/PlayerNavigation.java @@ -147,7 +147,7 @@ public class PlayerNavigation extends PathNavigation { } return true; } - + private boolean canWalkOn(int var0, int var1, int var2, int var3, int var4, int var5, Vec3 var6, double var7, double var9) { int var11 = var0 - var3 / 2; @@ -283,9 +283,9 @@ public class PlayerNavigation extends PathNavigation { this.maxDistanceToWaypoint = (this.mob.getBbWidth() > 0.75F) ? (this.mob.getBbWidth() / 2.0F) : (0.75F - this.mob.getBbWidth() / 2.0F); BlockPos blockPos = this.path.getNextNodePos(); - double var2 = Math.abs(this.mob.getX() - blockPos.getX() + 0.5D); + double var2 = Math.abs(this.mob.getX() - (blockPos.getX() + 0.5D)); double var4 = Math.abs(this.mob.getY() - blockPos.getY()); - double var6 = Math.abs(this.mob.getZ() - blockPos.getZ() + 0.5D); + double var6 = Math.abs(this.mob.getZ() - (blockPos.getZ() + 0.5D)); boolean var8 = (var2 < this.maxDistanceToWaypoint && var6 < this.maxDistanceToWaypoint && var4 < 1.0D); if (var8 || (this.mob.canCutCorner((this.path.getNextNode()).type) && shouldTargetNextNodeInDirection(var0))) this.path.advance(); diff --git a/v1_8_R3/src/main/java/net/citizensnpcs/nms/v1_8_R3/util/PlayerNavigation.java b/v1_8_R3/src/main/java/net/citizensnpcs/nms/v1_8_R3/util/PlayerNavigation.java index a75f15884..8201aa2fd 100644 --- a/v1_8_R3/src/main/java/net/citizensnpcs/nms/v1_8_R3/util/PlayerNavigation.java +++ b/v1_8_R3/src/main/java/net/citizensnpcs/nms/v1_8_R3/util/PlayerNavigation.java @@ -250,8 +250,8 @@ public class PlayerNavigation extends NavigationAbstract { Vec3D paramVec3D, double paramDouble1, double paramDouble2) { for (BlockPosition localBlockPosition : BlockPosition.a(new BlockPosition(paramInt1, paramInt2, paramInt3), new BlockPosition(paramInt1 + paramInt4 - 1, paramInt2 + paramInt5 - 1, paramInt3 + paramInt6 - 1))) { - double d1 = localBlockPosition.getX() + 0.5D - paramVec3D.a; - double d2 = localBlockPosition.getZ() + 0.5D - paramVec3D.c; + double d1 = (localBlockPosition.getX() + 0.5D) - paramVec3D.a; + double d2 = (localBlockPosition.getZ() + 0.5D) - paramVec3D.c; if (d1 * paramDouble1 + d2 * paramDouble2 >= 0.0D) { Block localBlock = this.c.getType(localBlockPosition).getBlock(); if (!localBlock.b(this.c, localBlockPosition)) {