now blocking utility mod .plugins

This commit is contained in:
YouHaveTrouble
2021-07-17 17:42:04 +02:00
parent 14f15aa754
commit b5e12655f9
2 changed files with 37 additions and 5 deletions
@@ -1,10 +1,7 @@
package eu.endermite.commandwhitelist.bukkit; package eu.endermite.commandwhitelist.bukkit;
import eu.endermite.commandwhitelist.bukkit.command.MainCommandExecutor; import eu.endermite.commandwhitelist.bukkit.command.MainCommandExecutor;
import eu.endermite.commandwhitelist.bukkit.listeners.PacketCommandPreProcessListener; import eu.endermite.commandwhitelist.bukkit.listeners.*;
import eu.endermite.commandwhitelist.bukkit.listeners.PlayerCommandPreProcessListener;
import eu.endermite.commandwhitelist.bukkit.listeners.PlayerCommandSendListener;
import eu.endermite.commandwhitelist.bukkit.listeners.TabCompleteBlockerListener;
import eu.endermite.commandwhitelist.common.CWGroup; import eu.endermite.commandwhitelist.common.CWGroup;
import eu.endermite.commandwhitelist.common.ConfigCache; import eu.endermite.commandwhitelist.common.ConfigCache;
import net.kyori.adventure.platform.bukkit.BukkitAudiences; import net.kyori.adventure.platform.bukkit.BukkitAudiences;
@@ -47,7 +44,13 @@ public class CommandWhitelistBukkit extends JavaPlugin {
PacketCommandPreProcessListener.protocol(this); PacketCommandPreProcessListener.protocol(this);
getLogger().info(ChatColor.AQUA + "Using ProtocolLib for command filter!"); getLogger().info(ChatColor.AQUA + "Using ProtocolLib for command filter!");
} }
getServer().getPluginManager().registerEvents(new TabCompleteBlockerListener(), this); try {
Class.forName("com.destroystokyo.paper.event.server.AsyncTabCompleteEvent");
getServer().getPluginManager().registerEvents(new AsyncTabCompleteBlockerListener(), this);
} catch (ClassNotFoundException e) {
getServer().getPluginManager().registerEvents(new TabCompleteBlockerListener(), this);
}
PluginCommand command = getCommand("commandwhitelist"); PluginCommand command = getCommand("commandwhitelist");
if (command != null) { if (command != null) {
@@ -0,0 +1,29 @@
package eu.endermite.commandwhitelist.bukkit.listeners;
import com.destroystokyo.paper.event.server.AsyncTabCompleteEvent;
import eu.endermite.commandwhitelist.bukkit.CommandWhitelistBukkit;
import eu.endermite.commandwhitelist.common.CWPermission;
import eu.endermite.commandwhitelist.common.CommandUtil;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
public class AsyncTabCompleteBlockerListener implements Listener {
@EventHandler(priority = EventPriority.NORMAL)
public void onCommandTabComplete(AsyncTabCompleteEvent event) {
if (!(event.getSender() instanceof Player)) return;
Player player = (Player) event.getSender();
if (player.hasPermission(CWPermission.BYPASS.permission())) return;
event.setCompletions(
CommandUtil.filterSuggestions(
event.getBuffer(),
event.getCompletions(),
CommandWhitelistBukkit.getSuggestions(player)
)
);
event.setHandled(true);
}
}