类org.bukkit.event.player.PlayerChangedWorldEvent源码实例Demo

下面列出了怎么用org.bukkit.event.player.PlayerChangedWorldEvent的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: BedWars   文件: HologramManager.java
@EventHandler
public void onWorldChange(PlayerChangedWorldEvent event) {
	if (HOLOGRAMS.isEmpty()) {
		return;
	}
	
	List<Hologram> copy = new ArrayList<>(HOLOGRAMS);
	for (Hologram hologram : copy) {
		if (hologram.isEmpty() || !hologram.hasViewers()) {
			HOLOGRAMS.remove(hologram);
			continue;
		}
		try {
			Player player = event.getPlayer();
			List<Player> viewers = hologram.getViewers();
			Location loc = hologram.getLocation();
			if (viewers.contains(player) && player.getWorld().equals(loc.getWorld())
				&& !event.getFrom().equals(loc.getWorld())) {
				if (player.getLocation().distanceSquared(loc) < VISIBILITY_DISTANCE_SQUARED) {
					hologram.update(player, hologram.getAllSpawnPackets(), false);
				}
			}
		} catch (Throwable t) {
		}
	}
}
 
源代码2 项目: BedWars   文件: HologramManager.java
@EventHandler
public void onWorldChange(PlayerChangedWorldEvent event) {
	if (HOLOGRAMS.isEmpty()) {
		return;
	}
	
	List<Hologram> copy = new ArrayList<>(HOLOGRAMS);
	for (Hologram hologram : copy) {
		if (hologram.isEmpty() || !hologram.hasViewers()) {
			HOLOGRAMS.remove(hologram);
			continue;
		}
		try {
			Player player = event.getPlayer();
			List<Player> viewers = hologram.getViewers();
			Location loc = hologram.getLocation();
			if (viewers.contains(player) && player.getWorld().equals(loc.getWorld())
				&& !event.getFrom().equals(loc.getWorld())) {
				if (player.getLocation().distanceSquared(loc) < VISIBILITY_DISTANCE_SQUARED) {
					hologram.update(player, hologram.getAllSpawnPackets(), false);
				}
			}
		} catch (Throwable t) {
		}
	}
}
 
源代码3 项目: SonarPet   文件: PetOwnerListener.java
@EventHandler
public void onWorldChange(PlayerChangedWorldEvent event) {
    final Player p = event.getPlayer();
    final IPet pi = EchoPet.getManager().getPet(p);
    if (pi != null) {
        EchoPet.getManager().saveFileData("autosave", pi);
        EchoPet.getSqlManager().saveToDatabase(pi, false);
        EchoPet.getManager().removePet(pi, false);
        new BukkitRunnable() {

            @Override
            public void run() {
                EchoPet.getManager().loadPets(p, false, false, false);
            }

        }.runTaskLater(EchoPet.getPlugin(), 20L);
    }
}
 
源代码4 项目: SuperVanish   文件: WorldChangeEvent.java
@EventHandler(priority = EventPriority.MONITOR)
public void onWorldChange(PlayerChangedWorldEvent e) {
    try {
        final Player p = e.getPlayer();
        if (!plugin.getVanishStateMgr().isVanished(p.getUniqueId()))
            return;
        // check auto-reappear option
        if (plugin.getSettings().getBoolean("VanishStateFeatures.ReappearOnWorldChange")
                || plugin.getSettings().getBoolean("VanishStateFeatures.CheckPermissionOnWorldChange")
                && !CommandAction.VANISH_SELF.checkPermission(p, plugin)) {
            plugin.getVisibilityChanger().showPlayer(p);
        }
    } catch (Exception er) {
        plugin.logException(er);
    }
}
 
源代码5 项目: HubBasics   文件: JoinItems.java
@EventHandler
public void onWorldChange(PlayerChangedWorldEvent event) {
    if (!this.worlds.contains(event.getPlayer().getWorld().getName())) return;
    if (!this.items.containsKey(event.getPlayer().getWorld().getName())) return;
    if (!this.worldChange.get(event.getPlayer().getWorld().getName())) return;
    if (this.clearInventory.get(event.getPlayer().getWorld().getName())) {
        event.getPlayer().getInventory().clear();
    }
    this.items.get(event.getPlayer().getWorld().getName()).forEach(id -> {
        CustomItem item = HubBasics.getItemManager().get(id);
        if (item == null) return;
        if (item.getPermission() != null && !event.getPlayer().hasPermission(item.getPermission())) return;
        this.removeItem(item, event.getPlayer().getInventory());
        if (item.getSlot() == null || item.getSlot() == -1) {
            event.getPlayer().getInventory().addItem(item.toItemStack(event.getPlayer()));
        } else {
            event.getPlayer().getInventory().setItem(item.getSlot(), item.toItemStack(event.getPlayer()));
        }
    });
}
 
源代码6 项目: HoloAPI   文件: HoloListener.java
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onWorldChange(PlayerChangedWorldEvent event) {
    final Player player = event.getPlayer();
    for (final Hologram h : HoloAPI.getManager().getAllHolograms().keySet()) {
        if (player.getLocation().getWorld().getName().equals(h.getWorldName()) && h.getVisibility().isVisibleTo(player, h.getSaveId())) {
            if (h instanceof AnimatedHologram && !((AnimatedHologram) h).isAnimating()) {
                ((AnimatedHologram) h).animate();
            }
            h.show(player, true);
        } else if (event.getFrom().getName().equals(h.getWorldName()) && h.getLocationFor(player) != null) {
            new BukkitRunnable() {
                @Override
                public void run() {
                    h.clear(player);
                }
            }.runTaskLater(HoloAPI.getCore(), 20L);
        }
    }
}
 
源代码7 项目: ScoreboardStats   文件: PlayerListener.java
/**
 * Check if the player moves in a scoreboard disabled world
 *
 * @param worldChange the teleport event
 * @see com.github.games647.scoreboardstats.RefreshTask
 */
//ignore cancelled events
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGH)
public void onWorldChange(PlayerChangedWorldEvent worldChange) {
    Player player = worldChange.getPlayer();
    //new world
    if (Settings.isActiveWorld(player.getWorld().getName())) {
        //old world
        if (!Settings.isActiveWorld(worldChange.getFrom().getName())) {
            //Activate the scoreboard if it was disabled
            plugin.getRefreshTask().addToQueue(player);
        }
    } else {
        //Disable the scoreboard if the player goes into a disabled world
        plugin.getRefreshTask().remove(player);
        plugin.getScoreboardManager().unregister(player);
    }
}
 
源代码8 项目: TAB   文件: Main.java
@EventHandler(priority = EventPriority.LOWEST)
public void a(PlayerChangedWorldEvent e){
	try {
		if (Shared.disabled) return;
		if (Configs.bukkitBridgeMode) return;
		ITabPlayer p = Shared.getPlayer(e.getPlayer().getUniqueId());
		if (p == null) return;
		p.onWorldChange(e.getFrom().getName(), p.world = e.getPlayer().getWorld().getName());
	} catch (Throwable t) {
		Shared.errorManager.printError("An error occurred when processing PlayerChangedWorldEvent", t);
	}
}
 
源代码9 项目: GlobalWarming   文件: PlayerListener.java
/**
 * Track a player's current world
 * - This information is needed when players go offline, but have planted saplings,
 * left furnaces running or have active bounties
 */
@EventHandler(ignoreCancelled = true)
public void onPlayerChangedWorldEvent(PlayerChangedWorldEvent event) {
    //Update the player's world:
    PlayerTable playerTable = gw.getTableManager().getPlayerTable();
    GPlayer gPlayer = playerTable.getPlayers().get(event.getPlayer().getUniqueId());
    gPlayer.setWorldId(event.getPlayer().getWorld().getUID());

    //Database update:
    PlayerUpdateQuery updateQuery = new PlayerUpdateQuery(gPlayer);
    AsyncDBQueue.getInstance().queueUpdateQuery(updateQuery);
}
 
源代码10 项目: UhcCore   文件: TeleportListener.java
@EventHandler
public void onPlayerChangedWorld(PlayerChangedWorldEvent e){
	GameManager gm = GameManager.getGameManager();
	Player player = e.getPlayer();

	if (gm.getConfiguration().getEnableTheEnd() && e.getFrom().getName().equals(gm.getConfiguration().getTheEndUuid())){
		World world = Bukkit.getServer().getWorld(gm.getConfiguration().getOverworldUuid());

		double maxDistance = 0.9 * gm.getWorldBorder().getCurrentSize();
		Location loc = gm.getPlayersManager().findRandomSafeLocation(world, maxDistance);

		player.teleport(loc);
	}
}
 
源代码11 项目: Plan   文件: WorldChangeListener.java
@EventHandler(priority = EventPriority.MONITOR)
public void onWorldChange(PlayerChangedWorldEvent event) {
    try {
        actOnEvent(event);
    } catch (Exception e) {
        errorLogger.log(L.ERROR, e, ErrorContext.builder().related(event).build());
    }
}
 
源代码12 项目: Plan   文件: WorldChangeListener.java
private void actOnEvent(PlayerChangedWorldEvent event) {
    long time = System.currentTimeMillis();

    Player player = event.getPlayer();
    UUID uuid = player.getUniqueId();

    String worldName = player.getWorld().getName();
    String gameMode = player.getGameMode().name();

    dbSystem.getDatabase().executeTransaction(new WorldNameStoreTransaction(serverInfo.getServerUUID(), worldName));
    worldAliasSettings.addWorld(worldName);

    Optional<Session> cachedSession = SessionCache.getCachedSession(uuid);
    cachedSession.ifPresent(session -> session.changeState(worldName, gameMode, time));
}
 
源代码13 项目: AACAdditionPro   文件: DataUpdaterEvents.java
@EventHandler
public void onWorldChange(final PlayerChangedWorldEvent event)
{
    final User user = UserManager.getUser(event.getPlayer().getUniqueId());

    if (user != null) {
        user.getTimestampMap().nullifyTimeStamp(TimestampKey.INVENTORY_OPENED);
        user.getTimestampMap().updateTimeStamps(TimestampKey.LAST_TELEPORT, TimestampKey.LAST_WORLD_CHANGE);
    }
}
 
源代码14 项目: NametagEdit   文件: NametagHandler.java
/**
 * Some users may have different permissions per world.
 * If this is enabled, their tag will be reloaded on TP.
 */
@EventHandler
public void onTeleport(final PlayerChangedWorldEvent event) {
    if (!refreshTagOnWorldChange) return;

    new BukkitRunnable() {
        @Override
        public void run() {
            applyTagToPlayer(event.getPlayer(), false);
        }
    }.runTaskLater(plugin, 3);
}
 
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onPlayerChangedWorldEvent(PlayerChangedWorldEvent event)
{
	Player player = event.getPlayer();
	
	if (player.getGameMode() != GameMode.CREATIVE && !this.essentialsPlugin.getUser(player).isAuthorized("essentials.fly"))
	{
		//Essentials now turns off flight, fuck him
		Boolean value = this.plugin.getWorldGuardCommunicator().getSessionManager().get(player).getHandler(FlyFlagHandler.class).getCurrentValue();
		if (value != null)
		{
			player.setAllowFlight(value);
		}
	}
}
 
@EventHandler
public void onPlayerChangedWorld(PlayerChangedWorldEvent e) {
    Player player = e.getPlayer();

    plugin.getPlayerInfosSafe(player).ifPresent(infos -> {
        plugin.updateHoldingSelectionItem(infos);

        infos.getEnabledVisualizations().forEach(PlayerSelection::resetSelection);
        plugin.getWorldEditHelper().updatePlayerVisualizations(infos);
    });
}
 
源代码17 项目: PerWorldInventory   文件: InventoryChangeProcess.java
/**
 * Begins the process of a player changing worlds.
 *
 * @param event The called {@link PlayerChangedWorldEvent}.
 */
public void preProcessWorldChange(PlayerChangedWorldEvent event) {
    Player player = event.getPlayer();
    String worldFrom = event.getFrom().getName();
    String worldTo = player.getWorld().getName();
    Group groupFrom = groupManager.getGroupFromWorld(worldFrom);
    Group groupTo = groupManager.getGroupFromWorld(worldTo);

    processWorldChange(player, groupFrom, groupTo);
}
 
源代码18 项目: SuperVanish   文件: NightVision.java
@EventHandler
public void onWorldChange(PlayerChangedWorldEvent e) {
    Player p = e.getPlayer();
    if (!plugin.getVanishStateMgr().isVanished(p.getUniqueId()))
        return;
    sendAddPotionEffect(p, new PotionEffect(PotionEffectType.NIGHT_VISION,
            INFINITE_POTION_EFFECT_LENGTH, 0));
}
 
源代码19 项目: BedwarsRel   文件: PlayerListener.java
@EventHandler
public void onSwitchWorld(PlayerChangedWorldEvent change) {
  Game game = BedwarsRel.getInstance().getGameManager().getGameOfPlayer(change.getPlayer());
  if (game != null) {
    if (game.getState() == GameState.RUNNING) {
      if (!game.getCycle().isEndGameRunning()) {
        if (!game.getPlayerSettings(change.getPlayer()).isTeleporting()) {
          game.playerLeave(change.getPlayer(), false);
        } else {
          game.getPlayerSettings(change.getPlayer()).setTeleporting(false);
        }
      }
    } else if (game.getState() == GameState.WAITING) {
      if (!game.getPlayerSettings(change.getPlayer()).isTeleporting()) {
        game.playerLeave(change.getPlayer(), false);
      } else {
        game.getPlayerSettings(change.getPlayer()).setTeleporting(false);
      }
    }
  }

  if (!BedwarsRel.getInstance().isHologramsEnabled()
      || BedwarsRel.getInstance().getHolographicInteractor() == null) {
    return;
  }

  BedwarsRel.getInstance().getHolographicInteractor().updateHolograms(change.getPlayer());
}
 
源代码20 项目: PerWorldInventory   文件: InventoryChangeProcess.java
/**
 * Begins the process of a player changing worlds.
 *
 * @param event The called {@link PlayerChangedWorldEvent}.
 */
public void preProcessWorldChange(PlayerChangedWorldEvent event) {
    Player player = event.getPlayer();
    String worldFrom = event.getFrom().getName();
    String worldTo = player.getWorld().getName();
    Group groupFrom = groupManager.getGroupFromWorld(worldFrom);
    Group groupTo = groupManager.getGroupFromWorld(worldTo);

    processWorldChange(player, groupFrom, groupTo);
}
 
源代码21 项目: HubBasics   文件: BossAnnouncer.java
@EventHandler
public void onWorld(PlayerChangedWorldEvent event) {
    World world = event.getPlayer().getWorld();
    BossBarMessage bbm = getBossBar(world.getName(), getPointer(world.getName()));
    if (bbm != null) {
        this.setBossBar(event.getPlayer(), bbm.toBossBar(event.getPlayer()));
    }
}
 
源代码22 项目: HubBasics   文件: JoinMessages.java
@EventHandler
public void onChange(PlayerChangedWorldEvent event) {
    if (this.worldMessages.containsKey(event.getPlayer().getWorld().getName())) {
        HubBasics.getMessenger().send(event.getPlayer().getWorld(),
                PlaceHolderUtil.replace(event.getPlayer(), this.worldMessages.get(event.getPlayer().getWorld().getName())));
    }
}
 
源代码23 项目: askyblock   文件: WorldEnter.java
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled=true)
public void onWorldEnter(final PlayerChangedWorldEvent event) {
    if (DEBUG)
        plugin.getLogger().info("DEBUG " + event.getEventName());
    if (!event.getPlayer().getWorld().equals(ASkyBlock.getIslandWorld()) &&
            !event.getPlayer().getWorld().equals(ASkyBlock.getNetherWorld())) {
        return;
    }
    if (DEBUG)
        plugin.getLogger().info("DEBUG correct world");
    Location islandLoc = plugin.getPlayers().getIslandLocation(event.getPlayer().getUniqueId());
    if (islandLoc == null) {
        if (DEBUG)
            plugin.getLogger().info("DEBUG  no island");
        // They have no island
        if (Settings.makeIslandIfNone || Settings.immediateTeleport) {
            event.getPlayer().performCommand(Settings.ISLANDCOMMAND);
        }
        if (DEBUG)
            plugin.getLogger().info("DEBUG Make island");
    } else {
        // They have an island and are going to their own world
        if (Settings.immediateTeleport && islandLoc.getWorld().equals(event.getPlayer().getWorld())) {
            if (DEBUG)
                plugin.getLogger().info("DEBUG teleport");
            event.getPlayer().performCommand(Settings.ISLANDCOMMAND + " go");
        }
    }
}
 
源代码24 项目: BungeePerms   文件: BukkitEventListener.java
@EventHandler(priority = EventPriority.LOWEST)
public void onChangedWorld(PlayerChangedWorldEvent e)
{
    BukkitPlugin.getInstance().getNotifier().sendWorldUpdate(e.getPlayer());

    User u = config.isUseUUIDs() ? pm().getUser(e.getPlayer().getUniqueId()) : pm().getUser(e.getPlayer().getName());
    updateAttachment(e.getPlayer(), u);
}
 
源代码25 项目: PGM   文件: TabView.java
protected void onWorldChange(PlayerChangedWorldEvent event) {
  if (this.viewer == event.getPlayer()) this.respawnFakeEntities();
}
 
源代码26 项目: PGM   文件: TabManager.java
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onWorldChange(PlayerChangedWorldEvent event) {
  TabView view = this.getViewOrNull(event.getPlayer());
  if (view != null) view.onWorldChange(event);
}
 
源代码27 项目: Hawk   文件: TickRate.java
@EventHandler(priority = EventPriority.MONITOR)
public void onWorldChange(PlayerChangedWorldEvent e) {
    lastBigTeleportTime.put(e.getPlayer().getUniqueId(), hawk.getHawkPlayer(e.getPlayer()).getCurrentTick());
}
 
源代码28 项目: ProjectAres   文件: TabView.java
protected void onWorldChange(PlayerChangedWorldEvent event) {
    if(viewer.equals(event.getPlayer())) this.respawnFakeEntities();
}
 
源代码29 项目: ProjectAres   文件: TabManager.java
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onWorldChange(PlayerChangedWorldEvent event) {
    TabView view = this.getViewOrNull(event.getPlayer());
    if(view != null) view.onWorldChange(event);
}
 
源代码30 项目: Transport-Pipes   文件: PlayerListener.java
@EventHandler
public void onWorldChange(PlayerChangedWorldEvent e) {
    //make sure that all duct that were visible to the player get removed so they will spawn again when the player is nearby
    globalDuctManager.getPlayerDucts(e.getPlayer()).clear();
    ((PipeManager) (DuctManager<? extends Duct>) ductRegister.baseDuctTypeOf("pipe").getDuctManager()).getPlayerPipeItems(e.getPlayer()).clear();
}
 
 类所在包
 类方法
 同包方法