public EntityPlayerMP(
      MinecraftServer p_i45285_1_,
      WorldServer p_i45285_2_,
      GameProfile p_i45285_3_,
      ItemInWorldManager p_i45285_4_) {
    super(p_i45285_2_, p_i45285_3_);
    p_i45285_4_.thisPlayerMP = this;
    this.theItemInWorldManager = p_i45285_4_;
    ChunkCoordinates chunkcoordinates = p_i45285_2_.provider.getRandomizedSpawnPoint();
    int i = chunkcoordinates.posX;
    int j = chunkcoordinates.posZ;
    int k = chunkcoordinates.posY;

    this.mcServer = p_i45285_1_;
    this.field_147103_bO = p_i45285_1_.getConfigurationManager().getPlayerStatsFile(this);
    this.stepHeight = 0.0F;
    this.yOffset = 0.0F;
    this.setLocationAndAngles((double) i + 0.5D, (double) k, (double) j + 0.5D, 0.0F, 0.0F);

    while (!p_i45285_2_.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty()) {
      this.setPosition(this.posX, this.posY + 1.0D, this.posZ);
    }
  }
 @Override
 public void onBlockClicked(int par1, int par2, int par3, int par4) {
   super.onBlockClicked(par1, par2, par3, par4);
   isAccepted = isDigging();
   uncheckedTryHarvestBlock(par1, par2, par3);
 }