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

View File

@ -23,8 +23,6 @@ public class ChatChannel {
private static final String PERMISSION_PREFIX = "venturechat."; private static final String PERMISSION_PREFIX = "venturechat.";
private static final String NO_PERMISSIONS = "venturechat.none"; private static final String NO_PERMISSIONS = "venturechat.none";
private static boolean aliasesRegisteredAsCommands;
private static MineverseChat plugin = MineverseChat.getInstance(); private static MineverseChat plugin = MineverseChat.getInstance();
private static ChatChannel defaultChatChannel; private static ChatChannel defaultChatChannel;
private static String defaultColor; private static String defaultColor;
@ -52,9 +50,8 @@ public class ChatChannel {
/** /**
* Read chat channels from config file and initialize channel array. * 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>(); chatChannels = new HashMap<String, ChatChannel>();
ChatChannel.aliasesRegisteredAsCommands = aliasesRegisteredAsCommands;
ConfigurationSection cs = plugin.getConfig().getConfigurationSection("channels"); ConfigurationSection cs = plugin.getConfig().getConfigurationSection("channels");
int len = (cs.getKeys(false)).size(); int len = (cs.getKeys(false)).size();
channels = new ChatChannel[len]; channels = new ChatChannel[len];
@ -96,10 +93,6 @@ public class ChatChannel {
} }
} }
public static boolean areAliasesRegisteredAsCommands() {
return aliasesRegisteredAsCommands;
}
/** /**
* Get array of chat channels. * 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; package mineverse.Aust1n46.chat.command;
import java.io.File; import java.io.File;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import org.bukkit.Server; import org.bukkit.Server;
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.command.PluginCommand;
import org.bukkit.command.SimpleCommandMap; import org.bukkit.command.SimpleCommandMap;
import org.bukkit.command.TabExecutor;
import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.plugin.Plugin;
import mineverse.Aust1n46.chat.MineverseChat; import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.chat.Broadcast; import mineverse.Aust1n46.chat.command.chat.Broadcast;
import mineverse.Aust1n46.chat.command.chat.BungeeToggle; import mineverse.Aust1n46.chat.command.chat.BungeeToggle;
import mineverse.Aust1n46.chat.command.chat.Channel; 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. * 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 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 final MineverseChat plugin = MineverseChat.getInstance();
private static VentureCommandExecutor commandExecutor;
private static Map<String, Command> knownCommands; 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") @SuppressWarnings("unchecked")
public static void initialize() { public static void initialize() {
@ -112,15 +94,11 @@ public class VentureCommandExecutor implements TabExecutor {
knownCommandsField.setAccessible(true); knownCommandsField.setAccessible(true);
knownCommands = (Map<String, Command>) knownCommandsField.get(simpleCommandMap); knownCommands = (Map<String, Command>) knownCommandsField.get(simpleCommandMap);
} catch (NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException e) { } 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(); 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("broadcast", new Broadcast());
commands.put("channel", new Channel()); commands.put("channel", new Channel());
commands.put("channelinfo", new Channelinfo()); commands.put("channelinfo", new Channelinfo());
@ -159,46 +137,43 @@ public class VentureCommandExecutor implements TabExecutor {
commands.put("reply", new Reply()); commands.put("reply", new Reply());
commands.put("message", new Message()); commands.put("message", new Message());
commands.put("ignore", new Ignore()); 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"); final ConfigurationSection commandsSection = commandsFileConfiguration.getConfigurationSection("commands");
for (final String commandLabel : commandsSection.getKeys(false)) { for (final String commandName : commandsSection.getKeys(false)) {
final ConfigurationSection commandSection = commandsSection.getConfigurationSection(commandLabel); final ConfigurationSection commandSection = commandsSection.getConfigurationSection(commandName);
final boolean isEnabled = commandSection.getBoolean("enabled", true); final boolean isEnabled = commandSection.getBoolean("enabled", true);
if (!isEnabled) { if (!isEnabled) {
commands.remove(commandLabel); commands.remove(commandName);
} else { } else {
final VentureCommand command = commands.get(commandLabel); final Command command = commands.get(commandName);
if (command != null) { if (command != null) {
final List<String> aliases = commandSection.getStringList("aliases"); final List<String> aliases = commandSection.getStringList("aliases");
for (final String alias : aliases) { for (final String alias : aliases) {
commands.put(alias, command); 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 // Initial registration is required to ensure commands are recognized by the
// server after enabling every plugin // server after enabling every plugin
for (final String command : commands.keySet()) { for (final Entry<String, Command> commandEntry : commands.entrySet()) {
registerCommand(command, commandExecutor); registerCommand(commandEntry.getKey(), commandEntry.getValue());
} }
// Forcibly re-register enabled VentureChat commands on a delay to ensure they // Forcibly re-register enabled VentureChat commands on a delay to ensure they
// have priority // have priority
server.getScheduler().runTaskLater(plugin, () -> { server.getScheduler().runTaskLater(plugin, () -> {
for (final String command : commands.keySet()) { for (final Entry<String, Command> commandEntry : commands.entrySet()) {
registerCommand(command, commandExecutor); registerCommand(commandEntry.getKey(), commandEntry.getValue());
} }
}, 10); }, 10);
} }
private static void registerCommand(String command, TabExecutor tabExecutor) { public static void registerCommand(final String commandLabel, final Command command) {
try { knownCommands.put(commandLabel, command);
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();
}
} }
} }

View File

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

View File

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

View File

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

View File

@ -1,36 +1,40 @@
package mineverse.Aust1n46.chat.command.chat; package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import mineverse.Aust1n46.chat.channel.ChatChannel; import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.utilities.Format; import mineverse.Aust1n46.chat.utilities.Format;
public class Channelinfo implements VentureCommand { public class Channelinfo extends Command {
public Channelinfo() {
super("channelinfo");
}
@Override @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 (sender.hasPermission("venturechat.channelinfo")) {
if (args.length < 1) { if (args.length < 1) {
sender.sendMessage(ChatColor.RED + "Invalid command: /channelinfo [channel]"); sender.sendMessage(ChatColor.RED + "Invalid command: /channelinfo [channel]");
return; return true;
} }
ChatChannel chname = ChatChannel.getChannel(args[0]); ChatChannel chname = ChatChannel.getChannel(args[0]);
if (chname == null) { if (chname == null) {
sender.sendMessage(ChatColor.RED + "Invalid channel: " + args[0]); sender.sendMessage(ChatColor.RED + "Invalid channel: " + args[0]);
return; return true;
} }
if (chname.hasPermission()) { if (chname.hasPermission()) {
if (!sender.hasPermission(chname.getPermission())) { if (!sender.hasPermission(chname.getPermission())) {
sender.sendMessage(ChatColor.RED + "You do not have permission to look at this channel."); 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 + "Channel: " + chname.getColor() + chname.getName());
sender.sendMessage(ChatColor.GOLD + "Alias: " + chname.getColor() + chname.getAlias()); sender.sendMessage(ChatColor.GOLD + "Alias: " + chname.getColor() + chname.getAlias());
sender.sendMessage(ChatColor.GOLD + "Color: " + chname.getColor() + chname.getColorRaw()); 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()) { if (chname.hasPermission()) {
sender.sendMessage(ChatColor.GOLD + "Permission: " + chname.getColor() + chname.getPermission()); sender.sendMessage(ChatColor.GOLD + "Permission: " + chname.getColor() + chname.getPermission());
} else { } else {
@ -55,10 +59,10 @@ public class Channelinfo implements VentureCommand {
} }
sender.sendMessage(ChatColor.GOLD + "Bungeecord: " + chname.getColor() + chname.getBungee()); sender.sendMessage(ChatColor.GOLD + "Bungeecord: " + chname.getColor() + chname.getBungee());
sender.sendMessage(ChatColor.GOLD + "Format: " + chname.getColor() + chname.getFormat()); sender.sendMessage(ChatColor.GOLD + "Format: " + chname.getColor() + chname.getFormat());
return; return true;
} else { } else {
sender.sendMessage(ChatColor.RED + "You do not have permission for this command."); 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.Bukkit;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import mineverse.Aust1n46.chat.api.MineverseChatAPI; import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer; import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.channel.ChatChannel; import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.command.mute.MuteContainer; import mineverse.Aust1n46.chat.command.mute.MuteContainer;
public class Chatinfo implements VentureCommand { public class Chatinfo extends Command {
public Chatinfo() {
super("chatinfo");
}
@Override @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 (sender.hasPermission("venturechat.chatinfo")) {
if (args.length == 0) { if (args.length == 0) {
if (!(sender instanceof Player)) { if (!(sender instanceof Player)) {
Bukkit.getServer().getConsoleSender().sendMessage(ChatColor.RED + "This command must be run by a player; use /ci [name]"); 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); MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
String listen = ""; String listen = "";
@ -50,7 +53,8 @@ public class Chatinfo implements VentureCommand {
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Blocked Commands: " + ChatColor.RED + "N/A"); mcp.getPlayer().sendMessage(ChatColor.GOLD + "Blocked Commands: " + ChatColor.RED + "N/A");
} }
if (mcp.hasConversation()) { 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 { } else {
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Private conversation: " + ChatColor.RED + "N/A"); mcp.getPlayer().sendMessage(ChatColor.GOLD + "Private conversation: " + ChatColor.RED + "N/A");
} }
@ -69,7 +73,7 @@ public class Chatinfo implements VentureCommand {
} else { } else {
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Filter: " + ChatColor.RED + "false"); mcp.getPlayer().sendMessage(ChatColor.GOLD + "Filter: " + ChatColor.RED + "false");
} }
return; return true;
} }
} }
if (sender.hasPermission("venturechat.chatinfo.others")) { if (sender.hasPermission("venturechat.chatinfo.others")) {
@ -79,7 +83,7 @@ public class Chatinfo implements VentureCommand {
MineverseChatPlayer p = MineverseChatAPI.getMineverseChatPlayer(args[0]); MineverseChatPlayer p = MineverseChatAPI.getMineverseChatPlayer(args[0]);
if (p == null) { if (p == null) {
sender.sendMessage(ChatColor.RED + "Player: " + ChatColor.GOLD + args[0] + ChatColor.RED + " is not online."); 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()); sender.sendMessage(ChatColor.GOLD + "Player: " + ChatColor.GREEN + p.getName());
for (String c : p.getListening()) { for (String c : p.getListening()) {
@ -124,14 +128,14 @@ public class Chatinfo implements VentureCommand {
} else { } else {
sender.sendMessage(ChatColor.GOLD + "Filter: " + ChatColor.RED + "false"); sender.sendMessage(ChatColor.GOLD + "Filter: " + ChatColor.RED + "false");
} }
return; return true;
} else { } else {
sender.sendMessage(ChatColor.RED + "You do not have permission to check the chat info of others."); sender.sendMessage(ChatColor.RED + "You do not have permission to check the chat info of others.");
} }
return; return true;
} else { } else {
sender.sendMessage(ChatColor.RED + "You do not have permission for this command."); 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 java.util.UUID;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import mineverse.Aust1n46.chat.MineverseChat; import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI; import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer; import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.database.PlayerData; import mineverse.Aust1n46.chat.database.PlayerData;
import mineverse.Aust1n46.chat.localization.LocalizedMessage; import mineverse.Aust1n46.chat.localization.LocalizedMessage;
import mineverse.Aust1n46.chat.utilities.Format; import mineverse.Aust1n46.chat.utilities.Format;
public class Chatreload implements VentureCommand { public class Chatreload extends Command {
private MineverseChat plugin = MineverseChat.getInstance(); private MineverseChat plugin = MineverseChat.getInstance();
public Chatreload() {
super("chatreload");
}
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public boolean execute(CommandSender sender, String command, String[] args) {
if(sender.hasPermission("venturechat.reload")) { if (sender.hasPermission("venturechat.reload")) {
PlayerData.savePlayerData(); PlayerData.savePlayerData();
MineverseChatAPI.clearMineverseChatPlayerMap(); MineverseChatAPI.clearMineverseChatPlayerMap();
MineverseChatAPI.clearNameMap(); MineverseChatAPI.clearNameMap();
@ -30,10 +34,11 @@ public class Chatreload implements VentureCommand {
PlayerData.loadLegacyPlayerData(); PlayerData.loadLegacyPlayerData();
PlayerData.loadPlayerData(); PlayerData.loadPlayerData();
for(Player p : plugin.getServer().getOnlinePlayers()) { for (Player p : plugin.getServer().getOnlinePlayers()) {
MineverseChatPlayer mcp = MineverseChatAPI.getMineverseChatPlayer(p); MineverseChatPlayer mcp = MineverseChatAPI.getMineverseChatPlayer(p);
if(mcp == null) { 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 - 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.")); Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - There could be an issue with your player data saving."));
String name = p.getName(); String name = p.getName();
UUID uuid = p.getUniqueId(); UUID uuid = p.getUniqueId();
@ -47,14 +52,14 @@ public class Chatreload implements VentureCommand {
} }
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&e - Config reloaded")); Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&e - Config reloaded"));
for(MineverseChatPlayer player : MineverseChatAPI.getOnlineMineverseChatPlayers()) { for (MineverseChatPlayer player : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
if(player.getPlayer().hasPermission("venturechat.reload")) { if (player.getPlayer().hasPermission("venturechat.reload")) {
player.getPlayer().sendMessage(LocalizedMessage.CONFIG_RELOADED.toString()); player.getPlayer().sendMessage(LocalizedMessage.CONFIG_RELOADED.toString());
} }
} }
return; return true;
} }
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString()); sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
return; return true;
} }
} }

View File

@ -1,31 +1,30 @@
package mineverse.Aust1n46.chat.command.chat; package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import mineverse.Aust1n46.chat.channel.ChatChannel; import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage; import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Chlist implements VentureCommand { public class Chlist extends Command {
public Chlist() {
super("chlist");
}
@Override @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()); sender.sendMessage(LocalizedMessage.CHANNEL_LIST_HEADER.toString());
for (ChatChannel chname : ChatChannel.getChatChannels()) { for (ChatChannel chname : ChatChannel.getChatChannels()) {
if (chname.hasPermission()) { if (chname.hasPermission()) {
if (sender.hasPermission(chname.getPermission())) { if (sender.hasPermission(chname.getPermission())) {
sender.sendMessage(LocalizedMessage.CHANNEL_LIST_WITH_PERMISSIONS.toString() sender.sendMessage(LocalizedMessage.CHANNEL_LIST_WITH_PERMISSIONS.toString().replace("{channel_color}", (chname.getColor()).toString())
.replace("{channel_color}", (chname.getColor()).toString()) .replace("{channel_name}", chname.getName()).replace("{channel_alias}", chname.getAlias()));
.replace("{channel_name}", chname.getName())
.replace("{channel_alias}", chname.getAlias()));
} }
} else { } else {
sender.sendMessage(LocalizedMessage.CHANNEL_LIST.toString() sender.sendMessage(LocalizedMessage.CHANNEL_LIST.toString().replace("{channel_color}", chname.getColor().toString()).replace("{channel_name}", chname.getName())
.replace("{channel_color}", chname.getColor().toString())
.replace("{channel_name}", chname.getName())
.replace("{channel_alias}", chname.getAlias())); .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.ChatColor;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.plugin.PluginManager; 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.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer; import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.channel.ChatChannel; import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage; import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Chwho implements VentureCommand { public class Chwho extends Command {
private MineverseChat plugin = MineverseChat.getInstance(); private MineverseChat plugin = MineverseChat.getInstance();
public Chwho() {
super("chwho");
}
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public boolean execute(CommandSender sender, String command, String[] args) {
String playerlist = ""; String playerlist = "";
if (sender.hasPermission("venturechat.chwho")) { if (sender.hasPermission("venturechat.chwho")) {
if (args.length > 0) { if (args.length > 0) {
@ -37,7 +41,7 @@ public class Chwho implements VentureCommand {
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer(((Player) sender)); MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer(((Player) sender));
mcp.removeListening(channel.getName()); mcp.removeListening(channel.getName());
mcp.getPlayer().sendMessage(LocalizedMessage.CHANNEL_NO_PERMISSION_VIEW.toString()); mcp.getPlayer().sendMessage(LocalizedMessage.CHANNEL_NO_PERMISSION_VIEW.toString());
return; return true;
} }
} }
@ -55,7 +59,7 @@ public class Chwho implements VentureCommand {
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
return; return true;
} }
PluginManager pluginManager = plugin.getServer().getPluginManager(); PluginManager pluginManager = plugin.getServer().getPluginManager();
@ -163,25 +167,21 @@ public class Chwho implements VentureCommand {
if (playerlist.length() > 2) { if (playerlist.length() > 2) {
playerlist = playerlist.substring(0, playerlist.length() - 2); playerlist = playerlist.substring(0, playerlist.length() - 2);
} }
sender.sendMessage(LocalizedMessage.CHANNEL_PLAYER_LIST_HEADER.toString() sender.sendMessage(LocalizedMessage.CHANNEL_PLAYER_LIST_HEADER.toString().replace("{channel_color}", (channel.getColor()).toString()).replace("{channel_name}",
.replace("{channel_color}", (channel.getColor()).toString()) channel.getName()));
.replace("{channel_name}", channel.getName()));
sender.sendMessage(playerlist); sender.sendMessage(playerlist);
return; return true;
} else { } else {
sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString() sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[0]));
.replace("{args}", args[0])); return true;
return;
} }
} else { } else {
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString() sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/chwho").replace("{args}", "[channel]"));
.replace("{command}", "/chwho") return true;
.replace("{args}", "[channel]"));
return;
} }
} else { } else {
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString()); sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
return; return true;
} }
} }

View File

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

View File

@ -1,33 +1,37 @@
package mineverse.Aust1n46.chat.command.chat; package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import mineverse.Aust1n46.chat.api.MineverseChatAPI; import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer; import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage; import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Commandspy implements VentureCommand { public class Commandspy extends Command {
public Commandspy() {
super("commandspy");
}
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public boolean execute(CommandSender sender, String command, String[] args) {
if (!(sender instanceof Player)) { if (!(sender instanceof Player)) {
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString()); Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return; return true;
} }
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender); MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
if (mcp.getPlayer().hasPermission("venturechat.commandspy")) { if (mcp.getPlayer().hasPermission("venturechat.commandspy")) {
if (!mcp.hasCommandSpy()) { if (!mcp.hasCommandSpy()) {
mcp.setCommandSpy(true); mcp.setCommandSpy(true);
mcp.getPlayer().sendMessage(LocalizedMessage.COMMANDSPY_ON.toString()); mcp.getPlayer().sendMessage(LocalizedMessage.COMMANDSPY_ON.toString());
return; return true;
} }
mcp.setCommandSpy(false); mcp.setCommandSpy(false);
mcp.getPlayer().sendMessage(LocalizedMessage.COMMANDSPY_OFF.toString()); mcp.getPlayer().sendMessage(LocalizedMessage.COMMANDSPY_OFF.toString());
return; return true;
} }
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString()); 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.Bukkit;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import mineverse.Aust1n46.chat.MineverseChat; import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.utilities.Format; import mineverse.Aust1n46.chat.utilities.Format;
public class Config implements VentureCommand { public class Config extends Command {
private MineverseChat plugin = MineverseChat.getInstance(); private MineverseChat plugin = MineverseChat.getInstance();
public Config() {
super("config");
}
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public boolean execute(CommandSender sender, String command, String[] args) {
if (sender.hasPermission("venturechat.edit")) { if (sender.hasPermission("venturechat.edit")) {
try { try {
switch (args[0]) { switch (args[0]) {
@ -168,7 +172,8 @@ public class Config implements VentureCommand {
} }
} }
} catch (Exception e) { } 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; break;
} }
@ -536,7 +541,8 @@ public class Config implements VentureCommand {
try { try {
String format = args[1] + " "; String format = args[1] + " ";
for (int x = 2; x < args.length; x++) { 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); format = format.substring(0, format.length() - 1);
plugin.getConfig().set("tellformatto", format); plugin.getConfig().set("tellformatto", format);
@ -555,7 +561,8 @@ public class Config implements VentureCommand {
try { try {
String format = args[1] + " "; String format = args[1] + " ";
for (int x = 2; x < args.length; x++) { 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); format = format.substring(0, format.length() - 1);
plugin.getConfig().set("tellformatfrom", format); plugin.getConfig().set("tellformatfrom", format);
@ -574,7 +581,8 @@ public class Config implements VentureCommand {
try { try {
String format = args[1] + " "; String format = args[1] + " ";
for (int x = 2; x < args.length; x++) { 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); format = format.substring(0, format.length() - 1);
plugin.getConfig().set("tellformatspy", format); plugin.getConfig().set("tellformatspy", format);
@ -593,7 +601,8 @@ public class Config implements VentureCommand {
try { try {
String format = args[1] + " "; String format = args[1] + " ";
for (int x = 2; x < args.length; x++) { 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); format = format.substring(0, format.length() - 1);
plugin.getConfig().set("replyformatto", format); plugin.getConfig().set("replyformatto", format);
@ -612,7 +621,8 @@ public class Config implements VentureCommand {
try { try {
String format = args[1] + " "; String format = args[1] + " ";
for (int x = 2; x < args.length; x++) { 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); format = format.substring(0, format.length() - 1);
plugin.getConfig().set("replyformatfrom", format); plugin.getConfig().set("replyformatfrom", format);
@ -631,7 +641,8 @@ public class Config implements VentureCommand {
try { try {
String format = args[1] + " "; String format = args[1] + " ";
for (int x = 2; x < args.length; x++) { 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); format = format.substring(0, format.length() - 1);
plugin.getConfig().set("replyformatspy", format); plugin.getConfig().set("replyformatspy", format);
@ -650,7 +661,8 @@ public class Config implements VentureCommand {
try { try {
String format = args[1] + " "; String format = args[1] + " ";
for (int x = 2; x < args.length; x++) { 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); format = format.substring(0, format.length() - 1);
plugin.getConfig().set("partyformat", format); 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]"); sender.sendMessage(ChatColor.RED + "Invalid color, /config channels [channel] chatcolor [color]");
break; break;
} catch (Exception e) { } 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; break;
} }
} }
@ -893,7 +906,8 @@ public class Config implements VentureCommand {
Bukkit.getPluginManager().enablePlugin(plugin); Bukkit.getPluginManager().enablePlugin(plugin);
break; break;
} catch (Exception e) { } 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; break;
} }
} }
@ -969,7 +983,8 @@ public class Config implements VentureCommand {
} }
} }
} catch (Exception e) { } 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; break;
} }
@ -990,7 +1005,8 @@ public class Config implements VentureCommand {
sender.sendMessage(ChatColor.RED + "Invalid distance, /config channels [channel] distance [distance]"); sender.sendMessage(ChatColor.RED + "Invalid distance, /config channels [channel] distance [distance]");
break; break;
} catch (Exception e) { } 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; break;
} }
} }
@ -1042,7 +1058,8 @@ public class Config implements VentureCommand {
} }
} }
} catch (Exception e) { } 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; break;
} }
@ -1050,7 +1067,8 @@ public class Config implements VentureCommand {
try { try {
String format = args[3] + " "; String format = args[3] + " ";
for (int x = 4; x < args.length; x++) { 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); format = format.substring(0, format.length() - 1);
plugin.getConfig().getConfigurationSection("channels." + args[1]).set("format", format); plugin.getConfig().getConfigurationSection("channels." + args[1]).set("format", format);
@ -1066,12 +1084,14 @@ public class Config implements VentureCommand {
} }
} }
default: { 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; break;
} }
} }
} catch (Exception e) { } 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; break;
} }
@ -1155,7 +1175,8 @@ public class Config implements VentureCommand {
sender.sendMessage(ChatColor.GREEN + "/config broadcastafk [true/false]"); sender.sendMessage(ChatColor.GREEN + "/config broadcastafk [true/false]");
sender.sendMessage(ChatColor.GREEN + "/config formatcleaner [true/false]"); sender.sendMessage(ChatColor.GREEN + "/config formatcleaner [true/false]");
sender.sendMessage(ChatColor.GREEN + "/config broadcast [color, permissions, displaytag]"); 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"); sender.sendMessage(ChatColor.GREEN + "/config help");
break; break;
} }
@ -1167,9 +1188,9 @@ public class Config implements VentureCommand {
} catch (Exception e) { } catch (Exception e) {
sender.sendMessage(ChatColor.RED + "Invalid arguments, /config help"); sender.sendMessage(ChatColor.RED + "Invalid arguments, /config help");
} }
return; return true;
} }
sender.sendMessage(ChatColor.RED + "You do not have permission for this command."); 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.List;
import java.util.Map; import java.util.Map;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable; import org.bukkit.scheduler.BukkitRunnable;
@ -16,30 +17,31 @@ import mineverse.Aust1n46.chat.ChatMessage;
import mineverse.Aust1n46.chat.MineverseChat; import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI; import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer; import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage; import mineverse.Aust1n46.chat.localization.LocalizedMessage;
import mineverse.Aust1n46.chat.utilities.Format; import mineverse.Aust1n46.chat.utilities.Format;
public class Edit implements VentureCommand { public class Edit extends Command {
private PacketContainer emptyLinePacketContainer = Format.createPacketPlayOutChat("{\"extra\":[\" \"],\"text\":\"\"}"); private PacketContainer emptyLinePacketContainer = Format.createPacketPlayOutChat("{\"extra\":[\" \"],\"text\":\"\"}");
private MineverseChat plugin = MineverseChat.getInstance(); private MineverseChat plugin = MineverseChat.getInstance();
private WrappedChatComponent messageDeletedComponentPlayer; private WrappedChatComponent messageDeletedComponentPlayer;
public Edit() {
super("edit");
}
@Override @Override
@SuppressWarnings({"unchecked", "rawtypes"}) @SuppressWarnings({ "unchecked", "rawtypes" })
public void execute(CommandSender sender, String command, String[] args) { public boolean execute(CommandSender sender, String command, String[] args) {
if (args.length == 0) { if (args.length == 0) {
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString() sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/edit").replace("{args}", "[hashcode]"));
.replace("{command}", "/edit") return true;
.replace("{args}", "[hashcode]"));
return;
} }
final int hash; final int hash;
try { try {
hash = Integer.parseInt(args[0]); hash = Integer.parseInt(args[0]);
} catch (Exception e) { } catch (Exception e) {
sender.sendMessage(LocalizedMessage.INVALID_HASH.toString()); sender.sendMessage(LocalizedMessage.INVALID_HASH.toString());
return; return true;
} }
new BukkitRunnable() { new BukkitRunnable() {
public void run() { public void run() {
@ -53,7 +55,9 @@ public class Edit implements VentureCommand {
} }
for (ChatMessage message : messages) { for (ChatMessage message : messages) {
if (message.getHash() == hash) { 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.setComponent(removedComponent);
message.setHash(-1); message.setHash(-1);
playerPackets.add(Format.createPacketPlayOutChat(removedComponent)); playerPackets.add(Format.createPacketPlayOutChat(removedComponent));
@ -61,9 +65,12 @@ public class Edit implements VentureCommand {
continue; continue;
} }
if (message.getMessage().contains(Format.FormatStringAll(plugin.getConfig().getString("messageremovericon")))) { 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) { 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.setComponent(removedComponent);
message.setHash(-1); message.setHash(-1);
playerPackets.add(Format.createPacketPlayOutChat(removedComponent)); playerPackets.add(Format.createPacketPlayOutChat(removedComponent));
@ -89,11 +96,14 @@ public class Edit implements VentureCommand {
}.runTask(plugin); }.runTask(plugin);
} }
}.runTaskAsynchronously(plugin); }.runTaskAsynchronously(plugin);
return true;
} }
public WrappedChatComponent getMessageDeletedChatComponentPlayer() { public WrappedChatComponent getMessageDeletedChatComponentPlayer() {
if (this.messageDeletedComponentPlayer == null) { 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; return this.messageDeletedComponentPlayer;
} }
@ -103,6 +113,8 @@ public class Edit implements VentureCommand {
if (message.getMessage().contains(Format.FormatStringAll(plugin.getConfig().getString("messageremovericon")))) { if (message.getMessage().contains(Format.FormatStringAll(plugin.getConfig().getString("messageremovericon")))) {
oMessage = oMessage.substring(0, oMessage.length() - plugin.getConfig().getString("messageremovericon").length() - 4) + "\"}]"; 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; package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import mineverse.Aust1n46.chat.api.MineverseChatAPI; import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer; import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage; import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Filter implements VentureCommand { public class Filter extends Command {
public Filter() {
super("filter");
}
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public boolean execute(CommandSender sender, String command, String[] args) {
if (!(sender instanceof Player)) { if (!(sender instanceof Player)) {
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString()); Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return; return true;
} }
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender); MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
if (mcp.getPlayer().hasPermission("venturechat.ignorefilter")) { if (mcp.getPlayer().hasPermission("venturechat.ignorefilter")) {
if (!mcp.hasFilter()) { if (!mcp.hasFilter()) {
mcp.setFilter(true); mcp.setFilter(true);
mcp.getPlayer().sendMessage(LocalizedMessage.FILTER_ON.toString()); mcp.getPlayer().sendMessage(LocalizedMessage.FILTER_ON.toString());
return; return true;
} }
mcp.setFilter(false); mcp.setFilter(false);
mcp.getPlayer().sendMessage(LocalizedMessage.FILTER_OFF.toString()); mcp.getPlayer().sendMessage(LocalizedMessage.FILTER_OFF.toString());
return; return true;
} }
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString()); mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
return true;
} }
} }

View File

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

View File

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

View File

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

View File

@ -1,31 +1,31 @@
package mineverse.Aust1n46.chat.command.chat; package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import mineverse.Aust1n46.chat.MineverseChat; import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI; import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer; import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.channel.ChatChannel; import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage; import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Kickchannelall implements VentureCommand { public class Kickchannelall extends Command {
public Kickchannelall() {
super("kickchannelall");
}
@Override @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 (sender.hasPermission("venturechat.kickchannelall")) {
if (args.length < 1) { if (args.length < 1) {
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString() sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/kickchannelall").replace("{args}", "[player]"));
.replace("{command}", "/kickchannelall") return true;
.replace("{args}", "[player]"));
return;
} }
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]); MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
if (player == null) { if (player == null) {
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString() sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
.replace("{args}", args[0])); return true;
return;
} }
boolean isThereABungeeChannel = false; boolean isThereABungeeChannel = false;
for (String channel : player.getListening()) { for (String channel : player.getListening()) {
@ -37,8 +37,7 @@ public class Kickchannelall implements VentureCommand {
} }
} }
player.clearListening(); player.clearListening();
sender.sendMessage(LocalizedMessage.KICK_CHANNEL_ALL_SENDER.toString() sender.sendMessage(LocalizedMessage.KICK_CHANNEL_ALL_SENDER.toString().replace("{player}", player.getName()));
.replace("{player}", player.getName()));
player.addListening(ChatChannel.getDefaultChannel().getName()); player.addListening(ChatChannel.getDefaultChannel().getName());
player.setCurrentChannel(ChatChannel.getDefaultChannel()); player.setCurrentChannel(ChatChannel.getDefaultChannel());
if (ChatChannel.getDefaultChannel().getBungee()) { if (ChatChannel.getDefaultChannel().getBungee()) {
@ -50,14 +49,15 @@ public class Kickchannelall implements VentureCommand {
if (player.isOnline()) { if (player.isOnline()) {
player.getPlayer().sendMessage(LocalizedMessage.KICK_CHANNEL_ALL_PLAYER.toString()); player.getPlayer().sendMessage(LocalizedMessage.KICK_CHANNEL_ALL_PLAYER.toString());
player.getPlayer().sendMessage(LocalizedMessage.MUST_LISTEN_ONE_CHANNEL.toString()); player.getPlayer().sendMessage(LocalizedMessage.MUST_LISTEN_ONE_CHANNEL.toString());
player.getPlayer().sendMessage(LocalizedMessage.SET_CHANNEL.toString() player.getPlayer()
.replace("{channel_color}", ChatColor.valueOf(ChatChannel.getDefaultColor().toUpperCase()) + "") .sendMessage(LocalizedMessage.SET_CHANNEL.toString().replace("{channel_color}", ChatColor.valueOf(ChatChannel.getDefaultColor().toUpperCase()) + "")
.replace("{channel_name}", ChatChannel.getDefaultChannel().getName())); .replace("{channel_name}", ChatChannel.getDefaultChannel().getName()));
} else { } else {
player.setModified(true); player.setModified(true);
} }
return; return true;
} }
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString()); 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.Bukkit;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; 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.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer; import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.channel.ChatChannel; import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage; import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Leave implements VentureCommand { public class Leave extends Command {
public Leave() {
super("leave");
}
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public boolean execute(CommandSender sender, String command, String[] args) {
if (!(sender instanceof Player)) { if (!(sender instanceof Player)) {
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString()); Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return; return true;
} }
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender); MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
if (args.length > 0) { if (args.length > 0) {
ChatChannel channel = ChatChannel.getChannel(args[0]); ChatChannel channel = ChatChannel.getChannel(args[0]);
if (channel == null) { if (channel == null) {
mcp.getPlayer().sendMessage(LocalizedMessage.INVALID_CHANNEL.toString() mcp.getPlayer().sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[0]));
.replace("{args}", args[0])); return true;
return;
} }
mcp.removeListening(channel.getName()); mcp.removeListening(channel.getName());
mcp.getPlayer().sendMessage(LocalizedMessage.LEAVE_CHANNEL.toString() mcp.getPlayer().sendMessage(LocalizedMessage.LEAVE_CHANNEL.toString().replace("{channel_color}", channel.getColor() + "").replace("{channel_name}", channel.getName()));
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName()));
boolean isThereABungeeChannel = channel.getBungee(); boolean isThereABungeeChannel = channel.getBungee();
if (mcp.getListening().size() == 0) { if (mcp.getListening().size() == 0) {
mcp.addListening(ChatChannel.getDefaultChannel().getName()); mcp.addListening(ChatChannel.getDefaultChannel().getName());
@ -40,17 +40,15 @@ public class Leave implements VentureCommand {
isThereABungeeChannel = true; isThereABungeeChannel = true;
} }
mcp.getPlayer().sendMessage(LocalizedMessage.MUST_LISTEN_ONE_CHANNEL.toString()); mcp.getPlayer().sendMessage(LocalizedMessage.MUST_LISTEN_ONE_CHANNEL.toString());
mcp.getPlayer().sendMessage(LocalizedMessage.SET_CHANNEL.toString() mcp.getPlayer().sendMessage(LocalizedMessage.SET_CHANNEL.toString().replace("{channel_color}", ChatColor.valueOf(ChatChannel.getDefaultColor().toUpperCase()) + "")
.replace("{channel_color}", ChatColor.valueOf(ChatChannel.getDefaultColor().toUpperCase()) + "")
.replace("{channel_name}", ChatChannel.getDefaultChannel().getName())); .replace("{channel_name}", ChatChannel.getDefaultChannel().getName()));
} }
if (isThereABungeeChannel) { if (isThereABungeeChannel) {
MineverseChat.synchronize(mcp, true); MineverseChat.synchronize(mcp, true);
} }
return; return true;
} }
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString() mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/leave").replace("{args}", "[channel]"));
.replace("{command}", "/leave") return true;
.replace("{args}", "[channel]"));
} }
} }

View File

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

View File

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

View File

@ -1,34 +1,37 @@
package mineverse.Aust1n46.chat.command.chat; 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.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; 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 @Override
public void execute(CommandSender sender, String command, String[] args) { public boolean execute(CommandSender sender, String command, String[] args) {
if (!(sender instanceof Player)) { if (!(sender instanceof Player)) {
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString()); Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return; return true;
} }
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender); MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
if (mcp.getPlayer().hasPermission("venturechat.rangedspy")) { if (mcp.getPlayer().hasPermission("venturechat.rangedspy")) {
if (!mcp.getRangedSpy()) { if (!mcp.getRangedSpy()) {
mcp.setRangedSpy(true); mcp.setRangedSpy(true);
mcp.getPlayer().sendMessage(LocalizedMessage.RANGED_SPY_ON.toString()); mcp.getPlayer().sendMessage(LocalizedMessage.RANGED_SPY_ON.toString());
return; return true;
} }
mcp.setRangedSpy(false); mcp.setRangedSpy(false);
mcp.getPlayer().sendMessage(LocalizedMessage.RANGED_SPY_OFF.toString()); mcp.getPlayer().sendMessage(LocalizedMessage.RANGED_SPY_OFF.toString());
return; return true;
} }
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString()); 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.List;
import java.util.Map; 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.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable; import org.bukkit.scheduler.BukkitRunnable;
@ -24,27 +16,39 @@ import org.bukkit.scheduler.BukkitRunnable;
import com.comphenix.protocol.events.PacketContainer; import com.comphenix.protocol.events.PacketContainer;
import com.comphenix.protocol.wrappers.WrappedChatComponent; 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 MineverseChat plugin = MineverseChat.getInstance();
private PacketContainer emptyLinePacketContainer = Format.createPacketPlayOutChat("{\"extra\":[\" \"],\"text\":\"\"}"); 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 @Override
@SuppressWarnings({"unchecked", "rawtypes"}) @SuppressWarnings({ "unchecked", "rawtypes" })
public void execute(CommandSender sender, String command, String[] args) { public boolean execute(CommandSender sender, String command, String[] args) {
if (args.length == 0) { if (args.length == 0) {
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString() sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/removemessage").replace("{args}", "[hashcode] {channel}"));
.replace("{command}", "/removemessage") return true;
.replace("{args}", "[hashcode] {channel}"));
return;
} }
final int hash; final int hash;
try { try {
hash = Integer.parseInt(args[0]); hash = Integer.parseInt(args[0]);
} catch (Exception e) { } catch (Exception e) {
sender.sendMessage(LocalizedMessage.INVALID_HASH.toString()); 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) { if (args.length > 1 && ChatChannel.isChannel(args[1]) && ChatChannel.getChannel(args[1]).getBungee() && sender instanceof Player) {
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream(); ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
@ -57,7 +61,7 @@ public class Removemessage implements VentureCommand {
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
return; return true;
} else { } else {
new BukkitRunnable() { new BukkitRunnable() {
public void run() { public void run() {
@ -71,7 +75,9 @@ public class Removemessage implements VentureCommand {
} }
for (ChatMessage message : messages) { for (ChatMessage message : messages) {
if (message.getHash() == hash) { 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.setComponent(removedComponent);
message.setHash(-1); message.setHash(-1);
playerPackets.add(Format.createPacketPlayOutChat(removedComponent)); playerPackets.add(Format.createPacketPlayOutChat(removedComponent));
@ -79,9 +85,12 @@ public class Removemessage implements VentureCommand {
continue; continue;
} }
if (message.getMessage().contains(ChatColor.stripColor(Format.FormatStringAll(plugin.getConfig().getString("guiicon"))))) { 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) { 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.setComponent(removedComponent);
message.setHash(-1); message.setHash(-1);
playerPackets.add(Format.createPacketPlayOutChat(removedComponent)); playerPackets.add(Format.createPacketPlayOutChat(removedComponent));
@ -108,6 +117,7 @@ public class Removemessage implements VentureCommand {
}.runTask(plugin); }.runTask(plugin);
} }
}.runTaskAsynchronously(plugin); }.runTaskAsynchronously(plugin);
return true;
} }
} }
@ -116,6 +126,8 @@ public class Removemessage implements VentureCommand {
} }
public WrappedChatComponent getMessageDeletedChatComponentAdmin(ChatMessage message) { 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; package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import mineverse.Aust1n46.chat.MineverseChat; import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI; import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer; import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.channel.ChatChannel; import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage; import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Setchannel implements VentureCommand { public class Setchannel extends Command {
public Setchannel() {
super("setchannel");
}
@Override @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 (sender.hasPermission("venturechat.setchannel")) {
if (args.length < 2) { if (args.length < 2) {
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString() sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/setchannel").replace("{args}", "[player] [channel]"));
.replace("{command}", "/setchannel") return true;
.replace("{args}", "[player] [channel]"));
return;
} }
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]); MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
if (player == null) { if (player == null) {
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString() sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
.replace("{args}", args[0])); return true;
return;
} }
ChatChannel channel = ChatChannel.getChannel(args[1]); ChatChannel channel = ChatChannel.getChannel(args[1]);
if (channel == null) { if (channel == null) {
sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString() sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[1]));
.replace("{args}", args[1])); return true;
return;
} }
if (channel.hasPermission()) { if (channel.hasPermission()) {
if (!player.isOnline()) { if (!player.isOnline()) {
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE_NO_PERMISSIONS_CHECK.toString()); sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE_NO_PERMISSIONS_CHECK.toString());
return; return true;
} }
if (!player.getPlayer().hasPermission(channel.getPermission())) { if (!player.getPlayer().hasPermission(channel.getPermission())) {
player.removeListening(channel.getName()); player.removeListening(channel.getName());
sender.sendMessage(LocalizedMessage.SET_CHANNEL_PLAYER_CHANNEL_NO_PERMISSION.toString() sender.sendMessage(LocalizedMessage.SET_CHANNEL_PLAYER_CHANNEL_NO_PERMISSION.toString().replace("{player}", player.getName())
.replace("{player}", player.getName()) .replace("{channel_color}", channel.getColor() + "").replace("{channel_name}", channel.getName()));
.replace("{channel_color}", channel.getColor() + "") return true;
.replace("{channel_name}", channel.getName()));
return;
} }
} }
player.addListening(channel.getName()); player.addListening(channel.getName());
player.setCurrentChannel(channel); player.setCurrentChannel(channel);
sender.sendMessage(LocalizedMessage.SET_CHANNEL_SENDER.toString() sender.sendMessage(LocalizedMessage.SET_CHANNEL_SENDER.toString().replace("{player}", player.getName()).replace("{channel_color}", channel.getColor() + "")
.replace("{player}", player.getName())
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName())); .replace("{channel_name}", channel.getName()));
if (player.hasConversation()) { if (player.hasConversation()) {
for (MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) { for (MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
if (p.isSpy()) { if (p.isSpy()) {
p.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION_SPY.toString() p.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION_SPY.toString().replace("{player_sender}", player.getName())
.replace("{player_sender}", player.getName())
.replace("{player_receiver}", MineverseChatAPI.getMineverseChatPlayer(player.getConversation()).getName())); .replace("{player_receiver}", MineverseChatAPI.getMineverseChatPlayer(player.getConversation()).getName()));
} }
} }
if (player.isOnline()) if (player.isOnline())
player.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION.toString() player.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION.toString().replace("{player_receiver}",
.replace("{player_receiver}", MineverseChatAPI.getMineverseChatPlayer(player.getConversation()).getName())); MineverseChatAPI.getMineverseChatPlayer(player.getConversation()).getName()));
else else
player.setModified(true); player.setModified(true);
player.setConversation(null); player.setConversation(null);
} }
if (player.isOnline()) if (player.isOnline())
player.getPlayer().sendMessage(LocalizedMessage.SET_CHANNEL.toString() player.getPlayer()
.replace("{channel_color}", channel.getColor() + "") .sendMessage(LocalizedMessage.SET_CHANNEL.toString().replace("{channel_color}", channel.getColor() + "").replace("{channel_name}", channel.getName()));
.replace("{channel_name}", channel.getName()));
else { else {
player.setModified(true); player.setModified(true);
} }
if (channel.getBungee()) { if (channel.getBungee()) {
MineverseChat.synchronize(player, true); MineverseChat.synchronize(player, true);
} }
return; return true;
} }
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString()); sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
return true;
} }
} }

View File

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

View File

@ -1,7 +1,12 @@
package mineverse.Aust1n46.chat.command.chat; 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.MineverseChat;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.InternalMessage; import mineverse.Aust1n46.chat.localization.InternalMessage;
//import net.md_5.bungee.api.chat.ClickEvent; //import net.md_5.bungee.api.chat.ClickEvent;
//import net.md_5.bungee.api.chat.ComponentBuilder; //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.IChatBaseComponent;
//import net.minecraft.server.v1_15_R1.PacketPlayOutChat; //import net.minecraft.server.v1_15_R1.PacketPlayOutChat;
//import org.bukkit.ChatColor; public class Venturechat extends Command {
import org.bukkit.command.CommandSender;
//import org.bukkit.craftbukkit.v1_15_R1.entity.CraftPlayer;
//import org.bukkit.entity.Player;
public class Venturechat implements VentureCommand {
private MineverseChat plugin = MineverseChat.getInstance(); private MineverseChat plugin = MineverseChat.getInstance();
public Venturechat() {
super("venturechat");
}
@Override @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() sender.sendMessage(InternalMessage.VENTURECHAT_VERSION.toString()
.replace("{version}", plugin.getDescription().getVersion())); .replace("{version}", plugin.getDescription().getVersion()));
sender.sendMessage(InternalMessage.VENTURECHAT_AUTHOR.toString()); sender.sendMessage(InternalMessage.VENTURECHAT_AUTHOR.toString());
return true;
// if (sender instanceof Player && plugin.getConfig().getString("loglevel", "info").equals("debug")) { // if (sender instanceof Player && plugin.getConfig().getString("loglevel", "info").equals("debug")) {
// Player player = (Player) sender; // Player player = (Player) sender;
// String title = ChatColor.GOLD + " | " + ChatColor.BLUE.toString() + ChatColor.BOLD + "SpigotAPI chat message" + ChatColor.RESET + ChatColor.GOLD + " | "; // 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.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI; import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer; import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage; 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(); private MineverseChat plugin = MineverseChat.getInstance();
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public boolean execute(CommandSender sender, String command, String[] args) {
if (!(sender instanceof Player)) { if (!(sender instanceof Player)) {
plugin.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString()); plugin.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return; return true;
} }
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender); MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
if (args.length == 0) { if (args.length == 0) {
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS_IGNORE.toString()); mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS_IGNORE.toString());
return; return true;
} }
if (args[0].equalsIgnoreCase("list")) { if (args[0].equalsIgnoreCase("list")) {
String ignoreList = ""; String ignoreList = "";
@ -47,11 +50,11 @@ public class Ignore implements VentureCommand {
if (ignoreList.length() > 0) { if (ignoreList.length() > 0) {
mcp.getPlayer().sendMessage(ignoreList.substring(0, ignoreList.length() - 2)); mcp.getPlayer().sendMessage(ignoreList.substring(0, ignoreList.length() - 2));
} }
return; return true;
} }
if (mcp.getName().equalsIgnoreCase(args[0])) { if (mcp.getName().equalsIgnoreCase(args[0])) {
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORE_YOURSELF.toString()); mcp.getPlayer().sendMessage(LocalizedMessage.IGNORE_YOURSELF.toString());
return; return true;
} }
if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) { if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream(); ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
@ -66,36 +69,32 @@ public class Ignore implements VentureCommand {
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
return; return true;
} }
MineverseChatPlayer player = MineverseChatAPI.getOnlineMineverseChatPlayer(args[0]); MineverseChatPlayer player = MineverseChatAPI.getOnlineMineverseChatPlayer(args[0]);
if (player == null) { if (player == null) {
mcp.getPlayer().sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString() mcp.getPlayer().sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
.replace("{args}", args[0])); return true;
return;
} }
if (mcp.getIgnores().contains(player.getUUID())) { if (mcp.getIgnores().contains(player.getUUID())) {
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORE_PLAYER_OFF.toString() mcp.getPlayer().sendMessage(LocalizedMessage.IGNORE_PLAYER_OFF.toString().replace("{player}", player.getName()));
.replace("{player}", player.getName()));
mcp.removeIgnore(player.getUUID()); mcp.removeIgnore(player.getUUID());
MineverseChat.synchronize(mcp, true); MineverseChat.synchronize(mcp, true);
return; return true;
} }
if (player.getPlayer().hasPermission("venturechat.ignore.bypass")) { if (player.getPlayer().hasPermission("venturechat.ignore.bypass")) {
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORE_PLAYER_CANT.toString() mcp.getPlayer().sendMessage(LocalizedMessage.IGNORE_PLAYER_CANT.toString().replace("{player}", player.getName()));
.replace("{player}", player.getName())); return true;
return;
} }
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORE_PLAYER_ON.toString() mcp.getPlayer().sendMessage(LocalizedMessage.IGNORE_PLAYER_ON.toString().replace("{player}", player.getName()));
.replace("{player}", player.getName()));
mcp.addIgnore(player.getUUID()); mcp.addIgnore(player.getUUID());
MineverseChat.synchronize(mcp, true); MineverseChat.synchronize(mcp, true);
return; return true;
} }
@Override @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)) { if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
List<String> completions = new ArrayList<>(); List<String> completions = new ArrayList<>();
StringUtil.copyPartialMatches(args[args.length - 1], MineverseChatAPI.getNetworkPlayerNames(), completions); 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.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI; import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer; import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage; import mineverse.Aust1n46.chat.localization.LocalizedMessage;
import mineverse.Aust1n46.chat.utilities.Format; 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(); private MineverseChat plugin = MineverseChat.getInstance();
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public boolean execute(CommandSender sender, String command, String[] args) {
if (!(sender instanceof Player)) { if (!(sender instanceof Player)) {
plugin.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString()); plugin.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return; return true;
} }
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender); MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
if (args.length == 0) { if (args.length == 0) {
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString() mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/" + command).replace("{args}", "[player] [message]"));
.replace("{command}", "/" + command) return true;
.replace("{args}", "[player] [message]"));
return;
} }
if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) { if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
sendBungeeCordMessage(mcp, command, args); sendBungeeCordMessage(mcp, command, args);
return; return true;
} }
MineverseChatPlayer player = MineverseChatAPI.getOnlineMineverseChatPlayer(args[0]); MineverseChatPlayer player = MineverseChatAPI.getOnlineMineverseChatPlayer(args[0]);
if (player == null) { if (player == null) {
mcp.getPlayer().sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString() mcp.getPlayer().sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
.replace("{args}", args[0])); return true;
return;
} }
if (!mcp.getPlayer().canSee(player.getPlayer())) { if (!mcp.getPlayer().canSee(player.getPlayer())) {
mcp.getPlayer().sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString() mcp.getPlayer().sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
.replace("{args}", args[0])); return true;
return;
} }
if (player.getIgnores().contains(mcp.getUUID())) { if (player.getIgnores().contains(mcp.getUUID())) {
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORING_MESSAGE.toString() mcp.getPlayer().sendMessage(LocalizedMessage.IGNORING_MESSAGE.toString().replace("{player}", player.getName()));
.replace("{player}", player.getName())); return true;
return;
} }
if (!player.getMessageToggle()) { if (!player.getMessageToggle()) {
mcp.getPlayer().sendMessage(LocalizedMessage.BLOCKING_MESSAGE.toString() mcp.getPlayer().sendMessage(LocalizedMessage.BLOCKING_MESSAGE.toString().replace("{player}", player.getName()));
.replace("{player}", player.getName())); return true;
return;
} }
if (args.length >= 2) { if (args.length >= 2) {
@ -123,14 +120,12 @@ public class Message implements VentureCommand {
continue; continue;
} }
if (sp.isSpy()) { if (sp.isSpy()) {
sp.getPlayer().sendMessage(LocalizedMessage.ENTER_PRIVATE_CONVERSATION_SPY.toString() sp.getPlayer().sendMessage(LocalizedMessage.ENTER_PRIVATE_CONVERSATION_SPY.toString().replace("{player_sender}", mcp.getName())
.replace("{player_sender}", mcp.getName())
.replace("{player_receiver}", player.getName())); .replace("{player_receiver}", player.getName()));
} }
} }
} }
mcp.getPlayer().sendMessage(LocalizedMessage.ENTER_PRIVATE_CONVERSATION.toString() mcp.getPlayer().sendMessage(LocalizedMessage.ENTER_PRIVATE_CONVERSATION.toString().replace("{player_receiver}", player.getName()));
.replace("{player_receiver}", player.getName()));
} else { } else {
mcp.setConversation(null); mcp.setConversation(null);
if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) { if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) {
@ -139,22 +134,20 @@ public class Message implements VentureCommand {
continue; continue;
} }
if (sp.isSpy()) { if (sp.isSpy()) {
sp.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION_SPY.toString() sp.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION_SPY.toString().replace("{player_sender}", mcp.getName())
.replace("{player_sender}", mcp.getName())
.replace("{player_receiver}", player.getName())); .replace("{player_receiver}", player.getName()));
} }
} }
} }
mcp.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION.toString() mcp.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION.toString().replace("{player_receiver}", player.getName()));
.replace("{player_receiver}", player.getName()));
} }
} }
} }
return; return true;
} }
@Override @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)) { if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
List<String> completions = new ArrayList<>(); List<String> completions = new ArrayList<>();
StringUtil.copyPartialMatches(args[args.length - 1], MineverseChatAPI.getNetworkPlayerNames(), completions); 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) { private void sendBungeeCordMessage(MineverseChatPlayer mcp, String command, String[] args) {
if (args.length < 2) { if (args.length < 2) {
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString() mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/" + command).replace("{args}", "[player] [message]"));
.replace("{command}", "/" + command)
.replace("{args}", "[player] [message]"));
return; return;
} }
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream(); ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();

View File

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

View File

@ -1,31 +1,34 @@
package mineverse.Aust1n46.chat.command.message; package mineverse.Aust1n46.chat.command.message;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import mineverse.Aust1n46.chat.api.MineverseChatAPI; import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer; import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage; import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Notifications implements VentureCommand { public class Notifications extends Command {
public Notifications() {
super("notifications");
}
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public boolean execute(CommandSender sender, String command, String[] args) {
if (!(sender instanceof Player)) { if (!(sender instanceof Player)) {
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString()); Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return; return true;
} }
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender); MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
if (!mcp.hasNotifications()) { if (!mcp.hasNotifications()) {
mcp.setNotifications(true); mcp.setNotifications(true);
mcp.getPlayer().sendMessage(LocalizedMessage.NOTIFICATIONS_ON.toString()); mcp.getPlayer().sendMessage(LocalizedMessage.NOTIFICATIONS_ON.toString());
return; return true;
} }
mcp.setNotifications(false); mcp.setNotifications(false);
mcp.getPlayer().sendMessage(LocalizedMessage.NOTIFICATIONS_OFF.toString()); 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.ByteArrayOutputStream;
import java.io.DataOutputStream; import java.io.DataOutputStream;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@ -10,45 +11,46 @@ import me.clip.placeholderapi.PlaceholderAPI;
import mineverse.Aust1n46.chat.MineverseChat; import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI; import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer; import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage; import mineverse.Aust1n46.chat.localization.LocalizedMessage;
import mineverse.Aust1n46.chat.utilities.Format; import mineverse.Aust1n46.chat.utilities.Format;
public class Reply implements VentureCommand { public class Reply extends Command {
private MineverseChat plugin = MineverseChat.getInstance(); private MineverseChat plugin = MineverseChat.getInstance();
public Reply() {
super("reply");
}
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public boolean execute(CommandSender sender, String command, String[] args) {
if (!(sender instanceof Player)) { if (!(sender instanceof Player)) {
plugin.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString()); plugin.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return; return true;
} }
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender); MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
if (args.length > 0) { if (args.length > 0) {
if (mcp.hasReplyPlayer()) { if (mcp.hasReplyPlayer()) {
if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) { if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
sendBungeeCordReply(mcp, args); sendBungeeCordReply(mcp, args);
return; return true;
} }
MineverseChatPlayer player = MineverseChatAPI.getOnlineMineverseChatPlayer(mcp.getReplyPlayer()); MineverseChatPlayer player = MineverseChatAPI.getOnlineMineverseChatPlayer(mcp.getReplyPlayer());
if (player == null) { if (player == null) {
mcp.getPlayer().sendMessage(LocalizedMessage.NO_PLAYER_TO_REPLY_TO.toString()); mcp.getPlayer().sendMessage(LocalizedMessage.NO_PLAYER_TO_REPLY_TO.toString());
return; return true;
} }
if (!mcp.getPlayer().canSee(player.getPlayer())) { if (!mcp.getPlayer().canSee(player.getPlayer())) {
mcp.getPlayer().sendMessage(LocalizedMessage.NO_PLAYER_TO_REPLY_TO.toString()); mcp.getPlayer().sendMessage(LocalizedMessage.NO_PLAYER_TO_REPLY_TO.toString());
return; return true;
} }
if (player.getIgnores().contains(mcp.getUUID())) { if (player.getIgnores().contains(mcp.getUUID())) {
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORING_MESSAGE.toString() mcp.getPlayer().sendMessage(LocalizedMessage.IGNORING_MESSAGE.toString().replace("{player}", player.getName()));
.replace("{player}", player.getName())); return true;
return;
} }
if (!player.getMessageToggle()) { if (!player.getMessageToggle()) {
mcp.getPlayer().sendMessage(LocalizedMessage.BLOCKING_MESSAGE.toString() mcp.getPlayer().sendMessage(LocalizedMessage.BLOCKING_MESSAGE.toString().replace("{player}", player.getName()));
.replace("{player}", player.getName())); return true;
return;
} }
String msg = ""; String msg = "";
String echo = ""; String echo = "";
@ -70,7 +72,8 @@ public class Reply implements VentureCommand {
msg = Format.FormatString(msg); 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_", ""))); 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_", ""))); 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); Format.playMessageSound(player);
} }
player.setReplyPlayer(mcp.getUUID()); player.setReplyPlayer(mcp.getUUID());
return; return true;
} }
} }
mcp.getPlayer().sendMessage(LocalizedMessage.NO_PLAYER_TO_REPLY_TO.toString()); mcp.getPlayer().sendMessage(LocalizedMessage.NO_PLAYER_TO_REPLY_TO.toString());
return; return true;
} }
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString() mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/reply").replace("{args}", "[message]"));
.replace("{command}", "/reply") return true;
.replace("{args}", "[message]"));
} }
private void sendBungeeCordReply(MineverseChatPlayer mcp, String[] args) { private void sendBungeeCordReply(MineverseChatPlayer mcp, String[] args) {

View File

@ -1,22 +1,25 @@
package mineverse.Aust1n46.chat.command.message; package mineverse.Aust1n46.chat.command.message;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import mineverse.Aust1n46.chat.MineverseChat; import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI; import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer; import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage; import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Spy implements VentureCommand { public class Spy extends Command {
public Spy() {
super("spy");
}
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public boolean execute(CommandSender sender, String command, String[] args) {
if (!(sender instanceof Player)) { if (!(sender instanceof Player)) {
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString()); Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return; return true;
} }
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender); MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
if (mcp.getPlayer().hasPermission("venturechat.spy")) { if (mcp.getPlayer().hasPermission("venturechat.spy")) {
@ -24,14 +27,14 @@ public class Spy implements VentureCommand {
mcp.setSpy(true); mcp.setSpy(true);
mcp.getPlayer().sendMessage(LocalizedMessage.SPY_ON.toString()); mcp.getPlayer().sendMessage(LocalizedMessage.SPY_ON.toString());
MineverseChat.synchronize(mcp, true); MineverseChat.synchronize(mcp, true);
return; return true;
} }
mcp.setSpy(false); mcp.setSpy(false);
mcp.getPlayer().sendMessage(LocalizedMessage.SPY_OFF.toString()); mcp.getPlayer().sendMessage(LocalizedMessage.SPY_OFF.toString());
MineverseChat.synchronize(mcp, true); MineverseChat.synchronize(mcp, true);
return; return true;
} }
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString()); 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.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer; import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.channel.ChatChannel; import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage; import mineverse.Aust1n46.chat.localization.LocalizedMessage;
import mineverse.Aust1n46.chat.utilities.Format; import mineverse.Aust1n46.chat.utilities.Format;
public class Mute implements VentureCommand { public class Mute extends Command {
private static final List<String> COMMON_MUTE_TIMES = Collections.unmodifiableList(Arrays.asList(new String[]{"12h", "15m", "1d", "1h", "1m", "30s"})); 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 @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 (sender.hasPermission("venturechat.mute")) {
if (args.length < 2) { if (args.length < 2) {
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/mute") sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/mute").replace("{args}", "[channel] [player] {time} {reason}"));
.replace("{args}", "[channel] [player] {time} {reason}")); return true;
return;
} }
if (ChatChannel.isChannel(args[0])) { if (ChatChannel.isChannel(args[0])) {
ChatChannel channel = ChatChannel.getChannel(args[0]); ChatChannel channel = ChatChannel.getChannel(args[0]);
@ -46,7 +48,7 @@ public class Mute implements VentureCommand {
time = Format.parseTimeStringToMillis(timeString); time = Format.parseTimeStringToMillis(timeString);
if (time <= 0) { if (time <= 0) {
sender.sendMessage(LocalizedMessage.INVALID_TIME.toString().replace("{args}", timeString)); sender.sendMessage(LocalizedMessage.INVALID_TIME.toString().replace("{args}", timeString));
return; return true;
} }
} }
StringBuilder reasonBuilder = new StringBuilder(); StringBuilder reasonBuilder = new StringBuilder();
@ -57,107 +59,84 @@ public class Mute implements VentureCommand {
} }
if (channel.getBungee()) { if (channel.getBungee()) {
sendBungeeCordMute(sender, args[1], channel, time, reason); sendBungeeCordMute(sender, args[1], channel, time, reason);
return; return true;
} }
MineverseChatPlayer playerToMute = MineverseChatAPI.getMineverseChatPlayer(args[1]); MineverseChatPlayer playerToMute = MineverseChatAPI.getMineverseChatPlayer(args[1]);
if (playerToMute == null || (!playerToMute.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) { if (playerToMute == null || (!playerToMute.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) {
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[1])); sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[1]));
return; return true;
} }
if (playerToMute.isMuted(channel.getName())) { if (playerToMute.isMuted(channel.getName())) {
sender.sendMessage(LocalizedMessage.PLAYER_ALREADY_MUTED.toString() sender.sendMessage(LocalizedMessage.PLAYER_ALREADY_MUTED.toString().replace("{player}", playerToMute.getName())
.replace("{player}", playerToMute.getName()).replace("{channel_color}", channel.getColor()) .replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()));
.replace("{channel_name}", channel.getName())); return true;
return;
} }
if (time > 0) { if (time > 0) {
if (reason.isEmpty()) { if (reason.isEmpty()) {
playerToMute.addMute(channel.getName(), datetime + time); playerToMute.addMute(channel.getName(), datetime + time);
String timeString = Format.parseTimeStringFromMillis(time); String timeString = Format.parseTimeStringFromMillis(time);
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER_TIME.toString() sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER_TIME.toString().replace("{player}", playerToMute.getName())
.replace("{player}", playerToMute.getName()) .replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()).replace("{time}", timeString));
.replace("{channel_color}", channel.getColor())
.replace("{channel_name}", channel.getName())
.replace("{time}", timeString));
if (playerToMute.isOnline()) { if (playerToMute.isOnline()) {
playerToMute.getPlayer() playerToMute.getPlayer().sendMessage(LocalizedMessage.MUTE_PLAYER_PLAYER_TIME.toString().replace("{channel_color}", channel.getColor())
.sendMessage(LocalizedMessage.MUTE_PLAYER_PLAYER_TIME.toString() .replace("{channel_name}", channel.getName()).replace("{time}", timeString));
.replace("{channel_color}", channel.getColor())
.replace("{channel_name}", channel.getName())
.replace("{time}", timeString));
} else { } else {
playerToMute.setModified(true); playerToMute.setModified(true);
} }
return; return true;
} else { } else {
playerToMute.addMute(channel.getName(), datetime + time, reason); playerToMute.addMute(channel.getName(), datetime + time, reason);
String timeString = Format.parseTimeStringFromMillis(time); String timeString = Format.parseTimeStringFromMillis(time);
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER_TIME_REASON.toString() sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER_TIME_REASON.toString().replace("{player}", playerToMute.getName())
.replace("{player}", playerToMute.getName()) .replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()).replace("{time}", timeString)
.replace("{channel_color}", channel.getColor())
.replace("{channel_name}", channel.getName())
.replace("{time}", timeString)
.replace("{reason}", reason)); .replace("{reason}", reason));
if (playerToMute.isOnline()) { if (playerToMute.isOnline()) {
playerToMute.getPlayer() playerToMute.getPlayer().sendMessage(LocalizedMessage.MUTE_PLAYER_PLAYER_TIME_REASON.toString().replace("{channel_color}", channel.getColor())
.sendMessage(LocalizedMessage.MUTE_PLAYER_PLAYER_TIME_REASON.toString() .replace("{channel_name}", channel.getName()).replace("{time}", timeString).replace("{reason}", reason));
.replace("{channel_color}", channel.getColor())
.replace("{channel_name}", channel.getName())
.replace("{time}", timeString)
.replace("{reason}", reason));
} else { } else {
playerToMute.setModified(true); playerToMute.setModified(true);
} }
return; return true;
} }
} else { } else {
if (reason.isEmpty()) { if (reason.isEmpty()) {
playerToMute.addMute(channel.getName()); playerToMute.addMute(channel.getName());
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER.toString() sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER.toString().replace("{player}", playerToMute.getName())
.replace("{player}", playerToMute.getName()).replace("{channel_color}", channel.getColor()) .replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()));
.replace("{channel_name}", channel.getName()));
if (playerToMute.isOnline()) { if (playerToMute.isOnline()) {
playerToMute.getPlayer() playerToMute.getPlayer().sendMessage(
.sendMessage(LocalizedMessage.MUTE_PLAYER_PLAYER.toString() LocalizedMessage.MUTE_PLAYER_PLAYER.toString().replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()));
.replace("{channel_color}", channel.getColor())
.replace("{channel_name}", channel.getName()));
} else { } else {
playerToMute.setModified(true); playerToMute.setModified(true);
} }
return; return true;
} else { } else {
playerToMute.addMute(channel.getName(), reason); playerToMute.addMute(channel.getName(), reason);
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER_REASON.toString() sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER_REASON.toString().replace("{player}", playerToMute.getName())
.replace("{player}", playerToMute.getName()).replace("{channel_color}", channel.getColor()) .replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()).replace("{reason}", reason));
.replace("{channel_name}", channel.getName())
.replace("{reason}", reason));
if (playerToMute.isOnline()) { if (playerToMute.isOnline()) {
playerToMute.getPlayer() playerToMute.getPlayer().sendMessage(LocalizedMessage.MUTE_PLAYER_PLAYER_REASON.toString().replace("{channel_color}", channel.getColor())
.sendMessage(LocalizedMessage.MUTE_PLAYER_PLAYER_REASON.toString() .replace("{channel_name}", channel.getName()).replace("{reason}", reason));
.replace("{channel_color}", channel.getColor())
.replace("{channel_name}", channel.getName())
.replace("{reason}", reason));
} else { } else {
playerToMute.setModified(true); playerToMute.setModified(true);
} }
return; return true;
} }
} }
} }
sender.sendMessage(LocalizedMessage.CHANNEL_CANNOT_MUTE.toString() sender.sendMessage(LocalizedMessage.CHANNEL_CANNOT_MUTE.toString().replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()));
.replace("{channel_color}", channel.getColor()) return true;
.replace("{channel_name}", channel.getName()));
return;
} }
sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[0])); sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[0]));
return; return true;
} }
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString()); sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
return true;
} }
@Override @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<>(); List<String> completions = new ArrayList<>();
if (args.length == 1) { if (args.length == 1) {
StringUtil.copyPartialMatches(args[0], ChatChannel.getChatChannels().stream().map(ChatChannel::getName).collect(Collectors.toList()), completions); 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); Collections.sort(completions);
return 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); Collections.sort(completions);
return completions; return completions;
} }

View File

@ -1,31 +1,31 @@
package mineverse.Aust1n46.chat.command.mute; package mineverse.Aust1n46.chat.command.mute;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import mineverse.Aust1n46.chat.MineverseChat; import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI; import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer; import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.channel.ChatChannel; import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage; import mineverse.Aust1n46.chat.localization.LocalizedMessage;
import mineverse.Aust1n46.chat.utilities.Format; import mineverse.Aust1n46.chat.utilities.Format;
public class Muteall implements VentureCommand { public class Muteall extends Command {
public Muteall() {
super("muteall");
}
@Override @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 (sender.hasPermission("venturechat.mute")) {
if (args.length < 1) { if (args.length < 1) {
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString() sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/muteall").replace("{args}", "[player] {reason}"));
.replace("{command}", "/muteall") return true;
.replace("{args}", "[player] {reason}"));
return;
} }
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]); MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
if (player == null || (!player.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) { if (player == null || (!player.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) {
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString() sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
.replace("{args}", args[0])); return true;
return;
} }
String reason = ""; String reason = "";
if (args.length > 1) { if (args.length > 1) {
@ -48,13 +48,12 @@ public class Muteall implements VentureCommand {
if (bungee) { if (bungee) {
MineverseChat.synchronize(player, true); MineverseChat.synchronize(player, true);
} }
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_ALL_SENDER.toString() sender.sendMessage(LocalizedMessage.MUTE_PLAYER_ALL_SENDER.toString().replace("{player}", player.getName()));
.replace("{player}", player.getName()));
if (player.isOnline()) { if (player.isOnline()) {
player.getPlayer().sendMessage(LocalizedMessage.MUTE_PLAYER_ALL_PLAYER.toString()); player.getPlayer().sendMessage(LocalizedMessage.MUTE_PLAYER_ALL_PLAYER.toString());
} else } else
player.setModified(true); player.setModified(true);
return; return true;
} else { } else {
boolean bungee = false; boolean bungee = false;
for (ChatChannel channel : ChatChannel.getChatChannels()) { for (ChatChannel channel : ChatChannel.getChatChannels()) {
@ -68,19 +67,16 @@ public class Muteall implements VentureCommand {
if (bungee) { if (bungee) {
MineverseChat.synchronize(player, true); MineverseChat.synchronize(player, true);
} }
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_ALL_SENDER_REASON.toString() sender.sendMessage(LocalizedMessage.MUTE_PLAYER_ALL_SENDER_REASON.toString().replace("{player}", player.getName()).replace("{reason}", reason));
.replace("{player}", player.getName())
.replace("{reason}", reason));
if (player.isOnline()) { if (player.isOnline()) {
player.getPlayer().sendMessage(LocalizedMessage.MUTE_PLAYER_ALL_PLAYER_REASON.toString() player.getPlayer().sendMessage(LocalizedMessage.MUTE_PLAYER_ALL_PLAYER_REASON.toString().replace("{reason}", reason));
.replace("{reason}", reason));
} else } else
player.setModified(true); player.setModified(true);
return; return true;
} }
} else { } else {
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString()); 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.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer; import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.channel.ChatChannel; import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage; import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Unmute implements VentureCommand { public class Unmute extends Command {
public Unmute() {
super("unmute");
}
@Override @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 (sender.hasPermission("venturechat.mute")) {
if (args.length < 2) { if (args.length < 2) {
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/unmute") sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/unmute").replace("{args}", "[channel] [player]"));
.replace("{args}", "[channel] [player]")); return true;
return;
} }
if (ChatChannel.isChannel(args[0])) { if (ChatChannel.isChannel(args[0])) {
ChatChannel channel = ChatChannel.getChannel(args[0]); ChatChannel channel = ChatChannel.getChannel(args[0]);
if (channel.getBungee()) { if (channel.getBungee()) {
sendBungeeCordUnmute(sender, args[1], channel); sendBungeeCordUnmute(sender, args[1], channel);
return; return true;
} }
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[1]); MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[1]);
if (player == null || (!player.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) { if (player == null || (!player.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) {
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[1])); sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[1]));
return; return true;
} }
if (!player.isMuted(channel.getName())) { if (!player.isMuted(channel.getName())) {
sender.sendMessage(LocalizedMessage.PLAYER_NOT_MUTED.toString() sender.sendMessage(LocalizedMessage.PLAYER_NOT_MUTED.toString().replace("{player}", player.getName()).replace("{channel_color}", channel.getColor())
.replace("{player}", player.getName()).replace("{channel_color}", channel.getColor())
.replace("{channel_name}", channel.getName())); .replace("{channel_name}", channel.getName()));
return; return true;
} }
player.removeMute(channel.getName()); player.removeMute(channel.getName());
sender.sendMessage(LocalizedMessage.UNMUTE_PLAYER_SENDER.toString() sender.sendMessage(LocalizedMessage.UNMUTE_PLAYER_SENDER.toString().replace("{player}", player.getName()).replace("{channel_color}", channel.getColor())
.replace("{player}", player.getName()).replace("{channel_color}", channel.getColor())
.replace("{channel_name}", channel.getName())); .replace("{channel_name}", channel.getName()));
if (player.isOnline()) { if (player.isOnline()) {
player.getPlayer().sendMessage(LocalizedMessage.UNMUTE_PLAYER_PLAYER.toString() player.getPlayer().sendMessage(LocalizedMessage.UNMUTE_PLAYER_PLAYER.toString().replace("{player}", player.getName())
.replace("{player}", player.getName()).replace("{channel_color}", channel.getColor()) .replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()));
.replace("{channel_name}", channel.getName()));
} else { } else {
player.setModified(true); player.setModified(true);
} }
return; return true;
} }
sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[0])); sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[0]));
return; return true;
} else { } else {
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString()); sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
return; return true;
} }
} }
@Override @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<>(); List<String> completions = new ArrayList<>();
if (args.length == 1) { if (args.length == 1) {
StringUtil.copyPartialMatches(args[0], ChatChannel.getChatChannels().stream().map(ChatChannel::getName).collect(Collectors.toList()), completions); 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); Collections.sort(completions);
return 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); Collections.sort(completions);
return completions; return completions;
} }

View File

@ -1,30 +1,30 @@
package mineverse.Aust1n46.chat.command.mute; package mineverse.Aust1n46.chat.command.mute;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import mineverse.Aust1n46.chat.MineverseChat; import mineverse.Aust1n46.chat.MineverseChat;
import mineverse.Aust1n46.chat.api.MineverseChatAPI; import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer; import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.channel.ChatChannel; import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.VentureCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage; import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Unmuteall implements VentureCommand { public class Unmuteall extends Command {
public Unmuteall() {
super("unmuteall");
}
@Override @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 (sender.hasPermission("venturechat.mute")) {
if (args.length < 1) { if (args.length < 1) {
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString() sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/unmuteall").replace("{args}", "[player]"));
.replace("{command}", "/unmuteall") return true;
.replace("{args}", "[player]"));
return;
} }
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]); MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
if (player == null || (!player.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) { if (player == null || (!player.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) {
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString() sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
.replace("{args}", args[0])); return true;
return;
} }
boolean bungee = false; boolean bungee = false;
for (ChatChannel channel : ChatChannel.getChatChannels()) { for (ChatChannel channel : ChatChannel.getChatChannels()) {
@ -36,16 +36,15 @@ public class Unmuteall implements VentureCommand {
if (bungee) { if (bungee) {
MineverseChat.synchronize(player, true); MineverseChat.synchronize(player, true);
} }
sender.sendMessage(LocalizedMessage.UNMUTE_PLAYER_ALL_SENDER.toString() sender.sendMessage(LocalizedMessage.UNMUTE_PLAYER_ALL_SENDER.toString().replace("{player}", player.getName()));
.replace("{player}", player.getName()));
if (player.isOnline()) { if (player.isOnline()) {
player.getPlayer().sendMessage(LocalizedMessage.UNMUTE_PLAYER_ALL_PLAYER.toString()); player.getPlayer().sendMessage(LocalizedMessage.UNMUTE_PLAYER_ALL_PLAYER.toString());
} else } else
player.setModified(true); player.setModified(true);
return; return true;
} else { } else {
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString()); 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 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.Bukkit;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.Material; 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.configuration.ConfigurationSection;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
@ -31,33 +17,39 @@ import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.SkullMeta; import org.bukkit.inventory.meta.SkullMeta;
import me.clip.placeholderapi.PlaceholderAPI; 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 public class CommandListener implements Listener {
//in the custom commands such as aliases.
public class CommandListener implements CommandExecutor, Listener {
private MineverseChat plugin = MineverseChat.getInstance(); private MineverseChat plugin = MineverseChat.getInstance();
@EventHandler @EventHandler
public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) throws FileNotFoundException { 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")); Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - Event.getPlayer() returned null in PlayerCommandPreprocessEvent"));
return; return;
} }
ConfigurationSection cs = plugin.getConfig().getConfigurationSection("commandspy"); ConfigurationSection cs = plugin.getConfig().getConfigurationSection("commandspy");
Boolean wec = cs.getBoolean("worldeditcommands", true); Boolean wec = cs.getBoolean("worldeditcommands", true);
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer(event.getPlayer()); MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer(event.getPlayer());
if(!mcp.getPlayer().hasPermission("venturechat.commandspy.override")) { if (!mcp.getPlayer().hasPermission("venturechat.commandspy.override")) {
for(MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) { for (MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
if(p.hasCommandSpy()) { if (p.hasCommandSpy()) {
if(wec) { if (wec) {
p.getPlayer().sendMessage(Format.FormatStringAll(cs.getString("format").replace("{player}", mcp.getName()).replace("{command}", event.getMessage()))); p.getPlayer().sendMessage(Format.FormatStringAll(cs.getString("format").replace("{player}", mcp.getName()).replace("{command}", event.getMessage())));
} } else {
else { if (!(event.getMessage().toLowerCase().startsWith("//"))) {
if(!(event.getMessage().toLowerCase().startsWith("//"))) {
p.getPlayer().sendMessage(Format.FormatStringAll(cs.getString("format").replace("{player}", mcp.getName()).replace("{command}", event.getMessage()))); p.getPlayer().sendMessage(Format.FormatStringAll(cs.getString("format").replace("{player}", mcp.getName()).replace("{command}", event.getMessage())));
} } else {
else { if (!(event.getMessage().toLowerCase().startsWith("//"))) {
if(!(event.getMessage().toLowerCase().startsWith("//"))) {
p.getPlayer().sendMessage(ChatColor.GOLD + mcp.getName() + ": " + event.getMessage()); p.getPlayer().sendMessage(ChatColor.GOLD + mcp.getName() + ": " + event.getMessage());
} }
} }
@ -67,170 +59,87 @@ public class CommandListener implements CommandExecutor, Listener {
} }
String[] blocked = event.getMessage().split(" "); String[] blocked = event.getMessage().split(" ");
if(mcp.getBlockedCommands().contains(blocked[0])) { if (mcp.getBlockedCommands().contains(blocked[0])) {
mcp.getPlayer().sendMessage(LocalizedMessage.BLOCKED_COMMAND.toString() mcp.getPlayer().sendMessage(LocalizedMessage.BLOCKED_COMMAND.toString().replace("{command}", event.getMessage()));
.replace("{command}", event.getMessage()));
event.setCancelled(true); event.setCancelled(true);
return; return;
} }
String message = event.getMessage(); String message = event.getMessage();
if(Database.isEnabled()) { if (Database.isEnabled()) {
Database.writeVentureChat(mcp.getUUID().toString(), mcp.getName(), "Local", "Command_Component", event.getMessage().replace("'", "''"), "Command"); Database.writeVentureChat(mcp.getUUID().toString(), mcp.getName(), "Local", "Command_Component", event.getMessage().replace("'", "''"), "Command");
} }
for(Alias a : Alias.getAliases()) { for (Alias a : Alias.getAliases()) {
if(message.toLowerCase().substring(1).split(" ")[0].equals(a.getName().toLowerCase())) { if (message.toLowerCase().substring(1).split(" ")[0].equals(a.getName().toLowerCase())) {
for(String s : a.getComponents()) { for (String s : a.getComponents()) {
if(!mcp.getPlayer().hasPermission(a.getPermission()) && a.hasPermission()) { if (!mcp.getPlayer().hasPermission(a.getPermission()) && a.hasPermission()) {
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this alias."); mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this alias.");
event.setCancelled(true); event.setCancelled(true);
return; return;
} }
int num = 1; 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; 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[] args = message.substring(a.getName().length() + 1 + num).split(" ");
String send = ""; String send = "";
if(args.length - arg < a.getArguments()) { if (args.length - arg < a.getArguments()) {
String keyword = "arguments."; 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); mcp.getPlayer().sendMessage(ChatColor.RED + "Invalid arguments for this alias, enter at least " + a.getArguments() + " " + keyword);
event.setCancelled(true); event.setCancelled(true);
return; return;
} }
for(int b = 0; b < args.length; b++) { for (int b = 0; b < args.length; b++) {
send += " " + args[b]; send += " " + args[b];
} }
if(send.length() > 0) send = send.substring(1); if (send.length() > 0)
send = send.substring(1);
s = Format.FormatStringAll(s); s = Format.FormatStringAll(s);
if(mcp.getPlayer().hasPermission("venturechat.color.legacy")) { if (mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
send = Format.FormatStringLegacyColor(send); send = Format.FormatStringLegacyColor(send);
} }
if(mcp.getPlayer().hasPermission("venturechat.color")) { if (mcp.getPlayer().hasPermission("venturechat.color")) {
send = Format.FormatStringColor(send); send = Format.FormatStringColor(send);
} }
if(mcp.getPlayer().hasPermission("venturechat.format")) { if (mcp.getPlayer().hasPermission("venturechat.format")) {
send = Format.FormatString(send); send = Format.FormatString(send);
} }
if(s.startsWith("Command:")) { if (s.startsWith("Command:")) {
mcp.getPlayer().chat(s.substring(9).replace("$", send)); mcp.getPlayer().chat(s.substring(9).replace("$", send));
event.setCancelled(true); event.setCancelled(true);
} }
if(s.startsWith("Message:")) { if (s.startsWith("Message:")) {
mcp.getPlayer().sendMessage(s.substring(9).replace("$", send)); mcp.getPlayer().sendMessage(s.substring(9).replace("$", send));
event.setCancelled(true); event.setCancelled(true);
} }
if(s.startsWith("Broadcast:")) { if (s.startsWith("Broadcast:")) {
Format.broadcastToServer(s.substring(11).replace("$", send)); Format.broadcastToServer(s.substring(11).replace("$", send));
event.setCancelled(true); 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 @EventHandler
public void onServerCommand(ServerCommandEvent event) { public void onServerCommand(ServerCommandEvent event) {
if (Database.isEnabled()) { 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") @SuppressWarnings("deprecation")
@EventHandler(priority = EventPriority.LOW) @EventHandler(priority = EventPriority.LOW)
public void InventoryClick(InventoryClickEvent e) { public void InventoryClick(InventoryClickEvent e) {
ItemStack item = e.getCurrentItem(); ItemStack item = e.getCurrentItem();
if(item == null || !e.getView().getTitle().contains("VentureChat")) { if (item == null || !e.getView().getTitle().contains("VentureChat")) {
return; return;
} }
e.setCancelled(true); e.setCancelled(true);
@ -241,26 +150,24 @@ public class CommandListener implements CommandExecutor, Listener {
SkullMeta skullMeta = (SkullMeta) skull.getItemMeta(); SkullMeta skullMeta = (SkullMeta) skull.getItemMeta();
ChatChannel channel = ChatChannel.getChannel(ChatColor.stripColor(skullMeta.getLore().get(0)).replace("Channel: ", "")); ChatChannel channel = ChatChannel.getChannel(ChatColor.stripColor(skullMeta.getLore().get(0)).replace("Channel: ", ""));
int hash = Integer.parseInt(ChatColor.stripColor(skullMeta.getLore().get(1).replace("Hash: ", ""))); int hash = Integer.parseInt(ChatColor.stripColor(skullMeta.getLore().get(1).replace("Hash: ", "")));
if(VersionHandler.is1_7()) { if (VersionHandler.is1_7()) {
if(item.getType() == Material.BEDROCK) { if (item.getType() == Material.BEDROCK) {
mcp.getPlayer().closeInventory();
}
} else {
if (item.getType() == Material.BARRIER) {
mcp.getPlayer().closeInventory(); mcp.getPlayer().closeInventory();
} }
} }
else { for (GuiSlot g : GuiSlot.getGuiSlots()) {
if(item.getType() == Material.BARRIER) { if (g.getIcon() == item.getType() && g.getDurability() == item.getDurability() && g.getSlot() == e.getSlot()) {
mcp.getPlayer().closeInventory();
}
}
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 + ""); String command = g.getCommand().replace("{channel}", channel.getName()).replace("{hash}", hash + "");
if(target != null) { if (target != null) {
command = command.replace("{player_name}", target.getName()); command = command.replace("{player_name}", target.getName());
if(target.isOnline()) { if (target.isOnline()) {
command = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(target.getPlayer(), command)); command = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(target.getPlayer(), command));
} }
} } else {
else {
command = command.replace("{player_name}", "Discord_Message"); command = command.replace("{player_name}", "Discord_Message");
} }
mcp.getPlayer().chat(command); mcp.getPlayer().chat(command);