Refine search
if (this.location != null && this.location.getWorld() != null) { PlayerTeleportEvent event = new PlayerTeleportEvent(this, this.location, location, cause); if (EventFactory.getInstance().callEvent(event).isCancelled()) { return false; location = event.getTo(); closeInventory();
@Override public void setCancelled(boolean state) { e.setCancelled(state); }
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) public void onTeleport(PlayerTeleportEvent e) { handleEnterExitNotification(User.getInstance(e.getPlayer()), e.getFrom(), e.getTo()); }
/** * Drops the ball on teleport. * * @param event event */ @EventHandler public void onTeleportEvent(PlayerTeleportEvent event) { this.dropBall(event.getPlayer()); }
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) public void onPlayerTeleport(PlayerTeleportEvent event) { // if knockback is set to 0, simply return if (Config.KnockBack() == 0.0) return; if (Config.Debug()) Config.log("Teleport cause: " + event.getCause().toString()); Location newLoc = BorderCheckTask.checkPlayer(event.getPlayer(), event.getTo(), true, true); if (newLoc != null) { if(event.getCause() == PlayerTeleportEvent.TeleportCause.ENDER_PEARL && Config.getDenyEnderpearl()) { event.setCancelled(true); return; } event.setTo(newLoc); } }
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onPlayerTeleport(final PlayerTeleportEvent event) { handleTeleport(event.getPlayer(), event.getTo().clone()); }
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) public void onPlayerTeleport(PlayerTeleportEvent e) { e.setCancelled(!checkAndNotify(e.getPlayer(), e.getTo()).equals(CheckResult.OPEN)); }
@EventHandler(priority = EventPriority.HIGHEST) public void onPlayerTeleport(PlayerTeleportEvent event) { if (event.isCancelled()) { return; if (event.getFrom() == null || event.getTo() == null) { return; if (Helper.isSameLocation(event.getFrom(), event.getTo())) { return; Player player = event.getPlayer(); Field field = plugin.getForceFieldManager().getEnabledSourceField(event.getTo(), FieldFlag.PREVENT_TELEPORT); if (!plugin.getPermissionsManager().has(event.getPlayer(), "preciousstones.bypass.teleport")) { event.setCancelled(true); ChatHelper.send(player, "cannotTeleportInsideField"); return; if (!Helper.isSameBlock(event.getFrom(), event.getTo())) { if (plugin.getSettingsManager().isVisualizeEndOnMove()) { if (!plugin.getPermissionsManager().has(player, "preciousstones.admin.visualize")) { if (!entryField.envelops(event.getTo())) { plugin.getEntryManager().leaveField(player, entryField); List<Field> futureFields = plugin.getForceFieldManager().getEnabledSourceFields(event.getTo(), FieldFlag.ALL);
@EventHandler (priority = EventPriority.NORMAL, ignoreCancelled = true) public void enderPearlTeleport(PlayerTeleportEvent event) { if (!Conf.handleExploitEnderPearlClipping) { return; } if (event.getCause() != PlayerTeleportEvent.TeleportCause.ENDER_PEARL) { return; } // this exploit works when the target location is within 0.31 blocks or so of a door or glass block or similar... Location target = event.getTo(); Location from = event.getFrom(); // blocks who occupy less than 1 block width or length wise need to be handled differently Material mat = event.getTo().getBlock().getType(); if (((mat == SavageFactions.plugin.THIN_GLASS || mat == SavageFactions.plugin.IRON_FENCE) && clippingThrough(target, from, 0.65)) || ((mat == SavageFactions.plugin.FENCE || mat == SavageFactions.plugin.NETHER_FENCE) && clippingThrough(target, from, 0.45))) { event.setTo(from); return; } // simple fix otherwise: ender pearl target locations are standardized to be in the center (X/Z) of the target block, not at the edges target.setX(target.getBlockX() + 0.5); target.setZ(target.getBlockZ() + 0.5); event.setTo(target); } }
@EventHandler void onPlayerTeleport(PlayerTeleportEvent e) { try { if (stucked.get(e.getPlayer().getUniqueId(), () -> Long.MIN_VALUE) >= (System.currentTimeMillis() - duration * 50)) { if (e.getCause() != PlayerTeleportEvent.TeleportCause.COMMAND) { e.getPlayer().sendMessage(I18n.format("message.stuck")); e.setCancelled(true); } } } catch (ExecutionException ex) { ex.printStackTrace(); } } };
@EventHandler(priority = EventPriority.LOWEST) public void onPlayerTeleport(PlayerTeleportEvent event) { if(event.getFrom().equals(event.getTo())) { return; } BukkitMCPlayerTeleportEvent pte = new BukkitMCPlayerTeleportEvent(event); EventUtils.TriggerListener(Driver.PLAYER_TELEPORT, "player_teleport", pte); }
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onTeleport(PlayerTeleportEvent event) { if (event.getCause() == PlayerTeleportEvent.TeleportCause.UNKNOWN) { return; } Player p = event.getPlayer(); // The player will either quit, die, or close the inventory at some point if (plugin.getInVault().containsKey(p.getUniqueId().toString())) { return; } saveVault(p, p.getOpenInventory().getTopInventory()); }
@EventHandler public void onTeleport(PlayerTeleportEvent event) { Location loc = event.getTo(); if (event.isCancelled()) { return; } // Work around someone's bug if (loc == null || loc.getWorld() == null) { return; } if (loc.equals(loc.getWorld().getSpawnLocation())) { event.setTo(getSpawnPoint(loc.getWorld())); } }
@EventHandler(priority = EventPriority.HIGH) public void onPlayerTeleport(PlayerTeleportEvent event) { // Check absolute value to account for negatives if (Math.abs(event.getTo().getX()) >= MAX_XZ_COORD || Math.abs(event.getTo().getZ()) >= MAX_XZ_COORD) { event.setCancelled(true); // illegal position, cancel it } }
/** * Ender pearl and chorus fruit teleport checks * * @param e - event */ @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) public void onPlayerTeleport(final PlayerTeleportEvent e) { if (e.getCause() != null) { if (e.getCause().equals(TeleportCause.ENDER_PEARL)) { checkIsland(e, e.getTo(), Flags.ENDER_PEARL); } else if (e.getCause().equals(TeleportCause.CHORUS_FRUIT)) { checkIsland(e, e.getTo(), Flags.CHORUS_FRUIT); } } } }
@EventHandler(priority = EventPriority.NORMAL) public void playerTeleport(PlayerTeleportEvent event) { if (!am.isEnabled()) return; boolean allow = true; for (Arena arena : am.getArenas()) { TeleportResponse r = arena.getEventListener().onPlayerTeleport(event); // If just one arena allows, uncancel and stop. switch (r) { case ALLOW: event.setCancelled(false); return; case REJECT: allow = false; break; default: break; } } // Only cancel if at least one arena has rejected the teleport. if (!allow) { event.setCancelled(true); } }
/** * HIGHEST: Revert cancel on set back. * * @param event */ @EventHandler(ignoreCancelled = false, priority = EventPriority.HIGHEST) public void onPlayerTeleport(final PlayerTeleportEvent event) { // Only check cancelled events. if (event.isCancelled()) { checkUndoCancelledSetBack(event); } }
private final void undoCancelledSetBack(final Player player, final PlayerTeleportEvent event, final MovingData data, final IPlayerData pData) { // Prevent cheaters getting rid of flying data (morepackets, other). // TODO: even more strict enforcing ? event.setCancelled(false); // TODO: Does this make sense? Have it configurable rather? if (!data.isTeleported(event.getTo())) { final Location teleported = data.getTeleported(); event.setTo(teleported); /* * Setting from ... not sure this is relevant. Idea was to avoid * subtleties with other plugins, but it probably can't be * estimated, if this means more or less 'subtleties' in the end * (amortized). */ event.setFrom(teleported); } if (pData.isDebugActive(checkType)) { NCPAPIProvider.getNoCheatPlusAPI().getLogManager().warning( Streams.TRACE_FILE, player.getName() + " TP " + event.getCause() + " (revert cancel on set back): " + event.getTo()); } }