Fix player movement and entity path finding.

remove-fringelands
mckuhei 2 years ago
parent acc69336a3
commit 46150bff4b

@ -185,7 +185,6 @@ public class ChunkProviderGenerate implements IChunkProvider
{ {
byte var5 = 63; byte var5 = 63;
double var6 = 0.03125D; double var6 = 0.03125D;
// Must swap y and z
this.stoneNoise = this.noiseGen4.generateNoiseOctaves(this.stoneNoise, par1.shiftLeft(4), par2.shiftLeft(4), BigInteger.ZERO, 16, 1, 16, var6 * 2.0D, var6 * 2.0D, var6 * 2.0D); this.stoneNoise = this.noiseGen4.generateNoiseOctaves(this.stoneNoise, par1.shiftLeft(4), par2.shiftLeft(4), BigInteger.ZERO, 16, 1, 16, var6 * 2.0D, var6 * 2.0D, var6 * 2.0D);
for (int var8 = 0; var8 < 16; ++var8) for (int var8 = 0; var8 < 16; ++var8)

@ -616,8 +616,10 @@ public abstract class EntityPlayer extends EntityLiving implements ICommandSende
public void moveEntity(double par1, double par3, double par5) public void moveEntity(double par1, double par3, double par5)
{ {
super.boundingBox.setBounds(this.boundingBox.minX.doubleValue(), super.boundingBox.minY, this.boundingBox.minZ.doubleValue(), this.boundingBox.maxX.doubleValue(), super.boundingBox.maxY, this.boundingBox.maxZ.doubleValue()); super.boundingBox.setBounds(this.boundingBox.minX.doubleValue(), this.boundingBox.minY, this.boundingBox.minZ.doubleValue(), this.boundingBox.maxX.doubleValue(), this.boundingBox.maxY, this.boundingBox.maxZ.doubleValue());
super.moveEntity(par1, par3, par5); super.moveEntity(par1, par3, par5);
this.boundingBox.maxY = super.boundingBox.maxY;
this.boundingBox.minY = super.boundingBox.minY;
if (this.noClip) if (this.noClip)
{ {
this.boundingBox.offset(par1, par3, par5); this.boundingBox.offset(par1, par3, par5);
@ -721,12 +723,13 @@ public abstract class EntityPlayer extends EntityLiving implements ICommandSende
List var30 = this.worldObj.getCollidingBoundingBoxes(this, super.boundingBox.addCoord(par1, par3, par5)); List var30 = this.worldObj.getCollidingBoundingBoxes(this, super.boundingBox.addCoord(par1, par3, par5));
AxisAlignedBB var21; AxisAlignedBB var21;
for (Iterator var20 = var30.iterator(); var20.hasNext(); par3 = var21.calculateYOffset(super.boundingBox, par3)) // Do not pross Y asix movement
{ // for (Iterator var20 = var30.iterator(); var20.hasNext(); par3 = var21.calculateYOffset(super.boundingBox, par3))
var21 = (AxisAlignedBB)var20.next(); // {
} // var21 = (AxisAlignedBB)var20.next();
// }
this.boundingBox.offset(0.0D, par3, 0.0D); //
// this.boundingBox.offset(0.0D, par3, 0.0D);
if (!this.field_70135_K && var13 != par3) if (!this.field_70135_K && var13 != par3)
{ {
@ -862,7 +865,6 @@ public abstract class EntityPlayer extends EntityLiving implements ICommandSende
} }
} }
this.posXBig = (this.boundingBox.minX.add(this.boundingBox.maxX)).divide(BigDecimal.valueOf(2)); this.posXBig = (this.boundingBox.minX.add(this.boundingBox.maxX)).divide(BigDecimal.valueOf(2));
this.posZBig = (this.boundingBox.minZ.add(this.boundingBox.maxZ)).divide(BigDecimal.valueOf(2)); this.posZBig = (this.boundingBox.minZ.add(this.boundingBox.maxZ)).divide(BigDecimal.valueOf(2));
this.worldObj.theProfiler.endSection(); this.worldObj.theProfiler.endSection();

@ -335,6 +335,8 @@ public class NetServerHandler extends NetHandler
this.playerEntity.onGround = par1Packet10Flying.onGround; this.playerEntity.onGround = par1Packet10Flying.onGround;
this.mcServer.getConfigurationManager().func_72358_d(this.playerEntity); this.mcServer.getConfigurationManager().func_72358_d(this.playerEntity);
this.playerEntity.updateFlyingState(this.playerEntity.posY - var3, par1Packet10Flying.onGround); this.playerEntity.updateFlyingState(this.playerEntity.posY - var3, par1Packet10Flying.onGround);
} else {
setPlayerLocation(playerEntity.posXBig, playerEntity.posY - playerEntity.yOffset, playerEntity.posZBig, playerEntity.rotationYaw, playerEntity.rotationPitch);
} }
} }
} }

@ -293,7 +293,7 @@ public class PathFinder
targetZ = par4.add(par5PathPoint.zCoord); targetZ = par4.add(par5PathPoint.zCoord);
for (BigInteger var7 = par2; var7.compareTo(targetX) < 0; var7 = var7.add(BigInteger.ONE)) for (BigInteger var7 = par2; var7.compareTo(targetX) < 0; var7 = var7.add(BigInteger.ONE))
{ {
for (BigInteger var9 = par4; var9.compareTo(targetZ) < 0; var9 = var7.add(BigInteger.ONE)) for (BigInteger var9 = par4; var9.compareTo(targetZ) < 0; var9 = var9.add(BigInteger.ONE))
{ {
for (int var8 = par3; var8 < par3 + par5PathPoint.yCoord; ++var8) for (int var8 = par3; var8 < par3 + par5PathPoint.yCoord; ++var8)
{ {

@ -4314,7 +4314,7 @@ public class RenderBlocks
this.colorBlueBottomLeft *= par7; this.colorBlueBottomLeft *= par7;
this.colorBlueBottomRight *= par7; this.colorBlueBottomRight *= par7;
this.colorBlueTopRight *= par7; this.colorBlueTopRight *= par7;
if(Minecraft.FIX_RENDERER) this.renderWestFace(par1Block, par2.intValue(), par3 & 0xF, par4.intValue() & 0xF, 38); if(Minecraft.FIX_RENDERER) this.renderWestFace(par1Block, par2.intValue() & 0xF, par3 & 0xF, par4.intValue() & 0xF, 38);
else this.renderWestFace(par1Block, par2.doubleValue(), (double)par3, par4.doubleValue(), 38); else this.renderWestFace(par1Block, par2.doubleValue(), (double)par3, par4.doubleValue(), 38);
} }

@ -852,12 +852,15 @@ public class RenderGlobal implements IWorldAccess
this.mc.entityRenderer.enableLightmap(par2); this.mc.entityRenderer.enableLightmap(par2);
RenderList[] var4 = this.allRenderLists; RenderList[] var4 = this.allRenderLists;
int var5 = var4.length; int var5 = var4.length;
this.theWorld.theProfiler.startSection("call list");
for (int var6 = 0; var6 < var5; ++var6) for (int var6 = 0; var6 < var5; ++var6)
{ {
RenderList var7 = var4[var6]; RenderList var7 = var4[var6];
var7.func_78419_a(); var7.func_78419_a();
} }
this.theWorld.theProfiler.endSection();
this.mc.entityRenderer.disableLightmap(par2); this.mc.entityRenderer.disableLightmap(par2);
} }

Loading…
Cancel
Save