Code reorganization, added formatting options for all outputs
This commit is contained in:
@@ -35,3 +35,19 @@ command sayn {
|
|||||||
help A replacement for the default say command to make the format be more consistant.;
|
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;
|
package com.redstoner.modules.chat;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
@@ -15,72 +16,121 @@ import com.redstoner.coremods.moduleLoader.ModuleLoader;
|
|||||||
import com.redstoner.misc.CommandHolderType;
|
import com.redstoner.misc.CommandHolderType;
|
||||||
import com.redstoner.misc.Utils;
|
import com.redstoner.misc.Utils;
|
||||||
import com.redstoner.modules.Module;
|
import com.redstoner.modules.Module;
|
||||||
|
import com.redstoner.modules.datamanager.DataManager;
|
||||||
import com.redstoner.modules.ignore.Ignore;
|
import com.redstoner.modules.ignore.Ignore;
|
||||||
|
|
||||||
import net.nemez.chatapi.ChatAPI;
|
|
||||||
|
|
||||||
@Commands(CommandHolderType.File)
|
@Commands(CommandHolderType.File)
|
||||||
@AutoRegisterListener
|
@AutoRegisterListener
|
||||||
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
|
@Version(major = 4, minor = 0, revision = 1, compatible = 4)
|
||||||
public class Chat implements Module, Listener{
|
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)
|
@EventHandler(priority = EventPriority.HIGHEST)
|
||||||
public void onPlayerChat(AsyncPlayerChatEvent event)
|
public void onPlayerChat(AsyncPlayerChatEvent event)
|
||||||
{
|
{
|
||||||
Player player = event.getPlayer();
|
Player player = event.getPlayer();
|
||||||
String msg = event.getMessage();
|
String message = event.getMessage();
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
|
broadcastFormatted("chat", player, message);
|
||||||
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.");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Command(hook = "me")
|
@Command(hook = "me")
|
||||||
public boolean me(CommandSender sender, String text)
|
public boolean me(CommandSender sender, String message)
|
||||||
{
|
{
|
||||||
String name = Utils.getName(sender);
|
broadcastFormatted("me", sender, message);
|
||||||
text = ChatAPI.colorify(sender, text);
|
|
||||||
Utils.broadcast(" §7- " + name + " §7⇦ ", text,
|
|
||||||
ModuleLoader.exists("Ignore")? Ignore.getIgnoredBy(sender) : null);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Command(hook = "chat")
|
@Command(hook = "chat")
|
||||||
public boolean chat(CommandSender sender, String message)
|
public boolean chat(CommandSender sender, String message)
|
||||||
{
|
{
|
||||||
String name = Utils.getName(sender);
|
broadcastFormatted("chat", sender, message);
|
||||||
Utils.broadcast(" " + name, " §7→§r " + ChatAPI.colorify(sender, message),
|
|
||||||
ModuleLoader.exists("Ignore")? Ignore.getIgnoredBy(sender) : null);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Command(hook = "say")
|
@Command(hook = "say")
|
||||||
public boolean say(CommandSender sender, String message)
|
public boolean say(CommandSender sender, String message)
|
||||||
{
|
{
|
||||||
String name = Utils.getName(sender);
|
String name;
|
||||||
Utils.broadcast(" §7[§9" + name.replaceAll("[^0-9a-zA-Z§&\\[\\]]", "") + "§7]: ",
|
if (sender instanceof Player)
|
||||||
"§r" + ChatAPI.colorify(null, message),
|
name = ((Player) sender).getName();
|
||||||
ModuleLoader.exists("Ignore")? Ignore.getIgnoredBy(sender) : null);
|
else
|
||||||
|
name = "§9CONSOLE";
|
||||||
|
broadcastFormatted("say", sender, message, name);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Command(hook = "sayn")
|
@Command(hook = "sayn")
|
||||||
public boolean say(CommandSender sender, String name, String message)
|
public boolean say(CommandSender sender, String name, String message)
|
||||||
{
|
{
|
||||||
Utils.broadcast(" §7[§9" + ChatAPI.colorify(sender, name) + "§7]: ", "§r" + ChatAPI.colorify(null, message),
|
broadcastFormatted("say", sender, message, name);
|
||||||
ModuleLoader.exists("Ignore")? Ignore.getIgnoredBy(sender) : null);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Command(hook = "shrug")
|
@Command(hook = "shrug")
|
||||||
public boolean shrug(CommandSender sender, String message)
|
public boolean shrug(CommandSender sender, String message)
|
||||||
{
|
{
|
||||||
String name = Utils.getName(sender);
|
broadcastFormatted("shrug", sender, message);
|
||||||
Utils.broadcast(" " + name, " §7→§r " + ChatAPI.colorify(sender, message) + " ¯\\_(ツ)_/¯",
|
return true;
|
||||||
ModuleLoader.exists("Ignore")? Ignore.getIgnoredBy(sender) : null);
|
}
|
||||||
|
|
||||||
|
@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;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user