@EventHandler public void onPlayerTeleport(PlayerTeleportEvent e) { // ����Ҵ��ͺ���¾����� final Game bw = io.github.bedwarsrel.BedwarsRel.Main.getInstance() .getGameManager().getGameOfPlayer(e.getPlayer()); if (bw == null) { return; } if (!Config.isGameEnabledXP(bw.getName())) { return; } final Player p = e.getPlayer(); Bukkit.getScheduler().runTaskLater(Main.plugin, new Runnable() { @Override public void run() { XPManager.updateXPBar(bw.getName(), p); } }, 5); }
@EventHandler public void onPlayerTeleport(PlayerTeleportEvent e) { // ����Ҵ��ͺ���¾����� final Game bw = io.github.yannici.bedwars.Main.getInstance() .getGameManager().getGameOfPlayer(e.getPlayer()); if (bw == null) { return; } if (!Config.isGameEnabledXP(bw.getName())) { return; } final Player p = e.getPlayer(); Bukkit.getScheduler().runTaskLater(Main.plugin, new Runnable() { @Override public void run() { XPManager.updateXPBar(bw.getName(), p); } }, 5); }
public void spawnPlayer(PlayerContext playerContext, MatchTeam matchTeam, boolean teleport) { Players.reset(playerContext.getPlayer(), true); if (matchTeam.isSpectator()) { spectatorModule.applySpectatorKit(playerContext); if (teleport) { playerContext.getPlayer().teleport(getTeamSpawn(matchTeam).getLocation(), PlayerTeleportEvent.TeleportCause.PLUGIN); } } else { matchTeam.getKits().forEach(kit -> kit.apply(playerContext.getPlayer(), matchTeam)); playerContext.getPlayer().updateInventory(); if (teleport) { playerContext.getPlayer().teleport(getTeamSpawn(matchTeam).getLocation(), PlayerTeleportEvent.TeleportCause.PLUGIN); playerContext.getPlayer().setGameMode(GameMode.SURVIVAL); } } }
@Override public void run(WCUser user, String label, String[] args) { WCUser target = user; if (args.length != 0) { target = WCServer.getUser(plugin.getServer().getPlayer(args[0])); if (!target.isOnline()) { userNotOnline(user); return; } } for (Player p : plugin.getServer().getOnlinePlayers()) { p.teleport(target.getPlayer().getLocation(), PlayerTeleportEvent.TeleportCause.COMMAND); } user.sendMessagePrefix("&6Todos los jugadores han sido teletransportados"); }
@Override public void run(WCUser user, String label, String[] args) { if (args.length != 3) { user.sendMessage("&eUsa: /" + label + " <x> <y> <z>"); return; } Double x, y, z; try { x = Double.parseDouble(args[0]); y = Double.parseDouble(args[1]); z = Double.parseDouble(args[2]); } catch (NumberFormatException e) { user.sendMessage("&eUsa: /" + label + " <x> <y> <z> (Deben ser números de coordenadas)"); return; } Location loc = new Location(user.getPlayer().getWorld(), x, y, z); user.getPlayer().teleport(loc, PlayerTeleportEvent.TeleportCause.COMMAND); user.sendMessage("&6Teleportando a &e" + x + "&6, &e" + y + "&6, &e" + z); }
@Override public void run(WCUser user, String label, String[] args) { if (args.length == 0) { user.sendMessage(""); return; } WCUser target = WCServer.getUser(plugin.getServer().getPlayer(args[0])); if (!target.isOnline()) { userNotOnline(user); return; } target.getPlayer().teleport(user.getPlayer().getLocation(), PlayerTeleportEvent.TeleportCause.COMMAND); user.sendMessage(""); }
/** * Modify the to location of the given event to prevent the movement and * move the player so they are standing on the center of the block at the * from location. */ private static void resetPosition(final PlayerMoveEvent event) { Location newLoc; double yValue = event.getFrom().getY(); if(yValue <= 0 || event instanceof PlayerTeleportEvent) { newLoc = event.getFrom(); } else { newLoc = BlockUtils.center(event.getFrom()).subtract(new Vector(0, 0.5, 0)); if(newLoc.getBlock() != null) { switch(newLoc.getBlock().getType()) { case STEP: case WOOD_STEP: newLoc.add(new Vector(0, 0.5, 0)); break; default: break; } } } newLoc.setPitch(event.getTo().getPitch()); newLoc.setYaw(event.getTo().getYaw()); event.setCancelled(false); event.setTo(newLoc); }
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onPlayerTeleport(PlayerTeleportEvent event) { final Player player = event.getPlayer(); final int visibleDistance = server.getViewDistance() * 16; // Fix the visibility issue one tick later server.getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() { @Override public void run() { // Refresh nearby clients String version; version = Bukkit.getServer().getClass().getPackage().getName(); if (version.contains("v1_11")) { TeleportFix_1_11.updateEntities(getPlayersWithin(player, visibleDistance)); } else if (version.contains("v1_12")) { TeleportFix_1_12.updateEntities(getPlayersWithin(player, visibleDistance)); } //System.out.println("Applying fix ... " + visibleDistance); } }, TELEPORT_FIX_DELAY); }
@EventHandler public void onTeleportEvent(PlayerTeleportEvent e) { final Player player = e.getPlayer(); if (teleportBetweenWorlds(e.getTo().getWorld(), e.getFrom().getWorld()) && teleportToLobby(e.getTo().getWorld())) { SkyWarsReloaded.get().getServer().getScheduler().scheduleSyncDelayedTask(SkyWarsReloaded.get(), new Runnable() { public void run() { if (player != null) { givePlayerItems(player); } } }, 8); } else if (teleportBetweenWorlds(e.getTo().getWorld(), e.getFrom().getWorld()) && !teleportToLobby(e.getTo().getWorld())) { SkyWarsReloaded.get().getServer().getScheduler().scheduleSyncDelayedTask(SkyWarsReloaded.get(), new Runnable() { public void run() { if (player != null) { removePlayerItems(player); } } }, 8); } }
@EventHandler public void teleport(PlayerTeleportEvent e){ if(e.getPlayer().hasMetadata("NPC"))return; if(!rs.worldExists(e.getTo().getWorld().getName())){ if(rs.getPlayerData(e.getPlayer())==null)return; rs.deletePlayer(e.getPlayer()); return; } if(rs.getPlayerData(e.getPlayer())!=null)return; Player p=e.getPlayer(); File data=new File(rs.getDataFolder()+File.separator+"PlayerDatas"+File.separator+p.getUniqueId().toString()+".yml"); if(!data.exists()){//�������ļ��Ƿ����,������������ʼ��һ���ļ� try {data.createNewFile();} catch (IOException e1) {} PlayerData pd=new PlayerData(p.getUniqueId(),p.getWorld().getName(), rs.getSleepMax(), rs.getThirstMax(), 0, 37, 0, rs.getPhysical_strength()); pd.savaData(); } rs.addPlayerData(p, Utils.getPlayerData(p)); }
@EventHandler(ignoreCancelled = true, priority = EventPriority.NORMAL) public void onPlayerPortal(PlayerPortalEvent event) { if (event.getCause() != PlayerTeleportEvent.TeleportCause.END_PORTAL) { return; } if (event.getTo() != null) { World toWorld = event.getTo().getWorld(); if (toWorld != null && toWorld.getEnvironment() == World.Environment.THE_END) { event.useTravelAgent(false); event.setTo(toWorld.getSpawnLocation()); return; } } World fromWorld = event.getFrom().getWorld(); if (fromWorld != null && fromWorld.getEnvironment() == World.Environment.THE_END) { event.useTravelAgent(false); event.setTo(endExit); } }
@EventHandler(ignoreCancelled = true, priority = EventPriority.NORMAL) public void onPearlClip(PlayerTeleportEvent event) { if (event.getCause() == PlayerTeleportEvent.TeleportCause.ENDER_PEARL) { Location to = event.getTo(); if (blockedPearlTypes.contains(to.getBlock().getType())) { Player player = event.getPlayer(); player.sendMessage(ChatColor.YELLOW + "You have been detected trying to pearl glitch, your pearl has been refunded and cooldown wiped."); plugin.getTimerManager().getEnderPearlTimer().refund(player); event.setCancelled(true); return; } to.setX(to.getBlockX() + 0.5); to.setZ(to.getBlockZ() + 0.5); event.setTo(to); } }
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGH) public void onPlayerDamage(EntityDamageEvent event) { if (event.getCause() == EntityDamageEvent.DamageCause.VOID) { Entity entity = event.getEntity(); if (entity instanceof Player) { // Allow players to die by VOID in the END if (entity.getWorld().getEnvironment() == World.Environment.THE_END) { return; } Location destination = BukkitUtils.getHighestLocation(entity.getLocation()); if (destination == null) return; if (entity.teleport(destination, PlayerTeleportEvent.TeleportCause.PLUGIN)) { event.setCancelled(true); ((Player) entity).sendMessage(ChatColor.YELLOW + "You were saved from the void."); } } } }
/** * Teleports a {@link Player} to a {@link Location} with a delay. * * @param player * the {@link Player} to teleport * @param location * the {@link Location} to teleport to * @param millis * the time in milliseconds until teleport * @param warmupMessage * the message to send whilst waiting * @param cause * the cause for teleporting * @return true if {@link Player} was successfully teleported */ public boolean teleport(Player player, Location location, long millis, String warmupMessage, PlayerTeleportEvent.TeleportCause cause) { cancelTeleport(player, null); // cancels any previous teleport for the player. boolean result; if (millis <= 0) { // if there is no delay, just instantly teleport. result = player.teleport(location, cause); clearCooldown(player.getUniqueId()); } else { UUID uuid = player.getUniqueId(); player.sendMessage(warmupMessage); destinationMap.put(uuid, location.clone()); setCooldown(player, uuid, millis, true, null); result = true; } return result; }
@Override public void run(PAUser user, String label, String[] args) { PAUser target = user; if (args.length != 0) { target = PAServer.getUser(plugin.getServer().getPlayer(args[0])); if (!target.isOnline()) { userNotOnline(user); return; } } for (Player p : plugin.getServer().getOnlinePlayers()) { p.teleport(target.getPlayer().getLocation(), PlayerTeleportEvent.TeleportCause.COMMAND); } user.sendMessage(PAData.CORE.getPrefix() + "&6Todos los jugadores han sido teletransportados"); }
@Override public void run(PAUser user, String label, String[] args) { if (args.length != 3) { user.sendMessage(Messages.getMessage(Messages.BUFF_ARGS, PAData.CORE)); return; } Double x, y, z; try { x = Double.parseDouble(args[0]); y = Double.parseDouble(args[1]); z = Double.parseDouble(args[2]); } catch (NumberFormatException e) { user.sendMessage("&eUsa: /" + label + " <x> <y> <z> (Deben ser números de coordenadas)"); return; } Location loc = new Location(user.getPlayer().getWorld(), x, y, z); user.getPlayer().teleport(loc, PlayerTeleportEvent.TeleportCause.COMMAND); user.sendMessage("&6Teleportando a &e" + x + "&6, &e" + y + "&6, &e" + z); }
@Override public void run(PAUser user, String label, String[] args) { if (args.length == 0) { user.sendMessage(""); return; } PAUser target = PAServer.getUser(plugin.getServer().getPlayer(args[0])); if (!target.isOnline()) { userNotOnline(user); return; } target.getPlayer().teleport(user.getPlayer().getLocation(), PlayerTeleportEvent.TeleportCause.COMMAND); user.sendMessage(""); }
@EventHandler(ignoreCancelled = true, priority = EventPriority.NORMAL) public void onPearlClip(PlayerTeleportEvent event) { if (event.getCause() == PlayerTeleportEvent.TeleportCause.ENDER_PEARL) { Location to = event.getTo(); if (blockedPearlTypes.contains(to.getBlock().getType())) { Player player = event.getPlayer(); player.sendMessage(ChatColor.RED + "You cannot pearl there."); removeCooldown(player); event.setCancelled(true); return; } to.setX(to.getBlockX() + 0.5D); to.setZ(to.getBlockZ() + 0.5D); event.setTo(to); } }
@EventHandler public void onPlayerTeleport(PlayerTeleportEvent e) { User user = MWAPI.getUserHandler().findById(e.getPlayer().getUniqueId()); if (user.getGame() != null && (user.getGame().isPlaying(user) || user.getGame().isSpectating(user))) { if (handler.getAllowedTeleports().containsKey(user) && handler.getAllowedTeleports().get(user).equals(e.getTo())) { handler.getAllowedTeleports().remove(user); return; } user.getGame().leave(user); user.getPlayer().teleport(e.getTo()); } }
@EventHandler public void onPlayerSwitch(final PlayerTeleportEvent e) { if(RandomCoords.getPlugin().config.getStringList("OnJoinWorlds") == null ) { return; } if(e.getCause() == PlayerTeleportEvent.TeleportCause.NETHER_PORTAL || e.getCause() == PlayerTeleportEvent.TeleportCause.END_PORTAL) { return; } final List<String> list = RandomCoords.getPlugin().config.getStringList("OnJoinWorlds"); if(list.isEmpty()) { return; } if(e.getTo().getWorld() == e.getFrom().getWorld()) { return; } if(list.contains(e.getTo().getWorld().getName())) { if(e.getTo().getWorld().getPlayers().contains(e.getPlayer())) { return; } final Player p = e.getPlayer(); //coordinates.finalCoordinates(p, 574272099, 574272099, e.getTo().getWorld(), CoordType.JOINWORLD, 0); coordinatesManager.randomlyTeleportPlayer(p, e.getTo().getWorld(), coordinatesManager.key, coordinatesManager.key, CoordType.JOINWORLD, 0); } }
public boolean isAuthorizedFor(Player base, Location to) { if (to == null || to.getWorld() == null) { instance.logToFile(getClass(), base.getUniqueId() + " (" + base.getName() + ") is not authorized to teleport to " + to + "!", Level.WARNING); return false; } Helper.refreshChunk(to); Helper.updatePosition(base, to); if (config.isPatchesForceAllowTeleportation()) { return true; } PlayerTeleportEvent event = new PlayerTeleportEvent(base, base.getLocation(), to, PlayerTeleportEvent.TeleportCause.PLUGIN); Bukkit.getPluginManager().callEvent(event); return !event.isCancelled(); }
@EventHandler (priority = EventPriority.MONITOR) public void on(PlayerTeleportEvent event) { if (!config.isPatchesForceAllowTeleportation()) { return; } Storage storage = Storage.get(event.getPlayer()); Object value = storage.get("teleportedTo"); if (value == null) { return; } storage.remove("teleportedTo"); event.setTo((Location) value); event.setCancelled(false); }
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) public void onPlayerTeleport(PlayerTeleportEvent event) { if(event.getCause() != TeleportCause.ENDER_PEARL) return; Flag flag = this.GetFlagInstanceAtLocation(event.getFrom(), event.getPlayer()); if(flag != null) { event.setCancelled(true); } flag = this.GetFlagInstanceAtLocation(event.getTo(), event.getPlayer()); if(flag != null) { event.setCancelled(true); } }
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) public void onPlayerTeleport(PlayerTeleportEvent event) { if(event.getCause() != TeleportCause.CHORUS_FRUIT) return; Flag flag = this.GetFlagInstanceAtLocation(event.getFrom(), event.getPlayer()); if(flag != null) { event.setCancelled(true); } flag = this.GetFlagInstanceAtLocation(event.getTo(), event.getPlayer()); if(flag != null) { event.setCancelled(true); } }
@EventHandler public void playerTeleportEvent(PlayerTeleportEvent event) { Player player = event.getPlayer(); PlayerGUIPage playerGUIContainer = PlayerData.getPlayerData(player).getPlayerGUIPage(); if(playerGUIContainer != null) { if(event.getCause() != PlayerTeleportEvent.TeleportCause.UNKNOWN) { playerGUIContainer.destroy(); PlayerData.getPlayerData(player).setPlayerGUIPage(null); PlayerData.getPlayerData(player).setPlayerPreviousGUIPage(null); } } }
@Override public void onPlayerTeleport(PlayerTeleportEvent event, BPPlayer bpPlayer) { TeleportCause cause = event.getCause(); if(cause == TeleportCause.ENDER_PEARL) { CTFGame game = getGame(); FlagManager flm = game.getFlagManager(); if(flm.isHoldingFlag(bpPlayer)) { Player player = bpPlayer.getPlayer(); event.setCancelled(true); player.sendMessage(MessageType.OTHER_WARNPEARL.getTranslation().getValue()); } } }
@EventHandler public void onTeleport(final PlayerTeleportEvent e) { final Player p = e.getPlayer(); if (e.getCause().equals(TeleportCause.SPECTATE) && !(p.hasPermission("essentials.tp"))){ e.setCancelled(true); p.sendMessage(ChatColor.RED + "You do not have permission to /tp"); } if (!e.getFrom().getWorld().equals(e.getTo().getWorld())) { MultiverseCore mv = (MultiverseCore) Bukkit.getServer() .getPluginManager().getPlugin("Multiverse-Core"); MVWorldManager wm = mv.getMVWorldManager(); MultiverseWorld toWorld = wm.getMVWorld(e.getTo().getWorld() .getName()); MultiverseWorld fromWorld = wm.getMVWorld(e.getFrom().getWorld() .getName()); if (toWorld != fromWorld && !p.getGameMode().equals(toWorld.getGameMode())) { p.setGameMode(toWorld.getGameMode()); } } }
@EventHandler(priority = EventPriority.NORMAL,ignoreCancelled = true) //这就是我说的那个监听器了,事件发生时会触发下面这个方法 public void onPlayerTeleport(PlayerTeleportEvent e) { if(this.isInList(e.getPlayer()) &&!e.getTo().getWorld().equals(this.gameworld) &&!e.getPlayer().isOp()){//里面的人试图出去(op例外) e.getPlayer().sendMessage(ChatColor.RED+"你已经退出了游戏"); Bukkit.broadcastMessage(ChatColor.GOLD+e.getPlayer().getDisplayName()+"逃离了一场游戏!"); this.removefromPlayerList(e.getPlayer()); //e.setCancelled(true); } if(!this.isInList(e.getPlayer()) &&e.getTo().getWorld().equals(this.gameworld) &&!e.getPlayer().isOp()){//外面的人试图进来(op例外) e.getPlayer().sendMessage(ChatColor.GREEN+"成功加入游戏"); this.addtoPlayerList(e.getPlayer()); //e.setCancelled(true); } }
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onTeleport(final PlayerTeleportEvent event) { final PlayerStat stat = PlayerStat.TELEPORTS; // Get player final Player player = event.getPlayer(); // Do general check if (!plugin.doGeneralCheck(player, stat)) return; // Update value to new stat. plugin.getDataManager().setPlayerInfo(player.getUniqueId(), stat, StatzUtil.makeQuery("uuid", player.getUniqueId().toString(), "value", 1, "world", event.getFrom().getWorld().getName(), "destWorld", event.getTo().getWorld().getName(), "cause", event.getCause().toString())); }
@Override public boolean onCommand(CommandSender cs, Command command, String alias, String[] args) { if (cs instanceof Player) { Player sender = (Player) cs; if (sender.isOp() || sender.hasPermission("gm4.back")) { if (args.length == 0) { if (locationHistory.containsKey(sender.getUniqueId())) { Location loc = locationHistory.get(sender.getUniqueId()); if (!isUnsafe(sender, loc) || alias.equalsIgnoreCase("backunsafe")) { sender.teleport(loc, PlayerTeleportEvent.TeleportCause.COMMAND); sender.sendMessage(ChatColor.GREEN + "Returning you to your last known location! [" + ChatColor.GOLD + loc.getBlockX() + ", " + loc.getBlockY() + ", " + loc.getBlockZ() + ChatColor.GREEN + "]"); } else { sender.sendMessage(ChatColor.RED + "Unsafe location! Use " + ChatColor.GOLD + "/backunsafe" + ChatColor.RED + " to bypass protection."); } } else { sender.sendMessage(ChatColor.RED + "You have no location history!"); } return true; } TextUtil.sendCommandFormatError(sender, "/" + alias); } } return true; }
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onPlayerTeleport(final PlayerTeleportEvent event) { final Player p = event.getPlayer(); final IPet pi = EchoPet.getManager().getPet(p); Iterator<IPet> i = EchoPet.getManager().getPets().iterator(); while (i.hasNext()) { IPet pet = i.next(); if (pet.getEntityPet() instanceof IEntityPacketPet && ((IEntityPacketPet) pet.getEntityPet()).hasInititiated()) { if (GeometryUtil.getNearbyEntities(event.getTo(), 50).contains(pet)) { ((IEntityPacketPet) pet.getEntityPet()).updatePosition(); } } } if (pi != null) { if (!WorldUtil.allowPets(event.getTo())) { Lang.sendTo(p, Lang.PETS_DISABLED_HERE.toString().replace("%world%", WordUtils.capitalizeFully(event.getTo().getWorld().getName()))); EchoPet.getManager().saveFileData("autosave", pi); EchoPet.getSqlManager().saveToDatabase(pi, false); EchoPet.getManager().removePet(pi, false); } } }
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) public void onPlayerTeleport(PlayerTeleportEvent event) { // make sure they moved through space if (event.getFrom().getX() != event.getTo().getX() || event.getFrom().getY() != event.getTo().getY() || event.getFrom().getZ() != event.getTo().getZ()) { // begin the hunt for the challenger Optional<Challenger> challenger = CommonCore.getChallenger(event.getPlayer().getUniqueId()); // check whether the player is in a round for this minigame if (challenger.isPresent() && !((CommonChallenger) challenger.get()).isLeaving()) { Boundary bound = challenger.get().getRound().getArena().getBoundary(); // check whether the player is teleporting out of the arena boundary if (!bound.contains(LocationHelper.convertLocation(event.getTo()))) { if (challenger.get().getRound().getConfigValue(ConfigNode.ALLOW_EXIT_BOUNDARY)) { challenger.get().removeFromRound(); } else { event.setCancelled(true); } } } } }
@Override public void run() { for (Player playerEntity : Bukkit.getOnlinePlayers()) { SpawnShieldPlayer player = plugin.getPlayer(playerEntity); if (isBlocked(playerEntity.getLocation())) { if (plugin.getCombatTagPlugin().isTagged(playerEntity)){ if (player.getLastLocationOutsideSafezone() == null) { plugin.getLogger().warning(player.getName() + "'s last location outside safezone is unknown"); } else { if (player.getLastCantEnterMessageTime() + 1500 < System.currentTimeMillis()) { playerEntity.sendMessage(plugin.getMessages().getCantEnterSafezone()); player.setLastCantEnterMessageTime(System.currentTimeMillis()); } playerEntity.teleport(player.getLastLocationOutsideSafezone(), PlayerTeleportEvent.TeleportCause.PLUGIN); } } } else { player.setLastLocationOutsideSafezone(playerEntity.getLocation()); } } }
@HookHandler(priority = Priority.CRITICAL, ignoreCanceled = true) public void onTeleportation(final TeleportHook hook) { PlayerTeleportEvent event = new PlayerTeleportEvent(new CanaryPlayer(hook.getPlayer()), new CanaryLocation(hook.getPlayer() .getLocation(), new CanaryWorld(hook.getDestination().getWorld())), new CanaryLocation(hook .getDestination(), new CanaryWorld(hook.getDestination().getWorld())), TeleportCauseConverter.of(hook.getTeleportReason())) { @Override public void setFrom(Location from) { super.setFrom(from); // How can you do this in Canary? } @Override public void setTo(Location to) { super.setTo(to); // How can you do this in Canary? } }; event.setCancelled(hook.isCanceled()); server.getPluginManager().callEvent(event); if (event.isCancelled()) { hook.setCanceled(); } }
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void on(PlayerTeleportEvent event) { if (!isCurrentlyFrozen(event.getPlayer().getUniqueId())) return; Player player = event.getPlayer(); switch (event.getCause()) { case PLUGIN: // skip if it was to the same location as currently set, stops // resetting particles/metadata on border knockback if (event.getTo().equals(getFreezeLocation(player).get())) return; case COMMAND: case UNKNOWN: // set new location and reset particles setFreezeLocation(player, event.getTo()); startParticleSpawning(player, event.getTo()); potionApplier.addPotions(player); } }
@EventHandler(priority = EventPriority.MONITOR) public void onPlayerTeleport(PlayerTeleportEvent event) { if (event.isCancelled()) { return; } Location from = event.getFrom(); Location to = event.getTo(); if (from.getWorld().equals(to.getWorld())) { return; } ConsoleLogger.debug("[EVENTS] Player '" + event.getPlayer().getName() + "' going from world '" + from + "' to world '" + to + "'"); Group groupFrom = groupManager.getGroupFromWorld(from.getWorld().getName()); Group groupTo = groupManager.getGroupFromWorld(to.getWorld().getName()); if (groupFrom.equals(groupTo)) { return; } playerManager.addPlayer(event.getPlayer(), groupFrom); event.getPlayer().closeInventory(); }
@Test public void noInteractionsSameWorld() { // given Player player = mock(Player.class); World worldFrom = mock(World.class); Location from = new Location(worldFrom, 1, 2, 3); Location to = new Location(worldFrom, 4, 5, 6); PlayerTeleportEvent event = new PlayerTeleportEvent(player, from, to); // when listener.onPlayerTeleport(event); // then verifyZeroInteractions(groupManager); verifyZeroInteractions(playerManager); }