// This event shouldn't be fired because player is in god mode // But we don't know if someone types /kill player while he's playing // spleef... @EventHandler public void onPlayerDeath(PlayerDeathEvent e) { SpleefPlayer player = HeavySpleef.getInstance().getSpleefPlayer(e.getEntity()); if (player.isActive()) { Game game = player.getGame(); game.leave(player, LoseCause.UNKNOWN); dead.add(player.getRawName()); } else if (player.isSpectating()) { player.getGame().leaveSpectate(player); } }
@EventHandler public void onPlayerCommand(PlayerCommandPreprocessEvent e) { SpleefPlayer player = HeavySpleef.getInstance().getSpleefPlayer(e.getPlayer()); if (!player.isActive() && !player.isSpectating()) return; if (e.getPlayer().hasPermission(Permissions.COMMAND_WHITELISTED.getPerm())) return; String[] split = e.getMessage().split(" "); String cmd = split[0]; if (cmd.equalsIgnoreCase("/spleef") || cmd.equalsIgnoreCase("/hs") || cmd.equalsIgnoreCase("/hspleef")) return; List<String> whitelist = HeavySpleef.getSystemConfig().getGeneralSection().getCommandWhitelist(); for (String c : whitelist) { if (c.equalsIgnoreCase(cmd)) return; } e.setCancelled(true); e.getPlayer().sendMessage(I18N._("cantUseCommands")); }