diff --git a/api/src/main/java/com/alttd/chat/config/Config.java b/api/src/main/java/com/alttd/chat/config/Config.java index 697e554..be8d6b2 100755 --- a/api/src/main/java/com/alttd/chat/config/Config.java +++ b/api/src/main/java/com/alttd/chat/config/Config.java @@ -238,6 +238,12 @@ public final class Config { } + public static String SERVERMUTEPERMISSION = "chat.server-mute"; + + private static void permissions() { + SERVERMUTEPERMISSION = getString("permissions.server-mute", SERVERMUTEPERMISSION); + } + public static String IP = "0.0.0.0"; public static String PORT = "3306"; public static String DATABASE = "database"; diff --git a/api/src/main/java/com/alttd/chat/config/ServerConfig.java b/api/src/main/java/com/alttd/chat/config/ServerConfig.java index cdc627d..98103e8 100755 --- a/api/src/main/java/com/alttd/chat/config/ServerConfig.java +++ b/api/src/main/java/com/alttd/chat/config/ServerConfig.java @@ -70,8 +70,10 @@ public final class ServerConfig { public boolean GLOBALCHAT = true; public boolean JOINLEAVEMSSAGES = true; + public boolean MUTED = false; private void ServerSettings() { GLOBALCHAT = getBoolean("global-chat-enabled", GLOBALCHAT); JOINLEAVEMSSAGES = getBoolean("joinleave-messages-enabled", JOINLEAVEMSSAGES); + MUTED = getBoolean("server-muted", MUTED); } } diff --git a/galaxy/src/main/java/com/alttd/chat/commands/MuteServer.java b/galaxy/src/main/java/com/alttd/chat/commands/MuteServer.java new file mode 100644 index 0000000..e1f69f2 --- /dev/null +++ b/galaxy/src/main/java/com/alttd/chat/commands/MuteServer.java @@ -0,0 +1,37 @@ +package com.alttd.chat.commands; + +import com.alttd.chat.ChatPlugin; +import com.alttd.chat.config.Config; +import com.alttd.chat.util.Utility; +import net.kyori.adventure.text.minimessage.MiniMessage; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import org.bukkit.scheduler.BukkitRunnable; + +import java.util.UUID; + +public class MuteServer implements CommandExecutor { + + @Override + public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + if(!(sender instanceof Player)) { // must be a player + return true; + } + new BukkitRunnable() { + @Override + public void run() { + UUID uuid = ((Player) sender).getUniqueId(); + if (!Utility.hasPermission(uuid, Config.SERVERMUTEPERMISSION)) { + Utility.noPermission(sender); + return; + } + ChatPlugin.getInstance().toggleServerMuted(); + sender.sendMessage(MiniMessage.get().parse("You have " + (!Utility.hasPermission(uuid, Config.GCPERMISSION) ? "muted" : "unmuted")) + " chat for this server."); // TODO load from config and minimessage + } + }.runTaskAsynchronously(ChatPlugin.getInstance()); + return false; + } + +}