if (knownUsers.contains(player.getEntityId())) { if (hasChanges) deltaPacketTargets.add(player); } else { knownUsers.add(player.getEntityId()); fullPacketTargets.add(player);
private static void serverPlayerLocalTeleport(@Nonnull EntityPlayerMP player, @Nonnull BlockPos pos, boolean conserveMotion, @Nonnull TravelSource source) { ChunkTicket.loadChunk(player, player.world, BlockCoord.get(player)); ChunkTicket.loadChunk(player, player.world, pos); SoundHelper.playSound(player.world, player, source.sound, 1.0F, 1.0F); player.connection.setPlayerLocation(pos.getX() + 0.5, pos.getY() + 1.1, pos.getZ() + 0.5, player.rotationYaw, player.rotationPitch); player.fallDistance = 0; SoundHelper.playSound(player.world, player, source.sound, 1.0F, 1.0F); if (conserveMotion) { Vector3d velocityVex = Util.getLookVecEio(player); SPacketEntityVelocity p = new SPacketEntityVelocity(player.getEntityId(), velocityVex.x, velocityVex.y, velocityVex.z); player.connection.sendPacket(p); } }
private static void serverPlayerDimensionTeleport(@Nonnull final EntityPlayerMP player, @Nonnull final BlockPos pos, final int targetDim, final boolean conserveMotion, @Nonnull final TravelSource source) { ChunkTicket.loadChunk(player, player.world, BlockCoord.get(player)); SoundHelper.playSound(player.world, player, source.sound, 1.0F, 1.0F); player.mcServer.getPlayerList().transferPlayerToDimension(player, targetDim, new ITeleporter() { @Override public void placeEntity(World world, Entity entity, float yaw) { entity.setLocationAndAngles(pos.getX() + 0.5, pos.getY() + 1.1, pos.getZ() + 0.5, entity.rotationYaw, entity.rotationPitch); entity.motionX = 0; entity.motionY = 0; entity.motionZ = 0; entity.fallDistance = 0; } }); SoundHelper.playSound(player.world, player, source.sound, 1.0F, 1.0F); ChunkTicket.loadChunk(player, player.world, BlockCoord.get(player)); if (conserveMotion) { Vector3d velocityVex = Util.getLookVecEio(player); player.connection.sendPacket(new SPacketEntityVelocity(player.getEntityId(), velocityVex.x, velocityVex.y, velocityVex.z)); } }
if (!playerIds.contains(playerMP.getEntityId()) || this.getHealth() == 0) { getBossInfo().removePlayer(playerMP);
public static void transferPlayerToDimension(EntityPlayerMP player, int dimension, PlayerList manager) { int oldDim = player.dimension; WorldServer worldserver = manager.getServerInstance().getWorld(player.dimension); player.dimension = dimension; WorldServer worldserver1 = manager.getServerInstance().getWorld(player.dimension); player.connection.sendPacket(new SPacketRespawn(player.dimension, player.world.getDifficulty(), player.world.getWorldInfo().getTerrainType(), player.interactionManager.getGameType())); worldserver.removeEntityDangerously(player); if (player.isBeingRidden()) { player.removePassengers(); } if (player.isRiding()) { player.dismountRidingEntity(); } player.isDead = false; transferEntityToWorld(player, worldserver, worldserver1); manager.preparePlayer(player, worldserver); player.connection.setPlayerLocation(player.posX, player.posY, player.posZ, player.rotationYaw, player.rotationPitch); player.interactionManager.setWorld(worldserver1); manager.updateTimeAndWeatherForPlayer(player, worldserver1); manager.syncPlayerInventory(player); for (PotionEffect potioneffect : player.getActivePotionEffects()) { player.connection.sendPacket(new SPacketEntityEffect(player.getEntityId(), potioneffect)); } FMLCommonHandler.instance().firePlayerChangedDimensionEvent(player, oldDim, dimension); }
public static void transferPlayerToDimension(EntityPlayerMP player, double x, double y, double z, int dimension, PlayerList manager) { int oldDim = player.dimension; WorldServer worldserver = manager.getServerInstance().getWorld(player.dimension); player.dimension = dimension; WorldServer worldserver1 = manager.getServerInstance().getWorld(player.dimension); player.connection.sendPacket(new SPacketRespawn(player.dimension, player.world.getDifficulty(), player.world.getWorldInfo().getTerrainType(), player.interactionManager.getGameType())); worldserver.removeEntityDangerously(player); if (player.isBeingRidden()) { player.removePassengers(); } if (player.isRiding()) { player.dismountRidingEntity(); } player.isDead = false; transferEntityToWorld(player, worldserver, worldserver1); manager.preparePlayer(player, worldserver); player.connection.setPlayerLocation(x, y, z, player.rotationYaw, player.rotationPitch); player.interactionManager.setWorld(worldserver1); manager.updateTimeAndWeatherForPlayer(player, worldserver1); manager.syncPlayerInventory(player); for (PotionEffect potioneffect : player.getActivePotionEffects()) { player.connection.sendPacket(new SPacketEntityEffect(player.getEntityId(), potioneffect)); } FMLCommonHandler.instance().firePlayerChangedDimensionEvent(player, oldDim, dimension); }
player.connection.sendPacket(new SPacketEntityEffect(player.getEntityId(), potioneffect));
player.connection.sendPacket(new SPacketEntityEffect(player.getEntityId(), potioneffect));