diff --git a/src/minecraft/net/minecraft/src/EntityPlayer.java b/src/minecraft/net/minecraft/src/EntityPlayer.java index 9e07aef..d573b98 100644 --- a/src/minecraft/net/minecraft/src/EntityPlayer.java +++ b/src/minecraft/net/minecraft/src/EntityPlayer.java @@ -478,6 +478,7 @@ public abstract class EntityPlayer extends EntityLiving implements ICommandSende */ public void onLivingUpdate() { + System.out.println((worldObj.isRemote ? "Client" : "Server") + " position: " + posXBig.toPlainString()); if (this.flyToggleTimer > 0) { --this.flyToggleTimer; diff --git a/src/minecraft/net/minecraft/src/EntityPlayerMP.java b/src/minecraft/net/minecraft/src/EntityPlayerMP.java index 839e0e8..b8a0729 100644 --- a/src/minecraft/net/minecraft/src/EntityPlayerMP.java +++ b/src/minecraft/net/minecraft/src/EntityPlayerMP.java @@ -24,8 +24,8 @@ public class EntityPlayerMP extends EntityPlayer implements ICrafting /** The ItemInWorldManager belonging to this player */ public ItemInWorldManager theItemInWorldManager; - public double field_71131_d; - public double field_71132_e; + public BigDecimal field_71131_d = BigDecimal.ZERO; + public BigDecimal field_71132_e = BigDecimal.ZERO; public final List chunksToLoad = new LinkedList(); /** entities added to this list will be packet29'd to the player */ diff --git a/src/minecraft/net/minecraft/src/EntityRenderer.java b/src/minecraft/net/minecraft/src/EntityRenderer.java index 25295a1..c6a4d83 100644 --- a/src/minecraft/net/minecraft/src/EntityRenderer.java +++ b/src/minecraft/net/minecraft/src/EntityRenderer.java @@ -387,6 +387,8 @@ public class EntityRenderer double var8 = var2.prevPosZ + (var2.posZ - var2.prevPosZ) * (double)par1; GL11.glRotatef(this.prevCamRoll + (this.camRoll - this.prevCamRoll) * par1, 0.0F, 0.0F, 1.0F); +// System.out.println(var4); + if (var2.isPlayerSleeping()) { var3 = (float)((double)var3 + 1.0D); diff --git a/src/minecraft/net/minecraft/src/MathHelper.java b/src/minecraft/net/minecraft/src/MathHelper.java index 46b6542..4c02b95 100644 --- a/src/minecraft/net/minecraft/src/MathHelper.java +++ b/src/minecraft/net/minecraft/src/MathHelper.java @@ -88,6 +88,10 @@ public class MathHelper return new BigInteger(String.format("%.0f", val)); } + public static BigInteger toBigInteger(BigDecimal val) { + return new BigInteger(val.setScale(0, RoundingMode.DOWN).toBigInteger().toByteArray()); + } + public static BigDecimal toBigDecimal(BigInteger val) { return new BigDecimal(new java.math.BigInteger(val.toByteArray())); } diff --git a/src/minecraft/net/minecraft/src/PlayerManager.java b/src/minecraft/net/minecraft/src/PlayerManager.java index 8ba4ad1..0cf2f65 100644 --- a/src/minecraft/net/minecraft/src/PlayerManager.java +++ b/src/minecraft/net/minecraft/src/PlayerManager.java @@ -97,12 +97,12 @@ public class PlayerManager public void func_72683_a(EntityPlayerMP par1EntityPlayerMP) { // Edited - BigInteger var2 = MathHelper.toBigInteger(par1EntityPlayerMP.posX).shiftRight(4); - BigInteger var3 = MathHelper.toBigInteger(par1EntityPlayerMP.posZ).shiftRight(4); + BigInteger var2 = MathHelper.toBigInteger(par1EntityPlayerMP.posXBig).shiftRight(4); + BigInteger var3 = MathHelper.toBigInteger(par1EntityPlayerMP.posZBig).shiftRight(4); // int var2 = (int)par1EntityPlayerMP.posX >> 4; // int var3 = (int)par1EntityPlayerMP.posZ >> 4; - par1EntityPlayerMP.field_71131_d = par1EntityPlayerMP.posX; - par1EntityPlayerMP.field_71132_e = par1EntityPlayerMP.posZ; + par1EntityPlayerMP.field_71131_d = par1EntityPlayerMP.posXBig; + par1EntityPlayerMP.field_71132_e = par1EntityPlayerMP.posZBig; for (int var4 = -this.playerViewDistance; var4 <= this.playerViewDistance; ++var4) { @@ -122,8 +122,8 @@ public class PlayerManager int var3 = 0; int var4 = this.playerViewDistance; // Edited - BigInteger var5 = MathHelper.toBigInteger(par1EntityPlayerMP.posX).shiftRight(4); - BigInteger var6 = MathHelper.toBigInteger(par1EntityPlayerMP.posZ).shiftRight(4); + BigInteger var5 = MathHelper.toBigInteger(par1EntityPlayerMP.posXBig).shiftRight(4); + BigInteger var6 = MathHelper.toBigInteger(par1EntityPlayerMP.posZBig).shiftRight(4); // int var5 = (int)par1EntityPlayerMP.posX >> 4; // int var6 = (int)par1EntityPlayerMP.posZ >> 4; int var7 = 0; @@ -176,8 +176,8 @@ public class PlayerManager public void func_72695_c(EntityPlayerMP par1EntityPlayerMP) { // Edited - BigInteger var2 = MathHelper.toBigInteger(par1EntityPlayerMP.posX).shiftRight(4); - BigInteger var3 = MathHelper.toBigInteger(par1EntityPlayerMP.posZ).shiftRight(4); + BigInteger var2 = MathHelper.toBigInteger(par1EntityPlayerMP.posXBig).shiftRight(4); + BigInteger var3 = MathHelper.toBigInteger(par1EntityPlayerMP.posZBig).shiftRight(4); // int var2 = (int)par1EntityPlayerMP.posX >> 4; // int var3 = (int)par1EntityPlayerMP.posZ >> 4; @@ -207,12 +207,12 @@ public class PlayerManager public void func_72685_d(EntityPlayerMP par1EntityPlayerMP) { // Edited - BigInteger var2 = MathHelper.toBigInteger(par1EntityPlayerMP.posX).shiftRight(4); - BigInteger var3 = MathHelper.toBigInteger(par1EntityPlayerMP.posZ).shiftRight(4); + BigInteger var2 = MathHelper.toBigInteger(par1EntityPlayerMP.posXBig).shiftRight(4); + BigInteger var3 = MathHelper.toBigInteger(par1EntityPlayerMP.posZBig).shiftRight(4); // int var2 = (int)par1EntityPlayerMP.posX >> 4; // int var3 = (int)par1EntityPlayerMP.posZ >> 4; - double var4 = par1EntityPlayerMP.field_71131_d - par1EntityPlayerMP.posX; - double var6 = par1EntityPlayerMP.field_71132_e - par1EntityPlayerMP.posZ; + double var4 = par1EntityPlayerMP.field_71131_d.subtract(par1EntityPlayerMP.posXBig).doubleValue(); + double var6 = par1EntityPlayerMP.field_71132_e.subtract(par1EntityPlayerMP.posZBig).doubleValue(); double var8 = var4 * var4 + var6 * var6; if (var8 >= 64.0D) @@ -249,8 +249,8 @@ public class PlayerManager } this.func_72691_b(par1EntityPlayerMP); - par1EntityPlayerMP.field_71131_d = par1EntityPlayerMP.posX; - par1EntityPlayerMP.field_71132_e = par1EntityPlayerMP.posZ; + par1EntityPlayerMP.field_71131_d = par1EntityPlayerMP.posXBig; + par1EntityPlayerMP.field_71132_e = par1EntityPlayerMP.posZBig; } } }