mirror of
https://github.com/plexusorg/Plex.git
synced 2024-11-12 23:03:33 +00:00
Update TogglesListener.java
This commit is contained in:
parent
b81a373020
commit
33a9aa0347
@ -1,16 +1,28 @@
|
|||||||
package dev.plex.listener.impl;
|
package dev.plex.listener.impl;
|
||||||
|
|
||||||
|
import dev.plex.Plex;
|
||||||
import dev.plex.listener.PlexListener;
|
import dev.plex.listener.PlexListener;
|
||||||
|
import dev.plex.util.PlexLog;
|
||||||
|
import dev.plex.util.PlexUtils;
|
||||||
|
import io.papermc.paper.event.player.AsyncChatEvent;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.EventPriority;
|
||||||
import org.bukkit.event.block.BlockExplodeEvent;
|
import org.bukkit.event.block.BlockExplodeEvent;
|
||||||
import org.bukkit.event.block.BlockFromToEvent;
|
import org.bukkit.event.block.BlockFromToEvent;
|
||||||
import org.bukkit.event.block.BlockRedstoneEvent;
|
import org.bukkit.event.block.BlockRedstoneEvent;
|
||||||
import org.bukkit.event.entity.EntityExplodeEvent;
|
import org.bukkit.event.entity.EntityExplodeEvent;
|
||||||
import org.bukkit.event.entity.ExplosionPrimeEvent;
|
import org.bukkit.event.entity.ExplosionPrimeEvent;
|
||||||
import org.bukkit.event.player.PlayerDropItemEvent;
|
import org.bukkit.event.player.PlayerDropItemEvent;
|
||||||
|
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class TogglesListener extends PlexListener
|
public class TogglesListener extends PlexListener
|
||||||
{
|
{
|
||||||
|
List<String> commands = plugin.commands.getStringList("block_on_modmode");
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onExplosionPrime(ExplosionPrimeEvent event)
|
public void onExplosionPrime(ExplosionPrimeEvent event)
|
||||||
{
|
{
|
||||||
@ -58,6 +70,48 @@ public class TogglesListener extends PlexListener
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onChat(AsyncChatEvent event)
|
||||||
|
{
|
||||||
|
Player player = event.getPlayer();
|
||||||
|
if (plugin.toggles.getBoolean("moderated") && !Plex.get().getPermissions().has(player, "plex.togglechat.bypass"))
|
||||||
|
{
|
||||||
|
event.getPlayer().sendMessage(PlexUtils.messageComponent("chatisdisabled"));
|
||||||
|
event.setCancelled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onCommand(PlayerCommandPreprocessEvent event)
|
||||||
|
{
|
||||||
|
Player player = event.getPlayer();
|
||||||
|
if (plugin.toggles.getBoolean("moderated") && !Plex.get().getPermissions().has(player, "plex.togglechat.bypass"))
|
||||||
|
{
|
||||||
|
String message = event.getMessage();
|
||||||
|
message = message.replaceAll("\\s.*", "").replaceFirst("/", "");
|
||||||
|
if (commands.contains(message.toLowerCase()))
|
||||||
|
{
|
||||||
|
event.getPlayer().sendMessage(PlexUtils.messageComponent("chatisdisabled"));
|
||||||
|
event.setCancelled(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (String command : commands)
|
||||||
|
{
|
||||||
|
Command cmd = Bukkit.getCommandMap().getCommand(command);
|
||||||
|
if (cmd == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (cmd.getAliases().contains(message.toLowerCase())) {
|
||||||
|
event.getPlayer().sendMessage(PlexUtils.messageComponent("chatisdisabled"));
|
||||||
|
event.setCancelled(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/* I have no idea if this is the best way to do this
|
/* I have no idea if this is the best way to do this
|
||||||
There is a very weird bug where if you try to create a loop using two repeaters and a lever, after disabling
|
There is a very weird bug where if you try to create a loop using two repeaters and a lever, after disabling
|
||||||
and re-enabling redstone, you are unable to recreate the loop with a lever. Using a redstone torch works fine.
|
and re-enabling redstone, you are unable to recreate the loop with a lever. Using a redstone torch works fine.
|
||||||
|
Loading…
Reference in New Issue
Block a user