Fix rounding related errors with small entity pathfinding. Closes #7730

This commit is contained in:
OneLemonyBoi authored and GitHub committed 2021-07-26 14:36:46 -07:00
1 parent 98bae44a3a
commit a2bd95ca39
1 file changed
+4 -2
@@ -1,6 +1,6 @@
--- a/net/minecraft/pathfinding/PathNavigator.java
+++ b/net/minecraft/pathfinding/PathNavigator.java
@@ -208,9 +_,9 @@
@@ -208,10 +_,10 @@
Vector3d vector3d = this.func_75502_i();
this.field_188561_o = this.field_75515_a.func_213311_cf() > 0.75F ? this.field_75515_a.func_213311_cf() / 2.0F : 0.75F - this.field_75515_a.func_213311_cf() / 2.0F;
Vector3i vector3i = this.field_75514_c.func_242948_g();
@@ -8,7 +8,9 @@
+ double d0 = Math.abs(this.field_75515_a.func_226277_ct_() - ((double)vector3i.func_177958_n() + (this.field_75515_a.func_213311_cf() + 1) / 2D)); //Forge: Fix MC-94054
double d1 = Math.abs(this.field_75515_a.func_226278_cu_() - (double)vector3i.func_177956_o());
- double d2 = Math.abs(this.field_75515_a.func_226281_cx_() - ((double)vector3i.func_177952_p() + 0.5D));
- boolean flag = d0 < (double)this.field_188561_o && d2 < (double)this.field_188561_o && d1 < 1.0D;
+ double d2 = Math.abs(this.field_75515_a.func_226281_cx_() - ((double)vector3i.func_177952_p() + (this.field_75515_a.func_213311_cf() + 1) / 2D)); //Forge: Fix MC-94054
boolean flag = d0 < (double)this.field_188561_o && d2 < (double)this.field_188561_o && d1 < 1.0D;
+ boolean flag = d0 <= (double)this.field_188561_o && d2 <= (double)this.field_188561_o && d1 < 1.0D; //Forge: Fix MC-94054
if (flag || this.field_75515_a.func_233660_b_(this.field_75514_c.func_237225_h_().field_186287_m) && this.func_234112_b_(vector3d)) {
this.field_75514_c.func_75875_a();
}