Code reorganization, added formatting options for all outputs
This commit is contained in:
@@ -34,4 +34,20 @@ command sayn {
|
||||
run sayn name message;
|
||||
help A replacement for the default say command to make the format be more consistant.;
|
||||
}
|
||||
}
|
||||
|
||||
command mute {
|
||||
[string:player] {
|
||||
perm utils.chat.admin;
|
||||
run mute player;
|
||||
help Mutes a player.;
|
||||
}
|
||||
}
|
||||
|
||||
command unmute {
|
||||
[string:player] {
|
||||
perm utils.chat.admin;
|
||||
run unmute player;
|
||||
help Unmutes a player.;
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.redstoner.modules.chat;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
@@ -15,72 +16,121 @@ import com.redstoner.coremods.moduleLoader.ModuleLoader;
|
||||
import com.redstoner.misc.CommandHolderType;
|
||||
import com.redstoner.misc.Utils;
|
||||
import com.redstoner.modules.Module;
|
||||
import com.redstoner.modules.datamanager.DataManager;
|
||||
import com.redstoner.modules.ignore.Ignore;
|
||||
|
||||
import net.nemez.chatapi.ChatAPI;
|
||||
|
||||
@Commands(CommandHolderType.File)
|
||||
@AutoRegisterListener
|
||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
||||
public class Chat implements Module, Listener{
|
||||
@Version(major = 4, minor = 0, revision = 1, compatible = 4)
|
||||
public class Chat implements Module, Listener
|
||||
{
|
||||
|
||||
@Override
|
||||
public void firstLoad()
|
||||
{
|
||||
Module.super.firstLoad();
|
||||
DataManager.setConfig("chat", " %n §7→§r %m");
|
||||
DataManager.setConfig("me", " §7- %n §7⇦ %m");
|
||||
DataManager.setConfig("say", " §7[§9%n§7]:§r %m");
|
||||
DataManager.setConfig("shrug", " %n §7→§r %m ¯\\_(ツ)_/¯");
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
public void onPlayerChat(AsyncPlayerChatEvent event)
|
||||
{
|
||||
Player player = event.getPlayer();
|
||||
String msg = event.getMessage();
|
||||
String message = event.getMessage();
|
||||
event.setCancelled(true);
|
||||
|
||||
if (player.hasPermission("utils.chat"))
|
||||
Utils.broadcast(" " + Utils.getName(player), " §7→§r " + ChatAPI.colorify(player, msg),
|
||||
ModuleLoader.exists("Ignore")? Ignore.getIgnoredBy(player) : null);
|
||||
else
|
||||
player.sendMessage("§8[§cServer§8] You don't have permission to chat.");
|
||||
broadcastFormatted("chat", player, message);
|
||||
}
|
||||
|
||||
@Command(hook = "me")
|
||||
public boolean me(CommandSender sender, String text)
|
||||
public boolean me(CommandSender sender, String message)
|
||||
{
|
||||
String name = Utils.getName(sender);
|
||||
text = ChatAPI.colorify(sender, text);
|
||||
Utils.broadcast(" §7- " + name + " §7⇦ ", text,
|
||||
ModuleLoader.exists("Ignore")? Ignore.getIgnoredBy(sender) : null);
|
||||
broadcastFormatted("me", sender, message);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Command(hook = "chat")
|
||||
public boolean chat(CommandSender sender, String message)
|
||||
{
|
||||
String name = Utils.getName(sender);
|
||||
Utils.broadcast(" " + name, " §7→§r " + ChatAPI.colorify(sender, message),
|
||||
ModuleLoader.exists("Ignore")? Ignore.getIgnoredBy(sender) : null);
|
||||
broadcastFormatted("chat", sender, message);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Command(hook = "say")
|
||||
public boolean say(CommandSender sender, String message)
|
||||
{
|
||||
String name = Utils.getName(sender);
|
||||
Utils.broadcast(" §7[§9" + name.replaceAll("[^0-9a-zA-Z§&\\[\\]]", "") + "§7]: ",
|
||||
"§r" + ChatAPI.colorify(null, message),
|
||||
ModuleLoader.exists("Ignore")? Ignore.getIgnoredBy(sender) : null);
|
||||
String name;
|
||||
if (sender instanceof Player)
|
||||
name = ((Player) sender).getName();
|
||||
else
|
||||
name = "§9CONSOLE";
|
||||
broadcastFormatted("say", sender, message, name);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Command(hook = "sayn")
|
||||
public boolean say(CommandSender sender, String name, String message)
|
||||
{
|
||||
Utils.broadcast(" §7[§9" + ChatAPI.colorify(sender, name) + "§7]: ", "§r" + ChatAPI.colorify(null, message),
|
||||
ModuleLoader.exists("Ignore")? Ignore.getIgnoredBy(sender) : null);
|
||||
broadcastFormatted("say", sender, message, name);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Command(hook = "shrug")
|
||||
public boolean shrug(CommandSender sender, String message)
|
||||
{
|
||||
String name = Utils.getName(sender);
|
||||
Utils.broadcast(" " + name, " §7→§r " + ChatAPI.colorify(sender, message) + " ¯\\_(ツ)_/¯",
|
||||
ModuleLoader.exists("Ignore")? Ignore.getIgnoredBy(sender) : null);
|
||||
broadcastFormatted("shrug", sender, message);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Command(hook = "mute")
|
||||
public boolean mute(CommandSender sender, String player)
|
||||
{
|
||||
Player p = Bukkit.getPlayer(player);
|
||||
if (p == null)
|
||||
{
|
||||
getLogger().message(sender, true, "That player couldn't be found!");
|
||||
return true;
|
||||
}
|
||||
DataManager.setData(p, "muted", true);
|
||||
getLogger().message(sender, "Muted player &e" + Utils.getName(p) + "&7!");
|
||||
getLogger().message(p, "You have been &cmuted&7!");
|
||||
return true;
|
||||
}
|
||||
|
||||
@Command(hook = "unmute")
|
||||
public boolean unmute(CommandSender sender, String player)
|
||||
{
|
||||
Player p = Bukkit.getPlayer(player);
|
||||
if (p == null)
|
||||
{
|
||||
getLogger().message(sender, true, "That player couldn't be found!");
|
||||
return true;
|
||||
}
|
||||
DataManager.setData(p, "muted", false);
|
||||
getLogger().message(sender, "Unmuted player &e" + Utils.getName(p) + "&7!");
|
||||
getLogger().message(p, "You have been &aunmuted&7!");
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean broadcastFormatted(String format, CommandSender sender, String message)
|
||||
{
|
||||
return broadcastFormatted(format, sender, message, Utils.getName(sender));
|
||||
}
|
||||
|
||||
public boolean broadcastFormatted(String format, CommandSender sender, String message, String name)
|
||||
{
|
||||
if ((boolean) DataManager.getOrDefault(sender, "muted", false))
|
||||
{
|
||||
Utils.noPerm(sender, "You have been muted!");
|
||||
getLogger().info(" &7User &e" + Utils.getName(sender) + " &7tried to &e" + format + " &7(&e" + message
|
||||
+ "&7) while being &cmuted&7.");
|
||||
return false;
|
||||
}
|
||||
String raw = (String) DataManager.getConfigOrDefault(format, " %n §7→§r %m");
|
||||
String formatted = raw.replace("%n", name).replace("%m", message);
|
||||
Utils.broadcast("", formatted, ModuleLoader.exists("Ignore") ? Ignore.getIgnoredBy(sender) : null);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user