mirror of
https://github.com/Aust1n46/VentureChat.git
synced 2025-05-22 18:09:06 +00:00
Refactor command system to extend Bukkit's command.
This commit is contained in:
parent
5ff71b4eeb
commit
2fd8fdbb4a
@ -95,7 +95,6 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
|
||||
else {
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&e - Config found! Loading file."));
|
||||
}
|
||||
|
||||
saveResource("example_config_always_up_to_date!.yml", true);
|
||||
}
|
||||
catch(Exception ex) {
|
||||
@ -107,6 +106,7 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
|
||||
if(!setupPermissions() || !setupChat()) {
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&e - &cCould not find Vault and/or a Vault compatible permissions plugin!"));
|
||||
Bukkit.getPluginManager().disablePlugin(this);
|
||||
return;
|
||||
}
|
||||
|
||||
initializeConfigReaders();
|
||||
@ -245,7 +245,7 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
|
||||
Alias.initialize();
|
||||
JsonFormat.initialize();
|
||||
GuiSlot.initialize();
|
||||
ChatChannel.initialize(false);
|
||||
ChatChannel.initialize();
|
||||
}
|
||||
|
||||
public static Chat getVaultChat() {
|
||||
|
@ -23,8 +23,6 @@ public class ChatChannel {
|
||||
private static final String PERMISSION_PREFIX = "venturechat.";
|
||||
private static final String NO_PERMISSIONS = "venturechat.none";
|
||||
|
||||
private static boolean aliasesRegisteredAsCommands;
|
||||
|
||||
private static MineverseChat plugin = MineverseChat.getInstance();
|
||||
private static ChatChannel defaultChatChannel;
|
||||
private static String defaultColor;
|
||||
@ -52,9 +50,8 @@ public class ChatChannel {
|
||||
/**
|
||||
* Read chat channels from config file and initialize channel array.
|
||||
*/
|
||||
public static void initialize(boolean aliasesRegisteredAsCommands) {
|
||||
public static void initialize() {
|
||||
chatChannels = new HashMap<String, ChatChannel>();
|
||||
ChatChannel.aliasesRegisteredAsCommands = aliasesRegisteredAsCommands;
|
||||
ConfigurationSection cs = plugin.getConfig().getConfigurationSection("channels");
|
||||
int len = (cs.getKeys(false)).size();
|
||||
channels = new ChatChannel[len];
|
||||
@ -96,10 +93,6 @@ public class ChatChannel {
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean areAliasesRegisteredAsCommands() {
|
||||
return aliasesRegisteredAsCommands;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get array of chat channels.
|
||||
*
|
||||
|
@ -0,0 +1,68 @@
|
||||
package mineverse.Aust1n46.chat.command;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
|
||||
public class ChannelAlias extends Command {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
|
||||
public ChannelAlias() {
|
||||
super("channelalias");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean execute(final CommandSender sender, final String commandLabel, final String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
plugin.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return true;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
for (ChatChannel channel : ChatChannel.getChatChannels()) {
|
||||
if (commandLabel.toLowerCase().equals(channel.getAlias())) {
|
||||
if (args.length == 0) {
|
||||
mcp.getPlayer()
|
||||
.sendMessage(LocalizedMessage.SET_CHANNEL.toString().replace("{channel_color}", channel.getColor() + "").replace("{channel_name}", channel.getName()));
|
||||
if (mcp.hasConversation()) {
|
||||
for (MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
if (p.isSpy()) {
|
||||
p.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION_SPY.toString().replace("{player_sender}", mcp.getName())
|
||||
.replace("{player_receiver}", MineverseChatAPI.getMineverseChatPlayer(mcp.getConversation()).getName()));
|
||||
}
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION.toString().replace("{player_receiver}",
|
||||
MineverseChatAPI.getMineverseChatPlayer(mcp.getConversation()).getName()));
|
||||
mcp.setConversation(null);
|
||||
}
|
||||
mcp.addListening(channel.getName());
|
||||
mcp.setCurrentChannel(channel);
|
||||
if (channel.getBungee()) {
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
}
|
||||
return true;
|
||||
} else {
|
||||
mcp.setQuickChat(true);
|
||||
mcp.setQuickChannel(channel);
|
||||
mcp.addListening(channel.getName());
|
||||
if (channel.getBungee()) {
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
}
|
||||
String msg = "";
|
||||
for (int x = 0; x < args.length; x++) {
|
||||
if (args[x].length() > 0)
|
||||
msg += " " + args[x];
|
||||
}
|
||||
mcp.getPlayer().chat(msg);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
package mineverse.Aust1n46.chat.command;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
/**
|
||||
* Interface for the plugin's commands.
|
||||
*/
|
||||
public interface VentureCommand {
|
||||
public void execute(CommandSender sender, String command, String[] args);
|
||||
|
||||
public default List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
|
||||
return null;
|
||||
}
|
||||
}
|
@ -1,25 +1,21 @@
|
||||
package mineverse.Aust1n46.chat.command;
|
||||
|
||||
import java.io.File;
|
||||
import java.lang.reflect.Constructor;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import org.bukkit.Server;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.command.PluginCommand;
|
||||
import org.bukkit.command.SimpleCommandMap;
|
||||
import org.bukkit.command.TabExecutor;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
import mineverse.Aust1n46.chat.command.chat.Broadcast;
|
||||
import mineverse.Aust1n46.chat.command.chat.BungeeToggle;
|
||||
import mineverse.Aust1n46.chat.command.chat.Channel;
|
||||
@ -63,26 +59,12 @@ import mineverse.Aust1n46.chat.utilities.Format;
|
||||
/**
|
||||
* Class that initializes and executes the plugin's commands.
|
||||
*/
|
||||
public class VentureCommandExecutor implements TabExecutor {
|
||||
public class VentureCommandExecutor {
|
||||
private static final String VERSION = "3.3.0";
|
||||
private static final Map<String, VentureCommand> commands = new HashMap<>();
|
||||
private static final Map<String, Command> commands = new HashMap<>();
|
||||
private static final MineverseChat plugin = MineverseChat.getInstance();
|
||||
|
||||
private static VentureCommandExecutor commandExecutor;
|
||||
private static Map<String, Command> knownCommands;
|
||||
private static Constructor<PluginCommand> pluginCommandConstructor;
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] parameters) {
|
||||
commands.get(command.getName()).execute(sender, command.getName(), parameters);
|
||||
command.execute(sender, label, parameters);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
|
||||
return commands.get(command.getName()).onTabComplete(sender, command, label, args);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public static void initialize() {
|
||||
@ -112,15 +94,11 @@ public class VentureCommandExecutor implements TabExecutor {
|
||||
knownCommandsField.setAccessible(true);
|
||||
knownCommands = (Map<String, Command>) knownCommandsField.get(simpleCommandMap);
|
||||
} catch (NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException e) {
|
||||
server.getConsoleSender()
|
||||
.sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - Unable to access CommandMap on Spigot. If this issue persists, try using Paper."));
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
try {
|
||||
pluginCommandConstructor = PluginCommand.class.getDeclaredConstructor(String.class, Plugin.class);
|
||||
pluginCommandConstructor.setAccessible(true);
|
||||
} catch (NoSuchMethodException | SecurityException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
commands.put("broadcast", new Broadcast());
|
||||
commands.put("channel", new Channel());
|
||||
commands.put("channelinfo", new Channelinfo());
|
||||
@ -159,46 +137,43 @@ public class VentureCommandExecutor implements TabExecutor {
|
||||
commands.put("reply", new Reply());
|
||||
commands.put("message", new Message());
|
||||
commands.put("ignore", new Ignore());
|
||||
final ChannelAlias channelAlias = new ChannelAlias();
|
||||
for (final ChatChannel chatChannel : ChatChannel.getChatChannels()) {
|
||||
final String alias = chatChannel.getAlias();
|
||||
commands.put(alias, channelAlias);
|
||||
}
|
||||
final ConfigurationSection commandsSection = commandsFileConfiguration.getConfigurationSection("commands");
|
||||
for (final String commandLabel : commandsSection.getKeys(false)) {
|
||||
final ConfigurationSection commandSection = commandsSection.getConfigurationSection(commandLabel);
|
||||
for (final String commandName : commandsSection.getKeys(false)) {
|
||||
final ConfigurationSection commandSection = commandsSection.getConfigurationSection(commandName);
|
||||
final boolean isEnabled = commandSection.getBoolean("enabled", true);
|
||||
if (!isEnabled) {
|
||||
commands.remove(commandLabel);
|
||||
commands.remove(commandName);
|
||||
} else {
|
||||
final VentureCommand command = commands.get(commandLabel);
|
||||
final Command command = commands.get(commandName);
|
||||
if (command != null) {
|
||||
final List<String> aliases = commandSection.getStringList("aliases");
|
||||
for (final String alias : aliases) {
|
||||
commands.put(alias, command);
|
||||
}
|
||||
commands.put("venturechat:" + commandLabel, command);
|
||||
commands.put("venturechat:" + commandName, command);
|
||||
}
|
||||
}
|
||||
}
|
||||
commandExecutor = new VentureCommandExecutor();
|
||||
// Initial registration is required to ensure commands are recognized by the
|
||||
// server after enabling every plugin
|
||||
for (final String command : commands.keySet()) {
|
||||
registerCommand(command, commandExecutor);
|
||||
for (final Entry<String, Command> commandEntry : commands.entrySet()) {
|
||||
registerCommand(commandEntry.getKey(), commandEntry.getValue());
|
||||
}
|
||||
// Forcibly re-register enabled VentureChat commands on a delay to ensure they
|
||||
// have priority
|
||||
server.getScheduler().runTaskLater(plugin, () -> {
|
||||
for (final String command : commands.keySet()) {
|
||||
registerCommand(command, commandExecutor);
|
||||
for (final Entry<String, Command> commandEntry : commands.entrySet()) {
|
||||
registerCommand(commandEntry.getKey(), commandEntry.getValue());
|
||||
}
|
||||
}, 10);
|
||||
}
|
||||
|
||||
private static void registerCommand(String command, TabExecutor tabExecutor) {
|
||||
try {
|
||||
final PluginCommand pluginCommand = pluginCommandConstructor.newInstance(command, plugin);
|
||||
pluginCommand.setExecutor(tabExecutor);
|
||||
pluginCommand.setTabCompleter(tabExecutor);
|
||||
knownCommands.put(command, pluginCommand);
|
||||
} catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
public static void registerCommand(final String commandLabel, final Command command) {
|
||||
knownCommands.put(commandLabel, command);
|
||||
}
|
||||
}
|
||||
|
@ -1,41 +1,44 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
|
||||
public class Broadcast implements VentureCommand {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
public class Broadcast extends Command {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
|
||||
@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 = Format.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 = Format.FormatStringAll(bc);
|
||||
Format.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;
|
||||
}
|
||||
}
|
||||
public Broadcast() {
|
||||
super("broadcast");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
ConfigurationSection bs = plugin.getConfig().getConfigurationSection("broadcast");
|
||||
String broadcastColor = bs.getString("color", "white");
|
||||
String broadcastPermissions = bs.getString("permissions", "None");
|
||||
String broadcastDisplayTag = Format.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 = Format.FormatStringAll(bc);
|
||||
Format.broadcastToServer(broadcastDisplayTag + ChatColor.valueOf(broadcastColor.toUpperCase()) + " " + bc);
|
||||
return true;
|
||||
} else {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/broadcast").replace("{args}", "[msg]"));
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,37 +1,40 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
|
||||
public class BungeeToggle implements VentureCommand {
|
||||
public class BungeeToggle extends Command {
|
||||
public BungeeToggle() {
|
||||
super("bungeetoggle");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.bungeetoggle")) {
|
||||
if (!mcp.getBungeeToggle()) {
|
||||
mcp.setBungeeToggle(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.BUNGEE_TOGGLE_ON.toString());
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
return;
|
||||
}
|
||||
mcp.setBungeeToggle(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.BUNGEE_TOGGLE_OFF.toString());
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return true;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.bungeetoggle")) {
|
||||
if (!mcp.getBungeeToggle()) {
|
||||
mcp.setBungeeToggle(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.BUNGEE_TOGGLE_ON.toString());
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
return true;
|
||||
}
|
||||
mcp.setBungeeToggle(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.BUNGEE_TOGGLE_OFF.toString());
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
return true;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
@ -12,67 +13,64 @@ import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.api.events.ChannelJoinEvent;
|
||||
import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
|
||||
public class Channel implements VentureCommand, Listener {
|
||||
public class Channel extends Command implements Listener {
|
||||
public Channel() {
|
||||
super("channel");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (args.length > 0) {
|
||||
if (!ChatChannel.isChannel(args[0])) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.INVALID_CHANNEL.toString()
|
||||
.replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
ChatChannel channel = ChatChannel.getChannel(args[0]);
|
||||
Bukkit.getServer().getPluginManager().callEvent(new ChannelJoinEvent(mcp.getPlayer(), channel, LocalizedMessage.SET_CHANNEL.toString()
|
||||
.replace("{channel_color}", channel.getColor() + "")
|
||||
.replace("{channel_name}", channel.getName())));
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/channel")
|
||||
.replace("{args}", "[channel]"));
|
||||
return;
|
||||
}
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return true;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (args.length > 0) {
|
||||
if (!ChatChannel.isChannel(args[0])) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[0]));
|
||||
return true;
|
||||
}
|
||||
ChatChannel channel = ChatChannel.getChannel(args[0]);
|
||||
Bukkit.getServer().getPluginManager().callEvent(new ChannelJoinEvent(mcp.getPlayer(), channel,
|
||||
LocalizedMessage.SET_CHANNEL.toString().replace("{channel_color}", channel.getColor() + "").replace("{channel_name}", channel.getName())));
|
||||
return true;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/channel").replace("{args}", "[channel]"));
|
||||
return true;
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.MONITOR)
|
||||
public void onChannelJoin(ChannelJoinEvent event) {
|
||||
if (event.isCancelled())
|
||||
return;
|
||||
ChatChannel channel = event.getChannel();
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer(event.getPlayer());
|
||||
if (channel.hasPermission()) {
|
||||
if (!mcp.getPlayer().hasPermission(channel.getPermission())) {
|
||||
mcp.removeListening(channel.getName());
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.CHANNEL_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (mcp.hasConversation()) {
|
||||
for (MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
if (p.isSpy()) {
|
||||
p.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION_SPY.toString()
|
||||
.replace("{player_sender}", mcp.getName())
|
||||
.replace("{player_receiver}", MineverseChatAPI.getMineverseChatPlayer(mcp.getConversation()).getName()));
|
||||
}
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION.toString()
|
||||
.replace("{player_receiver}", MineverseChatAPI.getMineverseChatPlayer(mcp.getConversation()).getName()));
|
||||
mcp.setConversation(null);
|
||||
}
|
||||
mcp.addListening(channel.getName());
|
||||
mcp.setCurrentChannel(channel);
|
||||
mcp.getPlayer().sendMessage(event.getMessage());
|
||||
if (channel.getBungee()) {
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
@EventHandler(priority = EventPriority.MONITOR)
|
||||
public void onChannelJoin(ChannelJoinEvent event) {
|
||||
if (event.isCancelled())
|
||||
return;
|
||||
ChatChannel channel = event.getChannel();
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer(event.getPlayer());
|
||||
if (channel.hasPermission()) {
|
||||
if (!mcp.getPlayer().hasPermission(channel.getPermission())) {
|
||||
mcp.removeListening(channel.getName());
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.CHANNEL_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (mcp.hasConversation()) {
|
||||
for (MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
if (p.isSpy()) {
|
||||
p.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION_SPY.toString().replace("{player_sender}", mcp.getName()).replace("{player_receiver}",
|
||||
MineverseChatAPI.getMineverseChatPlayer(mcp.getConversation()).getName()));
|
||||
}
|
||||
}
|
||||
mcp.getPlayer().sendMessage(
|
||||
LocalizedMessage.EXIT_PRIVATE_CONVERSATION.toString().replace("{player_receiver}", MineverseChatAPI.getMineverseChatPlayer(mcp.getConversation()).getName()));
|
||||
mcp.setConversation(null);
|
||||
}
|
||||
mcp.addListening(channel.getName());
|
||||
mcp.setCurrentChannel(channel);
|
||||
mcp.getPlayer().sendMessage(event.getMessage());
|
||||
if (channel.getBungee()) {
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -1,64 +1,68 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
|
||||
public class Channelinfo implements VentureCommand {
|
||||
public class Channelinfo extends Command {
|
||||
public Channelinfo() {
|
||||
super("channelinfo");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.channelinfo")) {
|
||||
if (args.length < 1) {
|
||||
sender.sendMessage(ChatColor.RED + "Invalid command: /channelinfo [channel]");
|
||||
return;
|
||||
}
|
||||
ChatChannel chname = ChatChannel.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") ? Format.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;
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.channelinfo")) {
|
||||
if (args.length < 1) {
|
||||
sender.sendMessage(ChatColor.RED + "Invalid command: /channelinfo [channel]");
|
||||
return true;
|
||||
}
|
||||
ChatChannel chname = ChatChannel.getChannel(args[0]);
|
||||
if (chname == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Invalid channel: " + args[0]);
|
||||
return true;
|
||||
}
|
||||
if (chname.hasPermission()) {
|
||||
if (!sender.hasPermission(chname.getPermission())) {
|
||||
sender.sendMessage(ChatColor.RED + "You do not have permission to look at this channel.");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
sender.sendMessage(ChatColor.GOLD + "Channel: " + chname.getColor() + chname.getName());
|
||||
sender.sendMessage(ChatColor.GOLD + "Alias: " + chname.getColor() + chname.getAlias());
|
||||
sender.sendMessage(ChatColor.GOLD + "Color: " + chname.getColor() + chname.getColorRaw());
|
||||
sender.sendMessage(ChatColor.GOLD + "ChatColor: " + (chname.getChatColor().equalsIgnoreCase("None") ? Format.DEFAULT_COLOR_CODE : chname.getChatColor())
|
||||
+ chname.getChatColorRaw());
|
||||
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 true;
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.RED + "You do not have permission for this command.");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2,136 +2,140 @@ package mineverse.Aust1n46.chat.command.chat;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.command.mute.MuteContainer;
|
||||
|
||||
public class Chatinfo implements VentureCommand {
|
||||
public class Chatinfo extends Command {
|
||||
public Chatinfo() {
|
||||
super("chatinfo");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
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;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.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 = ChatChannel.getChannel(c);
|
||||
listen += channel.getColor() + channel.getName() + " ";
|
||||
}
|
||||
for (MuteContainer muteContainer : mcp.getMutes()) {
|
||||
ChatChannel channel = ChatChannel.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 + MineverseChatAPI.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.hasFilter()) {
|
||||
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 = "";
|
||||
MineverseChatPlayer p = MineverseChatAPI.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 = ChatChannel.getChannel(c);
|
||||
listen += channel.getColor() + channel.getName() + " ";
|
||||
}
|
||||
for (MuteContainer muteContainer : p.getMutes()) {
|
||||
ChatChannel channel = ChatChannel.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 + MineverseChatAPI.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.hasFilter()) {
|
||||
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;
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.chatinfo")) {
|
||||
if (args.length == 0) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(ChatColor.RED + "This command must be run by a player; use /ci [name]");
|
||||
return true;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.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 = ChatChannel.getChannel(c);
|
||||
listen += channel.getColor() + channel.getName() + " ";
|
||||
}
|
||||
for (MuteContainer muteContainer : mcp.getMutes()) {
|
||||
ChatChannel channel = ChatChannel.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 + MineverseChatAPI.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.hasFilter()) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Filter: " + ChatColor.GREEN + "true");
|
||||
} else {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Filter: " + ChatColor.RED + "false");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (sender.hasPermission("venturechat.chatinfo.others")) {
|
||||
String listen = "";
|
||||
String mute = "";
|
||||
String blockedcommands = "";
|
||||
MineverseChatPlayer p = MineverseChatAPI.getMineverseChatPlayer(args[0]);
|
||||
if (p == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Player: " + ChatColor.GOLD + args[0] + ChatColor.RED + " is not online.");
|
||||
return true;
|
||||
}
|
||||
sender.sendMessage(ChatColor.GOLD + "Player: " + ChatColor.GREEN + p.getName());
|
||||
for (String c : p.getListening()) {
|
||||
ChatChannel channel = ChatChannel.getChannel(c);
|
||||
listen += channel.getColor() + channel.getName() + " ";
|
||||
}
|
||||
for (MuteContainer muteContainer : p.getMutes()) {
|
||||
ChatChannel channel = ChatChannel.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 + MineverseChatAPI.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.hasFilter()) {
|
||||
sender.sendMessage(ChatColor.GOLD + "Filter: " + ChatColor.GREEN + "true");
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.GOLD + "Filter: " + ChatColor.RED + "false");
|
||||
}
|
||||
return true;
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.RED + "You do not have permission to check the chat info of others.");
|
||||
}
|
||||
return true;
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.RED + "You do not have permission for this command.");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3,23 +3,27 @@ package mineverse.Aust1n46.chat.command.chat;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.database.PlayerData;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
|
||||
public class Chatreload implements VentureCommand {
|
||||
public class Chatreload extends Command {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
|
||||
public Chatreload() {
|
||||
super("chatreload");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if(sender.hasPermission("venturechat.reload")) {
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.reload")) {
|
||||
PlayerData.savePlayerData();
|
||||
MineverseChatAPI.clearMineverseChatPlayerMap();
|
||||
MineverseChatAPI.clearNameMap();
|
||||
@ -30,10 +34,11 @@ public class Chatreload implements VentureCommand {
|
||||
|
||||
PlayerData.loadLegacyPlayerData();
|
||||
PlayerData.loadPlayerData();
|
||||
for(Player p : plugin.getServer().getOnlinePlayers()) {
|
||||
for (Player p : plugin.getServer().getOnlinePlayers()) {
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getMineverseChatPlayer(p);
|
||||
if(mcp == null) {
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - Could not find player data post reload for currently online player: " + p.getName()));
|
||||
if (mcp == null) {
|
||||
Bukkit.getConsoleSender()
|
||||
.sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - Could not find player data post reload for currently online player: " + p.getName()));
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - There could be an issue with your player data saving."));
|
||||
String name = p.getName();
|
||||
UUID uuid = p.getUniqueId();
|
||||
@ -47,14 +52,14 @@ public class Chatreload implements VentureCommand {
|
||||
}
|
||||
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&e - Config reloaded"));
|
||||
for(MineverseChatPlayer player : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
if(player.getPlayer().hasPermission("venturechat.reload")) {
|
||||
for (MineverseChatPlayer player : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
if (player.getPlayer().hasPermission("venturechat.reload")) {
|
||||
player.getPlayer().sendMessage(LocalizedMessage.CONFIG_RELOADED.toString());
|
||||
}
|
||||
}
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -1,31 +1,30 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
|
||||
public class Chlist implements VentureCommand {
|
||||
public class Chlist extends Command {
|
||||
public Chlist() {
|
||||
super("chlist");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
sender.sendMessage(LocalizedMessage.CHANNEL_LIST_HEADER.toString());
|
||||
for (ChatChannel chname : ChatChannel.getChatChannels()) {
|
||||
if (chname.hasPermission()) {
|
||||
if (sender.hasPermission(chname.getPermission())) {
|
||||
sender.sendMessage(LocalizedMessage.CHANNEL_LIST_WITH_PERMISSIONS.toString()
|
||||
.replace("{channel_color}", (chname.getColor()).toString())
|
||||
.replace("{channel_name}", chname.getName())
|
||||
.replace("{channel_alias}", chname.getAlias()));
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(LocalizedMessage.CHANNEL_LIST.toString()
|
||||
.replace("{channel_color}", chname.getColor().toString())
|
||||
.replace("{channel_name}", chname.getName())
|
||||
.replace("{channel_alias}", chname.getAlias()));
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
sender.sendMessage(LocalizedMessage.CHANNEL_LIST_HEADER.toString());
|
||||
for (ChatChannel chname : ChatChannel.getChatChannels()) {
|
||||
if (chname.hasPermission()) {
|
||||
if (sender.hasPermission(chname.getPermission())) {
|
||||
sender.sendMessage(LocalizedMessage.CHANNEL_LIST_WITH_PERMISSIONS.toString().replace("{channel_color}", (chname.getColor()).toString())
|
||||
.replace("{channel_name}", chname.getName()).replace("{channel_alias}", chname.getAlias()));
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(LocalizedMessage.CHANNEL_LIST.toString().replace("{channel_color}", chname.getColor().toString()).replace("{channel_name}", chname.getName())
|
||||
.replace("{channel_alias}", chname.getAlias()));
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -7,6 +7,7 @@ import java.io.DataOutputStream;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
@ -19,188 +20,187 @@ import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
|
||||
public class Chwho implements VentureCommand {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
public class Chwho extends Command {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
String playerlist = "";
|
||||
if (sender.hasPermission("venturechat.chwho")) {
|
||||
if (args.length > 0) {
|
||||
ChatChannel channel = ChatChannel.getChannel(args[0]);
|
||||
if (channel != null) {
|
||||
if (channel.hasPermission()) {
|
||||
if (!sender.hasPermission(channel.getPermission())) {
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer(((Player) sender));
|
||||
mcp.removeListening(channel.getName());
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.CHANNEL_NO_PERMISSION_VIEW.toString());
|
||||
return;
|
||||
}
|
||||
}
|
||||
public Chwho() {
|
||||
super("chwho");
|
||||
}
|
||||
|
||||
if (channel.getBungee() && sender instanceof Player) {
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
|
||||
DataOutputStream out = new DataOutputStream(byteOutStream);
|
||||
try {
|
||||
out.writeUTF("Chwho");
|
||||
out.writeUTF("Get");
|
||||
out.writeUTF(mcp.getUUID().toString());
|
||||
out.writeUTF(channel.getName());
|
||||
mcp.getPlayer().sendPluginMessage(plugin, MineverseChat.PLUGIN_MESSAGING_CHANNEL, byteOutStream.toByteArray());
|
||||
out.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return;
|
||||
}
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
String playerlist = "";
|
||||
if (sender.hasPermission("venturechat.chwho")) {
|
||||
if (args.length > 0) {
|
||||
ChatChannel channel = ChatChannel.getChannel(args[0]);
|
||||
if (channel != null) {
|
||||
if (channel.hasPermission()) {
|
||||
if (!sender.hasPermission(channel.getPermission())) {
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer(((Player) sender));
|
||||
mcp.removeListening(channel.getName());
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.CHANNEL_NO_PERMISSION_VIEW.toString());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
PluginManager pluginManager = plugin.getServer().getPluginManager();
|
||||
long linecount = LINE_LENGTH;
|
||||
for (MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
if (p.getListening().contains(channel.getName())) {
|
||||
if (sender instanceof Player) {
|
||||
if (!((Player) sender).canSee(p.getPlayer())) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (channel.hasDistance() && sender instanceof Player) {
|
||||
if (!this.isPlayerWithinDistance((Player) sender, p.getPlayer(), channel.getDistance())) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (plugin.getConfig().getBoolean("enable_towny_channel") && pluginManager.isPluginEnabled("Towny") && sender instanceof Player) {
|
||||
try {
|
||||
TownyUniverse towny = TownyUniverse.getInstance();
|
||||
if (channel.getName().equalsIgnoreCase("Town")) {
|
||||
Resident r = towny.getResident(p.getName());
|
||||
Resident pp = towny.getResident(((Player) sender).getName());
|
||||
if (!pp.hasTown()) {
|
||||
if (playerlist.length() + p.getName().length() > linecount) {
|
||||
playerlist += "\n";
|
||||
linecount = linecount + LINE_LENGTH;
|
||||
}
|
||||
if (!p.isMuted(channel.getName())) {
|
||||
playerlist += ChatColor.WHITE + p.getName();
|
||||
} else {
|
||||
playerlist += ChatColor.RED + p.getName();
|
||||
}
|
||||
playerlist += ChatColor.WHITE + ", ";
|
||||
break;
|
||||
} else if (!r.hasTown()) {
|
||||
continue;
|
||||
} else if (!(r.getTown().getName().equals(pp.getTown().getName()))) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (channel.getName().equalsIgnoreCase("Nation")) {
|
||||
Resident r = towny.getResident(p.getName());
|
||||
Resident pp = towny.getResident(((Player) sender).getName());
|
||||
if (!pp.hasNation()) {
|
||||
if (playerlist.length() + p.getName().length() > linecount) {
|
||||
playerlist += "\n";
|
||||
linecount = linecount + LINE_LENGTH;
|
||||
}
|
||||
if (!p.isMuted(channel.getName())) {
|
||||
playerlist += ChatColor.WHITE + p.getName();
|
||||
} else {
|
||||
playerlist += ChatColor.RED + p.getName();
|
||||
}
|
||||
playerlist += ChatColor.WHITE + ", ";
|
||||
break;
|
||||
} else if (!r.hasNation()) {
|
||||
continue;
|
||||
} else if (!(r.getTown().getNation().getName().equals(pp.getTown().getNation().getName()))) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
if (plugin.getConfig().getBoolean("enable_factions_channel") && pluginManager.isPluginEnabled("Factions") && sender instanceof Player) {
|
||||
try {
|
||||
if (channel.getName().equalsIgnoreCase("Faction")) {
|
||||
MPlayer mplayer = MPlayer.get(p.getPlayer());
|
||||
MPlayer mplayerp = MPlayer.get((Player) sender);
|
||||
if (!mplayerp.hasFaction()) {
|
||||
if (playerlist.length() + p.getName().length() > linecount) {
|
||||
playerlist += "\n";
|
||||
linecount = linecount + LINE_LENGTH;
|
||||
}
|
||||
if (!p.isMuted(channel.getName())) {
|
||||
playerlist += ChatColor.WHITE + p.getName();
|
||||
} else {
|
||||
playerlist += ChatColor.RED + p.getName();
|
||||
}
|
||||
playerlist += ChatColor.WHITE + ", ";
|
||||
break;
|
||||
} else if (!mplayerp.hasFaction()) {
|
||||
continue;
|
||||
} else if (!(mplayer.getFactionName().equals(mplayerp.getFactionName()))) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
if (playerlist.length() + p.getName().length() > linecount) {
|
||||
playerlist += "\n";
|
||||
linecount = linecount + LINE_LENGTH;
|
||||
}
|
||||
if (!p.isMuted(channel.getName())) {
|
||||
playerlist += ChatColor.WHITE + p.getName();
|
||||
} else {
|
||||
playerlist += ChatColor.RED + p.getName();
|
||||
}
|
||||
playerlist += ChatColor.WHITE + ", ";
|
||||
}
|
||||
}
|
||||
if (playerlist.length() > 2) {
|
||||
playerlist = playerlist.substring(0, playerlist.length() - 2);
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.CHANNEL_PLAYER_LIST_HEADER.toString()
|
||||
.replace("{channel_color}", (channel.getColor()).toString())
|
||||
.replace("{channel_name}", channel.getName()));
|
||||
sender.sendMessage(playerlist);
|
||||
return;
|
||||
} else {
|
||||
sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString()
|
||||
.replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/chwho")
|
||||
.replace("{args}", "[channel]"));
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (channel.getBungee() && sender instanceof Player) {
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
|
||||
DataOutputStream out = new DataOutputStream(byteOutStream);
|
||||
try {
|
||||
out.writeUTF("Chwho");
|
||||
out.writeUTF("Get");
|
||||
out.writeUTF(mcp.getUUID().toString());
|
||||
out.writeUTF(channel.getName());
|
||||
mcp.getPlayer().sendPluginMessage(plugin, MineverseChat.PLUGIN_MESSAGING_CHANNEL, byteOutStream.toByteArray());
|
||||
out.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private boolean isPlayerWithinDistance(Player p1, Player p2, double Distance) {
|
||||
Double chDistance = Distance;
|
||||
Location locreceip;
|
||||
Location locsender = p1.getLocation();
|
||||
Location diff;
|
||||
if (chDistance > (double) 0) {
|
||||
locreceip = p2.getLocation();
|
||||
if (locreceip.getWorld() == p1.getWorld()) {
|
||||
diff = locreceip.subtract(locsender);
|
||||
if (Math.abs(diff.getX()) > chDistance || Math.abs(diff.getZ()) > chDistance || Math.abs(diff.getY()) > chDistance) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
PluginManager pluginManager = plugin.getServer().getPluginManager();
|
||||
long linecount = LINE_LENGTH;
|
||||
for (MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
if (p.getListening().contains(channel.getName())) {
|
||||
if (sender instanceof Player) {
|
||||
if (!((Player) sender).canSee(p.getPlayer())) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (channel.hasDistance() && sender instanceof Player) {
|
||||
if (!this.isPlayerWithinDistance((Player) sender, p.getPlayer(), channel.getDistance())) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (plugin.getConfig().getBoolean("enable_towny_channel") && pluginManager.isPluginEnabled("Towny") && sender instanceof Player) {
|
||||
try {
|
||||
TownyUniverse towny = TownyUniverse.getInstance();
|
||||
if (channel.getName().equalsIgnoreCase("Town")) {
|
||||
Resident r = towny.getResident(p.getName());
|
||||
Resident pp = towny.getResident(((Player) sender).getName());
|
||||
if (!pp.hasTown()) {
|
||||
if (playerlist.length() + p.getName().length() > linecount) {
|
||||
playerlist += "\n";
|
||||
linecount = linecount + LINE_LENGTH;
|
||||
}
|
||||
if (!p.isMuted(channel.getName())) {
|
||||
playerlist += ChatColor.WHITE + p.getName();
|
||||
} else {
|
||||
playerlist += ChatColor.RED + p.getName();
|
||||
}
|
||||
playerlist += ChatColor.WHITE + ", ";
|
||||
break;
|
||||
} else if (!r.hasTown()) {
|
||||
continue;
|
||||
} else if (!(r.getTown().getName().equals(pp.getTown().getName()))) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (channel.getName().equalsIgnoreCase("Nation")) {
|
||||
Resident r = towny.getResident(p.getName());
|
||||
Resident pp = towny.getResident(((Player) sender).getName());
|
||||
if (!pp.hasNation()) {
|
||||
if (playerlist.length() + p.getName().length() > linecount) {
|
||||
playerlist += "\n";
|
||||
linecount = linecount + LINE_LENGTH;
|
||||
}
|
||||
if (!p.isMuted(channel.getName())) {
|
||||
playerlist += ChatColor.WHITE + p.getName();
|
||||
} else {
|
||||
playerlist += ChatColor.RED + p.getName();
|
||||
}
|
||||
playerlist += ChatColor.WHITE + ", ";
|
||||
break;
|
||||
} else if (!r.hasNation()) {
|
||||
continue;
|
||||
} else if (!(r.getTown().getNation().getName().equals(pp.getTown().getNation().getName()))) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
if (plugin.getConfig().getBoolean("enable_factions_channel") && pluginManager.isPluginEnabled("Factions") && sender instanceof Player) {
|
||||
try {
|
||||
if (channel.getName().equalsIgnoreCase("Faction")) {
|
||||
MPlayer mplayer = MPlayer.get(p.getPlayer());
|
||||
MPlayer mplayerp = MPlayer.get((Player) sender);
|
||||
if (!mplayerp.hasFaction()) {
|
||||
if (playerlist.length() + p.getName().length() > linecount) {
|
||||
playerlist += "\n";
|
||||
linecount = linecount + LINE_LENGTH;
|
||||
}
|
||||
if (!p.isMuted(channel.getName())) {
|
||||
playerlist += ChatColor.WHITE + p.getName();
|
||||
} else {
|
||||
playerlist += ChatColor.RED + p.getName();
|
||||
}
|
||||
playerlist += ChatColor.WHITE + ", ";
|
||||
break;
|
||||
} else if (!mplayerp.hasFaction()) {
|
||||
continue;
|
||||
} else if (!(mplayer.getFactionName().equals(mplayerp.getFactionName()))) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
if (playerlist.length() + p.getName().length() > linecount) {
|
||||
playerlist += "\n";
|
||||
linecount = linecount + LINE_LENGTH;
|
||||
}
|
||||
if (!p.isMuted(channel.getName())) {
|
||||
playerlist += ChatColor.WHITE + p.getName();
|
||||
} else {
|
||||
playerlist += ChatColor.RED + p.getName();
|
||||
}
|
||||
playerlist += ChatColor.WHITE + ", ";
|
||||
}
|
||||
}
|
||||
if (playerlist.length() > 2) {
|
||||
playerlist = playerlist.substring(0, playerlist.length() - 2);
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.CHANNEL_PLAYER_LIST_HEADER.toString().replace("{channel_color}", (channel.getColor()).toString()).replace("{channel_name}",
|
||||
channel.getName()));
|
||||
sender.sendMessage(playerlist);
|
||||
return true;
|
||||
} else {
|
||||
sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[0]));
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/chwho").replace("{args}", "[channel]"));
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isPlayerWithinDistance(Player p1, Player p2, double Distance) {
|
||||
Double chDistance = Distance;
|
||||
Location locreceip;
|
||||
Location locsender = p1.getLocation();
|
||||
Location diff;
|
||||
if (chDistance > (double) 0) {
|
||||
locreceip = p2.getLocation();
|
||||
if (locreceip.getWorld() == p1.getWorld()) {
|
||||
diff = locreceip.subtract(locsender);
|
||||
if (Math.abs(diff.getX()) > chDistance || Math.abs(diff.getZ()) > chDistance || Math.abs(diff.getY()) > chDistance) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -1,29 +1,32 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.InternalMessage;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
|
||||
public class Clearchat implements VentureCommand {
|
||||
public class Clearchat extends Command {
|
||||
public Clearchat() {
|
||||
super("clearchat");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.clearchat")) {
|
||||
for (MineverseChatPlayer player : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
if (!player.getPlayer().hasPermission("venturechat.clearchat.bypass")) {
|
||||
for (int a = 1; a <= 20; a++)
|
||||
player.getPlayer().sendMessage(InternalMessage.EMPTY_STRING.toString());
|
||||
player.getPlayer().sendMessage(LocalizedMessage.CLEAR_CHAT_SERVER.toString());
|
||||
}
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.CLEAR_CHAT_SENDER.toString());
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.clearchat")) {
|
||||
for (MineverseChatPlayer player : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
if (!player.getPlayer().hasPermission("venturechat.clearchat.bypass")) {
|
||||
for (int a = 1; a <= 20; a++)
|
||||
player.getPlayer().sendMessage(InternalMessage.EMPTY_STRING.toString());
|
||||
player.getPlayer().sendMessage(LocalizedMessage.CLEAR_CHAT_SERVER.toString());
|
||||
}
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.CLEAR_CHAT_SENDER.toString());
|
||||
return true;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -2,57 +2,53 @@ package mineverse.Aust1n46.chat.command.chat;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
|
||||
public class Commandblock implements VentureCommand {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
public class Commandblock extends Command {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.commandblock")) {
|
||||
if (args.length > 1) {
|
||||
MineverseChatPlayer player = MineverseChatAPI.getOnlineMineverseChatPlayer(args[0]);
|
||||
if (player == null) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
|
||||
.replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
boolean match = false;
|
||||
for (String cb : (List<String>) plugin.getConfig().getStringList("blockablecommands"))
|
||||
if (args[1].equals("/" + cb))
|
||||
match = true;
|
||||
if (match || player.isBlockedCommand(args[1])) {
|
||||
if (!player.isBlockedCommand(args[1])) {
|
||||
player.addBlockedCommand(args[1]);
|
||||
player.getPlayer().sendMessage(LocalizedMessage.BLOCK_COMMAND_PLAYER.toString()
|
||||
.replace("{command}", args[1]));
|
||||
sender.sendMessage(LocalizedMessage.BLOCK_COMMAND_SENDER.toString()
|
||||
.replace("{player}", player.getName())
|
||||
.replace("{command}", args[1]));
|
||||
return;
|
||||
}
|
||||
player.removeBlockedCommand(args[1]);
|
||||
player.getPlayer().sendMessage(LocalizedMessage.UNBLOCK_COMMAND_PLAYER.toString()
|
||||
.replace("{command}", args[1]));
|
||||
sender.sendMessage(LocalizedMessage.UNBLOCK_COMMAND_SENDER.toString()
|
||||
.replace("{player}", player.getName())
|
||||
.replace("{command}", args[1]));
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NOT_BLOCKABLE.toString());
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/commandblock")
|
||||
.replace("{args}", "[player] [command]"));
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
}
|
||||
public Commandblock() {
|
||||
super("commandblock");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.commandblock")) {
|
||||
if (args.length > 1) {
|
||||
MineverseChatPlayer player = MineverseChatAPI.getOnlineMineverseChatPlayer(args[0]);
|
||||
if (player == null) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
|
||||
return true;
|
||||
}
|
||||
boolean match = false;
|
||||
for (String cb : (List<String>) plugin.getConfig().getStringList("blockablecommands"))
|
||||
if (args[1].equals("/" + cb))
|
||||
match = true;
|
||||
if (match || player.isBlockedCommand(args[1])) {
|
||||
if (!player.isBlockedCommand(args[1])) {
|
||||
player.addBlockedCommand(args[1]);
|
||||
player.getPlayer().sendMessage(LocalizedMessage.BLOCK_COMMAND_PLAYER.toString().replace("{command}", args[1]));
|
||||
sender.sendMessage(LocalizedMessage.BLOCK_COMMAND_SENDER.toString().replace("{player}", player.getName()).replace("{command}", args[1]));
|
||||
return true;
|
||||
}
|
||||
player.removeBlockedCommand(args[1]);
|
||||
player.getPlayer().sendMessage(LocalizedMessage.UNBLOCK_COMMAND_PLAYER.toString().replace("{command}", args[1]));
|
||||
sender.sendMessage(LocalizedMessage.UNBLOCK_COMMAND_SENDER.toString().replace("{player}", player.getName()).replace("{command}", args[1]));
|
||||
return true;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NOT_BLOCKABLE.toString());
|
||||
return true;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/commandblock").replace("{args}", "[player] [command]"));
|
||||
return true;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -1,33 +1,37 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
|
||||
public class Commandspy implements VentureCommand {
|
||||
public class Commandspy extends Command {
|
||||
public Commandspy() {
|
||||
super("commandspy");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.commandspy")) {
|
||||
if (!mcp.hasCommandSpy()) {
|
||||
mcp.setCommandSpy(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMANDSPY_ON.toString());
|
||||
return;
|
||||
}
|
||||
mcp.setCommandSpy(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMANDSPY_OFF.toString());
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
}
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return true;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.commandspy")) {
|
||||
if (!mcp.hasCommandSpy()) {
|
||||
mcp.setCommandSpy(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMANDSPY_ON.toString());
|
||||
return true;
|
||||
}
|
||||
mcp.setCommandSpy(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMANDSPY_OFF.toString());
|
||||
return true;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -5,6 +5,7 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
@ -16,93 +17,104 @@ import mineverse.Aust1n46.chat.ChatMessage;
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
|
||||
public class Edit implements VentureCommand {
|
||||
private PacketContainer emptyLinePacketContainer = Format.createPacketPlayOutChat("{\"extra\":[\" \"],\"text\":\"\"}");
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
private WrappedChatComponent messageDeletedComponentPlayer;
|
||||
public class Edit extends Command {
|
||||
private PacketContainer emptyLinePacketContainer = Format.createPacketPlayOutChat("{\"extra\":[\" \"],\"text\":\"\"}");
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
private WrappedChatComponent messageDeletedComponentPlayer;
|
||||
|
||||
@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}", "/edit")
|
||||
.replace("{args}", "[hashcode]"));
|
||||
return;
|
||||
}
|
||||
final int hash;
|
||||
try {
|
||||
hash = Integer.parseInt(args[0]);
|
||||
} catch (Exception e) {
|
||||
sender.sendMessage(LocalizedMessage.INVALID_HASH.toString());
|
||||
return;
|
||||
}
|
||||
new BukkitRunnable() {
|
||||
public void run() {
|
||||
final Map<Player, List<PacketContainer>> packets = new HashMap();
|
||||
for (MineverseChatPlayer p : MineverseChatAPI.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(Edit.this.emptyLinePacketContainer);
|
||||
}
|
||||
for (ChatMessage message : messages) {
|
||||
if (message.getHash() == hash) {
|
||||
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass") ? Edit.this.getMessageDeletedChatComponentAdmin(message) : Edit.this.getMessageDeletedChatComponentPlayer();
|
||||
message.setComponent(removedComponent);
|
||||
message.setHash(-1);
|
||||
playerPackets.add(Format.createPacketPlayOutChat(removedComponent));
|
||||
resend = true;
|
||||
continue;
|
||||
}
|
||||
if (message.getMessage().contains(Format.FormatStringAll(plugin.getConfig().getString("messageremovericon")))) {
|
||||
String submessage = message.getMessage().substring(0, message.getMessage().length() - plugin.getConfig().getString("messageremovericon").length() - 1).replaceAll("(<28>([a-z0-9]))", "");
|
||||
if (submessage.hashCode() == hash) {
|
||||
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass") ? Edit.this.getMessageDeletedChatComponentAdmin(message) : Edit.this.getMessageDeletedChatComponentPlayer();
|
||||
message.setComponent(removedComponent);
|
||||
message.setHash(-1);
|
||||
playerPackets.add(Format.createPacketPlayOutChat(removedComponent));
|
||||
resend = true;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
playerPackets.add(Format.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) {
|
||||
Format.sendPacketPlayOutChat(p, c);
|
||||
}
|
||||
}
|
||||
}
|
||||
}.runTask(plugin);
|
||||
}
|
||||
}.runTaskAsynchronously(plugin);
|
||||
}
|
||||
public Edit() {
|
||||
super("edit");
|
||||
}
|
||||
|
||||
public WrappedChatComponent getMessageDeletedChatComponentPlayer() {
|
||||
if (this.messageDeletedComponentPlayer == null) {
|
||||
this.messageDeletedComponentPlayer = WrappedChatComponent.fromJson("{\"text\":\"\",\"extra\":[{\"text\":\"<message removed>\",\"color\":\"red\",\"italic\":\"true\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"" + Format.FormatStringAll(plugin.getConfig().getString("messageremoverpermissions")) + "\"}]}}}]}");
|
||||
}
|
||||
return this.messageDeletedComponentPlayer;
|
||||
}
|
||||
@Override
|
||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (args.length == 0) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/edit").replace("{args}", "[hashcode]"));
|
||||
return true;
|
||||
}
|
||||
final int hash;
|
||||
try {
|
||||
hash = Integer.parseInt(args[0]);
|
||||
} catch (Exception e) {
|
||||
sender.sendMessage(LocalizedMessage.INVALID_HASH.toString());
|
||||
return true;
|
||||
}
|
||||
new BukkitRunnable() {
|
||||
public void run() {
|
||||
final Map<Player, List<PacketContainer>> packets = new HashMap();
|
||||
for (MineverseChatPlayer p : MineverseChatAPI.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(Edit.this.emptyLinePacketContainer);
|
||||
}
|
||||
for (ChatMessage message : messages) {
|
||||
if (message.getHash() == hash) {
|
||||
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass")
|
||||
? Edit.this.getMessageDeletedChatComponentAdmin(message)
|
||||
: Edit.this.getMessageDeletedChatComponentPlayer();
|
||||
message.setComponent(removedComponent);
|
||||
message.setHash(-1);
|
||||
playerPackets.add(Format.createPacketPlayOutChat(removedComponent));
|
||||
resend = true;
|
||||
continue;
|
||||
}
|
||||
if (message.getMessage().contains(Format.FormatStringAll(plugin.getConfig().getString("messageremovericon")))) {
|
||||
String submessage = message.getMessage().substring(0, message.getMessage().length() - plugin.getConfig().getString("messageremovericon").length() - 1)
|
||||
.replaceAll("(<28>([a-z0-9]))", "");
|
||||
if (submessage.hashCode() == hash) {
|
||||
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass")
|
||||
? Edit.this.getMessageDeletedChatComponentAdmin(message)
|
||||
: Edit.this.getMessageDeletedChatComponentPlayer();
|
||||
message.setComponent(removedComponent);
|
||||
message.setHash(-1);
|
||||
playerPackets.add(Format.createPacketPlayOutChat(removedComponent));
|
||||
resend = true;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
playerPackets.add(Format.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) {
|
||||
Format.sendPacketPlayOutChat(p, c);
|
||||
}
|
||||
}
|
||||
}
|
||||
}.runTask(plugin);
|
||||
}
|
||||
}.runTaskAsynchronously(plugin);
|
||||
return true;
|
||||
}
|
||||
|
||||
public WrappedChatComponent getMessageDeletedChatComponentAdmin(ChatMessage message) {
|
||||
String oMessage = message.getComponent().getJson().substring(1, message.getComponent().getJson().length() - 11);
|
||||
if (message.getMessage().contains(Format.FormatStringAll(plugin.getConfig().getString("messageremovericon")))) {
|
||||
oMessage = oMessage.substring(0, oMessage.length() - plugin.getConfig().getString("messageremovericon").length() - 4) + "\"}]";
|
||||
}
|
||||
return WrappedChatComponent.fromJson(Format.FormatStringAll("{\"text\":\"\",\"extra\":[{\"text\":\"&c&o<message removed>\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"&7Message: \"," + oMessage + "}}}]}"));
|
||||
}
|
||||
public WrappedChatComponent getMessageDeletedChatComponentPlayer() {
|
||||
if (this.messageDeletedComponentPlayer == null) {
|
||||
this.messageDeletedComponentPlayer = WrappedChatComponent.fromJson(
|
||||
"{\"text\":\"\",\"extra\":[{\"text\":\"<message removed>\",\"color\":\"red\",\"italic\":\"true\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\""
|
||||
+ Format.FormatStringAll(plugin.getConfig().getString("messageremoverpermissions")) + "\"}]}}}]}");
|
||||
}
|
||||
return this.messageDeletedComponentPlayer;
|
||||
}
|
||||
|
||||
public WrappedChatComponent getMessageDeletedChatComponentAdmin(ChatMessage message) {
|
||||
String oMessage = message.getComponent().getJson().substring(1, message.getComponent().getJson().length() - 11);
|
||||
if (message.getMessage().contains(Format.FormatStringAll(plugin.getConfig().getString("messageremovericon")))) {
|
||||
oMessage = oMessage.substring(0, oMessage.length() - plugin.getConfig().getString("messageremovericon").length() - 4) + "\"}]";
|
||||
}
|
||||
return WrappedChatComponent.fromJson(
|
||||
Format.FormatStringAll("{\"text\":\"\",\"extra\":[{\"text\":\"&c&o<message removed>\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"&7Message: \","
|
||||
+ oMessage + "}}}]}"));
|
||||
}
|
||||
}
|
||||
|
@ -1,33 +1,37 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
|
||||
public class Filter implements VentureCommand {
|
||||
public class Filter extends Command {
|
||||
public Filter() {
|
||||
super("filter");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.ignorefilter")) {
|
||||
if (!mcp.hasFilter()) {
|
||||
mcp.setFilter(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.FILTER_ON.toString());
|
||||
return;
|
||||
}
|
||||
mcp.setFilter(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.FILTER_OFF.toString());
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
}
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return true;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.ignorefilter")) {
|
||||
if (!mcp.hasFilter()) {
|
||||
mcp.setFilter(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.FILTER_ON.toString());
|
||||
return true;
|
||||
}
|
||||
mcp.setFilter(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.FILTER_OFF.toString());
|
||||
return true;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -1,39 +1,38 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
|
||||
public class Force implements VentureCommand {
|
||||
public class Force extends Command {
|
||||
public Force() {
|
||||
super("force");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.force")) {
|
||||
if (args.length < 2) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/force")
|
||||
.replace("{args}", "[player] [message]"));
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer player = MineverseChatAPI.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());
|
||||
}
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.force")) {
|
||||
if (args.length < 2) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/force").replace("{args}", "[player] [message]"));
|
||||
return true;
|
||||
}
|
||||
MineverseChatPlayer player = MineverseChatAPI.getOnlineMineverseChatPlayer(args[0]);
|
||||
if (player == null) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
|
||||
return true;
|
||||
}
|
||||
String forcemsg = "";
|
||||
for (int x = 1; x < args.length; x++)
|
||||
if (args[x].length() > 0)
|
||||
forcemsg += args[x] + " ";
|
||||
sender.sendMessage(LocalizedMessage.FORCE_PLAYER.toString().replace("{player}", player.getName()).replace("{message}", forcemsg));
|
||||
player.getPlayer().chat(forcemsg);
|
||||
return true;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -1,34 +1,37 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
|
||||
public class Forceall implements VentureCommand {
|
||||
public class Forceall extends Command {
|
||||
public Forceall() {
|
||||
super("forceall");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
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 (MineverseChatPlayer player : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
player.getPlayer().chat(forcemsg);
|
||||
}
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
}
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.forceall")) {
|
||||
if (args.length < 1) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/forceall").replace("{args}", "[message]"));
|
||||
return true;
|
||||
}
|
||||
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 (MineverseChatPlayer player : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
player.getPlayer().chat(forcemsg);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -1,70 +1,67 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
|
||||
public class Kickchannel implements VentureCommand {
|
||||
public class Kickchannel extends Command {
|
||||
public Kickchannel() {
|
||||
super("kickchannel");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.kickchannel")) {
|
||||
if (args.length < 2) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/kickchannel")
|
||||
.replace("{args}", "[player] [channel]"));
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
|
||||
if (player == null) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
|
||||
.replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
ChatChannel channel = ChatChannel.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(ChatChannel.getDefaultChannel().getName());
|
||||
player.setCurrentChannel(ChatChannel.getDefaultChannel());
|
||||
if (ChatChannel.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(ChatChannel.getDefaultColor().toUpperCase()) + "")
|
||||
.replace("{channel_name}", ChatChannel.getDefaultChannel().getName()));
|
||||
} else
|
||||
player.setModified(true);
|
||||
}
|
||||
if (isThereABungeeChannel) {
|
||||
MineverseChat.synchronize(player, true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
}
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.kickchannel")) {
|
||||
if (args.length < 2) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/kickchannel").replace("{args}", "[player] [channel]"));
|
||||
return true;
|
||||
}
|
||||
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
|
||||
if (player == null) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
|
||||
return true;
|
||||
}
|
||||
ChatChannel channel = ChatChannel.getChannel(args[1]);
|
||||
if (channel == null) {
|
||||
sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[1]));
|
||||
return true;
|
||||
}
|
||||
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(ChatChannel.getDefaultChannel().getName());
|
||||
player.setCurrentChannel(ChatChannel.getDefaultChannel());
|
||||
if (ChatChannel.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(ChatChannel.getDefaultColor().toUpperCase()) + "")
|
||||
.replace("{channel_name}", ChatChannel.getDefaultChannel().getName()));
|
||||
} else
|
||||
player.setModified(true);
|
||||
}
|
||||
if (isThereABungeeChannel) {
|
||||
MineverseChat.synchronize(player, true);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -1,63 +1,63 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
|
||||
public class Kickchannelall implements VentureCommand {
|
||||
public class Kickchannelall extends Command {
|
||||
public Kickchannelall() {
|
||||
super("kickchannelall");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.kickchannelall")) {
|
||||
if (args.length < 1) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/kickchannelall")
|
||||
.replace("{args}", "[player]"));
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer player = MineverseChatAPI.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 (ChatChannel.isChannel(channel)) {
|
||||
ChatChannel chatChannelObj = ChatChannel.getChannel(channel);
|
||||
if (chatChannelObj.getBungee()) {
|
||||
isThereABungeeChannel = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
player.clearListening();
|
||||
sender.sendMessage(LocalizedMessage.KICK_CHANNEL_ALL_SENDER.toString()
|
||||
.replace("{player}", player.getName()));
|
||||
player.addListening(ChatChannel.getDefaultChannel().getName());
|
||||
player.setCurrentChannel(ChatChannel.getDefaultChannel());
|
||||
if (ChatChannel.getDefaultChannel().getBungee()) {
|
||||
isThereABungeeChannel = true;
|
||||
}
|
||||
if (isThereABungeeChannel) {
|
||||
MineverseChat.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(ChatChannel.getDefaultColor().toUpperCase()) + "")
|
||||
.replace("{channel_name}", ChatChannel.getDefaultChannel().getName()));
|
||||
} else {
|
||||
player.setModified(true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
}
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.kickchannelall")) {
|
||||
if (args.length < 1) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/kickchannelall").replace("{args}", "[player]"));
|
||||
return true;
|
||||
}
|
||||
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
|
||||
if (player == null) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
|
||||
return true;
|
||||
}
|
||||
boolean isThereABungeeChannel = false;
|
||||
for (String channel : player.getListening()) {
|
||||
if (ChatChannel.isChannel(channel)) {
|
||||
ChatChannel chatChannelObj = ChatChannel.getChannel(channel);
|
||||
if (chatChannelObj.getBungee()) {
|
||||
isThereABungeeChannel = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
player.clearListening();
|
||||
sender.sendMessage(LocalizedMessage.KICK_CHANNEL_ALL_SENDER.toString().replace("{player}", player.getName()));
|
||||
player.addListening(ChatChannel.getDefaultChannel().getName());
|
||||
player.setCurrentChannel(ChatChannel.getDefaultChannel());
|
||||
if (ChatChannel.getDefaultChannel().getBungee()) {
|
||||
isThereABungeeChannel = true;
|
||||
}
|
||||
if (isThereABungeeChannel) {
|
||||
MineverseChat.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(ChatChannel.getDefaultColor().toUpperCase()) + "")
|
||||
.replace("{channel_name}", ChatChannel.getDefaultChannel().getName()));
|
||||
} else {
|
||||
player.setModified(true);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package mineverse.Aust1n46.chat.command.chat;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
@ -9,48 +10,45 @@ import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
|
||||
public class Leave implements VentureCommand {
|
||||
public class Leave extends Command {
|
||||
public Leave() {
|
||||
super("leave");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (args.length > 0) {
|
||||
ChatChannel channel = ChatChannel.getChannel(args[0]);
|
||||
if (channel == null) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.INVALID_CHANNEL.toString()
|
||||
.replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
mcp.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(ChatChannel.getDefaultChannel().getName());
|
||||
mcp.setCurrentChannel(ChatChannel.getDefaultChannel());
|
||||
if (ChatChannel.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(ChatChannel.getDefaultColor().toUpperCase()) + "")
|
||||
.replace("{channel_name}", ChatChannel.getDefaultChannel().getName()));
|
||||
}
|
||||
if (isThereABungeeChannel) {
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/leave")
|
||||
.replace("{args}", "[channel]"));
|
||||
}
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return true;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (args.length > 0) {
|
||||
ChatChannel channel = ChatChannel.getChannel(args[0]);
|
||||
if (channel == null) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[0]));
|
||||
return true;
|
||||
}
|
||||
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(ChatChannel.getDefaultChannel().getName());
|
||||
mcp.setCurrentChannel(ChatChannel.getDefaultChannel());
|
||||
if (ChatChannel.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(ChatChannel.getDefaultColor().toUpperCase()) + "")
|
||||
.replace("{channel_name}", ChatChannel.getDefaultChannel().getName()));
|
||||
}
|
||||
if (isThereABungeeChannel) {
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/leave").replace("{args}", "[channel]"));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
@ -8,43 +9,42 @@ import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
|
||||
public class Listen implements VentureCommand {
|
||||
public class Listen extends Command {
|
||||
public Listen() {
|
||||
super("listen");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (args.length > 0) {
|
||||
ChatChannel channel = ChatChannel.getChannel(args[0]);
|
||||
if (channel == null) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.INVALID_CHANNEL.toString()
|
||||
.replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
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()) {
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/listen")
|
||||
.replace("{args}", "[channel]"));
|
||||
}
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return true;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (args.length > 0) {
|
||||
ChatChannel channel = ChatChannel.getChannel(args[0]);
|
||||
if (channel == null) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[0]));
|
||||
return true;
|
||||
}
|
||||
if (channel.hasPermission()) {
|
||||
if (!mcp.getPlayer().hasPermission(channel.getPermission())) {
|
||||
mcp.removeListening(channel.getName());
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.CHANNEL_NO_PERMISSION.toString());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
mcp.addListening(channel.getName());
|
||||
mcp.getPlayer()
|
||||
.sendMessage(LocalizedMessage.LISTEN_CHANNEL.toString().replace("{channel_color}", channel.getColor() + "").replace("{channel_name}", channel.getName()));
|
||||
if (channel.getBungee()) {
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/listen").replace("{args}", "[channel]"));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -1,46 +1,48 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
|
||||
public class Me implements VentureCommand {
|
||||
public class Me extends Command {
|
||||
public Me() {
|
||||
super("me");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
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 && MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender).hasFilter()) {
|
||||
msg = Format.FilterChat(msg);
|
||||
}
|
||||
if (sender.hasPermission("venturechat.color.legacy")) {
|
||||
msg = Format.FormatStringLegacyColor(msg);
|
||||
}
|
||||
if (sender.hasPermission("venturechat.color"))
|
||||
msg = Format.FormatStringColor(msg);
|
||||
if (sender.hasPermission("venturechat.format"))
|
||||
msg = Format.FormatString(msg);
|
||||
if (sender instanceof Player) {
|
||||
Player p = (Player) sender;
|
||||
Format.broadcastToServer("* " + p.getDisplayName() + msg);
|
||||
return;
|
||||
}
|
||||
Format.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());
|
||||
}
|
||||
@Override
|
||||
public boolean 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 && MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender).hasFilter()) {
|
||||
msg = Format.FilterChat(msg);
|
||||
}
|
||||
if (sender.hasPermission("venturechat.color.legacy")) {
|
||||
msg = Format.FormatStringLegacyColor(msg);
|
||||
}
|
||||
if (sender.hasPermission("venturechat.color"))
|
||||
msg = Format.FormatStringColor(msg);
|
||||
if (sender.hasPermission("venturechat.format"))
|
||||
msg = Format.FormatString(msg);
|
||||
if (sender instanceof Player) {
|
||||
Player p = (Player) sender;
|
||||
Format.broadcastToServer("* " + p.getDisplayName() + msg);
|
||||
return true;
|
||||
}
|
||||
Format.broadcastToServer("* " + sender.getName() + msg);
|
||||
return true;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/me").replace("{args}", "[message]"));
|
||||
return true;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -3,46 +3,49 @@ package mineverse.Aust1n46.chat.command.chat;
|
||||
import static mineverse.Aust1n46.chat.MineverseChat.LINE_LENGTH;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
|
||||
public class Party implements VentureCommand {
|
||||
public class Party extends Command {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
|
||||
public Party() {
|
||||
super("party");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if(!(sender instanceof Player)) {
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
plugin.getServer().getConsoleSender().sendMessage(ChatColor.RED + "This command must be run by a player.");
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if(!mcp.getPlayer().hasPermission("venturechat.party")) {
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.party")) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this command!");
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
try {
|
||||
switch(args[0]) {
|
||||
switch (args[0]) {
|
||||
case "host": {
|
||||
if(!mcp.getPlayer().hasPermission("venturechat.party.host")) {
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.party.host")) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this command!");
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
if(mcp.isHost()) {
|
||||
if (mcp.isHost()) {
|
||||
mcp.setHost(false);
|
||||
mcp.getPlayer().sendMessage(ChatColor.GREEN + "You are no longer hosting a party.");
|
||||
for(MineverseChatPlayer player : MineverseChatAPI.getMineverseChatPlayers()) {
|
||||
if(player.hasParty() && player.getParty().equals(mcp.getParty())) {
|
||||
for (MineverseChatPlayer player : MineverseChatAPI.getMineverseChatPlayers()) {
|
||||
if (player.hasParty() && player.getParty().equals(mcp.getParty())) {
|
||||
player.setParty(null);
|
||||
if(player.isOnline()) {
|
||||
if (player.isOnline()) {
|
||||
player.getPlayer().sendMessage(ChatColor.RED + mcp.getName() + " is no longer hosting a party.");
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
player.setModified(true);
|
||||
}
|
||||
}
|
||||
@ -56,21 +59,19 @@ public class Party implements VentureCommand {
|
||||
break;
|
||||
}
|
||||
case "join": {
|
||||
if(!mcp.getPlayer().hasPermission("venturechat.party.join")) {
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.party.join")) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this command!");
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
if(args.length > 1) {
|
||||
if (args.length > 1) {
|
||||
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[1]);
|
||||
if(player != null) {
|
||||
if(player.isHost()) {
|
||||
if(!mcp.hasParty()) {
|
||||
if (player != null) {
|
||||
if (player.isHost()) {
|
||||
if (!mcp.hasParty()) {
|
||||
/*
|
||||
* if(plugin.getMetadata(player,
|
||||
* "MineverseChat.party.ban." + tp.getName(),
|
||||
* plugin)) { player.sendMessage(ChatColor.RED +
|
||||
* "You are banned from " + tp.getName() +
|
||||
* "'s party."); break; }
|
||||
* if(plugin.getMetadata(player, "MineverseChat.party.ban." + tp.getName(),
|
||||
* plugin)) { player.sendMessage(ChatColor.RED + "You are banned from " +
|
||||
* tp.getName() + "'s party."); break; }
|
||||
*/
|
||||
mcp.getPlayer().sendMessage(ChatColor.GREEN + "Joined " + player.getName() + "'s party.");
|
||||
mcp.setParty(player.getUUID());
|
||||
@ -90,21 +91,20 @@ public class Party implements VentureCommand {
|
||||
break;
|
||||
}
|
||||
case "leave": {
|
||||
if(!mcp.getPlayer().hasPermission("venturechat.party.leave")) {
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.party.leave")) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this command!");
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
if(mcp.hasParty()) {
|
||||
if (mcp.hasParty()) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GREEN + "Leaving " + MineverseChatAPI.getMineverseChatPlayer(mcp.getParty()).getName() + "'s party.");
|
||||
mcp.setParty(null);
|
||||
if(mcp.isHost()) {
|
||||
for(MineverseChatPlayer player : MineverseChatAPI.getMineverseChatPlayers()) {
|
||||
if(player.hasParty() && player.getParty().equals(mcp.getUUID()) && !player.getName().equals(mcp.getName())) {
|
||||
if (mcp.isHost()) {
|
||||
for (MineverseChatPlayer player : MineverseChatAPI.getMineverseChatPlayers()) {
|
||||
if (player.hasParty() && player.getParty().equals(mcp.getUUID()) && !player.getName().equals(mcp.getName())) {
|
||||
player.setParty(null);
|
||||
if(player.isOnline()) {
|
||||
if (player.isOnline()) {
|
||||
player.getPlayer().sendMessage(ChatColor.RED + mcp.getName() + " is no longer hosting a party.");
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
player.setModified(true);
|
||||
}
|
||||
}
|
||||
@ -117,16 +117,16 @@ public class Party implements VentureCommand {
|
||||
break;
|
||||
}
|
||||
case "kick": {
|
||||
if(!mcp.getPlayer().hasPermission("venturechat.party.kick")) {
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.party.kick")) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this command!");
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
if(mcp.isHost()) {
|
||||
if(args.length > 1) {
|
||||
if (mcp.isHost()) {
|
||||
if (args.length > 1) {
|
||||
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[1]);
|
||||
if(player != null) {
|
||||
if(!player.getName().equals(mcp.getName())) {
|
||||
if(player.hasParty() && player.getParty().equals(mcp.getUUID())) {
|
||||
if (player != null) {
|
||||
if (!player.getName().equals(mcp.getName())) {
|
||||
if (player.hasParty() && player.getParty().equals(mcp.getUUID())) {
|
||||
player.setParty(null);
|
||||
player.getPlayer().sendMessage(ChatColor.RED + "You have been kicked out of " + mcp.getName() + "'s party.");
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "You have kicked " + player.getName() + " out of your party.");
|
||||
@ -148,59 +148,49 @@ public class Party implements VentureCommand {
|
||||
break;
|
||||
}
|
||||
/*
|
||||
* case "ban": { if(mcp.isHost()) { if(args.length > 1) { Player tp
|
||||
* = Bukkit.getPlayer(args[1]); if(tp != null) {
|
||||
* if(!tp.getName().equals(player.getName())) {
|
||||
* tp.setMetadata("MineverseChat.party.ban." +
|
||||
* player.getUniqueId().toString(), new FixedMetadataValue(plugin,
|
||||
* true)); if(plugin.getMetadataString(tp, "MineverseChat.party",
|
||||
* plugin).equals(plugin.getMetadataString(player,
|
||||
* "MineverseChat.party", plugin))) {
|
||||
* tp.setMetadata("MineverseChat.party", new
|
||||
* FixedMetadataValue(plugin, "")); } tp.sendMessage(ChatColor.RED +
|
||||
* "You have been banned from " + player.getName() + "'s party.");
|
||||
* player.sendMessage(ChatColor.RED + "You have banned " +
|
||||
* tp.getName() + " from your party."); break; }
|
||||
* player.sendMessage(ChatColor.RED + "You cannot ban yourself.");
|
||||
* break; } player.sendMessage(ChatColor.RED + "Player: " +
|
||||
* ChatColor.GOLD + args[1] + ChatColor.RED + " is not online.");
|
||||
* break; } player.sendMessage(ChatColor.RED +
|
||||
* "Invalid command: /party ban [playername]"); break; }
|
||||
* player.sendMessage(ChatColor.RED +
|
||||
* "You are not hosting a party."); break; } case "unban": {
|
||||
* if(plugin.getMetadata(player, "MineverseChat.party.host",
|
||||
* plugin)) { if(args.length > 1) { Player tp =
|
||||
* case "ban": { if(mcp.isHost()) { if(args.length > 1) { Player tp =
|
||||
* Bukkit.getPlayer(args[1]); if(tp != null) {
|
||||
* if(!tp.getName().equals(player.getName())) {
|
||||
* tp.setMetadata("MineverseChat.party.ban." + player.getUniqueId(),
|
||||
* new FixedMetadataValue(plugin, false));
|
||||
* tp.sendMessage(ChatColor.RED + "You have been unbanned from " +
|
||||
* player.getName() + "'s party."); player.sendMessage(ChatColor.RED
|
||||
* + "You have unbanned " + tp.getName() + " from your party.");
|
||||
* tp.setMetadata("MineverseChat.party.ban." + player.getUniqueId().toString(),
|
||||
* new FixedMetadataValue(plugin, true)); if(plugin.getMetadataString(tp,
|
||||
* "MineverseChat.party", plugin).equals(plugin.getMetadataString(player,
|
||||
* "MineverseChat.party", plugin))) { tp.setMetadata("MineverseChat.party", new
|
||||
* FixedMetadataValue(plugin, "")); } tp.sendMessage(ChatColor.RED +
|
||||
* "You have been banned from " + player.getName() + "'s party.");
|
||||
* player.sendMessage(ChatColor.RED + "You have banned " + tp.getName() +
|
||||
* " from your party."); break; } player.sendMessage(ChatColor.RED +
|
||||
* "You cannot ban yourself."); break; } player.sendMessage(ChatColor.RED +
|
||||
* "Player: " + ChatColor.GOLD + args[1] + ChatColor.RED + " is not online.");
|
||||
* break; } player.sendMessage(ChatColor.RED +
|
||||
* "Invalid command: /party ban [playername]"); break; }
|
||||
* player.sendMessage(ChatColor.RED + "You are not hosting a party."); break; }
|
||||
* case "unban": { if(plugin.getMetadata(player, "MineverseChat.party.host",
|
||||
* plugin)) { if(args.length > 1) { Player tp = Bukkit.getPlayer(args[1]); if(tp
|
||||
* != null) { if(!tp.getName().equals(player.getName())) {
|
||||
* tp.setMetadata("MineverseChat.party.ban." + player.getUniqueId(), new
|
||||
* FixedMetadataValue(plugin, false)); tp.sendMessage(ChatColor.RED +
|
||||
* "You have been unbanned from " + player.getName() + "'s party.");
|
||||
* player.sendMessage(ChatColor.RED + "You have unbanned " + tp.getName() +
|
||||
* " from your party."); break; } player.sendMessage(ChatColor.RED +
|
||||
* "You cannot unban yourself."); break; } player.sendMessage(ChatColor.RED +
|
||||
* "Player: " + ChatColor.GOLD + args[1] + ChatColor.RED + " is not online.");
|
||||
* break; } player.sendMessage(ChatColor.RED +
|
||||
* "You cannot unban yourself."); break; }
|
||||
* player.sendMessage(ChatColor.RED + "Player: " + ChatColor.GOLD +
|
||||
* args[1] + ChatColor.RED + " is not online."); break; }
|
||||
* player.sendMessage(ChatColor.RED +
|
||||
* "Invalid command: /party unban [playername]"); break; }
|
||||
* player.sendMessage(ChatColor.RED +
|
||||
* "You are not hosting a party."); break; }
|
||||
* player.sendMessage(ChatColor.RED + "You are not hosting a party."); break; }
|
||||
*/
|
||||
case "info": {
|
||||
if(!mcp.getPlayer().hasPermission("venturechat.party.info")) {
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.party.info")) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this command!");
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
if(mcp.hasParty() && !mcp.isHost()) {
|
||||
if (mcp.hasParty() && !mcp.isHost()) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GREEN + "You are in " + MineverseChatAPI.getMineverseChatPlayer(mcp.getParty()).getName() + "'s party.");
|
||||
}
|
||||
else if(mcp.isHost()) {
|
||||
} else if (mcp.isHost()) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GREEN + "You are hosting a party.");
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "You are not hosting a party and you are not in a party.");
|
||||
}
|
||||
if(mcp.isPartyChat()) {
|
||||
if (mcp.isPartyChat()) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GREEN + "Party chat on.");
|
||||
break;
|
||||
}
|
||||
@ -208,20 +198,20 @@ public class Party implements VentureCommand {
|
||||
break;
|
||||
}
|
||||
case "chat": {
|
||||
if(!mcp.getPlayer().hasPermission("venturechat.party.chat")) {
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.party.chat")) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this command!");
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
if(mcp.isPartyChat()) {
|
||||
if (mcp.isPartyChat()) {
|
||||
mcp.setPartyChat(false);
|
||||
mcp.getPlayer().sendMessage(ChatColor.GREEN + "Toggled party chat off.");
|
||||
break;
|
||||
}
|
||||
if(mcp.hasConversation()) {
|
||||
if (mcp.hasConversation()) {
|
||||
String tellChat = MineverseChatAPI.getMineverseChatPlayer(mcp.getConversation()).getName();
|
||||
mcp.setConversation(null);
|
||||
for(MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
if(p.isSpy()) {
|
||||
for (MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
if (p.isSpy()) {
|
||||
p.getPlayer().sendMessage(mcp.getName() + " is no longer in a private conversation with " + tellChat + ".");
|
||||
}
|
||||
}
|
||||
@ -232,39 +222,39 @@ public class Party implements VentureCommand {
|
||||
break;
|
||||
}
|
||||
case "help": {
|
||||
if(!mcp.getPlayer().hasPermission("venturechat.party.help")) {
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.party.help")) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this command!");
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(ChatColor.GREEN + "/party host\n/party join [player]\n/party leave\n/party kick [player]\n/party ban [player]\n/party unban [player]\n/party info\n/party members [player]\n/party chat\n/party help");
|
||||
mcp.getPlayer().sendMessage(ChatColor.GREEN
|
||||
+ "/party host\n/party join [player]\n/party leave\n/party kick [player]\n/party ban [player]\n/party unban [player]\n/party info\n/party members [player]\n/party chat\n/party help");
|
||||
break;
|
||||
}
|
||||
case "members": {
|
||||
if(!mcp.getPlayer().hasPermission("venturechat.party.members")) {
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.party.members")) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this command!");
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
if(args.length > 1) {
|
||||
if (args.length > 1) {
|
||||
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[1]);
|
||||
if(player != null) {
|
||||
if(player.isHost()) {
|
||||
if (player != null) {
|
||||
if (player.isHost()) {
|
||||
String members = "";
|
||||
long linecount = LINE_LENGTH;
|
||||
for(MineverseChatPlayer p : MineverseChatAPI.getMineverseChatPlayers()) {
|
||||
if(p.getParty() != null && p.getParty().equals(player.getUUID())) {
|
||||
if(members.length() + p.getName().length() > linecount) {
|
||||
for (MineverseChatPlayer p : MineverseChatAPI.getMineverseChatPlayers()) {
|
||||
if (p.getParty() != null && p.getParty().equals(player.getUUID())) {
|
||||
if (members.length() + p.getName().length() > linecount) {
|
||||
members += "\n";
|
||||
linecount = linecount + LINE_LENGTH;
|
||||
}
|
||||
if(p.isOnline()) {
|
||||
if (p.isOnline()) {
|
||||
members += ChatColor.GREEN + p.getName() + ChatColor.WHITE + ", ";
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
members += ChatColor.RED + p.getName() + ChatColor.WHITE + ", ";
|
||||
}
|
||||
}
|
||||
}
|
||||
if(members.length() > 2) {
|
||||
if (members.length() > 2) {
|
||||
members = members.substring(0, members.length() - 2);
|
||||
}
|
||||
mcp.getPlayer().sendMessage(ChatColor.GREEN + "Members in " + player.getName() + "'s party: " + members);
|
||||
@ -280,46 +270,47 @@ public class Party implements VentureCommand {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(args[0].length() > 0) {
|
||||
if(!args[0].equals("host") && !args[0].equals("join") && !args[0].equals("leave") && !args[0].equals("kick") && !args[0].equals("info") && !args[0].equals("chat") && !args[0].equals("help") && !args[0].equals("members") && !args[0].equals("ban") && !args[0].equals("unban")) {
|
||||
if(mcp.hasParty()) {
|
||||
if (args[0].length() > 0) {
|
||||
if (!args[0].equals("host") && !args[0].equals("join") && !args[0].equals("leave") && !args[0].equals("kick") && !args[0].equals("info") && !args[0].equals("chat")
|
||||
&& !args[0].equals("help") && !args[0].equals("members") && !args[0].equals("ban") && !args[0].equals("unban")) {
|
||||
if (mcp.hasParty()) {
|
||||
String msg = "";
|
||||
String partyformat = "";
|
||||
for(int x = 0; x < args.length; x++) {
|
||||
if(args[x].length() > 0) msg += " " + args[x];
|
||||
for (int x = 0; x < args.length; x++) {
|
||||
if (args[x].length() > 0)
|
||||
msg += " " + args[x];
|
||||
}
|
||||
if(mcp.hasFilter()) {
|
||||
if (mcp.hasFilter()) {
|
||||
msg = Format.FilterChat(msg);
|
||||
}
|
||||
if(mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
|
||||
msg = Format.FormatStringLegacyColor(msg);
|
||||
}
|
||||
if(mcp.getPlayer().hasPermission("venturechat.color")) {
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color")) {
|
||||
msg = Format.FormatStringColor(msg);
|
||||
}
|
||||
if(mcp.getPlayer().hasPermission("venturechat.format")) {
|
||||
if (mcp.getPlayer().hasPermission("venturechat.format")) {
|
||||
msg = Format.FormatString(msg);
|
||||
}
|
||||
if(plugin.getConfig().getString("partyformat").equalsIgnoreCase("Default")) {
|
||||
if (plugin.getConfig().getString("partyformat").equalsIgnoreCase("Default")) {
|
||||
partyformat = ChatColor.GREEN + "[" + MineverseChatAPI.getMineverseChatPlayer(mcp.getParty()).getName() + "'s Party] " + mcp.getName() + ":" + msg;
|
||||
} else {
|
||||
partyformat = Format.FormatStringAll(plugin.getConfig().getString("partyformat")
|
||||
.replace("{host}", MineverseChatAPI.getMineverseChatPlayer(mcp.getParty()).getName()).replace("{player}", mcp.getName())) + msg;
|
||||
}
|
||||
else {
|
||||
partyformat = Format.FormatStringAll(plugin.getConfig().getString("partyformat").replace("{host}", MineverseChatAPI.getMineverseChatPlayer(mcp.getParty()).getName()).replace("{player}", mcp.getName())) + msg;
|
||||
}
|
||||
for(MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
if((p.getParty().equals(mcp.getParty()) || p.isSpy())) {
|
||||
for (MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
if ((p.getParty().equals(mcp.getParty()) || p.isSpy())) {
|
||||
p.getPlayer().sendMessage(partyformat);
|
||||
}
|
||||
}
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "You are not in a party.");
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(Exception e) {
|
||||
} catch (Exception e) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "Invalid arguments, /party help");
|
||||
}
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -1,34 +1,37 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class RangedSpy implements VentureCommand {
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
|
||||
@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;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.rangedspy")) {
|
||||
if (!mcp.getRangedSpy()) {
|
||||
mcp.setRangedSpy(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.RANGED_SPY_ON.toString());
|
||||
return;
|
||||
}
|
||||
mcp.setRangedSpy(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.RANGED_SPY_OFF.toString());
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
public class RangedSpy extends Command {
|
||||
public RangedSpy() {
|
||||
super("rangedspy");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return true;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.rangedspy")) {
|
||||
if (!mcp.getRangedSpy()) {
|
||||
mcp.setRangedSpy(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.RANGED_SPY_ON.toString());
|
||||
return true;
|
||||
}
|
||||
mcp.setRangedSpy(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.RANGED_SPY_OFF.toString());
|
||||
return true;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -7,16 +7,8 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import mineverse.Aust1n46.chat.ChatMessage;
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
@ -24,98 +16,118 @@ import org.bukkit.scheduler.BukkitRunnable;
|
||||
import com.comphenix.protocol.events.PacketContainer;
|
||||
import com.comphenix.protocol.wrappers.WrappedChatComponent;
|
||||
|
||||
public class Removemessage implements VentureCommand {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
private PacketContainer emptyLinePacketContainer = Format.createPacketPlayOutChat("{\"extra\":[\" \"],\"text\":\"\"}");
|
||||
private WrappedChatComponent messageDeletedComponentPlayer = WrappedChatComponent.fromJson("{\"text\":\"\",\"extra\":[{\"text\":\"\",\"extra\":[" + Format.convertToJsonColors(Format.FormatStringAll(plugin.getConfig().getString("messageremovertext"))) + "],\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[" + Format.convertToJsonColors(Format.FormatStringAll(plugin.getConfig().getString("messageremoverpermissions"))) + "]}}}]}");
|
||||
;
|
||||
import mineverse.Aust1n46.chat.ChatMessage;
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
|
||||
@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 && ChatChannel.isChannel(args[1]) && ChatChannel.getChannel(args[1]).getBungee() && sender instanceof Player) {
|
||||
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
|
||||
DataOutputStream out = new DataOutputStream(byteOutStream);
|
||||
try {
|
||||
out.writeUTF("RemoveMessage");
|
||||
out.writeUTF(String.valueOf(hash));
|
||||
((Player) sender).sendPluginMessage(plugin, MineverseChat.PLUGIN_MESSAGING_CHANNEL, byteOutStream.toByteArray());
|
||||
out.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return;
|
||||
} else {
|
||||
new BukkitRunnable() {
|
||||
public void run() {
|
||||
final Map<Player, List<PacketContainer>> packets = new HashMap();
|
||||
for (MineverseChatPlayer p : MineverseChatAPI.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(Format.createPacketPlayOutChat(removedComponent));
|
||||
resend = true;
|
||||
continue;
|
||||
}
|
||||
if (message.getMessage().contains(ChatColor.stripColor(Format.FormatStringAll(plugin.getConfig().getString("guiicon"))))) {
|
||||
String submessage = message.getMessage().substring(0, message.getMessage().length() - ChatColor.stripColor(Format.FormatStringAll(plugin.getConfig().getString("guiicon"))).length());
|
||||
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(Format.createPacketPlayOutChat(removedComponent));
|
||||
resend = true;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
playerPackets.add(Format.createPacketPlayOutChat(message.getComponent()));
|
||||
public class Removemessage extends Command {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
private PacketContainer emptyLinePacketContainer = Format.createPacketPlayOutChat("{\"extra\":[\" \"],\"text\":\"\"}");
|
||||
private WrappedChatComponent messageDeletedComponentPlayer = WrappedChatComponent.fromJson(
|
||||
"{\"text\":\"\",\"extra\":[{\"text\":\"\",\"extra\":[" + Format.convertToJsonColors(Format.FormatStringAll(plugin.getConfig().getString("messageremovertext")))
|
||||
+ "],\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":["
|
||||
+ Format.convertToJsonColors(Format.FormatStringAll(plugin.getConfig().getString("messageremoverpermissions"))) + "]}}}]}");
|
||||
|
||||
}
|
||||
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) {
|
||||
Format.sendPacketPlayOutChat(p, c);
|
||||
}
|
||||
}
|
||||
}
|
||||
}.runTask(plugin);
|
||||
}
|
||||
}.runTaskAsynchronously(plugin);
|
||||
}
|
||||
}
|
||||
public Removemessage() {
|
||||
super("removemessage");
|
||||
}
|
||||
|
||||
public WrappedChatComponent getMessageDeletedChatComponentPlayer() {
|
||||
return this.messageDeletedComponentPlayer;
|
||||
}
|
||||
@Override
|
||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (args.length == 0) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/removemessage").replace("{args}", "[hashcode] {channel}"));
|
||||
return true;
|
||||
}
|
||||
final int hash;
|
||||
try {
|
||||
hash = Integer.parseInt(args[0]);
|
||||
} catch (Exception e) {
|
||||
sender.sendMessage(LocalizedMessage.INVALID_HASH.toString());
|
||||
return true;
|
||||
}
|
||||
if (args.length > 1 && ChatChannel.isChannel(args[1]) && ChatChannel.getChannel(args[1]).getBungee() && sender instanceof Player) {
|
||||
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
|
||||
DataOutputStream out = new DataOutputStream(byteOutStream);
|
||||
try {
|
||||
out.writeUTF("RemoveMessage");
|
||||
out.writeUTF(String.valueOf(hash));
|
||||
((Player) sender).sendPluginMessage(plugin, MineverseChat.PLUGIN_MESSAGING_CHANNEL, byteOutStream.toByteArray());
|
||||
out.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return true;
|
||||
} else {
|
||||
new BukkitRunnable() {
|
||||
public void run() {
|
||||
final Map<Player, List<PacketContainer>> packets = new HashMap();
|
||||
for (MineverseChatPlayer p : MineverseChatAPI.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(Format.createPacketPlayOutChat(removedComponent));
|
||||
resend = true;
|
||||
continue;
|
||||
}
|
||||
if (message.getMessage().contains(ChatColor.stripColor(Format.FormatStringAll(plugin.getConfig().getString("guiicon"))))) {
|
||||
String submessage = message.getMessage().substring(0,
|
||||
message.getMessage().length() - ChatColor.stripColor(Format.FormatStringAll(plugin.getConfig().getString("guiicon"))).length());
|
||||
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(Format.createPacketPlayOutChat(removedComponent));
|
||||
resend = true;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
playerPackets.add(Format.createPacketPlayOutChat(message.getComponent()));
|
||||
|
||||
public WrappedChatComponent getMessageDeletedChatComponentAdmin(ChatMessage message) {
|
||||
return WrappedChatComponent.fromJson("[{\"text\":\"\",\"extra\":[{\"text\":\"\",\"extra\":[" + Format.convertToJsonColors(Format.FormatStringAll(plugin.getConfig().getString("messageremovertext"))) + "],\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\"," + message.getColoredMessage() + "}}}]}]");
|
||||
}
|
||||
}
|
||||
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) {
|
||||
Format.sendPacketPlayOutChat(p, c);
|
||||
}
|
||||
}
|
||||
}
|
||||
}.runTask(plugin);
|
||||
}
|
||||
}.runTaskAsynchronously(plugin);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public WrappedChatComponent getMessageDeletedChatComponentPlayer() {
|
||||
return this.messageDeletedComponentPlayer;
|
||||
}
|
||||
|
||||
public WrappedChatComponent getMessageDeletedChatComponentAdmin(ChatMessage message) {
|
||||
return WrappedChatComponent.fromJson(
|
||||
"[{\"text\":\"\",\"extra\":[{\"text\":\"\",\"extra\":[" + Format.convertToJsonColors(Format.FormatStringAll(plugin.getConfig().getString("messageremovertext")))
|
||||
+ "],\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\"," + message.getColoredMessage() + "}}}]}]");
|
||||
}
|
||||
}
|
||||
|
@ -1,84 +1,78 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
|
||||
public class Setchannel implements VentureCommand {
|
||||
public class Setchannel extends Command {
|
||||
public Setchannel() {
|
||||
super("setchannel");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.setchannel")) {
|
||||
if (args.length < 2) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/setchannel")
|
||||
.replace("{args}", "[player] [channel]"));
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
|
||||
if (player == null) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
|
||||
.replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
ChatChannel channel = ChatChannel.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 (MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
if (p.isSpy()) {
|
||||
p.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION_SPY.toString()
|
||||
.replace("{player_sender}", player.getName())
|
||||
.replace("{player_receiver}", MineverseChatAPI.getMineverseChatPlayer(player.getConversation()).getName()));
|
||||
}
|
||||
}
|
||||
if (player.isOnline())
|
||||
player.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION.toString()
|
||||
.replace("{player_receiver}", MineverseChatAPI.getMineverseChatPlayer(player.getConversation()).getName()));
|
||||
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()) {
|
||||
MineverseChat.synchronize(player, true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
}
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.setchannel")) {
|
||||
if (args.length < 2) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/setchannel").replace("{args}", "[player] [channel]"));
|
||||
return true;
|
||||
}
|
||||
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
|
||||
if (player == null) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
|
||||
return true;
|
||||
}
|
||||
ChatChannel channel = ChatChannel.getChannel(args[1]);
|
||||
if (channel == null) {
|
||||
sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[1]));
|
||||
return true;
|
||||
}
|
||||
if (channel.hasPermission()) {
|
||||
if (!player.isOnline()) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE_NO_PERMISSIONS_CHECK.toString());
|
||||
return true;
|
||||
}
|
||||
if (!player.getPlayer().hasPermission(channel.getPermission())) {
|
||||
player.removeListening(channel.getName());
|
||||
sender.sendMessage(LocalizedMessage.SET_CHANNEL_PLAYER_CHANNEL_NO_PERMISSION.toString().replace("{player}", player.getName())
|
||||
.replace("{channel_color}", channel.getColor() + "").replace("{channel_name}", channel.getName()));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
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 (MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
if (p.isSpy()) {
|
||||
p.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION_SPY.toString().replace("{player_sender}", player.getName())
|
||||
.replace("{player_receiver}", MineverseChatAPI.getMineverseChatPlayer(player.getConversation()).getName()));
|
||||
}
|
||||
}
|
||||
if (player.isOnline())
|
||||
player.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION.toString().replace("{player_receiver}",
|
||||
MineverseChatAPI.getMineverseChatPlayer(player.getConversation()).getName()));
|
||||
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()) {
|
||||
MineverseChat.synchronize(player, true);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -1,61 +1,61 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
|
||||
public class Setchannelall implements VentureCommand {
|
||||
public class Setchannelall extends Command {
|
||||
public Setchannelall() {
|
||||
super("setchannelall");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.setchannelall")) {
|
||||
if (args.length < 1) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/setchannelall")
|
||||
.replace("{args}", "[player]"));
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
|
||||
if (player == null) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
|
||||
.replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
boolean isThereABungeeChannel = false;
|
||||
for (ChatChannel channel : ChatChannel.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) {
|
||||
MineverseChat.synchronize(player, true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
}
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.setchannelall")) {
|
||||
if (args.length < 1) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/setchannelall").replace("{args}", "[player]"));
|
||||
return true;
|
||||
}
|
||||
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
|
||||
if (player == null) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
|
||||
return true;
|
||||
}
|
||||
boolean isThereABungeeChannel = false;
|
||||
for (ChatChannel channel : ChatChannel.getChatChannels()) {
|
||||
if (channel.hasPermission()) {
|
||||
if (!player.isOnline()) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE_NO_PERMISSIONS_CHECK.toString());
|
||||
return true;
|
||||
}
|
||||
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) {
|
||||
MineverseChat.synchronize(player, true);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -6,6 +6,7 @@ import java.util.List;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
@ -18,186 +19,187 @@ import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.gui.GuiSlot;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
import mineverse.Aust1n46.chat.versions.VersionHandler;
|
||||
|
||||
public class VentureChatGui implements VentureCommand {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
public class VentureChatGui extends Command {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
|
||||
@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;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.gui")) {
|
||||
MineverseChatPlayer target = MineverseChatAPI.getMineverseChatPlayer(args[0]);
|
||||
if (target == null && !args[0].equals("Discord")) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
|
||||
.replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
if (ChatChannel.isChannel(args[1])) {
|
||||
ChatChannel channel = ChatChannel.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;
|
||||
}
|
||||
public VentureChatGui() {
|
||||
super("venturechatgui");
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
private void openInventory(MineverseChatPlayer mcp, MineverseChatPlayer 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 boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return true;
|
||||
}
|
||||
if (args.length < 3) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/venturechatgui").replace("{args}", "[player] [channel] [hashcode]"));
|
||||
return true;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.gui")) {
|
||||
MineverseChatPlayer target = MineverseChatAPI.getMineverseChatPlayer(args[0]);
|
||||
if (target == null && !args[0].equals("Discord")) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
|
||||
return true;
|
||||
}
|
||||
if (ChatChannel.isChannel(args[1])) {
|
||||
ChatChannel channel = ChatChannel.getChannel(args[1]);
|
||||
final int hash;
|
||||
try {
|
||||
hash = Integer.parseInt(args[2]);
|
||||
} catch (Exception e) {
|
||||
sender.sendMessage(LocalizedMessage.INVALID_HASH.toString());
|
||||
return true;
|
||||
}
|
||||
if (args[0].equals("Discord")) {
|
||||
this.openInventoryDiscord(mcp, channel, hash);
|
||||
return true;
|
||||
}
|
||||
this.openInventory(mcp, target, channel, hash);
|
||||
return true;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[1]));
|
||||
return true;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return true;
|
||||
}
|
||||
|
||||
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(MineverseChatPlayer mcp, MineverseChatPlayer 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 : GuiSlot.getGuiSlots()) {
|
||||
if (!g.hasPermission() || mcp.getPlayer().hasPermission(g.getPermission())) {
|
||||
if (this.checkSlot(g.getSlot())) {
|
||||
MineverseChat.getInstance().getServer().getConsoleSender().sendMessage(Format.FormatStringAll("&cGUI: " + g.getName() + " has invalid slot: " + g.getSlot() + "!"));
|
||||
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(Format.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 : GuiSlot.getGuiSlots()) {
|
||||
if (!g.hasPermission() || mcp.getPlayer().hasPermission(g.getPermission())) {
|
||||
if (this.checkSlot(g.getSlot())) {
|
||||
MineverseChat.getInstance().getServer().getConsoleSender()
|
||||
.sendMessage(Format.FormatStringAll("&cGUI: " + g.getName() + " has invalid slot: " + g.getSlot() + "!"));
|
||||
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(Format.FormatStringAll(displayName));
|
||||
List<String> gLore = new ArrayList<String>();
|
||||
gMeta.setLore(gLore);
|
||||
gStack.setItemMeta(gMeta);
|
||||
inv.setItem(g.getSlot(), gStack);
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
private void openInventoryDiscord(MineverseChatPlayer 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(MineverseChatPlayer 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 : GuiSlot.getGuiSlots()) {
|
||||
if (!g.hasPermission() || mcp.getPlayer().hasPermission(g.getPermission())) {
|
||||
if (this.checkSlot(g.getSlot())) {
|
||||
MineverseChat.getInstance().getServer().getConsoleSender().sendMessage(Format.FormatStringAll("&cGUI: " + g.getName() + " has invalid slot: " + g.getSlot() + "!"));
|
||||
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(Format.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 : GuiSlot.getGuiSlots()) {
|
||||
if (!g.hasPermission() || mcp.getPlayer().hasPermission(g.getPermission())) {
|
||||
if (this.checkSlot(g.getSlot())) {
|
||||
MineverseChat.getInstance().getServer().getConsoleSender()
|
||||
.sendMessage(Format.FormatStringAll("&cGUI: " + g.getName() + " has invalid slot: " + g.getSlot() + "!"));
|
||||
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(Format.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,7 +1,12 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
//import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
//import org.bukkit.craftbukkit.v1_15_R1.entity.CraftPlayer;
|
||||
//import org.bukkit.entity.Player;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.InternalMessage;
|
||||
//import net.md_5.bungee.api.chat.ClickEvent;
|
||||
//import net.md_5.bungee.api.chat.ComponentBuilder;
|
||||
@ -10,19 +15,19 @@ import mineverse.Aust1n46.chat.localization.InternalMessage;
|
||||
//import net.minecraft.server.v1_15_R1.IChatBaseComponent;
|
||||
//import net.minecraft.server.v1_15_R1.PacketPlayOutChat;
|
||||
|
||||
//import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
//import org.bukkit.craftbukkit.v1_15_R1.entity.CraftPlayer;
|
||||
//import org.bukkit.entity.Player;
|
||||
|
||||
public class Venturechat implements VentureCommand {
|
||||
public class Venturechat extends Command {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
|
||||
public Venturechat() {
|
||||
super("venturechat");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
sender.sendMessage(InternalMessage.VENTURECHAT_VERSION.toString()
|
||||
.replace("{version}", plugin.getDescription().getVersion()));
|
||||
sender.sendMessage(InternalMessage.VENTURECHAT_AUTHOR.toString());
|
||||
return true;
|
||||
// if (sender instanceof Player && plugin.getConfig().getString("loglevel", "info").equals("debug")) {
|
||||
// Player player = (Player) sender;
|
||||
// String title = ChatColor.GOLD + " | " + ChatColor.BLUE.toString() + ChatColor.BOLD + "SpigotAPI chat message" + ChatColor.RESET + ChatColor.GOLD + " | ";
|
||||
|
@ -16,92 +16,91 @@ import org.bukkit.util.StringUtil;
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
|
||||
public class Ignore implements VentureCommand {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
public class Ignore extends Command {
|
||||
public Ignore() {
|
||||
super("ignore");
|
||||
}
|
||||
|
||||
@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;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.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()) {
|
||||
MineverseChatPlayer i = MineverseChatAPI.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());
|
||||
mcp.getPlayer().sendPluginMessage(plugin, MineverseChat.PLUGIN_MESSAGING_CHANNEL, byteOutStream.toByteArray());
|
||||
out.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return;
|
||||
}
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
|
||||
MineverseChatPlayer player = MineverseChatAPI.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());
|
||||
MineverseChat.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());
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
return;
|
||||
}
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
plugin.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return true;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.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()) {
|
||||
MineverseChatPlayer i = MineverseChatAPI.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());
|
||||
mcp.getPlayer().sendPluginMessage(plugin, MineverseChat.PLUGIN_MESSAGING_CHANNEL, byteOutStream.toByteArray());
|
||||
out.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
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], MineverseChatAPI.getNetworkPlayerNames(), completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
MineverseChatPlayer player = MineverseChatAPI.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());
|
||||
MineverseChat.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());
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> tabComplete(CommandSender sender, String label, String[] args) {
|
||||
if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
|
||||
List<String> completions = new ArrayList<>();
|
||||
StringUtil.copyPartialMatches(args[args.length - 1], MineverseChatAPI.getNetworkPlayerNames(), completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@ -15,202 +15,193 @@ import me.clip.placeholderapi.PlaceholderAPI;
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
|
||||
public class Message implements VentureCommand {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
public class Message extends Command {
|
||||
public Message() {
|
||||
super("message");
|
||||
}
|
||||
|
||||
@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;
|
||||
}
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (args.length == 0) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/" + command)
|
||||
.replace("{args}", "[player] [message]"));
|
||||
return;
|
||||
}
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
plugin.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return true;
|
||||
}
|
||||
|
||||
if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
|
||||
sendBungeeCordMessage(mcp, command, args);
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (args.length == 0) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/" + command).replace("{args}", "[player] [message]"));
|
||||
return true;
|
||||
}
|
||||
|
||||
MineverseChatPlayer player = MineverseChatAPI.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.getMessageToggle()) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.BLOCKING_MESSAGE.toString()
|
||||
.replace("{player}", player.getName()));
|
||||
return;
|
||||
}
|
||||
if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
|
||||
sendBungeeCordMessage(mcp, command, args);
|
||||
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.hasFilter()) {
|
||||
msg = Format.FilterChat(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
|
||||
msg = Format.FormatStringLegacyColor(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color")) {
|
||||
msg = Format.FormatStringColor(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.format")) {
|
||||
msg = Format.FormatString(msg);
|
||||
}
|
||||
MineverseChatPlayer player = MineverseChatAPI.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.getMessageToggle()) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.BLOCKING_MESSAGE.toString().replace("{player}", player.getName()));
|
||||
return true;
|
||||
}
|
||||
|
||||
send = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("tellformatfrom").replaceAll("sender_", "")));
|
||||
echo = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("tellformatto").replaceAll("sender_", "")));
|
||||
spy = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("tellformatspy").replaceAll("sender_", "")));
|
||||
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.hasFilter()) {
|
||||
msg = Format.FilterChat(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
|
||||
msg = Format.FormatStringLegacyColor(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color")) {
|
||||
msg = Format.FormatStringColor(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.format")) {
|
||||
msg = Format.FormatString(msg);
|
||||
}
|
||||
|
||||
send = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(player.getPlayer(), send.replaceAll("receiver_", ""))) + msg;
|
||||
echo = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(player.getPlayer(), echo.replaceAll("receiver_", ""))) + msg;
|
||||
spy = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(player.getPlayer(), spy.replaceAll("receiver_", ""))) + msg;
|
||||
send = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("tellformatfrom").replaceAll("sender_", "")));
|
||||
echo = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("tellformatto").replaceAll("sender_", "")));
|
||||
spy = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("tellformatspy").replaceAll("sender_", "")));
|
||||
|
||||
player.setReplyPlayer(mcp.getUUID());
|
||||
mcp.setReplyPlayer(player.getUUID());
|
||||
player.getPlayer().sendMessage(send);
|
||||
mcp.getPlayer().sendMessage(echo);
|
||||
if (player.hasNotifications()) {
|
||||
Format.playMessageSound(player);
|
||||
}
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) {
|
||||
for (MineverseChatPlayer sp : MineverseChatAPI.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 (MineverseChatPlayer sp : MineverseChatAPI.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 (MineverseChatPlayer sp : MineverseChatAPI.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;
|
||||
}
|
||||
send = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(player.getPlayer(), send.replaceAll("receiver_", ""))) + msg;
|
||||
echo = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(player.getPlayer(), echo.replaceAll("receiver_", ""))) + msg;
|
||||
spy = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(player.getPlayer(), spy.replaceAll("receiver_", ""))) + msg;
|
||||
|
||||
@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], MineverseChatAPI.getNetworkPlayerNames(), completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
player.setReplyPlayer(mcp.getUUID());
|
||||
mcp.setReplyPlayer(player.getUUID());
|
||||
player.getPlayer().sendMessage(send);
|
||||
mcp.getPlayer().sendMessage(echo);
|
||||
if (player.hasNotifications()) {
|
||||
Format.playMessageSound(player);
|
||||
}
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) {
|
||||
for (MineverseChatPlayer sp : MineverseChatAPI.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 (MineverseChatPlayer sp : MineverseChatAPI.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 (MineverseChatPlayer sp : MineverseChatAPI.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;
|
||||
}
|
||||
|
||||
private void sendBungeeCordMessage(MineverseChatPlayer mcp, String command, String[] args) {
|
||||
if (args.length < 2) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/" + command)
|
||||
.replace("{args}", "[player] [message]"));
|
||||
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.hasFilter()) {
|
||||
msg = Format.FilterChat(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
|
||||
msg = Format.FormatStringLegacyColor(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color")) {
|
||||
msg = Format.FormatStringColor(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.format")) {
|
||||
msg = Format.FormatString(msg);
|
||||
}
|
||||
@Override
|
||||
public List<String> tabComplete(CommandSender sender, String label, String[] args) {
|
||||
if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
|
||||
List<String> completions = new ArrayList<>();
|
||||
StringUtil.copyPartialMatches(args[args.length - 1], MineverseChatAPI.getNetworkPlayerNames(), completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
String send = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("tellformatfrom").replaceAll("sender_", "")));
|
||||
String echo = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("tellformatto").replaceAll("sender_", "")));
|
||||
String spy = "VentureChat:NoSpy";
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) {
|
||||
spy = Format.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);
|
||||
mcp.getPlayer().sendPluginMessage(plugin, MineverseChat.PLUGIN_MESSAGING_CHANNEL, byteOutStream.toByteArray());
|
||||
out.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
private void sendBungeeCordMessage(MineverseChatPlayer mcp, String command, String[] args) {
|
||||
if (args.length < 2) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/" + command).replace("{args}", "[player] [message]"));
|
||||
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.hasFilter()) {
|
||||
msg = Format.FilterChat(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
|
||||
msg = Format.FormatStringLegacyColor(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color")) {
|
||||
msg = Format.FormatStringColor(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.format")) {
|
||||
msg = Format.FormatString(msg);
|
||||
}
|
||||
|
||||
String send = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("tellformatfrom").replaceAll("sender_", "")));
|
||||
String echo = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("tellformatto").replaceAll("sender_", "")));
|
||||
String spy = "VentureChat:NoSpy";
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) {
|
||||
spy = Format.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);
|
||||
mcp.getPlayer().sendPluginMessage(plugin, MineverseChat.PLUGIN_MESSAGING_CHANNEL, byteOutStream.toByteArray());
|
||||
out.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,37 +1,40 @@
|
||||
package mineverse.Aust1n46.chat.command.message;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
|
||||
public class MessageToggle implements VentureCommand {
|
||||
public class MessageToggle extends Command {
|
||||
public MessageToggle() {
|
||||
super("messagetoggle");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.messagetoggle")) {
|
||||
if (!mcp.getMessageToggle()) {
|
||||
mcp.setMessageToggle(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.MESSAGE_TOGGLE_ON.toString());
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
return;
|
||||
}
|
||||
mcp.setMessageToggle(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.MESSAGE_TOGGLE_OFF.toString());
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return true;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.messagetoggle")) {
|
||||
if (!mcp.getMessageToggle()) {
|
||||
mcp.setMessageToggle(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.MESSAGE_TOGGLE_ON.toString());
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
return true;
|
||||
}
|
||||
mcp.setMessageToggle(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.MESSAGE_TOGGLE_OFF.toString());
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
return true;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -1,31 +1,34 @@
|
||||
package mineverse.Aust1n46.chat.command.message;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
|
||||
public class Notifications implements VentureCommand {
|
||||
public class Notifications extends Command {
|
||||
public Notifications() {
|
||||
super("notifications");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return;
|
||||
}
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return true;
|
||||
}
|
||||
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (!mcp.hasNotifications()) {
|
||||
mcp.setNotifications(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.NOTIFICATIONS_ON.toString());
|
||||
return;
|
||||
}
|
||||
mcp.setNotifications(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.NOTIFICATIONS_OFF.toString());
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (!mcp.hasNotifications()) {
|
||||
mcp.setNotifications(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.NOTIFICATIONS_ON.toString());
|
||||
return true;
|
||||
}
|
||||
mcp.setNotifications(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.NOTIFICATIONS_OFF.toString());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package mineverse.Aust1n46.chat.command.message;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataOutputStream;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
@ -10,142 +11,143 @@ import me.clip.placeholderapi.PlaceholderAPI;
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
|
||||
public class Reply implements VentureCommand {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
public class Reply extends Command {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
|
||||
@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;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (args.length > 0) {
|
||||
if (mcp.hasReplyPlayer()) {
|
||||
if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
|
||||
sendBungeeCordReply(mcp, args);
|
||||
return;
|
||||
}
|
||||
public Reply() {
|
||||
super("reply");
|
||||
}
|
||||
|
||||
MineverseChatPlayer player = MineverseChatAPI.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.getMessageToggle()) {
|
||||
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.hasFilter()) {
|
||||
msg = Format.FilterChat(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
|
||||
msg = Format.FormatStringLegacyColor(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color")) {
|
||||
msg = Format.FormatStringColor(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.format")) {
|
||||
msg = Format.FormatString(msg);
|
||||
}
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
plugin.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return true;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (args.length > 0) {
|
||||
if (mcp.hasReplyPlayer()) {
|
||||
if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
|
||||
sendBungeeCordReply(mcp, args);
|
||||
return true;
|
||||
}
|
||||
|
||||
send = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatfrom").replaceAll("sender_", "")));
|
||||
echo = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatto").replaceAll("sender_", "")));
|
||||
spy = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatspy").replaceAll("sender_", "")));
|
||||
MineverseChatPlayer player = MineverseChatAPI.getOnlineMineverseChatPlayer(mcp.getReplyPlayer());
|
||||
if (player == null) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.NO_PLAYER_TO_REPLY_TO.toString());
|
||||
return true;
|
||||
}
|
||||
if (!mcp.getPlayer().canSee(player.getPlayer())) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.NO_PLAYER_TO_REPLY_TO.toString());
|
||||
return true;
|
||||
}
|
||||
if (player.getIgnores().contains(mcp.getUUID())) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORING_MESSAGE.toString().replace("{player}", player.getName()));
|
||||
return true;
|
||||
}
|
||||
if (!player.getMessageToggle()) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.BLOCKING_MESSAGE.toString().replace("{player}", player.getName()));
|
||||
return true;
|
||||
}
|
||||
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.hasFilter()) {
|
||||
msg = Format.FilterChat(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
|
||||
msg = Format.FormatStringLegacyColor(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color")) {
|
||||
msg = Format.FormatStringColor(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.format")) {
|
||||
msg = Format.FormatString(msg);
|
||||
}
|
||||
|
||||
send = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(player.getPlayer(), send.replaceAll("receiver_", ""))) + msg;
|
||||
echo = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(player.getPlayer(), echo.replaceAll("receiver_", ""))) + msg;
|
||||
spy = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(player.getPlayer(), spy.replaceAll("receiver_", ""))) + msg;
|
||||
send = Format
|
||||
.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatfrom").replaceAll("sender_", "")));
|
||||
echo = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatto").replaceAll("sender_", "")));
|
||||
spy = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatspy").replaceAll("sender_", "")));
|
||||
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) {
|
||||
for (MineverseChatPlayer p : MineverseChatAPI.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.hasNotifications()) {
|
||||
Format.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 = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(player.getPlayer(), send.replaceAll("receiver_", ""))) + msg;
|
||||
echo = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(player.getPlayer(), echo.replaceAll("receiver_", ""))) + msg;
|
||||
spy = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(player.getPlayer(), spy.replaceAll("receiver_", ""))) + msg;
|
||||
|
||||
private void sendBungeeCordReply(MineverseChatPlayer 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.hasFilter()) {
|
||||
msg = Format.FilterChat(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
|
||||
msg = Format.FormatStringLegacyColor(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color")) {
|
||||
msg = Format.FormatStringColor(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.format")) {
|
||||
msg = Format.FormatString(msg);
|
||||
}
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) {
|
||||
for (MineverseChatPlayer p : MineverseChatAPI.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.hasNotifications()) {
|
||||
Format.playMessageSound(player);
|
||||
}
|
||||
player.setReplyPlayer(mcp.getUUID());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.NO_PLAYER_TO_REPLY_TO.toString());
|
||||
return true;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/reply").replace("{args}", "[message]"));
|
||||
return true;
|
||||
}
|
||||
|
||||
String send = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatfrom").replaceAll("sender_", "")));
|
||||
String echo = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatto").replaceAll("sender_", "")));
|
||||
String spy = "VentureChat:NoSpy";
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) {
|
||||
spy = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatspy").replaceAll("sender_", "")));
|
||||
}
|
||||
try {
|
||||
out.writeUTF("Message");
|
||||
out.writeUTF("Send");
|
||||
out.writeUTF(MineverseChatAPI.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);
|
||||
mcp.getPlayer().sendPluginMessage(plugin, MineverseChat.PLUGIN_MESSAGING_CHANNEL, byteOutStream.toByteArray());
|
||||
out.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
private void sendBungeeCordReply(MineverseChatPlayer 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.hasFilter()) {
|
||||
msg = Format.FilterChat(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
|
||||
msg = Format.FormatStringLegacyColor(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color")) {
|
||||
msg = Format.FormatStringColor(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.format")) {
|
||||
msg = Format.FormatString(msg);
|
||||
}
|
||||
|
||||
String send = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatfrom").replaceAll("sender_", "")));
|
||||
String echo = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatto").replaceAll("sender_", "")));
|
||||
String spy = "VentureChat:NoSpy";
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) {
|
||||
spy = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatspy").replaceAll("sender_", "")));
|
||||
}
|
||||
try {
|
||||
out.writeUTF("Message");
|
||||
out.writeUTF("Send");
|
||||
out.writeUTF(MineverseChatAPI.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);
|
||||
mcp.getPlayer().sendPluginMessage(plugin, MineverseChat.PLUGIN_MESSAGING_CHANNEL, byteOutStream.toByteArray());
|
||||
out.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,37 +1,40 @@
|
||||
package mineverse.Aust1n46.chat.command.message;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
|
||||
public class Spy implements VentureCommand {
|
||||
public class Spy extends Command {
|
||||
public Spy() {
|
||||
super("spy");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.spy")) {
|
||||
if (!mcp.isSpy()) {
|
||||
mcp.setSpy(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.SPY_ON.toString());
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
return;
|
||||
}
|
||||
mcp.setSpy(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.SPY_OFF.toString());
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return true;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.spy")) {
|
||||
if (!mcp.isSpy()) {
|
||||
mcp.setSpy(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.SPY_ON.toString());
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
return true;
|
||||
}
|
||||
mcp.setSpy(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.SPY_OFF.toString());
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
return true;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -17,194 +17,174 @@ import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
|
||||
public class Mute implements VentureCommand {
|
||||
private static final List<String> COMMON_MUTE_TIMES = Collections.unmodifiableList(Arrays.asList(new String[]{"12h", "15m", "1d", "1h", "1m", "30s"}));
|
||||
public class Mute extends Command {
|
||||
public Mute() {
|
||||
super("mute");
|
||||
}
|
||||
|
||||
@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 (ChatChannel.isChannel(args[0])) {
|
||||
ChatChannel channel = ChatChannel.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 = Format.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 = Format.FormatStringAll(reasonBuilder.toString().trim());
|
||||
}
|
||||
if (channel.getBungee()) {
|
||||
sendBungeeCordMute(sender, args[1], channel, time, reason);
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer playerToMute = MineverseChatAPI.getMineverseChatPlayer(args[1]);
|
||||
if (playerToMute == null || (!playerToMute.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[1]));
|
||||
return;
|
||||
}
|
||||
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;
|
||||
}
|
||||
private static final List<String> COMMON_MUTE_TIMES = Collections.unmodifiableList(Arrays.asList(new String[] { "12h", "15m", "1d", "1h", "1m", "30s" }));
|
||||
|
||||
if (time > 0) {
|
||||
if (reason.isEmpty()) {
|
||||
playerToMute.addMute(channel.getName(), datetime + time);
|
||||
String timeString = Format.parseTimeStringFromMillis(time);
|
||||
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER_TIME.toString()
|
||||
.replace("{player}", playerToMute.getName())
|
||||
.replace("{channel_color}", channel.getColor())
|
||||
.replace("{channel_name}", channel.getName())
|
||||
.replace("{time}", timeString));
|
||||
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 = Format.parseTimeStringFromMillis(time);
|
||||
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER_TIME_REASON.toString()
|
||||
.replace("{player}", playerToMute.getName())
|
||||
.replace("{channel_color}", channel.getColor())
|
||||
.replace("{channel_name}", channel.getName())
|
||||
.replace("{time}", timeString)
|
||||
.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 boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.mute")) {
|
||||
if (args.length < 2) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/mute").replace("{args}", "[channel] [player] {time} {reason}"));
|
||||
return true;
|
||||
}
|
||||
if (ChatChannel.isChannel(args[0])) {
|
||||
ChatChannel channel = ChatChannel.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 = Format.parseTimeStringToMillis(timeString);
|
||||
if (time <= 0) {
|
||||
sender.sendMessage(LocalizedMessage.INVALID_TIME.toString().replace("{args}", timeString));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
StringBuilder reasonBuilder = new StringBuilder();
|
||||
for (int a = reasonStartPos; a < args.length; a++) {
|
||||
reasonBuilder.append(args[a] + " ");
|
||||
}
|
||||
reason = Format.FormatStringAll(reasonBuilder.toString().trim());
|
||||
}
|
||||
if (channel.getBungee()) {
|
||||
sendBungeeCordMute(sender, args[1], channel, time, reason);
|
||||
return true;
|
||||
}
|
||||
MineverseChatPlayer playerToMute = MineverseChatAPI.getMineverseChatPlayer(args[1]);
|
||||
if (playerToMute == null || (!playerToMute.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[1]));
|
||||
return true;
|
||||
}
|
||||
if (playerToMute.isMuted(channel.getName())) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_ALREADY_MUTED.toString().replace("{player}", playerToMute.getName())
|
||||
.replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()));
|
||||
return true;
|
||||
}
|
||||
|
||||
@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], ChatChannel.getChatChannels().stream().map(ChatChannel::getName).collect(Collectors.toList()), completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
}
|
||||
if (args.length == 2) {
|
||||
if (ChatChannel.isChannel(args[0])) {
|
||||
ChatChannel chatChannelObj = ChatChannel.getChannel(args[0]);
|
||||
if (chatChannelObj.getBungee()) {
|
||||
StringUtil.copyPartialMatches(args[1], MineverseChatAPI.getNetworkPlayerNames(), completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
}
|
||||
StringUtil.copyPartialMatches(args[1], MineverseChatAPI.getOnlineMineverseChatPlayers().stream().filter(mcp -> !mcp.isMuted(chatChannelObj.getName())).map(MineverseChatPlayer::getName).collect(Collectors.toList()), completions);
|
||||
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 = Format.parseTimeStringFromMillis(time);
|
||||
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER_TIME.toString().replace("{player}", playerToMute.getName())
|
||||
.replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()).replace("{time}", timeString));
|
||||
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 true;
|
||||
} else {
|
||||
playerToMute.addMute(channel.getName(), datetime + time, reason);
|
||||
String timeString = Format.parseTimeStringFromMillis(time);
|
||||
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER_TIME_REASON.toString().replace("{player}", playerToMute.getName())
|
||||
.replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()).replace("{time}", timeString)
|
||||
.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 true;
|
||||
}
|
||||
} else {
|
||||
if (reason.isEmpty()) {
|
||||
playerToMute.addMute(channel.getName());
|
||||
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER.toString().replace("{player}", playerToMute.getName())
|
||||
.replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()));
|
||||
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 true;
|
||||
} else {
|
||||
playerToMute.addMute(channel.getName(), reason);
|
||||
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER_REASON.toString().replace("{player}", playerToMute.getName())
|
||||
.replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()).replace("{reason}", reason));
|
||||
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 true;
|
||||
}
|
||||
}
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.CHANNEL_CANNOT_MUTE.toString().replace("{channel_color}", channel.getColor()).replace("{channel_name}", channel.getName()));
|
||||
return true;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[0]));
|
||||
return true;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
return Collections.emptyList();
|
||||
}
|
||||
@Override
|
||||
public List<String> tabComplete(CommandSender sender, String label, String[] args) {
|
||||
List<String> completions = new ArrayList<>();
|
||||
if (args.length == 1) {
|
||||
StringUtil.copyPartialMatches(args[0], ChatChannel.getChatChannels().stream().map(ChatChannel::getName).collect(Collectors.toList()), completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
}
|
||||
if (args.length == 2) {
|
||||
if (ChatChannel.isChannel(args[0])) {
|
||||
ChatChannel chatChannelObj = ChatChannel.getChannel(args[0]);
|
||||
if (chatChannelObj.getBungee()) {
|
||||
StringUtil.copyPartialMatches(args[1], MineverseChatAPI.getNetworkPlayerNames(), completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
}
|
||||
StringUtil.copyPartialMatches(args[1], MineverseChatAPI.getOnlineMineverseChatPlayers().stream().filter(mcp -> !mcp.isMuted(chatChannelObj.getName()))
|
||||
.map(MineverseChatPlayer::getName).collect(Collectors.toList()), completions);
|
||||
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);
|
||||
MineverseChat.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);
|
||||
MineverseChat.sendPluginMessage(byteOutStream);
|
||||
out.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,86 +1,82 @@
|
||||
package mineverse.Aust1n46.chat.command.mute;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
|
||||
public class Muteall implements VentureCommand {
|
||||
public class Muteall extends Command {
|
||||
public Muteall() {
|
||||
super("muteall");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.mute")) {
|
||||
if (args.length < 1) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/muteall")
|
||||
.replace("{args}", "[player] {reason}"));
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
|
||||
if (player == null || (!player.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
|
||||
.replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
String reason = "";
|
||||
if (args.length > 1) {
|
||||
StringBuilder reasonBuilder = new StringBuilder();
|
||||
for (int a = 1; a < args.length; a++) {
|
||||
reasonBuilder.append(args[a] + " ");
|
||||
}
|
||||
reason = Format.FormatStringAll(reasonBuilder.toString().trim());
|
||||
}
|
||||
if (reason.isEmpty()) {
|
||||
boolean bungee = false;
|
||||
for (ChatChannel channel : ChatChannel.getChatChannels()) {
|
||||
if (channel.isMutable()) {
|
||||
player.addMute(channel.getName());
|
||||
if (channel.getBungee()) {
|
||||
bungee = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (bungee) {
|
||||
MineverseChat.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 : ChatChannel.getChatChannels()) {
|
||||
if (channel.isMutable()) {
|
||||
player.addMute(channel.getName(), reason);
|
||||
if (channel.getBungee()) {
|
||||
bungee = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (bungee) {
|
||||
MineverseChat.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;
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.mute")) {
|
||||
if (args.length < 1) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/muteall").replace("{args}", "[player] {reason}"));
|
||||
return true;
|
||||
}
|
||||
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
|
||||
if (player == null || (!player.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
|
||||
return true;
|
||||
}
|
||||
String reason = "";
|
||||
if (args.length > 1) {
|
||||
StringBuilder reasonBuilder = new StringBuilder();
|
||||
for (int a = 1; a < args.length; a++) {
|
||||
reasonBuilder.append(args[a] + " ");
|
||||
}
|
||||
reason = Format.FormatStringAll(reasonBuilder.toString().trim());
|
||||
}
|
||||
if (reason.isEmpty()) {
|
||||
boolean bungee = false;
|
||||
for (ChatChannel channel : ChatChannel.getChatChannels()) {
|
||||
if (channel.isMutable()) {
|
||||
player.addMute(channel.getName());
|
||||
if (channel.getBungee()) {
|
||||
bungee = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (bungee) {
|
||||
MineverseChat.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 true;
|
||||
} else {
|
||||
boolean bungee = false;
|
||||
for (ChatChannel channel : ChatChannel.getChatChannels()) {
|
||||
if (channel.isMutable()) {
|
||||
player.addMute(channel.getName(), reason);
|
||||
if (channel.getBungee()) {
|
||||
bungee = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (bungee) {
|
||||
MineverseChat.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 true;
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -16,98 +16,97 @@ import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
|
||||
public class Unmute implements VentureCommand {
|
||||
public class Unmute extends Command {
|
||||
public Unmute() {
|
||||
super("unmute");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
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 (ChatChannel.isChannel(args[0])) {
|
||||
ChatChannel channel = ChatChannel.getChannel(args[0]);
|
||||
if (channel.getBungee()) {
|
||||
sendBungeeCordUnmute(sender, args[1], channel);
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[1]);
|
||||
if (player == null || (!player.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[1]));
|
||||
return;
|
||||
}
|
||||
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;
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.mute")) {
|
||||
if (args.length < 2) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/unmute").replace("{args}", "[channel] [player]"));
|
||||
return true;
|
||||
}
|
||||
if (ChatChannel.isChannel(args[0])) {
|
||||
ChatChannel channel = ChatChannel.getChannel(args[0]);
|
||||
if (channel.getBungee()) {
|
||||
sendBungeeCordUnmute(sender, args[1], channel);
|
||||
return true;
|
||||
}
|
||||
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[1]);
|
||||
if (player == null || (!player.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[1]));
|
||||
return true;
|
||||
}
|
||||
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 true;
|
||||
}
|
||||
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 true;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString().replace("{args}", args[0]));
|
||||
return true;
|
||||
} else {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@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], ChatChannel.getChatChannels().stream().map(ChatChannel::getName).collect(Collectors.toList()), completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
}
|
||||
if (args.length == 2) {
|
||||
if (ChatChannel.isChannel(args[0])) {
|
||||
ChatChannel chatChannelObj = ChatChannel.getChannel(args[0]);
|
||||
if (chatChannelObj.getBungee()) {
|
||||
StringUtil.copyPartialMatches(args[1], MineverseChatAPI.getNetworkPlayerNames(), completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
}
|
||||
StringUtil.copyPartialMatches(args[1], MineverseChatAPI.getOnlineMineverseChatPlayers().stream().filter(mcp -> mcp.isMuted(chatChannelObj.getName())).map(MineverseChatPlayer::getName).collect(Collectors.toList()), completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
}
|
||||
}
|
||||
return Collections.emptyList();
|
||||
}
|
||||
@Override
|
||||
public List<String> tabComplete(CommandSender sender, String label, String[] args) {
|
||||
List<String> completions = new ArrayList<>();
|
||||
if (args.length == 1) {
|
||||
StringUtil.copyPartialMatches(args[0], ChatChannel.getChatChannels().stream().map(ChatChannel::getName).collect(Collectors.toList()), completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
}
|
||||
if (args.length == 2) {
|
||||
if (ChatChannel.isChannel(args[0])) {
|
||||
ChatChannel chatChannelObj = ChatChannel.getChannel(args[0]);
|
||||
if (chatChannelObj.getBungee()) {
|
||||
StringUtil.copyPartialMatches(args[1], MineverseChatAPI.getNetworkPlayerNames(), completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
}
|
||||
StringUtil.copyPartialMatches(args[1], MineverseChatAPI.getOnlineMineverseChatPlayers().stream().filter(mcp -> mcp.isMuted(chatChannelObj.getName()))
|
||||
.map(MineverseChatPlayer::getName).collect(Collectors.toList()), completions);
|
||||
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());
|
||||
MineverseChat.sendPluginMessage(byteOutStream);
|
||||
out.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
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());
|
||||
MineverseChat.sendPluginMessage(byteOutStream);
|
||||
out.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,51 +1,50 @@
|
||||
package mineverse.Aust1n46.chat.command.mute;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
|
||||
public class Unmuteall implements VentureCommand {
|
||||
public class Unmuteall extends Command {
|
||||
public Unmuteall() {
|
||||
super("unmuteall");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.mute")) {
|
||||
if (args.length < 1) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/unmuteall")
|
||||
.replace("{args}", "[player]"));
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
|
||||
if (player == null || (!player.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
|
||||
.replace("{args}", args[0]));
|
||||
return;
|
||||
}
|
||||
boolean bungee = false;
|
||||
for (ChatChannel channel : ChatChannel.getChatChannels()) {
|
||||
player.removeMute(channel.getName());
|
||||
if (channel.getBungee()) {
|
||||
bungee = true;
|
||||
}
|
||||
}
|
||||
if (bungee) {
|
||||
MineverseChat.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;
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.mute")) {
|
||||
if (args.length < 1) {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString().replace("{command}", "/unmuteall").replace("{args}", "[player]"));
|
||||
return true;
|
||||
}
|
||||
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
|
||||
if (player == null || (!player.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[0]));
|
||||
return true;
|
||||
}
|
||||
boolean bungee = false;
|
||||
for (ChatChannel channel : ChatChannel.getChatChannels()) {
|
||||
player.removeMute(channel.getName());
|
||||
if (channel.getBungee()) {
|
||||
bungee = true;
|
||||
}
|
||||
}
|
||||
if (bungee) {
|
||||
MineverseChat.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 true;
|
||||
} else {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
@ -2,23 +2,9 @@ package mineverse.Aust1n46.chat.listeners;
|
||||
|
||||
import java.io.FileNotFoundException;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.alias.Alias;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
import mineverse.Aust1n46.chat.database.Database;
|
||||
import mineverse.Aust1n46.chat.gui.GuiSlot;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
import mineverse.Aust1n46.chat.versions.VersionHandler;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
@ -31,33 +17,39 @@ import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.SkullMeta;
|
||||
|
||||
import me.clip.placeholderapi.PlaceholderAPI;
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.alias.Alias;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
import mineverse.Aust1n46.chat.database.Database;
|
||||
import mineverse.Aust1n46.chat.gui.GuiSlot;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
import mineverse.Aust1n46.chat.versions.VersionHandler;
|
||||
|
||||
//This class listens for commands (Any chat that begins with a /) to use in the command spy and
|
||||
//in the custom commands such as aliases.
|
||||
public class CommandListener implements CommandExecutor, Listener {
|
||||
public class CommandListener implements Listener {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) throws FileNotFoundException {
|
||||
if(event.getPlayer() == null) {
|
||||
if (event.getPlayer() == null) {
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - Event.getPlayer() returned null in PlayerCommandPreprocessEvent"));
|
||||
return;
|
||||
}
|
||||
ConfigurationSection cs = plugin.getConfig().getConfigurationSection("commandspy");
|
||||
Boolean wec = cs.getBoolean("worldeditcommands", true);
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer(event.getPlayer());
|
||||
if(!mcp.getPlayer().hasPermission("venturechat.commandspy.override")) {
|
||||
for(MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
if(p.hasCommandSpy()) {
|
||||
if(wec) {
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.commandspy.override")) {
|
||||
for (MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
if (p.hasCommandSpy()) {
|
||||
if (wec) {
|
||||
p.getPlayer().sendMessage(Format.FormatStringAll(cs.getString("format").replace("{player}", mcp.getName()).replace("{command}", event.getMessage())));
|
||||
}
|
||||
else {
|
||||
if(!(event.getMessage().toLowerCase().startsWith("//"))) {
|
||||
} else {
|
||||
if (!(event.getMessage().toLowerCase().startsWith("//"))) {
|
||||
p.getPlayer().sendMessage(Format.FormatStringAll(cs.getString("format").replace("{player}", mcp.getName()).replace("{command}", event.getMessage())));
|
||||
}
|
||||
else {
|
||||
if(!(event.getMessage().toLowerCase().startsWith("//"))) {
|
||||
} else {
|
||||
if (!(event.getMessage().toLowerCase().startsWith("//"))) {
|
||||
p.getPlayer().sendMessage(ChatColor.GOLD + mcp.getName() + ": " + event.getMessage());
|
||||
}
|
||||
}
|
||||
@ -67,170 +59,87 @@ public class CommandListener implements CommandExecutor, Listener {
|
||||
}
|
||||
|
||||
String[] blocked = event.getMessage().split(" ");
|
||||
if(mcp.getBlockedCommands().contains(blocked[0])) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.BLOCKED_COMMAND.toString()
|
||||
.replace("{command}", event.getMessage()));
|
||||
if (mcp.getBlockedCommands().contains(blocked[0])) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.BLOCKED_COMMAND.toString().replace("{command}", event.getMessage()));
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
|
||||
String message = event.getMessage();
|
||||
|
||||
if(Database.isEnabled()) {
|
||||
if (Database.isEnabled()) {
|
||||
Database.writeVentureChat(mcp.getUUID().toString(), mcp.getName(), "Local", "Command_Component", event.getMessage().replace("'", "''"), "Command");
|
||||
}
|
||||
|
||||
for(Alias a : Alias.getAliases()) {
|
||||
if(message.toLowerCase().substring(1).split(" ")[0].equals(a.getName().toLowerCase())) {
|
||||
for(String s : a.getComponents()) {
|
||||
if(!mcp.getPlayer().hasPermission(a.getPermission()) && a.hasPermission()) {
|
||||
for (Alias a : Alias.getAliases()) {
|
||||
if (message.toLowerCase().substring(1).split(" ")[0].equals(a.getName().toLowerCase())) {
|
||||
for (String s : a.getComponents()) {
|
||||
if (!mcp.getPlayer().hasPermission(a.getPermission()) && a.hasPermission()) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this alias.");
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
int num = 1;
|
||||
if(message.length() < a.getName().length() + 2 || a.getArguments() == 0) num = 0;
|
||||
if (message.length() < a.getName().length() + 2 || a.getArguments() == 0)
|
||||
num = 0;
|
||||
int arg = 0;
|
||||
if(message.substring(a.getName().length() + 1 + num).length() == 0) arg = 1;
|
||||
if (message.substring(a.getName().length() + 1 + num).length() == 0)
|
||||
arg = 1;
|
||||
String[] args = message.substring(a.getName().length() + 1 + num).split(" ");
|
||||
String send = "";
|
||||
if(args.length - arg < a.getArguments()) {
|
||||
if (args.length - arg < a.getArguments()) {
|
||||
String keyword = "arguments.";
|
||||
if(a.getArguments() == 1) keyword = "argument.";
|
||||
if (a.getArguments() == 1)
|
||||
keyword = "argument.";
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "Invalid arguments for this alias, enter at least " + a.getArguments() + " " + keyword);
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
for(int b = 0; b < args.length; b++) {
|
||||
for (int b = 0; b < args.length; b++) {
|
||||
send += " " + args[b];
|
||||
}
|
||||
if(send.length() > 0) send = send.substring(1);
|
||||
if (send.length() > 0)
|
||||
send = send.substring(1);
|
||||
s = Format.FormatStringAll(s);
|
||||
if(mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
|
||||
send = Format.FormatStringLegacyColor(send);
|
||||
}
|
||||
if(mcp.getPlayer().hasPermission("venturechat.color")) {
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color")) {
|
||||
send = Format.FormatStringColor(send);
|
||||
}
|
||||
if(mcp.getPlayer().hasPermission("venturechat.format")) {
|
||||
if (mcp.getPlayer().hasPermission("venturechat.format")) {
|
||||
send = Format.FormatString(send);
|
||||
}
|
||||
if(s.startsWith("Command:")) {
|
||||
if (s.startsWith("Command:")) {
|
||||
mcp.getPlayer().chat(s.substring(9).replace("$", send));
|
||||
event.setCancelled(true);
|
||||
}
|
||||
if(s.startsWith("Message:")) {
|
||||
if (s.startsWith("Message:")) {
|
||||
mcp.getPlayer().sendMessage(s.substring(9).replace("$", send));
|
||||
event.setCancelled(true);
|
||||
}
|
||||
if(s.startsWith("Broadcast:")) {
|
||||
if (s.startsWith("Broadcast:")) {
|
||||
Format.broadcastToServer(s.substring(11).replace("$", send));
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!ChatChannel.areAliasesRegisteredAsCommands()) {
|
||||
for(ChatChannel channel : ChatChannel.getChatChannels()) {
|
||||
if(!channel.hasPermission() || mcp.getPlayer().hasPermission(channel.getPermission())) {
|
||||
if(message.equals("/" + channel.getAlias())) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.SET_CHANNEL.toString()
|
||||
.replace("{channel_color}", channel.getColor() + "")
|
||||
.replace("{channel_name}", channel.getName()));
|
||||
if(mcp.hasConversation()) {
|
||||
for(MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
if(p.isSpy()) {
|
||||
p.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION_SPY.toString()
|
||||
.replace("{player_sender}", mcp.getName())
|
||||
.replace("{player_receiver}", MineverseChatAPI.getMineverseChatPlayer(mcp.getConversation()).getName()));
|
||||
}
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION.toString()
|
||||
.replace("{player_receiver}", MineverseChatAPI.getMineverseChatPlayer(mcp.getConversation()).getName()));
|
||||
mcp.setConversation(null);
|
||||
}
|
||||
mcp.addListening(channel.getName());
|
||||
mcp.setCurrentChannel(channel);
|
||||
if(channel.getBungee()) {
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
}
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
if(message.toLowerCase().startsWith("/" + channel.getAlias() + " ")) {
|
||||
message = message.substring(channel.getAlias().length() + 1);
|
||||
mcp.addListening(channel.getName());
|
||||
if(channel.getBungee()) {
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
}
|
||||
mcp.setQuickChannel(channel);
|
||||
/*String format = "";
|
||||
if(plugin.getConfig().getConfigurationSection("channels." + channel.getName()).getString("format").equalsIgnoreCase("Default")) {
|
||||
format = FormatTags.ChatFormat(ChatColor.valueOf(channel.getColor().toUpperCase()) + "[" + channel.getName() + "] {prefix}{name}" + ChatColor.valueOf(channel.getColor().toUpperCase()) + ":" + ChatColor.valueOf(channel.getChatColor().toUpperCase()), mcp.getPlayer(), plugin, cc, channel, plugin.getConfig().getBoolean("jsonFormat"));
|
||||
}
|
||||
else {
|
||||
format = FormatTags.ChatFormat(plugin.getConfig().getConfigurationSection("channels." + channel.getName()).getString("format"), mcp.getPlayer(), plugin, cc, channel, plugin.getConfig().getBoolean("jsonFormat"));
|
||||
if(plugin.getConfig().getBoolean("formatcleaner", false)) {
|
||||
format = format.replace("[]", " ");
|
||||
format = format.replace(" ", " ").replace(" ", " ").replace(" ", " ");
|
||||
}
|
||||
}*/
|
||||
mcp.setQuickChat(true);
|
||||
mcp.getPlayer().chat(message);
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//old 1.8 command map
|
||||
// old 1.8 command map
|
||||
@EventHandler
|
||||
public void onServerCommand(ServerCommandEvent event) {
|
||||
if (Database.isEnabled()) {
|
||||
Database.writeVentureChat("N/A", "Console", "Local", "Command_Component", event.getCommand().replace("'", "''") , "Command");
|
||||
Database.writeVentureChat("N/A", "Console", "Local", "Command_Component", event.getCommand().replace("'", "''"), "Command");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Unused
|
||||
*/
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
if(!(sender instanceof Player)) {
|
||||
plugin.getServer().getConsoleSender().sendMessage(ChatColor.RED + "This command must be run by a player.");
|
||||
return true;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
for(ChatChannel channel : ChatChannel.getChatChannels()) {
|
||||
if(command.getName().toLowerCase().equals(channel.getAlias())) {
|
||||
if(args.length == 0) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "Invalid command: /" + channel.getAlias() + " message");
|
||||
return true;
|
||||
}
|
||||
mcp.setQuickChat(true);
|
||||
mcp.setQuickChannel(channel);
|
||||
mcp.addListening(channel.getName());
|
||||
if(channel.getBungee()) {
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
}
|
||||
String msg = "";
|
||||
for(int x = 0; x < args.length; x++) {
|
||||
if(args[x].length() > 0) msg += " " + args[x];
|
||||
}
|
||||
mcp.getPlayer().chat(msg);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@EventHandler(priority = EventPriority.LOW)
|
||||
public void InventoryClick(InventoryClickEvent e) {
|
||||
ItemStack item = e.getCurrentItem();
|
||||
if(item == null || !e.getView().getTitle().contains("VentureChat")) {
|
||||
if (item == null || !e.getView().getTitle().contains("VentureChat")) {
|
||||
return;
|
||||
}
|
||||
e.setCancelled(true);
|
||||
@ -241,26 +150,24 @@ public class CommandListener implements CommandExecutor, Listener {
|
||||
SkullMeta skullMeta = (SkullMeta) skull.getItemMeta();
|
||||
ChatChannel channel = ChatChannel.getChannel(ChatColor.stripColor(skullMeta.getLore().get(0)).replace("Channel: ", ""));
|
||||
int hash = Integer.parseInt(ChatColor.stripColor(skullMeta.getLore().get(1).replace("Hash: ", "")));
|
||||
if(VersionHandler.is1_7()) {
|
||||
if(item.getType() == Material.BEDROCK) {
|
||||
if (VersionHandler.is1_7()) {
|
||||
if (item.getType() == Material.BEDROCK) {
|
||||
mcp.getPlayer().closeInventory();
|
||||
}
|
||||
} else {
|
||||
if (item.getType() == Material.BARRIER) {
|
||||
mcp.getPlayer().closeInventory();
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(item.getType() == Material.BARRIER) {
|
||||
mcp.getPlayer().closeInventory();
|
||||
}
|
||||
}
|
||||
for(GuiSlot g : GuiSlot.getGuiSlots()) {
|
||||
if(g.getIcon() == item.getType() && g.getDurability() == item.getDurability() && g.getSlot() == e.getSlot()) {
|
||||
for (GuiSlot g : GuiSlot.getGuiSlots()) {
|
||||
if (g.getIcon() == item.getType() && g.getDurability() == item.getDurability() && g.getSlot() == e.getSlot()) {
|
||||
String command = g.getCommand().replace("{channel}", channel.getName()).replace("{hash}", hash + "");
|
||||
if(target != null) {
|
||||
if (target != null) {
|
||||
command = command.replace("{player_name}", target.getName());
|
||||
if(target.isOnline()) {
|
||||
if (target.isOnline()) {
|
||||
command = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(target.getPlayer(), command));
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
command = command.replace("{player_name}", "Discord_Message");
|
||||
}
|
||||
mcp.getPlayer().chat(command);
|
||||
|
Loading…
x
Reference in New Issue
Block a user