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)); } }
@Override public void playerLoggedOut(EntityPlayerMP par1EntityPlayerMP) { if (!MinecraftForge.EVENT_BUS.post(new PlayerLogoutEvent(par1EntityPlayerMP))) { GameRegistry.onPlayerLogout(par1EntityPlayerMP); super.writePlayerData(par1EntityPlayerMP); WorldServer worldserver = par1EntityPlayerMP.getServerForPlayer(); if (par1EntityPlayerMP.ridingEntity != null) { worldserver.removeEntity(par1EntityPlayerMP.ridingEntity); System.out.println("removing player mount"); } worldserver.removeEntity(par1EntityPlayerMP); worldserver.getPlayerManager().removePlayer(par1EntityPlayerMP); super.playerEntityList.remove(par1EntityPlayerMP); super.sendPacketToAllPlayers( new Packet201PlayerInfo(par1EntityPlayerMP.username, false, 9999)); } }
/** * Called when a player disconnects from the game. Writes player data to disk and removes them * from the world. */ public void playerLoggedOut(EntityPlayerMP playerIn) { playerIn.triggerAchievement(StatList.leaveGameStat); this.writePlayerData(playerIn); WorldServer var2 = playerIn.getServerForPlayer(); if (playerIn.ridingEntity != null) { var2.removePlayerEntityDangerously(playerIn.ridingEntity); logger.debug("removing player mount"); } var2.removeEntity(playerIn); var2.getPlayerManager().removePlayer(playerIn); this.playerEntityList.remove(playerIn); this.field_177454_f.remove(playerIn.getUniqueID()); this.playerStatFiles.remove(playerIn.getUniqueID()); this.sendPacketToAllPlayers( new S38PacketPlayerListItem( S38PacketPlayerListItem.Action.REMOVE_PLAYER, new EntityPlayerMP[] {playerIn})); }