@EventHandler(priority = EventPriority.HIGH) public void onPlayerLogin(PlayerLoginEvent event) { if (event.getResult() != Result.ALLOWED) return; // Define the player Player p = event.getPlayer(); // Pretty sure this isn't even necessary, but I just can't figure out wtf is throwing the NPE if (p == null) return; // Check if player is banned if (!p.isBanned()) return; // Check to see that they have a bantime, and that if they do, if the timestamp is invalid. if (PConfManager.getPVal(p, "bantime") != null && !RUtils.isTimeStampValid(p, "bantime")) { // Set them unbanned p.setBanned(false); // Stop the method return; } // Get the banreason from the player's userdata file String kickMessage = PConfManager.getPValString(p, "banreason"); // Returns string or null // Check if there was none, and if there wasn't, set it to default ban message. if (kickMessage == null) kickMessage = plugin.banMessage; // Set the kick message to the ban reason event.setKickMessage(kickMessage); // Disallow the event event.disallow(Result.KICK_BANNED, kickMessage); }
@Override public boolean isBanned() { return caller.isBanned(); }
public boolean commandUse(CommandSender sender, String[] args) { Variables var = Necessities.getVar(); if (args.length == 0) { sender.sendMessage( var.getEr() + "Error: " + var.getErMsg() + "You must enter a player to view info of."); return true; } GetUUID get = Necessities.getUUID(); UUID uuid = get.getID(args[0]); if (uuid == null) { uuid = get.getOfflineID(args[0]); if (uuid == null || !Bukkit.getOfflinePlayer(uuid).hasPlayedBefore()) { sender.sendMessage( var.getEr() + "Error: " + var.getErMsg() + "That player does not exist or has not joined the server. If the player is offline, please use the full and most recent name."); return true; } } User u = Necessities.getUM().getUser(uuid); sender.sendMessage( var.getMessages() + "===== WhoIs: " + var.getObj() + u.getName() + var.getMessages() + " ====="); if (u.getPlayer() != null) sender.sendMessage( var.getMessages() + " - Nick: " + ChatColor.RESET + u.getPlayer().getDisplayName()); else { sender.sendMessage( var.getMessages() + (u.getNick() == null ? " - Name: " + ChatColor.RESET + u.getName() : " - Nick: " + ChatColor.RESET + u.getNick())); Calendar c = Calendar.getInstance(); c.setTimeInMillis(Bukkit.getOfflinePlayer(uuid).getLastPlayed()); String second = Integer.toString(c.get(Calendar.SECOND)); String minute = Integer.toString(c.get(Calendar.MINUTE)); String hour = Integer.toString(c.get(Calendar.HOUR_OF_DAY)); String day = Integer.toString(c.get(Calendar.DATE)); String month = Integer.toString(c.get(Calendar.MONTH) + 1); String year = Integer.toString(c.get(Calendar.YEAR)); hour = corTime(hour); minute = corTime(minute); second = corTime(second); sender.sendMessage( var.getMessages() + " - Seen last on " + ChatColor.RESET + month + "/" + day + "/" + year + " at " + hour + ":" + minute + " and " + second + " " + (Integer.parseInt(second) > 1 ? "seconds" : "second")); } sender.sendMessage( var.getMessages() + " - Time played: " + ChatColor.RESET + u.getTimePlayed()); sender.sendMessage(var.getMessages() + " - Rank: " + ChatColor.RESET + u.getRank().getName()); String subranks = u.getSubranks(); if (subranks != null) sender.sendMessage(var.getMessages() + " - Subranks: " + ChatColor.RESET + subranks); String permissions = u.getPermissions(); if (permissions != null) sender.sendMessage( var.getMessages() + " - Permission nodes: " + ChatColor.RESET + permissions); if (u.getPlayer() != null) { Player p = u.getPlayer(); sender.sendMessage( var.getMessages() + " - Health: " + ChatColor.RESET + (int) p.getHealth() + "/" + (int) p.getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue()); sender.sendMessage( var.getMessages() + " - Hunger: " + ChatColor.RESET + p.getFoodLevel() + "/20 (+" + (int) p.getSaturation() + " saturation)"); sender.sendMessage( var.getMessages() + " - Exp: " + ChatColor.RESET + Utils.addCommas(p.getTotalExperience()) + " (Level " + p.getLevel() + ")"); String location = "(" + p.getWorld().getName() + ", " + p.getLocation().getBlockX() + ", " + p.getLocation().getBlockY() + ", " + p.getLocation().getBlockZ() + ")"; sender.sendMessage(var.getMessages() + " - Location: " + ChatColor.RESET + location); } if (u.getPlayer() != null) { Player p = u.getPlayer(); sender.sendMessage( var.getMessages() + " - IP Address: " + ChatColor.RESET + p.getAddress().toString().split("/")[1].split(":")[0]); sender.sendMessage( var.getMessages() + " - Gamemode: " + ChatColor.RESET + Utils.capFirst(p.getGameMode().toString())); } if (u.getPlayer() != null) { Player p = u.getPlayer(); sender.sendMessage( var.getMessages() + " - Banned: " + (p.isBanned() ? ChatColor.GREEN + "true" : ChatColor.DARK_RED + "false")); sender.sendMessage( var.getMessages() + " - Visible: " + (Necessities.getHide().isHidden(p) ? ChatColor.DARK_RED + "false" : ChatColor.GREEN + "true")); sender.sendMessage( var.getMessages() + " - OP: " + (p.isOp() ? ChatColor.GREEN + "true" : ChatColor.DARK_RED + "false")); sender.sendMessage( var.getMessages() + " - Fly mode: " + (p.isFlying() ? ChatColor.GREEN + "true " + ChatColor.RESET + " (flying)" : ChatColor.DARK_RED + "false" + ChatColor.RESET + " (not flying)")); } else { OfflinePlayer p = Bukkit.getOfflinePlayer(u.getUUID()); sender.sendMessage( var.getMessages() + " - Banned: " + (p.isBanned() ? ChatColor.GREEN + "true" : ChatColor.DARK_RED + "false")); sender.sendMessage( var.getMessages() + " - OP: " + (p.isOp() ? ChatColor.GREEN + "true" : ChatColor.DARK_RED + "false")); } sender.sendMessage( var.getMessages() + " - Muted: " + (u.isMuted() ? ChatColor.GREEN + "true" : ChatColor.DARK_RED + "false")); return true; }