From 6187c9c0687e52bac33c473c2ea279bc875b6e85 Mon Sep 17 00:00:00 2001 From: ZeroEpoch1969 <13510767+ZeroEpoch1969@users.noreply.github.com> Date: Sat, 3 Aug 2019 20:31:25 -0700 Subject: [PATCH] clearinventory --- .../command/Command_clearinventory.java | 79 +++++++++++++++++++ .../command/Command_verifynoadmin.java | 23 +++++- 2 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 src/main/java/me/totalfreedom/totalfreedommod/command/Command_clearinventory.java diff --git a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_clearinventory.java b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_clearinventory.java new file mode 100644 index 00000000..6a4b225c --- /dev/null +++ b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_clearinventory.java @@ -0,0 +1,79 @@ +package me.totalfreedom.totalfreedommod.command; + +import java.util.Collections; +import java.util.List; +import me.totalfreedom.totalfreedommod.rank.Rank; +import me.totalfreedom.totalfreedommod.util.FUtil; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +@CommandPermissions(level = Rank.OP, source = SourceType.BOTH) +@CommandParameters(description = "Clear your inventory", usage = "/ [player]", aliases = "ci,clear") +public class Command_clearinventory extends FreedomCommand +{ + + @Override + public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) + { + + if (args.length < 1) + { + if (senderIsConsole) + { + return false; + } + + playerSender.getInventory().clear(); + msg("Cleared your inventory"); + } + else + { + if (plugin.al.isAdmin(sender)) + { + if (args[0].equals("-a")) + { + FUtil.adminAction(sender.getName(), "Clearing everyone's inventory", true); + for (Player player : server.getOnlinePlayers()) + { + player.getInventory().clear(); + } + msg("Cleared everyone's inventory"); + } + else + { + Player player = getPlayer(args[0]); + + if (player == null) + { + msg(PLAYER_NOT_FOUND); + return true; + } + + player.getInventory().clear(); + msg("Cleared " + player.getName() + "'s inventory"); + player.sendMessage(sender.getName() + " has cleared your inventory"); + } + } + else + { + return noPerms(); + } + } + + return true; + } + + @Override + public List getTabCompleteOptions(CommandSender sender, Command command, String alias, String[] args) + { + if (args.length == 1 && plugin.al.isAdmin(playerSender)) + { + List players = FUtil.getPlayerList(); + players.add("-a"); + return players; + } + + return Collections.emptyList(); + } +} diff --git a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_verifynoadmin.java b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_verifynoadmin.java index 1348e4b2..87b24655 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_verifynoadmin.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_verifynoadmin.java @@ -1,6 +1,8 @@ package me.totalfreedom.totalfreedommod.command; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; import java.util.List; import me.totalfreedom.totalfreedommod.player.FPlayer; import me.totalfreedom.totalfreedommod.rank.Rank; @@ -12,7 +14,7 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @CommandPermissions(level = Rank.TELNET_ADMIN, source = SourceType.BOTH) -@CommandParameters(description = "Warns a player.", usage = "/ ", aliases = "vna") +@CommandParameters(description = "Verify an admin without giving them admin perms.", usage = "/ ", aliases = "vna") public class Command_verifynoadmin extends FreedomCommand { @@ -75,4 +77,23 @@ public class Command_verifynoadmin extends FreedomCommand return true; } + + @Override + public List getTabCompleteOptions(CommandSender sender, Command command, String alias, String[] args) + { + if (args.length == 1) + { + List adminImposters = new ArrayList<>(); + for (Player player : server.getOnlinePlayers()) + { + if (plugin.al.isAdminImpostor(player)) + { + adminImposters.add(player.getName()); + } + } + return adminImposters; + } + + return Collections.emptyList(); + } }