diff --git a/src/minecraft/net/minecraft/src/CommandBase.java b/src/minecraft/net/minecraft/src/CommandBase.java index eab09e0..1080c4c 100644 --- a/src/minecraft/net/minecraft/src/CommandBase.java +++ b/src/minecraft/net/minecraft/src/CommandBase.java @@ -1,6 +1,8 @@ package net.minecraft.src; import org.mcmodule.math.BigInteger; + +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Iterator; import java.util.List; @@ -61,6 +63,18 @@ public abstract class CommandBase implements ICommand throw new NumberInvalidException("commands.generic.num.invalid", new Object[] {par1Str}); } } + + public static BigDecimal parseBigDecimal(ICommandSender par0ICommandSender, String par1Str) + { + try + { + return new BigDecimal(par1Str); + } + catch (NumberFormatException var3) + { + throw new NumberInvalidException("commands.generic.num.invalid", new Object[] {par1Str}); + } + } /** * Parses an int from the given sring with a specified minimum. diff --git a/src/minecraft/net/minecraft/src/CommandServerTp.java b/src/minecraft/net/minecraft/src/CommandServerTp.java index 8c59a23..1aa49d4 100644 --- a/src/minecraft/net/minecraft/src/CommandServerTp.java +++ b/src/minecraft/net/minecraft/src/CommandServerTp.java @@ -62,16 +62,16 @@ public class CommandServerTp extends CommandBase { int var5 = par2ArrayOfStr.length - 3; int var6 = 30000000; - BigInteger var7 = parseBigInt(par1ICommandSender, par2ArrayOfStr[var5++]); + BigDecimal var7 = parseBigDecimal(par1ICommandSender, par2ArrayOfStr[var5++]); int var8 = parseInt(par1ICommandSender, par2ArrayOfStr[var5++]); - BigInteger var9 = parseBigInt(par1ICommandSender, par2ArrayOfStr[var5++]); - var4.serverForThisPlayer.setPlayerLocation(MathHelper.toBigDecimal(var7).add(BigDecimal.valueOf(0.5)), (double)var8, MathHelper.toBigDecimal(var9).add(BigDecimal.valueOf(0.5)), var4.rotationYaw, var4.rotationPitch); + BigDecimal var9 = parseBigDecimal(par1ICommandSender, par2ArrayOfStr[var5++]); + var4.serverForThisPlayer.setPlayerLocation(var7.add(BigDecimal.valueOf(0.5)), (double)var8, var9.add(BigDecimal.valueOf(0.5)), var4.rotationYaw, var4.rotationPitch); notifyAdmins(par1ICommandSender, "commands.tp.coordinates", new Object[] {var4.getEntityName(), var7.toString(), Integer.valueOf(var8), var9.toString()}); } } } - /** + /** * Adds the strings available in this command to the given list of tab completion options. */ public List addTabCompletionOptions(ICommandSender par1ICommandSender, String[] par2ArrayOfStr) diff --git a/src/minecraft/net/minecraft/src/EntityRenderer.java b/src/minecraft/net/minecraft/src/EntityRenderer.java index 77069d9..31d2fc3 100644 --- a/src/minecraft/net/minecraft/src/EntityRenderer.java +++ b/src/minecraft/net/minecraft/src/EntityRenderer.java @@ -944,9 +944,9 @@ public class EntityRenderer EntityPlayer var4 = (EntityPlayer) this.mc.renderViewEntity; RenderGlobal var5 = this.mc.renderGlobal; EffectRenderer var6 = this.mc.effectRenderer; - BigDecimal var7 = var4.lastPosX == var4.posXBig ? var4.posXBig : var4.lastPosX.add(BigDecimal.valueOf((var4.posXBig.subtract(var4.lastPosX)).doubleValue() * par1)); + BigDecimal var7 = var4.lastPosX == var4.posXBig ? var4.posXBig : var4.lastPosX.add(BigDecimal.valueOf(MathHelper.normalize(var4.posXBig.subtract(var4.lastPosX).doubleValue() * par1))); double var9 = var4.lastTickPosY + (var4.posY - var4.lastTickPosY) * (double)par1; - BigDecimal var11 = var4.lastPosZ == var4.posZBig ? var4.posZBig : var4.lastPosZ.add(BigDecimal.valueOf((var4.posZBig.subtract(var4.lastPosZ)).doubleValue() * par1)); + BigDecimal var11 = var4.lastPosZ == var4.posZBig ? var4.posZBig : var4.lastPosZ.add(BigDecimal.valueOf(MathHelper.normalize(var4.posZBig.subtract(var4.lastPosZ).doubleValue() * par1))); this.mc.mcProfiler.endStartSection("center"); for (int var13 = 0; var13 < 2; ++var13) diff --git a/src/minecraft/net/minecraft/src/NetServerHandler.java b/src/minecraft/net/minecraft/src/NetServerHandler.java index 922ef00..f7f1602 100644 --- a/src/minecraft/net/minecraft/src/NetServerHandler.java +++ b/src/minecraft/net/minecraft/src/NetServerHandler.java @@ -336,13 +336,13 @@ public class NetServerHandler extends NetHandler this.mcServer.getConfigurationManager().func_72358_d(this.playerEntity); this.playerEntity.updateFlyingState(this.playerEntity.posY - var3, par1Packet10Flying.onGround); } else { - setPlayerLocation(playerEntity.posXBig, playerEntity.posY - playerEntity.yOffset, playerEntity.posZBig, playerEntity.rotationYaw, playerEntity.rotationPitch); +// setPlayerLocation(playerEntity.posXBig, playerEntity.posY - playerEntity.yOffset, playerEntity.posZBig, playerEntity.rotationYaw, playerEntity.rotationPitch); } } } public void setPlayerLocation(double par1, double par3, double par5, float par7, float par8) { - this.setPlayerLocation(BigDecimal.valueOf(par1), par3, BigDecimal.valueOf(par5), par7, par8); + this.setPlayerLocation(BigDecimal.valueOf(MathHelper.normalize(par1)), par3, BigDecimal.valueOf(MathHelper.normalize(par5)), par7, par8); } public void setPlayerLocation(BigDecimal par1, double par3, BigDecimal par5, float par7, float par8) diff --git a/src/minecraft/net/minecraft/src/RenderGlobal.java b/src/minecraft/net/minecraft/src/RenderGlobal.java index 24c9403..a6bb525 100644 --- a/src/minecraft/net/minecraft/src/RenderGlobal.java +++ b/src/minecraft/net/minecraft/src/RenderGlobal.java @@ -619,9 +619,9 @@ public class RenderGlobal implements IWorldAccess this.renderersSkippingRenderPass = 0; } - BigDecimal var33 = par1EntityLiving.lastPosX == par1EntityLiving.posXBig ? par1EntityLiving.posXBig : par1EntityLiving.lastPosX.add(BigDecimal.valueOf((par1EntityLiving.posXBig.subtract(par1EntityLiving.lastPosX)).doubleValue() * par3)); + BigDecimal var33 = par1EntityLiving.lastPosX == par1EntityLiving.posXBig ? par1EntityLiving.posXBig : par1EntityLiving.lastPosX.add(BigDecimal.valueOf(MathHelper.normalize(par1EntityLiving.posXBig.subtract(par1EntityLiving.lastPosX).doubleValue() * par3))); double var7 = par1EntityLiving.lastTickPosY + (par1EntityLiving.posY - par1EntityLiving.lastTickPosY) * par3; - BigDecimal var9 = par1EntityLiving.lastPosZ == par1EntityLiving.posZBig ? par1EntityLiving.posZBig : par1EntityLiving.lastPosZ.add(BigDecimal.valueOf((par1EntityLiving.posZBig.subtract(par1EntityLiving.lastPosZ)).doubleValue() * par3)); + BigDecimal var9 = par1EntityLiving.lastPosZ == par1EntityLiving.posZBig ? par1EntityLiving.posZBig : par1EntityLiving.lastPosZ.add(BigDecimal.valueOf(MathHelper.normalize(par1EntityLiving.posZBig.subtract(par1EntityLiving.lastPosZ).doubleValue() * par3))); double var11 = par1EntityLiving.posX - this.prevSortX; double var13 = par1EntityLiving.posY - this.prevSortY; double var15 = par1EntityLiving.posZ - this.prevSortZ; @@ -838,9 +838,9 @@ public class RenderGlobal implements IWorldAccess } EntityPlayer var19 = (EntityPlayer) this.mc.renderViewEntity; - BigDecimal var20 = var19.lastPosX == var19.posXBig ? var19.posXBig : var19.lastPosX.add(BigDecimal.valueOf((var19.posXBig.subtract(var19.lastPosX)).doubleValue() * par4)); + BigDecimal var20 = var19.lastPosX == var19.posXBig ? var19.posXBig : var19.lastPosX.add(BigDecimal.valueOf(MathHelper.normalize(var19.posXBig.subtract(var19.lastPosX).doubleValue() * par4))); double var10 = var19.lastTickPosY + (var19.posY - var19.lastTickPosY) * par4; - BigDecimal var12 = var19.lastPosZ == var19.posZBig ? var19.posZBig : var19.lastPosZ.add(BigDecimal.valueOf((var19.posZBig.subtract(var19.lastPosZ)).doubleValue() * par4)); + BigDecimal var12 = var19.lastPosZ == var19.posZBig ? var19.posZBig : var19.lastPosZ.add(BigDecimal.valueOf(MathHelper.normalize(var19.posZBig.subtract(var19.lastPosZ).doubleValue() * par4))); int var14 = 0; RenderList[] var15 = this.allRenderLists; int var16 = var15.length;