public void transferPlayerToDimension(EntityPlayerMP par1EntityPlayerMP, int par2) {
    int var3 = par1EntityPlayerMP.dimension;
    WorldServer var4 = this.mcServer.worldServerForDimension(par1EntityPlayerMP.dimension);
    par1EntityPlayerMP.dimension = par2;
    WorldServer var5 = this.mcServer.worldServerForDimension(par1EntityPlayerMP.dimension);
    par1EntityPlayerMP.playerNetServerHandler.sendPacketToPlayer(
        new Packet9Respawn(
            par1EntityPlayerMP.dimension,
            (byte) par1EntityPlayerMP.worldObj.difficultySetting,
            var5.getWorldInfo().getTerrainType(),
            var5.getHeight(),
            par1EntityPlayerMP.theItemInWorldManager.getGameType()));
    var4.removeEntity(par1EntityPlayerMP);
    par1EntityPlayerMP.isDead = false;
    this.transferEntityToWorld(par1EntityPlayerMP, var3, var4, var5);
    this.func_72375_a(par1EntityPlayerMP, var4);
    par1EntityPlayerMP.playerNetServerHandler.setPlayerLocation(
        par1EntityPlayerMP.posX,
        par1EntityPlayerMP.posY,
        par1EntityPlayerMP.posZ,
        par1EntityPlayerMP.rotationYaw,
        par1EntityPlayerMP.rotationPitch);
    par1EntityPlayerMP.theItemInWorldManager.setWorld(var5);
    this.updateTimeAndWeatherForPlayer(par1EntityPlayerMP, var5);
    this.syncPlayerInventory(par1EntityPlayerMP);
    Iterator var6 = par1EntityPlayerMP.getActivePotionEffects().iterator();

    while (var6.hasNext()) {
      PotionEffect var7 = (PotionEffect) var6.next();
      par1EntityPlayerMP.playerNetServerHandler.sendPacketToPlayer(
          new Packet41EntityEffect(par1EntityPlayerMP.entityId, var7));
    }
  }
  public void initializeConnectionToPlayer(
      INetworkManager par1INetworkManager, EntityPlayerMP par2EntityPlayerMP) {
    this.readPlayerDataFromFile(par2EntityPlayerMP);
    par2EntityPlayerMP.setWorld(
        this.mcServer.worldServerForDimension(par2EntityPlayerMP.dimension));
    par2EntityPlayerMP.theItemInWorldManager.setWorld((WorldServer) par2EntityPlayerMP.worldObj);
    String var3 = "local";

    if (par1INetworkManager.getSocketAddress() != null) {
      var3 = par1INetworkManager.getSocketAddress().toString();
    }

    logger.info(
        par2EntityPlayerMP.username
            + "["
            + var3
            + "] logged in with entity id "
            + par2EntityPlayerMP.entityId
            + " at ("
            + par2EntityPlayerMP.posX
            + ", "
            + par2EntityPlayerMP.posY
            + ", "
            + par2EntityPlayerMP.posZ
            + ")");
    WorldServer var4 = this.mcServer.worldServerForDimension(par2EntityPlayerMP.dimension);
    ChunkCoordinates var5 = var4.getSpawnPoint();
    this.func_72381_a(par2EntityPlayerMP, (EntityPlayerMP) null, var4);
    NetServerHandler var6 =
        new NetServerHandler(this.mcServer, par1INetworkManager, par2EntityPlayerMP);
    var6.sendPacketToPlayer(
        new Packet1Login(
            par2EntityPlayerMP.entityId,
            var4.getWorldInfo().getTerrainType(),
            par2EntityPlayerMP.theItemInWorldManager.getGameType(),
            var4.getWorldInfo().isHardcoreModeEnabled(),
            var4.provider.dimensionId,
            var4.difficultySetting,
            var4.getHeight(),
            this.getMaxPlayers()));
    var6.sendPacketToPlayer(new Packet6SpawnPosition(var5.posX, var5.posY, var5.posZ));
    var6.sendPacketToPlayer(new Packet202PlayerAbilities(par2EntityPlayerMP.capabilities));
    var6.sendPacketToPlayer(new Packet16BlockItemSwitch(par2EntityPlayerMP.inventory.currentItem));
    this.updateTimeAndWeatherForPlayer(par2EntityPlayerMP, var4);
    this.sendPacketToAllPlayers(
        new Packet3Chat("\u00a7e" + par2EntityPlayerMP.username + " joined the game."));
    this.playerLoggedIn(par2EntityPlayerMP);
    var6.setPlayerLocation(
        par2EntityPlayerMP.posX,
        par2EntityPlayerMP.posY,
        par2EntityPlayerMP.posZ,
        par2EntityPlayerMP.rotationYaw,
        par2EntityPlayerMP.rotationPitch);
    this.mcServer.getNetworkThread().addPlayer(var6);
    var6.sendPacketToPlayer(new Packet4UpdateTime(var4.getTotalWorldTime(), var4.getWorldTime()));

    if (this.mcServer.getTexturePack().length() > 0) {
      par2EntityPlayerMP.requestTexturePackLoad(
          this.mcServer.getTexturePack(), this.mcServer.textureSize());
    }

    Iterator var7 = par2EntityPlayerMP.getActivePotionEffects().iterator();

    while (var7.hasNext()) {
      PotionEffect var8 = (PotionEffect) var7.next();
      var6.sendPacketToPlayer(new Packet41EntityEffect(par2EntityPlayerMP.entityId, var8));
    }

    par2EntityPlayerMP.addSelfToInternalCraftingInventory();
  }