@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onGamemode(PlayerGameModeChangeEvent event) { if (!plugin.getInternalPlatform().isHookingEvents()) { return; } // this will automatically refresh their session, we don't have to do anything WorldEdit.getInstance().getSessionManager().get(plugin.wrapPlayer(event.getPlayer())); }
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onGameModeChange(PlayerGameModeChangeEvent event) { scheduleAwardConnection(event.getPlayer()); }
@EventHandler public void onPlayerGamemodeChange(final PlayerGameModeChangeEvent event) { final Player player = event.getPlayer(); if (event.getNewGameMode() == GameMode.SPECTATOR) { if (!Commands.invincible.contains(player.getName())) { Commands.invincible.add(player.getName()); } } else if (!(event.getNewGameMode() == GameMode.SPECTATOR) && Commands.invincible.contains(player.getName())) { Commands.invincible.remove(player.getName()); } }
@EventHandler(ignoreCancelled = true) public void onGMChange(PlayerGameModeChangeEvent event){ MinigamePlayer ply = pdata.getMinigamePlayer(event.getPlayer()); if(ply == null) return; if(ply.isInMinigame() && !ply.getAllowGamemodeChange()){ event.setCancelled(true); event.getPlayer().sendMessage(ChatColor.RED + "[Minigames] " + ChatColor.WHITE + MinigameUtils.getLang("minigame.error.noGamemode")); } }
@EventHandler public void onPlayerChangeGameMode(PlayerGameModeChangeEvent event) { Player player = event.getPlayer(); FlightSession session = sessions.getSession(FlightSession.class, player); if (event.getNewGameMode() != GameMode.CREATIVE) { player.setAllowFlight(session.canFly); } }
private void actOnEvent(PlayerGameModeChangeEvent event) { Player player = event.getPlayer(); UUID uuid = player.getUniqueId(); long time = System.currentTimeMillis(); String gameMode = event.getNewGameMode().name(); String worldName = player.getWorld().getName(); worldAliasSettings.addWorld(worldName); Optional<Session> cachedSession = SessionCache.getCachedSession(uuid); cachedSession.ifPresent(session -> session.changeState(worldName, gameMode, time)); } }
/** * When a player changes their gamemode, all information related to the moving checks becomes invalid. * * @param event * the event */ @EventHandler( ignoreCancelled = true, priority = EventPriority.MONITOR) public void onPlayerGameModeChange(final PlayerGameModeChangeEvent event) { final Player player = event.getPlayer(); if (player.getGameMode() == GameMode.CREATIVE || event.getNewGameMode() == GameMode.CREATIVE) { final MovingData data = DataManager.getGenericInstance(player, MovingData.class); data.clearFlyData(); data.clearPlayerMorePacketsData(); // TODO: Set new set back if any fly check is activated. // (Keep vehicle data as is.) } }
@EventHandler public void onPlayerGameModeChange(PlayerGameModeChangeEvent event) { Player player = event.getPlayer(); if (!player.isOnline()) return; if (event.getNewGameMode() == GameMode.CREATIVE || player.getGameMode() == GameMode.CREATIVE) { Mage mage = controller.getRegisteredMage(player); if (mage != null) { com.elmakers.mine.bukkit.api.wand.Wand activeWand = mage.getActiveWand(); if (activeWand != null) { activeWand.deactivate(); mage.checkWandNextTick(); } } } }
/** * @param event */ @EventHandler(priority = EventPriority.HIGH) public void onPlayerGameModeChangeEvent(PlayerGameModeChangeEvent event) { Player player = event.getPlayer(); GameMode gameMode = event.getNewGameMode(); Field field = plugin.getForceFieldManager().getEnabledSourceField(player.getLocation(), FieldFlag.ALL); if (field != null) { if (field.getSettings().getForceEntryGameMode() != null) { if (FieldFlag.ENTRY_GAME_MODE.applies(field, player)) { if (!gameMode.equals(field.getSettings().getForceEntryGameMode())) { ChatHelper.send(player, "cannotChangeGameMode"); event.setCancelled(true); } } } } }
@EventHandler public void onPlayerGameModeChange(PlayerGameModeChangeEvent event) { Player player = event.getPlayer(); LocalPlayer localPlayer = plugin.wrapPlayer(player); WorldConfiguration wcfg = WorldGuard.getInstance().getPlatform().getGlobalStateManager().get(localPlayer.getWorld()); Session session = WorldGuard.getInstance().getPlatform().getSessionManager().getIfPresent(localPlayer); if (session != null) { GameModeFlag handler = session.getHandler(GameModeFlag.class); if (handler != null && wcfg.useRegions && !WorldGuard.getInstance().getPlatform().getSessionManager().hasBypass(localPlayer, localPlayer.getWorld())) { GameMode expected = handler.getSetGameMode(); if (handler.getOriginalGameMode() != null && expected != null && expected != BukkitAdapter.adapt(event.getNewGameMode())) { log.info("Game mode change on " + player.getName() + " has been blocked due to the region GAMEMODE flag"); event.setCancelled(true); } } } }