mirror of
https://github.com/Freezy-Studios/BlazeSMP.git
synced 2025-04-22 07:24:03 +02:00
Added blocked commands
This commit is contained in:
parent
bcc4e12ef7
commit
b453812fc0
1 changed files with 200 additions and 0 deletions
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue