Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- commands.add(new Command("ipban", Optional.of("Ban a player and their IP by the given name or IP"), Optional.of("<player_name / player_ip>")) {
- @Override
- public void execute(Player player, CommandEntry entry) {
- String name_or_ip = Misc.formatString(entry.getArguments());
- if (!name_or_ip.contains(".")) {
- Player other = PlayerHandler.getPlayerOnorOff(name_or_ip);
- if (other == null) {
- player.sendMessage("Player with the username: " + name_or_ip + " does not exist.");
- return;
- }
- name_or_ip = other.connectedFrom;
- }
- Punishments punishments = World.getWorld().getPunishments();
- if (punishments.contains(PunishmentType.NET_BAN, name_or_ip)) {
- player.sendMessage("This IP is already banned.");
- return;
- }
- punishments.add(new Punishment(PunishmentType.NET_BAN, Long.MAX_VALUE, name_or_ip));
- String ip = name_or_ip;
- List<Player> sessions = PlayerHandler.nonNullStream().filter(s -> s.connectedFrom.equals(ip)).collect(Collectors.toList());
- for (Player session : sessions) {
- punishments.add(new Punishment(PunishmentType.BAN, Long.MAX_VALUE, session.getName()));
- if (World.getWorld().getMultiplayerSessionListener().inAnySession(session)) {
- MultiplayerSession mpsession = World.getWorld().getMultiplayerSessionListener().getMultiplayerSession(session);
- mpsession.finish(MultiplayerSessionFinalizeType.WITHDRAW_ITEMS);
- }
- session.disconnected = true;
- player.sendMessage("You have successfully banned the user " + session.getName());
- }
- player.sendMessage("You have successfully banned the IP: " + ip);
- }
- @Override
- public List<String> getAliases() {
- return Arrays.asList("banip", "netban", "bannet");
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment