TFM-4.3-Reloaded/src/main/java/me/StevenLawson/TotalFreedomMod/commands/Command_wildcard.java
2022-04-01 22:04:12 +01:00

60 lines
2 KiB
Java

package me.StevenLawson.TotalFreedomMod.commands;
import me.StevenLawson.TotalFreedomMod.command.CommandBlocker;
import org.apache.commons.lang3.StringUtils;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
@CommandParameters(description = "Run any command on all users, username placeholder = ?.", usage = "/<command> [fluff] ? [fluff] ?")
public class Command_wildcard extends FreedomCommand {
@Override
public boolean run(CommandSender sender, org.bukkit.entity.Player sender_p, Command cmd,
String commandLabel, String[] args, boolean senderIsConsole) {
if (args.length == 0) {
return false;
}
String arguments = String.join(" ", args);
if (arguments.toLowerCase().contains("wildcard") || arguments.toLowerCase()
.contains("gcmd") || arguments.toLowerCase().contains("sudo") || arguments.toLowerCase()
.contains("moles")) {
playerMsg(sender, "What the hell are you trying to do, you stupid idiot...",
ChatColor.RED);
return true;
}
if (arguments.toLowerCase().contains("gtfo")) {
playerMsg(sender, "Nice try", ChatColor.RED);
return true;
}
if (arguments.toLowerCase().contains("doom")) {
playerMsg(sender,
"Look, we all hate people, but this is not the way to deal with it, doom is evil enough!",
ChatColor.RED);
return true;
}
if (arguments.toLowerCase().contains("saconfig")) {
playerMsg(sender, "WOA, WTF are you trying to do???", ChatColor.RED);
return true;
}
String baseCommand = StringUtils.join(args, " ");
if (CommandBlocker.isCommandBlocked(baseCommand, sender)) {
// CommandBlocker handles messages and broadcasts
return true;
}
for (Player player : server.getOnlinePlayers()) {
String out_command = baseCommand.replaceAll("\\x3f", player.getName());
playerMsg(sender, "Running Command: " + out_command);
server.dispatchCommand(sender, out_command);
}
return true;
}
}