mirror of
https://github.com/Aust1n46/VentureChat.git
synced 2025-05-22 18:09:06 +00:00
Convert all commands to new command API
This commit is contained in:
parent
6f830190a6
commit
ccccf02d5e
5
.settings/org.eclipse.core.resources.prefs
Normal file
5
.settings/org.eclipse.core.resources.prefs
Normal 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
|
4
.settings/org.eclipse.m2e.core.prefs
Normal file
4
.settings/org.eclipse.m2e.core.prefs
Normal file
@ -0,0 +1,4 @@
|
||||
activeProfiles=
|
||||
eclipse.preferences.version=1
|
||||
resolveWorkspaceProjects=true
|
||||
version=1
|
@ -1,23 +1,18 @@
|
||||
package venture.Aust1n46.chat.controllers;
|
||||
|
||||
import java.io.File;
|
||||
import java.lang.reflect.Constructor;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import org.bukkit.Server;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.command.PluginCommand;
|
||||
import org.bukkit.command.SimpleCommandMap;
|
||||
import org.bukkit.command.TabExecutor;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
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.BungeeToggle;
|
||||
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.Chatinfo;
|
||||
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.Force;
|
||||
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.Kickchannelall;
|
||||
import venture.Aust1n46.chat.controllers.commands.Leave;
|
||||
import venture.Aust1n46.chat.controllers.commands.Listen;
|
||||
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.Mute;
|
||||
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.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;
|
||||
|
||||
/**
|
||||
* Class that initializes and executes the plugin's commands.
|
||||
*/
|
||||
@Singleton
|
||||
public class CommandController implements TabExecutor {
|
||||
public class CommandController {
|
||||
private static final String COMMAND_CONFIG_VERSION = "3.3.0";
|
||||
|
||||
private Map<String, VentureCommand> commandsOld = new HashMap<>();
|
||||
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
@Inject
|
||||
private MessageCommandExecutor messageCommandExecutor;
|
||||
@Inject
|
||||
private IgnoreCommandExecutor ignoreCommandExecutor;
|
||||
private ConfigService configService;
|
||||
|
||||
@Inject
|
||||
private Broadcast broadcast;
|
||||
@ -149,23 +139,16 @@ public class CommandController implements TabExecutor {
|
||||
private Unmute unmute;
|
||||
@Inject
|
||||
private Unmuteall unmuteall;
|
||||
|
||||
private Constructor<PluginCommand> pluginCommandConstructor;
|
||||
@Inject
|
||||
private Message message;
|
||||
@Inject
|
||||
private Ignore ignore;
|
||||
@Inject
|
||||
private ChannelAlias channelAlias;
|
||||
|
||||
private final Map<String, Command> commands = new HashMap<>();
|
||||
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")
|
||||
@Inject
|
||||
public void postConstruct() {
|
||||
@ -183,7 +166,6 @@ public class CommandController implements TabExecutor {
|
||||
plugin.saveResource("commands.yml", true);
|
||||
commandsFileConfiguration = YamlConfiguration.loadConfiguration(commandsFile);
|
||||
}
|
||||
|
||||
try {
|
||||
knownCommands = server.getCommandMap().getKnownCommands(); // Paper :)
|
||||
}
|
||||
@ -202,85 +184,77 @@ public class CommandController implements TabExecutor {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
try {
|
||||
pluginCommandConstructor = PluginCommand.class.getDeclaredConstructor(String.class, Plugin.class);
|
||||
pluginCommandConstructor.setAccessible(true);
|
||||
} catch (NoSuchMethodException | SecurityException e) {
|
||||
e.printStackTrace();
|
||||
commands.put("broadcast", broadcast);
|
||||
commands.put("channel", channel);
|
||||
commands.put("join", channel);
|
||||
commands.put("channelinfo", channelinfo);
|
||||
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);
|
||||
}
|
||||
|
||||
commandsOld.put("broadcast", broadcast);
|
||||
// commandsOld.put("channel", channel);
|
||||
// commandsOld.put("join", channel);
|
||||
commandsOld.put("channelinfo", channelinfo);
|
||||
commandsOld.put("chatinfo", chatinfo);
|
||||
commandsOld.put("chatreload", chatreload);
|
||||
commandsOld.put("chlist", chlist);
|
||||
commandsOld.put("chwho", chwho);
|
||||
commandsOld.put("clearchat", clearchat);
|
||||
commandsOld.put("commandblock", commandblock);
|
||||
commandsOld.put("commandspy", commandspy);
|
||||
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);
|
||||
}
|
||||
|
||||
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);
|
||||
final ConfigurationSection commandsSection = commandsFileConfiguration.getConfigurationSection("commands");
|
||||
for (final String commandName : commandsSection.getKeys(false)) {
|
||||
final ConfigurationSection commandSection = commandsSection.getConfigurationSection(commandName);
|
||||
final boolean isEnabled = commandSection.getBoolean("enabled", true);
|
||||
if (!isEnabled) {
|
||||
commands.remove(commandName);
|
||||
} else {
|
||||
final Command command = commands.get(commandName);
|
||||
if (command != null) {
|
||||
final List<String> aliases = commandSection.getStringList("aliases");
|
||||
for (final String alias : aliases) {
|
||||
commands.put(alias, command);
|
||||
}
|
||||
commands.put("venturechat:" + commandName, command);
|
||||
}
|
||||
}
|
||||
}, 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) {
|
||||
|
@ -8,40 +8,44 @@ import com.google.inject.Inject;
|
||||
|
||||
import venture.Aust1n46.chat.initiators.application.VentureChat;
|
||||
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.utilities.FormatUtils;
|
||||
|
||||
public class Broadcast implements VentureCommand {
|
||||
public class Broadcast extends UniversalCommand {
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
private VentureChat plugin;
|
||||
@Inject
|
||||
private VentureChatFormatService formatService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
ConfigurationSection bs = plugin.getConfig().getConfigurationSection("broadcast");
|
||||
String broadcastColor = bs.getString("color", "white");
|
||||
String broadcastPermissions = bs.getString("permissions", "None");
|
||||
String broadcastDisplayTag = FormatUtils.FormatStringAll(bs.getString("displaytag", "[Broadcast]"));
|
||||
if (broadcastPermissions.equalsIgnoreCase("None") || sender.hasPermission(broadcastPermissions)) {
|
||||
if (args.length > 0) {
|
||||
String bc = "";
|
||||
for (int x = 0; x < args.length; x++) {
|
||||
if (args[x].length() > 0) bc += args[x] + " ";
|
||||
}
|
||||
bc = FormatUtils.FormatStringAll(bc);
|
||||
formatService.broadcastToServer(broadcastDisplayTag + ChatColor.valueOf(broadcastColor.toUpperCase()) + " " + bc);
|
||||
return;
|
||||
} else {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/broadcast")
|
||||
.replace("{args}", "[msg]"));
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
}
|
||||
@Inject
|
||||
public Broadcast(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void executeCommand(CommandSender sender, String command, String[] args) {
|
||||
ConfigurationSection bs = plugin.getConfig().getConfigurationSection("broadcast");
|
||||
String broadcastColor = bs.getString("color", "white");
|
||||
String broadcastPermissions = bs.getString("permissions", "None");
|
||||
String broadcastDisplayTag = FormatUtils.FormatStringAll(bs.getString("displaytag", "[Broadcast]"));
|
||||
if (broadcastPermissions.equalsIgnoreCase("None") || sender.hasPermission(broadcastPermissions)) {
|
||||
if (args.length > 0) {
|
||||
String bc = "";
|
||||
for (int x = 0; x < args.length; x++) {
|
||||
if (args[x].length() > 0)
|
||||
bc += args[x] + " ";
|
||||
}
|
||||
bc = FormatUtils.FormatStringAll(bc);
|
||||
formatService.broadcastToServer(broadcastDisplayTag + ChatColor.valueOf(broadcastColor.toUpperCase()) + " " + bc);
|
||||
return;
|
||||
} else {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/broadcast").replace("{args}", "[msg]"));
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,43 +1,42 @@
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
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.PlayerCommand;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class BungeeToggle implements VentureCommand {
|
||||
public class BungeeToggle extends PlayerCommand {
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.bungeetoggle")) {
|
||||
if (!mcp.isBungeeToggle()) {
|
||||
mcp.setBungeeToggle(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.BUNGEE_TOGGLE_ON.toString());
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
return;
|
||||
}
|
||||
mcp.setBungeeToggle(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.BUNGEE_TOGGLE_OFF.toString());
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
@Inject
|
||||
public BungeeToggle(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void executeCommand(Player player, String command, String[] args) {
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer(player);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.bungeetoggle")) {
|
||||
if (!mcp.isBungeeToggle()) {
|
||||
mcp.setBungeeToggle(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.BUNGEE_TOGGLE_ON.toString());
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
return;
|
||||
}
|
||||
mcp.setBungeeToggle(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.BUNGEE_TOGGLE_OFF.toString());
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -6,64 +6,70 @@ import org.bukkit.command.CommandSender;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
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.utilities.FormatUtils;
|
||||
|
||||
public class Channelinfo implements VentureCommand {
|
||||
public class Channelinfo extends UniversalCommand {
|
||||
@Inject
|
||||
private ConfigService configService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.channelinfo")) {
|
||||
if (args.length < 1) {
|
||||
sender.sendMessage(ChatColor.RED + "Invalid command: /channelinfo [channel]");
|
||||
return;
|
||||
}
|
||||
ChatChannel chname = configService.getChannel(args[0]);
|
||||
if (chname == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Invalid channel: " + args[0]);
|
||||
return;
|
||||
}
|
||||
if (chname.hasPermission()) {
|
||||
if (!sender.hasPermission(chname.getPermission())) {
|
||||
sender.sendMessage(ChatColor.RED + "You do not have permission to look at this channel.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
sender.sendMessage(ChatColor.GOLD + "Channel: " + chname.getColor() + chname.getName());
|
||||
sender.sendMessage(ChatColor.GOLD + "Alias: " + chname.getColor() + chname.getAlias());
|
||||
sender.sendMessage(ChatColor.GOLD + "Color: " + chname.getColor() + chname.getColorRaw());
|
||||
sender.sendMessage(ChatColor.GOLD + "ChatColor: " + (chname.getChatColor().equalsIgnoreCase("None") ? FormatUtils.DEFAULT_COLOR_CODE : chname.getChatColor()) + chname.getChatColorRaw());
|
||||
if (chname.hasPermission()) {
|
||||
sender.sendMessage(ChatColor.GOLD + "Permission: " + chname.getColor() + chname.getPermission());
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.GOLD + "Permission: " + chname.getColor() + "None");
|
||||
}
|
||||
if (chname.hasSpeakPermission()) {
|
||||
sender.sendMessage(ChatColor.GOLD + "Speak Permission: " + chname.getColor() + chname.getSpeakPermission());
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.GOLD + "Speak Permission: " + chname.getColor() + "None");
|
||||
}
|
||||
sender.sendMessage(ChatColor.GOLD + "Autojoin: " + chname.getColor() + chname.getAutojoin());
|
||||
sender.sendMessage(ChatColor.GOLD + "Default: " + chname.getColor() + chname.hasDistance());
|
||||
if (!chname.hasDistance() || chname.getBungee()) {
|
||||
sender.sendMessage(ChatColor.GOLD + "Distance: " + ChatColor.RED + "N/A");
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.GOLD + "Distance: " + chname.getColor() + chname.getDistance());
|
||||
}
|
||||
if (!chname.hasCooldown()) {
|
||||
sender.sendMessage(ChatColor.GOLD + "Cooldown: " + ChatColor.RED + "N/A");
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.GOLD + "Cooldown: " + chname.getColor() + chname.getCooldown());
|
||||
}
|
||||
sender.sendMessage(ChatColor.GOLD + "Bungeecord: " + chname.getColor() + chname.getBungee());
|
||||
sender.sendMessage(ChatColor.GOLD + "Format: " + chname.getColor() + chname.getFormat());
|
||||
return;
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.RED + "You do not have permission for this command.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
@Inject
|
||||
public Channelinfo(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void executeCommand(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.channelinfo")) {
|
||||
if (args.length < 1) {
|
||||
sender.sendMessage(ChatColor.RED + "Invalid command: /channelinfo [channel]");
|
||||
return;
|
||||
}
|
||||
ChatChannel chname = configService.getChannel(args[0]);
|
||||
if (chname == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Invalid channel: " + args[0]);
|
||||
return;
|
||||
}
|
||||
if (chname.hasPermission()) {
|
||||
if (!sender.hasPermission(chname.getPermission())) {
|
||||
sender.sendMessage(ChatColor.RED + "You do not have permission to look at this channel.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
sender.sendMessage(ChatColor.GOLD + "Channel: " + chname.getColor() + chname.getName());
|
||||
sender.sendMessage(ChatColor.GOLD + "Alias: " + chname.getColor() + chname.getAlias());
|
||||
sender.sendMessage(ChatColor.GOLD + "Color: " + chname.getColor() + chname.getColorRaw());
|
||||
sender.sendMessage(ChatColor.GOLD + "ChatColor: " + (chname.getChatColor().equalsIgnoreCase("None") ? FormatUtils.DEFAULT_COLOR_CODE : chname.getChatColor())
|
||||
+ chname.getChatColorRaw());
|
||||
if (chname.hasPermission()) {
|
||||
sender.sendMessage(ChatColor.GOLD + "Permission: " + chname.getColor() + chname.getPermission());
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.GOLD + "Permission: " + chname.getColor() + "None");
|
||||
}
|
||||
if (chname.hasSpeakPermission()) {
|
||||
sender.sendMessage(ChatColor.GOLD + "Speak Permission: " + chname.getColor() + chname.getSpeakPermission());
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.GOLD + "Speak Permission: " + chname.getColor() + "None");
|
||||
}
|
||||
sender.sendMessage(ChatColor.GOLD + "Autojoin: " + chname.getColor() + chname.getAutojoin());
|
||||
sender.sendMessage(ChatColor.GOLD + "Default: " + chname.getColor() + chname.hasDistance());
|
||||
if (!chname.hasDistance() || chname.getBungee()) {
|
||||
sender.sendMessage(ChatColor.GOLD + "Distance: " + ChatColor.RED + "N/A");
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.GOLD + "Distance: " + chname.getColor() + chname.getDistance());
|
||||
}
|
||||
if (!chname.hasCooldown()) {
|
||||
sender.sendMessage(ChatColor.GOLD + "Cooldown: " + ChatColor.RED + "N/A");
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.GOLD + "Cooldown: " + chname.getColor() + chname.getCooldown());
|
||||
}
|
||||
sender.sendMessage(ChatColor.GOLD + "Bungeecord: " + chname.getColor() + chname.getBungee());
|
||||
sender.sendMessage(ChatColor.GOLD + "Format: " + chname.getColor() + chname.getFormat());
|
||||
return;
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.RED + "You do not have permission for this command.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -8,136 +8,142 @@ import org.bukkit.entity.Player;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
import venture.Aust1n46.chat.model.UniversalCommand;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.ConfigService;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Chatinfo implements VentureCommand {
|
||||
public class Chatinfo extends UniversalCommand {
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
@Inject
|
||||
private ConfigService configService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.chatinfo")) {
|
||||
if (args.length == 0) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(ChatColor.RED + "This command must be run by a player; use /ci [name]");
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
String listen = "";
|
||||
String mute = "";
|
||||
String blockedcommands = "";
|
||||
if (args.length < 1) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Player: " + ChatColor.GREEN + mcp.getName());
|
||||
for (String c : mcp.getListening()) {
|
||||
ChatChannel channel = configService.getChannel(c);
|
||||
listen += channel.getColor() + channel.getName() + " ";
|
||||
}
|
||||
for (MuteContainer muteContainer : mcp.getMutes()) {
|
||||
ChatChannel channel = configService.getChannel(muteContainer.getChannel());
|
||||
mute += channel.getColor() + channel.getName() + " ";
|
||||
}
|
||||
for (String bc : mcp.getBlockedCommands()) {
|
||||
blockedcommands += bc + " ";
|
||||
}
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Listening: " + listen);
|
||||
if (mute.length() > 0) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Mutes: " + mute);
|
||||
} else {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Mutes: " + ChatColor.RED + "N/A");
|
||||
}
|
||||
if (blockedcommands.length() > 0) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Blocked Commands: " + ChatColor.RED + blockedcommands);
|
||||
} else {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Blocked Commands: " + ChatColor.RED + "N/A");
|
||||
}
|
||||
if (mcp.hasConversation()) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Private conversation: " + ChatColor.GREEN + playerApiService.getMineverseChatPlayer(mcp.getConversation()).getName());
|
||||
} else {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Private conversation: " + ChatColor.RED + "N/A");
|
||||
}
|
||||
if (mcp.isSpy()) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Spy: " + ChatColor.GREEN + "true");
|
||||
} else {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Spy: " + ChatColor.RED + "false");
|
||||
}
|
||||
if (mcp.hasCommandSpy()) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Command spy: " + ChatColor.GREEN + "true");
|
||||
} else {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Command spy: " + ChatColor.RED + "false");
|
||||
}
|
||||
if (mcp.isFilter()) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Filter: " + ChatColor.GREEN + "true");
|
||||
} else {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Filter: " + ChatColor.RED + "false");
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (sender.hasPermission("venturechat.chatinfo.others")) {
|
||||
String listen = "";
|
||||
String mute = "";
|
||||
String blockedcommands = "";
|
||||
VentureChatPlayer p = playerApiService.getMineverseChatPlayer(args[0]);
|
||||
if (p == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Player: " + ChatColor.GOLD + args[0] + ChatColor.RED + " is not online.");
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(ChatColor.GOLD + "Player: " + ChatColor.GREEN + p.getName());
|
||||
for (String c : p.getListening()) {
|
||||
ChatChannel channel = configService.getChannel(c);
|
||||
listen += channel.getColor() + channel.getName() + " ";
|
||||
}
|
||||
for (MuteContainer muteContainer : p.getMutes()) {
|
||||
ChatChannel channel = configService.getChannel(muteContainer.getChannel());
|
||||
mute += channel.getColor() + channel.getName() + " ";
|
||||
}
|
||||
for (String bc : p.getBlockedCommands()) {
|
||||
blockedcommands += bc + " ";
|
||||
}
|
||||
sender.sendMessage(ChatColor.GOLD + "Listening: " + listen);
|
||||
if (mute.length() > 0) {
|
||||
sender.sendMessage(ChatColor.GOLD + "Mutes: " + mute);
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.GOLD + "Mutes: " + ChatColor.RED + "N/A");
|
||||
}
|
||||
if (blockedcommands.length() > 0) {
|
||||
sender.sendMessage(ChatColor.GOLD + "Blocked Commands: " + ChatColor.RED + blockedcommands);
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.GOLD + "Blocked Commands: " + ChatColor.RED + "N/A");
|
||||
}
|
||||
if (p.hasConversation()) {
|
||||
sender.sendMessage(ChatColor.GOLD + "Private conversation: " + ChatColor.GREEN + playerApiService.getMineverseChatPlayer(p.getConversation()).getName());
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.GOLD + "Private conversation: " + ChatColor.RED + "N/A");
|
||||
}
|
||||
if (p.isSpy()) {
|
||||
sender.sendMessage(ChatColor.GOLD + "Spy: " + ChatColor.GREEN + "true");
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.GOLD + "Spy: " + ChatColor.RED + "false");
|
||||
}
|
||||
if (p.hasCommandSpy()) {
|
||||
sender.sendMessage(ChatColor.GOLD + "Command spy: " + ChatColor.GREEN + "true");
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.GOLD + "Command spy: " + ChatColor.RED + "false");
|
||||
}
|
||||
if (p.isFilter()) {
|
||||
sender.sendMessage(ChatColor.GOLD + "Filter: " + ChatColor.GREEN + "true");
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.GOLD + "Filter: " + ChatColor.RED + "false");
|
||||
}
|
||||
return;
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.RED + "You do not have permission to check the chat info of others.");
|
||||
}
|
||||
return;
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.RED + "You do not have permission for this command.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
@Inject
|
||||
public Chatinfo(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executeCommand(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.chatinfo")) {
|
||||
if (args.length == 0) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(ChatColor.RED + "This command must be run by a player; use /ci [name]");
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
String listen = "";
|
||||
String mute = "";
|
||||
String blockedcommands = "";
|
||||
if (args.length < 1) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Player: " + ChatColor.GREEN + mcp.getName());
|
||||
for (String c : mcp.getListening()) {
|
||||
ChatChannel channel = configService.getChannel(c);
|
||||
listen += channel.getColor() + channel.getName() + " ";
|
||||
}
|
||||
for (MuteContainer muteContainer : mcp.getMutes()) {
|
||||
ChatChannel channel = configService.getChannel(muteContainer.getChannel());
|
||||
mute += channel.getColor() + channel.getName() + " ";
|
||||
}
|
||||
for (String bc : mcp.getBlockedCommands()) {
|
||||
blockedcommands += bc + " ";
|
||||
}
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Listening: " + listen);
|
||||
if (mute.length() > 0) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Mutes: " + mute);
|
||||
} else {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Mutes: " + ChatColor.RED + "N/A");
|
||||
}
|
||||
if (blockedcommands.length() > 0) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Blocked Commands: " + ChatColor.RED + blockedcommands);
|
||||
} else {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Blocked Commands: " + ChatColor.RED + "N/A");
|
||||
}
|
||||
if (mcp.hasConversation()) {
|
||||
mcp.getPlayer().sendMessage(
|
||||
ChatColor.GOLD + "Private conversation: " + ChatColor.GREEN + playerApiService.getMineverseChatPlayer(mcp.getConversation()).getName());
|
||||
} else {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Private conversation: " + ChatColor.RED + "N/A");
|
||||
}
|
||||
if (mcp.isSpy()) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Spy: " + ChatColor.GREEN + "true");
|
||||
} else {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Spy: " + ChatColor.RED + "false");
|
||||
}
|
||||
if (mcp.hasCommandSpy()) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Command spy: " + ChatColor.GREEN + "true");
|
||||
} else {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Command spy: " + ChatColor.RED + "false");
|
||||
}
|
||||
if (mcp.isFilter()) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Filter: " + ChatColor.GREEN + "true");
|
||||
} else {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Filter: " + ChatColor.RED + "false");
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (sender.hasPermission("venturechat.chatinfo.others")) {
|
||||
String listen = "";
|
||||
String mute = "";
|
||||
String blockedcommands = "";
|
||||
VentureChatPlayer p = playerApiService.getMineverseChatPlayer(args[0]);
|
||||
if (p == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Player: " + ChatColor.GOLD + args[0] + ChatColor.RED + " is not online.");
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(ChatColor.GOLD + "Player: " + ChatColor.GREEN + p.getName());
|
||||
for (String c : p.getListening()) {
|
||||
ChatChannel channel = configService.getChannel(c);
|
||||
listen += channel.getColor() + channel.getName() + " ";
|
||||
}
|
||||
for (MuteContainer muteContainer : p.getMutes()) {
|
||||
ChatChannel channel = configService.getChannel(muteContainer.getChannel());
|
||||
mute += channel.getColor() + channel.getName() + " ";
|
||||
}
|
||||
for (String bc : p.getBlockedCommands()) {
|
||||
blockedcommands += bc + " ";
|
||||
}
|
||||
sender.sendMessage(ChatColor.GOLD + "Listening: " + listen);
|
||||
if (mute.length() > 0) {
|
||||
sender.sendMessage(ChatColor.GOLD + "Mutes: " + mute);
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.GOLD + "Mutes: " + ChatColor.RED + "N/A");
|
||||
}
|
||||
if (blockedcommands.length() > 0) {
|
||||
sender.sendMessage(ChatColor.GOLD + "Blocked Commands: " + ChatColor.RED + blockedcommands);
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.GOLD + "Blocked Commands: " + ChatColor.RED + "N/A");
|
||||
}
|
||||
if (p.hasConversation()) {
|
||||
sender.sendMessage(ChatColor.GOLD + "Private conversation: " + ChatColor.GREEN + playerApiService.getMineverseChatPlayer(p.getConversation()).getName());
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.GOLD + "Private conversation: " + ChatColor.RED + "N/A");
|
||||
}
|
||||
if (p.isSpy()) {
|
||||
sender.sendMessage(ChatColor.GOLD + "Spy: " + ChatColor.GREEN + "true");
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.GOLD + "Spy: " + ChatColor.RED + "false");
|
||||
}
|
||||
if (p.hasCommandSpy()) {
|
||||
sender.sendMessage(ChatColor.GOLD + "Command spy: " + ChatColor.GREEN + "true");
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.GOLD + "Command spy: " + ChatColor.RED + "false");
|
||||
}
|
||||
if (p.isFilter()) {
|
||||
sender.sendMessage(ChatColor.GOLD + "Filter: " + ChatColor.GREEN + "true");
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.GOLD + "Filter: " + ChatColor.RED + "false");
|
||||
}
|
||||
return;
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.RED + "You do not have permission to check the chat info of others.");
|
||||
}
|
||||
return;
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.RED + "You do not have permission for this command.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -12,13 +12,13 @@ import venture.Aust1n46.chat.controllers.VentureChatSpigotFlatFileController;
|
||||
import venture.Aust1n46.chat.initiators.application.VentureChat;
|
||||
import venture.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.model.JsonFormat;
|
||||
import venture.Aust1n46.chat.model.UniversalCommand;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.ConfigService;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
import venture.Aust1n46.chat.utilities.FormatUtils;
|
||||
|
||||
public class Chatreload implements VentureCommand {
|
||||
public class Chatreload extends UniversalCommand {
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
@Inject
|
||||
@ -28,23 +28,29 @@ public class Chatreload implements VentureCommand {
|
||||
@Inject
|
||||
private ConfigService configService;
|
||||
|
||||
@Inject
|
||||
public Chatreload(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if(sender.hasPermission("venturechat.reload")) {
|
||||
public void executeCommand(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.reload")) {
|
||||
spigotFlatFileController.savePlayerData();
|
||||
playerApiService.clearMineverseChatPlayerMap();
|
||||
playerApiService.clearNameMap();
|
||||
playerApiService.clearOnlineMineverseChatPlayerMap();
|
||||
|
||||
|
||||
plugin.reloadConfig();
|
||||
configService.postConstruct();
|
||||
|
||||
|
||||
spigotFlatFileController.loadLegacyPlayerData();
|
||||
spigotFlatFileController.loadPlayerData();
|
||||
for(Player p : plugin.getServer().getOnlinePlayers()) {
|
||||
for (Player p : plugin.getServer().getOnlinePlayers()) {
|
||||
VentureChatPlayer mcp = playerApiService.getMineverseChatPlayer(p);
|
||||
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()));
|
||||
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 - There could be an issue with your player data saving."));
|
||||
String name = p.getName();
|
||||
UUID uuid = p.getUniqueId();
|
||||
@ -54,9 +60,9 @@ public class Chatreload implements VentureCommand {
|
||||
mcp.setPlayer(plugin.getServer().getPlayer(mcp.getUuid()));
|
||||
mcp.setHasPlayed(false);
|
||||
String jsonFormat = mcp.getJsonFormat();
|
||||
for(JsonFormat j : configService.getJsonFormats()) {
|
||||
if(mcp.getPlayer().hasPermission("venturechat.json." + j.getName())) {
|
||||
if(configService.getJsonFormat(mcp.getJsonFormat()).getPriority() > j.getPriority()) {
|
||||
for (JsonFormat j : configService.getJsonFormats()) {
|
||||
if (mcp.getPlayer().hasPermission("venturechat.json." + j.getName())) {
|
||||
if (configService.getJsonFormat(mcp.getJsonFormat()).getPriority() > j.getPriority()) {
|
||||
jsonFormat = j.getName();
|
||||
}
|
||||
}
|
||||
@ -65,10 +71,10 @@ public class Chatreload implements VentureCommand {
|
||||
playerApiService.addMineverseChatOnlinePlayerToMap(mcp);
|
||||
playerApiService.addNameToMap(mcp);
|
||||
}
|
||||
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&e - Config reloaded"));
|
||||
for(VentureChatPlayer player : playerApiService.getOnlineMineverseChatPlayers()) {
|
||||
if(player.getPlayer().hasPermission("venturechat.reload")) {
|
||||
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&e - Config reloaded"));
|
||||
for (VentureChatPlayer player : playerApiService.getOnlineMineverseChatPlayers()) {
|
||||
if (player.getPlayer().hasPermission("venturechat.reload")) {
|
||||
player.getPlayer().sendMessage(LocalizedMessage.CONFIG_RELOADED.toString());
|
||||
}
|
||||
}
|
||||
|
@ -6,15 +6,20 @@ import com.google.inject.Inject;
|
||||
|
||||
import venture.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.model.UniversalCommand;
|
||||
import venture.Aust1n46.chat.service.ConfigService;
|
||||
|
||||
public class Chlist implements VentureCommand {
|
||||
public class Chlist extends UniversalCommand {
|
||||
@Inject
|
||||
private ConfigService configService;
|
||||
|
||||
@Inject
|
||||
public Chlist(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@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());
|
||||
for (ChatChannel chname : configService.getChatChannels()) {
|
||||
if (chname.hasPermission()) {
|
||||
|
@ -21,11 +21,11 @@ import venture.Aust1n46.chat.initiators.application.VentureChat;
|
||||
import venture.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
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.VentureChatPlayerApiService;
|
||||
|
||||
public class Chwho implements VentureCommand {
|
||||
public class Chwho extends UniversalCommand {
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
@Inject
|
||||
@ -34,9 +34,14 @@ public class Chwho implements VentureCommand {
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
@Inject
|
||||
private ConfigService configService;
|
||||
|
||||
@Inject
|
||||
public Chwho(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
public void executeCommand(CommandSender sender, String command, String[] args) {
|
||||
String playerlist = "";
|
||||
if (sender.hasPermission("venturechat.chwho")) {
|
||||
if (args.length > 0) {
|
||||
|
@ -7,15 +7,20 @@ import com.google.inject.Inject;
|
||||
import venture.Aust1n46.chat.localization.InternalMessage;
|
||||
import venture.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.model.UniversalCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Clearchat implements VentureCommand {
|
||||
public class Clearchat extends UniversalCommand {
|
||||
@Inject
|
||||
private VentureChatPlayerApiService ventureChatApi;
|
||||
|
||||
@Inject
|
||||
public Clearchat(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
public void executeCommand(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.clearchat")) {
|
||||
for (VentureChatPlayer player : ventureChatApi.getOnlineMineverseChatPlayers()) {
|
||||
if (!player.getPlayer().hasPermission("venturechat.clearchat.bypass")) {
|
||||
|
@ -9,17 +9,22 @@ import com.google.inject.Inject;
|
||||
import venture.Aust1n46.chat.initiators.application.VentureChat;
|
||||
import venture.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.model.UniversalCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Commandblock implements VentureCommand {
|
||||
public class Commandblock extends UniversalCommand {
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Inject
|
||||
public Commandblock(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@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 (args.length > 1) {
|
||||
VentureChatPlayer player = playerApiService.getOnlineMineverseChatPlayer(args[0]);
|
||||
|
@ -1,37 +1,36 @@
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import venture.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.model.PlayerCommand;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Commandspy implements VentureCommand {
|
||||
public class Commandspy extends PlayerCommand {
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.commandspy")) {
|
||||
if (!mcp.hasCommandSpy()) {
|
||||
mcp.setCommandSpy(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMANDSPY_ON.toString());
|
||||
return;
|
||||
}
|
||||
mcp.setCommandSpy(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMANDSPY_OFF.toString());
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
}
|
||||
@Inject
|
||||
public Commandspy(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executeCommand(Player sender, String command, String[] args) {
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.commandspy")) {
|
||||
if (!mcp.hasCommandSpy()) {
|
||||
mcp.setCommandSpy(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMANDSPY_ON.toString());
|
||||
return;
|
||||
}
|
||||
mcp.setCommandSpy(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMANDSPY_OFF.toString());
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
}
|
||||
}
|
||||
|
@ -17,12 +17,12 @@ import venture.Aust1n46.chat.initiators.application.VentureChat;
|
||||
import venture.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.model.ChatMessage;
|
||||
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.utilities.FormatUtils;
|
||||
import venture.Aust1n46.chat.service.VentureChatFormatService;
|
||||
|
||||
public class Edit implements VentureCommand {
|
||||
public class Edit extends UniversalCommand {
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
@Inject
|
||||
@ -32,6 +32,11 @@ public class Edit implements VentureCommand {
|
||||
|
||||
private PacketContainer emptyLinePacketContainer;
|
||||
private WrappedChatComponent messageDeletedComponentPlayer;
|
||||
|
||||
@Inject
|
||||
public Edit(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@Inject
|
||||
public void postConstruct() {
|
||||
@ -41,7 +46,7 @@ public class Edit implements VentureCommand {
|
||||
|
||||
@Override
|
||||
@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) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/edit")
|
||||
|
@ -1,37 +1,36 @@
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import venture.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.model.PlayerCommand;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Filter implements VentureCommand {
|
||||
public class Filter extends PlayerCommand {
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.ignorefilter")) {
|
||||
if (!mcp.isFilter()) {
|
||||
mcp.setFilter(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.FILTER_ON.toString());
|
||||
return;
|
||||
}
|
||||
mcp.setFilter(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.FILTER_OFF.toString());
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
}
|
||||
@Inject
|
||||
public Filter(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executeCommand(Player sender, String command, String[] args) {
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.ignorefilter")) {
|
||||
if (!mcp.isFilter()) {
|
||||
mcp.setFilter(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.FILTER_ON.toString());
|
||||
return;
|
||||
}
|
||||
mcp.setFilter(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.FILTER_OFF.toString());
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
}
|
||||
}
|
||||
|
@ -5,39 +5,39 @@ import org.bukkit.command.CommandSender;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import venture.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.model.UniversalCommand;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Force implements VentureCommand {
|
||||
public class Force extends UniversalCommand {
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.force")) {
|
||||
if (args.length < 2) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/force")
|
||||
.replace("{args}", "[player] [message]"));
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer player = playerApiService.getOnlineMineverseChatPlayer(args[0]);
|
||||
if (player == null) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
|
||||
.replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
String forcemsg = "";
|
||||
for (int x = 1; x < args.length; x++)
|
||||
if (args[x].length() > 0)
|
||||
forcemsg += args[x] + " ";
|
||||
sender.sendMessage(LocalizedMessage.FORCE_PLAYER.toString()
|
||||
.replace("{player}", player.getName())
|
||||
.replace("{message}", forcemsg));
|
||||
player.getPlayer().chat(forcemsg);
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
}
|
||||
@Inject
|
||||
public Force(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executeCommand(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.force")) {
|
||||
if (args.length < 2) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/force").replace("{args}", "[player] [message]"));
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer player = playerApiService.getOnlineMineverseChatPlayer(args[0]);
|
||||
if (player == null) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
String forcemsg = "";
|
||||
for (int x = 1; x < args.length; x++)
|
||||
if (args[x].length() > 0)
|
||||
forcemsg += args[x] + " ";
|
||||
sender.sendMessage(LocalizedMessage.FORCE_PLAYER.toString().replace("{player}", player.getName()).replace("{message}", forcemsg));
|
||||
player.getPlayer().chat(forcemsg);
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
}
|
||||
}
|
||||
|
@ -5,34 +5,38 @@ import org.bukkit.command.CommandSender;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import venture.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.model.UniversalCommand;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Forceall implements VentureCommand {
|
||||
public class Forceall extends UniversalCommand {
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.forceall")) {
|
||||
if (args.length < 1) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/forceall").replace("{args}", "[message]"));
|
||||
return;
|
||||
}
|
||||
String forcemsg = "";
|
||||
for (int x = 0; x < args.length; x++) {
|
||||
if (args[x].length() > 0) {
|
||||
forcemsg += args[x] + " ";
|
||||
}
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.FORCE_ALL.toString().replace("{message}", forcemsg));
|
||||
for (VentureChatPlayer player : playerApiService.getOnlineMineverseChatPlayers()) {
|
||||
player.getPlayer().chat(forcemsg);
|
||||
}
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
}
|
||||
@Inject
|
||||
public Forceall(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executeCommand(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.forceall")) {
|
||||
if (args.length < 1) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/forceall").replace("{args}", "[message]"));
|
||||
return;
|
||||
}
|
||||
String forcemsg = "";
|
||||
for (int x = 0; x < args.length; x++) {
|
||||
if (args[x].length() > 0) {
|
||||
forcemsg += args[x] + " ";
|
||||
}
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.FORCE_ALL.toString().replace("{message}", forcemsg));
|
||||
for (VentureChatPlayer player : playerApiService.getOnlineMineverseChatPlayers()) {
|
||||
player.getPlayer().chat(forcemsg);
|
||||
}
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
@ -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;
|
||||
}
|
||||
}
|
@ -8,12 +8,12 @@ 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.UniversalCommand;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.ConfigService;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Kickchannel implements VentureCommand {
|
||||
public class Kickchannel extends UniversalCommand {
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
@ -21,59 +21,57 @@ public class Kickchannel implements VentureCommand {
|
||||
@Inject
|
||||
private ConfigService configService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.kickchannel")) {
|
||||
if (args.length < 2) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/kickchannel")
|
||||
.replace("{args}", "[player] [channel]"));
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[0]);
|
||||
if (player == null) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
|
||||
.replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
ChatChannel channel = configService.getChannel(args[1]);
|
||||
if (channel == null) {
|
||||
sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString()
|
||||
.replace("{args}", args[1]));
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.KICK_CHANNEL.toString()
|
||||
.replace("{player}", args[0])
|
||||
.replace("{channel_color}", channel.getColor() + "")
|
||||
.replace("{channel_name}", channel.getName()));
|
||||
player.removeListening(channel.getName());
|
||||
if (player.isOnline()) {
|
||||
player.getPlayer().sendMessage(LocalizedMessage.LEAVE_CHANNEL.toString()
|
||||
.replace("{channel_color}", channel.getColor() + "")
|
||||
.replace("{channel_name}", channel.getName()));
|
||||
} else {
|
||||
player.setModified(true);
|
||||
}
|
||||
boolean isThereABungeeChannel = channel.getBungee();
|
||||
if (player.getListening().size() == 0) {
|
||||
player.addListening(configService.getDefaultChannel().getName());
|
||||
player.setCurrentChannel(configService.getDefaultChannel());
|
||||
if (configService.getDefaultChannel().getBungee()) {
|
||||
isThereABungeeChannel = true;
|
||||
}
|
||||
if (player.isOnline()) {
|
||||
player.getPlayer().sendMessage(LocalizedMessage.MUST_LISTEN_ONE_CHANNEL.toString());
|
||||
player.getPlayer().sendMessage(LocalizedMessage.SET_CHANNEL.toString()
|
||||
.replace("{channel_color}", ChatColor.valueOf(configService.getDefaultColor().toUpperCase()) + "")
|
||||
.replace("{channel_name}", configService.getDefaultChannel().getName()));
|
||||
} else
|
||||
player.setModified(true);
|
||||
}
|
||||
if (isThereABungeeChannel) {
|
||||
pluginMessageController.synchronize(player, true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
}
|
||||
@Inject
|
||||
public Kickchannel(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executeCommand(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.kickchannel")) {
|
||||
if (args.length < 2) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/kickchannel").replace("{args}", "[player] [channel]"));
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[0]);
|
||||
if (player == null) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
ChatChannel channel = configService.getChannel(args[1]);
|
||||
if (channel == null) {
|
||||
sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[1]));
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.KICK_CHANNEL.toString().replace("{player}", args[0]).replace("{channel_color}", channel.getColor() + "").replace("{channel_name}",
|
||||
channel.getName()));
|
||||
player.removeListening(channel.getName());
|
||||
if (player.isOnline()) {
|
||||
player.getPlayer()
|
||||
.sendMessage(LocalizedMessage.LEAVE_CHANNEL.toString().replace("{channel_color}", channel.getColor() + "").replace("{channel_name}", channel.getName()));
|
||||
} else {
|
||||
player.setModified(true);
|
||||
}
|
||||
boolean isThereABungeeChannel = channel.getBungee();
|
||||
if (player.getListening().size() == 0) {
|
||||
player.addListening(configService.getDefaultChannel().getName());
|
||||
player.setCurrentChannel(configService.getDefaultChannel());
|
||||
if (configService.getDefaultChannel().getBungee()) {
|
||||
isThereABungeeChannel = true;
|
||||
}
|
||||
if (player.isOnline()) {
|
||||
player.getPlayer().sendMessage(LocalizedMessage.MUST_LISTEN_ONE_CHANNEL.toString());
|
||||
player.getPlayer()
|
||||
.sendMessage(LocalizedMessage.SET_CHANNEL.toString().replace("{channel_color}", ChatColor.valueOf(configService.getDefaultColor().toUpperCase()) + "")
|
||||
.replace("{channel_name}", configService.getDefaultChannel().getName()));
|
||||
} else
|
||||
player.setModified(true);
|
||||
}
|
||||
if (isThereABungeeChannel) {
|
||||
pluginMessageController.synchronize(player, true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
}
|
||||
}
|
||||
|
@ -8,12 +8,12 @@ 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.UniversalCommand;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.ConfigService;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Kickchannelall implements VentureCommand {
|
||||
public class Kickchannelall extends UniversalCommand {
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
@ -21,52 +21,53 @@ public class Kickchannelall implements VentureCommand {
|
||||
@Inject
|
||||
private ConfigService configService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.kickchannelall")) {
|
||||
if (args.length < 1) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/kickchannelall")
|
||||
.replace("{args}", "[player]"));
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[0]);
|
||||
if (player == null) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
|
||||
.replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
boolean isThereABungeeChannel = false;
|
||||
for (String channel : player.getListening()) {
|
||||
if (configService.isChannel(channel)) {
|
||||
ChatChannel chatChannelObj = configService.getChannel(channel);
|
||||
if (chatChannelObj.getBungee()) {
|
||||
isThereABungeeChannel = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
player.clearListening();
|
||||
sender.sendMessage(LocalizedMessage.KICK_CHANNEL_ALL_SENDER.toString()
|
||||
.replace("{player}", player.getName()));
|
||||
player.addListening(configService.getDefaultChannel().getName());
|
||||
player.setCurrentChannel(configService.getDefaultChannel());
|
||||
if (configService.getDefaultChannel().getBungee()) {
|
||||
isThereABungeeChannel = true;
|
||||
}
|
||||
if (isThereABungeeChannel) {
|
||||
pluginMessageController.synchronize(player, true);
|
||||
}
|
||||
if (player.isOnline()) {
|
||||
player.getPlayer().sendMessage(LocalizedMessage.KICK_CHANNEL_ALL_PLAYER.toString());
|
||||
player.getPlayer().sendMessage(LocalizedMessage.MUST_LISTEN_ONE_CHANNEL.toString());
|
||||
player.getPlayer().sendMessage(LocalizedMessage.SET_CHANNEL.toString()
|
||||
.replace("{channel_color}", ChatColor.valueOf(configService.getDefaultColor().toUpperCase()) + "")
|
||||
.replace("{channel_name}", configService.getDefaultChannel().getName()));
|
||||
} else {
|
||||
player.setModified(true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
}
|
||||
@Inject
|
||||
public Kickchannelall(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executeCommand(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.kickchannelall")) {
|
||||
if (args.length < 1) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/kickchannelall").replace("{args}", "[player]"));
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[0]);
|
||||
if (player == null) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
boolean isThereABungeeChannel = false;
|
||||
for (String channel : player.getListening()) {
|
||||
if (configService.isChannel(channel)) {
|
||||
ChatChannel chatChannelObj = configService.getChannel(channel);
|
||||
if (chatChannelObj.getBungee()) {
|
||||
isThereABungeeChannel = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
player.clearListening();
|
||||
sender.sendMessage(LocalizedMessage.KICK_CHANNEL_ALL_SENDER.toString().replace("{player}", player.getName()));
|
||||
player.addListening(configService.getDefaultChannel().getName());
|
||||
player.setCurrentChannel(configService.getDefaultChannel());
|
||||
if (configService.getDefaultChannel().getBungee()) {
|
||||
isThereABungeeChannel = true;
|
||||
}
|
||||
if (isThereABungeeChannel) {
|
||||
pluginMessageController.synchronize(player, true);
|
||||
}
|
||||
if (player.isOnline()) {
|
||||
player.getPlayer().sendMessage(LocalizedMessage.KICK_CHANNEL_ALL_PLAYER.toString());
|
||||
player.getPlayer().sendMessage(LocalizedMessage.MUST_LISTEN_ONE_CHANNEL.toString());
|
||||
player.getPlayer()
|
||||
.sendMessage(LocalizedMessage.SET_CHANNEL.toString().replace("{channel_color}", ChatColor.valueOf(configService.getDefaultColor().toUpperCase()) + "")
|
||||
.replace("{channel_name}", configService.getDefaultChannel().getName()));
|
||||
} else {
|
||||
player.setModified(true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,6 @@
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
@ -10,12 +8,12 @@ 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.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.ConfigService;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Leave implements VentureCommand {
|
||||
public class Leave extends PlayerCommand {
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
@ -23,43 +21,39 @@ public class Leave implements VentureCommand {
|
||||
@Inject
|
||||
private ConfigService configService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (args.length > 0) {
|
||||
ChatChannel channel = configService.getChannel(args[0]);
|
||||
if (channel == null) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.INVALID_CHANNEL.toString()
|
||||
.replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
mcp.removeListening(channel.getName());
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.LEAVE_CHANNEL.toString()
|
||||
.replace("{channel_color}", channel.getColor() + "")
|
||||
.replace("{channel_name}", channel.getName()));
|
||||
boolean isThereABungeeChannel = channel.getBungee();
|
||||
if (mcp.getListening().size() == 0) {
|
||||
mcp.addListening(configService.getDefaultChannel().getName());
|
||||
mcp.setCurrentChannel(configService.getDefaultChannel());
|
||||
if (configService.getDefaultChannel().getBungee()) {
|
||||
isThereABungeeChannel = true;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.MUST_LISTEN_ONE_CHANNEL.toString());
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.SET_CHANNEL.toString()
|
||||
.replace("{channel_color}", ChatColor.valueOf(configService.getDefaultColor().toUpperCase()) + "")
|
||||
.replace("{channel_name}", configService.getDefaultChannel().getName()));
|
||||
}
|
||||
if (isThereABungeeChannel) {
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/leave")
|
||||
.replace("{args}", "[channel]"));
|
||||
}
|
||||
@Inject
|
||||
public Leave(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executeCommand(Player sender, String command, String[] args) {
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (args.length > 0) {
|
||||
ChatChannel channel = configService.getChannel(args[0]);
|
||||
if (channel == null) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
mcp.removeListening(channel.getName());
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.LEAVE_CHANNEL.toString().replace("{channel_color}", channel.getColor() + "").replace("{channel_name}", channel.getName()));
|
||||
boolean isThereABungeeChannel = channel.getBungee();
|
||||
if (mcp.getListening().size() == 0) {
|
||||
mcp.addListening(configService.getDefaultChannel().getName());
|
||||
mcp.setCurrentChannel(configService.getDefaultChannel());
|
||||
if (configService.getDefaultChannel().getBungee()) {
|
||||
isThereABungeeChannel = true;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.MUST_LISTEN_ONE_CHANNEL.toString());
|
||||
mcp.getPlayer()
|
||||
.sendMessage(LocalizedMessage.SET_CHANNEL.toString().replace("{channel_color}", ChatColor.valueOf(configService.getDefaultColor().toUpperCase()) + "")
|
||||
.replace("{channel_name}", configService.getDefaultChannel().getName()));
|
||||
}
|
||||
if (isThereABungeeChannel) {
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/leave").replace("{args}", "[channel]"));
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,5 @@
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
@ -9,12 +7,12 @@ 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.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.ConfigService;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Listen implements VentureCommand {
|
||||
public class Listen extends PlayerCommand {
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
@ -22,38 +20,35 @@ public class Listen implements VentureCommand {
|
||||
@Inject
|
||||
private ConfigService configService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (args.length > 0) {
|
||||
ChatChannel channel = configService.getChannel(args[0]);
|
||||
if (channel == null) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.INVALID_CHANNEL.toString()
|
||||
.replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
if (channel.hasPermission()) {
|
||||
if (!mcp.getPlayer().hasPermission(channel.getPermission())) {
|
||||
mcp.removeListening(channel.getName());
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.CHANNEL_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
}
|
||||
mcp.addListening(channel.getName());
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.LISTEN_CHANNEL.toString()
|
||||
.replace("{channel_color}", channel.getColor() + "")
|
||||
.replace("{channel_name}", channel.getName()));
|
||||
if (channel.getBungee()) {
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/listen")
|
||||
.replace("{args}", "[channel]"));
|
||||
}
|
||||
@Inject
|
||||
public Listen(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executeCommand(Player player, String command, String[] args) {
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer(player);
|
||||
if (args.length > 0) {
|
||||
ChatChannel channel = configService.getChannel(args[0]);
|
||||
if (channel == null) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
if (channel.hasPermission()) {
|
||||
if (!mcp.getPlayer().hasPermission(channel.getPermission())) {
|
||||
mcp.removeListening(channel.getName());
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.CHANNEL_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
}
|
||||
mcp.addListening(channel.getName());
|
||||
mcp.getPlayer()
|
||||
.sendMessage(LocalizedMessage.LISTEN_CHANNEL.toString().replace("{channel_color}", channel.getColor() + "").replace("{channel_name}", channel.getName()));
|
||||
if (channel.getBungee()) {
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/listen").replace("{args}", "[channel]"));
|
||||
}
|
||||
}
|
||||
|
@ -6,49 +6,52 @@ import org.bukkit.entity.Player;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
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.utilities.FormatUtils;
|
||||
import venture.Aust1n46.chat.service.VentureChatFormatService;
|
||||
|
||||
public class Me implements VentureCommand {
|
||||
public class Me extends UniversalCommand {
|
||||
@Inject
|
||||
private VentureChatFormatService formatService;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Inject
|
||||
public Me(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.me")) {
|
||||
if (args.length > 0) {
|
||||
String msg = "";
|
||||
for (int x = 0; x < args.length; x++)
|
||||
if (args[x].length() > 0)
|
||||
msg += " " + args[x];
|
||||
if (sender instanceof Player && playerApiService.getOnlineMineverseChatPlayer((Player) sender).isFilter()) {
|
||||
msg = formatService.FilterChat(msg);
|
||||
}
|
||||
if (sender.hasPermission("venturechat.color.legacy")) {
|
||||
msg = FormatUtils.FormatStringLegacyColor(msg);
|
||||
}
|
||||
if (sender.hasPermission("venturechat.color"))
|
||||
msg = FormatUtils.FormatStringColor(msg);
|
||||
if (sender.hasPermission("venturechat.format"))
|
||||
msg = FormatUtils.FormatString(msg);
|
||||
if (sender instanceof Player) {
|
||||
Player p = (Player) sender;
|
||||
formatService.broadcastToServer("* " + p.getDisplayName() + msg);
|
||||
return;
|
||||
}
|
||||
formatService.broadcastToServer("* " + sender.getName() + msg);
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/me")
|
||||
.replace("{args}", "[message]"));
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
}
|
||||
public void executeCommand(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.me")) {
|
||||
if (args.length > 0) {
|
||||
String msg = "";
|
||||
for (int x = 0; x < args.length; x++)
|
||||
if (args[x].length() > 0)
|
||||
msg += " " + args[x];
|
||||
if (sender instanceof Player && playerApiService.getOnlineMineverseChatPlayer((Player) sender).isFilter()) {
|
||||
msg = formatService.FilterChat(msg);
|
||||
}
|
||||
if (sender.hasPermission("venturechat.color.legacy")) {
|
||||
msg = FormatUtils.FormatStringLegacyColor(msg);
|
||||
}
|
||||
if (sender.hasPermission("venturechat.color"))
|
||||
msg = FormatUtils.FormatStringColor(msg);
|
||||
if (sender.hasPermission("venturechat.format"))
|
||||
msg = FormatUtils.FormatString(msg);
|
||||
if (sender instanceof Player) {
|
||||
Player p = (Player) sender;
|
||||
formatService.broadcastToServer("* " + p.getDisplayName() + msg);
|
||||
return;
|
||||
}
|
||||
formatService.broadcastToServer("* " + sender.getName() + msg);
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/me").replace("{args}", "[message]"));
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
@ -1,43 +1,42 @@
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
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.PlayerCommand;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class MessageToggle implements VentureCommand {
|
||||
public class MessageToggle extends PlayerCommand {
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.messagetoggle")) {
|
||||
if (!mcp.isMessageToggle()) {
|
||||
mcp.setMessageToggle(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.MESSAGE_TOGGLE_ON.toString());
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
return;
|
||||
}
|
||||
mcp.setMessageToggle(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.MESSAGE_TOGGLE_OFF.toString());
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
@Inject
|
||||
public MessageToggle(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executeCommand(Player player, String command, String[] args) {
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer(player);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.messagetoggle")) {
|
||||
if (!mcp.isMessageToggle()) {
|
||||
mcp.setMessageToggle(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.MESSAGE_TOGGLE_ON.toString());
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
return;
|
||||
}
|
||||
mcp.setMessageToggle(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.MESSAGE_TOGGLE_OFF.toString());
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -8,7 +8,6 @@ import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.util.StringUtil;
|
||||
@ -18,203 +17,184 @@ 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.UniversalCommand;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.ConfigService;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
import venture.Aust1n46.chat.utilities.FormatUtils;
|
||||
|
||||
public class Mute implements VentureCommand {
|
||||
private static final List<String> COMMON_MUTE_TIMES = Collections.unmodifiableList(Arrays.asList(new String[]{"12h", "15m", "1d", "1h", "1m", "30s"}));
|
||||
|
||||
@Inject
|
||||
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" }));
|
||||
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
@Inject
|
||||
@Inject
|
||||
private ConfigService configService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.mute")) {
|
||||
if (args.length < 2) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/mute")
|
||||
.replace("{args}", "[channel] [player] {time} {reason}"));
|
||||
return;
|
||||
}
|
||||
if (configService.isChannel(args[0])) {
|
||||
ChatChannel channel = configService.getChannel(args[0]);
|
||||
if (channel.isMutable()) {
|
||||
long datetime = System.currentTimeMillis();
|
||||
long time = 0;
|
||||
int reasonStartPos = 2;
|
||||
String reason = "";
|
||||
if (args.length > 2) {
|
||||
String timeString = args[2];
|
||||
if (Character.isDigit(timeString.charAt(0))) {
|
||||
reasonStartPos = 3;
|
||||
time = FormatUtils.parseTimeStringToMillis(timeString);
|
||||
if (time <= 0) {
|
||||
sender.sendMessage(LocalizedMessage.INVALID_TIME.toString().replace("{args}", timeString));
|
||||
return;
|
||||
}
|
||||
}
|
||||
StringBuilder reasonBuilder = new StringBuilder();
|
||||
for (int a = reasonStartPos; a < args.length; a++) {
|
||||
reasonBuilder.append(args[a] + " ");
|
||||
}
|
||||
reason = FormatUtils.FormatStringAll(reasonBuilder.toString().trim());
|
||||
}
|
||||
if (channel.getBungee()) {
|
||||
sendBungeeCordMute(sender, args[1], channel, time, reason);
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer playerToMute = playerApiService.getMineverseChatPlayer(args[1]);
|
||||
if (playerToMute == null || (!playerToMute.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[1]));
|
||||
return;
|
||||
}
|
||||
if (playerToMute.isMuted(channel.getName())) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_ALREADY_MUTED.toString()
|
||||
.replace("{player}", playerToMute.getName()).replace("{channel_color}", channel.getColor())
|
||||
.replace("{channel_name}", channel.getName()));
|
||||
return;
|
||||
}
|
||||
@Inject
|
||||
public Mute(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
if (time > 0) {
|
||||
if (reason.isEmpty()) {
|
||||
playerToMute.addMute(channel.getName(), datetime + time);
|
||||
String timeString = FormatUtils.parseTimeStringFromMillis(time);
|
||||
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER_TIME.toString()
|
||||
.replace("{player}", playerToMute.getName())
|
||||
.replace("{channel_color}", channel.getColor())
|
||||
.replace("{channel_name}", channel.getName())
|
||||
.replace("{time}", timeString));
|
||||
if (playerToMute.isOnline()) {
|
||||
playerToMute.getPlayer()
|
||||
.sendMessage(LocalizedMessage.MUTE_PLAYER_PLAYER_TIME.toString()
|
||||
.replace("{channel_color}", channel.getColor())
|
||||
.replace("{channel_name}", channel.getName())
|
||||
.replace("{time}", timeString));
|
||||
} else {
|
||||
playerToMute.setModified(true);
|
||||
}
|
||||
return;
|
||||
} else {
|
||||
playerToMute.addMute(channel.getName(), datetime + time, reason);
|
||||
String timeString = FormatUtils.parseTimeStringFromMillis(time);
|
||||
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER_TIME_REASON.toString()
|
||||
.replace("{player}", playerToMute.getName())
|
||||
.replace("{channel_color}", channel.getColor())
|
||||
.replace("{channel_name}", channel.getName())
|
||||
.replace("{time}", timeString)
|
||||
.replace("{reason}", reason));
|
||||
if (playerToMute.isOnline()) {
|
||||
playerToMute.getPlayer()
|
||||
.sendMessage(LocalizedMessage.MUTE_PLAYER_PLAYER_TIME_REASON.toString()
|
||||
.replace("{channel_color}", channel.getColor())
|
||||
.replace("{channel_name}", channel.getName())
|
||||
.replace("{time}", timeString)
|
||||
.replace("{reason}", reason));
|
||||
} else {
|
||||
playerToMute.setModified(true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
if (reason.isEmpty()) {
|
||||
playerToMute.addMute(channel.getName());
|
||||
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER.toString()
|
||||
.replace("{player}", playerToMute.getName()).replace("{channel_color}", channel.getColor())
|
||||
.replace("{channel_name}", channel.getName()));
|
||||
if (playerToMute.isOnline()) {
|
||||
playerToMute.getPlayer()
|
||||
.sendMessage(LocalizedMessage.MUTE_PLAYER_PLAYER.toString()
|
||||
.replace("{channel_color}", channel.getColor())
|
||||
.replace("{channel_name}", channel.getName()));
|
||||
} else {
|
||||
playerToMute.setModified(true);
|
||||
}
|
||||
return;
|
||||
} else {
|
||||
playerToMute.addMute(channel.getName(), reason);
|
||||
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER_REASON.toString()
|
||||
.replace("{player}", playerToMute.getName()).replace("{channel_color}", channel.getColor())
|
||||
.replace("{channel_name}", channel.getName())
|
||||
.replace("{reason}", reason));
|
||||
if (playerToMute.isOnline()) {
|
||||
playerToMute.getPlayer()
|
||||
.sendMessage(LocalizedMessage.MUTE_PLAYER_PLAYER_REASON.toString()
|
||||
.replace("{channel_color}", channel.getColor())
|
||||
.replace("{channel_name}", channel.getName())
|
||||
.replace("{reason}", reason));
|
||||
} else {
|
||||
playerToMute.setModified(true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.CHANNEL_CANNOT_MUTE.toString()
|
||||
.replace("{channel_color}", channel.getColor())
|
||||
.replace("{channel_name}", channel.getName()));
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
}
|
||||
@Override
|
||||
public void executeCommand(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.mute")) {
|
||||
if (args.length < 2) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/mute").replace("{args}", "[channel] [player] {time} {reason}"));
|
||||
return;
|
||||
}
|
||||
if (configService.isChannel(args[0])) {
|
||||
ChatChannel channel = configService.getChannel(args[0]);
|
||||
if (channel.isMutable()) {
|
||||
long datetime = System.currentTimeMillis();
|
||||
long time = 0;
|
||||
int reasonStartPos = 2;
|
||||
String reason = "";
|
||||
if (args.length > 2) {
|
||||
String timeString = args[2];
|
||||
if (Character.isDigit(timeString.charAt(0))) {
|
||||
reasonStartPos = 3;
|
||||
time = FormatUtils.parseTimeStringToMillis(timeString);
|
||||
if (time <= 0) {
|
||||
sender.sendMessage(LocalizedMessage.INVALID_TIME.toString().replace("{args}", timeString));
|
||||
return;
|
||||
}
|
||||
}
|
||||
StringBuilder reasonBuilder = new StringBuilder();
|
||||
for (int a = reasonStartPos; a < args.length; a++) {
|
||||
reasonBuilder.append(args[a] + " ");
|
||||
}
|
||||
reason = FormatUtils.FormatStringAll(reasonBuilder.toString().trim());
|
||||
}
|
||||
if (channel.getBungee()) {
|
||||
sendBungeeCordMute(sender, args[1], channel, time, reason);
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer playerToMute = playerApiService.getMineverseChatPlayer(args[1]);
|
||||
if (playerToMute == null || (!playerToMute.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[1]));
|
||||
return;
|
||||
}
|
||||
if (playerToMute.isMuted(channel.getName())) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_ALREADY_MUTED.toString().replace("{player}", playerToMute.getName())
|
||||
.replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()));
|
||||
return;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
|
||||
List<String> completions = new ArrayList<>();
|
||||
if (args.length == 1) {
|
||||
StringUtil.copyPartialMatches(args[0], configService.getChatChannels().stream().map(ChatChannel::getName).collect(Collectors.toList()), completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
}
|
||||
if (args.length == 2) {
|
||||
if (configService.isChannel(args[0])) {
|
||||
ChatChannel chatChannelObj = configService.getChannel(args[0]);
|
||||
if (chatChannelObj.getBungee()) {
|
||||
StringUtil.copyPartialMatches(args[1], playerApiService.getNetworkPlayerNames(), completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
}
|
||||
StringUtil.copyPartialMatches(args[1], playerApiService.getOnlineMineverseChatPlayers().stream().filter(mcp -> !mcp.isMuted(chatChannelObj.getName())).map(VentureChatPlayer::getName).collect(Collectors.toList()), completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
}
|
||||
}
|
||||
if (args.length == 3) {
|
||||
StringUtil.copyPartialMatches(args[2], COMMON_MUTE_TIMES, completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
if (time > 0) {
|
||||
if (reason.isEmpty()) {
|
||||
playerToMute.addMute(channel.getName(), datetime + time);
|
||||
String timeString = FormatUtils.parseTimeStringFromMillis(time);
|
||||
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER_TIME.toString().replace("{player}", playerToMute.getName())
|
||||
.replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()).replace("{time}", timeString));
|
||||
if (playerToMute.isOnline()) {
|
||||
playerToMute.getPlayer().sendMessage(LocalizedMessage.MUTE_PLAYER_PLAYER_TIME.toString().replace("{channel_color}", channel.getColor())
|
||||
.replace("{channel_name}", channel.getName()).replace("{time}", timeString));
|
||||
} else {
|
||||
playerToMute.setModified(true);
|
||||
}
|
||||
return;
|
||||
} else {
|
||||
playerToMute.addMute(channel.getName(), datetime + time, reason);
|
||||
String timeString = FormatUtils.parseTimeStringFromMillis(time);
|
||||
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER_TIME_REASON.toString().replace("{player}", playerToMute.getName())
|
||||
.replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()).replace("{time}", timeString)
|
||||
.replace("{reason}", reason));
|
||||
if (playerToMute.isOnline()) {
|
||||
playerToMute.getPlayer().sendMessage(LocalizedMessage.MUTE_PLAYER_PLAYER_TIME_REASON.toString().replace("{channel_color}", channel.getColor())
|
||||
.replace("{channel_name}", channel.getName()).replace("{time}", timeString).replace("{reason}", reason));
|
||||
} else {
|
||||
playerToMute.setModified(true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
if (reason.isEmpty()) {
|
||||
playerToMute.addMute(channel.getName());
|
||||
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER.toString().replace("{player}", playerToMute.getName())
|
||||
.replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()));
|
||||
if (playerToMute.isOnline()) {
|
||||
playerToMute.getPlayer().sendMessage(
|
||||
LocalizedMessage.MUTE_PLAYER_PLAYER.toString().replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()));
|
||||
} else {
|
||||
playerToMute.setModified(true);
|
||||
}
|
||||
return;
|
||||
} else {
|
||||
playerToMute.addMute(channel.getName(), reason);
|
||||
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER_REASON.toString().replace("{player}", playerToMute.getName())
|
||||
.replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()).replace("{reason}", reason));
|
||||
if (playerToMute.isOnline()) {
|
||||
playerToMute.getPlayer().sendMessage(LocalizedMessage.MUTE_PLAYER_PLAYER_REASON.toString().replace("{channel_color}", channel.getColor())
|
||||
.replace("{channel_name}", channel.getName()).replace("{reason}", reason));
|
||||
} else {
|
||||
playerToMute.setModified(true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.CHANNEL_CANNOT_MUTE.toString().replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()));
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
}
|
||||
|
||||
}
|
||||
return Collections.emptyList();
|
||||
}
|
||||
@Override
|
||||
public List<String> tabComplete(CommandSender sender, String alias, String[] args) {
|
||||
List<String> completions = new ArrayList<>();
|
||||
if (args.length == 1) {
|
||||
StringUtil.copyPartialMatches(args[0], configService.getChatChannels().stream().map(ChatChannel::getName).collect(Collectors.toList()), completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
}
|
||||
if (args.length == 2) {
|
||||
if (configService.isChannel(args[0])) {
|
||||
ChatChannel chatChannelObj = configService.getChannel(args[0]);
|
||||
if (chatChannelObj.getBungee()) {
|
||||
StringUtil.copyPartialMatches(args[1], playerApiService.getNetworkPlayerNames(), completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
}
|
||||
StringUtil.copyPartialMatches(args[1], playerApiService.getOnlineMineverseChatPlayers().stream().filter(mcp -> !mcp.isMuted(chatChannelObj.getName()))
|
||||
.map(VentureChatPlayer::getName).collect(Collectors.toList()), completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
}
|
||||
}
|
||||
if (args.length == 3) {
|
||||
StringUtil.copyPartialMatches(args[2], COMMON_MUTE_TIMES, completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
|
||||
private void sendBungeeCordMute(CommandSender sender, String playerToMute, ChatChannel channel, long time, String reason) {
|
||||
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
|
||||
DataOutputStream out = new DataOutputStream(byteOutStream);
|
||||
try {
|
||||
out.writeUTF("Mute");
|
||||
out.writeUTF("Send");
|
||||
if (sender instanceof Player) {
|
||||
out.writeUTF(((Player) sender).getUniqueId().toString());
|
||||
} else {
|
||||
out.writeUTF("VentureChat:Console");
|
||||
}
|
||||
out.writeUTF(playerToMute);
|
||||
out.writeUTF(channel.getName());
|
||||
out.writeLong(time);
|
||||
out.writeUTF(reason);
|
||||
pluginMessageController.sendPluginMessage(byteOutStream);
|
||||
out.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
private void sendBungeeCordMute(CommandSender sender, String playerToMute, ChatChannel channel, long time, String reason) {
|
||||
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
|
||||
DataOutputStream out = new DataOutputStream(byteOutStream);
|
||||
try {
|
||||
out.writeUTF("Mute");
|
||||
out.writeUTF("Send");
|
||||
if (sender instanceof Player) {
|
||||
out.writeUTF(((Player) sender).getUniqueId().toString());
|
||||
} else {
|
||||
out.writeUTF("VentureChat:Console");
|
||||
}
|
||||
out.writeUTF(playerToMute);
|
||||
out.writeUTF(channel.getName());
|
||||
out.writeLong(time);
|
||||
out.writeUTF(reason);
|
||||
pluginMessageController.sendPluginMessage(byteOutStream);
|
||||
out.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -7,13 +7,13 @@ 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.UniversalCommand;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.ConfigService;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
import venture.Aust1n46.chat.utilities.FormatUtils;
|
||||
|
||||
public class Muteall implements VentureCommand {
|
||||
public class Muteall extends UniversalCommand {
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
@ -21,75 +21,73 @@ public class Muteall implements VentureCommand {
|
||||
@Inject
|
||||
private ConfigService configService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.mute")) {
|
||||
if (args.length < 1) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/muteall")
|
||||
.replace("{args}", "[player] {reason}"));
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[0]);
|
||||
if (player == null || (!player.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
|
||||
.replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
String reason = "";
|
||||
if (args.length > 1) {
|
||||
StringBuilder reasonBuilder = new StringBuilder();
|
||||
for (int a = 1; a < args.length; a++) {
|
||||
reasonBuilder.append(args[a] + " ");
|
||||
}
|
||||
reason = FormatUtils.FormatStringAll(reasonBuilder.toString().trim());
|
||||
}
|
||||
if (reason.isEmpty()) {
|
||||
boolean bungee = false;
|
||||
for (ChatChannel channel : configService.getChatChannels()) {
|
||||
if (channel.isMutable()) {
|
||||
player.addMute(channel.getName());
|
||||
if (channel.getBungee()) {
|
||||
bungee = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (bungee) {
|
||||
pluginMessageController.synchronize(player, true);
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_ALL_SENDER.toString()
|
||||
.replace("{player}", player.getName()));
|
||||
if (player.isOnline()) {
|
||||
player.getPlayer().sendMessage(LocalizedMessage.MUTE_PLAYER_ALL_PLAYER.toString());
|
||||
} else
|
||||
player.setModified(true);
|
||||
return;
|
||||
} else {
|
||||
boolean bungee = false;
|
||||
for (ChatChannel channel : configService.getChatChannels()) {
|
||||
if (channel.isMutable()) {
|
||||
player.addMute(channel.getName(), reason);
|
||||
if (channel.getBungee()) {
|
||||
bungee = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (bungee) {
|
||||
pluginMessageController.synchronize(player, true);
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_ALL_SENDER_REASON.toString()
|
||||
.replace("{player}", player.getName())
|
||||
.replace("{reason}", reason));
|
||||
if (player.isOnline()) {
|
||||
player.getPlayer().sendMessage(LocalizedMessage.MUTE_PLAYER_ALL_PLAYER_REASON.toString()
|
||||
.replace("{reason}", reason));
|
||||
} else
|
||||
player.setModified(true);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
}
|
||||
@Inject
|
||||
public Muteall(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executeCommand(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.mute")) {
|
||||
if (args.length < 1) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/muteall").replace("{args}", "[player] {reason}"));
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[0]);
|
||||
if (player == null || (!player.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
String reason = "";
|
||||
if (args.length > 1) {
|
||||
StringBuilder reasonBuilder = new StringBuilder();
|
||||
for (int a = 1; a < args.length; a++) {
|
||||
reasonBuilder.append(args[a] + " ");
|
||||
}
|
||||
reason = FormatUtils.FormatStringAll(reasonBuilder.toString().trim());
|
||||
}
|
||||
if (reason.isEmpty()) {
|
||||
boolean bungee = false;
|
||||
for (ChatChannel channel : configService.getChatChannels()) {
|
||||
if (channel.isMutable()) {
|
||||
player.addMute(channel.getName());
|
||||
if (channel.getBungee()) {
|
||||
bungee = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (bungee) {
|
||||
pluginMessageController.synchronize(player, true);
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_ALL_SENDER.toString().replace("{player}", player.getName()));
|
||||
if (player.isOnline()) {
|
||||
player.getPlayer().sendMessage(LocalizedMessage.MUTE_PLAYER_ALL_PLAYER.toString());
|
||||
} else
|
||||
player.setModified(true);
|
||||
return;
|
||||
} else {
|
||||
boolean bungee = false;
|
||||
for (ChatChannel channel : configService.getChatChannels()) {
|
||||
if (channel.isMutable()) {
|
||||
player.addMute(channel.getName(), reason);
|
||||
if (channel.getBungee()) {
|
||||
bungee = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (bungee) {
|
||||
pluginMessageController.synchronize(player, true);
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_ALL_SENDER_REASON.toString().replace("{player}", player.getName()).replace("{reason}", reason));
|
||||
if (player.isOnline()) {
|
||||
player.getPlayer().sendMessage(LocalizedMessage.MUTE_PLAYER_ALL_PLAYER_REASON.toString().replace("{reason}", reason));
|
||||
} else
|
||||
player.setModified(true);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,35 +1,33 @@
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import venture.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.model.PlayerCommand;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Notifications implements VentureCommand {
|
||||
public class Notifications extends PlayerCommand {
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return;
|
||||
}
|
||||
@Inject
|
||||
public Notifications(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (!mcp.isNotifications()) {
|
||||
mcp.setNotifications(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.NOTIFICATIONS_ON.toString());
|
||||
return;
|
||||
}
|
||||
mcp.setNotifications(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.NOTIFICATIONS_OFF.toString());
|
||||
return;
|
||||
}
|
||||
@Override
|
||||
public void executeCommand(Player player, String command, String[] args) {
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer(player);
|
||||
if (!mcp.isNotifications()) {
|
||||
mcp.setNotifications(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.NOTIFICATIONS_ON.toString());
|
||||
return;
|
||||
}
|
||||
mcp.setNotifications(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.NOTIFICATIONS_OFF.toString());
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -3,54 +3,53 @@ package venture.Aust1n46.chat.controllers.commands;
|
||||
import static venture.Aust1n46.chat.utilities.FormatUtils.LINE_LENGTH;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import venture.Aust1n46.chat.initiators.application.VentureChat;
|
||||
import venture.Aust1n46.chat.model.PlayerCommand;
|
||||
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.utilities.FormatUtils;
|
||||
|
||||
public class Party implements VentureCommand {
|
||||
public class Party extends PlayerCommand {
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
private VentureChat plugin;
|
||||
@Inject
|
||||
private VentureChatFormatService formatService;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Inject
|
||||
public Party(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if(!(sender instanceof Player)) {
|
||||
plugin.getServer().getConsoleSender().sendMessage(ChatColor.RED + "This command must be run by a player.");
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if(!mcp.getPlayer().hasPermission("venturechat.party")) {
|
||||
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!");
|
||||
return;
|
||||
}
|
||||
try {
|
||||
switch(args[0]) {
|
||||
switch (args[0]) {
|
||||
case "host": {
|
||||
if(!mcp.getPlayer().hasPermission("venturechat.party.host")) {
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.party.host")) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this command!");
|
||||
return;
|
||||
}
|
||||
if(mcp.isHost()) {
|
||||
if (mcp.isHost()) {
|
||||
mcp.setHost(false);
|
||||
mcp.getPlayer().sendMessage(ChatColor.GREEN + "You are no longer hosting a party.");
|
||||
for(VentureChatPlayer player : playerApiService.getMineverseChatPlayers()) {
|
||||
if(player.hasParty() && player.getParty().equals(mcp.getParty())) {
|
||||
for (VentureChatPlayer player : playerApiService.getMineverseChatPlayers()) {
|
||||
if (player.hasParty() && player.getParty().equals(mcp.getParty())) {
|
||||
player.setParty(null);
|
||||
if(player.isOnline()) {
|
||||
if (player.isOnline()) {
|
||||
player.getPlayer().sendMessage(ChatColor.RED + mcp.getName() + " is no longer hosting a party.");
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
player.setModified(true);
|
||||
}
|
||||
}
|
||||
@ -64,21 +63,19 @@ public class Party implements VentureCommand {
|
||||
break;
|
||||
}
|
||||
case "join": {
|
||||
if(!mcp.getPlayer().hasPermission("venturechat.party.join")) {
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.party.join")) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this command!");
|
||||
return;
|
||||
}
|
||||
if(args.length > 1) {
|
||||
if (args.length > 1) {
|
||||
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[1]);
|
||||
if(player != null) {
|
||||
if(player.isHost()) {
|
||||
if(!mcp.hasParty()) {
|
||||
if (player != null) {
|
||||
if (player.isHost()) {
|
||||
if (!mcp.hasParty()) {
|
||||
/*
|
||||
* if(plugin.getMetadata(player,
|
||||
* "MineverseChat.party.ban." + tp.getName(),
|
||||
* plugin)) { player.sendMessage(ChatColor.RED +
|
||||
* "You are banned from " + tp.getName() +
|
||||
* "'s party."); break; }
|
||||
* if(plugin.getMetadata(player, "MineverseChat.party.ban." + tp.getName(),
|
||||
* plugin)) { player.sendMessage(ChatColor.RED + "You are banned from " +
|
||||
* tp.getName() + "'s party."); break; }
|
||||
*/
|
||||
mcp.getPlayer().sendMessage(ChatColor.GREEN + "Joined " + player.getName() + "'s party.");
|
||||
mcp.setParty(player.getUuid());
|
||||
@ -98,21 +95,20 @@ public class Party implements VentureCommand {
|
||||
break;
|
||||
}
|
||||
case "leave": {
|
||||
if(!mcp.getPlayer().hasPermission("venturechat.party.leave")) {
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.party.leave")) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this command!");
|
||||
return;
|
||||
}
|
||||
if(mcp.hasParty()) {
|
||||
if (mcp.hasParty()) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GREEN + "Leaving " + playerApiService.getMineverseChatPlayer(mcp.getParty()).getName() + "'s party.");
|
||||
mcp.setParty(null);
|
||||
if(mcp.isHost()) {
|
||||
for(VentureChatPlayer player : playerApiService.getMineverseChatPlayers()) {
|
||||
if(player.hasParty() && player.getParty().equals(mcp.getUuid()) && !player.getName().equals(mcp.getName())) {
|
||||
if (mcp.isHost()) {
|
||||
for (VentureChatPlayer player : playerApiService.getMineverseChatPlayers()) {
|
||||
if (player.hasParty() && player.getParty().equals(mcp.getUuid()) && !player.getName().equals(mcp.getName())) {
|
||||
player.setParty(null);
|
||||
if(player.isOnline()) {
|
||||
if (player.isOnline()) {
|
||||
player.getPlayer().sendMessage(ChatColor.RED + mcp.getName() + " is no longer hosting a party.");
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
player.setModified(true);
|
||||
}
|
||||
}
|
||||
@ -125,16 +121,16 @@ public class Party implements VentureCommand {
|
||||
break;
|
||||
}
|
||||
case "kick": {
|
||||
if(!mcp.getPlayer().hasPermission("venturechat.party.kick")) {
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.party.kick")) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this command!");
|
||||
return;
|
||||
}
|
||||
if(mcp.isHost()) {
|
||||
if(args.length > 1) {
|
||||
if (mcp.isHost()) {
|
||||
if (args.length > 1) {
|
||||
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[1]);
|
||||
if(player != null) {
|
||||
if(!player.getName().equals(mcp.getName())) {
|
||||
if(player.hasParty() && player.getParty().equals(mcp.getUuid())) {
|
||||
if (player != null) {
|
||||
if (!player.getName().equals(mcp.getName())) {
|
||||
if (player.hasParty() && player.getParty().equals(mcp.getUuid())) {
|
||||
player.setParty(null);
|
||||
player.getPlayer().sendMessage(ChatColor.RED + "You have been kicked out of " + mcp.getName() + "'s party.");
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "You have kicked " + player.getName() + " out of your party.");
|
||||
@ -156,59 +152,49 @@ public class Party implements VentureCommand {
|
||||
break;
|
||||
}
|
||||
/*
|
||||
* case "ban": { if(mcp.isHost()) { if(args.length > 1) { Player tp
|
||||
* = Bukkit.getPlayer(args[1]); if(tp != null) {
|
||||
* if(!tp.getName().equals(player.getName())) {
|
||||
* tp.setMetadata("MineverseChat.party.ban." +
|
||||
* player.getUniqueId().toString(), new FixedMetadataValue(plugin,
|
||||
* true)); if(plugin.getMetadataString(tp, "MineverseChat.party",
|
||||
* plugin).equals(plugin.getMetadataString(player,
|
||||
* "MineverseChat.party", plugin))) {
|
||||
* tp.setMetadata("MineverseChat.party", new
|
||||
* FixedMetadataValue(plugin, "")); } tp.sendMessage(ChatColor.RED +
|
||||
* "You have been banned from " + player.getName() + "'s party.");
|
||||
* player.sendMessage(ChatColor.RED + "You have banned " +
|
||||
* tp.getName() + " from your party."); break; }
|
||||
* player.sendMessage(ChatColor.RED + "You cannot ban yourself.");
|
||||
* break; } player.sendMessage(ChatColor.RED + "Player: " +
|
||||
* ChatColor.GOLD + args[1] + ChatColor.RED + " is not online.");
|
||||
* break; } player.sendMessage(ChatColor.RED +
|
||||
* "Invalid command: /party ban [playername]"); break; }
|
||||
* player.sendMessage(ChatColor.RED +
|
||||
* "You are not hosting a party."); break; } case "unban": {
|
||||
* if(plugin.getMetadata(player, "MineverseChat.party.host",
|
||||
* plugin)) { if(args.length > 1) { Player tp =
|
||||
* case "ban": { if(mcp.isHost()) { if(args.length > 1) { Player tp =
|
||||
* Bukkit.getPlayer(args[1]); if(tp != null) {
|
||||
* if(!tp.getName().equals(player.getName())) {
|
||||
* tp.setMetadata("MineverseChat.party.ban." + player.getUniqueId(),
|
||||
* new FixedMetadataValue(plugin, false));
|
||||
* tp.sendMessage(ChatColor.RED + "You have been unbanned from " +
|
||||
* player.getName() + "'s party."); player.sendMessage(ChatColor.RED
|
||||
* + "You have unbanned " + tp.getName() + " from your party.");
|
||||
* tp.setMetadata("MineverseChat.party.ban." + player.getUniqueId().toString(),
|
||||
* new FixedMetadataValue(plugin, true)); if(plugin.getMetadataString(tp,
|
||||
* "MineverseChat.party", plugin).equals(plugin.getMetadataString(player,
|
||||
* "MineverseChat.party", plugin))) { tp.setMetadata("MineverseChat.party", new
|
||||
* FixedMetadataValue(plugin, "")); } tp.sendMessage(ChatColor.RED +
|
||||
* "You have been banned from " + player.getName() + "'s party.");
|
||||
* player.sendMessage(ChatColor.RED + "You have banned " + tp.getName() +
|
||||
* " from your party."); break; } player.sendMessage(ChatColor.RED +
|
||||
* "You cannot ban yourself."); break; } player.sendMessage(ChatColor.RED +
|
||||
* "Player: " + ChatColor.GOLD + args[1] + ChatColor.RED + " is not online.");
|
||||
* break; } player.sendMessage(ChatColor.RED +
|
||||
* "Invalid command: /party ban [playername]"); break; }
|
||||
* player.sendMessage(ChatColor.RED + "You are not hosting a party."); break; }
|
||||
* case "unban": { if(plugin.getMetadata(player, "MineverseChat.party.host",
|
||||
* plugin)) { if(args.length > 1) { Player tp = Bukkit.getPlayer(args[1]); if(tp
|
||||
* != null) { if(!tp.getName().equals(player.getName())) {
|
||||
* tp.setMetadata("MineverseChat.party.ban." + player.getUniqueId(), new
|
||||
* FixedMetadataValue(plugin, false)); tp.sendMessage(ChatColor.RED +
|
||||
* "You have been unbanned from " + player.getName() + "'s party.");
|
||||
* player.sendMessage(ChatColor.RED + "You have unbanned " + tp.getName() +
|
||||
* " from your party."); break; } player.sendMessage(ChatColor.RED +
|
||||
* "You cannot unban yourself."); break; } player.sendMessage(ChatColor.RED +
|
||||
* "Player: " + ChatColor.GOLD + args[1] + ChatColor.RED + " is not online.");
|
||||
* break; } player.sendMessage(ChatColor.RED +
|
||||
* "You cannot unban yourself."); break; }
|
||||
* player.sendMessage(ChatColor.RED + "Player: " + ChatColor.GOLD +
|
||||
* args[1] + ChatColor.RED + " is not online."); break; }
|
||||
* player.sendMessage(ChatColor.RED +
|
||||
* "Invalid command: /party unban [playername]"); break; }
|
||||
* player.sendMessage(ChatColor.RED +
|
||||
* "You are not hosting a party."); break; }
|
||||
* player.sendMessage(ChatColor.RED + "You are not hosting a party."); break; }
|
||||
*/
|
||||
case "info": {
|
||||
if(!mcp.getPlayer().hasPermission("venturechat.party.info")) {
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.party.info")) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this command!");
|
||||
return;
|
||||
}
|
||||
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.");
|
||||
}
|
||||
else if(mcp.isHost()) {
|
||||
} else if (mcp.isHost()) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GREEN + "You are hosting a party.");
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "You are not hosting a party and you are not in a party.");
|
||||
}
|
||||
if(mcp.isPartyChat()) {
|
||||
if (mcp.isPartyChat()) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GREEN + "Party chat on.");
|
||||
break;
|
||||
}
|
||||
@ -216,20 +202,20 @@ public class Party implements VentureCommand {
|
||||
break;
|
||||
}
|
||||
case "chat": {
|
||||
if(!mcp.getPlayer().hasPermission("venturechat.party.chat")) {
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.party.chat")) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this command!");
|
||||
return;
|
||||
}
|
||||
if(mcp.isPartyChat()) {
|
||||
if (mcp.isPartyChat()) {
|
||||
mcp.setPartyChat(false);
|
||||
mcp.getPlayer().sendMessage(ChatColor.GREEN + "Toggled party chat off.");
|
||||
break;
|
||||
}
|
||||
if(mcp.hasConversation()) {
|
||||
if (mcp.hasConversation()) {
|
||||
String tellChat = playerApiService.getMineverseChatPlayer(mcp.getConversation()).getName();
|
||||
mcp.setConversation(null);
|
||||
for(VentureChatPlayer p : playerApiService.getOnlineMineverseChatPlayers()) {
|
||||
if(p.isSpy()) {
|
||||
for (VentureChatPlayer p : playerApiService.getOnlineMineverseChatPlayers()) {
|
||||
if (p.isSpy()) {
|
||||
p.getPlayer().sendMessage(mcp.getName() + " is no longer in a private conversation with " + tellChat + ".");
|
||||
}
|
||||
}
|
||||
@ -240,39 +226,39 @@ public class Party implements VentureCommand {
|
||||
break;
|
||||
}
|
||||
case "help": {
|
||||
if(!mcp.getPlayer().hasPermission("venturechat.party.help")) {
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.party.help")) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this command!");
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(ChatColor.GREEN + "/party host\n/party join [player]\n/party leave\n/party kick [player]\n/party ban [player]\n/party unban [player]\n/party info\n/party members [player]\n/party chat\n/party help");
|
||||
mcp.getPlayer().sendMessage(ChatColor.GREEN
|
||||
+ "/party host\n/party join [player]\n/party leave\n/party kick [player]\n/party ban [player]\n/party unban [player]\n/party info\n/party members [player]\n/party chat\n/party help");
|
||||
break;
|
||||
}
|
||||
case "members": {
|
||||
if(!mcp.getPlayer().hasPermission("venturechat.party.members")) {
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.party.members")) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this command!");
|
||||
return;
|
||||
}
|
||||
if(args.length > 1) {
|
||||
if (args.length > 1) {
|
||||
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[1]);
|
||||
if(player != null) {
|
||||
if(player.isHost()) {
|
||||
if (player != null) {
|
||||
if (player.isHost()) {
|
||||
String members = "";
|
||||
long linecount = LINE_LENGTH;
|
||||
for(VentureChatPlayer p : playerApiService.getMineverseChatPlayers()) {
|
||||
if(p.getParty() != null && p.getParty().equals(player.getUuid())) {
|
||||
if(members.length() + p.getName().length() > linecount) {
|
||||
for (VentureChatPlayer p : playerApiService.getMineverseChatPlayers()) {
|
||||
if (p.getParty() != null && p.getParty().equals(player.getUuid())) {
|
||||
if (members.length() + p.getName().length() > linecount) {
|
||||
members += "\n";
|
||||
linecount = linecount + LINE_LENGTH;
|
||||
}
|
||||
if(p.isOnline()) {
|
||||
if (p.isOnline()) {
|
||||
members += ChatColor.GREEN + p.getName() + ChatColor.WHITE + ", ";
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
members += ChatColor.RED + p.getName() + ChatColor.WHITE + ", ";
|
||||
}
|
||||
}
|
||||
}
|
||||
if(members.length() > 2) {
|
||||
if (members.length() > 2) {
|
||||
members = members.substring(0, members.length() - 2);
|
||||
}
|
||||
mcp.getPlayer().sendMessage(ChatColor.GREEN + "Members in " + player.getName() + "'s party: " + members);
|
||||
@ -288,34 +274,36 @@ public class Party implements VentureCommand {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(args[0].length() > 0) {
|
||||
if(!args[0].equals("host") && !args[0].equals("join") && !args[0].equals("leave") && !args[0].equals("kick") && !args[0].equals("info") && !args[0].equals("chat") && !args[0].equals("help") && !args[0].equals("members") && !args[0].equals("ban") && !args[0].equals("unban")) {
|
||||
if(mcp.hasParty()) {
|
||||
if (args[0].length() > 0) {
|
||||
if (!args[0].equals("host") && !args[0].equals("join") && !args[0].equals("leave") && !args[0].equals("kick") && !args[0].equals("info") && !args[0].equals("chat")
|
||||
&& !args[0].equals("help") && !args[0].equals("members") && !args[0].equals("ban") && !args[0].equals("unban")) {
|
||||
if (mcp.hasParty()) {
|
||||
String msg = "";
|
||||
String partyformat = "";
|
||||
for(int x = 0; x < args.length; x++) {
|
||||
if(args[x].length() > 0) msg += " " + args[x];
|
||||
for (int x = 0; x < args.length; x++) {
|
||||
if (args[x].length() > 0)
|
||||
msg += " " + args[x];
|
||||
}
|
||||
if(mcp.isFilter()) {
|
||||
if (mcp.isFilter()) {
|
||||
msg = formatService.FilterChat(msg);
|
||||
}
|
||||
if(mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
|
||||
msg = FormatUtils.FormatStringLegacyColor(msg);
|
||||
}
|
||||
if(mcp.getPlayer().hasPermission("venturechat.color")) {
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color")) {
|
||||
msg = FormatUtils.FormatStringColor(msg);
|
||||
}
|
||||
if(mcp.getPlayer().hasPermission("venturechat.format")) {
|
||||
if (mcp.getPlayer().hasPermission("venturechat.format")) {
|
||||
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;
|
||||
} else {
|
||||
partyformat = FormatUtils.FormatStringAll(plugin.getConfig().getString("partyformat")
|
||||
.replace("{host}", playerApiService.getMineverseChatPlayer(mcp.getParty()).getName()).replace("{player}", mcp.getName())) + msg;
|
||||
}
|
||||
else {
|
||||
partyformat = FormatUtils.FormatStringAll(plugin.getConfig().getString("partyformat").replace("{host}", playerApiService.getMineverseChatPlayer(mcp.getParty()).getName()).replace("{player}", mcp.getName())) + msg;
|
||||
}
|
||||
for(VentureChatPlayer p : playerApiService.getOnlineMineverseChatPlayers()) {
|
||||
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);
|
||||
}
|
||||
}
|
||||
@ -324,8 +312,7 @@ public class Party implements VentureCommand {
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "You are not in a party.");
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(Exception e) {
|
||||
} catch (Exception e) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "Invalid arguments, /party help");
|
||||
}
|
||||
return;
|
||||
|
@ -1,38 +1,37 @@
|
||||
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 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
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.rangedspy")) {
|
||||
if (!mcp.getRangedSpy()) {
|
||||
mcp.setRangedSpy(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.RANGED_SPY_ON.toString());
|
||||
return;
|
||||
}
|
||||
mcp.setRangedSpy(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.RANGED_SPY_OFF.toString());
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
@Inject
|
||||
public RangedSpy(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executeCommand(Player player, String command, String[] args) {
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) player);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.rangedspy")) {
|
||||
if (!mcp.getRangedSpy()) {
|
||||
mcp.setRangedSpy(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.RANGED_SPY_ON.toString());
|
||||
return;
|
||||
}
|
||||
mcp.setRangedSpy(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.RANGED_SPY_OFF.toString());
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -20,16 +20,16 @@ import venture.Aust1n46.chat.controllers.PluginMessageController;
|
||||
import venture.Aust1n46.chat.initiators.application.VentureChat;
|
||||
import venture.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.model.ChatMessage;
|
||||
import venture.Aust1n46.chat.model.UniversalCommand;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.ConfigService;
|
||||
import venture.Aust1n46.chat.service.VentureChatFormatService;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
import venture.Aust1n46.chat.utilities.FormatUtils;
|
||||
|
||||
public class Removemessage implements VentureCommand {
|
||||
public class Removemessage extends UniversalCommand {
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
private VentureChat plugin;
|
||||
@Inject
|
||||
private VentureChatFormatService formatService;
|
||||
@Inject
|
||||
@ -38,102 +38,115 @@ public class Removemessage implements VentureCommand {
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
@Inject
|
||||
private ConfigService configService;
|
||||
|
||||
private PacketContainer emptyLinePacketContainer;
|
||||
private WrappedChatComponent messageDeletedComponentPlayer;
|
||||
|
||||
@Inject
|
||||
public void postConstruct() {
|
||||
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"))) + "]}}}]}");
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings({"unchecked", "rawtypes"})
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (args.length == 0) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/removemessage")
|
||||
.replace("{args}", "[hashcode] {channel}"));
|
||||
return;
|
||||
}
|
||||
final int hash;
|
||||
try {
|
||||
hash = Integer.parseInt(args[0]);
|
||||
} catch (Exception e) {
|
||||
sender.sendMessage(LocalizedMessage.INVALID_HASH.toString());
|
||||
return;
|
||||
}
|
||||
if (args.length > 1 && configService.isChannel(args[1]) && configService.getChannel(args[1]).getBungee()) {
|
||||
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
|
||||
DataOutputStream out = new DataOutputStream(byteOutStream);
|
||||
try {
|
||||
out.writeUTF("RemoveMessage");
|
||||
out.writeUTF(String.valueOf(hash));
|
||||
pluginMessageController.sendPluginMessage(byteOutStream);
|
||||
out.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return;
|
||||
} else {
|
||||
new BukkitRunnable() {
|
||||
public void run() {
|
||||
final Map<Player, List<PacketContainer>> packets = new HashMap();
|
||||
for (VentureChatPlayer p : playerApiService.getOnlineMineverseChatPlayers()) {
|
||||
List<ChatMessage> messages = p.getMessages();
|
||||
List<PacketContainer> playerPackets = new ArrayList();
|
||||
boolean resend = false;
|
||||
for (int fill = 0; fill < 100 - messages.size(); fill++) {
|
||||
playerPackets.add(Removemessage.this.emptyLinePacketContainer);
|
||||
}
|
||||
for (ChatMessage message : messages) {
|
||||
if (message.getHash() == hash) {
|
||||
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass") ? Removemessage.this.getMessageDeletedChatComponentAdmin(message) : Removemessage.this.getMessageDeletedChatComponentPlayer();
|
||||
message.setComponent(removedComponent);
|
||||
message.setHash(-1);
|
||||
playerPackets.add(formatService.createPacketPlayOutChat(removedComponent));
|
||||
resend = true;
|
||||
continue;
|
||||
}
|
||||
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());
|
||||
if (submessage.hashCode() == hash) {
|
||||
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass") ? Removemessage.this.getMessageDeletedChatComponentAdmin(message) : Removemessage.this.getMessageDeletedChatComponentPlayer();
|
||||
message.setComponent(removedComponent);
|
||||
message.setHash(-1);
|
||||
playerPackets.add(formatService.createPacketPlayOutChat(removedComponent));
|
||||
resend = true;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
playerPackets.add(formatService.createPacketPlayOutChat(message.getComponent()));
|
||||
private PacketContainer emptyLinePacketContainer;
|
||||
private WrappedChatComponent messageDeletedComponentPlayer;
|
||||
|
||||
}
|
||||
if (resend) {
|
||||
packets.put(p.getPlayer(), playerPackets);
|
||||
}
|
||||
}
|
||||
new BukkitRunnable() {
|
||||
public void run() {
|
||||
for (Player p : packets.keySet()) {
|
||||
List<PacketContainer> pPackets = packets.get(p);
|
||||
for (PacketContainer c : pPackets) {
|
||||
formatService.sendPacketPlayOutChat(p, c);
|
||||
}
|
||||
}
|
||||
}
|
||||
}.runTask(plugin);
|
||||
}
|
||||
}.runTaskAsynchronously(plugin);
|
||||
}
|
||||
}
|
||||
@Inject
|
||||
public Removemessage(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
public WrappedChatComponent getMessageDeletedChatComponentPlayer() {
|
||||
return this.messageDeletedComponentPlayer;
|
||||
}
|
||||
@Inject
|
||||
public void postConstruct() {
|
||||
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"))) + "]}}}]}");
|
||||
}
|
||||
|
||||
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() + "}}}]}]");
|
||||
}
|
||||
@Override
|
||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||
public void executeCommand(CommandSender sender, String command, String[] args) {
|
||||
if (args.length == 0) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/removemessage").replace("{args}", "[hashcode] {channel}"));
|
||||
return;
|
||||
}
|
||||
final int hash;
|
||||
try {
|
||||
hash = Integer.parseInt(args[0]);
|
||||
} catch (Exception e) {
|
||||
sender.sendMessage(LocalizedMessage.INVALID_HASH.toString());
|
||||
return;
|
||||
}
|
||||
if (args.length > 1 && configService.isChannel(args[1]) && configService.getChannel(args[1]).getBungee()) {
|
||||
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
|
||||
DataOutputStream out = new DataOutputStream(byteOutStream);
|
||||
try {
|
||||
out.writeUTF("RemoveMessage");
|
||||
out.writeUTF(String.valueOf(hash));
|
||||
pluginMessageController.sendPluginMessage(byteOutStream);
|
||||
out.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return;
|
||||
} else {
|
||||
new BukkitRunnable() {
|
||||
public void run() {
|
||||
final Map<Player, List<PacketContainer>> packets = new HashMap();
|
||||
for (VentureChatPlayer p : playerApiService.getOnlineMineverseChatPlayers()) {
|
||||
List<ChatMessage> messages = p.getMessages();
|
||||
List<PacketContainer> playerPackets = new ArrayList();
|
||||
boolean resend = false;
|
||||
for (int fill = 0; fill < 100 - messages.size(); fill++) {
|
||||
playerPackets.add(Removemessage.this.emptyLinePacketContainer);
|
||||
}
|
||||
for (ChatMessage message : messages) {
|
||||
if (message.getHash() == hash) {
|
||||
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass")
|
||||
? Removemessage.this.getMessageDeletedChatComponentAdmin(message)
|
||||
: Removemessage.this.getMessageDeletedChatComponentPlayer();
|
||||
message.setComponent(removedComponent);
|
||||
message.setHash(-1);
|
||||
playerPackets.add(formatService.createPacketPlayOutChat(removedComponent));
|
||||
resend = true;
|
||||
continue;
|
||||
}
|
||||
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());
|
||||
if (submessage.hashCode() == hash) {
|
||||
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass")
|
||||
? Removemessage.this.getMessageDeletedChatComponentAdmin(message)
|
||||
: Removemessage.this.getMessageDeletedChatComponentPlayer();
|
||||
message.setComponent(removedComponent);
|
||||
message.setHash(-1);
|
||||
playerPackets.add(formatService.createPacketPlayOutChat(removedComponent));
|
||||
resend = true;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
playerPackets.add(formatService.createPacketPlayOutChat(message.getComponent()));
|
||||
|
||||
}
|
||||
if (resend) {
|
||||
packets.put(p.getPlayer(), playerPackets);
|
||||
}
|
||||
}
|
||||
new BukkitRunnable() {
|
||||
public void run() {
|
||||
for (Player p : packets.keySet()) {
|
||||
List<PacketContainer> pPackets = packets.get(p);
|
||||
for (PacketContainer c : pPackets) {
|
||||
formatService.sendPacketPlayOutChat(p, c);
|
||||
}
|
||||
}
|
||||
}
|
||||
}.runTask(plugin);
|
||||
}
|
||||
}.runTaskAsynchronously(plugin);
|
||||
}
|
||||
}
|
||||
|
||||
public WrappedChatComponent getMessageDeletedChatComponentPlayer() {
|
||||
return this.messageDeletedComponentPlayer;
|
||||
}
|
||||
|
||||
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() + "}}}]}]");
|
||||
}
|
||||
}
|
||||
|
@ -3,7 +3,6 @@ package venture.Aust1n46.chat.controllers.commands;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataOutputStream;
|
||||
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
@ -12,15 +11,15 @@ 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.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatFormatService;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
import venture.Aust1n46.chat.utilities.FormatUtils;
|
||||
import venture.Aust1n46.chat.service.VentureChatFormatService;
|
||||
|
||||
public class Reply implements VentureCommand {
|
||||
public class Reply extends PlayerCommand {
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
private VentureChat plugin;
|
||||
@Inject
|
||||
private VentureChatFormatService formatService;
|
||||
@Inject
|
||||
@ -28,135 +27,140 @@ public class Reply implements VentureCommand {
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender 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) {
|
||||
if (mcp.hasReplyPlayer()) {
|
||||
if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
|
||||
sendBungeeCordReply(mcp, args);
|
||||
return;
|
||||
}
|
||||
@Inject
|
||||
public Reply(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
VentureChatPlayer player = playerApiService.getOnlineMineverseChatPlayer(mcp.getReplyPlayer());
|
||||
if (player == null) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.NO_PLAYER_TO_REPLY_TO.toString());
|
||||
return;
|
||||
}
|
||||
if (!mcp.getPlayer().canSee(player.getPlayer())) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.NO_PLAYER_TO_REPLY_TO.toString());
|
||||
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;
|
||||
}
|
||||
String msg = "";
|
||||
String echo = "";
|
||||
String send = "";
|
||||
String spy = "";
|
||||
if (args.length > 0) {
|
||||
for (int r = 0; 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);
|
||||
}
|
||||
@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(sender);
|
||||
if (args.length > 0) {
|
||||
if (mcp.hasReplyPlayer()) {
|
||||
if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
|
||||
sendBungeeCordReply(mcp, args);
|
||||
return;
|
||||
}
|
||||
|
||||
send = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatfrom").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_", "")));
|
||||
VentureChatPlayer player = playerApiService.getOnlineMineverseChatPlayer(mcp.getReplyPlayer());
|
||||
if (player == null) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.NO_PLAYER_TO_REPLY_TO.toString());
|
||||
return;
|
||||
}
|
||||
if (!mcp.getPlayer().canSee(player.getPlayer())) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.NO_PLAYER_TO_REPLY_TO.toString());
|
||||
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;
|
||||
}
|
||||
String msg = "";
|
||||
String echo = "";
|
||||
String send = "";
|
||||
String spy = "";
|
||||
if (args.length > 0) {
|
||||
for (int r = 0; 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(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;
|
||||
send = FormatUtils
|
||||
.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatfrom").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_", "")));
|
||||
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) {
|
||||
for (VentureChatPlayer p : playerApiService.getOnlineMineverseChatPlayers()) {
|
||||
if (p.getName().equals(mcp.getName()) || p.getName().equals(player.getName())) {
|
||||
continue;
|
||||
}
|
||||
if (p.isSpy()) {
|
||||
p.getPlayer().sendMessage(spy);
|
||||
}
|
||||
}
|
||||
}
|
||||
player.getPlayer().sendMessage(send);
|
||||
mcp.getPlayer().sendMessage(echo);
|
||||
if (player.isNotifications()) {
|
||||
formatService.playMessageSound(player);
|
||||
}
|
||||
player.setReplyPlayer(mcp.getUuid());
|
||||
return;
|
||||
}
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.NO_PLAYER_TO_REPLY_TO.toString());
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/reply")
|
||||
.replace("{args}", "[message]"));
|
||||
}
|
||||
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;
|
||||
|
||||
private void sendBungeeCordReply(VentureChatPlayer mcp, String[] args) {
|
||||
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
|
||||
DataOutputStream out = new DataOutputStream(byteOutStream);
|
||||
StringBuilder msgBuilder = new StringBuilder();
|
||||
for (int r = 0; 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);
|
||||
}
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) {
|
||||
for (VentureChatPlayer p : playerApiService.getOnlineMineverseChatPlayers()) {
|
||||
if (p.getName().equals(mcp.getName()) || p.getName().equals(player.getName())) {
|
||||
continue;
|
||||
}
|
||||
if (p.isSpy()) {
|
||||
p.getPlayer().sendMessage(spy);
|
||||
}
|
||||
}
|
||||
}
|
||||
player.getPlayer().sendMessage(send);
|
||||
mcp.getPlayer().sendMessage(echo);
|
||||
if (player.isNotifications()) {
|
||||
formatService.playMessageSound(player);
|
||||
}
|
||||
player.setReplyPlayer(mcp.getUuid());
|
||||
return;
|
||||
}
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.NO_PLAYER_TO_REPLY_TO.toString());
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/reply").replace("{args}", "[message]"));
|
||||
}
|
||||
|
||||
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 spy = "VentureChat:NoSpy";
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) {
|
||||
spy = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatspy").replaceAll("sender_", "")));
|
||||
}
|
||||
try {
|
||||
out.writeUTF("Message");
|
||||
out.writeUTF("Send");
|
||||
out.writeUTF(playerApiService.getMineverseChatPlayer(mcp.getReplyPlayer()).getName());
|
||||
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();
|
||||
}
|
||||
}
|
||||
private void sendBungeeCordReply(VentureChatPlayer mcp, String[] args) {
|
||||
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
|
||||
DataOutputStream out = new DataOutputStream(byteOutStream);
|
||||
StringBuilder msgBuilder = new StringBuilder();
|
||||
for (int r = 0; 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("replyformatfrom").replaceAll("sender_", "")));
|
||||
String echo = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatto").replaceAll("sender_", "")));
|
||||
String spy = "VentureChat:NoSpy";
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) {
|
||||
spy = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatspy").replaceAll("sender_", "")));
|
||||
}
|
||||
try {
|
||||
out.writeUTF("Message");
|
||||
out.writeUTF("Send");
|
||||
out.writeUTF(playerApiService.getMineverseChatPlayer(mcp.getReplyPlayer()).getName());
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -7,12 +7,12 @@ 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.UniversalCommand;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.ConfigService;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Setchannel implements VentureCommand {
|
||||
public class Setchannel extends UniversalCommand {
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
@ -20,74 +20,69 @@ public class Setchannel implements VentureCommand {
|
||||
@Inject
|
||||
private ConfigService configService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.setchannel")) {
|
||||
if (args.length < 2) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/setchannel")
|
||||
.replace("{args}", "[player] [channel]"));
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[0]);
|
||||
if (player == null) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
|
||||
.replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
ChatChannel channel = configService.getChannel(args[1]);
|
||||
if (channel == null) {
|
||||
sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString()
|
||||
.replace("{args}", args[1]));
|
||||
return;
|
||||
}
|
||||
if (channel.hasPermission()) {
|
||||
if (!player.isOnline()) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE_NO_PERMISSIONS_CHECK.toString());
|
||||
return;
|
||||
}
|
||||
if (!player.getPlayer().hasPermission(channel.getPermission())) {
|
||||
player.removeListening(channel.getName());
|
||||
sender.sendMessage(LocalizedMessage.SET_CHANNEL_PLAYER_CHANNEL_NO_PERMISSION.toString()
|
||||
.replace("{player}", player.getName())
|
||||
.replace("{channel_color}", channel.getColor() + "")
|
||||
.replace("{channel_name}", channel.getName()));
|
||||
return;
|
||||
}
|
||||
}
|
||||
player.addListening(channel.getName());
|
||||
player.setCurrentChannel(channel);
|
||||
sender.sendMessage(LocalizedMessage.SET_CHANNEL_SENDER.toString()
|
||||
.replace("{player}", player.getName())
|
||||
.replace("{channel_color}", channel.getColor() + "")
|
||||
.replace("{channel_name}", channel.getName()));
|
||||
if (player.hasConversation()) {
|
||||
for (VentureChatPlayer p : playerApiService.getOnlineMineverseChatPlayers()) {
|
||||
if (p.isSpy()) {
|
||||
p.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION_SPY.toString()
|
||||
.replace("{player_sender}", player.getName())
|
||||
.replace("{player_receiver}", playerApiService.getMineverseChatPlayer(player.getConversation()).getName()));
|
||||
}
|
||||
}
|
||||
if (player.isOnline())
|
||||
player.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION.toString()
|
||||
.replace("{player_receiver}", playerApiService.getMineverseChatPlayer(player.getConversation()).getName()));
|
||||
else
|
||||
player.setModified(true);
|
||||
player.setConversation(null);
|
||||
}
|
||||
if (player.isOnline())
|
||||
player.getPlayer().sendMessage(LocalizedMessage.SET_CHANNEL.toString()
|
||||
.replace("{channel_color}", channel.getColor() + "")
|
||||
.replace("{channel_name}", channel.getName()));
|
||||
else {
|
||||
player.setModified(true);
|
||||
}
|
||||
if (channel.getBungee()) {
|
||||
pluginMessageController.synchronize(player, true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
}
|
||||
@Inject
|
||||
public Setchannel(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executeCommand(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.setchannel")) {
|
||||
if (args.length < 2) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/setchannel").replace("{args}", "[player] [channel]"));
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[0]);
|
||||
if (player == null) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
ChatChannel channel = configService.getChannel(args[1]);
|
||||
if (channel == null) {
|
||||
sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[1]));
|
||||
return;
|
||||
}
|
||||
if (channel.hasPermission()) {
|
||||
if (!player.isOnline()) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE_NO_PERMISSIONS_CHECK.toString());
|
||||
return;
|
||||
}
|
||||
if (!player.getPlayer().hasPermission(channel.getPermission())) {
|
||||
player.removeListening(channel.getName());
|
||||
sender.sendMessage(LocalizedMessage.SET_CHANNEL_PLAYER_CHANNEL_NO_PERMISSION.toString().replace("{player}", player.getName())
|
||||
.replace("{channel_color}", channel.getColor() + "").replace("{channel_name}", channel.getName()));
|
||||
return;
|
||||
}
|
||||
}
|
||||
player.addListening(channel.getName());
|
||||
player.setCurrentChannel(channel);
|
||||
sender.sendMessage(LocalizedMessage.SET_CHANNEL_SENDER.toString().replace("{player}", player.getName()).replace("{channel_color}", channel.getColor() + "")
|
||||
.replace("{channel_name}", channel.getName()));
|
||||
if (player.hasConversation()) {
|
||||
for (VentureChatPlayer p : playerApiService.getOnlineMineverseChatPlayers()) {
|
||||
if (p.isSpy()) {
|
||||
p.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION_SPY.toString().replace("{player_sender}", player.getName())
|
||||
.replace("{player_receiver}", playerApiService.getMineverseChatPlayer(player.getConversation()).getName()));
|
||||
}
|
||||
}
|
||||
if (player.isOnline())
|
||||
player.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION.toString().replace("{player_receiver}",
|
||||
playerApiService.getMineverseChatPlayer(player.getConversation()).getName()));
|
||||
else
|
||||
player.setModified(true);
|
||||
player.setConversation(null);
|
||||
}
|
||||
if (player.isOnline())
|
||||
player.getPlayer()
|
||||
.sendMessage(LocalizedMessage.SET_CHANNEL.toString().replace("{channel_color}", channel.getColor() + "").replace("{channel_name}", channel.getName()));
|
||||
else {
|
||||
player.setModified(true);
|
||||
}
|
||||
if (channel.getBungee()) {
|
||||
pluginMessageController.synchronize(player, true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
}
|
||||
}
|
||||
|
@ -7,12 +7,12 @@ 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.UniversalCommand;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.ConfigService;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Setchannelall implements VentureCommand {
|
||||
public class Setchannelall extends UniversalCommand {
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
@ -20,51 +20,52 @@ public class Setchannelall implements VentureCommand {
|
||||
@Inject
|
||||
private ConfigService configService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.setchannelall")) {
|
||||
if (args.length < 1) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/setchannelall")
|
||||
.replace("{args}", "[player]"));
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[0]);
|
||||
if (player == null) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
|
||||
.replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
boolean isThereABungeeChannel = false;
|
||||
for (ChatChannel channel : configService.getChatChannels()) {
|
||||
if (channel.hasPermission()) {
|
||||
if (!player.isOnline()) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE_NO_PERMISSIONS_CHECK.toString());
|
||||
return;
|
||||
}
|
||||
if (!player.getPlayer().hasPermission(channel.getPermission())) {
|
||||
player.removeListening(channel.getName());
|
||||
} else {
|
||||
player.addListening(channel.getName());
|
||||
}
|
||||
} else {
|
||||
player.addListening(channel.getName());
|
||||
}
|
||||
if (channel.getBungee()) {
|
||||
isThereABungeeChannel = true;
|
||||
}
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.SET_CHANNEL_ALL_SENDER.toString()
|
||||
.replace("{player}", player.getName()));
|
||||
if (player.isOnline())
|
||||
player.getPlayer().sendMessage(LocalizedMessage.SET_CHANNEL_ALL_PLAYER.toString());
|
||||
else
|
||||
player.setModified(true);
|
||||
if (isThereABungeeChannel) {
|
||||
pluginMessageController.synchronize(player, true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
}
|
||||
@Inject
|
||||
public Setchannelall(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executeCommand(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.setchannelall")) {
|
||||
if (args.length < 1) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/setchannelall").replace("{args}", "[player]"));
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[0]);
|
||||
if (player == null) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
boolean isThereABungeeChannel = false;
|
||||
for (ChatChannel channel : configService.getChatChannels()) {
|
||||
if (channel.hasPermission()) {
|
||||
if (!player.isOnline()) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE_NO_PERMISSIONS_CHECK.toString());
|
||||
return;
|
||||
}
|
||||
if (!player.getPlayer().hasPermission(channel.getPermission())) {
|
||||
player.removeListening(channel.getName());
|
||||
} else {
|
||||
player.addListening(channel.getName());
|
||||
}
|
||||
} else {
|
||||
player.addListening(channel.getName());
|
||||
}
|
||||
if (channel.getBungee()) {
|
||||
isThereABungeeChannel = true;
|
||||
}
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.SET_CHANNEL_ALL_SENDER.toString().replace("{player}", player.getName()));
|
||||
if (player.isOnline())
|
||||
player.getPlayer().sendMessage(LocalizedMessage.SET_CHANNEL_ALL_PLAYER.toString());
|
||||
else
|
||||
player.setModified(true);
|
||||
if (isThereABungeeChannel) {
|
||||
pluginMessageController.synchronize(player, true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
}
|
||||
}
|
||||
|
@ -1,43 +1,42 @@
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
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.PlayerCommand;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Spy implements VentureCommand {
|
||||
public class Spy extends PlayerCommand {
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.spy")) {
|
||||
if (!mcp.isSpy()) {
|
||||
mcp.setSpy(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.SPY_ON.toString());
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
return;
|
||||
}
|
||||
mcp.setSpy(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.SPY_OFF.toString());
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
@Inject
|
||||
public Spy(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executeCommand(Player player, String command, String[] args) {
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer(player);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.spy")) {
|
||||
if (!mcp.isSpy()) {
|
||||
mcp.setSpy(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.SPY_ON.toString());
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
return;
|
||||
}
|
||||
mcp.setSpy(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.SPY_OFF.toString());
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -7,7 +7,6 @@ import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.util.StringUtil;
|
||||
@ -17,12 +16,12 @@ 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.UniversalCommand;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.ConfigService;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Unmute implements VentureCommand {
|
||||
public class Unmute extends UniversalCommand {
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
@ -30,93 +29,95 @@ public class Unmute implements VentureCommand {
|
||||
@Inject
|
||||
private ConfigService configService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.mute")) {
|
||||
if (args.length < 2) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/unmute")
|
||||
.replace("{args}", "[channel] [player]"));
|
||||
return;
|
||||
}
|
||||
if (configService.isChannel(args[0])) {
|
||||
ChatChannel channel = configService.getChannel(args[0]);
|
||||
if (channel.getBungee()) {
|
||||
sendBungeeCordUnmute(sender, args[1], channel);
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[1]);
|
||||
if (player == null || (!player.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[1]));
|
||||
return;
|
||||
}
|
||||
if (!player.isMuted(channel.getName())) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_NOT_MUTED.toString()
|
||||
.replace("{player}", player.getName()).replace("{channel_color}", channel.getColor())
|
||||
.replace("{channel_name}", channel.getName()));
|
||||
return;
|
||||
}
|
||||
player.removeMute(channel.getName());
|
||||
sender.sendMessage(LocalizedMessage.UNMUTE_PLAYER_SENDER.toString()
|
||||
.replace("{player}", player.getName()).replace("{channel_color}", channel.getColor())
|
||||
.replace("{channel_name}", channel.getName()));
|
||||
if (player.isOnline()) {
|
||||
player.getPlayer().sendMessage(LocalizedMessage.UNMUTE_PLAYER_PLAYER.toString()
|
||||
.replace("{player}", player.getName()).replace("{channel_color}", channel.getColor())
|
||||
.replace("{channel_name}", channel.getName()));
|
||||
} else {
|
||||
player.setModified(true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[0]));
|
||||
return;
|
||||
} else {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
}
|
||||
@Inject
|
||||
public Unmute(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
|
||||
List<String> completions = new ArrayList<>();
|
||||
if (args.length == 1) {
|
||||
StringUtil.copyPartialMatches(args[0], configService.getChatChannels().stream().map(ChatChannel::getName).collect(Collectors.toList()), completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
}
|
||||
if (args.length == 2) {
|
||||
if (configService.isChannel(args[0])) {
|
||||
ChatChannel chatChannelObj = configService.getChannel(args[0]);
|
||||
if (chatChannelObj.getBungee()) {
|
||||
StringUtil.copyPartialMatches(args[1], playerApiService.getNetworkPlayerNames(), completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
}
|
||||
StringUtil.copyPartialMatches(args[1], playerApiService.getOnlineMineverseChatPlayers().stream().filter(mcp -> mcp.isMuted(chatChannelObj.getName())).map(VentureChatPlayer::getName).collect(Collectors.toList()), completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
}
|
||||
}
|
||||
return Collections.emptyList();
|
||||
}
|
||||
@Override
|
||||
public void executeCommand(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.mute")) {
|
||||
if (args.length < 2) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/unmute").replace("{args}", "[channel] [player]"));
|
||||
return;
|
||||
}
|
||||
if (configService.isChannel(args[0])) {
|
||||
ChatChannel channel = configService.getChannel(args[0]);
|
||||
if (channel.getBungee()) {
|
||||
sendBungeeCordUnmute(sender, args[1], channel);
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[1]);
|
||||
if (player == null || (!player.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[1]));
|
||||
return;
|
||||
}
|
||||
if (!player.isMuted(channel.getName())) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_NOT_MUTED.toString().replace("{player}", player.getName()).replace("{channel_color}", channel.getColor())
|
||||
.replace("{channel_name}", channel.getName()));
|
||||
return;
|
||||
}
|
||||
player.removeMute(channel.getName());
|
||||
sender.sendMessage(LocalizedMessage.UNMUTE_PLAYER_SENDER.toString().replace("{player}", player.getName()).replace("{channel_color}", channel.getColor())
|
||||
.replace("{channel_name}", channel.getName()));
|
||||
if (player.isOnline()) {
|
||||
player.getPlayer().sendMessage(LocalizedMessage.UNMUTE_PLAYER_PLAYER.toString().replace("{player}", player.getName())
|
||||
.replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()));
|
||||
} else {
|
||||
player.setModified(true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[0]));
|
||||
return;
|
||||
} else {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
private void sendBungeeCordUnmute(CommandSender sender, String playerToUnmute, ChatChannel channel) {
|
||||
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
|
||||
DataOutputStream out = new DataOutputStream(byteOutStream);
|
||||
try {
|
||||
out.writeUTF("Unmute");
|
||||
out.writeUTF("Send");
|
||||
if (sender instanceof Player) {
|
||||
out.writeUTF(((Player) sender).getUniqueId().toString());
|
||||
} else {
|
||||
out.writeUTF("VentureChat:Console");
|
||||
}
|
||||
out.writeUTF(playerToUnmute);
|
||||
out.writeUTF(channel.getName());
|
||||
pluginMessageController.sendPluginMessage(byteOutStream);
|
||||
out.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public List<String> tabComplete(CommandSender sender, String alias, String[] args) {
|
||||
List<String> completions = new ArrayList<>();
|
||||
if (args.length == 1) {
|
||||
StringUtil.copyPartialMatches(args[0], configService.getChatChannels().stream().map(ChatChannel::getName).collect(Collectors.toList()), completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
}
|
||||
if (args.length == 2) {
|
||||
if (configService.isChannel(args[0])) {
|
||||
ChatChannel chatChannelObj = configService.getChannel(args[0]);
|
||||
if (chatChannelObj.getBungee()) {
|
||||
StringUtil.copyPartialMatches(args[1], playerApiService.getNetworkPlayerNames(), completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
}
|
||||
StringUtil.copyPartialMatches(args[1], playerApiService.getOnlineMineverseChatPlayers().stream().filter(mcp -> mcp.isMuted(chatChannelObj.getName()))
|
||||
.map(VentureChatPlayer::getName).collect(Collectors.toList()), completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
}
|
||||
}
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
private void sendBungeeCordUnmute(CommandSender sender, String playerToUnmute, ChatChannel channel) {
|
||||
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
|
||||
DataOutputStream out = new DataOutputStream(byteOutStream);
|
||||
try {
|
||||
out.writeUTF("Unmute");
|
||||
out.writeUTF("Send");
|
||||
if (sender instanceof Player) {
|
||||
out.writeUTF(((Player) sender).getUniqueId().toString());
|
||||
} else {
|
||||
out.writeUTF("VentureChat:Console");
|
||||
}
|
||||
out.writeUTF(playerToUnmute);
|
||||
out.writeUTF(channel.getName());
|
||||
pluginMessageController.sendPluginMessage(byteOutStream);
|
||||
out.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -7,12 +7,12 @@ 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.UniversalCommand;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.ConfigService;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Unmuteall implements VentureCommand {
|
||||
public class Unmuteall extends UniversalCommand {
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
@ -20,41 +20,42 @@ public class Unmuteall implements VentureCommand {
|
||||
@Inject
|
||||
private ConfigService configService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.mute")) {
|
||||
if (args.length < 1) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/unmuteall")
|
||||
.replace("{args}", "[player]"));
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[0]);
|
||||
if (player == null || (!player.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
|
||||
.replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
boolean bungee = false;
|
||||
for (ChatChannel channel : configService.getChatChannels()) {
|
||||
player.removeMute(channel.getName());
|
||||
if (channel.getBungee()) {
|
||||
bungee = true;
|
||||
}
|
||||
}
|
||||
if (bungee) {
|
||||
pluginMessageController.synchronize(player, true);
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.UNMUTE_PLAYER_ALL_SENDER.toString()
|
||||
.replace("{player}", player.getName()));
|
||||
if (player.isOnline()) {
|
||||
player.getPlayer().sendMessage(LocalizedMessage.UNMUTE_PLAYER_ALL_PLAYER.toString());
|
||||
} else
|
||||
player.setModified(true);
|
||||
return;
|
||||
} else {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
}
|
||||
@Inject
|
||||
public Unmuteall(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executeCommand(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.mute")) {
|
||||
if (args.length < 1) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/unmuteall").replace("{args}", "[player]"));
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[0]);
|
||||
if (player == null || (!player.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
boolean bungee = false;
|
||||
for (ChatChannel channel : configService.getChatChannels()) {
|
||||
player.removeMute(channel.getName());
|
||||
if (channel.getBungee()) {
|
||||
bungee = true;
|
||||
}
|
||||
}
|
||||
if (bungee) {
|
||||
pluginMessageController.synchronize(player, true);
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.UNMUTE_PLAYER_ALL_SENDER.toString().replace("{player}", player.getName()));
|
||||
if (player.isOnline()) {
|
||||
player.getPlayer().sendMessage(LocalizedMessage.UNMUTE_PLAYER_ALL_PLAYER.toString());
|
||||
} else
|
||||
player.setModified(true);
|
||||
return;
|
||||
} else {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,6 @@ import java.util.List;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
@ -20,192 +19,189 @@ import venture.Aust1n46.chat.initiators.application.VentureChat;
|
||||
import venture.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
import venture.Aust1n46.chat.model.GuiSlot;
|
||||
import venture.Aust1n46.chat.model.PlayerCommand;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.ConfigService;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
import venture.Aust1n46.chat.utilities.FormatUtils;
|
||||
import venture.Aust1n46.chat.utilities.VersionHandler;
|
||||
|
||||
public class VentureChatGui implements VentureCommand {
|
||||
public class VentureChatGui extends PlayerCommand {
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
private VentureChat plugin;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
@Inject
|
||||
private ConfigService configService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, 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) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/venturechatgui")
|
||||
.replace("{args}", "[player] [channel] [hashcode]"));
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.gui")) {
|
||||
VentureChatPlayer target = playerApiService.getMineverseChatPlayer(args[0]);
|
||||
if (target == null && !args[0].equals("Discord")) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
|
||||
.replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
if (configService.isChannel(args[1])) {
|
||||
ChatChannel channel = configService.getChannel(args[1]);
|
||||
final int hash;
|
||||
try {
|
||||
hash = Integer.parseInt(args[2]);
|
||||
} catch (Exception e) {
|
||||
sender.sendMessage(LocalizedMessage.INVALID_HASH.toString());
|
||||
return;
|
||||
}
|
||||
if (args[0].equals("Discord")) {
|
||||
this.openInventoryDiscord(mcp, channel, hash);
|
||||
return;
|
||||
}
|
||||
this.openInventory(mcp, target, channel, hash);
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.INVALID_CHANNEL.toString()
|
||||
.replace("{args}", args[1]));
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
@Inject
|
||||
public VentureChatGui(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
private void openInventory(VentureChatPlayer mcp, VentureChatPlayer target, ChatChannel channel, int hash) {
|
||||
Inventory inv = Bukkit.createInventory(null, this.getSlots(), "VentureChat: " + target.getName() + " GUI");
|
||||
ItemStack close = null;
|
||||
ItemStack skull = null;
|
||||
if (VersionHandler.is1_7()) {
|
||||
close = new ItemStack(Material.BEDROCK);
|
||||
} else {
|
||||
close = new ItemStack(Material.BARRIER);
|
||||
}
|
||||
@Override
|
||||
public void executeCommand(Player player, String command, String[] args) {
|
||||
if (args.length < 3) {
|
||||
player.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/venturechatgui").replace("{args}", "[player] [channel] [hashcode]"));
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer(player);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.gui")) {
|
||||
VentureChatPlayer target = playerApiService.getMineverseChatPlayer(args[0]);
|
||||
if (target == null && !args[0].equals("Discord")) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
if (configService.isChannel(args[1])) {
|
||||
ChatChannel channel = configService.getChannel(args[1]);
|
||||
final int hash;
|
||||
try {
|
||||
hash = Integer.parseInt(args[2]);
|
||||
} catch (Exception e) {
|
||||
player.sendMessage(LocalizedMessage.INVALID_HASH.toString());
|
||||
return;
|
||||
}
|
||||
if (args[0].equals("Discord")) {
|
||||
this.openInventoryDiscord(mcp, channel, hash);
|
||||
return;
|
||||
}
|
||||
this.openInventory(mcp, target, channel, hash);
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[1]));
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
|
||||
if (VersionHandler.is1_7() || VersionHandler.is1_8() || VersionHandler.is1_9() || VersionHandler.is1_10() || VersionHandler.is1_11() || VersionHandler.is1_12()) {
|
||||
skull = new ItemStack(Material.getMaterial("SKULL_ITEM"));
|
||||
} else {
|
||||
skull = new ItemStack(Material.PLAYER_HEAD);
|
||||
}
|
||||
@SuppressWarnings("deprecation")
|
||||
private void openInventory(VentureChatPlayer mcp, VentureChatPlayer target, ChatChannel channel, int hash) {
|
||||
Inventory inv = Bukkit.createInventory(null, this.getSlots(), "VentureChat: " + target.getName() + " GUI");
|
||||
ItemStack close = null;
|
||||
ItemStack skull = null;
|
||||
if (VersionHandler.is1_7()) {
|
||||
close = new ItemStack(Material.BEDROCK);
|
||||
} else {
|
||||
close = new ItemStack(Material.BARRIER);
|
||||
}
|
||||
|
||||
ItemMeta closeMeta = close.getItemMeta();
|
||||
closeMeta.setDisplayName(ChatColor.RED + "" + ChatColor.ITALIC + "Close GUI");
|
||||
close.setItemMeta(closeMeta);
|
||||
if (VersionHandler.is1_7() || VersionHandler.is1_8() || VersionHandler.is1_9() || VersionHandler.is1_10() || VersionHandler.is1_11() || VersionHandler.is1_12()) {
|
||||
skull = new ItemStack(Material.getMaterial("SKULL_ITEM"));
|
||||
} else {
|
||||
skull = new ItemStack(Material.PLAYER_HEAD);
|
||||
}
|
||||
|
||||
SkullMeta skullMeta = (SkullMeta) skull.getItemMeta();
|
||||
skullMeta.setOwner(target.getName());
|
||||
skullMeta.setDisplayName(ChatColor.AQUA + target.getName());
|
||||
List<String> skullLore = new ArrayList<String>();
|
||||
skullLore.add(ChatColor.GRAY + "Channel: " + channel.getColor() + channel.getName());
|
||||
skullLore.add(ChatColor.GRAY + "Hash: " + channel.getColor() + hash);
|
||||
skullMeta.setLore(skullLore);
|
||||
skull.setItemMeta(skullMeta);
|
||||
skull.setDurability((short) 3);
|
||||
inv.setItem(0, skull);
|
||||
ItemMeta closeMeta = close.getItemMeta();
|
||||
closeMeta.setDisplayName(ChatColor.RED + "" + ChatColor.ITALIC + "Close GUI");
|
||||
close.setItemMeta(closeMeta);
|
||||
|
||||
for (GuiSlot g : configService.getGuiSlots()) {
|
||||
if (!g.hasPermission() || mcp.getPlayer().hasPermission(g.getPermission())) {
|
||||
if (this.checkSlot(g.getSlot())) {
|
||||
plugin.getServer().getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&cGUI: " + g.getName() + " has invalid slot: " + g.getSlot() + "!"));
|
||||
continue;
|
||||
}
|
||||
ItemStack gStack = new ItemStack(g.getIcon());
|
||||
gStack.setDurability((short) g.getDurability());
|
||||
ItemMeta gMeta = gStack.getItemMeta();
|
||||
String displayName = g.getText().replace("{player_name}", target.getName()).replace("{channel}", channel.getName()).replace("{hash}", hash + "");
|
||||
if (target.isOnline()) {
|
||||
displayName = PlaceholderAPI.setBracketPlaceholders(target.getPlayer(), displayName);
|
||||
}
|
||||
gMeta.setDisplayName(FormatUtils.FormatStringAll(displayName));
|
||||
List<String> gLore = new ArrayList<String>();
|
||||
gMeta.setLore(gLore);
|
||||
gStack.setItemMeta(gMeta);
|
||||
inv.setItem(g.getSlot(), gStack);
|
||||
}
|
||||
}
|
||||
SkullMeta skullMeta = (SkullMeta) skull.getItemMeta();
|
||||
skullMeta.setOwner(target.getName());
|
||||
skullMeta.setDisplayName(ChatColor.AQUA + target.getName());
|
||||
List<String> skullLore = new ArrayList<String>();
|
||||
skullLore.add(ChatColor.GRAY + "Channel: " + channel.getColor() + channel.getName());
|
||||
skullLore.add(ChatColor.GRAY + "Hash: " + channel.getColor() + hash);
|
||||
skullMeta.setLore(skullLore);
|
||||
skull.setItemMeta(skullMeta);
|
||||
skull.setDurability((short) 3);
|
||||
inv.setItem(0, skull);
|
||||
|
||||
inv.setItem(8, close);
|
||||
mcp.getPlayer().openInventory(inv);
|
||||
}
|
||||
for (GuiSlot g : configService.getGuiSlots()) {
|
||||
if (!g.hasPermission() || mcp.getPlayer().hasPermission(g.getPermission())) {
|
||||
if (this.checkSlot(g.getSlot())) {
|
||||
plugin.getServer().getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&cGUI: " + g.getName() + " has invalid slot: " + g.getSlot() + "!"));
|
||||
continue;
|
||||
}
|
||||
ItemStack gStack = new ItemStack(g.getIcon());
|
||||
gStack.setDurability((short) g.getDurability());
|
||||
ItemMeta gMeta = gStack.getItemMeta();
|
||||
String displayName = g.getText().replace("{player_name}", target.getName()).replace("{channel}", channel.getName()).replace("{hash}", hash + "");
|
||||
if (target.isOnline()) {
|
||||
displayName = PlaceholderAPI.setBracketPlaceholders(target.getPlayer(), displayName);
|
||||
}
|
||||
gMeta.setDisplayName(FormatUtils.FormatStringAll(displayName));
|
||||
List<String> gLore = new ArrayList<String>();
|
||||
gMeta.setLore(gLore);
|
||||
gStack.setItemMeta(gMeta);
|
||||
inv.setItem(g.getSlot(), gStack);
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
private void openInventoryDiscord(VentureChatPlayer mcp, ChatChannel channel, int hash) {
|
||||
Inventory inv = Bukkit.createInventory(null, this.getSlots(), "VentureChat: Discord_Message GUI");
|
||||
ItemStack close = null;
|
||||
ItemStack skull = null;
|
||||
if (VersionHandler.is1_7()) {
|
||||
close = new ItemStack(Material.BEDROCK);
|
||||
} else {
|
||||
close = new ItemStack(Material.BARRIER);
|
||||
}
|
||||
inv.setItem(8, close);
|
||||
mcp.getPlayer().openInventory(inv);
|
||||
}
|
||||
|
||||
if (VersionHandler.is1_7() || VersionHandler.is1_8() || VersionHandler.is1_9() || VersionHandler.is1_10() || VersionHandler.is1_11() || VersionHandler.is1_12()) {
|
||||
skull = new ItemStack(Material.getMaterial("SKULL_ITEM"));
|
||||
} else {
|
||||
skull = new ItemStack(Material.PLAYER_HEAD);
|
||||
}
|
||||
@SuppressWarnings("deprecation")
|
||||
private void openInventoryDiscord(VentureChatPlayer mcp, ChatChannel channel, int hash) {
|
||||
Inventory inv = Bukkit.createInventory(null, this.getSlots(), "VentureChat: Discord_Message GUI");
|
||||
ItemStack close = null;
|
||||
ItemStack skull = null;
|
||||
if (VersionHandler.is1_7()) {
|
||||
close = new ItemStack(Material.BEDROCK);
|
||||
} else {
|
||||
close = new ItemStack(Material.BARRIER);
|
||||
}
|
||||
|
||||
ItemMeta closeMeta = close.getItemMeta();
|
||||
closeMeta.setDisplayName("<EFBFBD>oClose GUI");
|
||||
close.setItemMeta(closeMeta);
|
||||
if (VersionHandler.is1_7() || VersionHandler.is1_8() || VersionHandler.is1_9() || VersionHandler.is1_10() || VersionHandler.is1_11() || VersionHandler.is1_12()) {
|
||||
skull = new ItemStack(Material.getMaterial("SKULL_ITEM"));
|
||||
} else {
|
||||
skull = new ItemStack(Material.PLAYER_HEAD);
|
||||
}
|
||||
|
||||
SkullMeta skullMeta = (SkullMeta) skull.getItemMeta();
|
||||
skullMeta.setOwner("Scarsz");
|
||||
skullMeta.setDisplayName("<EFBFBD>bDiscord_Message");
|
||||
List<String> skullLore = new ArrayList<String>();
|
||||
skullLore.add("<EFBFBD>7Channel: " + channel.getColor() + channel.getName());
|
||||
skullLore.add("<EFBFBD>7Hash: " + channel.getColor() + hash);
|
||||
skullMeta.setLore(skullLore);
|
||||
skull.setItemMeta(skullMeta);
|
||||
skull.setDurability((short) 3);
|
||||
inv.setItem(0, skull);
|
||||
ItemMeta closeMeta = close.getItemMeta();
|
||||
closeMeta.setDisplayName("<EFBFBD>oClose GUI");
|
||||
close.setItemMeta(closeMeta);
|
||||
|
||||
for (GuiSlot g : configService.getGuiSlots()) {
|
||||
if (!g.hasPermission() || mcp.getPlayer().hasPermission(g.getPermission())) {
|
||||
if (this.checkSlot(g.getSlot())) {
|
||||
plugin.getServer().getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&cGUI: " + g.getName() + " has invalid slot: " + g.getSlot() + "!"));
|
||||
continue;
|
||||
}
|
||||
ItemStack gStack = new ItemStack(g.getIcon());
|
||||
gStack.setDurability((short) g.getDurability());
|
||||
ItemMeta gMeta = gStack.getItemMeta();
|
||||
String displayName = g.getText().replace("{player_name}", "Discord_Message").replace("{channel}", channel.getName()).replace("{hash}", hash + "");
|
||||
gMeta.setDisplayName(FormatUtils.FormatStringAll(displayName));
|
||||
List<String> gLore = new ArrayList<String>();
|
||||
gMeta.setLore(gLore);
|
||||
gStack.setItemMeta(gMeta);
|
||||
inv.setItem(g.getSlot(), gStack);
|
||||
}
|
||||
}
|
||||
SkullMeta skullMeta = (SkullMeta) skull.getItemMeta();
|
||||
skullMeta.setOwner("Scarsz");
|
||||
skullMeta.setDisplayName("<EFBFBD>bDiscord_Message");
|
||||
List<String> skullLore = new ArrayList<String>();
|
||||
skullLore.add("<EFBFBD>7Channel: " + channel.getColor() + channel.getName());
|
||||
skullLore.add("<EFBFBD>7Hash: " + channel.getColor() + hash);
|
||||
skullMeta.setLore(skullLore);
|
||||
skull.setItemMeta(skullMeta);
|
||||
skull.setDurability((short) 3);
|
||||
inv.setItem(0, skull);
|
||||
|
||||
inv.setItem(8, close);
|
||||
mcp.getPlayer().openInventory(inv);
|
||||
}
|
||||
for (GuiSlot g : configService.getGuiSlots()) {
|
||||
if (!g.hasPermission() || mcp.getPlayer().hasPermission(g.getPermission())) {
|
||||
if (this.checkSlot(g.getSlot())) {
|
||||
plugin.getServer().getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&cGUI: " + g.getName() + " has invalid slot: " + g.getSlot() + "!"));
|
||||
continue;
|
||||
}
|
||||
ItemStack gStack = new ItemStack(g.getIcon());
|
||||
gStack.setDurability((short) g.getDurability());
|
||||
ItemMeta gMeta = gStack.getItemMeta();
|
||||
String displayName = g.getText().replace("{player_name}", "Discord_Message").replace("{channel}", channel.getName()).replace("{hash}", hash + "");
|
||||
gMeta.setDisplayName(FormatUtils.FormatStringAll(displayName));
|
||||
List<String> gLore = new ArrayList<String>();
|
||||
gMeta.setLore(gLore);
|
||||
gStack.setItemMeta(gMeta);
|
||||
inv.setItem(g.getSlot(), gStack);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean checkSlot(int slot) {
|
||||
return slot == 0 || slot == 8;
|
||||
}
|
||||
inv.setItem(8, close);
|
||||
mcp.getPlayer().openInventory(inv);
|
||||
}
|
||||
|
||||
private int getSlots() {
|
||||
int rows = plugin.getConfig().getInt("guirows", 1);
|
||||
if (rows == 2)
|
||||
return 18;
|
||||
if (rows == 3)
|
||||
return 27;
|
||||
if (rows == 4)
|
||||
return 36;
|
||||
if (rows == 5)
|
||||
return 45;
|
||||
if (rows == 6)
|
||||
return 54;
|
||||
return 9;
|
||||
}
|
||||
private boolean checkSlot(int slot) {
|
||||
return slot == 0 || slot == 8;
|
||||
}
|
||||
|
||||
private int getSlots() {
|
||||
int rows = plugin.getConfig().getInt("guirows", 1);
|
||||
if (rows == 2)
|
||||
return 18;
|
||||
if (rows == 3)
|
||||
return 27;
|
||||
if (rows == 4)
|
||||
return 36;
|
||||
if (rows == 5)
|
||||
return 45;
|
||||
if (rows == 6)
|
||||
return 54;
|
||||
return 9;
|
||||
}
|
||||
}
|
||||
|
@ -1,58 +1,25 @@
|
||||
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.craftbukkit.v1_15_R1.entity.CraftPlayer;
|
||||
//import org.bukkit.entity.Player;
|
||||
|
||||
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
|
||||
private VentureChat plugin;
|
||||
private VentureChat plugin;
|
||||
|
||||
@Inject
|
||||
public Venturechat(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
sender.sendMessage(InternalMessage.VENTURECHAT_VERSION.toString()
|
||||
.replace("{version}", plugin.getDescription().getVersion()));
|
||||
public void executeCommand(CommandSender sender, String command, String[] args) {
|
||||
sender.sendMessage(InternalMessage.VENTURECHAT_VERSION.toString().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) {
|
||||
// message= message.replaceAll("%player%", player.getDisplayName());
|
||||
// message = ChatColor.translateAlternateColorCodes('&', message);
|
||||
// CraftPlayer p = (CraftPlayer) player;
|
||||
// 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);
|
||||
// }
|
||||
}
|
||||
|
@ -398,7 +398,7 @@ public class VentureChatProxyController {
|
||||
out.writeUTF(spy);
|
||||
out.writeUTF(msg);
|
||||
source.getServers().forEach(serv -> {
|
||||
if(!send.isEmpty()) {
|
||||
if(!serv.isEmpty()) {
|
||||
source.sendPluginMessage(serv.getName(), outstream.toByteArray());
|
||||
}
|
||||
});
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user