Advertisement
Guest User

Untitled

a guest
Feb 15th, 2016
24
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.37 KB | None | 0 0
  1. static boolean transferPlayerToDimension(EntityPlayerMP sourcePlayer, int dimensionDestination, double x, double y, double z)
  2.     {
  3.  
  4.         ServerConfigurationManager serverConfigurationManager = sourcePlayer.mcServer.getConfigurationManager();
  5.         WorldServer sourceWorldServer = sourcePlayer.mcServer.worldServerForDimension(sourcePlayer.dimension);
  6.         WorldServer destinationWorldServer = sourcePlayer.mcServer.worldServerForDimension(dimensionDestination);
  7.  
  8.         // fire player change dimension event and check that action is valid before continuing
  9.         PlayerChangedDimensionEvent playerChangedDimensionEvent = new PlayerChangedDimensionEvent(sourcePlayer, sourcePlayer.dimension, dimensionDestination);
  10.         if (FMLCommonHandler.instance().bus().post(playerChangedDimensionEvent) == true)
  11.         {
  12.             return false;
  13.         }
  14.  
  15.         sourcePlayer.dimension = dimensionDestination;
  16.         sourcePlayer.playerNetServerHandler.sendPacket(
  17.                 new S07PacketRespawn(
  18.                         sourcePlayer.dimension,
  19.                         sourcePlayer.worldObj.getDifficulty(), sourcePlayer.worldObj.getWorldInfo().getTerrainType(),
  20.                         sourcePlayer.theItemInWorldManager.getGameType()
  21.                         )
  22.                 );
  23.  
  24.         sourceWorldServer.removeEntity(sourcePlayer);
  25.         sourcePlayer.isDead = false;
  26.  
  27.         sourcePlayer.mountEntity((Entity) null);
  28.         if (sourcePlayer.riddenByEntity != null) {
  29.             sourcePlayer.riddenByEntity.mountEntity((Entity) null);
  30.         }
  31.  
  32.         destinationWorldServer.spawnEntityInWorld(sourcePlayer);
  33.         destinationWorldServer.updateEntityWithOptionalForce(sourcePlayer, false);
  34.  
  35.         sourcePlayer.setWorld(destinationWorldServer);
  36.         serverConfigurationManager.func_72375_a(sourcePlayer, destinationWorldServer);
  37.  
  38.         sourcePlayer.playerNetServerHandler.setPlayerLocation(x, y, z, sourcePlayer.rotationYaw, sourcePlayer.rotationPitch);
  39.         sourcePlayer.theItemInWorldManager.setWorld(destinationWorldServer);
  40.         sourcePlayer.mcServer.getConfigurationManager().updateTimeAndWeatherForPlayer(sourcePlayer, destinationWorldServer);
  41.         sourcePlayer.mcServer.getConfigurationManager().syncPlayerInventory(sourcePlayer);
  42.         sourcePlayer.addExperience(0);
  43.         sourcePlayer.setPlayerHealthUpdated();
  44.  
  45.         FMLCommonHandler.instance().firePlayerChangedDimensionEvent(
  46.                 sourcePlayer,
  47.                 sourceWorldServer.provider.getDimensionId(),
  48.                 destinationWorldServer.provider.getDimensionId());
  49.        
  50.         TeleporterEntity.transferToLocation(sourcePlayer, x, y, z);
  51.        
  52.         return true;
  53.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement