Refactor command system to extend Bukkit's command.

This commit is contained in:
Aust1n46 2022-01-17 18:38:47 -06:00
parent 5ff71b4eeb
commit 2fd8fdbb4a
44 changed files with 3710 additions and 3747 deletions

View File

@ -95,7 +95,6 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
else {
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&e - Config found! Loading file."));
}
saveResource("example_config_always_up_to_date!.yml", true);
}
catch(Exception ex) {
@ -107,6 +106,7 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
if(!setupPermissions() || !setupChat()) {
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&e - &cCould not find Vault and/or a Vault compatible permissions plugin!"));
Bukkit.getPluginManager().disablePlugin(this);
return;
}
initializeConfigReaders();
@ -245,7 +245,7 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
Alias.initialize();
JsonFormat.initialize();
GuiSlot.initialize();
ChatChannel.initialize(false);
ChatChannel.initialize();
}
public static Chat getVaultChat() {

View File

@ -23,8 +23,6 @@ public class ChatChannel {
private static final String PERMISSION_PREFIX = "venturechat.";
private static final String NO_PERMISSIONS = "venturechat.none";
private static boolean aliasesRegisteredAsCommands;
private static MineverseChat plugin = MineverseChat.getInstance();
private static ChatChannel defaultChatChannel;
private static String defaultColor;
@ -52,9 +50,8 @@ public class ChatChannel {
/**
* Read chat channels from config file and initialize channel array.
*/
public static void initialize(boolean aliasesRegisteredAsCommands) {
public static void initialize() {
chatChannels = new HashMap<String, ChatChannel>();
ChatChannel.aliasesRegisteredAsCommands = aliasesRegisteredAsCommands;
ConfigurationSection cs = plugin.getConfig().getConfigurationSection("channels");
int len = (cs.getKeys(false)).size();
channels = new ChatChannel[len];
@ -96,10 +93,6 @@ public class ChatChannel {
}
}
public static boolean areAliasesRegisteredAsCommands() {
return aliasesRegisteredAsCommands;
}
/**
* Get array of chat channels.
*

View File

@ -0,0 +1,68 @@
package mineverse.Aust1n46.chat.command;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class ChannelAlias extends Command {
private MineverseChat plugin = MineverseChat.getInstance();
public ChannelAlias() {
super("channelalias");
}
@Override
public boolean execute(final CommandSender sender, final String commandLabel, final String[] args) {
if (!(sender instanceof Player)) {
plugin.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return true;
}
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
for (ChatChannel channel : ChatChannel.getChatChannels()) {
if (commandLabel.toLowerCase().equals(channel.getAlias())) {
if (args.length == 0) {
mcp.getPlayer()
.sendMessage(LocalizedMessage.SET_CHANNEL.toString().replace("{channel_color}", channel.getColor() + "").replace("{channel_name}", channel.getName()));
if (mcp.hasConversation()) {
for (MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
if (p.isSpy()) {
p.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION_SPY.toString().replace("{player_sender}", mcp.getName())
.replace("{player_receiver}", MineverseChatAPI.getMineverseChatPlayer(mcp.getConversation()).getName()));
}
}
mcp.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION.toString().replace("{player_receiver}",
MineverseChatAPI.getMineverseChatPlayer(mcp.getConversation()).getName()));
mcp.setConversation(null);
}
mcp.addListening(channel.getName());
mcp.setCurrentChannel(channel);
if (channel.getBungee()) {
MineverseChat.synchronize(mcp, true);
}
return true;
} else {
mcp.setQuickChat(true);
mcp.setQuickChannel(channel);
mcp.addListening(channel.getName());
if (channel.getBungee()) {
MineverseChat.synchronize(mcp, true);
}
String msg = "";
for (int x = 0; x < args.length; x++) {
if (args[x].length() > 0)
msg += " " + args[x];
}
mcp.getPlayer().chat(msg);
return true;
}
}
}
return true;
}
}

View File

@ -1,17 +0,0 @@
package mineverse.Aust1n46.chat.command;
import java.util.List;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
/**
* Interface for the plugin's commands.
*/
public interface VentureCommand {
public void execute(CommandSender sender, String command, String[] args);
public default List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
return null;
}
}

View File

@ -1,25 +1,21 @@
package mineverse.Aust1n46.chat.command;
import java.io.File;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import org.bukkit.Server;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.command.PluginCommand;
import org.bukkit.command.SimpleCommandMap;
import org.bukkit.command.TabExecutor;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.plugin.Plugin;
import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.chat.Broadcast;
import mineverse.Aust1n46.chat.command.chat.BungeeToggle;
import mineverse.Aust1n46.chat.command.chat.Channel;
@ -63,26 +59,12 @@ import mineverse.Aust1n46.chat.utilities.Format;
/**
* Class that initializes and executes the plugin's commands.
*/
public class VentureCommandExecutor implements TabExecutor {
public class VentureCommandExecutor {
private static final String VERSION = "3.3.0";
private static final Map<String, VentureCommand> commands = new HashMap<>();
private static final Map<String, Command> commands = new HashMap<>();
private static final MineverseChat plugin = MineverseChat.getInstance();
private static VentureCommandExecutor commandExecutor;
private static Map<String, Command> knownCommands;
private static Constructor<PluginCommand> pluginCommandConstructor;
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] parameters) {
commands.get(command.getName()).execute(sender, command.getName(), parameters);
command.execute(sender, label, parameters);
return true;
}
@Override
public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
return commands.get(command.getName()).onTabComplete(sender, command, label, args);
}
@SuppressWarnings("unchecked")
public static void initialize() {
@ -112,15 +94,11 @@ public class VentureCommandExecutor implements TabExecutor {
knownCommandsField.setAccessible(true);
knownCommands = (Map<String, Command>) knownCommandsField.get(simpleCommandMap);
} catch (NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException e) {
server.getConsoleSender()
.sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - Unable to access CommandMap on Spigot. If this issue persists, try using Paper."));
e.printStackTrace();
}
}
try {
pluginCommandConstructor = PluginCommand.class.getDeclaredConstructor(String.class, Plugin.class);
pluginCommandConstructor.setAccessible(true);
} catch (NoSuchMethodException | SecurityException e) {
e.printStackTrace();
}
commands.put("broadcast", new Broadcast());
commands.put("channel", new Channel());
commands.put("channelinfo", new Channelinfo());
@ -159,46 +137,43 @@ public class VentureCommandExecutor implements TabExecutor {
commands.put("reply", new Reply());
commands.put("message", new Message());
commands.put("ignore", new Ignore());
final ChannelAlias channelAlias = new ChannelAlias();
for (final ChatChannel chatChannel : ChatChannel.getChatChannels()) {
final String alias = chatChannel.getAlias();
commands.put(alias, channelAlias);
}
final ConfigurationSection commandsSection = commandsFileConfiguration.getConfigurationSection("commands");
for (final String commandLabel : commandsSection.getKeys(false)) {
final ConfigurationSection commandSection = commandsSection.getConfigurationSection(commandLabel);
for (final String commandName : commandsSection.getKeys(false)) {
final ConfigurationSection commandSection = commandsSection.getConfigurationSection(commandName);
final boolean isEnabled = commandSection.getBoolean("enabled", true);
if (!isEnabled) {
commands.remove(commandLabel);
commands.remove(commandName);
} else {
final VentureCommand command = commands.get(commandLabel);
final Command command = commands.get(commandName);
if (command != null) {
final List<String> aliases = commandSection.getStringList("aliases");
for (final String alias : aliases) {
commands.put(alias, command);
}
commands.put("venturechat:" + commandLabel, command);
commands.put("venturechat:" + commandName, command);
}
}
}
commandExecutor = new VentureCommandExecutor();
// Initial registration is required to ensure commands are recognized by the
// server after enabling every plugin
for (final String command : commands.keySet()) {
registerCommand(command, commandExecutor);
for (final Entry<String, Command> commandEntry : commands.entrySet()) {
registerCommand(commandEntry.getKey(), commandEntry.getValue());
}
// Forcibly re-register enabled VentureChat commands on a delay to ensure they
// have priority
server.getScheduler().runTaskLater(plugin, () -> {
for (final String command : commands.keySet()) {
registerCommand(command, commandExecutor);
for (final Entry<String, Command> commandEntry : commands.entrySet()) {
registerCommand(commandEntry.getKey(), commandEntry.getValue());
}
}, 10);
}
private static void registerCommand(String command, TabExecutor tabExecutor) {
try {
final PluginCommand pluginCommand = pluginCommandConstructor.newInstance(command, plugin);
pluginCommand.setExecutor(tabExecutor);
pluginCommand.setTabCompleter(tabExecutor);
knownCommands.put(command, pluginCommand);
} catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
e.printStackTrace();
}
public static void registerCommand(final String commandLabel, final Command command) {
knownCommands.put(commandLabel, command);
}
}

View File

@ -1,19 +1,23 @@
package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.ConfigurationSection;
import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
import mineverse.Aust1n46.chat.utilities.Format;
public class Broadcast implements VentureCommand {
public class Broadcast extends Command {
private MineverseChat plugin = MineverseChat.getInstance();
public Broadcast() {
super("broadcast");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
ConfigurationSection bs = plugin.getConfig().getConfigurationSection("broadcast");
String broadcastColor = bs.getString("color", "white");
String broadcastPermissions = bs.getString("permissions", "None");
@ -22,20 +26,19 @@ public class Broadcast implements VentureCommand {
if (args.length > 0) {
String bc = "";
for (int x = 0; x < args.length; x++) {
if (args[x].length() > 0) bc += args[x] + " ";
if (args[x].length() > 0)
bc += args[x] + " ";
}
bc = Format.FormatStringAll(bc);
Format.broadcastToServer(broadcastDisplayTag + ChatColor.valueOf(broadcastColor.toUpperCase()) + " " + bc);
return;
return true;
} else {
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
.replace("{command}", "/broadcast")
.replace("{args}", "[msg]"));
return;
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/broadcast").replace("{args}", "[msg]"));
return true;
}
} else {
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
return;
return true;
}
}
}

View File

@ -1,22 +1,25 @@
package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class BungeeToggle implements VentureCommand {
public class BungeeToggle extends Command {
public BungeeToggle() {
super("bungeetoggle");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (!(sender instanceof Player)) {
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return;
return true;
}
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
if (mcp.getPlayer().hasPermission("venturechat.bungeetoggle")) {
@ -24,14 +27,14 @@ public class BungeeToggle implements VentureCommand {
mcp.setBungeeToggle(true);
mcp.getPlayer().sendMessage(LocalizedMessage.BUNGEE_TOGGLE_ON.toString());
MineverseChat.synchronize(mcp, true);
return;
return true;
}
mcp.setBungeeToggle(false);
mcp.getPlayer().sendMessage(LocalizedMessage.BUNGEE_TOGGLE_OFF.toString());
MineverseChat.synchronize(mcp, true);
return;
return true;
}
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
return;
return true;
}
}

View File

@ -1,6 +1,7 @@
package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
@ -12,34 +13,32 @@ import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.api.events.ChannelJoinEvent;
import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Channel implements VentureCommand, Listener {
public class Channel extends Command implements Listener {
public Channel() {
super("channel");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (!(sender instanceof Player)) {
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return;
return true;
}
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
if (args.length > 0) {
if (!ChatChannel.isChannel(args[0])) {
mcp.getPlayer().sendMessage(LocalizedMessage.INVALID_CHANNEL.toString()
.replace("{args}", args[0]));
return;
mcp.getPlayer().sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[0]));
return true;
}
ChatChannel channel = ChatChannel.getChannel(args[0]);
Bukkit.getServer().getPluginManager().callEvent(new ChannelJoinEvent(mcp.getPlayer(), channel, LocalizedMessage.SET_CHANNEL.toString()
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName())));
return;
Bukkit.getServer().getPluginManager().callEvent(new ChannelJoinEvent(mcp.getPlayer(), channel,
LocalizedMessage.SET_CHANNEL.toString().replace("{channel_color}", channel.getColor() + "").replace("{channel_name}", channel.getName())));
return true;
}
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
.replace("{command}", "/channel")
.replace("{args}", "[channel]"));
return;
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/channel").replace("{args}", "[channel]"));
return true;
}
@EventHandler(priority = EventPriority.MONITOR)
@ -58,13 +57,12 @@ public class Channel implements VentureCommand, Listener {
if (mcp.hasConversation()) {
for (MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
if (p.isSpy()) {
p.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION_SPY.toString()
.replace("{player_sender}", mcp.getName())
.replace("{player_receiver}", MineverseChatAPI.getMineverseChatPlayer(mcp.getConversation()).getName()));
p.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION_SPY.toString().replace("{player_sender}", mcp.getName()).replace("{player_receiver}",
MineverseChatAPI.getMineverseChatPlayer(mcp.getConversation()).getName()));
}
}
mcp.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION.toString()
.replace("{player_receiver}", MineverseChatAPI.getMineverseChatPlayer(mcp.getConversation()).getName()));
mcp.getPlayer().sendMessage(
LocalizedMessage.EXIT_PRIVATE_CONVERSATION.toString().replace("{player_receiver}", MineverseChatAPI.getMineverseChatPlayer(mcp.getConversation()).getName()));
mcp.setConversation(null);
}
mcp.addListening(channel.getName());

View File

@ -1,36 +1,40 @@
package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.utilities.Format;
public class Channelinfo implements VentureCommand {
public class Channelinfo extends Command {
public Channelinfo() {
super("channelinfo");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (sender.hasPermission("venturechat.channelinfo")) {
if (args.length < 1) {
sender.sendMessage(ChatColor.RED + "Invalid command: /channelinfo [channel]");
return;
return true;
}
ChatChannel chname = ChatChannel.getChannel(args[0]);
if (chname == null) {
sender.sendMessage(ChatColor.RED + "Invalid channel: " + args[0]);
return;
return true;
}
if (chname.hasPermission()) {
if (!sender.hasPermission(chname.getPermission())) {
sender.sendMessage(ChatColor.RED + "You do not have permission to look at this channel.");
return;
return true;
}
}
sender.sendMessage(ChatColor.GOLD + "Channel: " + chname.getColor() + chname.getName());
sender.sendMessage(ChatColor.GOLD + "Alias: " + chname.getColor() + chname.getAlias());
sender.sendMessage(ChatColor.GOLD + "Color: " + chname.getColor() + chname.getColorRaw());
sender.sendMessage(ChatColor.GOLD + "ChatColor: " + (chname.getChatColor().equalsIgnoreCase("None") ? Format.DEFAULT_COLOR_CODE : chname.getChatColor()) + chname.getChatColorRaw());
sender.sendMessage(ChatColor.GOLD + "ChatColor: " + (chname.getChatColor().equalsIgnoreCase("None") ? Format.DEFAULT_COLOR_CODE : chname.getChatColor())
+ chname.getChatColorRaw());
if (chname.hasPermission()) {
sender.sendMessage(ChatColor.GOLD + "Permission: " + chname.getColor() + chname.getPermission());
} else {
@ -55,10 +59,10 @@ public class Channelinfo implements VentureCommand {
}
sender.sendMessage(ChatColor.GOLD + "Bungeecord: " + chname.getColor() + chname.getBungee());
sender.sendMessage(ChatColor.GOLD + "Format: " + chname.getColor() + chname.getFormat());
return;
return true;
} else {
sender.sendMessage(ChatColor.RED + "You do not have permission for this command.");
return;
return true;
}
}
}

View File

@ -2,24 +2,27 @@ package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.command.mute.MuteContainer;
public class Chatinfo implements VentureCommand {
public class Chatinfo extends Command {
public Chatinfo() {
super("chatinfo");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (sender.hasPermission("venturechat.chatinfo")) {
if (args.length == 0) {
if (!(sender instanceof Player)) {
Bukkit.getServer().getConsoleSender().sendMessage(ChatColor.RED + "This command must be run by a player; use /ci [name]");
return;
return true;
}
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
String listen = "";
@ -50,7 +53,8 @@ public class Chatinfo implements VentureCommand {
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Blocked Commands: " + ChatColor.RED + "N/A");
}
if (mcp.hasConversation()) {
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Private conversation: " + ChatColor.GREEN + MineverseChatAPI.getMineverseChatPlayer(mcp.getConversation()).getName());
mcp.getPlayer().sendMessage(
ChatColor.GOLD + "Private conversation: " + ChatColor.GREEN + MineverseChatAPI.getMineverseChatPlayer(mcp.getConversation()).getName());
} else {
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Private conversation: " + ChatColor.RED + "N/A");
}
@ -69,7 +73,7 @@ public class Chatinfo implements VentureCommand {
} else {
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Filter: " + ChatColor.RED + "false");
}
return;
return true;
}
}
if (sender.hasPermission("venturechat.chatinfo.others")) {
@ -79,7 +83,7 @@ public class Chatinfo implements VentureCommand {
MineverseChatPlayer p = MineverseChatAPI.getMineverseChatPlayer(args[0]);
if (p == null) {
sender.sendMessage(ChatColor.RED + "Player: " + ChatColor.GOLD + args[0] + ChatColor.RED + " is not online.");
return;
return true;
}
sender.sendMessage(ChatColor.GOLD + "Player: " + ChatColor.GREEN + p.getName());
for (String c : p.getListening()) {
@ -124,14 +128,14 @@ public class Chatinfo implements VentureCommand {
} else {
sender.sendMessage(ChatColor.GOLD + "Filter: " + ChatColor.RED + "false");
}
return;
return true;
} else {
sender.sendMessage(ChatColor.RED + "You do not have permission to check the chat info of others.");
}
return;
return true;
} else {
sender.sendMessage(ChatColor.RED + "You do not have permission for this command.");
return;
return true;
}
}
}

View File

@ -3,23 +3,27 @@ package mineverse.Aust1n46.chat.command.chat;
import java.util.UUID;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.database.PlayerData;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
import mineverse.Aust1n46.chat.utilities.Format;
public class Chatreload implements VentureCommand {
public class Chatreload extends Command {
private MineverseChat plugin = MineverseChat.getInstance();
public Chatreload() {
super("chatreload");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
if(sender.hasPermission("venturechat.reload")) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (sender.hasPermission("venturechat.reload")) {
PlayerData.savePlayerData();
MineverseChatAPI.clearMineverseChatPlayerMap();
MineverseChatAPI.clearNameMap();
@ -30,10 +34,11 @@ public class Chatreload implements VentureCommand {
PlayerData.loadLegacyPlayerData();
PlayerData.loadPlayerData();
for(Player p : plugin.getServer().getOnlinePlayers()) {
for (Player p : plugin.getServer().getOnlinePlayers()) {
MineverseChatPlayer mcp = MineverseChatAPI.getMineverseChatPlayer(p);
if(mcp == null) {
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - Could not find player data post reload for currently online player: " + p.getName()));
if (mcp == null) {
Bukkit.getConsoleSender()
.sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - Could not find player data post reload for currently online player: " + p.getName()));
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - There could be an issue with your player data saving."));
String name = p.getName();
UUID uuid = p.getUniqueId();
@ -47,14 +52,14 @@ public class Chatreload implements VentureCommand {
}
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&e - Config reloaded"));
for(MineverseChatPlayer player : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
if(player.getPlayer().hasPermission("venturechat.reload")) {
for (MineverseChatPlayer player : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
if (player.getPlayer().hasPermission("venturechat.reload")) {
player.getPlayer().sendMessage(LocalizedMessage.CONFIG_RELOADED.toString());
}
}
return;
return true;
}
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
return;
return true;
}
}

View File

@ -1,31 +1,30 @@
package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Chlist implements VentureCommand {
public class Chlist extends Command {
public Chlist() {
super("chlist");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
sender.sendMessage(LocalizedMessage.CHANNEL_LIST_HEADER.toString());
for (ChatChannel chname : ChatChannel.getChatChannels()) {
if (chname.hasPermission()) {
if (sender.hasPermission(chname.getPermission())) {
sender.sendMessage(LocalizedMessage.CHANNEL_LIST_WITH_PERMISSIONS.toString()
.replace("{channel_color}", (chname.getColor()).toString())
.replace("{channel_name}", chname.getName())
.replace("{channel_alias}", chname.getAlias()));
sender.sendMessage(LocalizedMessage.CHANNEL_LIST_WITH_PERMISSIONS.toString().replace("{channel_color}", (chname.getColor()).toString())
.replace("{channel_name}", chname.getName()).replace("{channel_alias}", chname.getAlias()));
}
} else {
sender.sendMessage(LocalizedMessage.CHANNEL_LIST.toString()
.replace("{channel_color}", chname.getColor().toString())
.replace("{channel_name}", chname.getName())
sender.sendMessage(LocalizedMessage.CHANNEL_LIST.toString().replace("{channel_color}", chname.getColor().toString()).replace("{channel_name}", chname.getName())
.replace("{channel_alias}", chname.getAlias()));
}
}
return;
return true;
}
}

View File

@ -7,6 +7,7 @@ import java.io.DataOutputStream;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.PluginManager;
@ -19,14 +20,17 @@ import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Chwho implements VentureCommand {
public class Chwho extends Command {
private MineverseChat plugin = MineverseChat.getInstance();
public Chwho() {
super("chwho");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
String playerlist = "";
if (sender.hasPermission("venturechat.chwho")) {
if (args.length > 0) {
@ -37,7 +41,7 @@ public class Chwho implements VentureCommand {
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer(((Player) sender));
mcp.removeListening(channel.getName());
mcp.getPlayer().sendMessage(LocalizedMessage.CHANNEL_NO_PERMISSION_VIEW.toString());
return;
return true;
}
}
@ -55,7 +59,7 @@ public class Chwho implements VentureCommand {
} catch (Exception e) {
e.printStackTrace();
}
return;
return true;
}
PluginManager pluginManager = plugin.getServer().getPluginManager();
@ -163,25 +167,21 @@ public class Chwho implements VentureCommand {
if (playerlist.length() > 2) {
playerlist = playerlist.substring(0, playerlist.length() - 2);
}
sender.sendMessage(LocalizedMessage.CHANNEL_PLAYER_LIST_HEADER.toString()
.replace("{channel_color}", (channel.getColor()).toString())
.replace("{channel_name}", channel.getName()));
sender.sendMessage(LocalizedMessage.CHANNEL_PLAYER_LIST_HEADER.toString().replace("{channel_color}", (channel.getColor()).toString()).replace("{channel_name}",
channel.getName()));
sender.sendMessage(playerlist);
return;
return true;
} else {
sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString()
.replace("{args}", args[0]));
return;
sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[0]));
return true;
}
} else {
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
.replace("{command}", "/chwho")
.replace("{args}", "[channel]"));
return;
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/chwho").replace("{args}", "[channel]"));
return true;
}
} else {
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
return;
return true;
}
}

View File

@ -1,17 +1,20 @@
package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.InternalMessage;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Clearchat implements VentureCommand {
public class Clearchat extends Command {
public Clearchat() {
super("clearchat");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (sender.hasPermission("venturechat.clearchat")) {
for (MineverseChatPlayer player : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
if (!player.getPlayer().hasPermission("venturechat.clearchat.bypass")) {
@ -21,9 +24,9 @@ public class Clearchat implements VentureCommand {
}
}
sender.sendMessage(LocalizedMessage.CLEAR_CHAT_SENDER.toString());
return;
return true;
}
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
return;
return true;
}
}

View File

@ -2,26 +2,29 @@ package mineverse.Aust1n46.chat.command.chat;
import java.util.List;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Commandblock implements VentureCommand {
public class Commandblock extends Command {
private MineverseChat plugin = MineverseChat.getInstance();
public Commandblock() {
super("commandblock");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (sender.hasPermission("venturechat.commandblock")) {
if (args.length > 1) {
MineverseChatPlayer player = MineverseChatAPI.getOnlineMineverseChatPlayer(args[0]);
if (player == null) {
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
.replace("{args}", args[0]));
return;
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
return true;
}
boolean match = false;
for (String cb : (List<String>) plugin.getConfig().getStringList("blockablecommands"))
@ -30,29 +33,22 @@ public class Commandblock implements VentureCommand {
if (match || player.isBlockedCommand(args[1])) {
if (!player.isBlockedCommand(args[1])) {
player.addBlockedCommand(args[1]);
player.getPlayer().sendMessage(LocalizedMessage.BLOCK_COMMAND_PLAYER.toString()
.replace("{command}", args[1]));
sender.sendMessage(LocalizedMessage.BLOCK_COMMAND_SENDER.toString()
.replace("{player}", player.getName())
.replace("{command}", args[1]));
return;
player.getPlayer().sendMessage(LocalizedMessage.BLOCK_COMMAND_PLAYER.toString().replace("{command}", args[1]));
sender.sendMessage(LocalizedMessage.BLOCK_COMMAND_SENDER.toString().replace("{player}", player.getName()).replace("{command}", args[1]));
return true;
}
player.removeBlockedCommand(args[1]);
player.getPlayer().sendMessage(LocalizedMessage.UNBLOCK_COMMAND_PLAYER.toString()
.replace("{command}", args[1]));
sender.sendMessage(LocalizedMessage.UNBLOCK_COMMAND_SENDER.toString()
.replace("{player}", player.getName())
.replace("{command}", args[1]));
return;
player.getPlayer().sendMessage(LocalizedMessage.UNBLOCK_COMMAND_PLAYER.toString().replace("{command}", args[1]));
sender.sendMessage(LocalizedMessage.UNBLOCK_COMMAND_SENDER.toString().replace("{player}", player.getName()).replace("{command}", args[1]));
return true;
}
sender.sendMessage(LocalizedMessage.COMMAND_NOT_BLOCKABLE.toString());
return;
return true;
}
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
.replace("{command}", "/commandblock")
.replace("{args}", "[player] [command]"));
return;
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/commandblock").replace("{args}", "[player] [command]"));
return true;
}
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
return true;
}
}

View File

@ -1,33 +1,37 @@
package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Commandspy implements VentureCommand {
public class Commandspy extends Command {
public Commandspy() {
super("commandspy");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (!(sender instanceof Player)) {
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return;
return true;
}
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
if (mcp.getPlayer().hasPermission("venturechat.commandspy")) {
if (!mcp.hasCommandSpy()) {
mcp.setCommandSpy(true);
mcp.getPlayer().sendMessage(LocalizedMessage.COMMANDSPY_ON.toString());
return;
return true;
}
mcp.setCommandSpy(false);
mcp.getPlayer().sendMessage(LocalizedMessage.COMMANDSPY_OFF.toString());
return;
return true;
}
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
return true;
}
}

View File

@ -4,17 +4,21 @@ import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.utilities.Format;
public class Config implements VentureCommand {
public class Config extends Command {
private MineverseChat plugin = MineverseChat.getInstance();
public Config() {
super("config");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (sender.hasPermission("venturechat.edit")) {
try {
switch (args[0]) {
@ -168,7 +172,8 @@ public class Config implements VentureCommand {
}
}
} catch (Exception e) {
sender.sendMessage(ChatColor.GREEN + "worldeditcommands: " + plugin.getConfig().getConfigurationSection("commandspy").getBoolean("worldeditcommands"));
sender.sendMessage(
ChatColor.GREEN + "worldeditcommands: " + plugin.getConfig().getConfigurationSection("commandspy").getBoolean("worldeditcommands"));
}
break;
}
@ -536,7 +541,8 @@ public class Config implements VentureCommand {
try {
String format = args[1] + " ";
for (int x = 2; x < args.length; x++) {
if (args[x].length() > 0) format += args[x] + " ";
if (args[x].length() > 0)
format += args[x] + " ";
}
format = format.substring(0, format.length() - 1);
plugin.getConfig().set("tellformatto", format);
@ -555,7 +561,8 @@ public class Config implements VentureCommand {
try {
String format = args[1] + " ";
for (int x = 2; x < args.length; x++) {
if (args[x].length() > 0) format += args[x] + " ";
if (args[x].length() > 0)
format += args[x] + " ";
}
format = format.substring(0, format.length() - 1);
plugin.getConfig().set("tellformatfrom", format);
@ -574,7 +581,8 @@ public class Config implements VentureCommand {
try {
String format = args[1] + " ";
for (int x = 2; x < args.length; x++) {
if (args[x].length() > 0) format += args[x] + " ";
if (args[x].length() > 0)
format += args[x] + " ";
}
format = format.substring(0, format.length() - 1);
plugin.getConfig().set("tellformatspy", format);
@ -593,7 +601,8 @@ public class Config implements VentureCommand {
try {
String format = args[1] + " ";
for (int x = 2; x < args.length; x++) {
if (args[x].length() > 0) format += args[x] + " ";
if (args[x].length() > 0)
format += args[x] + " ";
}
format = format.substring(0, format.length() - 1);
plugin.getConfig().set("replyformatto", format);
@ -612,7 +621,8 @@ public class Config implements VentureCommand {
try {
String format = args[1] + " ";
for (int x = 2; x < args.length; x++) {
if (args[x].length() > 0) format += args[x] + " ";
if (args[x].length() > 0)
format += args[x] + " ";
}
format = format.substring(0, format.length() - 1);
plugin.getConfig().set("replyformatfrom", format);
@ -631,7 +641,8 @@ public class Config implements VentureCommand {
try {
String format = args[1] + " ";
for (int x = 2; x < args.length; x++) {
if (args[x].length() > 0) format += args[x] + " ";
if (args[x].length() > 0)
format += args[x] + " ";
}
format = format.substring(0, format.length() - 1);
plugin.getConfig().set("replyformatspy", format);
@ -650,7 +661,8 @@ public class Config implements VentureCommand {
try {
String format = args[1] + " ";
for (int x = 2; x < args.length; x++) {
if (args[x].length() > 0) format += args[x] + " ";
if (args[x].length() > 0)
format += args[x] + " ";
}
format = format.substring(0, format.length() - 1);
plugin.getConfig().set("partyformat", format);
@ -817,7 +829,8 @@ public class Config implements VentureCommand {
sender.sendMessage(ChatColor.RED + "Invalid color, /config channels [channel] chatcolor [color]");
break;
} catch (Exception e) {
sender.sendMessage(ChatColor.GREEN + "chatcolor: " + plugin.getConfig().getConfigurationSection("channels." + args[1]).getString("chatcolor"));
sender.sendMessage(
ChatColor.GREEN + "chatcolor: " + plugin.getConfig().getConfigurationSection("channels." + args[1]).getString("chatcolor"));
break;
}
}
@ -893,7 +906,8 @@ public class Config implements VentureCommand {
Bukkit.getPluginManager().enablePlugin(plugin);
break;
} catch (Exception e) {
sender.sendMessage(ChatColor.GREEN + "permissions: " + plugin.getConfig().getConfigurationSection("channels." + args[1]).getString("permissions"));
sender.sendMessage(
ChatColor.GREEN + "permissions: " + plugin.getConfig().getConfigurationSection("channels." + args[1]).getString("permissions"));
break;
}
}
@ -969,7 +983,8 @@ public class Config implements VentureCommand {
}
}
} catch (Exception e) {
sender.sendMessage(ChatColor.GREEN + "autojoin: " + plugin.getConfig().getConfigurationSection("channels." + args[1]).getBoolean("autojoin"));
sender.sendMessage(
ChatColor.GREEN + "autojoin: " + plugin.getConfig().getConfigurationSection("channels." + args[1]).getBoolean("autojoin"));
}
break;
}
@ -990,7 +1005,8 @@ public class Config implements VentureCommand {
sender.sendMessage(ChatColor.RED + "Invalid distance, /config channels [channel] distance [distance]");
break;
} catch (Exception e) {
sender.sendMessage(ChatColor.GREEN + "distance: " + plugin.getConfig().getConfigurationSection("channels." + args[1]).getDouble("distance"));
sender.sendMessage(
ChatColor.GREEN + "distance: " + plugin.getConfig().getConfigurationSection("channels." + args[1]).getDouble("distance"));
break;
}
}
@ -1042,7 +1058,8 @@ public class Config implements VentureCommand {
}
}
} catch (Exception e) {
sender.sendMessage(ChatColor.GREEN + "bungeecord: " + plugin.getConfig().getConfigurationSection("channels." + args[1]).getBoolean("bungeecord"));
sender.sendMessage(
ChatColor.GREEN + "bungeecord: " + plugin.getConfig().getConfigurationSection("channels." + args[1]).getBoolean("bungeecord"));
}
break;
}
@ -1050,7 +1067,8 @@ public class Config implements VentureCommand {
try {
String format = args[3] + " ";
for (int x = 4; x < args.length; x++) {
if (args[x].length() > 0) format += args[x] + " ";
if (args[x].length() > 0)
format += args[x] + " ";
}
format = format.substring(0, format.length() - 1);
plugin.getConfig().getConfigurationSection("channels." + args[1]).set("format", format);
@ -1066,12 +1084,14 @@ public class Config implements VentureCommand {
}
}
default: {
sender.sendMessage(ChatColor.RED + "Invalid arguments, /config channels " + args[1] + " [color, chatcolor, mutable, alias, default, autojoin, distance, cooldown, bungeecord, format]");
sender.sendMessage(ChatColor.RED + "Invalid arguments, /config channels " + args[1]
+ " [color, chatcolor, mutable, alias, default, autojoin, distance, cooldown, bungeecord, format]");
break;
}
}
} catch (Exception e) {
sender.sendMessage(ChatColor.RED + "Invalid arguments, /config channels " + args[1] + " [color, chatcolor, mutable, alias, default, autojoin, distance, cooldown, bungeecord, format]");
sender.sendMessage(ChatColor.RED + "Invalid arguments, /config channels " + args[1]
+ " [color, chatcolor, mutable, alias, default, autojoin, distance, cooldown, bungeecord, format]");
}
break;
}
@ -1155,7 +1175,8 @@ public class Config implements VentureCommand {
sender.sendMessage(ChatColor.GREEN + "/config broadcastafk [true/false]");
sender.sendMessage(ChatColor.GREEN + "/config formatcleaner [true/false]");
sender.sendMessage(ChatColor.GREEN + "/config broadcast [color, permissions, displaytag]");
sender.sendMessage(ChatColor.GREEN + "/config channels [channel] [chatcolor, mutable, permissions, alias, default, autojoin, distance, cooldown, bungeecord, format, create , delete]");
sender.sendMessage(ChatColor.GREEN
+ "/config channels [channel] [chatcolor, mutable, permissions, alias, default, autojoin, distance, cooldown, bungeecord, format, create , delete]");
sender.sendMessage(ChatColor.GREEN + "/config help");
break;
}
@ -1167,9 +1188,9 @@ public class Config implements VentureCommand {
} catch (Exception e) {
sender.sendMessage(ChatColor.RED + "Invalid arguments, /config help");
}
return;
return true;
}
sender.sendMessage(ChatColor.RED + "You do not have permission for this command.");
return;
return true;
}
}

View File

@ -5,6 +5,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;
@ -16,30 +17,31 @@ import mineverse.Aust1n46.chat.ChatMessage;
import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
import mineverse.Aust1n46.chat.utilities.Format;
public class Edit implements VentureCommand {
public class Edit extends Command {
private PacketContainer emptyLinePacketContainer = Format.createPacketPlayOutChat("{\"extra\":[\" \"],\"text\":\"\"}");
private MineverseChat plugin = MineverseChat.getInstance();
private WrappedChatComponent messageDeletedComponentPlayer;
public Edit() {
super("edit");
}
@Override
@SuppressWarnings({"unchecked", "rawtypes"})
public void execute(CommandSender sender, String command, String[] args) {
@SuppressWarnings({ "unchecked", "rawtypes" })
public boolean execute(CommandSender sender, String command, String[] args) {
if (args.length == 0) {
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
.replace("{command}", "/edit")
.replace("{args}", "[hashcode]"));
return;
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/edit").replace("{args}", "[hashcode]"));
return true;
}
final int hash;
try {
hash = Integer.parseInt(args[0]);
} catch (Exception e) {
sender.sendMessage(LocalizedMessage.INVALID_HASH.toString());
return;
return true;
}
new BukkitRunnable() {
public void run() {
@ -53,7 +55,9 @@ public class Edit implements VentureCommand {
}
for (ChatMessage message : messages) {
if (message.getHash() == hash) {
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass") ? Edit.this.getMessageDeletedChatComponentAdmin(message) : Edit.this.getMessageDeletedChatComponentPlayer();
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass")
? Edit.this.getMessageDeletedChatComponentAdmin(message)
: Edit.this.getMessageDeletedChatComponentPlayer();
message.setComponent(removedComponent);
message.setHash(-1);
playerPackets.add(Format.createPacketPlayOutChat(removedComponent));
@ -61,9 +65,12 @@ public class Edit implements VentureCommand {
continue;
}
if (message.getMessage().contains(Format.FormatStringAll(plugin.getConfig().getString("messageremovericon")))) {
String submessage = message.getMessage().substring(0, message.getMessage().length() - plugin.getConfig().getString("messageremovericon").length() - 1).replaceAll("(<28>([a-z0-9]))", "");
String submessage = message.getMessage().substring(0, message.getMessage().length() - plugin.getConfig().getString("messageremovericon").length() - 1)
.replaceAll("(<28>([a-z0-9]))", "");
if (submessage.hashCode() == hash) {
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass") ? Edit.this.getMessageDeletedChatComponentAdmin(message) : Edit.this.getMessageDeletedChatComponentPlayer();
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass")
? Edit.this.getMessageDeletedChatComponentAdmin(message)
: Edit.this.getMessageDeletedChatComponentPlayer();
message.setComponent(removedComponent);
message.setHash(-1);
playerPackets.add(Format.createPacketPlayOutChat(removedComponent));
@ -89,11 +96,14 @@ public class Edit implements VentureCommand {
}.runTask(plugin);
}
}.runTaskAsynchronously(plugin);
return true;
}
public WrappedChatComponent getMessageDeletedChatComponentPlayer() {
if (this.messageDeletedComponentPlayer == null) {
this.messageDeletedComponentPlayer = WrappedChatComponent.fromJson("{\"text\":\"\",\"extra\":[{\"text\":\"<message removed>\",\"color\":\"red\",\"italic\":\"true\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"" + Format.FormatStringAll(plugin.getConfig().getString("messageremoverpermissions")) + "\"}]}}}]}");
this.messageDeletedComponentPlayer = WrappedChatComponent.fromJson(
"{\"text\":\"\",\"extra\":[{\"text\":\"<message removed>\",\"color\":\"red\",\"italic\":\"true\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\""
+ Format.FormatStringAll(plugin.getConfig().getString("messageremoverpermissions")) + "\"}]}}}]}");
}
return this.messageDeletedComponentPlayer;
}
@ -103,6 +113,8 @@ public class Edit implements VentureCommand {
if (message.getMessage().contains(Format.FormatStringAll(plugin.getConfig().getString("messageremovericon")))) {
oMessage = oMessage.substring(0, oMessage.length() - plugin.getConfig().getString("messageremovericon").length() - 4) + "\"}]";
}
return WrappedChatComponent.fromJson(Format.FormatStringAll("{\"text\":\"\",\"extra\":[{\"text\":\"&c&o<message removed>\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"&7Message: \"," + oMessage + "}}}]}"));
return WrappedChatComponent.fromJson(
Format.FormatStringAll("{\"text\":\"\",\"extra\":[{\"text\":\"&c&o<message removed>\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"&7Message: \","
+ oMessage + "}}}]}"));
}
}

View File

@ -1,33 +1,37 @@
package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Filter implements VentureCommand {
public class Filter extends Command {
public Filter() {
super("filter");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (!(sender instanceof Player)) {
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return;
return true;
}
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
if (mcp.getPlayer().hasPermission("venturechat.ignorefilter")) {
if (!mcp.hasFilter()) {
mcp.setFilter(true);
mcp.getPlayer().sendMessage(LocalizedMessage.FILTER_ON.toString());
return;
return true;
}
mcp.setFilter(false);
mcp.getPlayer().sendMessage(LocalizedMessage.FILTER_OFF.toString());
return;
return true;
}
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
return true;
}
}

View File

@ -1,39 +1,38 @@
package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Force implements VentureCommand {
public class Force extends Command {
public Force() {
super("force");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (sender.hasPermission("venturechat.force")) {
if (args.length < 2) {
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
.replace("{command}", "/force")
.replace("{args}", "[player] [message]"));
return;
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/force").replace("{args}", "[player] [message]"));
return true;
}
MineverseChatPlayer player = MineverseChatAPI.getOnlineMineverseChatPlayer(args[0]);
if (player == null) {
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
.replace("{args}", args[0]));
return;
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
return true;
}
String forcemsg = "";
for (int x = 1; x < args.length; x++)
if (args[x].length() > 0)
forcemsg += args[x] + " ";
sender.sendMessage(LocalizedMessage.FORCE_PLAYER.toString()
.replace("{player}", player.getName())
.replace("{message}", forcemsg));
sender.sendMessage(LocalizedMessage.FORCE_PLAYER.toString().replace("{player}", player.getName()).replace("{message}", forcemsg));
player.getPlayer().chat(forcemsg);
return;
return true;
}
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
return true;
}
}

View File

@ -1,21 +1,23 @@
package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Forceall implements VentureCommand {
public class Forceall extends Command {
public Forceall() {
super("forceall");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (sender.hasPermission("venturechat.forceall")) {
if (args.length < 1) {
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
.replace("{command}", "/forceall").replace("{args}", "[message]"));
return;
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/forceall").replace("{args}", "[message]"));
return true;
}
String forcemsg = "";
for (int x = 0; x < args.length; x++) {
@ -27,8 +29,9 @@ public class Forceall implements VentureCommand {
for (MineverseChatPlayer player : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
player.getPlayer().chat(forcemsg);
}
return;
return true;
}
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
return true;
}
}

View File

@ -1,47 +1,43 @@
package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Kickchannel implements VentureCommand {
public class Kickchannel extends Command {
public Kickchannel() {
super("kickchannel");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (sender.hasPermission("venturechat.kickchannel")) {
if (args.length < 2) {
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
.replace("{command}", "/kickchannel")
.replace("{args}", "[player] [channel]"));
return;
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/kickchannel").replace("{args}", "[player] [channel]"));
return true;
}
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
if (player == null) {
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
.replace("{args}", args[0]));
return;
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
return true;
}
ChatChannel channel = ChatChannel.getChannel(args[1]);
if (channel == null) {
sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString()
.replace("{args}", args[1]));
return;
sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[1]));
return true;
}
sender.sendMessage(LocalizedMessage.KICK_CHANNEL.toString()
.replace("{player}", args[0])
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName()));
sender.sendMessage(LocalizedMessage.KICK_CHANNEL.toString().replace("{player}", args[0]).replace("{channel_color}", channel.getColor() + "").replace("{channel_name}",
channel.getName()));
player.removeListening(channel.getName());
if (player.isOnline()) {
player.getPlayer().sendMessage(LocalizedMessage.LEAVE_CHANNEL.toString()
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName()));
player.getPlayer()
.sendMessage(LocalizedMessage.LEAVE_CHANNEL.toString().replace("{channel_color}", channel.getColor() + "").replace("{channel_name}", channel.getName()));
} else {
player.setModified(true);
}
@ -54,8 +50,8 @@ public class Kickchannel implements VentureCommand {
}
if (player.isOnline()) {
player.getPlayer().sendMessage(LocalizedMessage.MUST_LISTEN_ONE_CHANNEL.toString());
player.getPlayer().sendMessage(LocalizedMessage.SET_CHANNEL.toString()
.replace("{channel_color}", ChatColor.valueOf(ChatChannel.getDefaultColor().toUpperCase()) + "")
player.getPlayer()
.sendMessage(LocalizedMessage.SET_CHANNEL.toString().replace("{channel_color}", ChatColor.valueOf(ChatChannel.getDefaultColor().toUpperCase()) + "")
.replace("{channel_name}", ChatChannel.getDefaultChannel().getName()));
} else
player.setModified(true);
@ -63,8 +59,9 @@ public class Kickchannel implements VentureCommand {
if (isThereABungeeChannel) {
MineverseChat.synchronize(player, true);
}
return;
return true;
}
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
return true;
}
}

View File

@ -1,31 +1,31 @@
package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Kickchannelall implements VentureCommand {
public class Kickchannelall extends Command {
public Kickchannelall() {
super("kickchannelall");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (sender.hasPermission("venturechat.kickchannelall")) {
if (args.length < 1) {
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
.replace("{command}", "/kickchannelall")
.replace("{args}", "[player]"));
return;
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/kickchannelall").replace("{args}", "[player]"));
return true;
}
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
if (player == null) {
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
.replace("{args}", args[0]));
return;
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
return true;
}
boolean isThereABungeeChannel = false;
for (String channel : player.getListening()) {
@ -37,8 +37,7 @@ public class Kickchannelall implements VentureCommand {
}
}
player.clearListening();
sender.sendMessage(LocalizedMessage.KICK_CHANNEL_ALL_SENDER.toString()
.replace("{player}", player.getName()));
sender.sendMessage(LocalizedMessage.KICK_CHANNEL_ALL_SENDER.toString().replace("{player}", player.getName()));
player.addListening(ChatChannel.getDefaultChannel().getName());
player.setCurrentChannel(ChatChannel.getDefaultChannel());
if (ChatChannel.getDefaultChannel().getBungee()) {
@ -50,14 +49,15 @@ public class Kickchannelall implements VentureCommand {
if (player.isOnline()) {
player.getPlayer().sendMessage(LocalizedMessage.KICK_CHANNEL_ALL_PLAYER.toString());
player.getPlayer().sendMessage(LocalizedMessage.MUST_LISTEN_ONE_CHANNEL.toString());
player.getPlayer().sendMessage(LocalizedMessage.SET_CHANNEL.toString()
.replace("{channel_color}", ChatColor.valueOf(ChatChannel.getDefaultColor().toUpperCase()) + "")
player.getPlayer()
.sendMessage(LocalizedMessage.SET_CHANNEL.toString().replace("{channel_color}", ChatColor.valueOf(ChatChannel.getDefaultColor().toUpperCase()) + "")
.replace("{channel_name}", ChatChannel.getDefaultChannel().getName()));
} else {
player.setModified(true);
}
return;
return true;
}
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
return true;
}
}

View File

@ -2,6 +2,7 @@ package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@ -9,29 +10,28 @@ import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Leave implements VentureCommand {
public class Leave extends Command {
public Leave() {
super("leave");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (!(sender instanceof Player)) {
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return;
return true;
}
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
if (args.length > 0) {
ChatChannel channel = ChatChannel.getChannel(args[0]);
if (channel == null) {
mcp.getPlayer().sendMessage(LocalizedMessage.INVALID_CHANNEL.toString()
.replace("{args}", args[0]));
return;
mcp.getPlayer().sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[0]));
return true;
}
mcp.removeListening(channel.getName());
mcp.getPlayer().sendMessage(LocalizedMessage.LEAVE_CHANNEL.toString()
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName()));
mcp.getPlayer().sendMessage(LocalizedMessage.LEAVE_CHANNEL.toString().replace("{channel_color}", channel.getColor() + "").replace("{channel_name}", channel.getName()));
boolean isThereABungeeChannel = channel.getBungee();
if (mcp.getListening().size() == 0) {
mcp.addListening(ChatChannel.getDefaultChannel().getName());
@ -40,17 +40,15 @@ public class Leave implements VentureCommand {
isThereABungeeChannel = true;
}
mcp.getPlayer().sendMessage(LocalizedMessage.MUST_LISTEN_ONE_CHANNEL.toString());
mcp.getPlayer().sendMessage(LocalizedMessage.SET_CHANNEL.toString()
.replace("{channel_color}", ChatColor.valueOf(ChatChannel.getDefaultColor().toUpperCase()) + "")
mcp.getPlayer().sendMessage(LocalizedMessage.SET_CHANNEL.toString().replace("{channel_color}", ChatColor.valueOf(ChatChannel.getDefaultColor().toUpperCase()) + "")
.replace("{channel_name}", ChatChannel.getDefaultChannel().getName()));
}
if (isThereABungeeChannel) {
MineverseChat.synchronize(mcp, true);
}
return;
return true;
}
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
.replace("{command}", "/leave")
.replace("{args}", "[channel]"));
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/leave").replace("{args}", "[channel]"));
return true;
}
}

View File

@ -1,6 +1,7 @@
package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@ -8,43 +9,42 @@ import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Listen implements VentureCommand {
public class Listen extends Command {
public Listen() {
super("listen");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (!(sender instanceof Player)) {
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return;
return true;
}
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
if (args.length > 0) {
ChatChannel channel = ChatChannel.getChannel(args[0]);
if (channel == null) {
mcp.getPlayer().sendMessage(LocalizedMessage.INVALID_CHANNEL.toString()
.replace("{args}", args[0]));
return;
mcp.getPlayer().sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[0]));
return true;
}
if (channel.hasPermission()) {
if (!mcp.getPlayer().hasPermission(channel.getPermission())) {
mcp.removeListening(channel.getName());
mcp.getPlayer().sendMessage(LocalizedMessage.CHANNEL_NO_PERMISSION.toString());
return;
return true;
}
}
mcp.addListening(channel.getName());
mcp.getPlayer().sendMessage(LocalizedMessage.LISTEN_CHANNEL.toString()
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName()));
mcp.getPlayer()
.sendMessage(LocalizedMessage.LISTEN_CHANNEL.toString().replace("{channel_color}", channel.getColor() + "").replace("{channel_name}", channel.getName()));
if (channel.getBungee()) {
MineverseChat.synchronize(mcp, true);
}
return;
return true;
}
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
.replace("{command}", "/listen")
.replace("{args}", "[channel]"));
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/listen").replace("{args}", "[channel]"));
return true;
}
}

View File

@ -1,17 +1,20 @@
package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
import mineverse.Aust1n46.chat.utilities.Format;
public class Me implements VentureCommand {
public class Me extends Command {
public Me() {
super("me");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (sender.hasPermission("venturechat.me")) {
if (args.length > 0) {
String msg = "";
@ -31,16 +34,15 @@ public class Me implements VentureCommand {
if (sender instanceof Player) {
Player p = (Player) sender;
Format.broadcastToServer("* " + p.getDisplayName() + msg);
return;
return true;
}
Format.broadcastToServer("* " + sender.getName() + msg);
return;
return true;
}
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
.replace("{command}", "/me")
.replace("{args}", "[message]"));
return;
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/me").replace("{args}", "[message]"));
return true;
}
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
return true;
}
}

View File

@ -3,46 +3,49 @@ package mineverse.Aust1n46.chat.command.chat;
import static mineverse.Aust1n46.chat.MineverseChat.LINE_LENGTH;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.utilities.Format;
public class Party implements VentureCommand {
public class Party extends Command {
private MineverseChat plugin = MineverseChat.getInstance();
public Party() {
super("party");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
if(!(sender instanceof Player)) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (!(sender instanceof Player)) {
plugin.getServer().getConsoleSender().sendMessage(ChatColor.RED + "This command must be run by a player.");
return;
return true;
}
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
if(!mcp.getPlayer().hasPermission("venturechat.party")) {
if (!mcp.getPlayer().hasPermission("venturechat.party")) {
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this command!");
return;
return true;
}
try {
switch(args[0]) {
switch (args[0]) {
case "host": {
if(!mcp.getPlayer().hasPermission("venturechat.party.host")) {
if (!mcp.getPlayer().hasPermission("venturechat.party.host")) {
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this command!");
return;
return true;
}
if(mcp.isHost()) {
if (mcp.isHost()) {
mcp.setHost(false);
mcp.getPlayer().sendMessage(ChatColor.GREEN + "You are no longer hosting a party.");
for(MineverseChatPlayer player : MineverseChatAPI.getMineverseChatPlayers()) {
if(player.hasParty() && player.getParty().equals(mcp.getParty())) {
for (MineverseChatPlayer player : MineverseChatAPI.getMineverseChatPlayers()) {
if (player.hasParty() && player.getParty().equals(mcp.getParty())) {
player.setParty(null);
if(player.isOnline()) {
if (player.isOnline()) {
player.getPlayer().sendMessage(ChatColor.RED + mcp.getName() + " is no longer hosting a party.");
}
else {
} else {
player.setModified(true);
}
}
@ -56,21 +59,19 @@ public class Party implements VentureCommand {
break;
}
case "join": {
if(!mcp.getPlayer().hasPermission("venturechat.party.join")) {
if (!mcp.getPlayer().hasPermission("venturechat.party.join")) {
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this command!");
return;
return true;
}
if(args.length > 1) {
if (args.length > 1) {
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[1]);
if(player != null) {
if(player.isHost()) {
if(!mcp.hasParty()) {
if (player != null) {
if (player.isHost()) {
if (!mcp.hasParty()) {
/*
* if(plugin.getMetadata(player,
* "MineverseChat.party.ban." + tp.getName(),
* plugin)) { player.sendMessage(ChatColor.RED +
* "You are banned from " + tp.getName() +
* "'s party."); break; }
* if(plugin.getMetadata(player, "MineverseChat.party.ban." + tp.getName(),
* plugin)) { player.sendMessage(ChatColor.RED + "You are banned from " +
* tp.getName() + "'s party."); break; }
*/
mcp.getPlayer().sendMessage(ChatColor.GREEN + "Joined " + player.getName() + "'s party.");
mcp.setParty(player.getUUID());
@ -90,21 +91,20 @@ public class Party implements VentureCommand {
break;
}
case "leave": {
if(!mcp.getPlayer().hasPermission("venturechat.party.leave")) {
if (!mcp.getPlayer().hasPermission("venturechat.party.leave")) {
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this command!");
return;
return true;
}
if(mcp.hasParty()) {
if (mcp.hasParty()) {
mcp.getPlayer().sendMessage(ChatColor.GREEN + "Leaving " + MineverseChatAPI.getMineverseChatPlayer(mcp.getParty()).getName() + "'s party.");
mcp.setParty(null);
if(mcp.isHost()) {
for(MineverseChatPlayer player : MineverseChatAPI.getMineverseChatPlayers()) {
if(player.hasParty() && player.getParty().equals(mcp.getUUID()) && !player.getName().equals(mcp.getName())) {
if (mcp.isHost()) {
for (MineverseChatPlayer player : MineverseChatAPI.getMineverseChatPlayers()) {
if (player.hasParty() && player.getParty().equals(mcp.getUUID()) && !player.getName().equals(mcp.getName())) {
player.setParty(null);
if(player.isOnline()) {
if (player.isOnline()) {
player.getPlayer().sendMessage(ChatColor.RED + mcp.getName() + " is no longer hosting a party.");
}
else {
} else {
player.setModified(true);
}
}
@ -117,16 +117,16 @@ public class Party implements VentureCommand {
break;
}
case "kick": {
if(!mcp.getPlayer().hasPermission("venturechat.party.kick")) {
if (!mcp.getPlayer().hasPermission("venturechat.party.kick")) {
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this command!");
return;
return true;
}
if(mcp.isHost()) {
if(args.length > 1) {
if (mcp.isHost()) {
if (args.length > 1) {
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[1]);
if(player != null) {
if(!player.getName().equals(mcp.getName())) {
if(player.hasParty() && player.getParty().equals(mcp.getUUID())) {
if (player != null) {
if (!player.getName().equals(mcp.getName())) {
if (player.hasParty() && player.getParty().equals(mcp.getUUID())) {
player.setParty(null);
player.getPlayer().sendMessage(ChatColor.RED + "You have been kicked out of " + mcp.getName() + "'s party.");
mcp.getPlayer().sendMessage(ChatColor.RED + "You have kicked " + player.getName() + " out of your party.");
@ -148,59 +148,49 @@ public class Party implements VentureCommand {
break;
}
/*
* case "ban": { if(mcp.isHost()) { if(args.length > 1) { Player tp
* = Bukkit.getPlayer(args[1]); if(tp != null) {
* if(!tp.getName().equals(player.getName())) {
* tp.setMetadata("MineverseChat.party.ban." +
* player.getUniqueId().toString(), new FixedMetadataValue(plugin,
* true)); if(plugin.getMetadataString(tp, "MineverseChat.party",
* plugin).equals(plugin.getMetadataString(player,
* "MineverseChat.party", plugin))) {
* tp.setMetadata("MineverseChat.party", new
* FixedMetadataValue(plugin, "")); } tp.sendMessage(ChatColor.RED +
* "You have been banned from " + player.getName() + "'s party.");
* player.sendMessage(ChatColor.RED + "You have banned " +
* tp.getName() + " from your party."); break; }
* player.sendMessage(ChatColor.RED + "You cannot ban yourself.");
* break; } player.sendMessage(ChatColor.RED + "Player: " +
* ChatColor.GOLD + args[1] + ChatColor.RED + " is not online.");
* break; } player.sendMessage(ChatColor.RED +
* "Invalid command: /party ban [playername]"); break; }
* player.sendMessage(ChatColor.RED +
* "You are not hosting a party."); break; } case "unban": {
* if(plugin.getMetadata(player, "MineverseChat.party.host",
* plugin)) { if(args.length > 1) { Player tp =
* case "ban": { if(mcp.isHost()) { if(args.length > 1) { Player tp =
* Bukkit.getPlayer(args[1]); if(tp != null) {
* if(!tp.getName().equals(player.getName())) {
* tp.setMetadata("MineverseChat.party.ban." + player.getUniqueId(),
* new FixedMetadataValue(plugin, false));
* tp.sendMessage(ChatColor.RED + "You have been unbanned from " +
* player.getName() + "'s party."); player.sendMessage(ChatColor.RED
* + "You have unbanned " + tp.getName() + " from your party.");
* tp.setMetadata("MineverseChat.party.ban." + player.getUniqueId().toString(),
* new FixedMetadataValue(plugin, true)); if(plugin.getMetadataString(tp,
* "MineverseChat.party", plugin).equals(plugin.getMetadataString(player,
* "MineverseChat.party", plugin))) { tp.setMetadata("MineverseChat.party", new
* FixedMetadataValue(plugin, "")); } tp.sendMessage(ChatColor.RED +
* "You have been banned from " + player.getName() + "'s party.");
* player.sendMessage(ChatColor.RED + "You have banned " + tp.getName() +
* " from your party."); break; } player.sendMessage(ChatColor.RED +
* "You cannot ban yourself."); break; } player.sendMessage(ChatColor.RED +
* "Player: " + ChatColor.GOLD + args[1] + ChatColor.RED + " is not online.");
* break; } player.sendMessage(ChatColor.RED +
* "Invalid command: /party ban [playername]"); break; }
* player.sendMessage(ChatColor.RED + "You are not hosting a party."); break; }
* case "unban": { if(plugin.getMetadata(player, "MineverseChat.party.host",
* plugin)) { if(args.length > 1) { Player tp = Bukkit.getPlayer(args[1]); if(tp
* != null) { if(!tp.getName().equals(player.getName())) {
* tp.setMetadata("MineverseChat.party.ban." + player.getUniqueId(), new
* FixedMetadataValue(plugin, false)); tp.sendMessage(ChatColor.RED +
* "You have been unbanned from " + player.getName() + "'s party.");
* player.sendMessage(ChatColor.RED + "You have unbanned " + tp.getName() +
* " from your party."); break; } player.sendMessage(ChatColor.RED +
* "You cannot unban yourself."); break; } player.sendMessage(ChatColor.RED +
* "Player: " + ChatColor.GOLD + args[1] + ChatColor.RED + " is not online.");
* break; } player.sendMessage(ChatColor.RED +
* "You cannot unban yourself."); break; }
* player.sendMessage(ChatColor.RED + "Player: " + ChatColor.GOLD +
* args[1] + ChatColor.RED + " is not online."); break; }
* player.sendMessage(ChatColor.RED +
* "Invalid command: /party unban [playername]"); break; }
* player.sendMessage(ChatColor.RED +
* "You are not hosting a party."); break; }
* player.sendMessage(ChatColor.RED + "You are not hosting a party."); break; }
*/
case "info": {
if(!mcp.getPlayer().hasPermission("venturechat.party.info")) {
if (!mcp.getPlayer().hasPermission("venturechat.party.info")) {
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this command!");
return;
return true;
}
if(mcp.hasParty() && !mcp.isHost()) {
if (mcp.hasParty() && !mcp.isHost()) {
mcp.getPlayer().sendMessage(ChatColor.GREEN + "You are in " + MineverseChatAPI.getMineverseChatPlayer(mcp.getParty()).getName() + "'s party.");
}
else if(mcp.isHost()) {
} else if (mcp.isHost()) {
mcp.getPlayer().sendMessage(ChatColor.GREEN + "You are hosting a party.");
}
else {
} else {
mcp.getPlayer().sendMessage(ChatColor.RED + "You are not hosting a party and you are not in a party.");
}
if(mcp.isPartyChat()) {
if (mcp.isPartyChat()) {
mcp.getPlayer().sendMessage(ChatColor.GREEN + "Party chat on.");
break;
}
@ -208,20 +198,20 @@ public class Party implements VentureCommand {
break;
}
case "chat": {
if(!mcp.getPlayer().hasPermission("venturechat.party.chat")) {
if (!mcp.getPlayer().hasPermission("venturechat.party.chat")) {
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this command!");
return;
return true;
}
if(mcp.isPartyChat()) {
if (mcp.isPartyChat()) {
mcp.setPartyChat(false);
mcp.getPlayer().sendMessage(ChatColor.GREEN + "Toggled party chat off.");
break;
}
if(mcp.hasConversation()) {
if (mcp.hasConversation()) {
String tellChat = MineverseChatAPI.getMineverseChatPlayer(mcp.getConversation()).getName();
mcp.setConversation(null);
for(MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
if(p.isSpy()) {
for (MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
if (p.isSpy()) {
p.getPlayer().sendMessage(mcp.getName() + " is no longer in a private conversation with " + tellChat + ".");
}
}
@ -232,39 +222,39 @@ public class Party implements VentureCommand {
break;
}
case "help": {
if(!mcp.getPlayer().hasPermission("venturechat.party.help")) {
if (!mcp.getPlayer().hasPermission("venturechat.party.help")) {
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this command!");
return;
return true;
}
mcp.getPlayer().sendMessage(ChatColor.GREEN + "/party host\n/party join [player]\n/party leave\n/party kick [player]\n/party ban [player]\n/party unban [player]\n/party info\n/party members [player]\n/party chat\n/party help");
mcp.getPlayer().sendMessage(ChatColor.GREEN
+ "/party host\n/party join [player]\n/party leave\n/party kick [player]\n/party ban [player]\n/party unban [player]\n/party info\n/party members [player]\n/party chat\n/party help");
break;
}
case "members": {
if(!mcp.getPlayer().hasPermission("venturechat.party.members")) {
if (!mcp.getPlayer().hasPermission("venturechat.party.members")) {
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this command!");
return;
return true;
}
if(args.length > 1) {
if (args.length > 1) {
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[1]);
if(player != null) {
if(player.isHost()) {
if (player != null) {
if (player.isHost()) {
String members = "";
long linecount = LINE_LENGTH;
for(MineverseChatPlayer p : MineverseChatAPI.getMineverseChatPlayers()) {
if(p.getParty() != null && p.getParty().equals(player.getUUID())) {
if(members.length() + p.getName().length() > linecount) {
for (MineverseChatPlayer p : MineverseChatAPI.getMineverseChatPlayers()) {
if (p.getParty() != null && p.getParty().equals(player.getUUID())) {
if (members.length() + p.getName().length() > linecount) {
members += "\n";
linecount = linecount + LINE_LENGTH;
}
if(p.isOnline()) {
if (p.isOnline()) {
members += ChatColor.GREEN + p.getName() + ChatColor.WHITE + ", ";
}
else {
} else {
members += ChatColor.RED + p.getName() + ChatColor.WHITE + ", ";
}
}
}
if(members.length() > 2) {
if (members.length() > 2) {
members = members.substring(0, members.length() - 2);
}
mcp.getPlayer().sendMessage(ChatColor.GREEN + "Members in " + player.getName() + "'s party: " + members);
@ -280,46 +270,47 @@ public class Party implements VentureCommand {
break;
}
}
if(args[0].length() > 0) {
if(!args[0].equals("host") && !args[0].equals("join") && !args[0].equals("leave") && !args[0].equals("kick") && !args[0].equals("info") && !args[0].equals("chat") && !args[0].equals("help") && !args[0].equals("members") && !args[0].equals("ban") && !args[0].equals("unban")) {
if(mcp.hasParty()) {
if (args[0].length() > 0) {
if (!args[0].equals("host") && !args[0].equals("join") && !args[0].equals("leave") && !args[0].equals("kick") && !args[0].equals("info") && !args[0].equals("chat")
&& !args[0].equals("help") && !args[0].equals("members") && !args[0].equals("ban") && !args[0].equals("unban")) {
if (mcp.hasParty()) {
String msg = "";
String partyformat = "";
for(int x = 0; x < args.length; x++) {
if(args[x].length() > 0) msg += " " + args[x];
for (int x = 0; x < args.length; x++) {
if (args[x].length() > 0)
msg += " " + args[x];
}
if(mcp.hasFilter()) {
if (mcp.hasFilter()) {
msg = Format.FilterChat(msg);
}
if(mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
if (mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
msg = Format.FormatStringLegacyColor(msg);
}
if(mcp.getPlayer().hasPermission("venturechat.color")) {
if (mcp.getPlayer().hasPermission("venturechat.color")) {
msg = Format.FormatStringColor(msg);
}
if(mcp.getPlayer().hasPermission("venturechat.format")) {
if (mcp.getPlayer().hasPermission("venturechat.format")) {
msg = Format.FormatString(msg);
}
if(plugin.getConfig().getString("partyformat").equalsIgnoreCase("Default")) {
if (plugin.getConfig().getString("partyformat").equalsIgnoreCase("Default")) {
partyformat = ChatColor.GREEN + "[" + MineverseChatAPI.getMineverseChatPlayer(mcp.getParty()).getName() + "'s Party] " + mcp.getName() + ":" + msg;
} else {
partyformat = Format.FormatStringAll(plugin.getConfig().getString("partyformat")
.replace("{host}", MineverseChatAPI.getMineverseChatPlayer(mcp.getParty()).getName()).replace("{player}", mcp.getName())) + msg;
}
else {
partyformat = Format.FormatStringAll(plugin.getConfig().getString("partyformat").replace("{host}", MineverseChatAPI.getMineverseChatPlayer(mcp.getParty()).getName()).replace("{player}", mcp.getName())) + msg;
}
for(MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
if((p.getParty().equals(mcp.getParty()) || p.isSpy())) {
for (MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
if ((p.getParty().equals(mcp.getParty()) || p.isSpy())) {
p.getPlayer().sendMessage(partyformat);
}
}
return;
return true;
}
mcp.getPlayer().sendMessage(ChatColor.RED + "You are not in a party.");
}
}
}
catch(Exception e) {
} catch (Exception e) {
mcp.getPlayer().sendMessage(ChatColor.RED + "Invalid arguments, /party help");
}
return;
return true;
}
}

View File

@ -1,34 +1,37 @@
package mineverse.Aust1n46.chat.command.chat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class RangedSpy implements VentureCommand {
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class RangedSpy extends Command {
public RangedSpy() {
super("rangedspy");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (!(sender instanceof Player)) {
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return;
return true;
}
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
if (mcp.getPlayer().hasPermission("venturechat.rangedspy")) {
if (!mcp.getRangedSpy()) {
mcp.setRangedSpy(true);
mcp.getPlayer().sendMessage(LocalizedMessage.RANGED_SPY_ON.toString());
return;
return true;
}
mcp.setRangedSpy(false);
mcp.getPlayer().sendMessage(LocalizedMessage.RANGED_SPY_OFF.toString());
return;
return true;
}
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
return;
return true;
}
}

View File

@ -7,16 +7,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import mineverse.Aust1n46.chat.ChatMessage;
import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
import mineverse.Aust1n46.chat.utilities.Format;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;
@ -24,27 +16,39 @@ import org.bukkit.scheduler.BukkitRunnable;
import com.comphenix.protocol.events.PacketContainer;
import com.comphenix.protocol.wrappers.WrappedChatComponent;
public class Removemessage implements VentureCommand {
import mineverse.Aust1n46.chat.ChatMessage;
import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
import mineverse.Aust1n46.chat.utilities.Format;
public class Removemessage extends Command {
private MineverseChat plugin = MineverseChat.getInstance();
private PacketContainer emptyLinePacketContainer = Format.createPacketPlayOutChat("{\"extra\":[\" \"],\"text\":\"\"}");
private WrappedChatComponent messageDeletedComponentPlayer = WrappedChatComponent.fromJson("{\"text\":\"\",\"extra\":[{\"text\":\"\",\"extra\":[" + Format.convertToJsonColors(Format.FormatStringAll(plugin.getConfig().getString("messageremovertext"))) + "],\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[" + Format.convertToJsonColors(Format.FormatStringAll(plugin.getConfig().getString("messageremoverpermissions"))) + "]}}}]}");
;
private WrappedChatComponent messageDeletedComponentPlayer = WrappedChatComponent.fromJson(
"{\"text\":\"\",\"extra\":[{\"text\":\"\",\"extra\":[" + Format.convertToJsonColors(Format.FormatStringAll(plugin.getConfig().getString("messageremovertext")))
+ "],\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":["
+ Format.convertToJsonColors(Format.FormatStringAll(plugin.getConfig().getString("messageremoverpermissions"))) + "]}}}]}");
public Removemessage() {
super("removemessage");
}
@Override
@SuppressWarnings({"unchecked", "rawtypes"})
public void execute(CommandSender sender, String command, String[] args) {
@SuppressWarnings({ "unchecked", "rawtypes" })
public boolean execute(CommandSender sender, String command, String[] args) {
if (args.length == 0) {
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
.replace("{command}", "/removemessage")
.replace("{args}", "[hashcode] {channel}"));
return;
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/removemessage").replace("{args}", "[hashcode] {channel}"));
return true;
}
final int hash;
try {
hash = Integer.parseInt(args[0]);
} catch (Exception e) {
sender.sendMessage(LocalizedMessage.INVALID_HASH.toString());
return;
return true;
}
if (args.length > 1 && ChatChannel.isChannel(args[1]) && ChatChannel.getChannel(args[1]).getBungee() && sender instanceof Player) {
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
@ -57,7 +61,7 @@ public class Removemessage implements VentureCommand {
} catch (Exception e) {
e.printStackTrace();
}
return;
return true;
} else {
new BukkitRunnable() {
public void run() {
@ -71,7 +75,9 @@ public class Removemessage implements VentureCommand {
}
for (ChatMessage message : messages) {
if (message.getHash() == hash) {
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass") ? Removemessage.this.getMessageDeletedChatComponentAdmin(message) : Removemessage.this.getMessageDeletedChatComponentPlayer();
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass")
? Removemessage.this.getMessageDeletedChatComponentAdmin(message)
: Removemessage.this.getMessageDeletedChatComponentPlayer();
message.setComponent(removedComponent);
message.setHash(-1);
playerPackets.add(Format.createPacketPlayOutChat(removedComponent));
@ -79,9 +85,12 @@ public class Removemessage implements VentureCommand {
continue;
}
if (message.getMessage().contains(ChatColor.stripColor(Format.FormatStringAll(plugin.getConfig().getString("guiicon"))))) {
String submessage = message.getMessage().substring(0, message.getMessage().length() - ChatColor.stripColor(Format.FormatStringAll(plugin.getConfig().getString("guiicon"))).length());
String submessage = message.getMessage().substring(0,
message.getMessage().length() - ChatColor.stripColor(Format.FormatStringAll(plugin.getConfig().getString("guiicon"))).length());
if (submessage.hashCode() == hash) {
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass") ? Removemessage.this.getMessageDeletedChatComponentAdmin(message) : Removemessage.this.getMessageDeletedChatComponentPlayer();
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass")
? Removemessage.this.getMessageDeletedChatComponentAdmin(message)
: Removemessage.this.getMessageDeletedChatComponentPlayer();
message.setComponent(removedComponent);
message.setHash(-1);
playerPackets.add(Format.createPacketPlayOutChat(removedComponent));
@ -108,6 +117,7 @@ public class Removemessage implements VentureCommand {
}.runTask(plugin);
}
}.runTaskAsynchronously(plugin);
return true;
}
}
@ -116,6 +126,8 @@ public class Removemessage implements VentureCommand {
}
public WrappedChatComponent getMessageDeletedChatComponentAdmin(ChatMessage message) {
return WrappedChatComponent.fromJson("[{\"text\":\"\",\"extra\":[{\"text\":\"\",\"extra\":[" + Format.convertToJsonColors(Format.FormatStringAll(plugin.getConfig().getString("messageremovertext"))) + "],\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\"," + message.getColoredMessage() + "}}}]}]");
return WrappedChatComponent.fromJson(
"[{\"text\":\"\",\"extra\":[{\"text\":\"\",\"extra\":[" + Format.convertToJsonColors(Format.FormatStringAll(plugin.getConfig().getString("messageremovertext")))
+ "],\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\"," + message.getColoredMessage() + "}}}]}]");
}
}

View File

@ -1,84 +1,78 @@
package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Setchannel implements VentureCommand {
public class Setchannel extends Command {
public Setchannel() {
super("setchannel");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (sender.hasPermission("venturechat.setchannel")) {
if (args.length < 2) {
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
.replace("{command}", "/setchannel")
.replace("{args}", "[player] [channel]"));
return;
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/setchannel").replace("{args}", "[player] [channel]"));
return true;
}
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
if (player == null) {
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
.replace("{args}", args[0]));
return;
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
return true;
}
ChatChannel channel = ChatChannel.getChannel(args[1]);
if (channel == null) {
sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString()
.replace("{args}", args[1]));
return;
sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[1]));
return true;
}
if (channel.hasPermission()) {
if (!player.isOnline()) {
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE_NO_PERMISSIONS_CHECK.toString());
return;
return true;
}
if (!player.getPlayer().hasPermission(channel.getPermission())) {
player.removeListening(channel.getName());
sender.sendMessage(LocalizedMessage.SET_CHANNEL_PLAYER_CHANNEL_NO_PERMISSION.toString()
.replace("{player}", player.getName())
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName()));
return;
sender.sendMessage(LocalizedMessage.SET_CHANNEL_PLAYER_CHANNEL_NO_PERMISSION.toString().replace("{player}", player.getName())
.replace("{channel_color}", channel.getColor() + "").replace("{channel_name}", channel.getName()));
return true;
}
}
player.addListening(channel.getName());
player.setCurrentChannel(channel);
sender.sendMessage(LocalizedMessage.SET_CHANNEL_SENDER.toString()
.replace("{player}", player.getName())
.replace("{channel_color}", channel.getColor() + "")
sender.sendMessage(LocalizedMessage.SET_CHANNEL_SENDER.toString().replace("{player}", player.getName()).replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName()));
if (player.hasConversation()) {
for (MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
if (p.isSpy()) {
p.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION_SPY.toString()
.replace("{player_sender}", player.getName())
p.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION_SPY.toString().replace("{player_sender}", player.getName())
.replace("{player_receiver}", MineverseChatAPI.getMineverseChatPlayer(player.getConversation()).getName()));
}
}
if (player.isOnline())
player.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION.toString()
.replace("{player_receiver}", MineverseChatAPI.getMineverseChatPlayer(player.getConversation()).getName()));
player.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION.toString().replace("{player_receiver}",
MineverseChatAPI.getMineverseChatPlayer(player.getConversation()).getName()));
else
player.setModified(true);
player.setConversation(null);
}
if (player.isOnline())
player.getPlayer().sendMessage(LocalizedMessage.SET_CHANNEL.toString()
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName()));
player.getPlayer()
.sendMessage(LocalizedMessage.SET_CHANNEL.toString().replace("{channel_color}", channel.getColor() + "").replace("{channel_name}", channel.getName()));
else {
player.setModified(true);
}
if (channel.getBungee()) {
MineverseChat.synchronize(player, true);
}
return;
return true;
}
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
return true;
}
}

View File

@ -1,37 +1,37 @@
package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Setchannelall implements VentureCommand {
public class Setchannelall extends Command {
public Setchannelall() {
super("setchannelall");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (sender.hasPermission("venturechat.setchannelall")) {
if (args.length < 1) {
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
.replace("{command}", "/setchannelall")
.replace("{args}", "[player]"));
return;
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/setchannelall").replace("{args}", "[player]"));
return true;
}
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
if (player == null) {
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
.replace("{args}", args[0]));
return;
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
return true;
}
boolean isThereABungeeChannel = false;
for (ChatChannel channel : ChatChannel.getChatChannels()) {
if (channel.hasPermission()) {
if (!player.isOnline()) {
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE_NO_PERMISSIONS_CHECK.toString());
return;
return true;
}
if (!player.getPlayer().hasPermission(channel.getPermission())) {
player.removeListening(channel.getName());
@ -45,8 +45,7 @@ public class Setchannelall implements VentureCommand {
isThereABungeeChannel = true;
}
}
sender.sendMessage(LocalizedMessage.SET_CHANNEL_ALL_SENDER.toString()
.replace("{player}", player.getName()));
sender.sendMessage(LocalizedMessage.SET_CHANNEL_ALL_SENDER.toString().replace("{player}", player.getName()));
if (player.isOnline())
player.getPlayer().sendMessage(LocalizedMessage.SET_CHANNEL_ALL_PLAYER.toString());
else
@ -54,8 +53,9 @@ public class Setchannelall implements VentureCommand {
if (isThereABungeeChannel) {
MineverseChat.synchronize(player, true);
}
return;
return true;
}
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
return true;
}
}

View File

@ -6,6 +6,7 @@ import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
@ -18,34 +19,34 @@ import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.gui.GuiSlot;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
import mineverse.Aust1n46.chat.utilities.Format;
import mineverse.Aust1n46.chat.versions.VersionHandler;
public class VentureChatGui implements VentureCommand {
public class VentureChatGui extends Command {
private MineverseChat plugin = MineverseChat.getInstance();
public VentureChatGui() {
super("venturechatgui");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (!(sender instanceof Player)) {
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return;
return true;
}
if (args.length < 3) {
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
.replace("{command}", "/venturechatgui")
.replace("{args}", "[player] [channel] [hashcode]"));
return;
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/venturechatgui").replace("{args}", "[player] [channel] [hashcode]"));
return true;
}
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
if (mcp.getPlayer().hasPermission("venturechat.gui")) {
MineverseChatPlayer target = MineverseChatAPI.getMineverseChatPlayer(args[0]);
if (target == null && !args[0].equals("Discord")) {
mcp.getPlayer().sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
.replace("{args}", args[0]));
return;
mcp.getPlayer().sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
return true;
}
if (ChatChannel.isChannel(args[1])) {
ChatChannel channel = ChatChannel.getChannel(args[1]);
@ -54,21 +55,20 @@ public class VentureChatGui implements VentureCommand {
hash = Integer.parseInt(args[2]);
} catch (Exception e) {
sender.sendMessage(LocalizedMessage.INVALID_HASH.toString());
return;
return true;
}
if (args[0].equals("Discord")) {
this.openInventoryDiscord(mcp, channel, hash);
return;
return true;
}
this.openInventory(mcp, target, channel, hash);
return;
return true;
}
mcp.getPlayer().sendMessage(LocalizedMessage.INVALID_CHANNEL.toString()
.replace("{args}", args[1]));
return;
mcp.getPlayer().sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[1]));
return true;
}
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
return;
return true;
}
@SuppressWarnings("deprecation")
@ -106,7 +106,8 @@ public class VentureChatGui implements VentureCommand {
for (GuiSlot g : GuiSlot.getGuiSlots()) {
if (!g.hasPermission() || mcp.getPlayer().hasPermission(g.getPermission())) {
if (this.checkSlot(g.getSlot())) {
MineverseChat.getInstance().getServer().getConsoleSender().sendMessage(Format.FormatStringAll("&cGUI: " + g.getName() + " has invalid slot: " + g.getSlot() + "!"));
MineverseChat.getInstance().getServer().getConsoleSender()
.sendMessage(Format.FormatStringAll("&cGUI: " + g.getName() + " has invalid slot: " + g.getSlot() + "!"));
continue;
}
ItemStack gStack = new ItemStack(g.getIcon());
@ -163,7 +164,8 @@ public class VentureChatGui implements VentureCommand {
for (GuiSlot g : GuiSlot.getGuiSlots()) {
if (!g.hasPermission() || mcp.getPlayer().hasPermission(g.getPermission())) {
if (this.checkSlot(g.getSlot())) {
MineverseChat.getInstance().getServer().getConsoleSender().sendMessage(Format.FormatStringAll("&cGUI: " + g.getName() + " has invalid slot: " + g.getSlot() + "!"));
MineverseChat.getInstance().getServer().getConsoleSender()
.sendMessage(Format.FormatStringAll("&cGUI: " + g.getName() + " has invalid slot: " + g.getSlot() + "!"));
continue;
}
ItemStack gStack = new ItemStack(g.getIcon());

View File

@ -1,7 +1,12 @@
package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.command.Command;
//import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
//import org.bukkit.craftbukkit.v1_15_R1.entity.CraftPlayer;
//import org.bukkit.entity.Player;
import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.InternalMessage;
//import net.md_5.bungee.api.chat.ClickEvent;
//import net.md_5.bungee.api.chat.ComponentBuilder;
@ -10,19 +15,19 @@ import mineverse.Aust1n46.chat.localization.InternalMessage;
//import net.minecraft.server.v1_15_R1.IChatBaseComponent;
//import net.minecraft.server.v1_15_R1.PacketPlayOutChat;
//import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
//import org.bukkit.craftbukkit.v1_15_R1.entity.CraftPlayer;
//import org.bukkit.entity.Player;
public class Venturechat implements VentureCommand {
public class Venturechat extends Command {
private MineverseChat plugin = MineverseChat.getInstance();
public Venturechat() {
super("venturechat");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
sender.sendMessage(InternalMessage.VENTURECHAT_VERSION.toString()
.replace("{version}", plugin.getDescription().getVersion()));
sender.sendMessage(InternalMessage.VENTURECHAT_AUTHOR.toString());
return true;
// if (sender instanceof Player && plugin.getConfig().getString("loglevel", "info").equals("debug")) {
// Player player = (Player) sender;
// String title = ChatColor.GOLD + " | " + ChatColor.BLUE.toString() + ChatColor.BOLD + "SpigotAPI chat message" + ChatColor.RESET + ChatColor.GOLD + " | ";

View File

@ -16,22 +16,25 @@ import org.bukkit.util.StringUtil;
import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Ignore implements VentureCommand {
public class Ignore extends Command {
public Ignore() {
super("ignore");
}
private MineverseChat plugin = MineverseChat.getInstance();
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (!(sender instanceof Player)) {
plugin.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return;
return true;
}
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
if (args.length == 0) {
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS_IGNORE.toString());
return;
return true;
}
if (args[0].equalsIgnoreCase("list")) {
String ignoreList = "";
@ -47,11 +50,11 @@ public class Ignore implements VentureCommand {
if (ignoreList.length() > 0) {
mcp.getPlayer().sendMessage(ignoreList.substring(0, ignoreList.length() - 2));
}
return;
return true;
}
if (mcp.getName().equalsIgnoreCase(args[0])) {
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORE_YOURSELF.toString());
return;
return true;
}
if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
@ -66,36 +69,32 @@ public class Ignore implements VentureCommand {
} catch (Exception e) {
e.printStackTrace();
}
return;
return true;
}
MineverseChatPlayer player = MineverseChatAPI.getOnlineMineverseChatPlayer(args[0]);
if (player == null) {
mcp.getPlayer().sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
.replace("{args}", args[0]));
return;
mcp.getPlayer().sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
return true;
}
if (mcp.getIgnores().contains(player.getUUID())) {
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORE_PLAYER_OFF.toString()
.replace("{player}", player.getName()));
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORE_PLAYER_OFF.toString().replace("{player}", player.getName()));
mcp.removeIgnore(player.getUUID());
MineverseChat.synchronize(mcp, true);
return;
return true;
}
if (player.getPlayer().hasPermission("venturechat.ignore.bypass")) {
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORE_PLAYER_CANT.toString()
.replace("{player}", player.getName()));
return;
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORE_PLAYER_CANT.toString().replace("{player}", player.getName()));
return true;
}
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORE_PLAYER_ON.toString()
.replace("{player}", player.getName()));
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORE_PLAYER_ON.toString().replace("{player}", player.getName()));
mcp.addIgnore(player.getUUID());
MineverseChat.synchronize(mcp, true);
return;
return true;
}
@Override
public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
public List<String> tabComplete(CommandSender sender, String label, String[] args) {
if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
List<String> completions = new ArrayList<>();
StringUtil.copyPartialMatches(args[args.length - 1], MineverseChatAPI.getNetworkPlayerNames(), completions);

View File

@ -15,53 +15,50 @@ import me.clip.placeholderapi.PlaceholderAPI;
import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
import mineverse.Aust1n46.chat.utilities.Format;
public class Message implements VentureCommand {
public class Message extends Command {
public Message() {
super("message");
}
private MineverseChat plugin = MineverseChat.getInstance();
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (!(sender instanceof Player)) {
plugin.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return;
return true;
}
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
if (args.length == 0) {
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
.replace("{command}", "/" + command)
.replace("{args}", "[player] [message]"));
return;
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/" + command).replace("{args}", "[player] [message]"));
return true;
}
if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
sendBungeeCordMessage(mcp, command, args);
return;
return true;
}
MineverseChatPlayer player = MineverseChatAPI.getOnlineMineverseChatPlayer(args[0]);
if (player == null) {
mcp.getPlayer().sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
.replace("{args}", args[0]));
return;
mcp.getPlayer().sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
return true;
}
if (!mcp.getPlayer().canSee(player.getPlayer())) {
mcp.getPlayer().sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
.replace("{args}", args[0]));
return;
mcp.getPlayer().sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
return true;
}
if (player.getIgnores().contains(mcp.getUUID())) {
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORING_MESSAGE.toString()
.replace("{player}", player.getName()));
return;
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORING_MESSAGE.toString().replace("{player}", player.getName()));
return true;
}
if (!player.getMessageToggle()) {
mcp.getPlayer().sendMessage(LocalizedMessage.BLOCKING_MESSAGE.toString()
.replace("{player}", player.getName()));
return;
mcp.getPlayer().sendMessage(LocalizedMessage.BLOCKING_MESSAGE.toString().replace("{player}", player.getName()));
return true;
}
if (args.length >= 2) {
@ -123,14 +120,12 @@ public class Message implements VentureCommand {
continue;
}
if (sp.isSpy()) {
sp.getPlayer().sendMessage(LocalizedMessage.ENTER_PRIVATE_CONVERSATION_SPY.toString()
.replace("{player_sender}", mcp.getName())
sp.getPlayer().sendMessage(LocalizedMessage.ENTER_PRIVATE_CONVERSATION_SPY.toString().replace("{player_sender}", mcp.getName())
.replace("{player_receiver}", player.getName()));
}
}
}
mcp.getPlayer().sendMessage(LocalizedMessage.ENTER_PRIVATE_CONVERSATION.toString()
.replace("{player_receiver}", player.getName()));
mcp.getPlayer().sendMessage(LocalizedMessage.ENTER_PRIVATE_CONVERSATION.toString().replace("{player_receiver}", player.getName()));
} else {
mcp.setConversation(null);
if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) {
@ -139,22 +134,20 @@ public class Message implements VentureCommand {
continue;
}
if (sp.isSpy()) {
sp.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION_SPY.toString()
.replace("{player_sender}", mcp.getName())
sp.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION_SPY.toString().replace("{player_sender}", mcp.getName())
.replace("{player_receiver}", player.getName()));
}
}
}
mcp.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION.toString()
.replace("{player_receiver}", player.getName()));
mcp.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION.toString().replace("{player_receiver}", player.getName()));
}
}
}
return;
return true;
}
@Override
public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
public List<String> tabComplete(CommandSender sender, String label, String[] args) {
if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
List<String> completions = new ArrayList<>();
StringUtil.copyPartialMatches(args[args.length - 1], MineverseChatAPI.getNetworkPlayerNames(), completions);
@ -166,9 +159,7 @@ public class Message implements VentureCommand {
private void sendBungeeCordMessage(MineverseChatPlayer mcp, String command, String[] args) {
if (args.length < 2) {
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
.replace("{command}", "/" + command)
.replace("{args}", "[player] [message]"));
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/" + command).replace("{args}", "[player] [message]"));
return;
}
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();

View File

@ -1,22 +1,25 @@
package mineverse.Aust1n46.chat.command.message;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class MessageToggle implements VentureCommand {
public class MessageToggle extends Command {
public MessageToggle() {
super("messagetoggle");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (!(sender instanceof Player)) {
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return;
return true;
}
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
if (mcp.getPlayer().hasPermission("venturechat.messagetoggle")) {
@ -24,14 +27,14 @@ public class MessageToggle implements VentureCommand {
mcp.setMessageToggle(true);
mcp.getPlayer().sendMessage(LocalizedMessage.MESSAGE_TOGGLE_ON.toString());
MineverseChat.synchronize(mcp, true);
return;
return true;
}
mcp.setMessageToggle(false);
mcp.getPlayer().sendMessage(LocalizedMessage.MESSAGE_TOGGLE_OFF.toString());
MineverseChat.synchronize(mcp, true);
return;
return true;
}
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
return;
return true;
}
}

View File

@ -1,31 +1,34 @@
package mineverse.Aust1n46.chat.command.message;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Notifications implements VentureCommand {
public class Notifications extends Command {
public Notifications() {
super("notifications");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (!(sender instanceof Player)) {
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return;
return true;
}
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
if (!mcp.hasNotifications()) {
mcp.setNotifications(true);
mcp.getPlayer().sendMessage(LocalizedMessage.NOTIFICATIONS_ON.toString());
return;
return true;
}
mcp.setNotifications(false);
mcp.getPlayer().sendMessage(LocalizedMessage.NOTIFICATIONS_OFF.toString());
return;
return true;
}
}

View File

@ -3,6 +3,7 @@ package mineverse.Aust1n46.chat.command.message;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@ -10,45 +11,46 @@ import me.clip.placeholderapi.PlaceholderAPI;
import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
import mineverse.Aust1n46.chat.utilities.Format;
public class Reply implements VentureCommand {
public class Reply extends Command {
private MineverseChat plugin = MineverseChat.getInstance();
public Reply() {
super("reply");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (!(sender instanceof Player)) {
plugin.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return;
return true;
}
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
if (args.length > 0) {
if (mcp.hasReplyPlayer()) {
if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
sendBungeeCordReply(mcp, args);
return;
return true;
}
MineverseChatPlayer player = MineverseChatAPI.getOnlineMineverseChatPlayer(mcp.getReplyPlayer());
if (player == null) {
mcp.getPlayer().sendMessage(LocalizedMessage.NO_PLAYER_TO_REPLY_TO.toString());
return;
return true;
}
if (!mcp.getPlayer().canSee(player.getPlayer())) {
mcp.getPlayer().sendMessage(LocalizedMessage.NO_PLAYER_TO_REPLY_TO.toString());
return;
return true;
}
if (player.getIgnores().contains(mcp.getUUID())) {
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORING_MESSAGE.toString()
.replace("{player}", player.getName()));
return;
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORING_MESSAGE.toString().replace("{player}", player.getName()));
return true;
}
if (!player.getMessageToggle()) {
mcp.getPlayer().sendMessage(LocalizedMessage.BLOCKING_MESSAGE.toString()
.replace("{player}", player.getName()));
return;
mcp.getPlayer().sendMessage(LocalizedMessage.BLOCKING_MESSAGE.toString().replace("{player}", player.getName()));
return true;
}
String msg = "";
String echo = "";
@ -70,7 +72,8 @@ public class Reply implements VentureCommand {
msg = Format.FormatString(msg);
}
send = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatfrom").replaceAll("sender_", "")));
send = Format
.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatfrom").replaceAll("sender_", "")));
echo = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatto").replaceAll("sender_", "")));
spy = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatspy").replaceAll("sender_", "")));
@ -94,15 +97,14 @@ public class Reply implements VentureCommand {
Format.playMessageSound(player);
}
player.setReplyPlayer(mcp.getUUID());
return;
return true;
}
}
mcp.getPlayer().sendMessage(LocalizedMessage.NO_PLAYER_TO_REPLY_TO.toString());
return;
return true;
}
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
.replace("{command}", "/reply")
.replace("{args}", "[message]"));
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/reply").replace("{args}", "[message]"));
return true;
}
private void sendBungeeCordReply(MineverseChatPlayer mcp, String[] args) {

View File

@ -1,22 +1,25 @@
package mineverse.Aust1n46.chat.command.message;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Spy implements VentureCommand {
public class Spy extends Command {
public Spy() {
super("spy");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (!(sender instanceof Player)) {
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return;
return true;
}
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
if (mcp.getPlayer().hasPermission("venturechat.spy")) {
@ -24,14 +27,14 @@ public class Spy implements VentureCommand {
mcp.setSpy(true);
mcp.getPlayer().sendMessage(LocalizedMessage.SPY_ON.toString());
MineverseChat.synchronize(mcp, true);
return;
return true;
}
mcp.setSpy(false);
mcp.getPlayer().sendMessage(LocalizedMessage.SPY_OFF.toString());
MineverseChat.synchronize(mcp, true);
return;
return true;
}
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
return;
return true;
}
}

View File

@ -17,20 +17,22 @@ import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
import mineverse.Aust1n46.chat.utilities.Format;
public class Mute implements VentureCommand {
private static final List<String> COMMON_MUTE_TIMES = Collections.unmodifiableList(Arrays.asList(new String[]{"12h", "15m", "1d", "1h", "1m", "30s"}));
public class Mute extends Command {
public Mute() {
super("mute");
}
private static final List<String> COMMON_MUTE_TIMES = Collections.unmodifiableList(Arrays.asList(new String[] { "12h", "15m", "1d", "1h", "1m", "30s" }));
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (sender.hasPermission("venturechat.mute")) {
if (args.length < 2) {
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/mute")
.replace("{args}", "[channel] [player] {time} {reason}"));
return;
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/mute").replace("{args}", "[channel] [player] {time} {reason}"));
return true;
}
if (ChatChannel.isChannel(args[0])) {
ChatChannel channel = ChatChannel.getChannel(args[0]);
@ -46,7 +48,7 @@ public class Mute implements VentureCommand {
time = Format.parseTimeStringToMillis(timeString);
if (time <= 0) {
sender.sendMessage(LocalizedMessage.INVALID_TIME.toString().replace("{args}", timeString));
return;
return true;
}
}
StringBuilder reasonBuilder = new StringBuilder();
@ -57,107 +59,84 @@ public class Mute implements VentureCommand {
}
if (channel.getBungee()) {
sendBungeeCordMute(sender, args[1], channel, time, reason);
return;
return true;
}
MineverseChatPlayer playerToMute = MineverseChatAPI.getMineverseChatPlayer(args[1]);
if (playerToMute == null || (!playerToMute.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) {
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[1]));
return;
return true;
}
if (playerToMute.isMuted(channel.getName())) {
sender.sendMessage(LocalizedMessage.PLAYER_ALREADY_MUTED.toString()
.replace("{player}", playerToMute.getName()).replace("{channel_color}", channel.getColor())
.replace("{channel_name}", channel.getName()));
return;
sender.sendMessage(LocalizedMessage.PLAYER_ALREADY_MUTED.toString().replace("{player}", playerToMute.getName())
.replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()));
return true;
}
if (time > 0) {
if (reason.isEmpty()) {
playerToMute.addMute(channel.getName(), datetime + time);
String timeString = Format.parseTimeStringFromMillis(time);
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER_TIME.toString()
.replace("{player}", playerToMute.getName())
.replace("{channel_color}", channel.getColor())
.replace("{channel_name}", channel.getName())
.replace("{time}", timeString));
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER_TIME.toString().replace("{player}", playerToMute.getName())
.replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()).replace("{time}", timeString));
if (playerToMute.isOnline()) {
playerToMute.getPlayer()
.sendMessage(LocalizedMessage.MUTE_PLAYER_PLAYER_TIME.toString()
.replace("{channel_color}", channel.getColor())
.replace("{channel_name}", channel.getName())
.replace("{time}", timeString));
playerToMute.getPlayer().sendMessage(LocalizedMessage.MUTE_PLAYER_PLAYER_TIME.toString().replace("{channel_color}", channel.getColor())
.replace("{channel_name}", channel.getName()).replace("{time}", timeString));
} else {
playerToMute.setModified(true);
}
return;
return true;
} else {
playerToMute.addMute(channel.getName(), datetime + time, reason);
String timeString = Format.parseTimeStringFromMillis(time);
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER_TIME_REASON.toString()
.replace("{player}", playerToMute.getName())
.replace("{channel_color}", channel.getColor())
.replace("{channel_name}", channel.getName())
.replace("{time}", timeString)
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER_TIME_REASON.toString().replace("{player}", playerToMute.getName())
.replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()).replace("{time}", timeString)
.replace("{reason}", reason));
if (playerToMute.isOnline()) {
playerToMute.getPlayer()
.sendMessage(LocalizedMessage.MUTE_PLAYER_PLAYER_TIME_REASON.toString()
.replace("{channel_color}", channel.getColor())
.replace("{channel_name}", channel.getName())
.replace("{time}", timeString)
.replace("{reason}", reason));
playerToMute.getPlayer().sendMessage(LocalizedMessage.MUTE_PLAYER_PLAYER_TIME_REASON.toString().replace("{channel_color}", channel.getColor())
.replace("{channel_name}", channel.getName()).replace("{time}", timeString).replace("{reason}", reason));
} else {
playerToMute.setModified(true);
}
return;
return true;
}
} else {
if (reason.isEmpty()) {
playerToMute.addMute(channel.getName());
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER.toString()
.replace("{player}", playerToMute.getName()).replace("{channel_color}", channel.getColor())
.replace("{channel_name}", channel.getName()));
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER.toString().replace("{player}", playerToMute.getName())
.replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()));
if (playerToMute.isOnline()) {
playerToMute.getPlayer()
.sendMessage(LocalizedMessage.MUTE_PLAYER_PLAYER.toString()
.replace("{channel_color}", channel.getColor())
.replace("{channel_name}", channel.getName()));
playerToMute.getPlayer().sendMessage(
LocalizedMessage.MUTE_PLAYER_PLAYER.toString().replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()));
} else {
playerToMute.setModified(true);
}
return;
return true;
} else {
playerToMute.addMute(channel.getName(), reason);
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER_REASON.toString()
.replace("{player}", playerToMute.getName()).replace("{channel_color}", channel.getColor())
.replace("{channel_name}", channel.getName())
.replace("{reason}", reason));
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER_REASON.toString().replace("{player}", playerToMute.getName())
.replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()).replace("{reason}", reason));
if (playerToMute.isOnline()) {
playerToMute.getPlayer()
.sendMessage(LocalizedMessage.MUTE_PLAYER_PLAYER_REASON.toString()
.replace("{channel_color}", channel.getColor())
.replace("{channel_name}", channel.getName())
.replace("{reason}", reason));
playerToMute.getPlayer().sendMessage(LocalizedMessage.MUTE_PLAYER_PLAYER_REASON.toString().replace("{channel_color}", channel.getColor())
.replace("{channel_name}", channel.getName()).replace("{reason}", reason));
} else {
playerToMute.setModified(true);
}
return;
return true;
}
}
}
sender.sendMessage(LocalizedMessage.CHANNEL_CANNOT_MUTE.toString()
.replace("{channel_color}", channel.getColor())
.replace("{channel_name}", channel.getName()));
return;
sender.sendMessage(LocalizedMessage.CHANNEL_CANNOT_MUTE.toString().replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()));
return true;
}
sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[0]));
return;
return true;
}
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
return true;
}
@Override
public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
public List<String> tabComplete(CommandSender sender, String label, String[] args) {
List<String> completions = new ArrayList<>();
if (args.length == 1) {
StringUtil.copyPartialMatches(args[0], ChatChannel.getChatChannels().stream().map(ChatChannel::getName).collect(Collectors.toList()), completions);
@ -172,7 +151,8 @@ public class Mute implements VentureCommand {
Collections.sort(completions);
return completions;
}
StringUtil.copyPartialMatches(args[1], MineverseChatAPI.getOnlineMineverseChatPlayers().stream().filter(mcp -> !mcp.isMuted(chatChannelObj.getName())).map(MineverseChatPlayer::getName).collect(Collectors.toList()), completions);
StringUtil.copyPartialMatches(args[1], MineverseChatAPI.getOnlineMineverseChatPlayers().stream().filter(mcp -> !mcp.isMuted(chatChannelObj.getName()))
.map(MineverseChatPlayer::getName).collect(Collectors.toList()), completions);
Collections.sort(completions);
return completions;
}

View File

@ -1,31 +1,31 @@
package mineverse.Aust1n46.chat.command.mute;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
import mineverse.Aust1n46.chat.utilities.Format;
public class Muteall implements VentureCommand {
public class Muteall extends Command {
public Muteall() {
super("muteall");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (sender.hasPermission("venturechat.mute")) {
if (args.length < 1) {
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
.replace("{command}", "/muteall")
.replace("{args}", "[player] {reason}"));
return;
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/muteall").replace("{args}", "[player] {reason}"));
return true;
}
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
if (player == null || (!player.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) {
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
.replace("{args}", args[0]));
return;
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
return true;
}
String reason = "";
if (args.length > 1) {
@ -48,13 +48,12 @@ public class Muteall implements VentureCommand {
if (bungee) {
MineverseChat.synchronize(player, true);
}
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_ALL_SENDER.toString()
.replace("{player}", player.getName()));
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_ALL_SENDER.toString().replace("{player}", player.getName()));
if (player.isOnline()) {
player.getPlayer().sendMessage(LocalizedMessage.MUTE_PLAYER_ALL_PLAYER.toString());
} else
player.setModified(true);
return;
return true;
} else {
boolean bungee = false;
for (ChatChannel channel : ChatChannel.getChatChannels()) {
@ -68,19 +67,16 @@ public class Muteall implements VentureCommand {
if (bungee) {
MineverseChat.synchronize(player, true);
}
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_ALL_SENDER_REASON.toString()
.replace("{player}", player.getName())
.replace("{reason}", reason));
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_ALL_SENDER_REASON.toString().replace("{player}", player.getName()).replace("{reason}", reason));
if (player.isOnline()) {
player.getPlayer().sendMessage(LocalizedMessage.MUTE_PLAYER_ALL_PLAYER_REASON.toString()
.replace("{reason}", reason));
player.getPlayer().sendMessage(LocalizedMessage.MUTE_PLAYER_ALL_PLAYER_REASON.toString().replace("{reason}", reason));
} else
player.setModified(true);
return;
return true;
}
} else {
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
return;
return true;
}
}
}

View File

@ -16,59 +16,57 @@ import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Unmute implements VentureCommand {
public class Unmute extends Command {
public Unmute() {
super("unmute");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (sender.hasPermission("venturechat.mute")) {
if (args.length < 2) {
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/unmute")
.replace("{args}", "[channel] [player]"));
return;
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/unmute").replace("{args}", "[channel] [player]"));
return true;
}
if (ChatChannel.isChannel(args[0])) {
ChatChannel channel = ChatChannel.getChannel(args[0]);
if (channel.getBungee()) {
sendBungeeCordUnmute(sender, args[1], channel);
return;
return true;
}
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[1]);
if (player == null || (!player.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) {
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[1]));
return;
return true;
}
if (!player.isMuted(channel.getName())) {
sender.sendMessage(LocalizedMessage.PLAYER_NOT_MUTED.toString()
.replace("{player}", player.getName()).replace("{channel_color}", channel.getColor())
sender.sendMessage(LocalizedMessage.PLAYER_NOT_MUTED.toString().replace("{player}", player.getName()).replace("{channel_color}", channel.getColor())
.replace("{channel_name}", channel.getName()));
return;
return true;
}
player.removeMute(channel.getName());
sender.sendMessage(LocalizedMessage.UNMUTE_PLAYER_SENDER.toString()
.replace("{player}", player.getName()).replace("{channel_color}", channel.getColor())
sender.sendMessage(LocalizedMessage.UNMUTE_PLAYER_SENDER.toString().replace("{player}", player.getName()).replace("{channel_color}", channel.getColor())
.replace("{channel_name}", channel.getName()));
if (player.isOnline()) {
player.getPlayer().sendMessage(LocalizedMessage.UNMUTE_PLAYER_PLAYER.toString()
.replace("{player}", player.getName()).replace("{channel_color}", channel.getColor())
.replace("{channel_name}", channel.getName()));
player.getPlayer().sendMessage(LocalizedMessage.UNMUTE_PLAYER_PLAYER.toString().replace("{player}", player.getName())
.replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()));
} else {
player.setModified(true);
}
return;
return true;
}
sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[0]));
return;
return true;
} else {
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
return;
return true;
}
}
@Override
public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
public List<String> tabComplete(CommandSender sender, String label, String[] args) {
List<String> completions = new ArrayList<>();
if (args.length == 1) {
StringUtil.copyPartialMatches(args[0], ChatChannel.getChatChannels().stream().map(ChatChannel::getName).collect(Collectors.toList()), completions);
@ -83,7 +81,8 @@ public class Unmute implements VentureCommand {
Collections.sort(completions);
return completions;
}
StringUtil.copyPartialMatches(args[1], MineverseChatAPI.getOnlineMineverseChatPlayers().stream().filter(mcp -> mcp.isMuted(chatChannelObj.getName())).map(MineverseChatPlayer::getName).collect(Collectors.toList()), completions);
StringUtil.copyPartialMatches(args[1], MineverseChatAPI.getOnlineMineverseChatPlayers().stream().filter(mcp -> mcp.isMuted(chatChannelObj.getName()))
.map(MineverseChatPlayer::getName).collect(Collectors.toList()), completions);
Collections.sort(completions);
return completions;
}

View File

@ -1,30 +1,30 @@
package mineverse.Aust1n46.chat.command.mute;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Unmuteall implements VentureCommand {
public class Unmuteall extends Command {
public Unmuteall() {
super("unmuteall");
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
public boolean execute(CommandSender sender, String command, String[] args) {
if (sender.hasPermission("venturechat.mute")) {
if (args.length < 1) {
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
.replace("{command}", "/unmuteall")
.replace("{args}", "[player]"));
return;
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/unmuteall").replace("{args}", "[player]"));
return true;
}
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
if (player == null || (!player.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) {
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
.replace("{args}", args[0]));
return;
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
return true;
}
boolean bungee = false;
for (ChatChannel channel : ChatChannel.getChatChannels()) {
@ -36,16 +36,15 @@ public class Unmuteall implements VentureCommand {
if (bungee) {
MineverseChat.synchronize(player, true);
}
sender.sendMessage(LocalizedMessage.UNMUTE_PLAYER_ALL_SENDER.toString()
.replace("{player}", player.getName()));
sender.sendMessage(LocalizedMessage.UNMUTE_PLAYER_ALL_SENDER.toString().replace("{player}", player.getName()));
if (player.isOnline()) {
player.getPlayer().sendMessage(LocalizedMessage.UNMUTE_PLAYER_ALL_PLAYER.toString());
} else
player.setModified(true);
return;
return true;
} else {
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
return;
return true;
}
}
}

View File

@ -2,23 +2,9 @@ package mineverse.Aust1n46.chat.listeners;
import java.io.FileNotFoundException;
import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.alias.Alias;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.database.Database;
import mineverse.Aust1n46.chat.gui.GuiSlot;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
import mineverse.Aust1n46.chat.utilities.Format;
import mineverse.Aust1n46.chat.versions.VersionHandler;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
@ -31,33 +17,39 @@ import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.SkullMeta;
import me.clip.placeholderapi.PlaceholderAPI;
import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.alias.Alias;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.database.Database;
import mineverse.Aust1n46.chat.gui.GuiSlot;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
import mineverse.Aust1n46.chat.utilities.Format;
import mineverse.Aust1n46.chat.versions.VersionHandler;
//This class listens for commands (Any chat that begins with a /) to use in the command spy and
//in the custom commands such as aliases.
public class CommandListener implements CommandExecutor, Listener {
public class CommandListener implements Listener {
private MineverseChat plugin = MineverseChat.getInstance();
@EventHandler
public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) throws FileNotFoundException {
if(event.getPlayer() == null) {
if (event.getPlayer() == null) {
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - Event.getPlayer() returned null in PlayerCommandPreprocessEvent"));
return;
}
ConfigurationSection cs = plugin.getConfig().getConfigurationSection("commandspy");
Boolean wec = cs.getBoolean("worldeditcommands", true);
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer(event.getPlayer());
if(!mcp.getPlayer().hasPermission("venturechat.commandspy.override")) {
for(MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
if(p.hasCommandSpy()) {
if(wec) {
if (!mcp.getPlayer().hasPermission("venturechat.commandspy.override")) {
for (MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
if (p.hasCommandSpy()) {
if (wec) {
p.getPlayer().sendMessage(Format.FormatStringAll(cs.getString("format").replace("{player}", mcp.getName()).replace("{command}", event.getMessage())));
}
else {
if(!(event.getMessage().toLowerCase().startsWith("//"))) {
} else {
if (!(event.getMessage().toLowerCase().startsWith("//"))) {
p.getPlayer().sendMessage(Format.FormatStringAll(cs.getString("format").replace("{player}", mcp.getName()).replace("{command}", event.getMessage())));
}
else {
if(!(event.getMessage().toLowerCase().startsWith("//"))) {
} else {
if (!(event.getMessage().toLowerCase().startsWith("//"))) {
p.getPlayer().sendMessage(ChatColor.GOLD + mcp.getName() + ": " + event.getMessage());
}
}
@ -67,170 +59,87 @@ public class CommandListener implements CommandExecutor, Listener {
}
String[] blocked = event.getMessage().split(" ");
if(mcp.getBlockedCommands().contains(blocked[0])) {
mcp.getPlayer().sendMessage(LocalizedMessage.BLOCKED_COMMAND.toString()
.replace("{command}", event.getMessage()));
if (mcp.getBlockedCommands().contains(blocked[0])) {
mcp.getPlayer().sendMessage(LocalizedMessage.BLOCKED_COMMAND.toString().replace("{command}", event.getMessage()));
event.setCancelled(true);
return;
}
String message = event.getMessage();
if(Database.isEnabled()) {
if (Database.isEnabled()) {
Database.writeVentureChat(mcp.getUUID().toString(), mcp.getName(), "Local", "Command_Component", event.getMessage().replace("'", "''"), "Command");
}
for(Alias a : Alias.getAliases()) {
if(message.toLowerCase().substring(1).split(" ")[0].equals(a.getName().toLowerCase())) {
for(String s : a.getComponents()) {
if(!mcp.getPlayer().hasPermission(a.getPermission()) && a.hasPermission()) {
for (Alias a : Alias.getAliases()) {
if (message.toLowerCase().substring(1).split(" ")[0].equals(a.getName().toLowerCase())) {
for (String s : a.getComponents()) {
if (!mcp.getPlayer().hasPermission(a.getPermission()) && a.hasPermission()) {
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this alias.");
event.setCancelled(true);
return;
}
int num = 1;
if(message.length() < a.getName().length() + 2 || a.getArguments() == 0) num = 0;
if (message.length() < a.getName().length() + 2 || a.getArguments() == 0)
num = 0;
int arg = 0;
if(message.substring(a.getName().length() + 1 + num).length() == 0) arg = 1;
if (message.substring(a.getName().length() + 1 + num).length() == 0)
arg = 1;
String[] args = message.substring(a.getName().length() + 1 + num).split(" ");
String send = "";
if(args.length - arg < a.getArguments()) {
if (args.length - arg < a.getArguments()) {
String keyword = "arguments.";
if(a.getArguments() == 1) keyword = "argument.";
if (a.getArguments() == 1)
keyword = "argument.";
mcp.getPlayer().sendMessage(ChatColor.RED + "Invalid arguments for this alias, enter at least " + a.getArguments() + " " + keyword);
event.setCancelled(true);
return;
}
for(int b = 0; b < args.length; b++) {
for (int b = 0; b < args.length; b++) {
send += " " + args[b];
}
if(send.length() > 0) send = send.substring(1);
if (send.length() > 0)
send = send.substring(1);
s = Format.FormatStringAll(s);
if(mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
if (mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
send = Format.FormatStringLegacyColor(send);
}
if(mcp.getPlayer().hasPermission("venturechat.color")) {
if (mcp.getPlayer().hasPermission("venturechat.color")) {
send = Format.FormatStringColor(send);
}
if(mcp.getPlayer().hasPermission("venturechat.format")) {
if (mcp.getPlayer().hasPermission("venturechat.format")) {
send = Format.FormatString(send);
}
if(s.startsWith("Command:")) {
if (s.startsWith("Command:")) {
mcp.getPlayer().chat(s.substring(9).replace("$", send));
event.setCancelled(true);
}
if(s.startsWith("Message:")) {
if (s.startsWith("Message:")) {
mcp.getPlayer().sendMessage(s.substring(9).replace("$", send));
event.setCancelled(true);
}
if(s.startsWith("Broadcast:")) {
if (s.startsWith("Broadcast:")) {
Format.broadcastToServer(s.substring(11).replace("$", send));
event.setCancelled(true);
}
}
}
}
if(!ChatChannel.areAliasesRegisteredAsCommands()) {
for(ChatChannel channel : ChatChannel.getChatChannels()) {
if(!channel.hasPermission() || mcp.getPlayer().hasPermission(channel.getPermission())) {
if(message.equals("/" + channel.getAlias())) {
mcp.getPlayer().sendMessage(LocalizedMessage.SET_CHANNEL.toString()
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName()));
if(mcp.hasConversation()) {
for(MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
if(p.isSpy()) {
p.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION_SPY.toString()
.replace("{player_sender}", mcp.getName())
.replace("{player_receiver}", MineverseChatAPI.getMineverseChatPlayer(mcp.getConversation()).getName()));
}
}
mcp.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION.toString()
.replace("{player_receiver}", MineverseChatAPI.getMineverseChatPlayer(mcp.getConversation()).getName()));
mcp.setConversation(null);
}
mcp.addListening(channel.getName());
mcp.setCurrentChannel(channel);
if(channel.getBungee()) {
MineverseChat.synchronize(mcp, true);
}
event.setCancelled(true);
return;
}
if(message.toLowerCase().startsWith("/" + channel.getAlias() + " ")) {
message = message.substring(channel.getAlias().length() + 1);
mcp.addListening(channel.getName());
if(channel.getBungee()) {
MineverseChat.synchronize(mcp, true);
}
mcp.setQuickChannel(channel);
/*String format = "";
if(plugin.getConfig().getConfigurationSection("channels." + channel.getName()).getString("format").equalsIgnoreCase("Default")) {
format = FormatTags.ChatFormat(ChatColor.valueOf(channel.getColor().toUpperCase()) + "[" + channel.getName() + "] {prefix}{name}" + ChatColor.valueOf(channel.getColor().toUpperCase()) + ":" + ChatColor.valueOf(channel.getChatColor().toUpperCase()), mcp.getPlayer(), plugin, cc, channel, plugin.getConfig().getBoolean("jsonFormat"));
}
else {
format = FormatTags.ChatFormat(plugin.getConfig().getConfigurationSection("channels." + channel.getName()).getString("format"), mcp.getPlayer(), plugin, cc, channel, plugin.getConfig().getBoolean("jsonFormat"));
if(plugin.getConfig().getBoolean("formatcleaner", false)) {
format = format.replace("[]", " ");
format = format.replace(" ", " ").replace(" ", " ").replace(" ", " ");
}
}*/
mcp.setQuickChat(true);
mcp.getPlayer().chat(message);
event.setCancelled(true);
}
}
}
}
}
//old 1.8 command map
// old 1.8 command map
@EventHandler
public void onServerCommand(ServerCommandEvent event) {
if (Database.isEnabled()) {
Database.writeVentureChat("N/A", "Console", "Local", "Command_Component", event.getCommand().replace("'", "''") , "Command");
Database.writeVentureChat("N/A", "Console", "Local", "Command_Component", event.getCommand().replace("'", "''"), "Command");
}
}
/**
* Unused
*/
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if(!(sender instanceof Player)) {
plugin.getServer().getConsoleSender().sendMessage(ChatColor.RED + "This command must be run by a player.");
return true;
}
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
for(ChatChannel channel : ChatChannel.getChatChannels()) {
if(command.getName().toLowerCase().equals(channel.getAlias())) {
if(args.length == 0) {
mcp.getPlayer().sendMessage(ChatColor.RED + "Invalid command: /" + channel.getAlias() + " message");
return true;
}
mcp.setQuickChat(true);
mcp.setQuickChannel(channel);
mcp.addListening(channel.getName());
if(channel.getBungee()) {
MineverseChat.synchronize(mcp, true);
}
String msg = "";
for(int x = 0; x < args.length; x++) {
if(args[x].length() > 0) msg += " " + args[x];
}
mcp.getPlayer().chat(msg);
return true;
}
}
return false;
}
@SuppressWarnings("deprecation")
@EventHandler(priority = EventPriority.LOW)
public void InventoryClick(InventoryClickEvent e) {
ItemStack item = e.getCurrentItem();
if(item == null || !e.getView().getTitle().contains("VentureChat")) {
if (item == null || !e.getView().getTitle().contains("VentureChat")) {
return;
}
e.setCancelled(true);
@ -241,26 +150,24 @@ public class CommandListener implements CommandExecutor, Listener {
SkullMeta skullMeta = (SkullMeta) skull.getItemMeta();
ChatChannel channel = ChatChannel.getChannel(ChatColor.stripColor(skullMeta.getLore().get(0)).replace("Channel: ", ""));
int hash = Integer.parseInt(ChatColor.stripColor(skullMeta.getLore().get(1).replace("Hash: ", "")));
if(VersionHandler.is1_7()) {
if(item.getType() == Material.BEDROCK) {
if (VersionHandler.is1_7()) {
if (item.getType() == Material.BEDROCK) {
mcp.getPlayer().closeInventory();
}
} else {
if (item.getType() == Material.BARRIER) {
mcp.getPlayer().closeInventory();
}
}
else {
if(item.getType() == Material.BARRIER) {
mcp.getPlayer().closeInventory();
}
}
for(GuiSlot g : GuiSlot.getGuiSlots()) {
if(g.getIcon() == item.getType() && g.getDurability() == item.getDurability() && g.getSlot() == e.getSlot()) {
for (GuiSlot g : GuiSlot.getGuiSlots()) {
if (g.getIcon() == item.getType() && g.getDurability() == item.getDurability() && g.getSlot() == e.getSlot()) {
String command = g.getCommand().replace("{channel}", channel.getName()).replace("{hash}", hash + "");
if(target != null) {
if (target != null) {
command = command.replace("{player_name}", target.getName());
if(target.isOnline()) {
if (target.isOnline()) {
command = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(target.getPlayer(), command));
}
}
else {
} else {
command = command.replace("{player_name}", "Discord_Message");
}
mcp.getPlayer().chat(command);