Convert all commands to new command API

This commit is contained in:
Aust1n46 2022-04-03 15:43:02 -05:00
parent 6f830190a6
commit ccccf02d5e
44 changed files with 2223 additions and 2219 deletions

View File

@ -0,0 +1,5 @@
eclipse.preferences.version=1
encoding//src/main/java=UTF-8
encoding//src/main/resources=UTF-8
encoding//src/test/java=UTF-8
encoding/<project>=UTF-8

View File

@ -0,0 +1,4 @@
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1

View File

@ -1,23 +1,18 @@
package venture.Aust1n46.chat.controllers; package venture.Aust1n46.chat.controllers;
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.CommandExecutor;
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.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 com.google.inject.Inject; import com.google.inject.Inject;
import com.google.inject.Singleton; import com.google.inject.Singleton;
@ -25,6 +20,7 @@ import com.google.inject.Singleton;
import venture.Aust1n46.chat.controllers.commands.Broadcast; import venture.Aust1n46.chat.controllers.commands.Broadcast;
import venture.Aust1n46.chat.controllers.commands.BungeeToggle; import venture.Aust1n46.chat.controllers.commands.BungeeToggle;
import venture.Aust1n46.chat.controllers.commands.Channel; import venture.Aust1n46.chat.controllers.commands.Channel;
import venture.Aust1n46.chat.controllers.commands.ChannelAlias;
import venture.Aust1n46.chat.controllers.commands.Channelinfo; import venture.Aust1n46.chat.controllers.commands.Channelinfo;
import venture.Aust1n46.chat.controllers.commands.Chatinfo; import venture.Aust1n46.chat.controllers.commands.Chatinfo;
import venture.Aust1n46.chat.controllers.commands.Chatreload; import venture.Aust1n46.chat.controllers.commands.Chatreload;
@ -37,13 +33,13 @@ import venture.Aust1n46.chat.controllers.commands.Edit;
import venture.Aust1n46.chat.controllers.commands.Filter; import venture.Aust1n46.chat.controllers.commands.Filter;
import venture.Aust1n46.chat.controllers.commands.Force; import venture.Aust1n46.chat.controllers.commands.Force;
import venture.Aust1n46.chat.controllers.commands.Forceall; import venture.Aust1n46.chat.controllers.commands.Forceall;
import venture.Aust1n46.chat.controllers.commands.IgnoreCommandExecutor; import venture.Aust1n46.chat.controllers.commands.Ignore;
import venture.Aust1n46.chat.controllers.commands.Kickchannel; import venture.Aust1n46.chat.controllers.commands.Kickchannel;
import venture.Aust1n46.chat.controllers.commands.Kickchannelall; import venture.Aust1n46.chat.controllers.commands.Kickchannelall;
import venture.Aust1n46.chat.controllers.commands.Leave; import venture.Aust1n46.chat.controllers.commands.Leave;
import venture.Aust1n46.chat.controllers.commands.Listen; import venture.Aust1n46.chat.controllers.commands.Listen;
import venture.Aust1n46.chat.controllers.commands.Me; import venture.Aust1n46.chat.controllers.commands.Me;
import venture.Aust1n46.chat.controllers.commands.MessageCommandExecutor; import venture.Aust1n46.chat.controllers.commands.Message;
import venture.Aust1n46.chat.controllers.commands.MessageToggle; import venture.Aust1n46.chat.controllers.commands.MessageToggle;
import venture.Aust1n46.chat.controllers.commands.Mute; import venture.Aust1n46.chat.controllers.commands.Mute;
import venture.Aust1n46.chat.controllers.commands.Muteall; import venture.Aust1n46.chat.controllers.commands.Muteall;
@ -60,24 +56,18 @@ import venture.Aust1n46.chat.controllers.commands.Unmuteall;
import venture.Aust1n46.chat.controllers.commands.VentureChatGui; import venture.Aust1n46.chat.controllers.commands.VentureChatGui;
import venture.Aust1n46.chat.controllers.commands.Venturechat; import venture.Aust1n46.chat.controllers.commands.Venturechat;
import venture.Aust1n46.chat.initiators.application.VentureChat; import venture.Aust1n46.chat.initiators.application.VentureChat;
import venture.Aust1n46.chat.model.VentureCommand; import venture.Aust1n46.chat.model.ChatChannel;
import venture.Aust1n46.chat.service.ConfigService;
import venture.Aust1n46.chat.utilities.FormatUtils; import venture.Aust1n46.chat.utilities.FormatUtils;
/**
* Class that initializes and executes the plugin's commands.
*/
@Singleton @Singleton
public class CommandController implements TabExecutor { public class CommandController {
private static final String COMMAND_CONFIG_VERSION = "3.3.0"; private static final String COMMAND_CONFIG_VERSION = "3.3.0";
private Map<String, VentureCommand> commandsOld = new HashMap<>();
@Inject @Inject
private VentureChat plugin; private VentureChat plugin;
@Inject @Inject
private MessageCommandExecutor messageCommandExecutor; private ConfigService configService;
@Inject
private IgnoreCommandExecutor ignoreCommandExecutor;
@Inject @Inject
private Broadcast broadcast; private Broadcast broadcast;
@ -149,23 +139,16 @@ public class CommandController implements TabExecutor {
private Unmute unmute; private Unmute unmute;
@Inject @Inject
private Unmuteall unmuteall; private Unmuteall unmuteall;
@Inject
private Constructor<PluginCommand> pluginCommandConstructor; private Message message;
@Inject
private Ignore ignore;
@Inject
private ChannelAlias channelAlias;
private final Map<String, Command> commands = new HashMap<>(); private final Map<String, Command> commands = new HashMap<>();
private Map<String, Command> knownCommands; private Map<String, Command> knownCommands;
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] parameters) {
commandsOld.get(command.getName()).execute(sender, command.getName(), parameters);
return true;
}
@Override
public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
return commandsOld.get(command.getName()).onTabComplete(sender, command, label, args);
}
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Inject @Inject
public void postConstruct() { public void postConstruct() {
@ -183,7 +166,6 @@ public class CommandController implements TabExecutor {
plugin.saveResource("commands.yml", true); plugin.saveResource("commands.yml", true);
commandsFileConfiguration = YamlConfiguration.loadConfiguration(commandsFile); commandsFileConfiguration = YamlConfiguration.loadConfiguration(commandsFile);
} }
try { try {
knownCommands = server.getCommandMap().getKnownCommands(); // Paper :) knownCommands = server.getCommandMap().getKnownCommands(); // Paper :)
} }
@ -202,85 +184,77 @@ public class CommandController implements TabExecutor {
e.printStackTrace(); e.printStackTrace();
} }
} }
try { commands.put("broadcast", broadcast);
pluginCommandConstructor = PluginCommand.class.getDeclaredConstructor(String.class, Plugin.class); commands.put("channel", channel);
pluginCommandConstructor.setAccessible(true); commands.put("join", channel);
} catch (NoSuchMethodException | SecurityException e) { commands.put("channelinfo", channelinfo);
e.printStackTrace(); commands.put("chatinfo", chatinfo);
commands.put("chatreload", chatreload);
commands.put("chlist", chlist);
commands.put("chwho", chwho);
commands.put("clearchat", clearchat);
commands.put("commandblock", commandblock);
commands.put("commandspy", commandspy);
commands.put("edit", edit);
commands.put("filter", filter);
commands.put("force", force);
commands.put("forceall", forceall);
commands.put("kickchannel", kickchannel);
commands.put("kickchannelall", kickchannelall);
commands.put("leave", leave);
commands.put("listen", listen);
commands.put("me", me);
commands.put("venturechat", venturechat);
commands.put("notifications", notifications);
commands.put("party", party);
commands.put("rangedspy", rangedSpy);
commands.put("removemessage", removemessage);
commands.put("setchannel", setchannel);
commands.put("setchannelall", setchannelall);
commands.put("spy", spy);
commands.put("venturechatgui", ventureChatGui);
commands.put("messagetoggle", messageToggle);
commands.put("bungeetoggle", bungeeToggle);
commands.put("reply", reply);
commands.put("mute", mute);
commands.put("muteall", muteall);
commands.put("unmute", unmute);
commands.put("unmuteall", unmuteall);
commands.put("message", message);
commands.put("ignore", ignore);
for (final ChatChannel chatChannel : configService.getChatChannels()) {
final String alias = chatChannel.getAlias();
commands.put(alias, channelAlias);
} }
final ConfigurationSection commandsSection = commandsFileConfiguration.getConfigurationSection("commands");
commandsOld.put("broadcast", broadcast); for (final String commandName : commandsSection.getKeys(false)) {
// commandsOld.put("channel", channel); final ConfigurationSection commandSection = commandsSection.getConfigurationSection(commandName);
// commandsOld.put("join", channel); final boolean isEnabled = commandSection.getBoolean("enabled", true);
commandsOld.put("channelinfo", channelinfo); if (!isEnabled) {
commandsOld.put("chatinfo", chatinfo); commands.remove(commandName);
commandsOld.put("chatreload", chatreload); } else {
commandsOld.put("chlist", chlist); final Command command = commands.get(commandName);
commandsOld.put("chwho", chwho); if (command != null) {
commandsOld.put("clearchat", clearchat); final List<String> aliases = commandSection.getStringList("aliases");
commandsOld.put("commandblock", commandblock); for (final String alias : aliases) {
commandsOld.put("commandspy", commandspy); commands.put(alias, command);
commandsOld.put("edit", edit);
commandsOld.put("filter", filter);
commandsOld.put("force", force);
commandsOld.put("forceall", forceall);
commandsOld.put("kickchannel", kickchannel);
commandsOld.put("kickchannelall", kickchannelall);
commandsOld.put("leave", leave);
commandsOld.put("listen", listen);
commandsOld.put("me", me);
commandsOld.put("venturechat", venturechat);
commandsOld.put("notifications", notifications);
commandsOld.put("party", party);
commandsOld.put("rangedspy", rangedSpy);
commandsOld.put("removemessage", removemessage);
commandsOld.put("setchannel", setchannel);
commandsOld.put("setchannelall", setchannelall);
commandsOld.put("spy", spy);
commandsOld.put("venturechatgui", ventureChatGui);
commandsOld.put("messagetoggle", messageToggle);
commandsOld.put("bungeetoggle", bungeeToggle);
for (String command : commandsOld.keySet()) {
registerCommand(command, this);
} }
commands.put("venturechat:" + commandName, command);
plugin.getServer().getScheduler().runTaskLater(plugin, () -> {
if (plugin.isEnabled()) {
commandsOld.put("reply", reply);
commandsOld.put("r", reply);
registerCommand("reply", this);
registerCommand("r", this);
commandsOld.put("mute", mute);
commandsOld.put("muteall", muteall);
commandsOld.put("unmute", unmute);
commandsOld.put("unmuteall", unmuteall);
registerCommand("mute", this);
registerCommand("muteall", this);
registerCommand("unmute", this);
registerCommand("unmuteall", this);
registerCommand("message", messageCommandExecutor);
registerCommand("msg", messageCommandExecutor);
registerCommand("tell", messageCommandExecutor);
registerCommand("whisper", messageCommandExecutor);
registerCommand("ignore", ignoreCommandExecutor);
} }
}, 0);
registerCommand("channel", channel);
} }
private void registerCommand(final String command, final CommandExecutor commandExecutor) {
try {
final PluginCommand pluginCommand = pluginCommandConstructor.newInstance(command, plugin);
pluginCommand.setExecutor(commandExecutor);
knownCommands.put(command, pluginCommand);
} catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
e.printStackTrace();
} }
// Initial registration is required to ensure commands are recognized by the
// server after enabling every plugin
for (final Entry<String, Command> commandEntry : commands.entrySet()) {
registerCommand(commandEntry.getKey(), commandEntry.getValue());
}
// Forcibly re-register enabled VentureChat commands on a delay to ensure they
// have priority
server.getScheduler().runTaskLater(plugin, () -> {
for (final Entry<String, Command> commandEntry : commands.entrySet()) {
registerCommand(commandEntry.getKey(), commandEntry.getValue());
}
}, 10);
} }
private void registerCommand(final String commandLabel, final Command command) { private void registerCommand(final String commandLabel, final Command command) {

View File

@ -8,18 +8,23 @@ import com.google.inject.Inject;
import venture.Aust1n46.chat.initiators.application.VentureChat; import venture.Aust1n46.chat.initiators.application.VentureChat;
import venture.Aust1n46.chat.localization.LocalizedMessage; import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.VentureCommand; import venture.Aust1n46.chat.model.UniversalCommand;
import venture.Aust1n46.chat.service.VentureChatFormatService; import venture.Aust1n46.chat.service.VentureChatFormatService;
import venture.Aust1n46.chat.utilities.FormatUtils; import venture.Aust1n46.chat.utilities.FormatUtils;
public class Broadcast implements VentureCommand { public class Broadcast extends UniversalCommand {
@Inject @Inject
private VentureChat plugin; private VentureChat plugin;
@Inject @Inject
private VentureChatFormatService formatService; private VentureChatFormatService formatService;
@Inject
public Broadcast(String name) {
super(name);
}
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { protected void executeCommand(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");
@ -28,15 +33,14 @@ 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 = FormatUtils.FormatStringAll(bc); bc = FormatUtils.FormatStringAll(bc);
formatService.broadcastToServer(broadcastDisplayTag + ChatColor.valueOf(broadcastColor.toUpperCase()) + " " + bc); formatService.broadcastToServer(broadcastDisplayTag + ChatColor.valueOf(broadcastColor.toUpperCase()) + " " + bc);
return; return;
} 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")
.replace("{args}", "[msg]"));
return; return;
} }
} else { } else {

View File

@ -1,30 +1,29 @@
package venture.Aust1n46.chat.controllers.commands; package venture.Aust1n46.chat.controllers.commands;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.google.inject.Inject; import com.google.inject.Inject;
import venture.Aust1n46.chat.controllers.PluginMessageController; import venture.Aust1n46.chat.controllers.PluginMessageController;
import venture.Aust1n46.chat.localization.LocalizedMessage; import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.PlayerCommand;
import venture.Aust1n46.chat.model.VentureChatPlayer; import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.model.VentureCommand;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService; import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
public class BungeeToggle implements VentureCommand { public class BungeeToggle extends PlayerCommand {
@Inject @Inject
private PluginMessageController pluginMessageController; private PluginMessageController pluginMessageController;
@Inject @Inject
private VentureChatPlayerApiService playerApiService; private VentureChatPlayerApiService playerApiService;
@Override @Inject
public void execute(CommandSender sender, String command, String[] args) { public BungeeToggle(String name) {
if (!(sender instanceof Player)) { super(name);
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return;
} }
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
@Override
protected void executeCommand(Player player, String command, String[] args) {
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer(player);
if (mcp.getPlayer().hasPermission("venturechat.bungeetoggle")) { if (mcp.getPlayer().hasPermission("venturechat.bungeetoggle")) {
if (!mcp.isBungeeToggle()) { if (!mcp.isBungeeToggle()) {
mcp.setBungeeToggle(true); mcp.setBungeeToggle(true);

View File

@ -0,0 +1,70 @@
package venture.Aust1n46.chat.controllers.commands;
import org.bukkit.entity.Player;
import com.google.inject.Inject;
import venture.Aust1n46.chat.controllers.PluginMessageController;
import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.ChatChannel;
import venture.Aust1n46.chat.model.PlayerCommand;
import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.service.ConfigService;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
public class ChannelAlias extends PlayerCommand {
@Inject
private VentureChatPlayerApiService playerApiService;
@Inject
private ConfigService configService;
@Inject
private PluginMessageController pluginMessageController;
public ChannelAlias() {
super("channelalias");
}
@Override
public void executeCommand(final Player player, final String commandLabel, final String[] args) {
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer(player);
for (ChatChannel channel : configService.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 (VentureChatPlayer p : playerApiService.getOnlineMineverseChatPlayers()) {
if (p.isSpy()) {
p.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION_SPY.toString().replace("{player_sender}", mcp.getName())
.replace("{player_receiver}", playerApiService.getMineverseChatPlayer(mcp.getConversation()).getName()));
}
}
mcp.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION.toString().replace("{player_receiver}",
playerApiService.getMineverseChatPlayer(mcp.getConversation()).getName()));
mcp.setConversation(null);
}
mcp.addListening(channel.getName());
mcp.setCurrentChannel(channel);
if (channel.getBungee()) {
pluginMessageController.synchronize(mcp, true);
}
return;
} else {
mcp.setQuickChat(true);
mcp.setQuickChannel(channel);
mcp.addListening(channel.getName());
if (channel.getBungee()) {
pluginMessageController.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;
}
}
}
}
}

View File

@ -6,16 +6,21 @@ import org.bukkit.command.CommandSender;
import com.google.inject.Inject; import com.google.inject.Inject;
import venture.Aust1n46.chat.model.ChatChannel; import venture.Aust1n46.chat.model.ChatChannel;
import venture.Aust1n46.chat.model.VentureCommand; import venture.Aust1n46.chat.model.UniversalCommand;
import venture.Aust1n46.chat.service.ConfigService; import venture.Aust1n46.chat.service.ConfigService;
import venture.Aust1n46.chat.utilities.FormatUtils; import venture.Aust1n46.chat.utilities.FormatUtils;
public class Channelinfo implements VentureCommand { public class Channelinfo extends UniversalCommand {
@Inject @Inject
private ConfigService configService; private ConfigService configService;
@Inject
public Channelinfo(String name) {
super(name);
}
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { protected void executeCommand(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]");
@ -35,7 +40,8 @@ public class Channelinfo implements VentureCommand {
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") ? FormatUtils.DEFAULT_COLOR_CODE : chname.getChatColor()) + chname.getChatColorRaw()); sender.sendMessage(ChatColor.GOLD + "ChatColor: " + (chname.getChatColor().equalsIgnoreCase("None") ? FormatUtils.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 {

View File

@ -8,19 +8,24 @@ import org.bukkit.entity.Player;
import com.google.inject.Inject; import com.google.inject.Inject;
import venture.Aust1n46.chat.model.ChatChannel; import venture.Aust1n46.chat.model.ChatChannel;
import venture.Aust1n46.chat.model.UniversalCommand;
import venture.Aust1n46.chat.model.VentureChatPlayer; import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.model.VentureCommand;
import venture.Aust1n46.chat.service.ConfigService; import venture.Aust1n46.chat.service.ConfigService;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService; import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
public class Chatinfo implements VentureCommand { public class Chatinfo extends UniversalCommand {
@Inject @Inject
private VentureChatPlayerApiService playerApiService; private VentureChatPlayerApiService playerApiService;
@Inject @Inject
private ConfigService configService; private ConfigService configService;
@Inject
public Chatinfo(String name) {
super(name);
}
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public void executeCommand(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)) {
@ -56,7 +61,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 + playerApiService.getMineverseChatPlayer(mcp.getConversation()).getName()); mcp.getPlayer().sendMessage(
ChatColor.GOLD + "Private conversation: " + ChatColor.GREEN + playerApiService.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");
} }

View File

@ -12,13 +12,13 @@ import venture.Aust1n46.chat.controllers.VentureChatSpigotFlatFileController;
import venture.Aust1n46.chat.initiators.application.VentureChat; import venture.Aust1n46.chat.initiators.application.VentureChat;
import venture.Aust1n46.chat.localization.LocalizedMessage; import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.JsonFormat; import venture.Aust1n46.chat.model.JsonFormat;
import venture.Aust1n46.chat.model.UniversalCommand;
import venture.Aust1n46.chat.model.VentureChatPlayer; import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.model.VentureCommand;
import venture.Aust1n46.chat.service.ConfigService; import venture.Aust1n46.chat.service.ConfigService;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService; import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
import venture.Aust1n46.chat.utilities.FormatUtils; import venture.Aust1n46.chat.utilities.FormatUtils;
public class Chatreload implements VentureCommand { public class Chatreload extends UniversalCommand {
@Inject @Inject
private VentureChat plugin; private VentureChat plugin;
@Inject @Inject
@ -28,9 +28,14 @@ public class Chatreload implements VentureCommand {
@Inject @Inject
private ConfigService configService; private ConfigService configService;
@Inject
public Chatreload(String name) {
super(name);
}
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public void executeCommand(CommandSender sender, String command, String[] args) {
if(sender.hasPermission("venturechat.reload")) { if (sender.hasPermission("venturechat.reload")) {
spigotFlatFileController.savePlayerData(); spigotFlatFileController.savePlayerData();
playerApiService.clearMineverseChatPlayerMap(); playerApiService.clearMineverseChatPlayerMap();
playerApiService.clearNameMap(); playerApiService.clearNameMap();
@ -41,10 +46,11 @@ public class Chatreload implements VentureCommand {
spigotFlatFileController.loadLegacyPlayerData(); spigotFlatFileController.loadLegacyPlayerData();
spigotFlatFileController.loadPlayerData(); spigotFlatFileController.loadPlayerData();
for(Player p : plugin.getServer().getOnlinePlayers()) { for (Player p : plugin.getServer().getOnlinePlayers()) {
VentureChatPlayer mcp = playerApiService.getMineverseChatPlayer(p); VentureChatPlayer mcp = playerApiService.getMineverseChatPlayer(p);
if(mcp == null) { if (mcp == null) {
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&c - Could not find player data post reload for currently online player: " + p.getName())); Bukkit.getConsoleSender()
.sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&c - Could not find player data post reload for currently online player: " + p.getName()));
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&c - There could be an issue with your player data saving.")); Bukkit.getConsoleSender().sendMessage(FormatUtils.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();
@ -54,9 +60,9 @@ public class Chatreload implements VentureCommand {
mcp.setPlayer(plugin.getServer().getPlayer(mcp.getUuid())); mcp.setPlayer(plugin.getServer().getPlayer(mcp.getUuid()));
mcp.setHasPlayed(false); mcp.setHasPlayed(false);
String jsonFormat = mcp.getJsonFormat(); String jsonFormat = mcp.getJsonFormat();
for(JsonFormat j : configService.getJsonFormats()) { for (JsonFormat j : configService.getJsonFormats()) {
if(mcp.getPlayer().hasPermission("venturechat.json." + j.getName())) { if (mcp.getPlayer().hasPermission("venturechat.json." + j.getName())) {
if(configService.getJsonFormat(mcp.getJsonFormat()).getPriority() > j.getPriority()) { if (configService.getJsonFormat(mcp.getJsonFormat()).getPriority() > j.getPriority()) {
jsonFormat = j.getName(); jsonFormat = j.getName();
} }
} }
@ -67,8 +73,8 @@ public class Chatreload implements VentureCommand {
} }
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&e - Config reloaded")); Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&e - Config reloaded"));
for(VentureChatPlayer player : playerApiService.getOnlineMineverseChatPlayers()) { for (VentureChatPlayer player : playerApiService.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());
} }
} }

View File

@ -6,15 +6,20 @@ import com.google.inject.Inject;
import venture.Aust1n46.chat.localization.LocalizedMessage; import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.ChatChannel; import venture.Aust1n46.chat.model.ChatChannel;
import venture.Aust1n46.chat.model.VentureCommand; import venture.Aust1n46.chat.model.UniversalCommand;
import venture.Aust1n46.chat.service.ConfigService; import venture.Aust1n46.chat.service.ConfigService;
public class Chlist implements VentureCommand { public class Chlist extends UniversalCommand {
@Inject @Inject
private ConfigService configService; private ConfigService configService;
@Inject
public Chlist(String name) {
super(name);
}
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public void executeCommand(CommandSender sender, String command, String[] args) {
sender.sendMessage(LocalizedMessage.CHANNEL_LIST_HEADER.toString()); sender.sendMessage(LocalizedMessage.CHANNEL_LIST_HEADER.toString());
for (ChatChannel chname : configService.getChatChannels()) { for (ChatChannel chname : configService.getChatChannels()) {
if (chname.hasPermission()) { if (chname.hasPermission()) {

View File

@ -21,11 +21,11 @@ import venture.Aust1n46.chat.initiators.application.VentureChat;
import venture.Aust1n46.chat.localization.LocalizedMessage; import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.ChatChannel; import venture.Aust1n46.chat.model.ChatChannel;
import venture.Aust1n46.chat.model.VentureChatPlayer; import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.model.VentureCommand; import venture.Aust1n46.chat.model.UniversalCommand;
import venture.Aust1n46.chat.service.ConfigService; import venture.Aust1n46.chat.service.ConfigService;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService; import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
public class Chwho implements VentureCommand { public class Chwho extends UniversalCommand {
@Inject @Inject
private VentureChat plugin; private VentureChat plugin;
@Inject @Inject
@ -35,8 +35,13 @@ public class Chwho implements VentureCommand {
@Inject @Inject
private ConfigService configService; private ConfigService configService;
@Inject
public Chwho(String name) {
super(name);
}
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public void executeCommand(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) {

View File

@ -7,15 +7,20 @@ import com.google.inject.Inject;
import venture.Aust1n46.chat.localization.InternalMessage; import venture.Aust1n46.chat.localization.InternalMessage;
import venture.Aust1n46.chat.localization.LocalizedMessage; import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.VentureChatPlayer; import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.model.VentureCommand; import venture.Aust1n46.chat.model.UniversalCommand;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService; import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
public class Clearchat implements VentureCommand { public class Clearchat extends UniversalCommand {
@Inject @Inject
private VentureChatPlayerApiService ventureChatApi; private VentureChatPlayerApiService ventureChatApi;
@Inject
public Clearchat(String name) {
super(name);
}
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public void executeCommand(CommandSender sender, String command, String[] args) {
if (sender.hasPermission("venturechat.clearchat")) { if (sender.hasPermission("venturechat.clearchat")) {
for (VentureChatPlayer player : ventureChatApi.getOnlineMineverseChatPlayers()) { for (VentureChatPlayer player : ventureChatApi.getOnlineMineverseChatPlayers()) {
if (!player.getPlayer().hasPermission("venturechat.clearchat.bypass")) { if (!player.getPlayer().hasPermission("venturechat.clearchat.bypass")) {

View File

@ -9,17 +9,22 @@ import com.google.inject.Inject;
import venture.Aust1n46.chat.initiators.application.VentureChat; import venture.Aust1n46.chat.initiators.application.VentureChat;
import venture.Aust1n46.chat.localization.LocalizedMessage; import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.VentureChatPlayer; import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.model.VentureCommand; import venture.Aust1n46.chat.model.UniversalCommand;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService; import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
public class Commandblock implements VentureCommand { public class Commandblock extends UniversalCommand {
@Inject @Inject
private VentureChat plugin; private VentureChat plugin;
@Inject @Inject
private VentureChatPlayerApiService playerApiService; private VentureChatPlayerApiService playerApiService;
@Inject
public Commandblock(String name) {
super(name);
}
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public void executeCommand(CommandSender sender, String command, String[] args) {
if (sender.hasPermission("venturechat.commandblock")) { if (sender.hasPermission("venturechat.commandblock")) {
if (args.length > 1) { if (args.length > 1) {
VentureChatPlayer player = playerApiService.getOnlineMineverseChatPlayer(args[0]); VentureChatPlayer player = playerApiService.getOnlineMineverseChatPlayer(args[0]);

View File

@ -1,26 +1,25 @@
package venture.Aust1n46.chat.controllers.commands; package venture.Aust1n46.chat.controllers.commands;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.google.inject.Inject; import com.google.inject.Inject;
import venture.Aust1n46.chat.localization.LocalizedMessage; import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.PlayerCommand;
import venture.Aust1n46.chat.model.VentureChatPlayer; import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.model.VentureCommand;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService; import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
public class Commandspy implements VentureCommand { public class Commandspy extends PlayerCommand {
@Inject @Inject
private VentureChatPlayerApiService playerApiService; private VentureChatPlayerApiService playerApiService;
@Override @Inject
public void execute(CommandSender sender, String command, String[] args) { public Commandspy(String name) {
if (!(sender instanceof Player)) { super(name);
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return;
} }
@Override
public void executeCommand(Player sender, String command, String[] args) {
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender); VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
if (mcp.getPlayer().hasPermission("venturechat.commandspy")) { if (mcp.getPlayer().hasPermission("venturechat.commandspy")) {
if (!mcp.hasCommandSpy()) { if (!mcp.hasCommandSpy()) {

View File

@ -17,12 +17,12 @@ import venture.Aust1n46.chat.initiators.application.VentureChat;
import venture.Aust1n46.chat.localization.LocalizedMessage; import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.ChatMessage; import venture.Aust1n46.chat.model.ChatMessage;
import venture.Aust1n46.chat.model.VentureChatPlayer; import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.model.VentureCommand; import venture.Aust1n46.chat.model.UniversalCommand;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService; import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
import venture.Aust1n46.chat.utilities.FormatUtils; import venture.Aust1n46.chat.utilities.FormatUtils;
import venture.Aust1n46.chat.service.VentureChatFormatService; import venture.Aust1n46.chat.service.VentureChatFormatService;
public class Edit implements VentureCommand { public class Edit extends UniversalCommand {
@Inject @Inject
private VentureChat plugin; private VentureChat plugin;
@Inject @Inject
@ -33,6 +33,11 @@ public class Edit implements VentureCommand {
private PacketContainer emptyLinePacketContainer; private PacketContainer emptyLinePacketContainer;
private WrappedChatComponent messageDeletedComponentPlayer; private WrappedChatComponent messageDeletedComponentPlayer;
@Inject
public Edit(String name) {
super(name);
}
@Inject @Inject
public void postConstruct() { public void postConstruct() {
emptyLinePacketContainer = formatService.createPacketPlayOutChat("{\"extra\":[\" \"],\"text\":\"\"}"); emptyLinePacketContainer = formatService.createPacketPlayOutChat("{\"extra\":[\" \"],\"text\":\"\"}");
@ -41,7 +46,7 @@ public class Edit implements VentureCommand {
@Override @Override
@SuppressWarnings({"unchecked", "rawtypes"}) @SuppressWarnings({"unchecked", "rawtypes"})
public void execute(CommandSender sender, String command, String[] args) { public void executeCommand(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("{command}", "/edit")

View File

@ -1,26 +1,25 @@
package venture.Aust1n46.chat.controllers.commands; package venture.Aust1n46.chat.controllers.commands;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.google.inject.Inject; import com.google.inject.Inject;
import venture.Aust1n46.chat.localization.LocalizedMessage; import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.PlayerCommand;
import venture.Aust1n46.chat.model.VentureChatPlayer; import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.model.VentureCommand;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService; import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
public class Filter implements VentureCommand { public class Filter extends PlayerCommand {
@Inject @Inject
private VentureChatPlayerApiService playerApiService; private VentureChatPlayerApiService playerApiService;
@Override @Inject
public void execute(CommandSender sender, String command, String[] args) { public Filter(String name) {
if (!(sender instanceof Player)) { super(name);
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return;
} }
@Override
public void executeCommand(Player sender, String command, String[] args) {
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender); VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
if (mcp.getPlayer().hasPermission("venturechat.ignorefilter")) { if (mcp.getPlayer().hasPermission("venturechat.ignorefilter")) {
if (!mcp.isFilter()) { if (!mcp.isFilter()) {

View File

@ -5,36 +5,36 @@ import org.bukkit.command.CommandSender;
import com.google.inject.Inject; import com.google.inject.Inject;
import venture.Aust1n46.chat.localization.LocalizedMessage; import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.UniversalCommand;
import venture.Aust1n46.chat.model.VentureChatPlayer; import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.model.VentureCommand;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService; import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
public class Force implements VentureCommand { public class Force extends UniversalCommand {
@Inject @Inject
private VentureChatPlayerApiService playerApiService; private VentureChatPlayerApiService playerApiService;
@Inject
public Force(String name) {
super(name);
}
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public void executeCommand(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")
.replace("{args}", "[player] [message]"));
return; return;
} }
VentureChatPlayer player = playerApiService.getOnlineMineverseChatPlayer(args[0]); VentureChatPlayer player = playerApiService.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; 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;
} }

View File

@ -5,20 +5,24 @@ import org.bukkit.command.CommandSender;
import com.google.inject.Inject; import com.google.inject.Inject;
import venture.Aust1n46.chat.localization.LocalizedMessage; import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.UniversalCommand;
import venture.Aust1n46.chat.model.VentureChatPlayer; import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.model.VentureCommand;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService; import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
public class Forceall implements VentureCommand { public class Forceall extends UniversalCommand {
@Inject @Inject
private VentureChatPlayerApiService playerApiService; private VentureChatPlayerApiService playerApiService;
@Inject
public Forceall(String name) {
super(name);
}
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public void executeCommand(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; return;
} }
String forcemsg = ""; String forcemsg = "";

View File

@ -0,0 +1,114 @@
package venture.Aust1n46.chat.controllers.commands;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.UUID;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.util.StringUtil;
import com.google.inject.Inject;
import venture.Aust1n46.chat.controllers.PluginMessageController;
import venture.Aust1n46.chat.initiators.application.VentureChat;
import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.PlayerCommand;
import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
public class Ignore extends PlayerCommand {
@Inject
private VentureChat plugin;
@Inject
private PluginMessageController pluginMessageController;
@Inject
private VentureChatPlayerApiService playerApiService;
@Inject
public Ignore(String name) {
super(name);
}
@Override
public void executeCommand(Player sender, String label, String[] args) {
if (!(sender instanceof Player)) {
plugin.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return;
}
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
if (args.length == 0) {
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS_IGNORE.toString());
return;
}
if (args[0].equalsIgnoreCase("list")) {
String ignoreList = "";
for (UUID ignore : mcp.getIgnores()) {
VentureChatPlayer i = playerApiService.getMineverseChatPlayer(ignore);
String iName = ignore.toString();
if (i != null) {
iName = i.getName();
}
ignoreList += ChatColor.RED + iName + ChatColor.WHITE + ", ";
}
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORE_LIST_HEADER.toString());
if (ignoreList.length() > 0) {
mcp.getPlayer().sendMessage(ignoreList.substring(0, ignoreList.length() - 2));
}
return;
}
if (mcp.getName().equalsIgnoreCase(args[0])) {
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORE_YOURSELF.toString());
return;
}
if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(byteOutStream);
try {
out.writeUTF("Ignore");
out.writeUTF("Send");
out.writeUTF(args[0]);
out.writeUTF(mcp.getUuid().toString());
pluginMessageController.sendPluginMessage(byteOutStream);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
return;
}
VentureChatPlayer player = playerApiService.getOnlineMineverseChatPlayer(args[0]);
if (player == null) {
mcp.getPlayer().sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
return;
}
if (mcp.getIgnores().contains(player.getUuid())) {
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORE_PLAYER_OFF.toString().replace("{player}", player.getName()));
mcp.removeIgnore(player.getUuid());
pluginMessageController.synchronize(mcp, true);
return;
}
if (player.getPlayer().hasPermission("venturechat.ignore.bypass")) {
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORE_PLAYER_CANT.toString().replace("{player}", player.getName()));
return;
}
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORE_PLAYER_ON.toString().replace("{player}", player.getName()));
mcp.addIgnore(player.getUuid());
pluginMessageController.synchronize(mcp, true);
}
@Override
public List<String> tabComplete(CommandSender sender, String alias, String[] args) {
if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
List<String> completions = new ArrayList<>();
StringUtil.copyPartialMatches(args[args.length - 1], playerApiService.getNetworkPlayerNames(), completions);
Collections.sort(completions);
return completions;
}
return null;
}
}

View File

@ -1,115 +0,0 @@
package venture.Aust1n46.chat.controllers.commands;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.UUID;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor;
import org.bukkit.entity.Player;
import org.bukkit.util.StringUtil;
import com.google.inject.Inject;
import venture.Aust1n46.chat.controllers.PluginMessageController;
import venture.Aust1n46.chat.initiators.application.VentureChat;
import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
public class IgnoreCommandExecutor implements TabExecutor {
@Inject
private VentureChat plugin;
@Inject
private PluginMessageController pluginMessageController;
@Inject
private VentureChatPlayerApiService playerApiService;
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (!(sender instanceof Player)) {
plugin.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return true;
}
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
if (args.length == 0) {
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS_IGNORE.toString());
return true;
}
if (args[0].equalsIgnoreCase("list")) {
String ignoreList = "";
for (UUID ignore : mcp.getIgnores()) {
VentureChatPlayer i = playerApiService.getMineverseChatPlayer(ignore);
String iName = ignore.toString();
if (i != null) {
iName = i.getName();
}
ignoreList += ChatColor.RED + iName + ChatColor.WHITE + ", ";
}
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORE_LIST_HEADER.toString());
if (ignoreList.length() > 0) {
mcp.getPlayer().sendMessage(ignoreList.substring(0, ignoreList.length() - 2));
}
return true;
}
if (mcp.getName().equalsIgnoreCase(args[0])) {
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORE_YOURSELF.toString());
return true;
}
if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(byteOutStream);
try {
out.writeUTF("Ignore");
out.writeUTF("Send");
out.writeUTF(args[0]);
out.writeUTF(mcp.getUuid().toString());
pluginMessageController.sendPluginMessage(byteOutStream);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
return true;
}
VentureChatPlayer player = playerApiService.getOnlineMineverseChatPlayer(args[0]);
if (player == null) {
mcp.getPlayer().sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
.replace("{args}", args[0]));
return true;
}
if (mcp.getIgnores().contains(player.getUuid())) {
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORE_PLAYER_OFF.toString()
.replace("{player}", player.getName()));
mcp.removeIgnore(player.getUuid());
pluginMessageController.synchronize(mcp, true);
return true;
}
if (player.getPlayer().hasPermission("venturechat.ignore.bypass")) {
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORE_PLAYER_CANT.toString()
.replace("{player}", player.getName()));
return true;
}
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORE_PLAYER_ON.toString()
.replace("{player}", player.getName()));
mcp.addIgnore(player.getUuid());
pluginMessageController.synchronize(mcp, true);
return true;
}
@Override
public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
List<String> completions = new ArrayList<>();
StringUtil.copyPartialMatches(args[args.length - 1], playerApiService.getNetworkPlayerNames(), completions);
Collections.sort(completions);
return completions;
}
return null;
}
}

View File

@ -8,12 +8,12 @@ import com.google.inject.Inject;
import venture.Aust1n46.chat.controllers.PluginMessageController; import venture.Aust1n46.chat.controllers.PluginMessageController;
import venture.Aust1n46.chat.localization.LocalizedMessage; import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.ChatChannel; import venture.Aust1n46.chat.model.ChatChannel;
import venture.Aust1n46.chat.model.UniversalCommand;
import venture.Aust1n46.chat.model.VentureChatPlayer; import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.model.VentureCommand;
import venture.Aust1n46.chat.service.ConfigService; import venture.Aust1n46.chat.service.ConfigService;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService; import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
public class Kickchannel implements VentureCommand { public class Kickchannel extends UniversalCommand {
@Inject @Inject
private PluginMessageController pluginMessageController; private PluginMessageController pluginMessageController;
@Inject @Inject
@ -21,36 +21,34 @@ public class Kickchannel implements VentureCommand {
@Inject @Inject
private ConfigService configService; private ConfigService configService;
@Inject
public Kickchannel(String name) {
super(name);
}
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public void executeCommand(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")
.replace("{args}", "[player] [channel]"));
return; return;
} }
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[0]); VentureChatPlayer player = playerApiService.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; return;
} }
ChatChannel channel = configService.getChannel(args[1]); ChatChannel channel = configService.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; 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);
} }
@ -63,8 +61,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(configService.getDefaultColor().toUpperCase()) + "") .sendMessage(LocalizedMessage.SET_CHANNEL.toString().replace("{channel_color}", ChatColor.valueOf(configService.getDefaultColor().toUpperCase()) + "")
.replace("{channel_name}", configService.getDefaultChannel().getName())); .replace("{channel_name}", configService.getDefaultChannel().getName()));
} else } else
player.setModified(true); player.setModified(true);

View File

@ -8,12 +8,12 @@ import com.google.inject.Inject;
import venture.Aust1n46.chat.controllers.PluginMessageController; import venture.Aust1n46.chat.controllers.PluginMessageController;
import venture.Aust1n46.chat.localization.LocalizedMessage; import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.ChatChannel; import venture.Aust1n46.chat.model.ChatChannel;
import venture.Aust1n46.chat.model.UniversalCommand;
import venture.Aust1n46.chat.model.VentureChatPlayer; import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.model.VentureCommand;
import venture.Aust1n46.chat.service.ConfigService; import venture.Aust1n46.chat.service.ConfigService;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService; import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
public class Kickchannelall implements VentureCommand { public class Kickchannelall extends UniversalCommand {
@Inject @Inject
private PluginMessageController pluginMessageController; private PluginMessageController pluginMessageController;
@Inject @Inject
@ -21,19 +21,21 @@ public class Kickchannelall implements VentureCommand {
@Inject @Inject
private ConfigService configService; private ConfigService configService;
@Inject
public Kickchannelall(String name) {
super(name);
}
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public void executeCommand(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")
.replace("{args}", "[player]"));
return; return;
} }
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[0]); VentureChatPlayer player = playerApiService.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; return;
} }
boolean isThereABungeeChannel = false; boolean isThereABungeeChannel = false;
@ -46,8 +48,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(configService.getDefaultChannel().getName()); player.addListening(configService.getDefaultChannel().getName());
player.setCurrentChannel(configService.getDefaultChannel()); player.setCurrentChannel(configService.getDefaultChannel());
if (configService.getDefaultChannel().getBungee()) { if (configService.getDefaultChannel().getBungee()) {
@ -59,8 +60,8 @@ 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(configService.getDefaultColor().toUpperCase()) + "") .sendMessage(LocalizedMessage.SET_CHANNEL.toString().replace("{channel_color}", ChatColor.valueOf(configService.getDefaultColor().toUpperCase()) + "")
.replace("{channel_name}", configService.getDefaultChannel().getName())); .replace("{channel_name}", configService.getDefaultChannel().getName()));
} else { } else {
player.setModified(true); player.setModified(true);

View File

@ -1,8 +1,6 @@
package venture.Aust1n46.chat.controllers.commands; package venture.Aust1n46.chat.controllers.commands;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.google.inject.Inject; import com.google.inject.Inject;
@ -10,12 +8,12 @@ import com.google.inject.Inject;
import venture.Aust1n46.chat.controllers.PluginMessageController; import venture.Aust1n46.chat.controllers.PluginMessageController;
import venture.Aust1n46.chat.localization.LocalizedMessage; import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.ChatChannel; import venture.Aust1n46.chat.model.ChatChannel;
import venture.Aust1n46.chat.model.PlayerCommand;
import venture.Aust1n46.chat.model.VentureChatPlayer; import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.model.VentureCommand;
import venture.Aust1n46.chat.service.ConfigService; import venture.Aust1n46.chat.service.ConfigService;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService; import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
public class Leave implements VentureCommand { public class Leave extends PlayerCommand {
@Inject @Inject
private PluginMessageController pluginMessageController; private PluginMessageController pluginMessageController;
@Inject @Inject
@ -23,24 +21,22 @@ public class Leave implements VentureCommand {
@Inject @Inject
private ConfigService configService; private ConfigService configService;
@Override @Inject
public void execute(CommandSender sender, String command, String[] args) { public Leave(String name) {
if (!(sender instanceof Player)) { super(name);
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return;
} }
@Override
public void executeCommand(Player sender, String command, String[] args) {
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender); VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
if (args.length > 0) { if (args.length > 0) {
ChatChannel channel = configService.getChannel(args[0]); ChatChannel channel = configService.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; 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(configService.getDefaultChannel().getName()); mcp.addListening(configService.getDefaultChannel().getName());
@ -49,8 +45,8 @@ 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()
.replace("{channel_color}", ChatColor.valueOf(configService.getDefaultColor().toUpperCase()) + "") .sendMessage(LocalizedMessage.SET_CHANNEL.toString().replace("{channel_color}", ChatColor.valueOf(configService.getDefaultColor().toUpperCase()) + "")
.replace("{channel_name}", configService.getDefaultChannel().getName())); .replace("{channel_name}", configService.getDefaultChannel().getName()));
} }
if (isThereABungeeChannel) { if (isThereABungeeChannel) {
@ -58,8 +54,6 @@ public class Leave implements VentureCommand {
} }
return; return;
} }
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")
.replace("{args}", "[channel]"));
} }
} }

View File

@ -1,7 +1,5 @@
package venture.Aust1n46.chat.controllers.commands; package venture.Aust1n46.chat.controllers.commands;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.google.inject.Inject; import com.google.inject.Inject;
@ -9,12 +7,12 @@ import com.google.inject.Inject;
import venture.Aust1n46.chat.controllers.PluginMessageController; import venture.Aust1n46.chat.controllers.PluginMessageController;
import venture.Aust1n46.chat.localization.LocalizedMessage; import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.ChatChannel; import venture.Aust1n46.chat.model.ChatChannel;
import venture.Aust1n46.chat.model.PlayerCommand;
import venture.Aust1n46.chat.model.VentureChatPlayer; import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.model.VentureCommand;
import venture.Aust1n46.chat.service.ConfigService; import venture.Aust1n46.chat.service.ConfigService;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService; import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
public class Listen implements VentureCommand { public class Listen extends PlayerCommand {
@Inject @Inject
private PluginMessageController pluginMessageController; private PluginMessageController pluginMessageController;
@Inject @Inject
@ -22,18 +20,18 @@ public class Listen implements VentureCommand {
@Inject @Inject
private ConfigService configService; private ConfigService configService;
@Override @Inject
public void execute(CommandSender sender, String command, String[] args) { public Listen(String name) {
if (!(sender instanceof Player)) { super(name);
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return;
} }
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
@Override
public void executeCommand(Player player, String command, String[] args) {
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer(player);
if (args.length > 0) { if (args.length > 0) {
ChatChannel channel = configService.getChannel(args[0]); ChatChannel channel = configService.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; return;
} }
if (channel.hasPermission()) { if (channel.hasPermission()) {
@ -44,16 +42,13 @@ public class Listen implements VentureCommand {
} }
} }
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()) {
pluginMessageController.synchronize(mcp, true); pluginMessageController.synchronize(mcp, true);
} }
return; return;
} }
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")
.replace("{args}", "[channel]"));
} }
} }

View File

@ -6,20 +6,25 @@ import org.bukkit.entity.Player;
import com.google.inject.Inject; import com.google.inject.Inject;
import venture.Aust1n46.chat.localization.LocalizedMessage; import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.VentureCommand; import venture.Aust1n46.chat.model.UniversalCommand;
import venture.Aust1n46.chat.service.VentureChatFormatService;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService; import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
import venture.Aust1n46.chat.utilities.FormatUtils; import venture.Aust1n46.chat.utilities.FormatUtils;
import venture.Aust1n46.chat.service.VentureChatFormatService;
public class Me implements VentureCommand { public class Me extends UniversalCommand {
@Inject @Inject
private VentureChatFormatService formatService; private VentureChatFormatService formatService;
@Inject @Inject
private VentureChatPlayerApiService playerApiService; private VentureChatPlayerApiService playerApiService;
@Inject
public Me(String name) {
super(name);
}
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public void executeCommand(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 = "";
@ -44,9 +49,7 @@ public class Me implements VentureCommand {
formatService.broadcastToServer("* " + sender.getName() + msg); formatService.broadcastToServer("* " + sender.getName() + msg);
return; return;
} }
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString() sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/me").replace("{args}", "[message]"));
.replace("{command}", "/me")
.replace("{args}", "[message]"));
return; return;
} }
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString()); sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());

View File

@ -0,0 +1,219 @@
package venture.Aust1n46.chat.controllers.commands;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.util.StringUtil;
import com.google.inject.Inject;
import me.clip.placeholderapi.PlaceholderAPI;
import venture.Aust1n46.chat.controllers.PluginMessageController;
import venture.Aust1n46.chat.initiators.application.VentureChat;
import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.PlayerCommand;
import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.service.VentureChatFormatService;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
import venture.Aust1n46.chat.utilities.FormatUtils;
public class Message extends PlayerCommand {
@Inject
private VentureChat plugin;
@Inject
private VentureChatFormatService formatService;
@Inject
private PluginMessageController pluginMessageController;
@Inject
private VentureChatPlayerApiService playerApiService;
@Inject
public Message(String name) {
super(name);
}
@Override
public void executeCommand(Player sender, String command, String[] args) {
if (!(sender instanceof Player)) {
plugin.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return;
}
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
if (args.length == 0) {
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/" + command).replace("{args}", "[player] [message]"));
return;
}
if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
sendBungeeCordMessage(mcp, command, args);
return;
}
VentureChatPlayer player = playerApiService.getOnlineMineverseChatPlayer(args[0]);
if (player == null) {
mcp.getPlayer().sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
return;
}
if (!mcp.getPlayer().canSee(player.getPlayer())) {
mcp.getPlayer().sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
return;
}
if (player.getIgnores().contains(mcp.getUuid())) {
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORING_MESSAGE.toString().replace("{player}", player.getName()));
return;
}
if (!player.isMessageToggle()) {
mcp.getPlayer().sendMessage(LocalizedMessage.BLOCKING_MESSAGE.toString().replace("{player}", player.getName()));
return;
}
if (args.length >= 2) {
String msg = "";
String echo = "";
String send = "";
String spy = "";
if (args[1].length() > 0) {
for (int r = 1; r < args.length; r++) {
msg += " " + args[r];
}
if (mcp.isFilter()) {
msg = formatService.FilterChat(msg);
}
if (mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
msg = FormatUtils.FormatStringLegacyColor(msg);
}
if (mcp.getPlayer().hasPermission("venturechat.color")) {
msg = FormatUtils.FormatStringColor(msg);
}
if (mcp.getPlayer().hasPermission("venturechat.format")) {
msg = FormatUtils.FormatString(msg);
}
send = FormatUtils
.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("tellformatfrom").replaceAll("sender_", "")));
echo = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("tellformatto").replaceAll("sender_", "")));
spy = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("tellformatspy").replaceAll("sender_", "")));
send = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(player.getPlayer(), send.replaceAll("receiver_", ""))) + msg;
echo = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(player.getPlayer(), echo.replaceAll("receiver_", ""))) + msg;
spy = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(player.getPlayer(), spy.replaceAll("receiver_", ""))) + msg;
player.setReplyPlayer(mcp.getUuid());
mcp.setReplyPlayer(player.getUuid());
player.getPlayer().sendMessage(send);
mcp.getPlayer().sendMessage(echo);
if (player.isNotifications()) {
formatService.playMessageSound(player);
}
if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) {
for (VentureChatPlayer sp : playerApiService.getOnlineMineverseChatPlayers()) {
if (sp.getName().equals(mcp.getName()) || sp.getName().equals(player.getName())) {
continue;
}
if (sp.isSpy()) {
sp.getPlayer().sendMessage(spy);
}
}
}
}
}
if (args.length == 1) {
if (args[0].length() > 0) {
if (!mcp.hasConversation() || (mcp.hasConversation() && !mcp.getConversation().toString().equals(player.getUuid().toString()))) {
mcp.setConversation(player.getUuid());
if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) {
for (VentureChatPlayer sp : playerApiService.getOnlineMineverseChatPlayers()) {
if (sp.getName().equals(mcp.getName())) {
continue;
}
if (sp.isSpy()) {
sp.getPlayer().sendMessage(LocalizedMessage.ENTER_PRIVATE_CONVERSATION_SPY.toString().replace("{player_sender}", mcp.getName())
.replace("{player_receiver}", player.getName()));
}
}
}
mcp.getPlayer().sendMessage(LocalizedMessage.ENTER_PRIVATE_CONVERSATION.toString().replace("{player_receiver}", player.getName()));
} else {
mcp.setConversation(null);
if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) {
for (VentureChatPlayer sp : playerApiService.getOnlineMineverseChatPlayers()) {
if (sp.getName().equals(mcp.getName())) {
continue;
}
if (sp.isSpy()) {
sp.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION_SPY.toString().replace("{player_sender}", mcp.getName())
.replace("{player_receiver}", player.getName()));
}
}
}
mcp.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION.toString().replace("{player_receiver}", player.getName()));
}
}
}
}
@Override
public List<String> tabComplete(CommandSender sender, String alias, String[] args) {
if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
List<String> completions = new ArrayList<>();
StringUtil.copyPartialMatches(args[args.length - 1], playerApiService.getNetworkPlayerNames(), completions);
Collections.sort(completions);
return completions;
}
return null;
}
private void sendBungeeCordMessage(VentureChatPlayer mcp, String command, String[] args) {
if (args.length < 2) {
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/" + command).replace("{args}", "[player] [message]"));
return;
}
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(byteOutStream);
StringBuilder msgBuilder = new StringBuilder();
for (int r = 1; r < args.length; r++) {
msgBuilder.append(" " + args[r]);
}
String msg = msgBuilder.toString();
if (mcp.isFilter()) {
msg = formatService.FilterChat(msg);
}
if (mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
msg = FormatUtils.FormatStringLegacyColor(msg);
}
if (mcp.getPlayer().hasPermission("venturechat.color")) {
msg = FormatUtils.FormatStringColor(msg);
}
if (mcp.getPlayer().hasPermission("venturechat.format")) {
msg = FormatUtils.FormatString(msg);
}
String send = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("tellformatfrom").replaceAll("sender_", "")));
String echo = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("tellformatto").replaceAll("sender_", "")));
String spy = "VentureChat:NoSpy";
if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) {
spy = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("tellformatspy").replaceAll("sender_", "")));
}
try {
out.writeUTF("Message");
out.writeUTF("Send");
out.writeUTF(args[0]);
out.writeUTF(mcp.getUuid().toString());
out.writeUTF(mcp.getName());
out.writeUTF(send);
out.writeUTF(echo);
out.writeUTF(spy);
out.writeUTF(msg);
pluginMessageController.sendPluginMessage(byteOutStream);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}

View File

@ -1,227 +0,0 @@
package venture.Aust1n46.chat.controllers.commands;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor;
import org.bukkit.entity.Player;
import org.bukkit.util.StringUtil;
import com.google.inject.Inject;
import me.clip.placeholderapi.PlaceholderAPI;
import venture.Aust1n46.chat.controllers.PluginMessageController;
import venture.Aust1n46.chat.initiators.application.VentureChat;
import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
import venture.Aust1n46.chat.utilities.FormatUtils;
import venture.Aust1n46.chat.service.VentureChatFormatService;
public class MessageCommandExecutor implements TabExecutor {
@Inject
private VentureChat plugin;
@Inject
private VentureChatFormatService formatService;
@Inject
private PluginMessageController pluginMessageController;
@Inject
private VentureChatPlayerApiService playerApiService;
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (!(sender instanceof Player)) {
plugin.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return true;
}
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
if (args.length == 0) {
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
.replace("{command}", "/" + command.getName())
.replace("{args}", "[player] [message]"));
return true;
}
if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
sendBungeeCordMessage(mcp, command.getName(), args);
return true;
}
VentureChatPlayer player = playerApiService.getOnlineMineverseChatPlayer(args[0]);
if (player == null) {
mcp.getPlayer().sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
.replace("{args}", args[0]));
return true;
}
if (!mcp.getPlayer().canSee(player.getPlayer())) {
mcp.getPlayer().sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
.replace("{args}", args[0]));
return true;
}
if (player.getIgnores().contains(mcp.getUuid())) {
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORING_MESSAGE.toString()
.replace("{player}", player.getName()));
return true;
}
if (!player.isMessageToggle()) {
mcp.getPlayer().sendMessage(LocalizedMessage.BLOCKING_MESSAGE.toString()
.replace("{player}", player.getName()));
return true;
}
if (args.length >= 2) {
String msg = "";
String echo = "";
String send = "";
String spy = "";
if (args[1].length() > 0) {
for (int r = 1; r < args.length; r++) {
msg += " " + args[r];
}
if (mcp.isFilter()) {
msg = formatService.FilterChat(msg);
}
if (mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
msg = FormatUtils.FormatStringLegacyColor(msg);
}
if (mcp.getPlayer().hasPermission("venturechat.color")) {
msg = FormatUtils.FormatStringColor(msg);
}
if (mcp.getPlayer().hasPermission("venturechat.format")) {
msg = FormatUtils.FormatString(msg);
}
send = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("tellformatfrom").replaceAll("sender_", "")));
echo = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("tellformatto").replaceAll("sender_", "")));
spy = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("tellformatspy").replaceAll("sender_", "")));
send = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(player.getPlayer(), send.replaceAll("receiver_", ""))) + msg;
echo = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(player.getPlayer(), echo.replaceAll("receiver_", ""))) + msg;
spy = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(player.getPlayer(), spy.replaceAll("receiver_", ""))) + msg;
player.setReplyPlayer(mcp.getUuid());
mcp.setReplyPlayer(player.getUuid());
player.getPlayer().sendMessage(send);
mcp.getPlayer().sendMessage(echo);
if (player.isNotifications()) {
formatService.playMessageSound(player);
}
if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) {
for (VentureChatPlayer sp : playerApiService.getOnlineMineverseChatPlayers()) {
if (sp.getName().equals(mcp.getName()) || sp.getName().equals(player.getName())) {
continue;
}
if (sp.isSpy()) {
sp.getPlayer().sendMessage(spy);
}
}
}
}
}
if (args.length == 1) {
if (args[0].length() > 0) {
if (!mcp.hasConversation() || (mcp.hasConversation() && !mcp.getConversation().toString().equals(player.getUuid().toString()))) {
mcp.setConversation(player.getUuid());
if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) {
for (VentureChatPlayer sp : playerApiService.getOnlineMineverseChatPlayers()) {
if (sp.getName().equals(mcp.getName())) {
continue;
}
if (sp.isSpy()) {
sp.getPlayer().sendMessage(LocalizedMessage.ENTER_PRIVATE_CONVERSATION_SPY.toString()
.replace("{player_sender}", mcp.getName())
.replace("{player_receiver}", player.getName()));
}
}
}
mcp.getPlayer().sendMessage(LocalizedMessage.ENTER_PRIVATE_CONVERSATION.toString()
.replace("{player_receiver}", player.getName()));
} else {
mcp.setConversation(null);
if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) {
for (VentureChatPlayer sp : playerApiService.getOnlineMineverseChatPlayers()) {
if (sp.getName().equals(mcp.getName())) {
continue;
}
if (sp.isSpy()) {
sp.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION_SPY.toString()
.replace("{player_sender}", mcp.getName())
.replace("{player_receiver}", player.getName()));
}
}
}
mcp.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION.toString()
.replace("{player_receiver}", player.getName()));
}
}
}
return true;
}
@Override
public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
List<String> completions = new ArrayList<>();
StringUtil.copyPartialMatches(args[args.length - 1], playerApiService.getNetworkPlayerNames(), completions);
Collections.sort(completions);
return completions;
}
return null;
}
private void sendBungeeCordMessage(VentureChatPlayer mcp, String command, String[] args) {
if (args.length < 2) {
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
.replace("{command}", "/" + command)
.replace("{args}", "[player] [message]"));
return;
}
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(byteOutStream);
StringBuilder msgBuilder = new StringBuilder();
for (int r = 1; r < args.length; r++) {
msgBuilder.append(" " + args[r]);
}
String msg = msgBuilder.toString();
if (mcp.isFilter()) {
msg = formatService.FilterChat(msg);
}
if (mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
msg = FormatUtils.FormatStringLegacyColor(msg);
}
if (mcp.getPlayer().hasPermission("venturechat.color")) {
msg = FormatUtils.FormatStringColor(msg);
}
if (mcp.getPlayer().hasPermission("venturechat.format")) {
msg = FormatUtils.FormatString(msg);
}
String send = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("tellformatfrom").replaceAll("sender_", "")));
String echo = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("tellformatto").replaceAll("sender_", "")));
String spy = "VentureChat:NoSpy";
if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) {
spy = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("tellformatspy").replaceAll("sender_", "")));
}
try {
out.writeUTF("Message");
out.writeUTF("Send");
out.writeUTF(args[0]);
out.writeUTF(mcp.getUuid().toString());
out.writeUTF(mcp.getName());
out.writeUTF(send);
out.writeUTF(echo);
out.writeUTF(spy);
out.writeUTF(msg);
pluginMessageController.sendPluginMessage(byteOutStream);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}

View File

@ -1,30 +1,29 @@
package venture.Aust1n46.chat.controllers.commands; package venture.Aust1n46.chat.controllers.commands;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.google.inject.Inject; import com.google.inject.Inject;
import venture.Aust1n46.chat.controllers.PluginMessageController; import venture.Aust1n46.chat.controllers.PluginMessageController;
import venture.Aust1n46.chat.localization.LocalizedMessage; import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.PlayerCommand;
import venture.Aust1n46.chat.model.VentureChatPlayer; import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.model.VentureCommand;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService; import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
public class MessageToggle implements VentureCommand { public class MessageToggle extends PlayerCommand {
@Inject @Inject
private PluginMessageController pluginMessageController; private PluginMessageController pluginMessageController;
@Inject @Inject
private VentureChatPlayerApiService playerApiService; private VentureChatPlayerApiService playerApiService;
@Override @Inject
public void execute(CommandSender sender, String command, String[] args) { public MessageToggle(String name) {
if (!(sender instanceof Player)) { super(name);
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return;
} }
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
@Override
public void executeCommand(Player player, String command, String[] args) {
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer(player);
if (mcp.getPlayer().hasPermission("venturechat.messagetoggle")) { if (mcp.getPlayer().hasPermission("venturechat.messagetoggle")) {
if (!mcp.isMessageToggle()) { if (!mcp.isMessageToggle()) {
mcp.setMessageToggle(true); mcp.setMessageToggle(true);

View File

@ -8,7 +8,6 @@ import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
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.util.StringUtil; import org.bukkit.util.StringUtil;
@ -18,14 +17,14 @@ import com.google.inject.Inject;
import venture.Aust1n46.chat.controllers.PluginMessageController; import venture.Aust1n46.chat.controllers.PluginMessageController;
import venture.Aust1n46.chat.localization.LocalizedMessage; import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.ChatChannel; import venture.Aust1n46.chat.model.ChatChannel;
import venture.Aust1n46.chat.model.UniversalCommand;
import venture.Aust1n46.chat.model.VentureChatPlayer; import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.model.VentureCommand;
import venture.Aust1n46.chat.service.ConfigService; import venture.Aust1n46.chat.service.ConfigService;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService; import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
import venture.Aust1n46.chat.utilities.FormatUtils; import venture.Aust1n46.chat.utilities.FormatUtils;
public class Mute implements VentureCommand { public class Mute extends UniversalCommand {
private static final List<String> COMMON_MUTE_TIMES = Collections.unmodifiableList(Arrays.asList(new String[]{"12h", "15m", "1d", "1h", "1m", "30s"})); private static final List<String> COMMON_MUTE_TIMES = Collections.unmodifiableList(Arrays.asList(new String[] { "12h", "15m", "1d", "1h", "1m", "30s" }));
@Inject @Inject
private PluginMessageController pluginMessageController; private PluginMessageController pluginMessageController;
@ -34,12 +33,16 @@ public class Mute implements VentureCommand {
@Inject @Inject
private ConfigService configService; private ConfigService configService;
@Inject
public Mute(String name) {
super(name);
}
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public void executeCommand(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; return;
} }
if (configService.isChannel(args[0])) { if (configService.isChannel(args[0])) {
@ -75,9 +78,8 @@ public class Mute implements VentureCommand {
return; return;
} }
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; return;
} }
@ -85,17 +87,11 @@ public class Mute implements VentureCommand {
if (reason.isEmpty()) { if (reason.isEmpty()) {
playerToMute.addMute(channel.getName(), datetime + time); playerToMute.addMute(channel.getName(), datetime + time);
String timeString = FormatUtils.parseTimeStringFromMillis(time); String timeString = FormatUtils.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);
} }
@ -103,19 +99,12 @@ public class Mute implements VentureCommand {
} else { } else {
playerToMute.addMute(channel.getName(), datetime + time, reason); playerToMute.addMute(channel.getName(), datetime + time, reason);
String timeString = FormatUtils.parseTimeStringFromMillis(time); String timeString = FormatUtils.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);
} }
@ -124,30 +113,22 @@ public class Mute implements VentureCommand {
} 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;
} 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);
} }
@ -155,9 +136,7 @@ public class Mute implements VentureCommand {
} }
} }
} }
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())
.replace("{channel_name}", channel.getName()));
return; return;
} }
sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[0])); sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[0]));
@ -167,7 +146,7 @@ public class Mute implements VentureCommand {
} }
@Override @Override
public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) { public List<String> tabComplete(CommandSender sender, String alias, String[] args) {
List<String> completions = new ArrayList<>(); List<String> completions = new ArrayList<>();
if (args.length == 1) { if (args.length == 1) {
StringUtil.copyPartialMatches(args[0], configService.getChatChannels().stream().map(ChatChannel::getName).collect(Collectors.toList()), completions); StringUtil.copyPartialMatches(args[0], configService.getChatChannels().stream().map(ChatChannel::getName).collect(Collectors.toList()), completions);
@ -182,7 +161,8 @@ public class Mute implements VentureCommand {
Collections.sort(completions); Collections.sort(completions);
return completions; return completions;
} }
StringUtil.copyPartialMatches(args[1], playerApiService.getOnlineMineverseChatPlayers().stream().filter(mcp -> !mcp.isMuted(chatChannelObj.getName())).map(VentureChatPlayer::getName).collect(Collectors.toList()), completions); StringUtil.copyPartialMatches(args[1], playerApiService.getOnlineMineverseChatPlayers().stream().filter(mcp -> !mcp.isMuted(chatChannelObj.getName()))
.map(VentureChatPlayer::getName).collect(Collectors.toList()), completions);
Collections.sort(completions); Collections.sort(completions);
return completions; return completions;
} }

View File

@ -7,13 +7,13 @@ import com.google.inject.Inject;
import venture.Aust1n46.chat.controllers.PluginMessageController; import venture.Aust1n46.chat.controllers.PluginMessageController;
import venture.Aust1n46.chat.localization.LocalizedMessage; import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.ChatChannel; import venture.Aust1n46.chat.model.ChatChannel;
import venture.Aust1n46.chat.model.UniversalCommand;
import venture.Aust1n46.chat.model.VentureChatPlayer; import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.model.VentureCommand;
import venture.Aust1n46.chat.service.ConfigService; import venture.Aust1n46.chat.service.ConfigService;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService; import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
import venture.Aust1n46.chat.utilities.FormatUtils; import venture.Aust1n46.chat.utilities.FormatUtils;
public class Muteall implements VentureCommand { public class Muteall extends UniversalCommand {
@Inject @Inject
private PluginMessageController pluginMessageController; private PluginMessageController pluginMessageController;
@Inject @Inject
@ -21,19 +21,21 @@ public class Muteall implements VentureCommand {
@Inject @Inject
private ConfigService configService; private ConfigService configService;
@Inject
public Muteall(String name) {
super(name);
}
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public void executeCommand(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")
.replace("{args}", "[player] {reason}"));
return; return;
} }
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[0]); VentureChatPlayer player = playerApiService.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; return;
} }
String reason = ""; String reason = "";
@ -57,8 +59,7 @@ public class Muteall implements VentureCommand {
if (bungee) { if (bungee) {
pluginMessageController.synchronize(player, true); pluginMessageController.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
@ -77,12 +78,9 @@ public class Muteall implements VentureCommand {
if (bungee) { if (bungee) {
pluginMessageController.synchronize(player, true); pluginMessageController.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;

View File

@ -1,28 +1,26 @@
package venture.Aust1n46.chat.controllers.commands; package venture.Aust1n46.chat.controllers.commands;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.google.inject.Inject; import com.google.inject.Inject;
import venture.Aust1n46.chat.localization.LocalizedMessage; import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.PlayerCommand;
import venture.Aust1n46.chat.model.VentureChatPlayer; import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.model.VentureCommand;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService; import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
public class Notifications implements VentureCommand { public class Notifications extends PlayerCommand {
@Inject @Inject
private VentureChatPlayerApiService playerApiService; private VentureChatPlayerApiService playerApiService;
@Override @Inject
public void execute(CommandSender sender, String command, String[] args) { public Notifications(String name) {
if (!(sender instanceof Player)) { super(name);
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return;
} }
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender); @Override
public void executeCommand(Player player, String command, String[] args) {
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer(player);
if (!mcp.isNotifications()) { if (!mcp.isNotifications()) {
mcp.setNotifications(true); mcp.setNotifications(true);
mcp.getPlayer().sendMessage(LocalizedMessage.NOTIFICATIONS_ON.toString()); mcp.getPlayer().sendMessage(LocalizedMessage.NOTIFICATIONS_ON.toString());

View File

@ -3,19 +3,18 @@ package venture.Aust1n46.chat.controllers.commands;
import static venture.Aust1n46.chat.utilities.FormatUtils.LINE_LENGTH; import static venture.Aust1n46.chat.utilities.FormatUtils.LINE_LENGTH;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.google.inject.Inject; import com.google.inject.Inject;
import venture.Aust1n46.chat.initiators.application.VentureChat; import venture.Aust1n46.chat.initiators.application.VentureChat;
import venture.Aust1n46.chat.model.PlayerCommand;
import venture.Aust1n46.chat.model.VentureChatPlayer; import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.model.VentureCommand;
import venture.Aust1n46.chat.service.VentureChatFormatService; import venture.Aust1n46.chat.service.VentureChatFormatService;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService; import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
import venture.Aust1n46.chat.utilities.FormatUtils; import venture.Aust1n46.chat.utilities.FormatUtils;
public class Party implements VentureCommand { public class Party extends PlayerCommand {
@Inject @Inject
private VentureChat plugin; private VentureChat plugin;
@Inject @Inject
@ -23,34 +22,34 @@ public class Party implements VentureCommand {
@Inject @Inject
private VentureChatPlayerApiService playerApiService; private VentureChatPlayerApiService playerApiService;
@Override @Inject
public void execute(CommandSender sender, String command, String[] args) { public Party(String name) {
if(!(sender instanceof Player)) { super(name);
plugin.getServer().getConsoleSender().sendMessage(ChatColor.RED + "This command must be run by a player.");
return;
} }
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
if(!mcp.getPlayer().hasPermission("venturechat.party")) { @Override
public void executeCommand(Player sender, String command, String[] args) {
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer(sender);
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;
} }
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;
} }
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(VentureChatPlayer player : playerApiService.getMineverseChatPlayers()) { for (VentureChatPlayer player : playerApiService.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);
} }
} }
@ -64,21 +63,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;
} }
if(args.length > 1) { if (args.length > 1) {
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[1]); VentureChatPlayer player = playerApiService.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());
@ -98,21 +95,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;
} }
if(mcp.hasParty()) { if (mcp.hasParty()) {
mcp.getPlayer().sendMessage(ChatColor.GREEN + "Leaving " + playerApiService.getMineverseChatPlayer(mcp.getParty()).getName() + "'s party."); mcp.getPlayer().sendMessage(ChatColor.GREEN + "Leaving " + playerApiService.getMineverseChatPlayer(mcp.getParty()).getName() + "'s party.");
mcp.setParty(null); mcp.setParty(null);
if(mcp.isHost()) { if (mcp.isHost()) {
for(VentureChatPlayer player : playerApiService.getMineverseChatPlayers()) { for (VentureChatPlayer player : playerApiService.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);
} }
} }
@ -125,16 +121,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;
} }
if(mcp.isHost()) { if (mcp.isHost()) {
if(args.length > 1) { if (args.length > 1) {
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[1]); VentureChatPlayer player = playerApiService.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.");
@ -156,59 +152,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;
} }
if(mcp.hasParty() && !mcp.isHost()) { if (mcp.hasParty() && !mcp.isHost()) {
mcp.getPlayer().sendMessage(ChatColor.GREEN + "You are in " + playerApiService.getMineverseChatPlayer(mcp.getParty()).getName() + "'s party."); mcp.getPlayer().sendMessage(ChatColor.GREEN + "You are in " + playerApiService.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;
} }
@ -216,20 +202,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;
} }
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 = playerApiService.getMineverseChatPlayer(mcp.getConversation()).getName(); String tellChat = playerApiService.getMineverseChatPlayer(mcp.getConversation()).getName();
mcp.setConversation(null); mcp.setConversation(null);
for(VentureChatPlayer p : playerApiService.getOnlineMineverseChatPlayers()) { for (VentureChatPlayer p : playerApiService.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 + ".");
} }
} }
@ -240,39 +226,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;
} }
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;
} }
if(args.length > 1) { if (args.length > 1) {
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[1]); VentureChatPlayer player = playerApiService.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(VentureChatPlayer p : playerApiService.getMineverseChatPlayers()) { for (VentureChatPlayer p : playerApiService.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);
@ -288,34 +274,36 @@ 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.isFilter()) { if (mcp.isFilter()) {
msg = formatService.FilterChat(msg); msg = formatService.FilterChat(msg);
} }
if(mcp.getPlayer().hasPermission("venturechat.color.legacy")) { if (mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
msg = FormatUtils.FormatStringLegacyColor(msg); msg = FormatUtils.FormatStringLegacyColor(msg);
} }
if(mcp.getPlayer().hasPermission("venturechat.color")) { if (mcp.getPlayer().hasPermission("venturechat.color")) {
msg = FormatUtils.FormatStringColor(msg); msg = FormatUtils.FormatStringColor(msg);
} }
if(mcp.getPlayer().hasPermission("venturechat.format")) { if (mcp.getPlayer().hasPermission("venturechat.format")) {
msg = FormatUtils.FormatString(msg); msg = FormatUtils.FormatString(msg);
} }
if(plugin.getConfig().getString("partyformat").equalsIgnoreCase("Default")) { if (plugin.getConfig().getString("partyformat").equalsIgnoreCase("Default")) {
partyformat = ChatColor.GREEN + "[" + playerApiService.getMineverseChatPlayer(mcp.getParty()).getName() + "'s Party] " + mcp.getName() + ":" + msg; partyformat = ChatColor.GREEN + "[" + playerApiService.getMineverseChatPlayer(mcp.getParty()).getName() + "'s Party] " + mcp.getName() + ":" + msg;
} else {
partyformat = FormatUtils.FormatStringAll(plugin.getConfig().getString("partyformat")
.replace("{host}", playerApiService.getMineverseChatPlayer(mcp.getParty()).getName()).replace("{player}", mcp.getName())) + msg;
} }
else { for (VentureChatPlayer p : playerApiService.getOnlineMineverseChatPlayers()) {
partyformat = FormatUtils.FormatStringAll(plugin.getConfig().getString("partyformat").replace("{host}", playerApiService.getMineverseChatPlayer(mcp.getParty()).getName()).replace("{player}", mcp.getName())) + msg; if ((p.getParty().equals(mcp.getParty()) || p.isSpy())) {
}
for(VentureChatPlayer p : playerApiService.getOnlineMineverseChatPlayers()) {
if((p.getParty().equals(mcp.getParty()) || p.isSpy())) {
p.getPlayer().sendMessage(partyformat); p.getPlayer().sendMessage(partyformat);
} }
} }
@ -324,8 +312,7 @@ public class Party implements VentureCommand {
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;

View File

@ -1,27 +1,26 @@
package venture.Aust1n46.chat.controllers.commands; package venture.Aust1n46.chat.controllers.commands;
import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.model.VentureCommand;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.google.inject.Inject; import com.google.inject.Inject;
public class RangedSpy implements VentureCommand { import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.PlayerCommand;
import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
public class RangedSpy extends PlayerCommand {
@Inject @Inject
private VentureChatPlayerApiService playerApiService; private VentureChatPlayerApiService playerApiService;
@Override @Inject
public void execute(CommandSender sender, String command, String[] args) { public RangedSpy(String name) {
if (!(sender instanceof Player)) { super(name);
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return;
} }
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
@Override
public void executeCommand(Player player, String command, String[] args) {
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) player);
if (mcp.getPlayer().hasPermission("venturechat.rangedspy")) { if (mcp.getPlayer().hasPermission("venturechat.rangedspy")) {
if (!mcp.getRangedSpy()) { if (!mcp.getRangedSpy()) {
mcp.setRangedSpy(true); mcp.setRangedSpy(true);

View File

@ -20,14 +20,14 @@ import venture.Aust1n46.chat.controllers.PluginMessageController;
import venture.Aust1n46.chat.initiators.application.VentureChat; import venture.Aust1n46.chat.initiators.application.VentureChat;
import venture.Aust1n46.chat.localization.LocalizedMessage; import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.ChatMessage; import venture.Aust1n46.chat.model.ChatMessage;
import venture.Aust1n46.chat.model.UniversalCommand;
import venture.Aust1n46.chat.model.VentureChatPlayer; import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.model.VentureCommand;
import venture.Aust1n46.chat.service.ConfigService; import venture.Aust1n46.chat.service.ConfigService;
import venture.Aust1n46.chat.service.VentureChatFormatService; import venture.Aust1n46.chat.service.VentureChatFormatService;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService; import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
import venture.Aust1n46.chat.utilities.FormatUtils; import venture.Aust1n46.chat.utilities.FormatUtils;
public class Removemessage implements VentureCommand { public class Removemessage extends UniversalCommand {
@Inject @Inject
private VentureChat plugin; private VentureChat plugin;
@Inject @Inject
@ -42,19 +42,25 @@ public class Removemessage implements VentureCommand {
private PacketContainer emptyLinePacketContainer; private PacketContainer emptyLinePacketContainer;
private WrappedChatComponent messageDeletedComponentPlayer; private WrappedChatComponent messageDeletedComponentPlayer;
@Inject
public Removemessage(String name) {
super(name);
}
@Inject @Inject
public void postConstruct() { public void postConstruct() {
emptyLinePacketContainer = formatService.createPacketPlayOutChat("{\"extra\":[\" \"],\"text\":\"\"}"); emptyLinePacketContainer = formatService.createPacketPlayOutChat("{\"extra\":[\" \"],\"text\":\"\"}");
messageDeletedComponentPlayer = WrappedChatComponent.fromJson("{\"text\":\"\",\"extra\":[{\"text\":\"\",\"extra\":[" + formatService.convertToJsonColors(FormatUtils.FormatStringAll(plugin.getConfig().getString("messageremovertext"))) + "],\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[" + formatService.convertToJsonColors(FormatUtils.FormatStringAll(plugin.getConfig().getString("messageremoverpermissions"))) + "]}}}]}"); messageDeletedComponentPlayer = WrappedChatComponent.fromJson("{\"text\":\"\",\"extra\":[{\"text\":\"\",\"extra\":["
+ formatService.convertToJsonColors(FormatUtils.FormatStringAll(plugin.getConfig().getString("messageremovertext")))
+ "],\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":["
+ formatService.convertToJsonColors(FormatUtils.FormatStringAll(plugin.getConfig().getString("messageremoverpermissions"))) + "]}}}]}");
} }
@Override @Override
@SuppressWarnings({"unchecked", "rawtypes"}) @SuppressWarnings({ "unchecked", "rawtypes" })
public void execute(CommandSender sender, String command, String[] args) { public void executeCommand(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")
.replace("{args}", "[hashcode] {channel}"));
return; return;
} }
final int hash; final int hash;
@ -89,7 +95,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(formatService.createPacketPlayOutChat(removedComponent)); playerPackets.add(formatService.createPacketPlayOutChat(removedComponent));
@ -97,9 +105,12 @@ public class Removemessage implements VentureCommand {
continue; continue;
} }
if (message.getMessage().contains(ChatColor.stripColor(FormatUtils.FormatStringAll(plugin.getConfig().getString("guiicon"))))) { if (message.getMessage().contains(ChatColor.stripColor(FormatUtils.FormatStringAll(plugin.getConfig().getString("guiicon"))))) {
String submessage = message.getMessage().substring(0, message.getMessage().length() - ChatColor.stripColor(FormatUtils.FormatStringAll(plugin.getConfig().getString("guiicon"))).length()); String submessage = message.getMessage().substring(0,
message.getMessage().length() - ChatColor.stripColor(FormatUtils.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(formatService.createPacketPlayOutChat(removedComponent)); playerPackets.add(formatService.createPacketPlayOutChat(removedComponent));
@ -134,6 +145,8 @@ public class Removemessage implements VentureCommand {
} }
public WrappedChatComponent getMessageDeletedChatComponentAdmin(ChatMessage message) { public WrappedChatComponent getMessageDeletedChatComponentAdmin(ChatMessage message) {
return WrappedChatComponent.fromJson("[{\"text\":\"\",\"extra\":[{\"text\":\"\",\"extra\":[" + formatService.convertToJsonColors(FormatUtils.FormatStringAll(plugin.getConfig().getString("messageremovertext"))) + "],\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\"," + message.getColoredMessage() + "}}}]}]"); return WrappedChatComponent.fromJson("[{\"text\":\"\",\"extra\":[{\"text\":\"\",\"extra\":["
+ formatService.convertToJsonColors(FormatUtils.FormatStringAll(plugin.getConfig().getString("messageremovertext")))
+ "],\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\"," + message.getColoredMessage() + "}}}]}]");
} }
} }

View File

@ -3,7 +3,6 @@ package venture.Aust1n46.chat.controllers.commands;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream; import java.io.DataOutputStream;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.google.inject.Inject; import com.google.inject.Inject;
@ -12,13 +11,13 @@ import me.clip.placeholderapi.PlaceholderAPI;
import venture.Aust1n46.chat.controllers.PluginMessageController; import venture.Aust1n46.chat.controllers.PluginMessageController;
import venture.Aust1n46.chat.initiators.application.VentureChat; import venture.Aust1n46.chat.initiators.application.VentureChat;
import venture.Aust1n46.chat.localization.LocalizedMessage; import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.PlayerCommand;
import venture.Aust1n46.chat.model.VentureChatPlayer; import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.model.VentureCommand; import venture.Aust1n46.chat.service.VentureChatFormatService;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService; import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
import venture.Aust1n46.chat.utilities.FormatUtils; import venture.Aust1n46.chat.utilities.FormatUtils;
import venture.Aust1n46.chat.service.VentureChatFormatService;
public class Reply implements VentureCommand { public class Reply extends PlayerCommand {
@Inject @Inject
private VentureChat plugin; private VentureChat plugin;
@Inject @Inject
@ -28,13 +27,18 @@ public class Reply implements VentureCommand {
@Inject @Inject
private VentureChatPlayerApiService playerApiService; private VentureChatPlayerApiService playerApiService;
@Inject
public Reply(String name) {
super(name);
}
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public void executeCommand(Player 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;
} }
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender); VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer(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)) {
@ -52,13 +56,11 @@ public class Reply implements VentureCommand {
return; 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; return;
} }
if (!player.isMessageToggle()) { if (!player.isMessageToggle()) {
mcp.getPlayer().sendMessage(LocalizedMessage.BLOCKING_MESSAGE.toString() mcp.getPlayer().sendMessage(LocalizedMessage.BLOCKING_MESSAGE.toString().replace("{player}", player.getName()));
.replace("{player}", player.getName()));
return; return;
} }
String msg = ""; String msg = "";
@ -81,9 +83,12 @@ public class Reply implements VentureCommand {
msg = FormatUtils.FormatString(msg); msg = FormatUtils.FormatString(msg);
} }
send = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatfrom").replaceAll("sender_", ""))); send = FormatUtils
echo = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatto").replaceAll("sender_", ""))); .FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatfrom").replaceAll("sender_", "")));
spy = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatspy").replaceAll("sender_", ""))); echo = FormatUtils
.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatto").replaceAll("sender_", "")));
spy = FormatUtils
.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatspy").replaceAll("sender_", "")));
send = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(player.getPlayer(), send.replaceAll("receiver_", ""))) + msg; send = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(player.getPlayer(), send.replaceAll("receiver_", ""))) + msg;
echo = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(player.getPlayer(), echo.replaceAll("receiver_", ""))) + msg; echo = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(player.getPlayer(), echo.replaceAll("receiver_", ""))) + msg;
@ -111,9 +116,7 @@ public class Reply implements VentureCommand {
mcp.getPlayer().sendMessage(LocalizedMessage.NO_PLAYER_TO_REPLY_TO.toString()); mcp.getPlayer().sendMessage(LocalizedMessage.NO_PLAYER_TO_REPLY_TO.toString());
return; return;
} }
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")
.replace("{args}", "[message]"));
} }
private void sendBungeeCordReply(VentureChatPlayer mcp, String[] args) { private void sendBungeeCordReply(VentureChatPlayer mcp, String[] args) {
@ -137,7 +140,8 @@ public class Reply implements VentureCommand {
msg = FormatUtils.FormatString(msg); msg = FormatUtils.FormatString(msg);
} }
String send = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatfrom").replaceAll("sender_", ""))); String send = FormatUtils
.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatfrom").replaceAll("sender_", "")));
String echo = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatto").replaceAll("sender_", ""))); String echo = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatto").replaceAll("sender_", "")));
String spy = "VentureChat:NoSpy"; String spy = "VentureChat:NoSpy";
if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) { if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) {

View File

@ -7,12 +7,12 @@ import com.google.inject.Inject;
import venture.Aust1n46.chat.controllers.PluginMessageController; import venture.Aust1n46.chat.controllers.PluginMessageController;
import venture.Aust1n46.chat.localization.LocalizedMessage; import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.ChatChannel; import venture.Aust1n46.chat.model.ChatChannel;
import venture.Aust1n46.chat.model.UniversalCommand;
import venture.Aust1n46.chat.model.VentureChatPlayer; import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.model.VentureCommand;
import venture.Aust1n46.chat.service.ConfigService; import venture.Aust1n46.chat.service.ConfigService;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService; import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
public class Setchannel implements VentureCommand { public class Setchannel extends UniversalCommand {
@Inject @Inject
private PluginMessageController pluginMessageController; private PluginMessageController pluginMessageController;
@Inject @Inject
@ -20,25 +20,26 @@ public class Setchannel implements VentureCommand {
@Inject @Inject
private ConfigService configService; private ConfigService configService;
@Inject
public Setchannel(String name) {
super(name);
}
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public void executeCommand(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")
.replace("{args}", "[player] [channel]"));
return; return;
} }
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[0]); VentureChatPlayer player = playerApiService.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; return;
} }
ChatChannel channel = configService.getChannel(args[1]); ChatChannel channel = configService.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; return;
} }
if (channel.hasPermission()) { if (channel.hasPermission()) {
@ -48,38 +49,32 @@ public class Setchannel implements VentureCommand {
} }
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() + "")
.replace("{channel_name}", channel.getName()));
return; 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 (VentureChatPlayer p : playerApiService.getOnlineMineverseChatPlayers()) { for (VentureChatPlayer p : playerApiService.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}", playerApiService.getMineverseChatPlayer(player.getConversation()).getName())); .replace("{player_receiver}", playerApiService.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}", playerApiService.getMineverseChatPlayer(player.getConversation()).getName())); playerApiService.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);
} }

View File

@ -7,12 +7,12 @@ import com.google.inject.Inject;
import venture.Aust1n46.chat.controllers.PluginMessageController; import venture.Aust1n46.chat.controllers.PluginMessageController;
import venture.Aust1n46.chat.localization.LocalizedMessage; import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.ChatChannel; import venture.Aust1n46.chat.model.ChatChannel;
import venture.Aust1n46.chat.model.UniversalCommand;
import venture.Aust1n46.chat.model.VentureChatPlayer; import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.model.VentureCommand;
import venture.Aust1n46.chat.service.ConfigService; import venture.Aust1n46.chat.service.ConfigService;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService; import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
public class Setchannelall implements VentureCommand { public class Setchannelall extends UniversalCommand {
@Inject @Inject
private PluginMessageController pluginMessageController; private PluginMessageController pluginMessageController;
@Inject @Inject
@ -20,19 +20,21 @@ public class Setchannelall implements VentureCommand {
@Inject @Inject
private ConfigService configService; private ConfigService configService;
@Inject
public Setchannelall(String name) {
super(name);
}
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public void executeCommand(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")
.replace("{args}", "[player]"));
return; return;
} }
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[0]); VentureChatPlayer player = playerApiService.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; return;
} }
boolean isThereABungeeChannel = false; boolean isThereABungeeChannel = false;
@ -54,8 +56,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

View File

@ -1,30 +1,29 @@
package venture.Aust1n46.chat.controllers.commands; package venture.Aust1n46.chat.controllers.commands;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.google.inject.Inject; import com.google.inject.Inject;
import venture.Aust1n46.chat.controllers.PluginMessageController; import venture.Aust1n46.chat.controllers.PluginMessageController;
import venture.Aust1n46.chat.localization.LocalizedMessage; import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.PlayerCommand;
import venture.Aust1n46.chat.model.VentureChatPlayer; import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.model.VentureCommand;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService; import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
public class Spy implements VentureCommand { public class Spy extends PlayerCommand {
@Inject @Inject
private PluginMessageController pluginMessageController; private PluginMessageController pluginMessageController;
@Inject @Inject
private VentureChatPlayerApiService playerApiService; private VentureChatPlayerApiService playerApiService;
@Override @Inject
public void execute(CommandSender sender, String command, String[] args) { public Spy(String name) {
if (!(sender instanceof Player)) { super(name);
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return;
} }
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
@Override
public void executeCommand(Player player, String command, String[] args) {
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer(player);
if (mcp.getPlayer().hasPermission("venturechat.spy")) { if (mcp.getPlayer().hasPermission("venturechat.spy")) {
if (!mcp.isSpy()) { if (!mcp.isSpy()) {
mcp.setSpy(true); mcp.setSpy(true);

View File

@ -7,7 +7,6 @@ import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
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.util.StringUtil; import org.bukkit.util.StringUtil;
@ -17,12 +16,12 @@ import com.google.inject.Inject;
import venture.Aust1n46.chat.controllers.PluginMessageController; import venture.Aust1n46.chat.controllers.PluginMessageController;
import venture.Aust1n46.chat.localization.LocalizedMessage; import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.ChatChannel; import venture.Aust1n46.chat.model.ChatChannel;
import venture.Aust1n46.chat.model.UniversalCommand;
import venture.Aust1n46.chat.model.VentureChatPlayer; import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.model.VentureCommand;
import venture.Aust1n46.chat.service.ConfigService; import venture.Aust1n46.chat.service.ConfigService;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService; import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
public class Unmute implements VentureCommand { public class Unmute extends UniversalCommand {
@Inject @Inject
private PluginMessageController pluginMessageController; private PluginMessageController pluginMessageController;
@Inject @Inject
@ -30,12 +29,16 @@ public class Unmute implements VentureCommand {
@Inject @Inject
private ConfigService configService; private ConfigService configService;
@Inject
public Unmute(String name) {
super(name);
}
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public void executeCommand(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; return;
} }
if (configService.isChannel(args[0])) { if (configService.isChannel(args[0])) {
@ -50,19 +53,16 @@ public class Unmute implements VentureCommand {
return; return;
} }
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;
} }
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);
} }
@ -77,7 +77,7 @@ public class Unmute implements VentureCommand {
} }
@Override @Override
public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) { public List<String> tabComplete(CommandSender sender, String alias, String[] args) {
List<String> completions = new ArrayList<>(); List<String> completions = new ArrayList<>();
if (args.length == 1) { if (args.length == 1) {
StringUtil.copyPartialMatches(args[0], configService.getChatChannels().stream().map(ChatChannel::getName).collect(Collectors.toList()), completions); StringUtil.copyPartialMatches(args[0], configService.getChatChannels().stream().map(ChatChannel::getName).collect(Collectors.toList()), completions);
@ -92,7 +92,8 @@ public class Unmute implements VentureCommand {
Collections.sort(completions); Collections.sort(completions);
return completions; return completions;
} }
StringUtil.copyPartialMatches(args[1], playerApiService.getOnlineMineverseChatPlayers().stream().filter(mcp -> mcp.isMuted(chatChannelObj.getName())).map(VentureChatPlayer::getName).collect(Collectors.toList()), completions); StringUtil.copyPartialMatches(args[1], playerApiService.getOnlineMineverseChatPlayers().stream().filter(mcp -> mcp.isMuted(chatChannelObj.getName()))
.map(VentureChatPlayer::getName).collect(Collectors.toList()), completions);
Collections.sort(completions); Collections.sort(completions);
return completions; return completions;
} }

View File

@ -7,12 +7,12 @@ import com.google.inject.Inject;
import venture.Aust1n46.chat.controllers.PluginMessageController; import venture.Aust1n46.chat.controllers.PluginMessageController;
import venture.Aust1n46.chat.localization.LocalizedMessage; import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.ChatChannel; import venture.Aust1n46.chat.model.ChatChannel;
import venture.Aust1n46.chat.model.UniversalCommand;
import venture.Aust1n46.chat.model.VentureChatPlayer; import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.model.VentureCommand;
import venture.Aust1n46.chat.service.ConfigService; import venture.Aust1n46.chat.service.ConfigService;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService; import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
public class Unmuteall implements VentureCommand { public class Unmuteall extends UniversalCommand {
@Inject @Inject
private PluginMessageController pluginMessageController; private PluginMessageController pluginMessageController;
@Inject @Inject
@ -20,19 +20,21 @@ public class Unmuteall implements VentureCommand {
@Inject @Inject
private ConfigService configService; private ConfigService configService;
@Inject
public Unmuteall(String name) {
super(name);
}
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public void executeCommand(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")
.replace("{args}", "[player]"));
return; return;
} }
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[0]); VentureChatPlayer player = playerApiService.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; return;
} }
boolean bungee = false; boolean bungee = false;
@ -45,8 +47,7 @@ public class Unmuteall implements VentureCommand {
if (bungee) { if (bungee) {
pluginMessageController.synchronize(player, true); pluginMessageController.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

View File

@ -6,7 +6,6 @@ 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.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
@ -20,14 +19,14 @@ import venture.Aust1n46.chat.initiators.application.VentureChat;
import venture.Aust1n46.chat.localization.LocalizedMessage; import venture.Aust1n46.chat.localization.LocalizedMessage;
import venture.Aust1n46.chat.model.ChatChannel; import venture.Aust1n46.chat.model.ChatChannel;
import venture.Aust1n46.chat.model.GuiSlot; import venture.Aust1n46.chat.model.GuiSlot;
import venture.Aust1n46.chat.model.PlayerCommand;
import venture.Aust1n46.chat.model.VentureChatPlayer; import venture.Aust1n46.chat.model.VentureChatPlayer;
import venture.Aust1n46.chat.model.VentureCommand;
import venture.Aust1n46.chat.service.ConfigService; import venture.Aust1n46.chat.service.ConfigService;
import venture.Aust1n46.chat.service.VentureChatPlayerApiService; import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
import venture.Aust1n46.chat.utilities.FormatUtils; import venture.Aust1n46.chat.utilities.FormatUtils;
import venture.Aust1n46.chat.utilities.VersionHandler; import venture.Aust1n46.chat.utilities.VersionHandler;
public class VentureChatGui implements VentureCommand { public class VentureChatGui extends PlayerCommand {
@Inject @Inject
private VentureChat plugin; private VentureChat plugin;
@Inject @Inject
@ -35,24 +34,22 @@ public class VentureChatGui implements VentureCommand {
@Inject @Inject
private ConfigService configService; private ConfigService configService;
@Inject
public VentureChatGui(String name) {
super(name);
}
@Override @Override
public void execute(CommandSender sender, String command, String[] args) { public void executeCommand(Player player, String command, String[] args) {
if (!(sender instanceof Player)) {
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
return;
}
if (args.length < 3) { if (args.length < 3) {
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString() player.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/venturechatgui").replace("{args}", "[player] [channel] [hashcode]"));
.replace("{command}", "/venturechatgui")
.replace("{args}", "[player] [channel] [hashcode]"));
return; return;
} }
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender); VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer(player);
if (mcp.getPlayer().hasPermission("venturechat.gui")) { if (mcp.getPlayer().hasPermission("venturechat.gui")) {
VentureChatPlayer target = playerApiService.getMineverseChatPlayer(args[0]); VentureChatPlayer target = playerApiService.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; return;
} }
if (configService.isChannel(args[1])) { if (configService.isChannel(args[1])) {
@ -61,7 +58,7 @@ public class VentureChatGui implements VentureCommand {
try { try {
hash = Integer.parseInt(args[2]); hash = Integer.parseInt(args[2]);
} catch (Exception e) { } catch (Exception e) {
sender.sendMessage(LocalizedMessage.INVALID_HASH.toString()); player.sendMessage(LocalizedMessage.INVALID_HASH.toString());
return; return;
} }
if (args[0].equals("Discord")) { if (args[0].equals("Discord")) {
@ -71,8 +68,7 @@ public class VentureChatGui implements VentureCommand {
this.openInventory(mcp, target, channel, hash); this.openInventory(mcp, target, channel, hash);
return; return;
} }
mcp.getPlayer().sendMessage(LocalizedMessage.INVALID_CHANNEL.toString() mcp.getPlayer().sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[1]));
.replace("{args}", args[1]));
return; return;
} }
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString()); mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());

View File

@ -1,58 +1,25 @@
package venture.Aust1n46.chat.controllers.commands; package venture.Aust1n46.chat.controllers.commands;
import venture.Aust1n46.chat.initiators.application.VentureChat;
import venture.Aust1n46.chat.localization.InternalMessage;
//import net.md_5.bungee.api.chat.ClickEvent;
//import net.md_5.bungee.api.chat.ComponentBuilder;
//import net.md_5.bungee.api.chat.HoverEvent;
//import net.md_5.bungee.api.chat.TextComponent;
//import net.minecraft.server.v1_15_R1.IChatBaseComponent;
//import net.minecraft.server.v1_15_R1.PacketPlayOutChat;
import venture.Aust1n46.chat.model.VentureCommand;
//import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
//import org.bukkit.craftbukkit.v1_15_R1.entity.CraftPlayer;
//import org.bukkit.entity.Player;
import com.google.inject.Inject; import com.google.inject.Inject;
public class Venturechat implements VentureCommand { import venture.Aust1n46.chat.initiators.application.VentureChat;
import venture.Aust1n46.chat.localization.InternalMessage;
import venture.Aust1n46.chat.model.UniversalCommand;
public class Venturechat extends UniversalCommand {
@Inject @Inject
private VentureChat plugin; private VentureChat plugin;
@Override @Inject
public void execute(CommandSender sender, String command, String[] args) { public Venturechat(String name) {
sender.sendMessage(InternalMessage.VENTURECHAT_VERSION.toString() super(name);
.replace("{version}", plugin.getDescription().getVersion()));
sender.sendMessage(InternalMessage.VENTURECHAT_AUTHOR.toString());
// if (sender instanceof Player && plugin.getConfig().getString("loglevel", "info").equals("debug")) {
// Player player = (Player) sender;
// String title = ChatColor.GOLD + " | " + ChatColor.BLUE.toString() + ChatColor.BOLD + "SpigotAPI chat message" + ChatColor.RESET + ChatColor.GOLD + " | ";
// String spaces = " ";
// TextComponent tcSpaces = new TextComponent(spaces);
// TextComponent message = new TextComponent(title);
// message.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("Click here to rank up!").create()));
// message.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "Sample SpigotAPI Click Event"));
// tcSpaces.addExtra(message);
// player.spigot().sendMessage(tcSpaces);
//
//// sendActionBar(player, "NMS ActionBar message");
// }
} }
// public static void sendActionBar(Player player, String message) { @Override
// message= message.replaceAll("%player%", player.getDisplayName()); public void executeCommand(CommandSender sender, String command, String[] args) {
// message = ChatColor.translateAlternateColorCodes('&', message); sender.sendMessage(InternalMessage.VENTURECHAT_VERSION.toString().replace("{version}", plugin.getDescription().getVersion()));
// CraftPlayer p = (CraftPlayer) player; sender.sendMessage(InternalMessage.VENTURECHAT_AUTHOR.toString());
// IChatBaseComponent cbc = IChatBaseComponent.ChatSerializer.a("{\"text\": \"" + message + "\"}"); }
// PacketPlayOutChat ppoc = new PacketPlayOutChat(cbc);
// try {
// MineverseChat.posField.set(ppoc, MineverseChat.chatMessageType.getEnumConstants()[2]);
// }
// catch (Exception e) {
// e.printStackTrace();
// }
// p.getHandle().playerConnection.sendPacket(ppoc);
// }
} }

View File

@ -398,7 +398,7 @@ public class VentureChatProxyController {
out.writeUTF(spy); out.writeUTF(spy);
out.writeUTF(msg); out.writeUTF(msg);
source.getServers().forEach(serv -> { source.getServers().forEach(serv -> {
if(!send.isEmpty()) { if(!serv.isEmpty()) {
source.sendPluginMessage(serv.getName(), outstream.toByteArray()); source.sendPluginMessage(serv.getName(), outstream.toByteArray());
} }
}); });

View File

@ -1,17 +0,0 @@
package venture.Aust1n46.chat.model;
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;
}
}