Added blocked commands

This commit is contained in:
DaTTV 2025-02-17 18:41:05 +01:00
parent bcc4e12ef7
commit b453812fc0

View file

@ -0,0 +1,200 @@
package me.freezy.plugins.papermc.blazesmp.listener;
import net.kyori.adventure.text.minimessage.MiniMessage;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.List;
public class PlayerCommandBlockerListener implements Listener {
private final LinkedHashSet<String> blockedCommands = new LinkedHashSet<>(Arrays.asList(
"/bukkit:?",
"/?",
"/bukkit:about",
"/about",
"/bukkit:help",
"/help",
"/bukkit:pl",
"/pl",
"/bukkit:plugins",
"/plugins",
"/bukkit:reload",
"/reload",
"/bukkit:rl",
"/rl",
"/bukkit:timings",
"/timings",
"/bukkit:ver",
"/ver",
"/bukkit:version",
"/version",
"/paper:callback",
"/callback",
"/paper:mspt",
"/mspt",
"/paper:paper",
"/paper",
"/paper:spark",
"/spark",
"/minecraft:advancement",
"/advancement",
"/minecraft:attribute",
"/attribute",
"/minecraft:ban",
"/ban",
"/minecraft:ban-ip",
"/ban-ip",
"/minecraft:banlist",
"/banlist",
"/minecraft:bossbar",
"/bossbar",
"/minecraft:clear",
"/clear",
"/minecraft:clone",
"/clone",
"/minecraft:damage",
"/damage",
"/minecraft:data",
"/data",
"/minecraft:datapack",
"/datapack",
"/minecraft:difficulty",
"/difficulty",
"/minecraft:effect",
"/effect",
"/minecraft:enchant",
"/enchant",
"/minecraft:execute",
"/execute",
"/minecraft:experience",
"/experience",
"/minecraft:fill",
"/fill",
"/minecraft:fillbiome",
"/fillbiome",
"/minecraft:foreload",
"/foreload",
"/minecraft:gamerule",
"/gamerule",
"/minecraft:give",
"/give",
"/minecraft:help",
"/help",
"/minecraft:item",
"/item",
"/minecraft:jfr",
"/jfr",
"/minecraft:kick",
"/kick",
"/minecraft:kill",
"/kill",
"/minecraft:list",
"/list",
"/minecraft:locate",
"/locate",
"/minecraft:loot",
"/loot",
"/minecraft:me",
"/me",
"/minecraft:op",
"/op",
"/minecraft:pardon",
"/pardon",
"/minecraft:pardon-ip",
"/pardon-ip",
"/minecraft:particle",
"/particle",
"/minecraft:perf",
"/perf",
"/minecraft:place",
"/place",
"/minecraft:playsound",
"/playsound",
"/minecraft:random",
"/random",
"/minecraft:recipe",
"/recipe",
"/minecraft:reload",
"/reload",
"/minecraft:ride",
"/ride",
"/minecraft:rotate",
"/rotate",
"/minecraft:save-all",
"/save-all",
"/minecraft:save-off",
"/save-off",
"/minecraft:save-on",
"/save-on",
"/minecraft:say",
"/say",
"/minecraft:schedule",
"/schedule",
"/minecraft:scoreboard",
"/scoreboard",
"/minecraft:seed",
"/seed",
"/minecraft:setblock",
"/setblock",
"/minecraft:setidletimeout",
"/setidletimeout",
"/minecraft:setworldspawn",
"/setworldspawn",
"/minecraft:spawnpoint",
"/spawnpoint",
"/minecraft:spectate",
"/spectate",
"/minecraft:tag",
"/tag",
"/minecraft:team",
"/team",
"/minecraft:teammsg",
"/teammsg",
"/minecraft:teleport",
"/teleport",
"/minecraft:tellraw",
"/tellraw",
"/minecraft:tick",
"/tick",
"/minecraft:time",
"/time",
"/minecraft:title",
"/title",
"/minecraft:tm",
"/tm",
"/minecraft:tp",
"/tp",
"/minecraft:transfer",
"/transfer",
"/minecraft:trigger",
"/trigger",
"/minecraft:weather",
"/weather",
"/minecraft:whitelist",
"/whitelist",
"/minecraft:worldborder",
"/worldborder",
"/minecraft:xp",
"/xp",
"/icanhasbukkit"
));
@EventHandler
public void onPlayerCommandPreproccess(PlayerCommandPreprocessEvent event) {
Player player = event.getPlayer();
String message = event.getMessage();
if (!player.isOp()) {
for (String blockedCommand : blockedCommands) {
if (message.matches(blockedCommand)) {
event.setCancelled(true);
player.sendMessage(MiniMessage.miniMessage().deserialize("<red>Unkown or incomplete command, see below for error\n<u>%s</u><i><--[HERE]</i>".formatted(blockedCommand)));
return;
}
}
}
}
}