                      this.playerEntity.playerNetServerHandler.sendPacketToPlayer(new Packet53BlockChange(var5, var6, var7, var2));
                  }
                  else
-@@ -479,7 +487,11 @@
+@@ -479,7 +507,11 @@
                  return;
              }
  

                 {
                     return;
                 }
@@ -417,8 +424,9 @@
 
             if (par1Packet14BlockDig.status == 0)
             {

                 {
                     if (var29 >= -0.03125D)
                     {
@@ -337,6 +356,11 @@
                     this.ticksForFloatKick = 0;
                 }
 
+                if (!this.hasMoved) //Fixes "Moved Too Fast" kick when being teleported while moving
+                {
+                    return;
+                }
+
                 this.playerEntity.onGround = par1Packet10Flying.onGround;
                 this.mcServer.getConfigurationManager().serverUpdateMountedMovingPlayer(this.playerEntity);
                 this.playerEntity.updateFlyingState(this.playerEntity.posY - var3, par1Packet10Flying.onGround);
@@ -395,7 +419,10 @@
                 double var12 = this.playerEntity.posZ - ((double)var7 + 0.5D);
                 double var14 = var8 * var8 + var10 * var10 + var12 * var12;
 
