mirror of
https://github.com/plexusorg/Plex.git
synced 2024-12-23 01:27:37 +00:00
part 4.... . .. .
incomplete
This commit is contained in:
parent
4320e789d4
commit
9bb316b80b
@ -164,7 +164,11 @@ public class Plex extends JavaPlugin
|
|||||||
PlexLog.log("Punishment System initialized");
|
PlexLog.log("Punishment System initialized");
|
||||||
|
|
||||||
commandBlockerManager = new CommandBlockerManager();
|
commandBlockerManager = new CommandBlockerManager();
|
||||||
getServer().getScheduler().scheduleSyncDelayedTask(this, () -> commandBlockerManager.syncCommands());
|
// todo: make this a service lmao --v
|
||||||
|
getServer().getScheduler().scheduleSyncDelayedTask(this, () -> {
|
||||||
|
commandBlockerManager.syncCommands();
|
||||||
|
PlexLog.log("Command Blocker commands loaded");
|
||||||
|
});
|
||||||
PlexLog.log("Command Blocker initialized");
|
PlexLog.log("Command Blocker initialized");
|
||||||
|
|
||||||
generateWorlds();
|
generateWorlds();
|
||||||
|
@ -1,55 +0,0 @@
|
|||||||
package dev.plex.listener.impl;
|
|
||||||
|
|
||||||
import dev.plex.cache.DataUtils;
|
|
||||||
import dev.plex.cmdblocker.BaseCommand;
|
|
||||||
import dev.plex.cmdblocker.MatchCommand;
|
|
||||||
import dev.plex.cmdblocker.RegexCommand;
|
|
||||||
import dev.plex.listener.PlexListener;
|
|
||||||
import dev.plex.player.PlexPlayer;
|
|
||||||
import dev.plex.util.PlexUtils;
|
|
||||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.event.EventHandler;
|
|
||||||
import org.bukkit.event.EventPriority;
|
|
||||||
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
|
||||||
|
|
||||||
public class CmdBlockerListener extends PlexListener
|
|
||||||
{
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST)
|
|
||||||
public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event)
|
|
||||||
{
|
|
||||||
if (!plugin.getCommandBlockerManager().loadedYet)
|
|
||||||
{
|
|
||||||
event.setCancelled(true);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
Player player = event.getPlayer();
|
|
||||||
String message = event.getMessage().substring(1);
|
|
||||||
for (BaseCommand blockedCommand : plugin.getCommandBlockerManager().getBlockedCommands()) {
|
|
||||||
if (DataUtils.getPlayer(player.getUniqueId()).getRankFromString().ordinal() > blockedCommand.getRank().ordinal())
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
boolean isBlocked = false;
|
|
||||||
if (blockedCommand instanceof RegexCommand regexCommand)
|
|
||||||
{
|
|
||||||
if (regexCommand.getRegex().matcher(message).matches())
|
|
||||||
{
|
|
||||||
isBlocked = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if(blockedCommand instanceof MatchCommand matchCommand)
|
|
||||||
{
|
|
||||||
if (message.equalsIgnoreCase(matchCommand.getMessage()) || message.toLowerCase().startsWith(matchCommand.getMessage().toLowerCase() + " "))
|
|
||||||
{
|
|
||||||
isBlocked = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (isBlocked)
|
|
||||||
{
|
|
||||||
event.setCancelled(true);
|
|
||||||
player.sendMessage(MiniMessage.miniMessage().deserialize(PlexUtils.messageString("blockedCommandColor") + blockedCommand.getMessage()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,7 +1,13 @@
|
|||||||
package dev.plex.listener.impl;
|
package dev.plex.listener.impl;
|
||||||
|
|
||||||
|
import dev.plex.cache.DataUtils;
|
||||||
import dev.plex.cache.player.PlayerCache;
|
import dev.plex.cache.player.PlayerCache;
|
||||||
|
import dev.plex.cmdblocker.BaseCommand;
|
||||||
|
import dev.plex.cmdblocker.MatchCommand;
|
||||||
|
import dev.plex.cmdblocker.RegexCommand;
|
||||||
import dev.plex.listener.PlexListener;
|
import dev.plex.listener.PlexListener;
|
||||||
|
import dev.plex.util.PlexUtils;
|
||||||
|
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -23,5 +29,44 @@ public class CommandListener extends PlexListener
|
|||||||
pl.sendMessage(ChatColor.GRAY + player.getName() + ": " + command);
|
pl.sendMessage(ChatColor.GRAY + player.getName() + ": " + command);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (!plugin.getCommandBlockerManager().loadedYet)
|
||||||
|
{
|
||||||
|
event.setCancelled(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Player player = event.getPlayer();
|
||||||
|
String message = event.getMessage().substring(1);
|
||||||
|
for (BaseCommand blockedCommand : plugin.getCommandBlockerManager().getBlockedCommands()) {
|
||||||
|
if (DataUtils.getPlayer(player.getUniqueId()).getRankFromString().ordinal() > blockedCommand.getRank().ordinal())
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
boolean isBlocked = false;
|
||||||
|
if (blockedCommand instanceof RegexCommand regexCommand)
|
||||||
|
{
|
||||||
|
System.out.println(regexCommand.getRegex());
|
||||||
|
System.out.println(message);
|
||||||
|
System.out.println(regexCommand.getRegex().matcher(message).results());
|
||||||
|
if (regexCommand.getRegex().matcher(message).matches())
|
||||||
|
{
|
||||||
|
isBlocked = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(blockedCommand instanceof MatchCommand matchCommand)
|
||||||
|
{
|
||||||
|
if (message.equalsIgnoreCase(matchCommand.getMatch()) || message.toLowerCase().startsWith(matchCommand.getMatch().toLowerCase() + " "))
|
||||||
|
{
|
||||||
|
isBlocked = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (isBlocked)
|
||||||
|
{
|
||||||
|
System.out.println("BLOCKED?!??!???!!!");
|
||||||
|
event.setCancelled(true);
|
||||||
|
player.sendMessage(MiniMessage.miniMessage().deserialize(PlexUtils.messageString("blockedCommandColor") + blockedCommand.getMessage()));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user