mirror of
https://github.com/Aust1n46/VentureChat.git
synced 2025-05-22 18:09:06 +00:00
Refactor file structure
Implement DI framework and reduce static abuse Improve testability Remove deprecated features
This commit is contained in:
parent
30531eb752
commit
fb7fb52ce5
3
.settings/.gitignore
vendored
3
.settings/.gitignore
vendored
@ -1,3 +0,0 @@
|
||||
/org.eclipse.jdt.core.prefs
|
||||
/org.eclipse.core.resources.prefs
|
||||
/org.eclipse.m2e.core.prefs
|
5
.settings/org.eclipse.jdt.core.prefs
Normal file
5
.settings/org.eclipse.jdt.core.prefs
Normal file
@ -0,0 +1,5 @@
|
||||
#Sun Nov 28 17:16:27 CST 2021
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
|
||||
org.eclipse.jdt.core.compiler.source=1.8
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.compliance=1.8
|
29
pom.xml
29
pom.xml
@ -5,7 +5,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>mineverse.Aust1n46.chat</groupId>
|
||||
<artifactId>VentureChat</artifactId>
|
||||
<version>3.2.2</version>
|
||||
<version>4.0.0</version>
|
||||
<url>https://bitbucket.org/Aust1n46/venturechat/src/master</url>
|
||||
<scm>
|
||||
<url>https://bitbucket.org/Aust1n46/venturechat/src/master</url>
|
||||
@ -67,11 +67,21 @@
|
||||
<pattern>net.md_5.bungee.config</pattern>
|
||||
<shadedPattern>shaded.net.md_5.bungee.config</shadedPattern>
|
||||
</relocation>
|
||||
<relocation>
|
||||
<pattern>com.google.inject</pattern>
|
||||
<shadedPattern>shaded.com.google.inject</shadedPattern>
|
||||
</relocation>
|
||||
<relocation>
|
||||
<pattern>org.aopalliance</pattern>
|
||||
<shadedPattern>shaded.org.aopalliance</shadedPattern>
|
||||
</relocation>
|
||||
</relocations>
|
||||
<artifactSet>
|
||||
<includes>
|
||||
<include>com.zaxxer:HikariCP</include>
|
||||
<include>net.md-5:bungeecord-config</include>
|
||||
<include>com.google.inject:guice</include>
|
||||
<include>aopalliance:aopalliance</include>
|
||||
</includes>
|
||||
</artifactSet>
|
||||
</configuration>
|
||||
@ -119,6 +129,10 @@
|
||||
<id>papermc</id>
|
||||
<url>https://papermc.io/repo/repository/maven-public/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>google-guice</id>
|
||||
<url>https://mvnrepository.com/artifact/com.google.inject/guice</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
@ -195,6 +209,13 @@
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<!-- https://mvnrepository.com/artifact/com.google.inject/guice -->
|
||||
<dependency>
|
||||
<groupId>com.google.inject</groupId>
|
||||
<artifactId>guice</artifactId>
|
||||
<scope>compile</scope>
|
||||
<version>5.0.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.velocitypowered</groupId>
|
||||
<artifactId>velocity-api</artifactId>
|
||||
@ -221,6 +242,12 @@
|
||||
<version>1.13-R0.1-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<version>1.18.22</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
|
@ -1,178 +0,0 @@
|
||||
package mineverse.Aust1n46.chat.api;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
|
||||
/**
|
||||
* API class for looking up wrapped {@link MineverseChatPlayer} objects from
|
||||
* {@link Player}, {@link UUID}, or {@link String} user names.
|
||||
*
|
||||
* @author Aust1n46
|
||||
*/
|
||||
public final class MineverseChatAPI {
|
||||
private static HashMap<UUID, MineverseChatPlayer> playerMap = new HashMap<UUID, MineverseChatPlayer>();
|
||||
private static HashMap<String, UUID> namesMap = new HashMap<String, UUID>();
|
||||
private static HashMap<UUID, MineverseChatPlayer> onlinePlayerMap = new HashMap<UUID, MineverseChatPlayer>();
|
||||
private static List<String> networkPlayerNames = new ArrayList<String>();
|
||||
|
||||
private static HashMap<UUID, SynchronizedMineverseChatPlayer> proxyPlayerMap = new HashMap<UUID, SynchronizedMineverseChatPlayer>();
|
||||
|
||||
public static List<String> getNetworkPlayerNames() {
|
||||
return networkPlayerNames;
|
||||
}
|
||||
|
||||
public static void clearNetworkPlayerNames() {
|
||||
networkPlayerNames.clear();
|
||||
}
|
||||
|
||||
public static void addNetworkPlayerName(String name) {
|
||||
networkPlayerNames.add(name);
|
||||
}
|
||||
|
||||
public static void addSynchronizedMineverseChatPlayerToMap(SynchronizedMineverseChatPlayer smcp) {
|
||||
proxyPlayerMap.put(smcp.getUUID(), smcp);
|
||||
}
|
||||
|
||||
// @Deprecated
|
||||
// public static void clearBungeePlayerMap() {
|
||||
// clearProxyPlayerMap();
|
||||
// }
|
||||
|
||||
public static void clearProxyPlayerMap() {
|
||||
proxyPlayerMap.clear();
|
||||
}
|
||||
|
||||
public static Collection<SynchronizedMineverseChatPlayer> getSynchronizedMineverseChatPlayers() {
|
||||
return proxyPlayerMap.values();
|
||||
}
|
||||
|
||||
public static void addNameToMap(MineverseChatPlayer mcp) {
|
||||
namesMap.put(mcp.getName(), mcp.getUUID());
|
||||
}
|
||||
|
||||
public static void removeNameFromMap(String name) {
|
||||
namesMap.remove(name);
|
||||
}
|
||||
|
||||
public static void clearNameMap() {
|
||||
namesMap.clear();
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public static void addMineverseChatPlayerToMap(MineverseChatPlayer mcp) {
|
||||
playerMap.put(mcp.getUUID(), mcp);
|
||||
MineverseChat.players.add(mcp);
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public static void clearMineverseChatPlayerMap() {
|
||||
playerMap.clear();
|
||||
MineverseChat.players.clear();
|
||||
}
|
||||
|
||||
public static Collection<MineverseChatPlayer> getMineverseChatPlayers() {
|
||||
return playerMap.values();
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public static void addMineverseChatOnlinePlayerToMap(MineverseChatPlayer mcp) {
|
||||
onlinePlayerMap.put(mcp.getUUID(), mcp);
|
||||
MineverseChat.onlinePlayers.add(mcp);
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public static void removeMineverseChatOnlinePlayerToMap(MineverseChatPlayer mcp) {
|
||||
onlinePlayerMap.remove(mcp.getUUID());
|
||||
MineverseChat.onlinePlayers.remove(mcp);
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public static void clearOnlineMineverseChatPlayerMap() {
|
||||
onlinePlayerMap.clear();
|
||||
MineverseChat.onlinePlayers.clear();
|
||||
}
|
||||
|
||||
public static Collection<MineverseChatPlayer> getOnlineMineverseChatPlayers() {
|
||||
return onlinePlayerMap.values();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a MineverseChatPlayer wrapper from a Bukkit Player instance.
|
||||
*
|
||||
* @param player {@link Player} object.
|
||||
* @return {@link MineverseChatPlayer}
|
||||
*/
|
||||
public static MineverseChatPlayer getMineverseChatPlayer(Player player) {
|
||||
return getMineverseChatPlayer(player.getUniqueId());
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a MineverseChatPlayer wrapper from a UUID.
|
||||
*
|
||||
* @param uuid {@link UUID}.
|
||||
* @return {@link MineverseChatPlayer}
|
||||
*/
|
||||
public static MineverseChatPlayer getMineverseChatPlayer(UUID uuid) {
|
||||
return playerMap.get(uuid);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a MineverseChatPlayer wrapper from a user name.
|
||||
*
|
||||
* @param name {@link String}.
|
||||
* @return {@link MineverseChatPlayer}
|
||||
*/
|
||||
public static MineverseChatPlayer getMineverseChatPlayer(String name) {
|
||||
return getMineverseChatPlayer(namesMap.get(name));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a MineverseChatPlayer wrapper from a Bukkit Player instance. Only checks
|
||||
* current online players. Much more efficient!
|
||||
*
|
||||
* @param player {@link Player} object.
|
||||
* @return {@link MineverseChatPlayer}
|
||||
*/
|
||||
public static MineverseChatPlayer getOnlineMineverseChatPlayer(Player player) {
|
||||
return getOnlineMineverseChatPlayer(player.getUniqueId());
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a MineverseChatPlayer wrapper from a UUID. Only checks current online
|
||||
* players. Much more efficient!
|
||||
*
|
||||
* @param uuid {@link UUID}.
|
||||
* @return {@link MineverseChatPlayer}
|
||||
*/
|
||||
public static MineverseChatPlayer getOnlineMineverseChatPlayer(UUID uuid) {
|
||||
return onlinePlayerMap.get(uuid);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a MineverseChatPlayer wrapper from a user name. Only checks current
|
||||
* online players. Much more efficient!
|
||||
*
|
||||
* @param name {@link String}.
|
||||
* @return {@link MineverseChatPlayer}
|
||||
*/
|
||||
public static MineverseChatPlayer getOnlineMineverseChatPlayer(String name) {
|
||||
return getOnlineMineverseChatPlayer(namesMap.get(name));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a SynchronizedMineverseChatPlayer from a UUID.
|
||||
*
|
||||
* @param uuid {@link UUID}
|
||||
* @return {@link SynchronizedMineverseChatPlayer}
|
||||
*/
|
||||
public static SynchronizedMineverseChatPlayer getSynchronizedMineverseChatPlayer(UUID uuid) {
|
||||
return proxyPlayerMap.get(uuid);
|
||||
}
|
||||
}
|
@ -1,12 +1,12 @@
|
||||
package mineverse.Aust1n46.chat.api.events;
|
||||
|
||||
import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Cancellable;
|
||||
import org.bukkit.event.Event;
|
||||
import org.bukkit.event.HandlerList;
|
||||
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
|
||||
/**
|
||||
* Event called when a player attempts to join a valid channel
|
||||
*/
|
||||
|
@ -1,12 +1,12 @@
|
||||
package mineverse.Aust1n46.chat.api.events;
|
||||
|
||||
import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Cancellable;
|
||||
import org.bukkit.event.Event;
|
||||
import org.bukkit.event.HandlerList;
|
||||
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
|
||||
//This class is a custom event that is part of the plugins API. It is called when a player executes the mute command.
|
||||
public class MutePlayerEvent extends Event implements Cancellable { //unimplemented
|
||||
private static final HandlerList handlers = new HandlerList();
|
||||
|
@ -6,9 +6,9 @@ import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Event;
|
||||
import org.bukkit.event.HandlerList;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
import venture.Aust1n46.chat.VentureChat;
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
|
||||
/**
|
||||
* Event called when a message has been sent to a channel.
|
||||
@ -18,9 +18,8 @@ import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
*/
|
||||
public class VentureChatEvent extends Event {
|
||||
private static final HandlerList handlers = new HandlerList();
|
||||
private final MineverseChatPlayer mcp;
|
||||
private final VentureChatPlayer mcp;
|
||||
private final String username;
|
||||
private final String nickname;
|
||||
private final String playerPrimaryGroup;
|
||||
private final ChatChannel channel;
|
||||
private final Set<Player> recipients;
|
||||
@ -31,11 +30,10 @@ public class VentureChatEvent extends Event {
|
||||
private final int hash;
|
||||
private final boolean bungee;
|
||||
|
||||
public VentureChatEvent(MineverseChatPlayer mcp, String username, String nickname, String playerPrimaryGroup, ChatChannel channel, Set<Player> recipients, int recipientCount, String format, String chat, String globalJSON, int hash, boolean bungee) {
|
||||
super(MineverseChat.ASYNC);
|
||||
public VentureChatEvent(VentureChatPlayer mcp, String username, String playerPrimaryGroup, ChatChannel channel, Set<Player> recipients, int recipientCount, String format, String chat, String globalJSON, int hash, boolean bungee) {
|
||||
super(VentureChat.ASYNC);
|
||||
this.mcp = mcp;
|
||||
this.username = username;
|
||||
this.nickname = nickname;
|
||||
this.playerPrimaryGroup = playerPrimaryGroup;
|
||||
this.channel = channel;
|
||||
this.recipients = recipients;
|
||||
@ -47,7 +45,7 @@ public class VentureChatEvent extends Event {
|
||||
this.bungee = bungee;
|
||||
}
|
||||
|
||||
public MineverseChatPlayer getMineverseChatPlayer() {
|
||||
public VentureChatPlayer getMineverseChatPlayer() {
|
||||
return this.mcp;
|
||||
}
|
||||
|
||||
@ -55,10 +53,6 @@ public class VentureChatEvent extends Event {
|
||||
return this.username;
|
||||
}
|
||||
|
||||
public String getNickname() {
|
||||
return this.nickname;
|
||||
}
|
||||
|
||||
public String getPlayerPrimaryGroup() {
|
||||
return this.playerPrimaryGroup;
|
||||
}
|
||||
|
@ -1,17 +0,0 @@
|
||||
package mineverse.Aust1n46.chat.channel;
|
||||
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
|
||||
public class ChatChannelInfo {
|
||||
// DiscordSRV backwards compatibility
|
||||
@Deprecated
|
||||
public String FilterChat(String msg) {
|
||||
return Format.FilterChat(msg);
|
||||
}
|
||||
|
||||
// DiscordSRV backwards compatibility
|
||||
@Deprecated
|
||||
public ChatChannel getChannelInfo(String channel) {
|
||||
return ChatChannel.getChannel(channel);
|
||||
}
|
||||
}
|
@ -1,140 +0,0 @@
|
||||
package mineverse.Aust1n46.chat.command;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.command.TabExecutor;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.command.chat.Broadcast;
|
||||
import mineverse.Aust1n46.chat.command.chat.BungeeToggle;
|
||||
import mineverse.Aust1n46.chat.command.chat.Channel;
|
||||
import mineverse.Aust1n46.chat.command.chat.Channelinfo;
|
||||
import mineverse.Aust1n46.chat.command.chat.Chatinfo;
|
||||
import mineverse.Aust1n46.chat.command.chat.Chatreload;
|
||||
import mineverse.Aust1n46.chat.command.chat.Chlist;
|
||||
import mineverse.Aust1n46.chat.command.chat.Chwho;
|
||||
import mineverse.Aust1n46.chat.command.chat.Clearchat;
|
||||
import mineverse.Aust1n46.chat.command.chat.Commandblock;
|
||||
import mineverse.Aust1n46.chat.command.chat.Commandspy;
|
||||
import mineverse.Aust1n46.chat.command.chat.Config;
|
||||
import mineverse.Aust1n46.chat.command.chat.Edit;
|
||||
import mineverse.Aust1n46.chat.command.chat.Filter;
|
||||
import mineverse.Aust1n46.chat.command.chat.Force;
|
||||
import mineverse.Aust1n46.chat.command.chat.Forceall;
|
||||
import mineverse.Aust1n46.chat.command.chat.Kickchannel;
|
||||
import mineverse.Aust1n46.chat.command.chat.Kickchannelall;
|
||||
import mineverse.Aust1n46.chat.command.chat.Leave;
|
||||
import mineverse.Aust1n46.chat.command.chat.Listen;
|
||||
import mineverse.Aust1n46.chat.command.chat.Me;
|
||||
import mineverse.Aust1n46.chat.command.chat.Party;
|
||||
import mineverse.Aust1n46.chat.command.chat.RangedSpy;
|
||||
import mineverse.Aust1n46.chat.command.chat.Removemessage;
|
||||
import mineverse.Aust1n46.chat.command.chat.Setchannel;
|
||||
import mineverse.Aust1n46.chat.command.chat.Setchannelall;
|
||||
import mineverse.Aust1n46.chat.command.chat.VentureChatGui;
|
||||
import mineverse.Aust1n46.chat.command.chat.Venturechat;
|
||||
import mineverse.Aust1n46.chat.command.message.IgnoreCommandExecutor;
|
||||
import mineverse.Aust1n46.chat.command.message.MessageCommandExecutor;
|
||||
import mineverse.Aust1n46.chat.command.message.MessageToggle;
|
||||
import mineverse.Aust1n46.chat.command.message.Notifications;
|
||||
import mineverse.Aust1n46.chat.command.message.Reply;
|
||||
import mineverse.Aust1n46.chat.command.message.Spy;
|
||||
import mineverse.Aust1n46.chat.command.mute.Mute;
|
||||
import mineverse.Aust1n46.chat.command.mute.Muteall;
|
||||
import mineverse.Aust1n46.chat.command.mute.Unmute;
|
||||
import mineverse.Aust1n46.chat.command.mute.Unmuteall;
|
||||
|
||||
/**
|
||||
* Class that initializes and executes the plugin's commands.
|
||||
*/
|
||||
public class VentureCommandExecutor implements TabExecutor {
|
||||
private static Map<String, VentureCommand> commands = new HashMap<String, VentureCommand>();
|
||||
private static MineverseChat plugin = MineverseChat.getInstance();
|
||||
private static VentureCommandExecutor commandExecutor;
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] parameters) {
|
||||
commands.get(command.getName()).execute(sender, command.getName(), 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);
|
||||
}
|
||||
|
||||
public static void initialize() {
|
||||
commandExecutor = new VentureCommandExecutor();
|
||||
commands.put("broadcast", new Broadcast());
|
||||
commands.put("channel", new Channel());
|
||||
commands.put("join", new Channel());
|
||||
commands.put("channelinfo", new Channelinfo());
|
||||
commands.put("chatinfo", new Chatinfo());
|
||||
commands.put("chatreload", new Chatreload());
|
||||
commands.put("chlist", new Chlist());
|
||||
commands.put("chwho", new Chwho());
|
||||
commands.put("clearchat", new Clearchat());
|
||||
commands.put("commandblock", new Commandblock());
|
||||
commands.put("commandspy", new Commandspy());
|
||||
commands.put("config", new Config());
|
||||
commands.put("edit", new Edit());
|
||||
commands.put("filter", new Filter());
|
||||
commands.put("force", new Force());
|
||||
commands.put("forceall", new Forceall());
|
||||
commands.put("kickchannel", new Kickchannel());
|
||||
commands.put("kickchannelall", new Kickchannelall());
|
||||
commands.put("leave", new Leave());
|
||||
commands.put("listen", new Listen());
|
||||
commands.put("me", new Me());
|
||||
commands.put("venturechat", new Venturechat());
|
||||
commands.put("notifications", new Notifications());
|
||||
commands.put("party", new Party());
|
||||
commands.put("rangedspy", new RangedSpy());
|
||||
commands.put("removemessage", new Removemessage());
|
||||
commands.put("setchannel", new Setchannel());
|
||||
commands.put("setchannelall", new Setchannelall());
|
||||
commands.put("spy", new Spy());
|
||||
commands.put("venturechatgui", new VentureChatGui());
|
||||
commands.put("messagetoggle", new MessageToggle());
|
||||
commands.put("bungeetoggle", new BungeeToggle());
|
||||
for(String command : commands.keySet()) {
|
||||
registerCommand(command, commandExecutor);
|
||||
}
|
||||
|
||||
plugin.getServer().getScheduler().runTaskLater(plugin, () -> {
|
||||
VentureCommand reply = new Reply();
|
||||
commands.put("reply", reply);
|
||||
commands.put("r", reply);
|
||||
registerCommand("reply", commandExecutor);
|
||||
registerCommand("r", commandExecutor);
|
||||
|
||||
commands.put("mute", new Mute());
|
||||
commands.put("muteall", new Muteall());
|
||||
commands.put("unmute", new Unmute());
|
||||
commands.put("unmuteall", new Unmuteall());
|
||||
registerCommand("mute", commandExecutor);
|
||||
registerCommand("muteall", commandExecutor);
|
||||
registerCommand("unmute", commandExecutor);
|
||||
registerCommand("unmuteall", commandExecutor);
|
||||
|
||||
MessageCommandExecutor messageCommandExecutor = new MessageCommandExecutor();
|
||||
registerCommand("message", messageCommandExecutor);
|
||||
registerCommand("msg", messageCommandExecutor);
|
||||
registerCommand("tell", messageCommandExecutor);
|
||||
registerCommand("whisper", messageCommandExecutor);
|
||||
|
||||
registerCommand("ignore", new IgnoreCommandExecutor());
|
||||
}, 0);
|
||||
}
|
||||
|
||||
private static void registerCommand(String command, CommandExecutor commandExecutor) {
|
||||
if(plugin.getCommand(command) != null) {
|
||||
plugin.getCommand(command).setExecutor(commandExecutor);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,78 +0,0 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
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 {
|
||||
|
||||
@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;
|
||||
}
|
||||
|
||||
@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,60 +0,0 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
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 {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if(sender.hasPermission("venturechat.reload")) {
|
||||
PlayerData.savePlayerData();
|
||||
MineverseChatAPI.clearMineverseChatPlayerMap();
|
||||
MineverseChatAPI.clearNameMap();
|
||||
MineverseChatAPI.clearOnlineMineverseChatPlayerMap();
|
||||
|
||||
plugin.reloadConfig();
|
||||
MineverseChat.initializeConfigReaders();
|
||||
|
||||
PlayerData.loadLegacyPlayerData();
|
||||
PlayerData.loadPlayerData();
|
||||
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()));
|
||||
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();
|
||||
mcp = new MineverseChatPlayer(uuid, name);
|
||||
}
|
||||
mcp.setOnline(true);
|
||||
mcp.setHasPlayed(false);
|
||||
mcp.setJsonFormat();
|
||||
MineverseChatAPI.addMineverseChatOnlinePlayerToMap(mcp);
|
||||
MineverseChatAPI.addNameToMap(mcp);
|
||||
}
|
||||
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&e - Config reloaded"));
|
||||
for(MineverseChatPlayer player : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
if(player.getPlayer().hasPermission("venturechat.reload")) {
|
||||
player.getPlayer().sendMessage(LocalizedMessage.CONFIG_RELOADED.toString());
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -1,91 +0,0 @@
|
||||
package mineverse.Aust1n46.chat.listeners;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
|
||||
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.database.PlayerData;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
import mineverse.Aust1n46.chat.utilities.UUIDFetcher;
|
||||
|
||||
/**
|
||||
* Manages player login and logout events.
|
||||
*
|
||||
* @author Aust1n46
|
||||
*/
|
||||
public class LoginListener implements Listener {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
|
||||
@EventHandler(priority = EventPriority.LOW)
|
||||
public void onPlayerQuit(PlayerQuitEvent playerQuitEvent) {
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer(playerQuitEvent.getPlayer());
|
||||
PlayerData.savePlayerData(mcp);
|
||||
mcp.clearMessages();
|
||||
mcp.setOnline(false);
|
||||
MineverseChatAPI.removeMineverseChatOnlinePlayerToMap(mcp);
|
||||
}
|
||||
|
||||
void handleNameChange(MineverseChatPlayer mcp, Player eventPlayerInstance) {
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&e - Detected Name Change. Old Name:&c " + mcp.getName() + " &eNew Name:&c " + eventPlayerInstance.getName()));
|
||||
MineverseChatAPI.removeNameFromMap(mcp.getName());
|
||||
mcp.setName(eventPlayerInstance.getName());
|
||||
MineverseChatAPI.addNameToMap(mcp);
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.LOW)
|
||||
public void onPlayerJoin(PlayerJoinEvent event) throws Exception {
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getMineverseChatPlayer(event.getPlayer());
|
||||
Player player = event.getPlayer();
|
||||
String name = player.getName();
|
||||
if(mcp == null) {
|
||||
UUID uuid = player.getUniqueId();
|
||||
mcp = new MineverseChatPlayer(uuid, name);
|
||||
MineverseChatAPI.addMineverseChatPlayerToMap(mcp);
|
||||
MineverseChatAPI.addNameToMap(mcp);
|
||||
}
|
||||
UUIDFetcher.checkOfflineUUIDWarning(mcp.getUUID());
|
||||
//check for name change
|
||||
if(!mcp.getName().equals(name)) {
|
||||
handleNameChange(mcp, event.getPlayer());
|
||||
}
|
||||
mcp.setOnline(true);
|
||||
mcp.setHasPlayed(false);
|
||||
MineverseChatAPI.addMineverseChatOnlinePlayerToMap(mcp);
|
||||
mcp.setJsonFormat();
|
||||
for(ChatChannel ch : ChatChannel.getAutojoinList()) {
|
||||
if(ch.hasPermission()) {
|
||||
if(mcp.getPlayer().hasPermission(ch.getPermission())) {
|
||||
mcp.addListening(ch.getName());
|
||||
}
|
||||
}
|
||||
else {
|
||||
mcp.addListening(ch.getName());
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
if(plugin.getServer().spigot().getConfig().getBoolean("settings.bungeecord") || plugin.getServer().spigot().getPaperConfig().getBoolean("settings.velocity-support.enabled")) {
|
||||
long delayInTicks = 20L;
|
||||
final MineverseChatPlayer sync = mcp;
|
||||
plugin.getServer().getScheduler().runTaskLaterAsynchronously(plugin, new Runnable() {
|
||||
public void run() {
|
||||
MineverseChat.synchronize(sync, false);
|
||||
}
|
||||
}, delayInTicks);
|
||||
}
|
||||
}
|
||||
catch(NoSuchMethodError exception) { // Thrown if server isn't Paper.
|
||||
// Do nothing
|
||||
}
|
||||
}
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
package mineverse.Aust1n46.chat.localization;
|
||||
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
import mineverse.Aust1n46.chat.utilities.FormatUtils;
|
||||
|
||||
/**
|
||||
* Messages internal to the plugin
|
||||
@ -18,6 +18,6 @@ public enum InternalMessage {
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Format.FormatStringAll(this.message);
|
||||
return FormatUtils.FormatStringAll(this.message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2,21 +2,19 @@ package mineverse.Aust1n46.chat.localization;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
|
||||
import mineverse.Aust1n46.chat.utilities.FormatUtils;
|
||||
import venture.Aust1n46.chat.VentureChat;
|
||||
|
||||
//This class is used to create objects of localization for different languages.
|
||||
public class Localization {
|
||||
private static MineverseChat plugin = MineverseChat.getInstance();
|
||||
public class Localization {
|
||||
private static final String VERSION = "2.22.4";
|
||||
private static FileConfiguration localization;
|
||||
|
||||
private static final String VERSION = "2.22.4";
|
||||
|
||||
public static void initialize() {
|
||||
public static void initialize(final VentureChat plugin) {
|
||||
File localizationFile = new File(plugin.getDataFolder().getAbsolutePath(), "Messages.yml");
|
||||
if(!localizationFile.isFile()) {
|
||||
plugin.saveResource("Messages.yml", true);
|
||||
@ -27,7 +25,7 @@ public class Localization {
|
||||
String fileVersion = localization.getString("Version", "null");
|
||||
|
||||
if(!fileVersion.equals(VERSION)) {
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&e - Version Change Detected! Saving Old Messages.yml and Generating Latest File"));
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&e - Version Change Detected! Saving Old Messages.yml and Generating Latest File"));
|
||||
localizationFile.renameTo(new File(plugin.getDataFolder().getAbsolutePath(), "Messages_Old_" + fileVersion + ".yml"));
|
||||
plugin.saveResource("Messages.yml", true);
|
||||
localization = YamlConfiguration.loadConfiguration(localizationFile);
|
||||
@ -37,4 +35,4 @@ public class Localization {
|
||||
public static FileConfiguration getLocalization() {
|
||||
return localization;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
package mineverse.Aust1n46.chat.localization;
|
||||
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
import mineverse.Aust1n46.chat.utilities.FormatUtils;
|
||||
|
||||
/**
|
||||
* Messages configurable in Messages.yml file.
|
||||
@ -115,6 +115,6 @@ public enum LocalizedMessage {
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Format.FormatStringAll(Localization.getLocalization().getString(this.message));
|
||||
return FormatUtils.FormatStringAll(Localization.getLocalization().getString(this.message));
|
||||
}
|
||||
}
|
||||
|
@ -7,9 +7,9 @@ import java.nio.file.Files;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import mineverse.Aust1n46.chat.database.ProxyPlayerData;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
import mineverse.Aust1n46.chat.utilities.UUIDFetcher;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import mineverse.Aust1n46.chat.utilities.FormatUtils;
|
||||
import net.md_5.bungee.api.ProxyServer;
|
||||
import net.md_5.bungee.api.chat.TextComponent;
|
||||
import net.md_5.bungee.api.config.ServerInfo;
|
||||
@ -25,6 +25,8 @@ import net.md_5.bungee.config.Configuration;
|
||||
import net.md_5.bungee.config.ConfigurationProvider;
|
||||
import net.md_5.bungee.config.YamlConfiguration;
|
||||
import net.md_5.bungee.event.EventHandler;
|
||||
import venture.Aust1n46.chat.controllers.VentureChatProxyFlatFileController;
|
||||
import venture.Aust1n46.chat.service.UUIDService;
|
||||
|
||||
/**
|
||||
* VentureChat Minecraft plugin for BungeeCord.
|
||||
@ -34,6 +36,13 @@ import net.md_5.bungee.event.EventHandler;
|
||||
public class VentureChatBungee extends Plugin implements Listener, VentureChatProxySource {
|
||||
private static Configuration bungeeConfig;
|
||||
private File bungeePlayerDataDirectory;
|
||||
|
||||
@Inject
|
||||
private UUIDService uuidService;
|
||||
@Inject
|
||||
private VentureChatProxyFlatFileController proxyFlatFileController;
|
||||
@Inject
|
||||
private VentureChatProxy proxy;
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
@ -52,8 +61,8 @@ public class VentureChatBungee extends Plugin implements Listener, VentureChatPr
|
||||
}
|
||||
|
||||
bungeePlayerDataDirectory = new File(getDataFolder().getAbsolutePath() + "/PlayerData");
|
||||
ProxyPlayerData.loadLegacyBungeePlayerData(bungeePlayerDataDirectory, this);
|
||||
ProxyPlayerData.loadProxyPlayerData(bungeePlayerDataDirectory, this);
|
||||
proxyFlatFileController.loadLegacyBungeePlayerData(bungeePlayerDataDirectory, this);
|
||||
proxyFlatFileController.loadProxyPlayerData(bungeePlayerDataDirectory, this);
|
||||
|
||||
this.getProxy().registerChannel(VentureChatProxy.PLUGIN_MESSAGING_CHANNEL_STRING);
|
||||
this.getProxy().getPluginManager().registerListener(this, this);
|
||||
@ -61,7 +70,7 @@ public class VentureChatBungee extends Plugin implements Listener, VentureChatPr
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
ProxyPlayerData.saveProxyPlayerData(bungeePlayerDataDirectory, this);
|
||||
proxyFlatFileController.saveProxyPlayerData(bungeePlayerDataDirectory, this);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
@ -76,7 +85,7 @@ public class VentureChatBungee extends Plugin implements Listener, VentureChatPr
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerJoinNetwork(PostLoginEvent event) {
|
||||
UUIDFetcher.checkOfflineUUIDWarningProxy(event.getPlayer().getUniqueId(), this);
|
||||
uuidService.checkOfflineUUIDWarningProxy(event.getPlayer().getUniqueId(), this);
|
||||
}
|
||||
|
||||
private void updatePlayerNames() {
|
||||
@ -109,7 +118,7 @@ public class VentureChatBungee extends Plugin implements Listener, VentureChatPr
|
||||
return;
|
||||
}
|
||||
String serverName = ((Server) event.getSender()).getInfo().getName();
|
||||
VentureChatProxy.onPluginMessage(event.getData(), serverName, this);
|
||||
proxy.onPluginMessage(event.getData(), serverName, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -130,7 +139,7 @@ public class VentureChatBungee extends Plugin implements Listener, VentureChatPr
|
||||
|
||||
@Override
|
||||
public void sendConsoleMessage(String message) {
|
||||
ProxyServer.getInstance().getConsole().sendMessage(TextComponent.fromLegacyText(Format.FormatStringAll(message)));
|
||||
ProxyServer.getInstance().getConsole().sendMessage(TextComponent.fromLegacyText(FormatUtils.FormatStringAll(message)));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -7,17 +7,22 @@ import java.io.DataOutputStream;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.SynchronizedMineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.command.mute.MuteContainer;
|
||||
import mineverse.Aust1n46.chat.database.TemporaryDataInstance;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import venture.Aust1n46.chat.controllers.commands.MuteContainer;
|
||||
import venture.Aust1n46.chat.model.SynchronizedVentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.TemporaryDataInstance;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class VentureChatProxy {
|
||||
public static String PLUGIN_MESSAGING_CHANNEL_NAMESPACE = "venturechat";
|
||||
public static String PLUGIN_MESSAGING_CHANNEL_NAME = "data";
|
||||
public static String PLUGIN_MESSAGING_CHANNEL_STRING = "venturechat:data";
|
||||
|
||||
public static void onPluginMessage(byte[] data, String serverName, VentureChatProxySource source) {
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
public void onPluginMessage(byte[] data, String serverName, VentureChatProxySource source) {
|
||||
ByteArrayInputStream instream = new ByteArrayInputStream(data);
|
||||
DataInputStream in = new DataInputStream(instream);
|
||||
try {
|
||||
@ -74,7 +79,7 @@ public class VentureChatProxy {
|
||||
String server = serverName;
|
||||
String sender = in.readUTF();
|
||||
String channel = in.readUTF();
|
||||
SynchronizedMineverseChatPlayer smcp = MineverseChatAPI.getSynchronizedMineverseChatPlayer(UUID.fromString(sender));
|
||||
SynchronizedVentureChatPlayer smcp = playerApiService.getSynchronizedMineverseChatPlayer(UUID.fromString(sender));
|
||||
if(smcp == null) {
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c Synchronized player instance is null! This shouldn't be!");
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c You probably have an issue with your player data saving and/or your login data sync!");
|
||||
@ -97,7 +102,7 @@ public class VentureChatProxy {
|
||||
String server = in.readUTF();
|
||||
String sender = in.readUTF();
|
||||
String channel = in.readUTF();
|
||||
SynchronizedMineverseChatPlayer smcp = MineverseChatAPI.getSynchronizedMineverseChatPlayer(UUID.fromString(sender));
|
||||
SynchronizedVentureChatPlayer smcp = playerApiService.getSynchronizedMineverseChatPlayer(UUID.fromString(sender));
|
||||
if(smcp == null) {
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c Synchronized player instance is null! This shouldn't be!");
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c You probably have an issue with your player data saving and/or your login data sync!");
|
||||
@ -145,7 +150,7 @@ public class VentureChatProxy {
|
||||
String server = serverName;
|
||||
String player = in.readUTF();
|
||||
String sender = in.readUTF();
|
||||
SynchronizedMineverseChatPlayer smcp = MineverseChatAPI.getSynchronizedMineverseChatPlayer(UUID.fromString(sender));
|
||||
SynchronizedVentureChatPlayer smcp = playerApiService.getSynchronizedMineverseChatPlayer(UUID.fromString(sender));
|
||||
if(smcp == null) {
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c Synchronized player instance is null! This shouldn't be!");
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c You probably have an issue with your player data saving and/or your login data sync!");
|
||||
@ -167,7 +172,7 @@ public class VentureChatProxy {
|
||||
String server = in.readUTF();
|
||||
String player = in.readUTF();
|
||||
String sender = in.readUTF();
|
||||
SynchronizedMineverseChatPlayer smcp = MineverseChatAPI.getSynchronizedMineverseChatPlayer(UUID.fromString(sender));
|
||||
SynchronizedVentureChatPlayer smcp = playerApiService.getSynchronizedMineverseChatPlayer(UUID.fromString(sender));
|
||||
if(smcp == null) {
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c Synchronized player instance is null! This shouldn't be!");
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c You probably have an issue with your player data saving and/or your login data sync!");
|
||||
@ -373,7 +378,7 @@ public class VentureChatProxy {
|
||||
String echo = in.readUTF();
|
||||
String spy = in.readUTF();
|
||||
String msg = in.readUTF();
|
||||
SynchronizedMineverseChatPlayer smcp = MineverseChatAPI.getSynchronizedMineverseChatPlayer(UUID.fromString(sender));
|
||||
SynchronizedVentureChatPlayer smcp = playerApiService.getSynchronizedMineverseChatPlayer(UUID.fromString(sender));
|
||||
if(smcp == null) {
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c Synchronized player instance is null! This shouldn't be!");
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c You probably have an issue with your player data saving and/or your login data sync!");
|
||||
@ -400,7 +405,7 @@ public class VentureChatProxy {
|
||||
String server = in.readUTF();
|
||||
String player = in.readUTF();
|
||||
String sender = in.readUTF();
|
||||
SynchronizedMineverseChatPlayer smcp = MineverseChatAPI.getSynchronizedMineverseChatPlayer(UUID.fromString(sender));
|
||||
SynchronizedVentureChatPlayer smcp = playerApiService.getSynchronizedMineverseChatPlayer(UUID.fromString(sender));
|
||||
if(smcp == null) {
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c Synchronized player instance is null! This shouldn't be!");
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c You probably have an issue with your player data saving and/or your login data sync!");
|
||||
@ -486,10 +491,10 @@ public class VentureChatProxy {
|
||||
//System.out.println("Sending update...");
|
||||
String server = serverName;
|
||||
UUID uuid = UUID.fromString(in.readUTF());
|
||||
SynchronizedMineverseChatPlayer smcp = MineverseChatAPI.getSynchronizedMineverseChatPlayer(uuid);
|
||||
SynchronizedVentureChatPlayer smcp = playerApiService.getSynchronizedMineverseChatPlayer(uuid);
|
||||
if(smcp == null) {
|
||||
smcp = new SynchronizedMineverseChatPlayer(uuid);
|
||||
MineverseChatAPI.addSynchronizedMineverseChatPlayerToMap(smcp);
|
||||
smcp = new SynchronizedVentureChatPlayer(uuid);
|
||||
playerApiService.addSynchronizedMineverseChatPlayerToMap(smcp);
|
||||
}
|
||||
out.writeUTF("Sync");
|
||||
out.writeUTF(uuid.toString());
|
||||
@ -524,10 +529,10 @@ public class VentureChatProxy {
|
||||
}
|
||||
if(identifier.equals("Update")) {
|
||||
UUID uuid = UUID.fromString(in.readUTF());
|
||||
SynchronizedMineverseChatPlayer smcp = MineverseChatAPI.getSynchronizedMineverseChatPlayer(uuid);
|
||||
SynchronizedVentureChatPlayer smcp = playerApiService.getSynchronizedMineverseChatPlayer(uuid);
|
||||
if(smcp == null) {
|
||||
smcp = new SynchronizedMineverseChatPlayer(uuid);
|
||||
MineverseChatAPI.addSynchronizedMineverseChatPlayerToMap(smcp);
|
||||
smcp = new SynchronizedVentureChatPlayer(uuid);
|
||||
playerApiService.addSynchronizedMineverseChatPlayerToMap(smcp);
|
||||
}
|
||||
smcp.getListening().clear();
|
||||
smcp.clearMutes();
|
||||
@ -549,7 +554,7 @@ public class VentureChatProxy {
|
||||
for(int c = 0; c < sizeI; c++) {
|
||||
String ignore = in.readUTF();
|
||||
//System.out.println(mute);
|
||||
smcp.addIgnore(MineverseChatAPI.getSynchronizedMineverseChatPlayer(UUID.fromString(ignore)));
|
||||
smcp.addIgnore(playerApiService.getSynchronizedMineverseChatPlayer(UUID.fromString(ignore)));
|
||||
}
|
||||
smcp.setSpy(in.readBoolean());
|
||||
smcp.setMessageToggle(in.readBoolean());
|
||||
|
@ -29,11 +29,11 @@ import com.velocitypowered.api.proxy.messages.ChannelIdentifier;
|
||||
import com.velocitypowered.api.proxy.messages.MinecraftChannelIdentifier;
|
||||
import com.velocitypowered.api.proxy.server.RegisteredServer;
|
||||
|
||||
import mineverse.Aust1n46.chat.database.ProxyPlayerData;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
import mineverse.Aust1n46.chat.utilities.FormatUtils;
|
||||
import net.md_5.bungee.config.Configuration;
|
||||
import net.md_5.bungee.config.ConfigurationProvider;
|
||||
import net.md_5.bungee.config.YamlConfiguration;
|
||||
import venture.Aust1n46.chat.controllers.VentureChatProxyFlatFileController;
|
||||
|
||||
/**
|
||||
* VentureChat Minecraft plugin for Velocity.
|
||||
@ -45,6 +45,11 @@ public class VentureChatVelocity implements VentureChatProxySource {
|
||||
private final ChannelIdentifier channelIdentifier = MinecraftChannelIdentifier.create(VentureChatProxy.PLUGIN_MESSAGING_CHANNEL_NAMESPACE, VentureChatProxy.PLUGIN_MESSAGING_CHANNEL_NAME);
|
||||
private final Logger logger;
|
||||
|
||||
@Inject
|
||||
private VentureChatProxyFlatFileController proxyFlatFileController;
|
||||
@Inject
|
||||
private VentureChatProxy proxy;
|
||||
|
||||
@Inject
|
||||
@DataDirectory
|
||||
private Path dataPath;
|
||||
@ -82,12 +87,12 @@ public class VentureChatVelocity implements VentureChatProxySource {
|
||||
}
|
||||
|
||||
velocityPlayerDataDirectory = new File(dataPath.toAbsolutePath().toString() + "/PlayerData");
|
||||
ProxyPlayerData.loadProxyPlayerData(velocityPlayerDataDirectory, this);
|
||||
proxyFlatFileController.loadProxyPlayerData(velocityPlayerDataDirectory, this);
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onShutdown(ProxyShutdownEvent event) {
|
||||
ProxyPlayerData.saveProxyPlayerData(velocityPlayerDataDirectory, this);
|
||||
proxyFlatFileController.saveProxyPlayerData(velocityPlayerDataDirectory, this);
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
@ -138,7 +143,7 @@ public class VentureChatVelocity implements VentureChatProxySource {
|
||||
return;
|
||||
}
|
||||
String serverName = ((ServerConnection) event.getSource()).getServerInfo().getName();
|
||||
VentureChatProxy.onPluginMessage(event.getData(), serverName, this);
|
||||
proxy.onPluginMessage(event.getData(), serverName, this);
|
||||
event.setResult(ForwardResult.handled());
|
||||
}
|
||||
|
||||
@ -163,7 +168,7 @@ public class VentureChatVelocity implements VentureChatProxySource {
|
||||
|
||||
@Override
|
||||
public void sendConsoleMessage(String message) {
|
||||
logger.info(Format.stripColor(message));
|
||||
logger.info(FormatUtils.stripColor(message));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
301
src/main/java/mineverse/Aust1n46/chat/utilities/FormatUtils.java
Normal file
301
src/main/java/mineverse/Aust1n46/chat/utilities/FormatUtils.java
Normal file
@ -0,0 +1,301 @@
|
||||
package mineverse.Aust1n46.chat.utilities;
|
||||
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
|
||||
public class FormatUtils {
|
||||
public static final char BUKKIT_COLOR_CODE_PREFIX_CHAR = '\u00A7';
|
||||
public static final String BUKKIT_COLOR_CODE_PREFIX = String.valueOf(BUKKIT_COLOR_CODE_PREFIX_CHAR);
|
||||
public static final String HEX_COLOR_CODE_PREFIX = "#";
|
||||
public static final String BUKKIT_HEX_COLOR_CODE_PREFIX = "x";
|
||||
public static final String DEFAULT_COLOR_CODE = BUKKIT_COLOR_CODE_PREFIX + "f";
|
||||
|
||||
public static final long MILLISECONDS_PER_DAY = 86400000;
|
||||
public static final long MILLISECONDS_PER_HOUR = 3600000;
|
||||
public static final long MILLISECONDS_PER_MINUTE = 60000;
|
||||
public static final long MILLISECONDS_PER_SECOND = 1000;
|
||||
|
||||
private static final Pattern LEGACY_CHAT_COLOR_DIGITS_PATTERN = Pattern.compile("&([0-9])");
|
||||
private static final Pattern LEGACY_CHAT_COLOR_PATTERN = Pattern.compile(
|
||||
"(?<!(&x(&[a-fA-F0-9]){5}))(?<!(&x(&[a-fA-F0-9]){4}))(?<!(&x(&[a-fA-F0-9]){3}))(?<!(&x(&[a-fA-F0-9]){2}))(?<!(&x(&[a-fA-F0-9]){1}))(?<!(&x))(&)([0-9a-fA-F])");
|
||||
|
||||
/**
|
||||
* Convert a single hex color code to a single Bukkit hex color code.
|
||||
*
|
||||
* @param color to convert.
|
||||
* @return {@link String}
|
||||
*/
|
||||
public static String convertHexColorCodeToBukkitColorCode(String color) {
|
||||
color = color.replace("&", "");
|
||||
StringBuilder bukkitColorCode = new StringBuilder(BUKKIT_COLOR_CODE_PREFIX + BUKKIT_HEX_COLOR_CODE_PREFIX);
|
||||
for (int a = 1; a < color.length(); a++) {
|
||||
bukkitColorCode.append(BUKKIT_COLOR_CODE_PREFIX + color.charAt(a));
|
||||
}
|
||||
return bukkitColorCode.toString().toLowerCase();
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert an entire String of hex color codes to Bukkit hex color codes.
|
||||
*
|
||||
* @param string to convert.
|
||||
* @return {@link String}
|
||||
*/
|
||||
public static String convertHexColorCodeStringToBukkitColorCodeString(String string) {
|
||||
Pattern pattern = Pattern.compile("(&?#[0-9a-fA-F]{6})");
|
||||
Matcher matcher = pattern.matcher(string);
|
||||
while (matcher.find()) {
|
||||
int indexStart = matcher.start();
|
||||
int indexEnd = matcher.end();
|
||||
String hexColor = string.substring(indexStart, indexEnd);
|
||||
String bukkitColor = convertHexColorCodeToBukkitColorCode(hexColor);
|
||||
string = string.replaceAll(hexColor, bukkitColor);
|
||||
matcher.reset(string);
|
||||
}
|
||||
return string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Formats a string with both Spigot legacy colors codes and Spigot and
|
||||
* VentureChat hex color codes.
|
||||
*
|
||||
* @param string to format.
|
||||
* @return {@link String}
|
||||
*/
|
||||
public static String FormatStringColor(String string) {
|
||||
String allFormated = string;
|
||||
allFormated = LEGACY_CHAT_COLOR_DIGITS_PATTERN.matcher(allFormated).replaceAll("\u00A7$1");
|
||||
|
||||
allFormated = allFormated.replaceAll("&[x]", BUKKIT_COLOR_CODE_PREFIX + "x");
|
||||
allFormated = allFormated.replaceAll("&[aA]", BUKKIT_COLOR_CODE_PREFIX + "a");
|
||||
allFormated = allFormated.replaceAll("&[bB]", BUKKIT_COLOR_CODE_PREFIX + "b");
|
||||
allFormated = allFormated.replaceAll("&[cC]", BUKKIT_COLOR_CODE_PREFIX + "c");
|
||||
allFormated = allFormated.replaceAll("&[dD]", BUKKIT_COLOR_CODE_PREFIX + "d");
|
||||
allFormated = allFormated.replaceAll("&[eE]", BUKKIT_COLOR_CODE_PREFIX + "e");
|
||||
allFormated = allFormated.replaceAll("&[fF]", BUKKIT_COLOR_CODE_PREFIX + "f");
|
||||
|
||||
allFormated = allFormated.replaceAll("%", "\\%");
|
||||
|
||||
allFormated = convertHexColorCodeStringToBukkitColorCodeString(allFormated);
|
||||
return allFormated;
|
||||
}
|
||||
|
||||
/**
|
||||
* Formats a string with only legacy Spigot color codes &[0-9a-f]. Does not
|
||||
* format the legacy color codes that make up a Spigot hex color code.
|
||||
*
|
||||
* @param string to format.
|
||||
* @return {@link String}
|
||||
*/
|
||||
public static String FormatStringLegacyColor(String string) {
|
||||
String allFormated = string;
|
||||
|
||||
allFormated = LEGACY_CHAT_COLOR_PATTERN.matcher(allFormated).replaceAll("\u00A7$13");
|
||||
allFormated = allFormated.replaceAll(BUKKIT_COLOR_CODE_PREFIX + "[A]", BUKKIT_COLOR_CODE_PREFIX + "a");
|
||||
allFormated = allFormated.replaceAll(BUKKIT_COLOR_CODE_PREFIX + "[B]", BUKKIT_COLOR_CODE_PREFIX + "b");
|
||||
allFormated = allFormated.replaceAll(BUKKIT_COLOR_CODE_PREFIX + "[C]", BUKKIT_COLOR_CODE_PREFIX + "c");
|
||||
allFormated = allFormated.replaceAll(BUKKIT_COLOR_CODE_PREFIX + "[D]", BUKKIT_COLOR_CODE_PREFIX + "d");
|
||||
allFormated = allFormated.replaceAll(BUKKIT_COLOR_CODE_PREFIX + "[E]", BUKKIT_COLOR_CODE_PREFIX + "e");
|
||||
allFormated = allFormated.replaceAll(BUKKIT_COLOR_CODE_PREFIX + "[F]", BUKKIT_COLOR_CODE_PREFIX + "f");
|
||||
|
||||
allFormated = allFormated.replaceAll("%", "\\%");
|
||||
return allFormated;
|
||||
}
|
||||
|
||||
/**
|
||||
* Formats a string with Spigot formatting codes.
|
||||
*
|
||||
* @param string to format.
|
||||
* @return {@link String}
|
||||
*/
|
||||
public static String FormatString(String string) {
|
||||
String allFormated = string;
|
||||
allFormated = allFormated.replaceAll("&[kK]", BUKKIT_COLOR_CODE_PREFIX + "k");
|
||||
allFormated = allFormated.replaceAll("&[lL]", BUKKIT_COLOR_CODE_PREFIX + "l");
|
||||
allFormated = allFormated.replaceAll("&[mM]", BUKKIT_COLOR_CODE_PREFIX + "m");
|
||||
allFormated = allFormated.replaceAll("&[nN]", BUKKIT_COLOR_CODE_PREFIX + "n");
|
||||
allFormated = allFormated.replaceAll("&[oO]", BUKKIT_COLOR_CODE_PREFIX + "o");
|
||||
allFormated = allFormated.replaceAll("&[rR]", BUKKIT_COLOR_CODE_PREFIX + "r");
|
||||
|
||||
allFormated = allFormated.replaceAll("%", "\\%");
|
||||
return allFormated;
|
||||
}
|
||||
|
||||
/**
|
||||
* Formats a string with Spigot legacy colors codes, Spigot and VentureChat hex
|
||||
* color codes, and Spigot formatting codes.
|
||||
*
|
||||
* @param string to format.
|
||||
* @return {@link String}
|
||||
*/
|
||||
public static String FormatStringAll(String string) {
|
||||
String allFormated = FormatString(string);
|
||||
allFormated = FormatStringColor(allFormated);
|
||||
return allFormated;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validates a hex color code.
|
||||
*
|
||||
* @param color to validate.
|
||||
* @return true if color code is valid, false otherwise.
|
||||
*/
|
||||
public static boolean isValidHexColor(String color) {
|
||||
Pattern pattern = Pattern.compile("(^&?#[0-9a-fA-F]{6}\\b)");
|
||||
Matcher matcher = pattern.matcher(color);
|
||||
return matcher.find();
|
||||
}
|
||||
|
||||
public static boolean isValidColor(String color) {
|
||||
Boolean bFound = false;
|
||||
for (ChatColor bkColors : ChatColor.values()) {
|
||||
if (color.equalsIgnoreCase(bkColors.name())) {
|
||||
bFound = true;
|
||||
}
|
||||
}
|
||||
return bFound;
|
||||
}
|
||||
|
||||
public static String escapeAllRegex(String input) {
|
||||
return input.replace("[", "\\[").replace("]", "\\]").replace("{", "\\{").replace("}", "\\}").replace("(", "\\(")
|
||||
.replace(")", "\\)").replace("|", "\\|").replace("+", "\\+").replace("*", "\\*");
|
||||
}
|
||||
|
||||
public static String parseTimeStringFromMillis(long millis) {
|
||||
String timeString = "";
|
||||
if(millis >= MILLISECONDS_PER_DAY) {
|
||||
long numberOfDays = millis / MILLISECONDS_PER_DAY;
|
||||
millis -= MILLISECONDS_PER_DAY * numberOfDays;
|
||||
|
||||
String units = LocalizedMessage.UNITS_DAY_PLURAL.toString();
|
||||
if (numberOfDays == 1) {
|
||||
units = LocalizedMessage.UNITS_DAY_SINGULAR.toString();
|
||||
}
|
||||
timeString += numberOfDays + " " + units + " ";
|
||||
}
|
||||
|
||||
if(millis >= MILLISECONDS_PER_HOUR) {
|
||||
long numberOfHours = millis / MILLISECONDS_PER_HOUR;
|
||||
millis -= MILLISECONDS_PER_HOUR * numberOfHours;
|
||||
|
||||
String units = LocalizedMessage.UNITS_HOUR_PLURAL.toString();
|
||||
if (numberOfHours == 1) {
|
||||
units = LocalizedMessage.UNITS_HOUR_SINGULAR.toString();
|
||||
}
|
||||
timeString += numberOfHours + " " + units + " ";
|
||||
}
|
||||
|
||||
if(millis >= MILLISECONDS_PER_MINUTE) {
|
||||
long numberOfMinutes = millis / MILLISECONDS_PER_MINUTE;
|
||||
millis -= MILLISECONDS_PER_MINUTE * numberOfMinutes;
|
||||
|
||||
String units = LocalizedMessage.UNITS_MINUTE_PLURAL.toString();
|
||||
if (numberOfMinutes == 1) {
|
||||
units = LocalizedMessage.UNITS_MINUTE_SINGULAR.toString();
|
||||
}
|
||||
timeString += numberOfMinutes + " " + units + " ";
|
||||
}
|
||||
|
||||
if(millis >= MILLISECONDS_PER_SECOND) {
|
||||
long numberOfSeconds = millis / MILLISECONDS_PER_SECOND;
|
||||
millis -= MILLISECONDS_PER_SECOND * numberOfSeconds;
|
||||
|
||||
String units = LocalizedMessage.UNITS_SECOND_PLURAL.toString();
|
||||
if (numberOfSeconds == 1) {
|
||||
units = LocalizedMessage.UNITS_SECOND_SINGULAR.toString();
|
||||
}
|
||||
timeString += numberOfSeconds + " " + units;
|
||||
}
|
||||
return timeString.trim();
|
||||
}
|
||||
|
||||
public static long parseTimeStringToMillis(String timeInput) {
|
||||
long millis = 0L;
|
||||
timeInput = timeInput.toLowerCase();
|
||||
char validChars[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'd', 'h', 'm', 's' };
|
||||
if(containsInvalidChars(validChars, timeInput)) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
long countDayTokens = timeInput.chars().filter(ch -> ch == 'd').count();
|
||||
long countHourTokens = timeInput.chars().filter(ch -> ch == 'h').count();
|
||||
long countMinuteTokens = timeInput.chars().filter(ch -> ch == 'm').count();
|
||||
long countSecondTokens = timeInput.chars().filter(ch -> ch == 's').count();
|
||||
if(countDayTokens > 1 || countHourTokens > 1 || countMinuteTokens > 1 || countSecondTokens > 1) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
int indexOfSecondToken = timeInput.indexOf("s");
|
||||
int indexOfMinuteToken = timeInput.indexOf("m");
|
||||
int indexOfHourToken = timeInput.indexOf("h");
|
||||
int indexOfDayToken = timeInput.indexOf("d");
|
||||
if(indexOfDayToken != -1) {
|
||||
if((indexOfHourToken != -1 && indexOfHourToken < indexOfDayToken) || (indexOfMinuteToken != -1 && indexOfMinuteToken < indexOfDayToken) || (indexOfSecondToken != -1 && indexOfSecondToken < indexOfDayToken)) {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
if(indexOfHourToken != -1) {
|
||||
if((indexOfMinuteToken != -1 && indexOfMinuteToken < indexOfHourToken) || (indexOfSecondToken != -1 && indexOfSecondToken < indexOfHourToken)) {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
if(indexOfMinuteToken != -1) {
|
||||
if((indexOfSecondToken != -1 && indexOfSecondToken < indexOfMinuteToken)) {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
if(indexOfDayToken != -1) {
|
||||
int numberOfDays = Integer.parseInt(timeInput.substring(0, indexOfDayToken));
|
||||
timeInput = timeInput.substring(indexOfDayToken + 1);
|
||||
millis += MILLISECONDS_PER_DAY * numberOfDays;
|
||||
}
|
||||
if(timeInput.length() > 0) {
|
||||
indexOfHourToken = timeInput.indexOf("h");
|
||||
if(indexOfHourToken != -1) {
|
||||
int numberOfHours = Integer.parseInt(timeInput.substring(0, indexOfHourToken));
|
||||
timeInput = timeInput.substring(indexOfHourToken + 1);
|
||||
millis += MILLISECONDS_PER_HOUR * numberOfHours;
|
||||
}
|
||||
}
|
||||
if(timeInput.length() > 0) {
|
||||
indexOfMinuteToken = timeInput.indexOf("m");
|
||||
if(indexOfMinuteToken != -1) {
|
||||
int numberOfMinutes = Integer.parseInt(timeInput.substring(0, indexOfMinuteToken));
|
||||
timeInput = timeInput.substring(indexOfMinuteToken + 1);
|
||||
millis += MILLISECONDS_PER_MINUTE * numberOfMinutes;
|
||||
}
|
||||
}
|
||||
if(timeInput.length() > 0) {
|
||||
indexOfSecondToken = timeInput.indexOf("s");
|
||||
if(indexOfSecondToken != -1) {
|
||||
int numberOfSeconds = Integer.parseInt(timeInput.substring(0, indexOfSecondToken));
|
||||
timeInput = timeInput.substring(indexOfSecondToken + 1);
|
||||
millis += MILLISECONDS_PER_SECOND * numberOfSeconds;
|
||||
}
|
||||
}
|
||||
return millis;
|
||||
}
|
||||
|
||||
private static boolean containsInvalidChars(char[] validChars, String validate) {
|
||||
for(char c : validate.toCharArray()) {
|
||||
boolean isValidChar = false;
|
||||
for(char v : validChars) {
|
||||
if(c == v) {
|
||||
isValidChar = true;
|
||||
}
|
||||
}
|
||||
if(!isValidChar) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static String stripColor(String message) {
|
||||
return message.replaceAll("(\u00A7([a-z0-9]))", "");
|
||||
}
|
||||
}
|
@ -1,149 +0,0 @@
|
||||
package mineverse.Aust1n46.chat.utilities;
|
||||
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.OutputStream;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.Callable;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.json.simple.JSONArray;
|
||||
import org.json.simple.JSONObject;
|
||||
import org.json.simple.parser.JSONParser;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.proxy.VentureChatProxySource;
|
||||
|
||||
public class UUIDFetcher implements Callable<Map<String, UUID>> {
|
||||
private static final double PROFILES_PER_REQUEST = 100;
|
||||
private static final String PROFILE_URL = "https://api.mojang.com/profiles/minecraft";
|
||||
private final JSONParser jsonParser = new JSONParser();
|
||||
private final List<String> names;
|
||||
private final boolean rateLimiting;
|
||||
|
||||
public UUIDFetcher(List<String> names, boolean rateLimiting) {
|
||||
this.names = ImmutableList.copyOf(names);
|
||||
this.rateLimiting = rateLimiting;
|
||||
}
|
||||
|
||||
public UUIDFetcher(List<String> names) {
|
||||
this(names, true);
|
||||
}
|
||||
|
||||
public Map<String, UUID> call() throws Exception {
|
||||
Map<String, UUID> uuidMap = new HashMap<String, UUID>();
|
||||
int requests = (int) Math.ceil(names.size() / PROFILES_PER_REQUEST);
|
||||
for(int i = 0; i < requests; i++) {
|
||||
HttpURLConnection connection = createConnection();
|
||||
String body = JSONArray.toJSONString(names.subList(i * 100, Math.min((i + 1) * 100, names.size())));
|
||||
writeBody(connection, body);
|
||||
JSONArray array = (JSONArray) jsonParser.parse(new InputStreamReader(connection.getInputStream()));
|
||||
for(Object profile : array) {
|
||||
JSONObject jsonProfile = (JSONObject) profile;
|
||||
String id = (String) jsonProfile.get("id");
|
||||
String name = (String) jsonProfile.get("name");
|
||||
UUID uuid = UUIDFetcher.getUUID(id);
|
||||
uuidMap.put(name, uuid);
|
||||
}
|
||||
if(rateLimiting && i != requests - 1) {
|
||||
Thread.sleep(100L);
|
||||
}
|
||||
}
|
||||
return uuidMap;
|
||||
}
|
||||
|
||||
private static void writeBody(HttpURLConnection connection, String body) throws Exception {
|
||||
OutputStream stream = connection.getOutputStream();
|
||||
stream.write(body.getBytes());
|
||||
stream.flush();
|
||||
stream.close();
|
||||
}
|
||||
|
||||
private static HttpURLConnection createConnection() throws Exception {
|
||||
URL url = new URL(PROFILE_URL);
|
||||
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
||||
connection.setRequestMethod("POST");
|
||||
connection.setRequestProperty("Content-Type", "application/json");
|
||||
connection.setUseCaches(false);
|
||||
connection.setDoInput(true);
|
||||
connection.setDoOutput(true);
|
||||
return connection;
|
||||
}
|
||||
|
||||
private static UUID getUUID(String id) {
|
||||
return UUID.fromString(id.substring(0, 8) + "-" + id.substring(8, 12) + "-" + id.substring(12, 16) + "-" + id.substring(16, 20) + "-" + id.substring(20, 32));
|
||||
}
|
||||
|
||||
public static byte[] toBytes(UUID uuid) {
|
||||
ByteBuffer byteBuffer = ByteBuffer.wrap(new byte[16]);
|
||||
byteBuffer.putLong(uuid.getMostSignificantBits());
|
||||
byteBuffer.putLong(uuid.getLeastSignificantBits());
|
||||
return byteBuffer.array();
|
||||
}
|
||||
|
||||
public static UUID fromBytes(byte[] array) {
|
||||
if(array.length != 16) {
|
||||
throw new IllegalArgumentException("Illegal byte array length: " + array.length);
|
||||
}
|
||||
ByteBuffer byteBuffer = ByteBuffer.wrap(array);
|
||||
long mostSignificant = byteBuffer.getLong();
|
||||
long leastSignificant = byteBuffer.getLong();
|
||||
return new UUID(mostSignificant, leastSignificant);
|
||||
}
|
||||
|
||||
public static UUID getUUIDOf(String name) throws Exception {
|
||||
return new UUIDFetcher(Arrays.asList(name)).call().get(name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether the passed UUID is a v3 UUID. Offline UUIDs are v3, online are v4.
|
||||
*
|
||||
* @param uuid the UUID to check
|
||||
* @return whether the UUID is a v3 UUID & thus is offline
|
||||
*/
|
||||
public static boolean uuidIsOffline(UUID uuid) {
|
||||
return uuid.version() == 3;
|
||||
}
|
||||
|
||||
public static boolean shouldSkipOfflineUUID(UUID uuid) {
|
||||
return (uuidIsOffline(uuid) && !MineverseChat.getInstance().getConfig().getBoolean("offline_server_acknowledgement", false));
|
||||
}
|
||||
|
||||
public static boolean shouldSkipOfflineUUIDProxy(UUID uuid, VentureChatProxySource source) {
|
||||
return (uuidIsOffline(uuid) && !source.isOfflineServerAcknowledgementSet());
|
||||
}
|
||||
|
||||
public static void checkOfflineUUIDWarning(UUID uuid) {
|
||||
if(shouldSkipOfflineUUID(uuid)) {
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - Detected Offline UUID!"));
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - If you are using BungeeCord, make sure you have properly setup IP Forwarding."));
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - https://www.spigotmc.org/wiki/bungeecord-ip-forwarding/"));
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - You can access this wiki page from the log file or just Google it."));
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - If you're running a \"cracked\" server, player data might not be stored properly, and thus, you are on your own."));
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - If you run your server in offline mode, you will probably lose your player data when switching to online mode!"));
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - No player data will be saved in offline mode unless you set the \"cracked\" server acknowledgement in the config!"));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
public static void checkOfflineUUIDWarningProxy(UUID uuid, VentureChatProxySource source) {
|
||||
if(shouldSkipOfflineUUIDProxy(uuid, source)) {
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c - Detected Offline UUID!");
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c - If you are using BungeeCord, make sure you have properly setup IP Forwarding.");
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c - https://www.spigotmc.org/wiki/bungeecord-ip-forwarding/");
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c - You can access this wiki page from the log file or just Google it.");
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c - If you're running a \"cracked\" server, player data might not be stored properly, and thus, you are on your own.");
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c - If you run your server in offline mode, you will probably lose your player data when switching to online mode!");
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c - No player data will be saved in offline mode unless you set the \"cracked\" server acknowledgement in the config!");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
62
src/main/java/venture/Aust1n46/chat/Logger.java
Normal file
62
src/main/java/venture/Aust1n46/chat/Logger.java
Normal file
@ -0,0 +1,62 @@
|
||||
package venture.Aust1n46.chat;
|
||||
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
public class Logger {
|
||||
private static final String LOG_PREFIX = "[VentureChat] ";
|
||||
|
||||
private org.slf4j.Logger parent = LoggerFactory.getLogger(Logger.class);
|
||||
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
|
||||
public void info(String message) {
|
||||
parent.info(LOG_PREFIX + message);
|
||||
}
|
||||
|
||||
public void info(String format, Object arg) {
|
||||
parent.info(LOG_PREFIX + format, arg);
|
||||
}
|
||||
|
||||
public void info(String format, Object arg1, Object arg2) {
|
||||
parent.info(LOG_PREFIX + format, arg1, arg2);
|
||||
}
|
||||
|
||||
public void info(String format, Object... arguments) {
|
||||
parent.info(LOG_PREFIX + format, arguments);
|
||||
}
|
||||
|
||||
public void debug(String message) {
|
||||
if (plugin.getConfig().getString("loglevel", "info").equals("debug")) {
|
||||
info(message);
|
||||
}
|
||||
}
|
||||
|
||||
public void debug(String format, Object arg) {
|
||||
if (plugin.getConfig().getString("loglevel", "info").equals("debug")) {
|
||||
info(format, arg);
|
||||
}
|
||||
}
|
||||
|
||||
public void debug(String format, Object arg1, Object arg2) {
|
||||
if (plugin.getConfig().getString("loglevel", "info").equals("debug")) {
|
||||
info(format, arg1, arg2);
|
||||
}
|
||||
}
|
||||
|
||||
public void debug(String format, Object... arguments) {
|
||||
if (plugin.getConfig().getString("loglevel", "info").equals("debug")) {
|
||||
info(format, arguments);
|
||||
}
|
||||
}
|
||||
|
||||
public void warn(String message) {
|
||||
parent.warn(message);
|
||||
}
|
||||
|
||||
public void error(String message) {
|
||||
parent.error(message);
|
||||
}
|
||||
}
|
216
src/main/java/venture/Aust1n46/chat/VentureChat.java
Normal file
216
src/main/java/venture/Aust1n46/chat/VentureChat.java
Normal file
@ -0,0 +1,216 @@
|
||||
package venture.Aust1n46.chat;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
import org.bukkit.plugin.RegisteredServiceProvider;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.plugin.messaging.PluginMessageListener;
|
||||
import org.bukkit.scheduler.BukkitScheduler;
|
||||
|
||||
import com.comphenix.protocol.ProtocolLibrary;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Singleton;
|
||||
|
||||
import mineverse.Aust1n46.chat.localization.Localization;
|
||||
import mineverse.Aust1n46.chat.utilities.FormatUtils;
|
||||
import net.milkbowl.vault.chat.Chat;
|
||||
import net.milkbowl.vault.permission.Permission;
|
||||
import venture.Aust1n46.chat.controllers.PluginMessageController;
|
||||
import venture.Aust1n46.chat.controllers.VentureChatSpigotFlatFileController;
|
||||
import venture.Aust1n46.chat.initiators.listeners.ChatListener;
|
||||
import venture.Aust1n46.chat.initiators.listeners.CommandListener;
|
||||
import venture.Aust1n46.chat.initiators.listeners.LoginListener;
|
||||
import venture.Aust1n46.chat.initiators.listeners.PacketListener;
|
||||
import venture.Aust1n46.chat.initiators.listeners.SignListener;
|
||||
import venture.Aust1n46.chat.initiators.listeners.VentureCommandExecutor;
|
||||
import venture.Aust1n46.chat.initiators.schedulers.UnmuteScheduler;
|
||||
import venture.Aust1n46.chat.model.Alias;
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
import venture.Aust1n46.chat.model.GuiSlot;
|
||||
import venture.Aust1n46.chat.model.JsonFormat;
|
||||
import venture.Aust1n46.chat.service.VentureChatDatabaseService;
|
||||
import venture.Aust1n46.chat.service.VentureChatFormatService;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
/**
|
||||
* VentureChat Minecraft plugin for servers running Spigot or Paper software.
|
||||
*
|
||||
* @author Aust1n46
|
||||
*/
|
||||
@Singleton
|
||||
public class VentureChat extends JavaPlugin implements PluginMessageListener {
|
||||
public static final boolean ASYNC = true;
|
||||
public static final boolean SYNC = false;
|
||||
public static final int LINE_LENGTH = 40;
|
||||
|
||||
@Inject
|
||||
private LoginListener loginListener;
|
||||
@Inject
|
||||
private ChatListener chatListener;
|
||||
@Inject
|
||||
private SignListener signListener;
|
||||
@Inject
|
||||
private CommandListener commandListener;
|
||||
@Inject
|
||||
private VentureCommandExecutor commandExecutor;
|
||||
@Inject
|
||||
private PacketListener packetListener;
|
||||
@Inject
|
||||
private VentureChatPlaceholders ventureChatPlaceholders;
|
||||
@Inject
|
||||
private VentureChatFormatService formatter;
|
||||
@Inject
|
||||
private VentureChatDatabaseService databaseService;
|
||||
@Inject
|
||||
private VentureChatSpigotFlatFileController spigotFlatFileService;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
@Inject
|
||||
private UnmuteScheduler unmuteScheduler;
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
|
||||
private Permission permission = null;
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
VentureChatPluginModule pluginModule = new VentureChatPluginModule(this);
|
||||
pluginModule.createInjector().injectMembers(this);
|
||||
|
||||
try {
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&e - Initializing..."));
|
||||
if(!getDataFolder().exists()) {
|
||||
getDataFolder().mkdirs();
|
||||
}
|
||||
File file = new File(getDataFolder(), "config.yml");
|
||||
if(!file.exists()) {
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&e - Config not found! Generating file."));
|
||||
saveDefaultConfig();
|
||||
}
|
||||
else {
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&e - Config found! Loading file."));
|
||||
}
|
||||
|
||||
saveResource("example_config_always_up_to_date!.yml", true);
|
||||
}
|
||||
catch(Exception ex) {
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&e - &cCould not load configuration! Something unexpected went wrong!"));
|
||||
}
|
||||
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&e - Checking for Vault..."));
|
||||
|
||||
if(!setupPermissions() || !setupChat()) {
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&e - &cCould not find Vault and/or a Vault compatible permissions plugin!"));
|
||||
Bukkit.getPluginManager().disablePlugin(this);
|
||||
}
|
||||
|
||||
initializeConfigReaders();
|
||||
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&e - Loading player data"));
|
||||
spigotFlatFileService.loadLegacyPlayerData();
|
||||
spigotFlatFileService.loadPlayerData();
|
||||
|
||||
registerListeners();
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&e - Registering Listeners"));
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&e - Attaching to Executors"));
|
||||
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&e - Establishing BungeeCord"));
|
||||
Bukkit.getMessenger().registerOutgoingPluginChannel(this, PluginMessageController.PLUGIN_MESSAGING_CHANNEL);
|
||||
Bukkit.getMessenger().registerIncomingPluginChannel(this, PluginMessageController.PLUGIN_MESSAGING_CHANNEL, this);
|
||||
|
||||
PluginManager pluginManager = getServer().getPluginManager();
|
||||
if(pluginManager.isPluginEnabled("Towny")) {
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&e - Enabling Towny Formatting"));
|
||||
}
|
||||
if(pluginManager.isPluginEnabled("Jobs")) {
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&e - Enabling Jobs Formatting"));
|
||||
}
|
||||
if(pluginManager.isPluginEnabled("Factions")) {
|
||||
String version = pluginManager.getPlugin("Factions").getDescription().getVersion();
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&e - Enabling Factions Formatting version " + version));
|
||||
}
|
||||
if(pluginManager.isPluginEnabled("PlaceholderAPI")) {
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&e - Enabling PlaceholderAPI Hook"));
|
||||
}
|
||||
|
||||
ventureChatPlaceholders.register();
|
||||
|
||||
startRepeatingTasks();
|
||||
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&e - Enabled Successfully"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoad() {
|
||||
//new DebugLoggingProvider().enableDebugLogging();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
spigotFlatFileService.savePlayerData();
|
||||
playerApiService.clearMineverseChatPlayerMap();
|
||||
playerApiService.clearNameMap();
|
||||
playerApiService.clearOnlineMineverseChatPlayerMap();
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&e - Disabling..."));
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&e - Disabled Successfully"));
|
||||
}
|
||||
|
||||
private void startRepeatingTasks() {
|
||||
BukkitScheduler scheduler = Bukkit.getServer().getScheduler();
|
||||
scheduler.runTaskTimerAsynchronously(this, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
spigotFlatFileService.savePlayerData();
|
||||
if(getConfig().getString("loglevel", "info").equals("debug")) {
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&e - Saving Player Data"));
|
||||
}
|
||||
}
|
||||
}, 0L, getConfig().getInt("saveinterval") * 1200); //one minute * save interval
|
||||
}
|
||||
|
||||
private void registerListeners() {
|
||||
PluginManager pluginManager = getServer().getPluginManager();
|
||||
pluginManager.registerEvents(chatListener, this);
|
||||
pluginManager.registerEvents(signListener, this);
|
||||
pluginManager.registerEvents(commandListener, this);
|
||||
pluginManager.registerEvents(loginListener, this);
|
||||
ProtocolLibrary.getProtocolManager().addPacketListener(packetListener);
|
||||
}
|
||||
|
||||
private boolean setupPermissions() {
|
||||
RegisteredServiceProvider<Permission> permissionProvider = getServer().getServicesManager().getRegistration(net.milkbowl.vault.permission.Permission.class);
|
||||
if(permissionProvider != null) {
|
||||
permission = permissionProvider.getProvider();
|
||||
}
|
||||
return(permission != null);
|
||||
}
|
||||
|
||||
private boolean setupChat() {
|
||||
RegisteredServiceProvider<Chat> chatProvider = getServer().getServicesManager().getRegistration(net.milkbowl.vault.chat.Chat.class);
|
||||
Chat chat = null;
|
||||
if(chatProvider != null) {
|
||||
chat = chatProvider.getProvider();
|
||||
}
|
||||
return(chat != null);
|
||||
}
|
||||
|
||||
public void initializeConfigReaders() {
|
||||
Localization.initialize(this);
|
||||
Alias.initialize(this);
|
||||
JsonFormat.initialize(this);
|
||||
GuiSlot.initialize(this);
|
||||
ChatChannel.initialize(this, formatter, false);
|
||||
}
|
||||
|
||||
public Permission getVaultPermission() {
|
||||
return permission;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPluginMessageReceived(final String channel, final Player player, final byte[] inputStream) {
|
||||
pluginMessageController.processInboundPluginMessage(channel, player, inputStream);
|
||||
}
|
||||
}
|
@ -1,26 +1,30 @@
|
||||
package mineverse.Aust1n46.chat;
|
||||
package venture.Aust1n46.chat;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import me.clip.placeholderapi.PlaceholderAPIPlugin;
|
||||
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class VentureChatPlaceholders extends PlaceholderExpansion {
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public String onPlaceholderRequest(Player p, String identifier) {
|
||||
if (p == null) {
|
||||
return null;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer(p);
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer(p);
|
||||
if (mcp == null) {
|
||||
return "";
|
||||
}
|
||||
if (identifier.equalsIgnoreCase("nickname")) {
|
||||
return mcp.hasNickname() ? mcp.getNickname() : mcp.getName();
|
||||
}
|
||||
if (identifier.equalsIgnoreCase("something_else_you_think_of")) {
|
||||
return "value for that identifier *";
|
||||
}
|
||||
@ -73,6 +77,6 @@ public class VentureChatPlaceholders extends PlaceholderExpansion {
|
||||
|
||||
@Override
|
||||
public String getVersion() {
|
||||
return MineverseChat.getInstance().getDescription().getVersion();
|
||||
return plugin.getDescription().getVersion();
|
||||
}
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
package venture.Aust1n46.chat;
|
||||
|
||||
import com.google.inject.AbstractModule;
|
||||
import com.google.inject.Guice;
|
||||
import com.google.inject.Injector;
|
||||
|
||||
public class VentureChatPluginModule extends AbstractModule {
|
||||
private final VentureChat plugin;
|
||||
|
||||
public VentureChatPluginModule(final VentureChat plugin) {
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
||||
public Injector createInjector() {
|
||||
return Guice.createInjector(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void configure() {
|
||||
this.bind(VentureChat.class).toInstance(plugin);
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
||||
package mineverse.Aust1n46.chat.database;
|
||||
package venture.Aust1n46.chat.controllers;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
@ -11,22 +11,29 @@ import java.util.Set;
|
||||
import java.util.StringTokenizer;
|
||||
import java.util.UUID;
|
||||
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.SynchronizedMineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.command.mute.MuteContainer;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import mineverse.Aust1n46.chat.proxy.VentureChatProxySource;
|
||||
import mineverse.Aust1n46.chat.utilities.UUIDFetcher;
|
||||
import net.md_5.bungee.config.Configuration;
|
||||
import net.md_5.bungee.config.ConfigurationProvider;
|
||||
import net.md_5.bungee.config.YamlConfiguration;
|
||||
import venture.Aust1n46.chat.controllers.commands.MuteContainer;
|
||||
import venture.Aust1n46.chat.model.SynchronizedVentureChatPlayer;
|
||||
import venture.Aust1n46.chat.service.UUIDService;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
/**
|
||||
* Class for reading and writing proxy player data.
|
||||
*
|
||||
* @author Aust1n46
|
||||
*/
|
||||
public class ProxyPlayerData {
|
||||
public static void loadLegacyBungeePlayerData(File dataFolder, VentureChatProxySource source) {
|
||||
public class VentureChatProxyFlatFileController {
|
||||
@Inject
|
||||
private UUIDService uuidService;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
public void loadLegacyBungeePlayerData(File dataFolder, VentureChatProxySource source) {
|
||||
File sync = new File(dataFolder, "BungeePlayers.yml");
|
||||
if (!sync.exists()) {
|
||||
return;
|
||||
@ -37,7 +44,7 @@ public class ProxyPlayerData {
|
||||
Configuration playerData = ConfigurationProvider.getProvider(YamlConfiguration.class).load(sync);
|
||||
for (String uuidString : playerData.getKeys()) {
|
||||
UUID uuid = UUID.fromString(uuidString);
|
||||
if (UUIDFetcher.shouldSkipOfflineUUIDProxy(uuid, source)) {
|
||||
if (uuidService.shouldSkipOfflineUUIDProxy(uuid, source)) {
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c - Skipping Offline UUID: " + uuid);
|
||||
continue;
|
||||
}
|
||||
@ -62,10 +69,10 @@ public class ProxyPlayerData {
|
||||
}
|
||||
boolean spy = playerData.getBoolean(uuidString + ".spy");
|
||||
boolean messageToggle = playerData.getBoolean(uuidString + ".messagetoggle");
|
||||
MineverseChatAPI.addSynchronizedMineverseChatPlayerToMap(new SynchronizedMineverseChatPlayer(uuid, listening, mutes, ignores, spy, messageToggle));
|
||||
playerApiService.addSynchronizedMineverseChatPlayerToMap(new SynchronizedVentureChatPlayer(uuid, listening, mutes, ignores, spy, messageToggle));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
MineverseChatAPI.clearProxyPlayerMap();
|
||||
playerApiService.clearProxyPlayerMap();
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c - Error Loading Legacy Player Data!");
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c - Deleted BungeePlayers.yml file!");
|
||||
} finally {
|
||||
@ -73,7 +80,7 @@ public class ProxyPlayerData {
|
||||
}
|
||||
}
|
||||
|
||||
public static void loadProxyPlayerData(File dataFolder, VentureChatProxySource source) {
|
||||
public void loadProxyPlayerData(File dataFolder, VentureChatProxySource source) {
|
||||
try {
|
||||
File playerDataDirectory = dataFolder;
|
||||
if (!playerDataDirectory.exists()) {
|
||||
@ -87,8 +94,8 @@ public class ProxyPlayerData {
|
||||
}
|
||||
}
|
||||
|
||||
private static void readProxyPlayerDataFile(Path path, VentureChatProxySource source) {
|
||||
SynchronizedMineverseChatPlayer smcp;
|
||||
private void readProxyPlayerDataFile(Path path, VentureChatProxySource source) {
|
||||
SynchronizedVentureChatPlayer smcp;
|
||||
File proxyPlayerDataFile = path.toFile();
|
||||
if (!proxyPlayerDataFile.exists()) {
|
||||
return;
|
||||
@ -97,7 +104,7 @@ public class ProxyPlayerData {
|
||||
Configuration proxyPlayerDataFileConfiguration = ConfigurationProvider.getProvider(YamlConfiguration.class).load(proxyPlayerDataFile);
|
||||
String uuidString = proxyPlayerDataFile.getName().replace(".yml", "");
|
||||
UUID uuid = UUID.fromString(uuidString);
|
||||
if (UUIDFetcher.shouldSkipOfflineUUIDProxy(uuid, source)) {
|
||||
if (uuidService.shouldSkipOfflineUUIDProxy(uuid, source)) {
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c - Skipping Offline UUID: " + uuid);
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c - File will be skipped and deleted.");
|
||||
proxyPlayerDataFile.delete();
|
||||
@ -123,7 +130,7 @@ public class ProxyPlayerData {
|
||||
}
|
||||
boolean spy = proxyPlayerDataFileConfiguration.getBoolean("spy");
|
||||
boolean messageToggle = proxyPlayerDataFileConfiguration.getBoolean("messagetoggle");
|
||||
smcp = new SynchronizedMineverseChatPlayer(uuid, listening, mutes, ignores, spy, messageToggle);
|
||||
smcp = new SynchronizedVentureChatPlayer(uuid, listening, mutes, ignores, spy, messageToggle);
|
||||
} catch (Exception e) {
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c - Error Loading Data File: " + proxyPlayerDataFile.getName());
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c - File will be skipped and deleted.");
|
||||
@ -131,14 +138,14 @@ public class ProxyPlayerData {
|
||||
return;
|
||||
}
|
||||
if (smcp != null) {
|
||||
MineverseChatAPI.addSynchronizedMineverseChatPlayerToMap(smcp);
|
||||
playerApiService.addSynchronizedMineverseChatPlayerToMap(smcp);
|
||||
}
|
||||
}
|
||||
|
||||
public static void saveProxyPlayerData(File dataFolder, VentureChatProxySource source) {
|
||||
public void saveProxyPlayerData(File dataFolder, VentureChatProxySource source) {
|
||||
try {
|
||||
for (SynchronizedMineverseChatPlayer p : MineverseChatAPI.getSynchronizedMineverseChatPlayers()) {
|
||||
if (UUIDFetcher.shouldSkipOfflineUUIDProxy(p.getUUID(), source)) {
|
||||
for (SynchronizedVentureChatPlayer p : playerApiService.getSynchronizedMineverseChatPlayers()) {
|
||||
if (uuidService.shouldSkipOfflineUUIDProxy(p.getUUID(), source)) {
|
||||
return;
|
||||
}
|
||||
File proxyPlayerDataFile = new File(dataFolder.getAbsolutePath(), p.getUUID() + ".yml");
|
||||
@ -182,7 +189,7 @@ public class ProxyPlayerData {
|
||||
* @param sectionKey
|
||||
* @return Configuration
|
||||
*/
|
||||
private static Configuration createSection(Configuration configurationSection, String sectionKey) {
|
||||
private Configuration createSection(Configuration configurationSection, String sectionKey) {
|
||||
configurationSection.set(sectionKey, null);
|
||||
return configurationSection.getSection(sectionKey);
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package mineverse.Aust1n46.chat.database;
|
||||
package venture.Aust1n46.chat.controllers;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
@ -18,36 +18,51 @@ import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
|
||||
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.mute.MuteContainer;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
import mineverse.Aust1n46.chat.utilities.UUIDFetcher;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Singleton;
|
||||
|
||||
import mineverse.Aust1n46.chat.utilities.FormatUtils;
|
||||
import venture.Aust1n46.chat.VentureChat;
|
||||
import venture.Aust1n46.chat.controllers.commands.MuteContainer;
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.service.UUIDService;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
/**
|
||||
* Class for reading and writing player data.
|
||||
*
|
||||
* @author Aust1n46
|
||||
*/
|
||||
public class PlayerData {
|
||||
private static MineverseChat plugin = MineverseChat.getInstance();
|
||||
private static final String PLAYER_DATA_DIRECTORY_PATH = plugin.getDataFolder().getAbsolutePath() + "/PlayerData";
|
||||
|
||||
public static void loadLegacyPlayerData() {
|
||||
@Singleton
|
||||
public class VentureChatSpigotFlatFileController {
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
@Inject
|
||||
private UUIDService uuidService;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService ventureChatApi;
|
||||
|
||||
private String playerDataDirectoryPath;
|
||||
|
||||
@Inject
|
||||
public void postConstruct() {
|
||||
playerDataDirectoryPath = plugin.getDataFolder().getAbsolutePath() + "/PlayerData";
|
||||
}
|
||||
|
||||
public void loadLegacyPlayerData() {
|
||||
File legacyPlayerDataFile = new File(plugin.getDataFolder().getAbsolutePath(), "Players.yml");
|
||||
if (!legacyPlayerDataFile.isFile()) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - Detected Legacy Player Data!"));
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - Converting to new structure and deleting old Players.yml file!"));
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&c - Detected Legacy Player Data!"));
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&c - Converting to new structure and deleting old Players.yml file!"));
|
||||
FileConfiguration playerData = YamlConfiguration.loadConfiguration(legacyPlayerDataFile);
|
||||
for (String uuidString : playerData.getConfigurationSection("players").getKeys(false)) {
|
||||
UUID uuid = UUID.fromString(uuidString);
|
||||
if (UUIDFetcher.shouldSkipOfflineUUID(uuid)) {
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - Skipping Offline UUID: " + uuid));
|
||||
if (uuidService.shouldSkipOfflineUUID(uuid)) {
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&c - Skipping Offline UUID: " + uuid));
|
||||
continue;
|
||||
}
|
||||
String name = playerData.getConfigurationSection("players." + uuid).getString("name");
|
||||
@ -94,28 +109,28 @@ public class PlayerData {
|
||||
boolean rangedSpy = playerData.getConfigurationSection("players." + uuidString).getBoolean("rangedspy", false);
|
||||
boolean messageToggle = playerData.getConfigurationSection("players." + uuidString).getBoolean("messagetoggle", true);
|
||||
boolean bungeeToggle = playerData.getConfigurationSection("players." + uuidString).getBoolean("bungeetoggle", true);
|
||||
MineverseChatPlayer mcp = new MineverseChatPlayer(uuid, name, currentChannel, ignores, listening, mutes, blockedCommands, host, party, filter, notifications, jsonFormat, spy, commandSpy, rangedSpy, messageToggle, bungeeToggle);
|
||||
VentureChatPlayer mcp = new VentureChatPlayer(uuid, name, currentChannel, ignores, listening, mutes, blockedCommands, host, party, filter, notifications, jsonFormat, spy, commandSpy, rangedSpy, messageToggle, bungeeToggle);
|
||||
mcp.setModified(true);
|
||||
MineverseChatAPI.addMineverseChatPlayerToMap(mcp);
|
||||
MineverseChatAPI.addNameToMap(mcp);
|
||||
ventureChatApi.addMineverseChatPlayerToMap(mcp);
|
||||
ventureChatApi.addNameToMap(mcp);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
MineverseChatAPI.clearMineverseChatPlayerMap();
|
||||
MineverseChatAPI.clearNameMap();
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - Error Loading Legacy Player Data!"));
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - Deleted Players.yml file!"));
|
||||
ventureChatApi.clearMineverseChatPlayerMap();
|
||||
ventureChatApi.clearNameMap();
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&c - Error Loading Legacy Player Data!"));
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&c - Deleted Players.yml file!"));
|
||||
} finally {
|
||||
legacyPlayerDataFile.delete();
|
||||
}
|
||||
}
|
||||
|
||||
public static void loadPlayerData() {
|
||||
public void loadPlayerData() {
|
||||
try {
|
||||
File playerDataDirectory = new File(PLAYER_DATA_DIRECTORY_PATH);
|
||||
File playerDataDirectory = new File(playerDataDirectoryPath);
|
||||
if (!playerDataDirectory.exists()) {
|
||||
playerDataDirectory.mkdirs();
|
||||
}
|
||||
Files.walk(Paths.get(PLAYER_DATA_DIRECTORY_PATH))
|
||||
Files.walk(Paths.get(playerDataDirectoryPath))
|
||||
.filter(Files::isRegularFile)
|
||||
.forEach((path) -> readPlayerDataFile(path));
|
||||
} catch (IOException e) {
|
||||
@ -128,8 +143,8 @@ public class PlayerData {
|
||||
*
|
||||
* @param path
|
||||
*/
|
||||
private static void readPlayerDataFile(Path path) {
|
||||
MineverseChatPlayer mcp;
|
||||
private void readPlayerDataFile(Path path) {
|
||||
VentureChatPlayer mcp;
|
||||
File playerDataFile = path.toFile();
|
||||
if (!playerDataFile.exists()) {
|
||||
return;
|
||||
@ -138,9 +153,9 @@ public class PlayerData {
|
||||
FileConfiguration playerDataFileYamlConfiguration = YamlConfiguration.loadConfiguration(playerDataFile);
|
||||
String uuidString = playerDataFile.getName().replace(".yml", "");
|
||||
UUID uuid = UUID.fromString(uuidString);
|
||||
if (UUIDFetcher.shouldSkipOfflineUUID(uuid)) {
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - Skipping Offline UUID: " + uuid));
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - File will be skipped and deleted."));
|
||||
if (uuidService.shouldSkipOfflineUUID(uuid)) {
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&c - Skipping Offline UUID: " + uuid));
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&c - File will be skipped and deleted."));
|
||||
playerDataFile.delete();
|
||||
return;
|
||||
}
|
||||
@ -182,25 +197,25 @@ public class PlayerData {
|
||||
boolean rangedSpy = playerDataFileYamlConfiguration.getBoolean("rangedspy", false);
|
||||
boolean messageToggle = playerDataFileYamlConfiguration.getBoolean("messagetoggle", true);
|
||||
boolean bungeeToggle = playerDataFileYamlConfiguration.getBoolean("bungeetoggle", true);
|
||||
mcp = new MineverseChatPlayer(uuid, name, currentChannel, ignores, listening, mutes, blockedCommands, host, party, filter, notifications, jsonFormat, spy, commandSpy, rangedSpy, messageToggle, bungeeToggle);
|
||||
mcp = new VentureChatPlayer(uuid, name, currentChannel, ignores, listening, mutes, blockedCommands, host, party, filter, notifications, jsonFormat, spy, commandSpy, rangedSpy, messageToggle, bungeeToggle);
|
||||
} catch (Exception e) {
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - Error Loading Data File: " + playerDataFile.getName()));
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - File will be skipped and deleted."));
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&c - Error Loading Data File: " + playerDataFile.getName()));
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&c - File will be skipped and deleted."));
|
||||
playerDataFile.delete();
|
||||
return;
|
||||
}
|
||||
if (mcp != null) {
|
||||
MineverseChatAPI.addMineverseChatPlayerToMap(mcp);
|
||||
MineverseChatAPI.addNameToMap(mcp);
|
||||
ventureChatApi.addMineverseChatPlayerToMap(mcp);
|
||||
ventureChatApi.addNameToMap(mcp);
|
||||
}
|
||||
}
|
||||
|
||||
public static void savePlayerData(MineverseChatPlayer mcp) {
|
||||
if (mcp == null || UUIDFetcher.shouldSkipOfflineUUID(mcp.getUUID()) || (!mcp.isOnline() && !mcp.wasModified())) {
|
||||
public void savePlayerData(VentureChatPlayer mcp) {
|
||||
if (mcp == null || uuidService.shouldSkipOfflineUUID(mcp.getUuid()) || (!mcp.isOnline() && !mcp.wasModified())) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
File playerDataFile = new File(PLAYER_DATA_DIRECTORY_PATH, mcp.getUUID() + ".yml");
|
||||
File playerDataFile = new File(playerDataDirectoryPath, mcp.getUuid() + ".yml");
|
||||
FileConfiguration playerDataFileYamlConfiguration = YamlConfiguration.loadConfiguration(playerDataFile);
|
||||
if (!playerDataFile.exists()) {
|
||||
playerDataFileYamlConfiguration.save(playerDataFile);
|
||||
@ -237,13 +252,13 @@ public class PlayerData {
|
||||
playerDataFileYamlConfiguration.set("blockedcommands", blockedCommands);
|
||||
playerDataFileYamlConfiguration.set("host", mcp.isHost());
|
||||
playerDataFileYamlConfiguration.set("party", mcp.hasParty() ? mcp.getParty().toString() : "");
|
||||
playerDataFileYamlConfiguration.set("filter", mcp.hasFilter());
|
||||
playerDataFileYamlConfiguration.set("filter", mcp.isFilter());
|
||||
playerDataFileYamlConfiguration.set("notifications", mcp.hasNotifications());
|
||||
playerDataFileYamlConfiguration.set("spy", mcp.isSpy());
|
||||
playerDataFileYamlConfiguration.set("commandspy", mcp.hasCommandSpy());
|
||||
playerDataFileYamlConfiguration.set("rangedspy", mcp.getRangedSpy());
|
||||
playerDataFileYamlConfiguration.set("messagetoggle", mcp.getMessageToggle());
|
||||
playerDataFileYamlConfiguration.set("bungeetoggle", mcp.getBungeeToggle());
|
||||
playerDataFileYamlConfiguration.set("messagetoggle", mcp.isMessageToggle());
|
||||
playerDataFileYamlConfiguration.set("bungeetoggle", mcp.isBungeeToggle());
|
||||
Calendar currentDate = Calendar.getInstance();
|
||||
SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MMM/dd HH:mm:ss");
|
||||
String dateNow = formatter.format(currentDate.getTime());
|
||||
@ -256,8 +271,8 @@ public class PlayerData {
|
||||
}
|
||||
}
|
||||
|
||||
public static void savePlayerData() {
|
||||
for (MineverseChatPlayer p : MineverseChatAPI.getMineverseChatPlayers()) {
|
||||
public void savePlayerData() {
|
||||
for (VentureChatPlayer p : ventureChatApi.getMineverseChatPlayers()) {
|
||||
savePlayerData(p);
|
||||
}
|
||||
}
|
@ -1,31 +1,37 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
import mineverse.Aust1n46.chat.utilities.FormatUtils;
|
||||
import venture.Aust1n46.chat.VentureChat;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatFormatService;
|
||||
|
||||
public class Broadcast implements VentureCommand {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
@Inject
|
||||
private VentureChatFormatService formatService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
ConfigurationSection bs = plugin.getConfig().getConfigurationSection("broadcast");
|
||||
String broadcastColor = bs.getString("color", "white");
|
||||
String broadcastPermissions = bs.getString("permissions", "None");
|
||||
String broadcastDisplayTag = Format.FormatStringAll(bs.getString("displaytag", "[Broadcast]"));
|
||||
String broadcastDisplayTag = FormatUtils.FormatStringAll(bs.getString("displaytag", "[Broadcast]"));
|
||||
if (broadcastPermissions.equalsIgnoreCase("None") || sender.hasPermission(broadcastPermissions)) {
|
||||
if (args.length > 0) {
|
||||
String bc = "";
|
||||
for (int x = 0; x < args.length; x++) {
|
||||
if (args[x].length() > 0) bc += args[x] + " ";
|
||||
}
|
||||
bc = Format.FormatStringAll(bc);
|
||||
Format.broadcastToServer(broadcastDisplayTag + ChatColor.valueOf(broadcastColor.toUpperCase()) + " " + bc);
|
||||
bc = FormatUtils.FormatStringAll(bc);
|
||||
formatService.broadcastToServer(broadcastDisplayTag + ChatColor.valueOf(broadcastColor.toUpperCase()) + " " + bc);
|
||||
return;
|
||||
} else {
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
@ -1,16 +1,22 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
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 com.google.inject.Inject;
|
||||
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.controllers.PluginMessageController;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class BungeeToggle implements VentureCommand {
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
@ -18,17 +24,17 @@ public class BungeeToggle implements VentureCommand {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.bungeetoggle")) {
|
||||
if (!mcp.getBungeeToggle()) {
|
||||
if (!mcp.isBungeeToggle()) {
|
||||
mcp.setBungeeToggle(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.BUNGEE_TOGGLE_ON.toString());
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
return;
|
||||
}
|
||||
mcp.setBungeeToggle(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.BUNGEE_TOGGLE_OFF.toString());
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
@ -0,0 +1,83 @@
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Singleton;
|
||||
|
||||
import mineverse.Aust1n46.chat.api.events.ChannelJoinEvent;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.controllers.PluginMessageController;
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
@Singleton
|
||||
public class Channel implements VentureCommand {
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (!(sender instanceof Player)) {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return;
|
||||
}
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (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]);
|
||||
ChannelJoinEvent channelJoinEvent = new ChannelJoinEvent(mcp.getPlayer(), channel, LocalizedMessage.SET_CHANNEL.toString()
|
||||
.replace("{channel_color}", channel.getColor() + "")
|
||||
.replace("{channel_name}", channel.getName()));
|
||||
Bukkit.getServer().getPluginManager().callEvent(channelJoinEvent);
|
||||
handleChannelJoinEvent(channelJoinEvent);
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/channel")
|
||||
.replace("{args}", "[channel]"));
|
||||
return;
|
||||
}
|
||||
|
||||
private void handleChannelJoinEvent(final ChannelJoinEvent event) {
|
||||
if (event.isCancelled())
|
||||
return;
|
||||
ChatChannel channel = event.getChannel();
|
||||
VentureChatPlayer mcp = playerApiService.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 (VentureChatPlayer p : playerApiService.getOnlineMineverseChatPlayers()) {
|
||||
if (p.isSpy()) {
|
||||
p.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION_SPY.toString()
|
||||
.replace("{player_sender}", mcp.getName())
|
||||
.replace("{player_receiver}", playerApiService.getMineverseChatPlayer(mcp.getConversation()).getName()));
|
||||
}
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION.toString()
|
||||
.replace("{player_receiver}", playerApiService.getMineverseChatPlayer(mcp.getConversation()).getName()));
|
||||
mcp.setConversation(null);
|
||||
}
|
||||
mcp.addListening(channel.getName());
|
||||
mcp.setCurrentChannel(channel);
|
||||
mcp.getPlayer().sendMessage(event.getMessage());
|
||||
if (channel.getBungee()) {
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,11 +1,11 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
import mineverse.Aust1n46.chat.utilities.FormatUtils;
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
|
||||
public class Channelinfo implements VentureCommand {
|
||||
|
||||
@ -30,7 +30,7 @@ public class Channelinfo implements VentureCommand {
|
||||
sender.sendMessage(ChatColor.GOLD + "Channel: " + chname.getColor() + chname.getName());
|
||||
sender.sendMessage(ChatColor.GOLD + "Alias: " + chname.getColor() + chname.getAlias());
|
||||
sender.sendMessage(ChatColor.GOLD + "Color: " + chname.getColor() + chname.getColorRaw());
|
||||
sender.sendMessage(ChatColor.GOLD + "ChatColor: " + (chname.getChatColor().equalsIgnoreCase("None") ? Format.DEFAULT_COLOR_CODE : chname.getChatColor()) + chname.getChatColorRaw());
|
||||
sender.sendMessage(ChatColor.GOLD + "ChatColor: " + (chname.getChatColor().equalsIgnoreCase("None") ? FormatUtils.DEFAULT_COLOR_CODE : chname.getChatColor()) + chname.getChatColorRaw());
|
||||
if (chname.hasPermission()) {
|
||||
sender.sendMessage(ChatColor.GOLD + "Permission: " + chname.getColor() + chname.getPermission());
|
||||
} else {
|
@ -1,17 +1,20 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import 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;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Chatinfo implements VentureCommand {
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
@ -21,7 +24,7 @@ public class Chatinfo implements VentureCommand {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(ChatColor.RED + "This command must be run by a player; use /ci [name]");
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
String listen = "";
|
||||
String mute = "";
|
||||
String blockedcommands = "";
|
||||
@ -50,7 +53,7 @@ public class Chatinfo implements VentureCommand {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Blocked Commands: " + ChatColor.RED + "N/A");
|
||||
}
|
||||
if (mcp.hasConversation()) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Private conversation: " + ChatColor.GREEN + MineverseChatAPI.getMineverseChatPlayer(mcp.getConversation()).getName());
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Private conversation: " + ChatColor.GREEN + playerApiService.getMineverseChatPlayer(mcp.getConversation()).getName());
|
||||
} else {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Private conversation: " + ChatColor.RED + "N/A");
|
||||
}
|
||||
@ -64,7 +67,7 @@ public class Chatinfo implements VentureCommand {
|
||||
} else {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Command spy: " + ChatColor.RED + "false");
|
||||
}
|
||||
if (mcp.hasFilter()) {
|
||||
if (mcp.isFilter()) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Filter: " + ChatColor.GREEN + "true");
|
||||
} else {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GOLD + "Filter: " + ChatColor.RED + "false");
|
||||
@ -76,7 +79,7 @@ public class Chatinfo implements VentureCommand {
|
||||
String listen = "";
|
||||
String mute = "";
|
||||
String blockedcommands = "";
|
||||
MineverseChatPlayer p = MineverseChatAPI.getMineverseChatPlayer(args[0]);
|
||||
VentureChatPlayer p = playerApiService.getMineverseChatPlayer(args[0]);
|
||||
if (p == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Player: " + ChatColor.GOLD + args[0] + ChatColor.RED + " is not online.");
|
||||
return;
|
||||
@ -105,7 +108,7 @@ public class Chatinfo implements VentureCommand {
|
||||
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());
|
||||
sender.sendMessage(ChatColor.GOLD + "Private conversation: " + ChatColor.GREEN + playerApiService.getMineverseChatPlayer(p.getConversation()).getName());
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.GOLD + "Private conversation: " + ChatColor.RED + "N/A");
|
||||
}
|
||||
@ -119,7 +122,7 @@ public class Chatinfo implements VentureCommand {
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.GOLD + "Command spy: " + ChatColor.RED + "false");
|
||||
}
|
||||
if (p.hasFilter()) {
|
||||
if (p.isFilter()) {
|
||||
sender.sendMessage(ChatColor.GOLD + "Filter: " + ChatColor.GREEN + "true");
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.GOLD + "Filter: " + ChatColor.RED + "false");
|
@ -0,0 +1,67 @@
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import mineverse.Aust1n46.chat.utilities.FormatUtils;
|
||||
import venture.Aust1n46.chat.VentureChat;
|
||||
import venture.Aust1n46.chat.controllers.VentureChatSpigotFlatFileController;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Chatreload implements VentureCommand {
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
@Inject
|
||||
private VentureChatSpigotFlatFileController spigotFlatFileController;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if(sender.hasPermission("venturechat.reload")) {
|
||||
spigotFlatFileController.savePlayerData();
|
||||
playerApiService.clearMineverseChatPlayerMap();
|
||||
playerApiService.clearNameMap();
|
||||
playerApiService.clearOnlineMineverseChatPlayerMap();
|
||||
|
||||
plugin.reloadConfig();
|
||||
plugin.initializeConfigReaders();
|
||||
|
||||
spigotFlatFileController.loadLegacyPlayerData();
|
||||
spigotFlatFileController.loadPlayerData();
|
||||
for(Player p : plugin.getServer().getOnlinePlayers()) {
|
||||
VentureChatPlayer mcp = playerApiService.getMineverseChatPlayer(p);
|
||||
if(mcp == null) {
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&c - Could not find player data post reload for currently online player: " + p.getName()));
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&c - There could be an issue with your player data saving."));
|
||||
String name = p.getName();
|
||||
UUID uuid = p.getUniqueId();
|
||||
mcp = new VentureChatPlayer(uuid, name);
|
||||
}
|
||||
mcp.setOnline(true);
|
||||
mcp.setHasPlayed(false);
|
||||
mcp.setJsonFormat();
|
||||
playerApiService.addMineverseChatOnlinePlayerToMap(mcp);
|
||||
playerApiService.addNameToMap(mcp);
|
||||
}
|
||||
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&e - Config reloaded"));
|
||||
for(VentureChatPlayer player : playerApiService.getOnlineMineverseChatPlayers()) {
|
||||
if(player.getPlayer().hasPermission("venturechat.reload")) {
|
||||
player.getPlayer().sendMessage(LocalizedMessage.CONFIG_RELOADED.toString());
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
}
|
@ -1,10 +1,10 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
|
||||
public class Chlist implements VentureCommand {
|
||||
|
@ -1,6 +1,6 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import static mineverse.Aust1n46.chat.MineverseChat.LINE_LENGTH;
|
||||
import static venture.Aust1n46.chat.VentureChat.LINE_LENGTH;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataOutputStream;
|
||||
@ -11,19 +11,26 @@ import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
import com.massivecraft.factions.entity.MPlayer;
|
||||
import com.palmergames.bukkit.towny.TownyUniverse;
|
||||
import com.palmergames.bukkit.towny.object.Resident;
|
||||
|
||||
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 venture.Aust1n46.chat.VentureChat;
|
||||
import venture.Aust1n46.chat.controllers.PluginMessageController;
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Chwho implements VentureCommand {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
@ -34,7 +41,7 @@ public class Chwho implements VentureCommand {
|
||||
if (channel != null) {
|
||||
if (channel.hasPermission()) {
|
||||
if (!sender.hasPermission(channel.getPermission())) {
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer(((Player) sender));
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer(((Player) sender));
|
||||
mcp.removeListening(channel.getName());
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.CHANNEL_NO_PERMISSION_VIEW.toString());
|
||||
return;
|
||||
@ -42,15 +49,15 @@ public class Chwho implements VentureCommand {
|
||||
}
|
||||
|
||||
if (channel.getBungee() && sender instanceof Player) {
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
VentureChatPlayer mcp = playerApiService.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(mcp.getUuid().toString());
|
||||
out.writeUTF(channel.getName());
|
||||
mcp.getPlayer().sendPluginMessage(plugin, MineverseChat.PLUGIN_MESSAGING_CHANNEL, byteOutStream.toByteArray());
|
||||
pluginMessageController.sendPluginMessage(byteOutStream);
|
||||
out.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
@ -60,7 +67,7 @@ public class Chwho implements VentureCommand {
|
||||
|
||||
PluginManager pluginManager = plugin.getServer().getPluginManager();
|
||||
long linecount = LINE_LENGTH;
|
||||
for (MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
for (VentureChatPlayer p : playerApiService.getOnlineMineverseChatPlayers()) {
|
||||
if (p.getListening().contains(channel.getName())) {
|
||||
if (sender instanceof Player) {
|
||||
if (!((Player) sender).canSee(p.getPlayer())) {
|
@ -1,19 +1,23 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import mineverse.Aust1n46.chat.localization.InternalMessage;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Clearchat implements VentureCommand {
|
||||
@Inject
|
||||
private VentureChatPlayerApiService ventureChatApi;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.clearchat")) {
|
||||
for (MineverseChatPlayer player : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
for (VentureChatPlayer player : ventureChatApi.getOnlineMineverseChatPlayers()) {
|
||||
if (!player.getPlayer().hasPermission("venturechat.clearchat.bypass")) {
|
||||
for (int a = 1; a <= 20; a++)
|
||||
player.getPlayer().sendMessage(InternalMessage.EMPTY_STRING.toString());
|
@ -1,23 +1,28 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
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 com.google.inject.Inject;
|
||||
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.VentureChat;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Commandblock implements VentureCommand {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@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]);
|
||||
VentureChatPlayer player = playerApiService.getOnlineMineverseChatPlayer(args[0]);
|
||||
if (player == null) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
|
||||
.replace("{args}", args[0]));
|
@ -1,15 +1,19 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
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 com.google.inject.Inject;
|
||||
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Commandspy implements VentureCommand {
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
@ -17,7 +21,7 @@ public class Commandspy implements VentureCommand {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.commandspy")) {
|
||||
if (!mcp.hasCommandSpy()) {
|
||||
mcp.setCommandSpy(true);
|
@ -1,4 +1,4 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
@ -11,20 +11,34 @@ import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
import com.comphenix.protocol.events.PacketContainer;
|
||||
import com.comphenix.protocol.wrappers.WrappedChatComponent;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
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;
|
||||
import mineverse.Aust1n46.chat.utilities.FormatUtils;
|
||||
import venture.Aust1n46.chat.VentureChat;
|
||||
import venture.Aust1n46.chat.model.ChatMessage;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
import venture.Aust1n46.chat.service.VentureChatFormatService;
|
||||
|
||||
public class Edit implements VentureCommand {
|
||||
private PacketContainer emptyLinePacketContainer = Format.createPacketPlayOutChat("{\"extra\":[\" \"],\"text\":\"\"}");
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
@Inject
|
||||
private VentureChatFormatService formatService;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
private PacketContainer emptyLinePacketContainer;
|
||||
private WrappedChatComponent messageDeletedComponentPlayer;
|
||||
|
||||
@Inject
|
||||
public void postConstruct() {
|
||||
emptyLinePacketContainer = formatService.createPacketPlayOutChat("{\"extra\":[\" \"],\"text\":\"\"}");
|
||||
messageDeletedComponentPlayer = WrappedChatComponent.fromJson("{\"text\":\"\",\"extra\":[{\"text\":\"<message removed>\",\"color\":\"red\",\"italic\":\"true\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"" + FormatUtils.FormatStringAll(plugin.getConfig().getString("messageremoverpermissions")) + "\"}]}}}]}");
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings({"unchecked", "rawtypes"})
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
@ -44,7 +58,7 @@ public class Edit implements VentureCommand {
|
||||
new BukkitRunnable() {
|
||||
public void run() {
|
||||
final Map<Player, List<PacketContainer>> packets = new HashMap();
|
||||
for (MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
for (VentureChatPlayer p : playerApiService.getOnlineMineverseChatPlayers()) {
|
||||
List<ChatMessage> messages = p.getMessages();
|
||||
List<PacketContainer> playerPackets = new ArrayList();
|
||||
boolean resend = false;
|
||||
@ -56,22 +70,22 @@ public class Edit implements VentureCommand {
|
||||
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));
|
||||
playerPackets.add(formatService.createPacketPlayOutChat(removedComponent));
|
||||
resend = true;
|
||||
continue;
|
||||
}
|
||||
if (message.getMessage().contains(Format.FormatStringAll(plugin.getConfig().getString("messageremovericon")))) {
|
||||
if (message.getMessage().contains(FormatUtils.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));
|
||||
playerPackets.add(formatService.createPacketPlayOutChat(removedComponent));
|
||||
resend = true;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
playerPackets.add(Format.createPacketPlayOutChat(message.getComponent()));
|
||||
playerPackets.add(formatService.createPacketPlayOutChat(message.getComponent()));
|
||||
}
|
||||
if (resend) {
|
||||
packets.put(p.getPlayer(), playerPackets);
|
||||
@ -82,7 +96,7 @@ public class Edit implements VentureCommand {
|
||||
for (Player p : packets.keySet()) {
|
||||
List<PacketContainer> pPackets = packets.get(p);
|
||||
for (PacketContainer c : pPackets) {
|
||||
Format.sendPacketPlayOutChat(p, c);
|
||||
formatService.sendPacketPlayOutChat(p, c);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -92,17 +106,14 @@ public class Edit implements VentureCommand {
|
||||
}
|
||||
|
||||
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")))) {
|
||||
if (message.getMessage().contains(FormatUtils.FormatStringAll(plugin.getConfig().getString("messageremovericon")))) {
|
||||
oMessage = oMessage.substring(0, oMessage.length() - plugin.getConfig().getString("messageremovericon").length() - 4) + "\"}]";
|
||||
}
|
||||
return WrappedChatComponent.fromJson(Format.FormatStringAll("{\"text\":\"\",\"extra\":[{\"text\":\"&c&o<message removed>\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"&7Message: \"," + oMessage + "}}}]}"));
|
||||
return WrappedChatComponent.fromJson(FormatUtils.FormatStringAll("{\"text\":\"\",\"extra\":[{\"text\":\"&c&o<message removed>\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"&7Message: \"," + oMessage + "}}}]}"));
|
||||
}
|
||||
}
|
@ -1,15 +1,19 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
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 com.google.inject.Inject;
|
||||
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Filter implements VentureCommand {
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
@ -17,9 +21,9 @@ public class Filter implements VentureCommand {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.ignorefilter")) {
|
||||
if (!mcp.hasFilter()) {
|
||||
if (!mcp.isFilter()) {
|
||||
mcp.setFilter(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.FILTER_ON.toString());
|
||||
return;
|
@ -1,13 +1,17 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Force implements VentureCommand {
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
@ -18,7 +22,7 @@ public class Force implements VentureCommand {
|
||||
.replace("{args}", "[player] [message]"));
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer player = MineverseChatAPI.getOnlineMineverseChatPlayer(args[0]);
|
||||
VentureChatPlayer player = playerApiService.getOnlineMineverseChatPlayer(args[0]);
|
||||
if (player == null) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
|
||||
.replace("{args}", args[0]));
|
@ -1,13 +1,17 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Forceall implements VentureCommand {
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
@ -24,7 +28,7 @@ public class Forceall implements VentureCommand {
|
||||
}
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.FORCE_ALL.toString().replace("{message}", forcemsg));
|
||||
for (MineverseChatPlayer player : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
for (VentureChatPlayer player : playerApiService.getOnlineMineverseChatPlayers()) {
|
||||
player.getPlayer().chat(forcemsg);
|
||||
}
|
||||
return;
|
@ -1,4 +1,4 @@
|
||||
package mineverse.Aust1n46.chat.command.message;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataOutputStream;
|
||||
@ -14,13 +14,21 @@ import org.bukkit.command.TabExecutor;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.util.StringUtil;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.VentureChat;
|
||||
import venture.Aust1n46.chat.controllers.PluginMessageController;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class IgnoreCommandExecutor implements TabExecutor {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
@ -28,7 +36,7 @@ public class IgnoreCommandExecutor implements TabExecutor {
|
||||
plugin.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return true;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (args.length == 0) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS_IGNORE.toString());
|
||||
return true;
|
||||
@ -36,7 +44,7 @@ public class IgnoreCommandExecutor implements TabExecutor {
|
||||
if (args[0].equalsIgnoreCase("list")) {
|
||||
String ignoreList = "";
|
||||
for (UUID ignore : mcp.getIgnores()) {
|
||||
MineverseChatPlayer i = MineverseChatAPI.getMineverseChatPlayer(ignore);
|
||||
VentureChatPlayer i = playerApiService.getMineverseChatPlayer(ignore);
|
||||
String iName = ignore.toString();
|
||||
if (i != null) {
|
||||
iName = i.getName();
|
||||
@ -60,8 +68,8 @@ public class IgnoreCommandExecutor implements TabExecutor {
|
||||
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.writeUTF(mcp.getUuid().toString());
|
||||
pluginMessageController.sendPluginMessage(byteOutStream);
|
||||
out.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
@ -69,17 +77,17 @@ public class IgnoreCommandExecutor implements TabExecutor {
|
||||
return true;
|
||||
}
|
||||
|
||||
MineverseChatPlayer player = MineverseChatAPI.getOnlineMineverseChatPlayer(args[0]);
|
||||
VentureChatPlayer player = playerApiService.getOnlineMineverseChatPlayer(args[0]);
|
||||
if (player == null) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
|
||||
.replace("{args}", args[0]));
|
||||
return true;
|
||||
}
|
||||
if (mcp.getIgnores().contains(player.getUUID())) {
|
||||
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);
|
||||
mcp.removeIgnore(player.getUuid());
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
return true;
|
||||
}
|
||||
if (player.getPlayer().hasPermission("venturechat.ignore.bypass")) {
|
||||
@ -89,8 +97,8 @@ public class IgnoreCommandExecutor implements TabExecutor {
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORE_PLAYER_ON.toString()
|
||||
.replace("{player}", player.getName()));
|
||||
mcp.addIgnore(player.getUUID());
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
mcp.addIgnore(player.getUuid());
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -98,7 +106,7 @@ public class IgnoreCommandExecutor implements TabExecutor {
|
||||
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);
|
||||
StringUtil.copyPartialMatches(args[args.length - 1], playerApiService.getNetworkPlayerNames(), completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
}
|
@ -1,16 +1,22 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
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 com.google.inject.Inject;
|
||||
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.controllers.PluginMessageController;
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Kickchannel implements VentureCommand {
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
@ -21,7 +27,7 @@ public class Kickchannel implements VentureCommand {
|
||||
.replace("{args}", "[player] [channel]"));
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
|
||||
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[0]);
|
||||
if (player == null) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
|
||||
.replace("{args}", args[0]));
|
||||
@ -61,7 +67,7 @@ public class Kickchannel implements VentureCommand {
|
||||
player.setModified(true);
|
||||
}
|
||||
if (isThereABungeeChannel) {
|
||||
MineverseChat.synchronize(player, true);
|
||||
pluginMessageController.synchronize(player, true);
|
||||
}
|
||||
return;
|
||||
}
|
@ -1,16 +1,22 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
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 com.google.inject.Inject;
|
||||
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.controllers.PluginMessageController;
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Kickchannelall implements VentureCommand {
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
@ -21,7 +27,7 @@ public class Kickchannelall implements VentureCommand {
|
||||
.replace("{args}", "[player]"));
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
|
||||
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[0]);
|
||||
if (player == null) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
|
||||
.replace("{args}", args[0]));
|
||||
@ -45,7 +51,7 @@ public class Kickchannelall implements VentureCommand {
|
||||
isThereABungeeChannel = true;
|
||||
}
|
||||
if (isThereABungeeChannel) {
|
||||
MineverseChat.synchronize(player, true);
|
||||
pluginMessageController.synchronize(player, true);
|
||||
}
|
||||
if (player.isOnline()) {
|
||||
player.getPlayer().sendMessage(LocalizedMessage.KICK_CHANNEL_ALL_PLAYER.toString());
|
@ -1,18 +1,24 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import 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 com.google.inject.Inject;
|
||||
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.controllers.PluginMessageController;
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Leave implements VentureCommand {
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
@ -20,7 +26,7 @@ public class Leave implements VentureCommand {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (args.length > 0) {
|
||||
ChatChannel channel = ChatChannel.getChannel(args[0]);
|
||||
if (channel == null) {
|
||||
@ -45,7 +51,7 @@ public class Leave implements VentureCommand {
|
||||
.replace("{channel_name}", ChatChannel.getDefaultChannel().getName()));
|
||||
}
|
||||
if (isThereABungeeChannel) {
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
}
|
||||
return;
|
||||
}
|
@ -1,17 +1,23 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
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.command.VentureCommand;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.controllers.PluginMessageController;
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Listen implements VentureCommand {
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
@ -19,7 +25,7 @@ public class Listen implements VentureCommand {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (args.length > 0) {
|
||||
ChatChannel channel = ChatChannel.getChannel(args[0]);
|
||||
if (channel == null) {
|
||||
@ -39,7 +45,7 @@ public class Listen implements VentureCommand {
|
||||
.replace("{channel_color}", channel.getColor() + "")
|
||||
.replace("{channel_name}", channel.getName()));
|
||||
if (channel.getBungee()) {
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
}
|
||||
return;
|
||||
}
|
@ -1,14 +1,21 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
import mineverse.Aust1n46.chat.utilities.FormatUtils;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
import venture.Aust1n46.chat.service.VentureChatFormatService;
|
||||
|
||||
public class Me implements VentureCommand {
|
||||
@Inject
|
||||
private VentureChatFormatService formatService;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
@ -18,22 +25,22 @@ public class Me implements VentureCommand {
|
||||
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 instanceof Player && playerApiService.getOnlineMineverseChatPlayer((Player) sender).isFilter()) {
|
||||
msg = formatService.FilterChat(msg);
|
||||
}
|
||||
if (sender.hasPermission("venturechat.color.legacy")) {
|
||||
msg = Format.FormatStringLegacyColor(msg);
|
||||
msg = FormatUtils.FormatStringLegacyColor(msg);
|
||||
}
|
||||
if (sender.hasPermission("venturechat.color"))
|
||||
msg = Format.FormatStringColor(msg);
|
||||
msg = FormatUtils.FormatStringColor(msg);
|
||||
if (sender.hasPermission("venturechat.format"))
|
||||
msg = Format.FormatString(msg);
|
||||
msg = FormatUtils.FormatString(msg);
|
||||
if (sender instanceof Player) {
|
||||
Player p = (Player) sender;
|
||||
Format.broadcastToServer("* " + p.getDisplayName() + msg);
|
||||
formatService.broadcastToServer("* " + p.getDisplayName() + msg);
|
||||
return;
|
||||
}
|
||||
Format.broadcastToServer("* " + sender.getName() + msg);
|
||||
formatService.broadcastToServer("* " + sender.getName() + msg);
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
@ -1,4 +1,4 @@
|
||||
package mineverse.Aust1n46.chat.command.message;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataOutputStream;
|
||||
@ -12,15 +12,26 @@ import org.bukkit.command.TabExecutor;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.util.StringUtil;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import me.clip.placeholderapi.PlaceholderAPI;
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
import mineverse.Aust1n46.chat.utilities.FormatUtils;
|
||||
import venture.Aust1n46.chat.VentureChat;
|
||||
import venture.Aust1n46.chat.controllers.PluginMessageController;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
import venture.Aust1n46.chat.service.VentureChatFormatService;
|
||||
|
||||
public class MessageCommandExecutor implements TabExecutor {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
@Inject
|
||||
private VentureChatFormatService formatService;
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
@ -29,7 +40,7 @@ public class MessageCommandExecutor implements TabExecutor {
|
||||
return true;
|
||||
}
|
||||
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (args.length == 0) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/" + command.getName())
|
||||
@ -42,7 +53,7 @@ public class MessageCommandExecutor implements TabExecutor {
|
||||
return true;
|
||||
}
|
||||
|
||||
MineverseChatPlayer player = MineverseChatAPI.getOnlineMineverseChatPlayer(args[0]);
|
||||
VentureChatPlayer player = playerApiService.getOnlineMineverseChatPlayer(args[0]);
|
||||
if (player == null) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
|
||||
.replace("{args}", args[0]));
|
||||
@ -53,12 +64,12 @@ public class MessageCommandExecutor implements TabExecutor {
|
||||
.replace("{args}", args[0]));
|
||||
return true;
|
||||
}
|
||||
if (player.getIgnores().contains(mcp.getUUID())) {
|
||||
if (player.getIgnores().contains(mcp.getUuid())) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORING_MESSAGE.toString()
|
||||
.replace("{player}", player.getName()));
|
||||
return true;
|
||||
}
|
||||
if (!player.getMessageToggle()) {
|
||||
if (!player.isMessageToggle()) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.BLOCKING_MESSAGE.toString()
|
||||
.replace("{player}", player.getName()));
|
||||
return true;
|
||||
@ -73,36 +84,36 @@ public class MessageCommandExecutor implements TabExecutor {
|
||||
for (int r = 1; r < args.length; r++) {
|
||||
msg += " " + args[r];
|
||||
}
|
||||
if (mcp.hasFilter()) {
|
||||
msg = Format.FilterChat(msg);
|
||||
if (mcp.isFilter()) {
|
||||
msg = formatService.FilterChat(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
|
||||
msg = Format.FormatStringLegacyColor(msg);
|
||||
msg = FormatUtils.FormatStringLegacyColor(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color")) {
|
||||
msg = Format.FormatStringColor(msg);
|
||||
msg = FormatUtils.FormatStringColor(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.format")) {
|
||||
msg = Format.FormatString(msg);
|
||||
msg = FormatUtils.FormatString(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_", "")));
|
||||
send = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("tellformatfrom").replaceAll("sender_", "")));
|
||||
echo = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("tellformatto").replaceAll("sender_", "")));
|
||||
spy = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("tellformatspy").replaceAll("sender_", "")));
|
||||
|
||||
send = 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 = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(player.getPlayer(), send.replaceAll("receiver_", ""))) + msg;
|
||||
echo = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(player.getPlayer(), echo.replaceAll("receiver_", ""))) + msg;
|
||||
spy = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(player.getPlayer(), spy.replaceAll("receiver_", ""))) + msg;
|
||||
|
||||
player.setReplyPlayer(mcp.getUUID());
|
||||
mcp.setReplyPlayer(player.getUUID());
|
||||
player.setReplyPlayer(mcp.getUuid());
|
||||
mcp.setReplyPlayer(player.getUuid());
|
||||
player.getPlayer().sendMessage(send);
|
||||
mcp.getPlayer().sendMessage(echo);
|
||||
if (player.hasNotifications()) {
|
||||
Format.playMessageSound(player);
|
||||
formatService.playMessageSound(player);
|
||||
}
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) {
|
||||
for (MineverseChatPlayer sp : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
for (VentureChatPlayer sp : playerApiService.getOnlineMineverseChatPlayers()) {
|
||||
if (sp.getName().equals(mcp.getName()) || sp.getName().equals(player.getName())) {
|
||||
continue;
|
||||
}
|
||||
@ -115,10 +126,10 @@ public class MessageCommandExecutor implements TabExecutor {
|
||||
}
|
||||
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.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()) {
|
||||
for (VentureChatPlayer sp : playerApiService.getOnlineMineverseChatPlayers()) {
|
||||
if (sp.getName().equals(mcp.getName())) {
|
||||
continue;
|
||||
}
|
||||
@ -134,7 +145,7 @@ public class MessageCommandExecutor implements TabExecutor {
|
||||
} else {
|
||||
mcp.setConversation(null);
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) {
|
||||
for (MineverseChatPlayer sp : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
for (VentureChatPlayer sp : playerApiService.getOnlineMineverseChatPlayers()) {
|
||||
if (sp.getName().equals(mcp.getName())) {
|
||||
continue;
|
||||
}
|
||||
@ -157,14 +168,14 @@ public class MessageCommandExecutor implements TabExecutor {
|
||||
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);
|
||||
StringUtil.copyPartialMatches(args[args.length - 1], playerApiService.getNetworkPlayerNames(), completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private void sendBungeeCordMessage(MineverseChatPlayer mcp, String command, String[] args) {
|
||||
private void sendBungeeCordMessage(VentureChatPlayer mcp, String command, String[] args) {
|
||||
if (args.length < 2) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
|
||||
.replace("{command}", "/" + command)
|
||||
@ -178,36 +189,36 @@ public class MessageCommandExecutor implements TabExecutor {
|
||||
msgBuilder.append(" " + args[r]);
|
||||
}
|
||||
String msg = msgBuilder.toString();
|
||||
if (mcp.hasFilter()) {
|
||||
msg = Format.FilterChat(msg);
|
||||
if (mcp.isFilter()) {
|
||||
msg = formatService.FilterChat(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
|
||||
msg = Format.FormatStringLegacyColor(msg);
|
||||
msg = FormatUtils.FormatStringLegacyColor(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color")) {
|
||||
msg = Format.FormatStringColor(msg);
|
||||
msg = FormatUtils.FormatStringColor(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.format")) {
|
||||
msg = Format.FormatString(msg);
|
||||
msg = FormatUtils.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 send = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("tellformatfrom").replaceAll("sender_", "")));
|
||||
String echo = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("tellformatto").replaceAll("sender_", "")));
|
||||
String spy = "VentureChat:NoSpy";
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) {
|
||||
spy = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("tellformatspy").replaceAll("sender_", "")));
|
||||
spy = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("tellformatspy").replaceAll("sender_", "")));
|
||||
}
|
||||
try {
|
||||
out.writeUTF("Message");
|
||||
out.writeUTF("Send");
|
||||
out.writeUTF(args[0]);
|
||||
out.writeUTF(mcp.getUUID().toString());
|
||||
out.writeUTF(mcp.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());
|
||||
pluginMessageController.sendPluginMessage(byteOutStream);
|
||||
out.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
@ -1,16 +1,22 @@
|
||||
package mineverse.Aust1n46.chat.command.message;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
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 com.google.inject.Inject;
|
||||
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.controllers.PluginMessageController;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class MessageToggle implements VentureCommand {
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
@ -18,17 +24,17 @@ public class MessageToggle implements VentureCommand {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.messagetoggle")) {
|
||||
if (!mcp.getMessageToggle()) {
|
||||
if (!mcp.isMessageToggle()) {
|
||||
mcp.setMessageToggle(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.MESSAGE_TOGGLE_ON.toString());
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
return;
|
||||
}
|
||||
mcp.setMessageToggle(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.MESSAGE_TOGGLE_OFF.toString());
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
@ -1,4 +1,4 @@
|
||||
package mineverse.Aust1n46.chat.command.mute;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataOutputStream;
|
||||
@ -13,16 +13,23 @@ import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
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.channel.ChatChannel;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
import mineverse.Aust1n46.chat.utilities.FormatUtils;
|
||||
import venture.Aust1n46.chat.controllers.PluginMessageController;
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Mute implements VentureCommand {
|
||||
private static final List<String> COMMON_MUTE_TIMES = Collections.unmodifiableList(Arrays.asList(new String[]{"12h", "15m", "1d", "1h", "1m", "30s"}));
|
||||
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
@ -43,7 +50,7 @@ public class Mute implements VentureCommand {
|
||||
String timeString = args[2];
|
||||
if (Character.isDigit(timeString.charAt(0))) {
|
||||
reasonStartPos = 3;
|
||||
time = Format.parseTimeStringToMillis(timeString);
|
||||
time = FormatUtils.parseTimeStringToMillis(timeString);
|
||||
if (time <= 0) {
|
||||
sender.sendMessage(LocalizedMessage.INVALID_TIME.toString().replace("{args}", timeString));
|
||||
return;
|
||||
@ -53,13 +60,13 @@ public class Mute implements VentureCommand {
|
||||
for (int a = reasonStartPos; a < args.length; a++) {
|
||||
reasonBuilder.append(args[a] + " ");
|
||||
}
|
||||
reason = Format.FormatStringAll(reasonBuilder.toString().trim());
|
||||
reason = FormatUtils.FormatStringAll(reasonBuilder.toString().trim());
|
||||
}
|
||||
if (channel.getBungee()) {
|
||||
sendBungeeCordMute(sender, args[1], channel, time, reason);
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer playerToMute = MineverseChatAPI.getMineverseChatPlayer(args[1]);
|
||||
VentureChatPlayer playerToMute = playerApiService.getMineverseChatPlayer(args[1]);
|
||||
if (playerToMute == null || (!playerToMute.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[1]));
|
||||
return;
|
||||
@ -74,7 +81,7 @@ public class Mute implements VentureCommand {
|
||||
if (time > 0) {
|
||||
if (reason.isEmpty()) {
|
||||
playerToMute.addMute(channel.getName(), datetime + time);
|
||||
String timeString = Format.parseTimeStringFromMillis(time);
|
||||
String timeString = FormatUtils.parseTimeStringFromMillis(time);
|
||||
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER_TIME.toString()
|
||||
.replace("{player}", playerToMute.getName())
|
||||
.replace("{channel_color}", channel.getColor())
|
||||
@ -92,7 +99,7 @@ public class Mute implements VentureCommand {
|
||||
return;
|
||||
} else {
|
||||
playerToMute.addMute(channel.getName(), datetime + time, reason);
|
||||
String timeString = Format.parseTimeStringFromMillis(time);
|
||||
String timeString = FormatUtils.parseTimeStringFromMillis(time);
|
||||
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_SENDER_TIME_REASON.toString()
|
||||
.replace("{player}", playerToMute.getName())
|
||||
.replace("{channel_color}", channel.getColor())
|
||||
@ -168,11 +175,11 @@ public class Mute implements VentureCommand {
|
||||
if (ChatChannel.isChannel(args[0])) {
|
||||
ChatChannel chatChannelObj = ChatChannel.getChannel(args[0]);
|
||||
if (chatChannelObj.getBungee()) {
|
||||
StringUtil.copyPartialMatches(args[1], MineverseChatAPI.getNetworkPlayerNames(), completions);
|
||||
StringUtil.copyPartialMatches(args[1], playerApiService.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);
|
||||
StringUtil.copyPartialMatches(args[1], playerApiService.getOnlineMineverseChatPlayers().stream().filter(mcp -> !mcp.isMuted(chatChannelObj.getName())).map(VentureChatPlayer::getName).collect(Collectors.toList()), completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
}
|
||||
@ -201,7 +208,7 @@ public class Mute implements VentureCommand {
|
||||
out.writeUTF(channel.getName());
|
||||
out.writeLong(time);
|
||||
out.writeUTF(reason);
|
||||
MineverseChat.sendPluginMessage(byteOutStream);
|
||||
pluginMessageController.sendPluginMessage(byteOutStream);
|
||||
out.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
@ -1,4 +1,4 @@
|
||||
package mineverse.Aust1n46.chat.command.mute;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
public class MuteContainer {
|
||||
private String channel;
|
@ -1,16 +1,22 @@
|
||||
package mineverse.Aust1n46.chat.command.mute;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
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 com.google.inject.Inject;
|
||||
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
import mineverse.Aust1n46.chat.utilities.FormatUtils;
|
||||
import venture.Aust1n46.chat.controllers.PluginMessageController;
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Muteall implements VentureCommand {
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
@ -21,7 +27,7 @@ public class Muteall implements VentureCommand {
|
||||
.replace("{args}", "[player] {reason}"));
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
|
||||
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[0]);
|
||||
if (player == null || (!player.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
|
||||
.replace("{args}", args[0]));
|
||||
@ -33,7 +39,7 @@ public class Muteall implements VentureCommand {
|
||||
for (int a = 1; a < args.length; a++) {
|
||||
reasonBuilder.append(args[a] + " ");
|
||||
}
|
||||
reason = Format.FormatStringAll(reasonBuilder.toString().trim());
|
||||
reason = FormatUtils.FormatStringAll(reasonBuilder.toString().trim());
|
||||
}
|
||||
if (reason.isEmpty()) {
|
||||
boolean bungee = false;
|
||||
@ -46,7 +52,7 @@ public class Muteall implements VentureCommand {
|
||||
}
|
||||
}
|
||||
if (bungee) {
|
||||
MineverseChat.synchronize(player, true);
|
||||
pluginMessageController.synchronize(player, true);
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_ALL_SENDER.toString()
|
||||
.replace("{player}", player.getName()));
|
||||
@ -66,7 +72,7 @@ public class Muteall implements VentureCommand {
|
||||
}
|
||||
}
|
||||
if (bungee) {
|
||||
MineverseChat.synchronize(player, true);
|
||||
pluginMessageController.synchronize(player, true);
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.MUTE_PLAYER_ALL_SENDER_REASON.toString()
|
||||
.replace("{player}", player.getName())
|
@ -1,15 +1,19 @@
|
||||
package mineverse.Aust1n46.chat.command.message;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
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 com.google.inject.Inject;
|
||||
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Notifications implements VentureCommand {
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
@ -18,7 +22,7 @@ public class Notifications implements VentureCommand {
|
||||
return;
|
||||
}
|
||||
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (!mcp.hasNotifications()) {
|
||||
mcp.setNotifications(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.NOTIFICATIONS_ON.toString());
|
@ -1,19 +1,27 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import static mineverse.Aust1n46.chat.MineverseChat.LINE_LENGTH;
|
||||
import static venture.Aust1n46.chat.VentureChat.LINE_LENGTH;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
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;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import mineverse.Aust1n46.chat.utilities.FormatUtils;
|
||||
import venture.Aust1n46.chat.VentureChat;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
import venture.Aust1n46.chat.service.VentureChatFormatService;
|
||||
|
||||
public class Party implements VentureCommand {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
@Inject
|
||||
private VentureChatFormatService formatService;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
@ -21,7 +29,7 @@ public class Party implements VentureCommand {
|
||||
plugin.getServer().getConsoleSender().sendMessage(ChatColor.RED + "This command must be run by a player.");
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if(!mcp.getPlayer().hasPermission("venturechat.party")) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this command!");
|
||||
return;
|
||||
@ -36,7 +44,7 @@ public class Party implements VentureCommand {
|
||||
if(mcp.isHost()) {
|
||||
mcp.setHost(false);
|
||||
mcp.getPlayer().sendMessage(ChatColor.GREEN + "You are no longer hosting a party.");
|
||||
for(MineverseChatPlayer player : MineverseChatAPI.getMineverseChatPlayers()) {
|
||||
for(VentureChatPlayer player : playerApiService.getMineverseChatPlayers()) {
|
||||
if(player.hasParty() && player.getParty().equals(mcp.getParty())) {
|
||||
player.setParty(null);
|
||||
if(player.isOnline()) {
|
||||
@ -52,7 +60,7 @@ public class Party implements VentureCommand {
|
||||
}
|
||||
mcp.setHost(true);
|
||||
mcp.getPlayer().sendMessage(ChatColor.GREEN + "You are now hosting a party.");
|
||||
mcp.setParty(mcp.getUUID());
|
||||
mcp.setParty(mcp.getUuid());
|
||||
break;
|
||||
}
|
||||
case "join": {
|
||||
@ -61,7 +69,7 @@ public class Party implements VentureCommand {
|
||||
return;
|
||||
}
|
||||
if(args.length > 1) {
|
||||
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[1]);
|
||||
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[1]);
|
||||
if(player != null) {
|
||||
if(player.isHost()) {
|
||||
if(!mcp.hasParty()) {
|
||||
@ -73,11 +81,11 @@ public class Party implements VentureCommand {
|
||||
* "'s party."); break; }
|
||||
*/
|
||||
mcp.getPlayer().sendMessage(ChatColor.GREEN + "Joined " + player.getName() + "'s party.");
|
||||
mcp.setParty(player.getUUID());
|
||||
mcp.setParty(player.getUuid());
|
||||
player.getPlayer().sendMessage(ChatColor.GREEN + mcp.getName() + " joined your party.");
|
||||
break;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "You are already in " + MineverseChatAPI.getMineverseChatPlayer(mcp.getParty()).getName() + "'s party.");
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + "You are already in " + playerApiService.getMineverseChatPlayer(mcp.getParty()).getName() + "'s party.");
|
||||
break;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(ChatColor.RED + player.getName() + " is not hosting a party.");
|
||||
@ -95,11 +103,11 @@ public class Party implements VentureCommand {
|
||||
return;
|
||||
}
|
||||
if(mcp.hasParty()) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GREEN + "Leaving " + MineverseChatAPI.getMineverseChatPlayer(mcp.getParty()).getName() + "'s party.");
|
||||
mcp.getPlayer().sendMessage(ChatColor.GREEN + "Leaving " + playerApiService.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())) {
|
||||
for(VentureChatPlayer player : playerApiService.getMineverseChatPlayers()) {
|
||||
if(player.hasParty() && player.getParty().equals(mcp.getUuid()) && !player.getName().equals(mcp.getName())) {
|
||||
player.setParty(null);
|
||||
if(player.isOnline()) {
|
||||
player.getPlayer().sendMessage(ChatColor.RED + mcp.getName() + " is no longer hosting a party.");
|
||||
@ -123,10 +131,10 @@ public class Party implements VentureCommand {
|
||||
}
|
||||
if(mcp.isHost()) {
|
||||
if(args.length > 1) {
|
||||
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[1]);
|
||||
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[1]);
|
||||
if(player != null) {
|
||||
if(!player.getName().equals(mcp.getName())) {
|
||||
if(player.hasParty() && player.getParty().equals(mcp.getUUID())) {
|
||||
if(player.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.");
|
||||
@ -192,7 +200,7 @@ public class Party implements VentureCommand {
|
||||
return;
|
||||
}
|
||||
if(mcp.hasParty() && !mcp.isHost()) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GREEN + "You are in " + MineverseChatAPI.getMineverseChatPlayer(mcp.getParty()).getName() + "'s party.");
|
||||
mcp.getPlayer().sendMessage(ChatColor.GREEN + "You are in " + playerApiService.getMineverseChatPlayer(mcp.getParty()).getName() + "'s party.");
|
||||
}
|
||||
else if(mcp.isHost()) {
|
||||
mcp.getPlayer().sendMessage(ChatColor.GREEN + "You are hosting a party.");
|
||||
@ -218,9 +226,9 @@ public class Party implements VentureCommand {
|
||||
break;
|
||||
}
|
||||
if(mcp.hasConversation()) {
|
||||
String tellChat = MineverseChatAPI.getMineverseChatPlayer(mcp.getConversation()).getName();
|
||||
String tellChat = playerApiService.getMineverseChatPlayer(mcp.getConversation()).getName();
|
||||
mcp.setConversation(null);
|
||||
for(MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
for(VentureChatPlayer p : playerApiService.getOnlineMineverseChatPlayers()) {
|
||||
if(p.isSpy()) {
|
||||
p.getPlayer().sendMessage(mcp.getName() + " is no longer in a private conversation with " + tellChat + ".");
|
||||
}
|
||||
@ -245,13 +253,13 @@ public class Party implements VentureCommand {
|
||||
return;
|
||||
}
|
||||
if(args.length > 1) {
|
||||
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[1]);
|
||||
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[1]);
|
||||
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())) {
|
||||
for(VentureChatPlayer p : playerApiService.getMineverseChatPlayers()) {
|
||||
if(p.getParty() != null && p.getParty().equals(player.getUuid())) {
|
||||
if(members.length() + p.getName().length() > linecount) {
|
||||
members += "\n";
|
||||
linecount = linecount + LINE_LENGTH;
|
||||
@ -288,25 +296,25 @@ public class Party implements VentureCommand {
|
||||
for(int x = 0; x < args.length; x++) {
|
||||
if(args[x].length() > 0) msg += " " + args[x];
|
||||
}
|
||||
if(mcp.hasFilter()) {
|
||||
msg = Format.FilterChat(msg);
|
||||
if(mcp.isFilter()) {
|
||||
msg = formatService.FilterChat(msg);
|
||||
}
|
||||
if(mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
|
||||
msg = Format.FormatStringLegacyColor(msg);
|
||||
msg = FormatUtils.FormatStringLegacyColor(msg);
|
||||
}
|
||||
if(mcp.getPlayer().hasPermission("venturechat.color")) {
|
||||
msg = Format.FormatStringColor(msg);
|
||||
msg = FormatUtils.FormatStringColor(msg);
|
||||
}
|
||||
if(mcp.getPlayer().hasPermission("venturechat.format")) {
|
||||
msg = Format.FormatString(msg);
|
||||
msg = FormatUtils.FormatString(msg);
|
||||
}
|
||||
if(plugin.getConfig().getString("partyformat").equalsIgnoreCase("Default")) {
|
||||
partyformat = ChatColor.GREEN + "[" + MineverseChatAPI.getMineverseChatPlayer(mcp.getParty()).getName() + "'s Party] " + mcp.getName() + ":" + msg;
|
||||
partyformat = ChatColor.GREEN + "[" + playerApiService.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;
|
||||
partyformat = FormatUtils.FormatStringAll(plugin.getConfig().getString("partyformat").replace("{host}", playerApiService.getMineverseChatPlayer(mcp.getParty()).getName()).replace("{player}", mcp.getName())) + msg;
|
||||
}
|
||||
for(MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
for(VentureChatPlayer p : playerApiService.getOnlineMineverseChatPlayers()) {
|
||||
if((p.getParty().equals(mcp.getParty()) || p.isSpy())) {
|
||||
p.getPlayer().sendMessage(partyformat);
|
||||
}
|
@ -1,15 +1,19 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
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 venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
public class RangedSpy implements VentureCommand {
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
@ -17,7 +21,7 @@ public class RangedSpy implements VentureCommand {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.rangedspy")) {
|
||||
if (!mcp.getRangedSpy()) {
|
||||
mcp.setRangedSpy(true);
|
@ -1,4 +1,4 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataOutputStream;
|
||||
@ -7,15 +7,6 @@ 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.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
@ -23,13 +14,38 @@ import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
import com.comphenix.protocol.events.PacketContainer;
|
||||
import com.comphenix.protocol.wrappers.WrappedChatComponent;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import mineverse.Aust1n46.chat.utilities.FormatUtils;
|
||||
import venture.Aust1n46.chat.VentureChat;
|
||||
import venture.Aust1n46.chat.controllers.PluginMessageController;
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
import venture.Aust1n46.chat.model.ChatMessage;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
import venture.Aust1n46.chat.service.VentureChatFormatService;
|
||||
|
||||
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"))) + "]}}}]}");
|
||||
;
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
@Inject
|
||||
private VentureChatFormatService formatService;
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
private PacketContainer emptyLinePacketContainer;
|
||||
private WrappedChatComponent messageDeletedComponentPlayer;
|
||||
|
||||
@Inject
|
||||
public void postConstruct() {
|
||||
emptyLinePacketContainer = formatService.createPacketPlayOutChat("{\"extra\":[\" \"],\"text\":\"\"}");
|
||||
messageDeletedComponentPlayer = WrappedChatComponent.fromJson("{\"text\":\"\",\"extra\":[{\"text\":\"\",\"extra\":[" + formatService.convertToJsonColors(FormatUtils.FormatStringAll(plugin.getConfig().getString("messageremovertext"))) + "],\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[" + formatService.convertToJsonColors(FormatUtils.FormatStringAll(plugin.getConfig().getString("messageremoverpermissions"))) + "]}}}]}");
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings({"unchecked", "rawtypes"})
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
@ -46,13 +62,13 @@ public class Removemessage implements VentureCommand {
|
||||
sender.sendMessage(LocalizedMessage.INVALID_HASH.toString());
|
||||
return;
|
||||
}
|
||||
if (args.length > 1 && ChatChannel.isChannel(args[1]) && ChatChannel.getChannel(args[1]).getBungee() && sender instanceof Player) {
|
||||
if (args.length > 1 && ChatChannel.isChannel(args[1]) && ChatChannel.getChannel(args[1]).getBungee()) {
|
||||
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());
|
||||
pluginMessageController.sendPluginMessage(byteOutStream);
|
||||
out.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
@ -62,7 +78,7 @@ public class Removemessage implements VentureCommand {
|
||||
new BukkitRunnable() {
|
||||
public void run() {
|
||||
final Map<Player, List<PacketContainer>> packets = new HashMap();
|
||||
for (MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
for (VentureChatPlayer p : playerApiService.getOnlineMineverseChatPlayers()) {
|
||||
List<ChatMessage> messages = p.getMessages();
|
||||
List<PacketContainer> playerPackets = new ArrayList();
|
||||
boolean resend = false;
|
||||
@ -74,22 +90,22 @@ public class Removemessage implements VentureCommand {
|
||||
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));
|
||||
playerPackets.add(formatService.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 (message.getMessage().contains(ChatColor.stripColor(FormatUtils.FormatStringAll(plugin.getConfig().getString("guiicon"))))) {
|
||||
String submessage = message.getMessage().substring(0, message.getMessage().length() - ChatColor.stripColor(FormatUtils.FormatStringAll(plugin.getConfig().getString("guiicon"))).length());
|
||||
if (submessage.hashCode() == hash) {
|
||||
WrappedChatComponent removedComponent = p.getPlayer().hasPermission("venturechat.message.bypass") ? Removemessage.this.getMessageDeletedChatComponentAdmin(message) : Removemessage.this.getMessageDeletedChatComponentPlayer();
|
||||
message.setComponent(removedComponent);
|
||||
message.setHash(-1);
|
||||
playerPackets.add(Format.createPacketPlayOutChat(removedComponent));
|
||||
playerPackets.add(formatService.createPacketPlayOutChat(removedComponent));
|
||||
resend = true;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
playerPackets.add(Format.createPacketPlayOutChat(message.getComponent()));
|
||||
playerPackets.add(formatService.createPacketPlayOutChat(message.getComponent()));
|
||||
|
||||
}
|
||||
if (resend) {
|
||||
@ -101,7 +117,7 @@ public class Removemessage implements VentureCommand {
|
||||
for (Player p : packets.keySet()) {
|
||||
List<PacketContainer> pPackets = packets.get(p);
|
||||
for (PacketContainer c : pPackets) {
|
||||
Format.sendPacketPlayOutChat(p, c);
|
||||
formatService.sendPacketPlayOutChat(p, c);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -116,6 +132,6 @@ public class Removemessage implements VentureCommand {
|
||||
}
|
||||
|
||||
public WrappedChatComponent getMessageDeletedChatComponentAdmin(ChatMessage message) {
|
||||
return WrappedChatComponent.fromJson("[{\"text\":\"\",\"extra\":[{\"text\":\"\",\"extra\":[" + Format.convertToJsonColors(Format.FormatStringAll(plugin.getConfig().getString("messageremovertext"))) + "],\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\"," + message.getColoredMessage() + "}}}]}]");
|
||||
return WrappedChatComponent.fromJson("[{\"text\":\"\",\"extra\":[{\"text\":\"\",\"extra\":[" + formatService.convertToJsonColors(FormatUtils.FormatStringAll(plugin.getConfig().getString("messageremovertext"))) + "],\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\"," + message.getColoredMessage() + "}}}]}]");
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package mineverse.Aust1n46.chat.command.message;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataOutputStream;
|
||||
@ -6,16 +6,27 @@ import java.io.DataOutputStream;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
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;
|
||||
import mineverse.Aust1n46.chat.utilities.FormatUtils;
|
||||
import venture.Aust1n46.chat.VentureChat;
|
||||
import venture.Aust1n46.chat.controllers.PluginMessageController;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
import venture.Aust1n46.chat.service.VentureChatFormatService;
|
||||
|
||||
public class Reply implements VentureCommand {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
@Inject
|
||||
private VentureChatFormatService formatService;
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
@ -23,7 +34,7 @@ public class Reply implements VentureCommand {
|
||||
plugin.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (args.length > 0) {
|
||||
if (mcp.hasReplyPlayer()) {
|
||||
if (plugin.getConfig().getBoolean("bungeecordmessaging", true)) {
|
||||
@ -31,7 +42,7 @@ public class Reply implements VentureCommand {
|
||||
return;
|
||||
}
|
||||
|
||||
MineverseChatPlayer player = MineverseChatAPI.getOnlineMineverseChatPlayer(mcp.getReplyPlayer());
|
||||
VentureChatPlayer player = playerApiService.getOnlineMineverseChatPlayer(mcp.getReplyPlayer());
|
||||
if (player == null) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.NO_PLAYER_TO_REPLY_TO.toString());
|
||||
return;
|
||||
@ -40,12 +51,12 @@ public class Reply implements VentureCommand {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.NO_PLAYER_TO_REPLY_TO.toString());
|
||||
return;
|
||||
}
|
||||
if (player.getIgnores().contains(mcp.getUUID())) {
|
||||
if (player.getIgnores().contains(mcp.getUuid())) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.IGNORING_MESSAGE.toString()
|
||||
.replace("{player}", player.getName()));
|
||||
return;
|
||||
}
|
||||
if (!player.getMessageToggle()) {
|
||||
if (!player.isMessageToggle()) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.BLOCKING_MESSAGE.toString()
|
||||
.replace("{player}", player.getName()));
|
||||
return;
|
||||
@ -57,29 +68,29 @@ public class Reply implements VentureCommand {
|
||||
if (args.length > 0) {
|
||||
for (int r = 0; r < args.length; r++)
|
||||
msg += " " + args[r];
|
||||
if (mcp.hasFilter()) {
|
||||
msg = Format.FilterChat(msg);
|
||||
if (mcp.isFilter()) {
|
||||
msg = formatService.FilterChat(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
|
||||
msg = Format.FormatStringLegacyColor(msg);
|
||||
msg = FormatUtils.FormatStringLegacyColor(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color")) {
|
||||
msg = Format.FormatStringColor(msg);
|
||||
msg = FormatUtils.FormatStringColor(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.format")) {
|
||||
msg = Format.FormatString(msg);
|
||||
msg = FormatUtils.FormatString(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_", "")));
|
||||
send = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatfrom").replaceAll("sender_", "")));
|
||||
echo = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatto").replaceAll("sender_", "")));
|
||||
spy = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatspy").replaceAll("sender_", "")));
|
||||
|
||||
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 = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(player.getPlayer(), send.replaceAll("receiver_", ""))) + msg;
|
||||
echo = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(player.getPlayer(), echo.replaceAll("receiver_", ""))) + msg;
|
||||
spy = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(player.getPlayer(), spy.replaceAll("receiver_", ""))) + msg;
|
||||
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) {
|
||||
for (MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
for (VentureChatPlayer p : playerApiService.getOnlineMineverseChatPlayers()) {
|
||||
if (p.getName().equals(mcp.getName()) || p.getName().equals(player.getName())) {
|
||||
continue;
|
||||
}
|
||||
@ -91,9 +102,9 @@ public class Reply implements VentureCommand {
|
||||
player.getPlayer().sendMessage(send);
|
||||
mcp.getPlayer().sendMessage(echo);
|
||||
if (player.hasNotifications()) {
|
||||
Format.playMessageSound(player);
|
||||
formatService.playMessageSound(player);
|
||||
}
|
||||
player.setReplyPlayer(mcp.getUUID());
|
||||
player.setReplyPlayer(mcp.getUuid());
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -105,7 +116,7 @@ public class Reply implements VentureCommand {
|
||||
.replace("{args}", "[message]"));
|
||||
}
|
||||
|
||||
private void sendBungeeCordReply(MineverseChatPlayer mcp, String[] args) {
|
||||
private void sendBungeeCordReply(VentureChatPlayer mcp, String[] args) {
|
||||
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
|
||||
DataOutputStream out = new DataOutputStream(byteOutStream);
|
||||
StringBuilder msgBuilder = new StringBuilder();
|
||||
@ -113,36 +124,36 @@ public class Reply implements VentureCommand {
|
||||
msgBuilder.append(" " + args[r]);
|
||||
}
|
||||
String msg = msgBuilder.toString();
|
||||
if (mcp.hasFilter()) {
|
||||
msg = Format.FilterChat(msg);
|
||||
if (mcp.isFilter()) {
|
||||
msg = formatService.FilterChat(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
|
||||
msg = Format.FormatStringLegacyColor(msg);
|
||||
msg = FormatUtils.FormatStringLegacyColor(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color")) {
|
||||
msg = Format.FormatStringColor(msg);
|
||||
msg = FormatUtils.FormatStringColor(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.format")) {
|
||||
msg = Format.FormatString(msg);
|
||||
msg = FormatUtils.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 send = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatfrom").replaceAll("sender_", "")));
|
||||
String echo = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatto").replaceAll("sender_", "")));
|
||||
String spy = "VentureChat:NoSpy";
|
||||
if (!mcp.getPlayer().hasPermission("venturechat.spy.override")) {
|
||||
spy = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(mcp.getPlayer(), plugin.getConfig().getString("replyformatspy").replaceAll("sender_", "")));
|
||||
spy = FormatUtils.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(playerApiService.getMineverseChatPlayer(mcp.getReplyPlayer()).getName());
|
||||
out.writeUTF(mcp.getUuid().toString());
|
||||
out.writeUTF(mcp.getName());
|
||||
out.writeUTF(send);
|
||||
out.writeUTF(echo);
|
||||
out.writeUTF(spy);
|
||||
out.writeUTF(msg);
|
||||
mcp.getPlayer().sendPluginMessage(plugin, MineverseChat.PLUGIN_MESSAGING_CHANNEL, byteOutStream.toByteArray());
|
||||
pluginMessageController.sendPluginMessage(byteOutStream);
|
||||
out.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
@ -1,15 +1,21 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
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 com.google.inject.Inject;
|
||||
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.controllers.PluginMessageController;
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Setchannel implements VentureCommand {
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
@ -20,7 +26,7 @@ public class Setchannel implements VentureCommand {
|
||||
.replace("{args}", "[player] [channel]"));
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
|
||||
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[0]);
|
||||
if (player == null) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
|
||||
.replace("{args}", args[0]));
|
||||
@ -53,16 +59,16 @@ public class Setchannel implements VentureCommand {
|
||||
.replace("{channel_color}", channel.getColor() + "")
|
||||
.replace("{channel_name}", channel.getName()));
|
||||
if (player.hasConversation()) {
|
||||
for (MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
for (VentureChatPlayer p : playerApiService.getOnlineMineverseChatPlayers()) {
|
||||
if (p.isSpy()) {
|
||||
p.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION_SPY.toString()
|
||||
.replace("{player_sender}", player.getName())
|
||||
.replace("{player_receiver}", MineverseChatAPI.getMineverseChatPlayer(player.getConversation()).getName()));
|
||||
.replace("{player_receiver}", playerApiService.getMineverseChatPlayer(player.getConversation()).getName()));
|
||||
}
|
||||
}
|
||||
if (player.isOnline())
|
||||
player.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION.toString()
|
||||
.replace("{player_receiver}", MineverseChatAPI.getMineverseChatPlayer(player.getConversation()).getName()));
|
||||
.replace("{player_receiver}", playerApiService.getMineverseChatPlayer(player.getConversation()).getName()));
|
||||
else
|
||||
player.setModified(true);
|
||||
player.setConversation(null);
|
||||
@ -75,7 +81,7 @@ public class Setchannel implements VentureCommand {
|
||||
player.setModified(true);
|
||||
}
|
||||
if (channel.getBungee()) {
|
||||
MineverseChat.synchronize(player, true);
|
||||
pluginMessageController.synchronize(player, true);
|
||||
}
|
||||
return;
|
||||
}
|
@ -1,15 +1,21 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
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 com.google.inject.Inject;
|
||||
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.controllers.PluginMessageController;
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Setchannelall implements VentureCommand {
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
@ -20,7 +26,7 @@ public class Setchannelall implements VentureCommand {
|
||||
.replace("{args}", "[player]"));
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
|
||||
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[0]);
|
||||
if (player == null) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
|
||||
.replace("{args}", args[0]));
|
||||
@ -52,7 +58,7 @@ public class Setchannelall implements VentureCommand {
|
||||
else
|
||||
player.setModified(true);
|
||||
if (isThereABungeeChannel) {
|
||||
MineverseChat.synchronize(player, true);
|
||||
pluginMessageController.synchronize(player, true);
|
||||
}
|
||||
return;
|
||||
}
|
@ -1,16 +1,22 @@
|
||||
package mineverse.Aust1n46.chat.command.message;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
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 com.google.inject.Inject;
|
||||
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.controllers.PluginMessageController;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Spy implements VentureCommand {
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
@ -18,17 +24,17 @@ public class Spy implements VentureCommand {
|
||||
Bukkit.getServer().getConsoleSender().sendMessage(LocalizedMessage.COMMAND_MUST_BE_RUN_BY_PLAYER.toString());
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.spy")) {
|
||||
if (!mcp.isSpy()) {
|
||||
mcp.setSpy(true);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.SPY_ON.toString());
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
return;
|
||||
}
|
||||
mcp.setSpy(false);
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.SPY_OFF.toString());
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
return;
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
@ -1,4 +1,4 @@
|
||||
package mineverse.Aust1n46.chat.command.mute;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataOutputStream;
|
||||
@ -12,14 +12,20 @@ import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
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.channel.ChatChannel;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.controllers.PluginMessageController;
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Unmute implements VentureCommand {
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
@ -35,7 +41,7 @@ public class Unmute implements VentureCommand {
|
||||
sendBungeeCordUnmute(sender, args[1], channel);
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[1]);
|
||||
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[1]);
|
||||
if (player == null || (!player.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString().replace("{args}", args[1]));
|
||||
return;
|
||||
@ -79,11 +85,11 @@ public class Unmute implements VentureCommand {
|
||||
if (ChatChannel.isChannel(args[0])) {
|
||||
ChatChannel chatChannelObj = ChatChannel.getChannel(args[0]);
|
||||
if (chatChannelObj.getBungee()) {
|
||||
StringUtil.copyPartialMatches(args[1], MineverseChatAPI.getNetworkPlayerNames(), completions);
|
||||
StringUtil.copyPartialMatches(args[1], playerApiService.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);
|
||||
StringUtil.copyPartialMatches(args[1], playerApiService.getOnlineMineverseChatPlayers().stream().filter(mcp -> mcp.isMuted(chatChannelObj.getName())).map(VentureChatPlayer::getName).collect(Collectors.toList()), completions);
|
||||
Collections.sort(completions);
|
||||
return completions;
|
||||
}
|
||||
@ -104,7 +110,7 @@ public class Unmute implements VentureCommand {
|
||||
}
|
||||
out.writeUTF(playerToUnmute);
|
||||
out.writeUTF(channel.getName());
|
||||
MineverseChat.sendPluginMessage(byteOutStream);
|
||||
pluginMessageController.sendPluginMessage(byteOutStream);
|
||||
out.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
@ -1,15 +1,21 @@
|
||||
package mineverse.Aust1n46.chat.command.mute;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
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 com.google.inject.Inject;
|
||||
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import venture.Aust1n46.chat.controllers.PluginMessageController;
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class Unmuteall implements VentureCommand {
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
@ -20,7 +26,7 @@ public class Unmuteall implements VentureCommand {
|
||||
.replace("{args}", "[player]"));
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
|
||||
VentureChatPlayer player = playerApiService.getMineverseChatPlayer(args[0]);
|
||||
if (player == null || (!player.isOnline() && !sender.hasPermission("venturechat.mute.offline"))) {
|
||||
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
|
||||
.replace("{args}", args[0]));
|
||||
@ -34,7 +40,7 @@ public class Unmuteall implements VentureCommand {
|
||||
}
|
||||
}
|
||||
if (bungee) {
|
||||
MineverseChat.synchronize(player, true);
|
||||
pluginMessageController.synchronize(player, true);
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.UNMUTE_PLAYER_ALL_SENDER.toString()
|
||||
.replace("{player}", player.getName()));
|
||||
@ -48,4 +54,4 @@ public class Unmuteall implements VentureCommand {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@ -13,19 +13,24 @@ import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.inventory.meta.SkullMeta;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
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.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.utilities.FormatUtils;
|
||||
import mineverse.Aust1n46.chat.versions.VersionHandler;
|
||||
import venture.Aust1n46.chat.VentureChat;
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
import venture.Aust1n46.chat.model.GuiSlot;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class VentureChatGui implements VentureCommand {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
@ -39,9 +44,9 @@ public class VentureChatGui implements VentureCommand {
|
||||
.replace("{args}", "[player] [channel] [hashcode]"));
|
||||
return;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
if (mcp.getPlayer().hasPermission("venturechat.gui")) {
|
||||
MineverseChatPlayer target = MineverseChatAPI.getMineverseChatPlayer(args[0]);
|
||||
VentureChatPlayer target = playerApiService.getMineverseChatPlayer(args[0]);
|
||||
if (target == null && !args[0].equals("Discord")) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
|
||||
.replace("{args}", args[0]));
|
||||
@ -72,7 +77,7 @@ public class VentureChatGui implements VentureCommand {
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
private void openInventory(MineverseChatPlayer mcp, MineverseChatPlayer target, ChatChannel channel, int hash) {
|
||||
private void openInventory(VentureChatPlayer mcp, VentureChatPlayer target, ChatChannel channel, int hash) {
|
||||
Inventory inv = Bukkit.createInventory(null, this.getSlots(), "VentureChat: " + target.getName() + " GUI");
|
||||
ItemStack close = null;
|
||||
ItemStack skull = null;
|
||||
@ -106,7 +111,7 @@ public class VentureChatGui implements VentureCommand {
|
||||
for (GuiSlot g : GuiSlot.getGuiSlots()) {
|
||||
if (!g.hasPermission() || mcp.getPlayer().hasPermission(g.getPermission())) {
|
||||
if (this.checkSlot(g.getSlot())) {
|
||||
MineverseChat.getInstance().getServer().getConsoleSender().sendMessage(Format.FormatStringAll("&cGUI: " + g.getName() + " has invalid slot: " + g.getSlot() + "!"));
|
||||
plugin.getServer().getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&cGUI: " + g.getName() + " has invalid slot: " + g.getSlot() + "!"));
|
||||
continue;
|
||||
}
|
||||
ItemStack gStack = new ItemStack(g.getIcon());
|
||||
@ -116,7 +121,7 @@ public class VentureChatGui implements VentureCommand {
|
||||
if (target.isOnline()) {
|
||||
displayName = PlaceholderAPI.setBracketPlaceholders(target.getPlayer(), displayName);
|
||||
}
|
||||
gMeta.setDisplayName(Format.FormatStringAll(displayName));
|
||||
gMeta.setDisplayName(FormatUtils.FormatStringAll(displayName));
|
||||
List<String> gLore = new ArrayList<String>();
|
||||
gMeta.setLore(gLore);
|
||||
gStack.setItemMeta(gMeta);
|
||||
@ -129,7 +134,7 @@ public class VentureChatGui implements VentureCommand {
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
private void openInventoryDiscord(MineverseChatPlayer mcp, ChatChannel channel, int hash) {
|
||||
private void openInventoryDiscord(VentureChatPlayer mcp, ChatChannel channel, int hash) {
|
||||
Inventory inv = Bukkit.createInventory(null, this.getSlots(), "VentureChat: Discord_Message GUI");
|
||||
ItemStack close = null;
|
||||
ItemStack skull = null;
|
||||
@ -163,14 +168,14 @@ public class VentureChatGui implements VentureCommand {
|
||||
for (GuiSlot g : GuiSlot.getGuiSlots()) {
|
||||
if (!g.hasPermission() || mcp.getPlayer().hasPermission(g.getPermission())) {
|
||||
if (this.checkSlot(g.getSlot())) {
|
||||
MineverseChat.getInstance().getServer().getConsoleSender().sendMessage(Format.FormatStringAll("&cGUI: " + g.getName() + " has invalid slot: " + g.getSlot() + "!"));
|
||||
plugin.getServer().getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&cGUI: " + g.getName() + " has invalid slot: " + g.getSlot() + "!"));
|
||||
continue;
|
||||
}
|
||||
ItemStack gStack = new ItemStack(g.getIcon());
|
||||
gStack.setDurability((short) g.getDurability());
|
||||
ItemMeta gMeta = gStack.getItemMeta();
|
||||
String displayName = g.getText().replace("{player_name}", "Discord_Message").replace("{channel}", channel.getName()).replace("{hash}", hash + "");
|
||||
gMeta.setDisplayName(Format.FormatStringAll(displayName));
|
||||
gMeta.setDisplayName(FormatUtils.FormatStringAll(displayName));
|
||||
List<String> gLore = new ArrayList<String>();
|
||||
gMeta.setLore(gLore);
|
||||
gStack.setItemMeta(gMeta);
|
@ -1,22 +1,25 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
package venture.Aust1n46.chat.controllers.commands;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.InternalMessage;
|
||||
import venture.Aust1n46.chat.VentureChat;
|
||||
//import net.md_5.bungee.api.chat.ClickEvent;
|
||||
//import net.md_5.bungee.api.chat.ComponentBuilder;
|
||||
//import net.md_5.bungee.api.chat.HoverEvent;
|
||||
//import net.md_5.bungee.api.chat.TextComponent;
|
||||
//import net.minecraft.server.v1_15_R1.IChatBaseComponent;
|
||||
//import net.minecraft.server.v1_15_R1.PacketPlayOutChat;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
|
||||
//import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
//import org.bukkit.craftbukkit.v1_15_R1.entity.CraftPlayer;
|
||||
//import org.bukkit.entity.Player;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
public class Venturechat implements VentureCommand {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
File diff suppressed because it is too large
Load Diff
@ -1,18 +1,7 @@
|
||||
package mineverse.Aust1n46.chat.listeners;
|
||||
package venture.Aust1n46.chat.initiators.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;
|
||||
@ -30,31 +19,56 @@ import org.bukkit.event.server.ServerCommandEvent;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.SkullMeta;
|
||||
|
||||
import me.clip.placeholderapi.PlaceholderAPI;
|
||||
|
||||
//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 {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) throws FileNotFoundException {
|
||||
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());
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Singleton;
|
||||
|
||||
import me.clip.placeholderapi.PlaceholderAPI;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import mineverse.Aust1n46.chat.utilities.FormatUtils;
|
||||
import mineverse.Aust1n46.chat.versions.VersionHandler;
|
||||
import venture.Aust1n46.chat.VentureChat;
|
||||
import venture.Aust1n46.chat.controllers.PluginMessageController;
|
||||
import venture.Aust1n46.chat.model.Alias;
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
import venture.Aust1n46.chat.model.GuiSlot;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
import venture.Aust1n46.chat.service.VentureChatDatabaseService;
|
||||
import venture.Aust1n46.chat.service.VentureChatFormatService;
|
||||
|
||||
//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.
|
||||
@Singleton
|
||||
public class CommandListener implements CommandExecutor, Listener {
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
@Inject
|
||||
private VentureChatFormatService formatService;
|
||||
@Inject
|
||||
private VentureChatDatabaseService databaseService;
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) throws FileNotFoundException {
|
||||
if(event.getPlayer() == null) {
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&c - Event.getPlayer() returned null in PlayerCommandPreprocessEvent"));
|
||||
return;
|
||||
}
|
||||
ConfigurationSection cs = plugin.getConfig().getConfigurationSection("commandspy");
|
||||
Boolean wec = cs.getBoolean("worldeditcommands", true);
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer(event.getPlayer());
|
||||
if(!mcp.getPlayer().hasPermission("venturechat.commandspy.override")) {
|
||||
for(MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
for(VentureChatPlayer p : playerApiService.getOnlineMineverseChatPlayers()) {
|
||||
if(p.hasCommandSpy()) {
|
||||
if(wec) {
|
||||
p.getPlayer().sendMessage(Format.FormatStringAll(cs.getString("format").replace("{player}", mcp.getName()).replace("{command}", event.getMessage())));
|
||||
p.getPlayer().sendMessage(FormatUtils.FormatStringAll(cs.getString("format").replace("{player}", mcp.getName()).replace("{command}", event.getMessage())));
|
||||
}
|
||||
else {
|
||||
if(!(event.getMessage().toLowerCase().startsWith("//"))) {
|
||||
p.getPlayer().sendMessage(Format.FormatStringAll(cs.getString("format").replace("{player}", mcp.getName()).replace("{command}", event.getMessage())));
|
||||
p.getPlayer().sendMessage(FormatUtils.FormatStringAll(cs.getString("format").replace("{player}", mcp.getName()).replace("{command}", event.getMessage())));
|
||||
}
|
||||
else {
|
||||
if(!(event.getMessage().toLowerCase().startsWith("//"))) {
|
||||
@ -76,8 +90,8 @@ public class CommandListener implements CommandExecutor, Listener {
|
||||
|
||||
String message = event.getMessage();
|
||||
|
||||
if(Database.isEnabled()) {
|
||||
Database.writeVentureChat(mcp.getUUID().toString(), mcp.getName(), "Local", "Command_Component", event.getMessage().replace("'", "''"), "Command");
|
||||
if(databaseService.isEnabled()) {
|
||||
databaseService.writeVentureChat(mcp.getUuid().toString(), mcp.getName(), "Local", "Command_Component", event.getMessage().replace("'", "''"), "Command");
|
||||
}
|
||||
|
||||
for(Alias a : Alias.getAliases()) {
|
||||
@ -105,15 +119,15 @@ public class CommandListener implements CommandExecutor, Listener {
|
||||
send += " " + args[b];
|
||||
}
|
||||
if(send.length() > 0) send = send.substring(1);
|
||||
s = Format.FormatStringAll(s);
|
||||
s = FormatUtils.FormatStringAll(s);
|
||||
if(mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
|
||||
send = Format.FormatStringLegacyColor(send);
|
||||
send = FormatUtils.FormatStringLegacyColor(send);
|
||||
}
|
||||
if(mcp.getPlayer().hasPermission("venturechat.color")) {
|
||||
send = Format.FormatStringColor(send);
|
||||
send = FormatUtils.FormatStringColor(send);
|
||||
}
|
||||
if(mcp.getPlayer().hasPermission("venturechat.format")) {
|
||||
send = Format.FormatString(send);
|
||||
send = FormatUtils.FormatString(send);
|
||||
}
|
||||
if(s.startsWith("Command:")) {
|
||||
mcp.getPlayer().chat(s.substring(9).replace("$", send));
|
||||
@ -124,7 +138,7 @@ public class CommandListener implements CommandExecutor, Listener {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
if(s.startsWith("Broadcast:")) {
|
||||
Format.broadcastToServer(s.substring(11).replace("$", send));
|
||||
formatService.broadcastToServer(s.substring(11).replace("$", send));
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
@ -139,21 +153,21 @@ public class CommandListener implements CommandExecutor, Listener {
|
||||
.replace("{channel_color}", channel.getColor() + "")
|
||||
.replace("{channel_name}", channel.getName()));
|
||||
if(mcp.hasConversation()) {
|
||||
for(MineverseChatPlayer p : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
for(VentureChatPlayer p : playerApiService.getOnlineMineverseChatPlayers()) {
|
||||
if(p.isSpy()) {
|
||||
p.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION_SPY.toString()
|
||||
.replace("{player_sender}", mcp.getName())
|
||||
.replace("{player_receiver}", MineverseChatAPI.getMineverseChatPlayer(mcp.getConversation()).getName()));
|
||||
.replace("{player_receiver}", playerApiService.getMineverseChatPlayer(mcp.getConversation()).getName()));
|
||||
}
|
||||
}
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.EXIT_PRIVATE_CONVERSATION.toString()
|
||||
.replace("{player_receiver}", MineverseChatAPI.getMineverseChatPlayer(mcp.getConversation()).getName()));
|
||||
.replace("{player_receiver}", playerApiService.getMineverseChatPlayer(mcp.getConversation()).getName()));
|
||||
mcp.setConversation(null);
|
||||
}
|
||||
mcp.addListening(channel.getName());
|
||||
mcp.setCurrentChannel(channel);
|
||||
if(channel.getBungee()) {
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
}
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
@ -162,7 +176,7 @@ public class CommandListener implements CommandExecutor, Listener {
|
||||
message = message.substring(channel.getAlias().length() + 1);
|
||||
mcp.addListening(channel.getName());
|
||||
if(channel.getBungee()) {
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
}
|
||||
mcp.setQuickChannel(channel);
|
||||
/*String format = "";
|
||||
@ -188,8 +202,8 @@ public class CommandListener implements CommandExecutor, Listener {
|
||||
//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");
|
||||
if (databaseService.isEnabled()) {
|
||||
databaseService.writeVentureChat("N/A", "Console", "Local", "Command_Component", event.getCommand().replace("'", "''") , "Command");
|
||||
}
|
||||
}
|
||||
|
||||
@ -202,7 +216,7 @@ public class CommandListener implements CommandExecutor, Listener {
|
||||
plugin.getServer().getConsoleSender().sendMessage(ChatColor.RED + "This command must be run by a player.");
|
||||
return true;
|
||||
}
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) sender);
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) sender);
|
||||
for(ChatChannel channel : ChatChannel.getChatChannels()) {
|
||||
if(command.getName().toLowerCase().equals(channel.getAlias())) {
|
||||
if(args.length == 0) {
|
||||
@ -213,7 +227,7 @@ public class CommandListener implements CommandExecutor, Listener {
|
||||
mcp.setQuickChannel(channel);
|
||||
mcp.addListening(channel.getName());
|
||||
if(channel.getBungee()) {
|
||||
MineverseChat.synchronize(mcp, true);
|
||||
pluginMessageController.synchronize(mcp, true);
|
||||
}
|
||||
String msg = "";
|
||||
for(int x = 0; x < args.length; x++) {
|
||||
@ -234,9 +248,9 @@ public class CommandListener implements CommandExecutor, Listener {
|
||||
return;
|
||||
}
|
||||
e.setCancelled(true);
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) e.getWhoClicked());
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer((Player) e.getWhoClicked());
|
||||
String playerName = e.getView().getTitle().replace(" GUI", "").replace("VentureChat: ", "");
|
||||
MineverseChatPlayer target = MineverseChatAPI.getMineverseChatPlayer(playerName);
|
||||
VentureChatPlayer target = playerApiService.getMineverseChatPlayer(playerName);
|
||||
ItemStack skull = e.getInventory().getItem(0);
|
||||
SkullMeta skullMeta = (SkullMeta) skull.getItemMeta();
|
||||
ChatChannel channel = ChatChannel.getChannel(ChatColor.stripColor(skullMeta.getLore().get(0)).replace("Channel: ", ""));
|
||||
@ -257,7 +271,7 @@ public class CommandListener implements CommandExecutor, Listener {
|
||||
if(target != null) {
|
||||
command = command.replace("{player_name}", target.getName());
|
||||
if(target.isOnline()) {
|
||||
command = Format.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(target.getPlayer(), command));
|
||||
command = FormatUtils.FormatStringAll(PlaceholderAPI.setBracketPlaceholders(target.getPlayer(), command));
|
||||
}
|
||||
}
|
||||
else {
|
@ -0,0 +1,112 @@
|
||||
package venture.Aust1n46.chat.initiators.listeners;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Singleton;
|
||||
|
||||
import mineverse.Aust1n46.chat.utilities.FormatUtils;
|
||||
import venture.Aust1n46.chat.Logger;
|
||||
import venture.Aust1n46.chat.VentureChat;
|
||||
import venture.Aust1n46.chat.controllers.PluginMessageController;
|
||||
import venture.Aust1n46.chat.controllers.VentureChatSpigotFlatFileController;
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.service.UUIDService;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
/**
|
||||
* Manages player login and logout events.
|
||||
*
|
||||
* @author Aust1n46
|
||||
*/
|
||||
@Singleton
|
||||
public class LoginListener implements Listener {
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
@Inject
|
||||
private UUIDService uuidService;
|
||||
@Inject
|
||||
private VentureChatSpigotFlatFileController spigotFlatFileController;
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
@Inject
|
||||
private Logger log;
|
||||
|
||||
@EventHandler(priority = EventPriority.LOW)
|
||||
public void onPlayerQuit(PlayerQuitEvent playerQuitEvent) {
|
||||
VentureChatPlayer ventureChatPlayer = playerApiService.getOnlineMineverseChatPlayer(playerQuitEvent.getPlayer());
|
||||
if (ventureChatPlayer == null) {
|
||||
log.warn("onPlayerQuit() Could not find VentureChatPlayer");
|
||||
} else {
|
||||
spigotFlatFileController.savePlayerData(ventureChatPlayer);
|
||||
ventureChatPlayer.clearMessages();
|
||||
ventureChatPlayer.setOnline(false);
|
||||
playerApiService.removeMineverseChatOnlinePlayerToMap(ventureChatPlayer);
|
||||
log.debug("onPlayerQuit() ventureChatPlayer:{} quit", ventureChatPlayer);
|
||||
}
|
||||
}
|
||||
|
||||
void handleNameChange(VentureChatPlayer mcp, Player eventPlayerInstance) {
|
||||
plugin.getServer().getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&e - Detected Name Change. Old Name:&c " + mcp.getName() + " &eNew Name:&c " + eventPlayerInstance.getName()));
|
||||
playerApiService.removeNameFromMap(mcp.getName());
|
||||
mcp.setName(eventPlayerInstance.getName());
|
||||
playerApiService.addNameToMap(mcp);
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.LOW)
|
||||
public void onPlayerJoin(PlayerJoinEvent event) throws Exception {
|
||||
VentureChatPlayer mcp = playerApiService.getMineverseChatPlayer(event.getPlayer());
|
||||
Player player = event.getPlayer();
|
||||
String name = player.getName();
|
||||
if(mcp == null) {
|
||||
UUID uuid = player.getUniqueId();
|
||||
mcp = new VentureChatPlayer(uuid, name);
|
||||
playerApiService.addMineverseChatPlayerToMap(mcp);
|
||||
playerApiService.addNameToMap(mcp);
|
||||
}
|
||||
uuidService.checkOfflineUUIDWarning(mcp.getUuid());
|
||||
//check for name change
|
||||
if(!mcp.getName().equals(name)) {
|
||||
handleNameChange(mcp, event.getPlayer());
|
||||
}
|
||||
mcp.setOnline(true);
|
||||
mcp.setHasPlayed(false);
|
||||
playerApiService.addMineverseChatOnlinePlayerToMap(mcp);
|
||||
mcp.setJsonFormat();
|
||||
for(ChatChannel ch : ChatChannel.getAutojoinList()) {
|
||||
if(ch.hasPermission()) {
|
||||
if(mcp.getPlayer().hasPermission(ch.getPermission())) {
|
||||
mcp.addListening(ch.getName());
|
||||
}
|
||||
}
|
||||
else {
|
||||
mcp.addListening(ch.getName());
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
if(plugin.getServer().spigot().getConfig().getBoolean("settings.bungeecord") || plugin.getServer().spigot().getPaperConfig().getBoolean("settings.velocity-support.enabled")) {
|
||||
long delayInTicks = 20L;
|
||||
final VentureChatPlayer sync = mcp;
|
||||
plugin.getServer().getScheduler().runTaskLaterAsynchronously(plugin, new Runnable() {
|
||||
public void run() {
|
||||
pluginMessageController.synchronize(sync, false);
|
||||
}
|
||||
}, delayInTicks);
|
||||
}
|
||||
}
|
||||
catch(NoSuchMethodError exception) { // Thrown if server isn't Paper.
|
||||
// Do nothing
|
||||
}
|
||||
}
|
||||
}
|
@ -1,11 +1,4 @@
|
||||
package mineverse.Aust1n46.chat.listeners;
|
||||
|
||||
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.utilities.Format;
|
||||
import mineverse.Aust1n46.chat.versions.VersionHandler;
|
||||
package venture.Aust1n46.chat.initiators.listeners;
|
||||
|
||||
import com.comphenix.protocol.PacketType;
|
||||
import com.comphenix.protocol.events.ListenerPriority;
|
||||
@ -13,13 +6,29 @@ import com.comphenix.protocol.events.PacketAdapter;
|
||||
import com.comphenix.protocol.events.PacketContainer;
|
||||
import com.comphenix.protocol.events.PacketEvent;
|
||||
import com.comphenix.protocol.wrappers.WrappedChatComponent;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Singleton;
|
||||
|
||||
import mineverse.Aust1n46.chat.versions.VersionHandler;
|
||||
import venture.Aust1n46.chat.VentureChat;
|
||||
import venture.Aust1n46.chat.model.ChatMessage;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
import venture.Aust1n46.chat.service.VentureChatFormatService;
|
||||
|
||||
//This class listens for chat packets and intercepts them before they are sent to the Player.
|
||||
//The packets are modified to include advanced json formating and the message remover button if the
|
||||
//player has permission to remove messages.
|
||||
@Singleton
|
||||
public class PacketListener extends PacketAdapter {
|
||||
public PacketListener() {
|
||||
super(MineverseChat.getInstance(), ListenerPriority.MONITOR, new PacketType[] { PacketType.Play.Server.CHAT });
|
||||
@Inject
|
||||
private VentureChatFormatService formatter;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Inject
|
||||
public PacketListener(final VentureChat plugin) {
|
||||
super(plugin, ListenerPriority.MONITOR, new PacketType[] { PacketType.Play.Server.CHAT });
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -28,7 +37,7 @@ public class PacketListener extends PacketAdapter {
|
||||
return;
|
||||
}
|
||||
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer(event.getPlayer());
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer(event.getPlayer());
|
||||
if(mcp == null) {
|
||||
return;
|
||||
}
|
||||
@ -63,8 +72,8 @@ public class PacketListener extends PacketAdapter {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
String message = Format.toPlainText(chat.getHandle(), chat.getHandleType());
|
||||
String coloredMessage = Format.toColoredText(chat.getHandle(), chat.getHandleType());
|
||||
String message = formatter.toPlainText(chat.getHandle(), chat.getHandleType());
|
||||
String coloredMessage = formatter.toColoredText(chat.getHandle(), chat.getHandleType());
|
||||
if(message == null) {
|
||||
return;
|
||||
}
|
@ -1,34 +1,38 @@
|
||||
package mineverse.Aust1n46.chat.listeners;
|
||||
package venture.Aust1n46.chat.initiators.listeners;
|
||||
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.SignChangeEvent;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Singleton;
|
||||
|
||||
import mineverse.Aust1n46.chat.utilities.FormatUtils;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
//This class listens for text being added to signs, and it formats them to allow colors and formatting.
|
||||
@Singleton
|
||||
public class SignListener implements Listener {
|
||||
MineverseChat plugin = MineverseChat.getInstance();
|
||||
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGH)
|
||||
public void onSignChange(SignChangeEvent event) {
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer(event.getPlayer());
|
||||
VentureChatPlayer mcp = playerApiService.getOnlineMineverseChatPlayer(event.getPlayer());
|
||||
for(int a = 0; a < event.getLines().length; a++) {
|
||||
String line = event.getLine(a);
|
||||
if(mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
|
||||
line = Format.FormatStringLegacyColor(line);
|
||||
line = FormatUtils.FormatStringLegacyColor(line);
|
||||
}
|
||||
if(mcp.getPlayer().hasPermission("venturechat.color")) {
|
||||
line = Format.FormatStringColor(line);
|
||||
line = FormatUtils.FormatStringColor(line);
|
||||
}
|
||||
if(mcp.getPlayer().hasPermission("venturechat.format")) {
|
||||
line = Format.FormatString(line);
|
||||
line = FormatUtils.FormatString(line);
|
||||
}
|
||||
event.setLine(a, line);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,217 @@
|
||||
package venture.Aust1n46.chat.initiators.listeners;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.command.TabExecutor;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Singleton;
|
||||
|
||||
import venture.Aust1n46.chat.VentureChat;
|
||||
import venture.Aust1n46.chat.controllers.commands.Broadcast;
|
||||
import venture.Aust1n46.chat.controllers.commands.BungeeToggle;
|
||||
import venture.Aust1n46.chat.controllers.commands.Channel;
|
||||
import venture.Aust1n46.chat.controllers.commands.Channelinfo;
|
||||
import venture.Aust1n46.chat.controllers.commands.Chatinfo;
|
||||
import venture.Aust1n46.chat.controllers.commands.Chatreload;
|
||||
import venture.Aust1n46.chat.controllers.commands.Chlist;
|
||||
import venture.Aust1n46.chat.controllers.commands.Chwho;
|
||||
import venture.Aust1n46.chat.controllers.commands.Clearchat;
|
||||
import venture.Aust1n46.chat.controllers.commands.Commandblock;
|
||||
import venture.Aust1n46.chat.controllers.commands.Commandspy;
|
||||
import venture.Aust1n46.chat.controllers.commands.Edit;
|
||||
import venture.Aust1n46.chat.controllers.commands.Filter;
|
||||
import venture.Aust1n46.chat.controllers.commands.Force;
|
||||
import venture.Aust1n46.chat.controllers.commands.Forceall;
|
||||
import venture.Aust1n46.chat.controllers.commands.IgnoreCommandExecutor;
|
||||
import venture.Aust1n46.chat.controllers.commands.Kickchannel;
|
||||
import venture.Aust1n46.chat.controllers.commands.Kickchannelall;
|
||||
import venture.Aust1n46.chat.controllers.commands.Leave;
|
||||
import venture.Aust1n46.chat.controllers.commands.Listen;
|
||||
import venture.Aust1n46.chat.controllers.commands.Me;
|
||||
import venture.Aust1n46.chat.controllers.commands.MessageCommandExecutor;
|
||||
import venture.Aust1n46.chat.controllers.commands.MessageToggle;
|
||||
import venture.Aust1n46.chat.controllers.commands.Mute;
|
||||
import venture.Aust1n46.chat.controllers.commands.Muteall;
|
||||
import venture.Aust1n46.chat.controllers.commands.Notifications;
|
||||
import venture.Aust1n46.chat.controllers.commands.Party;
|
||||
import venture.Aust1n46.chat.controllers.commands.RangedSpy;
|
||||
import venture.Aust1n46.chat.controllers.commands.Removemessage;
|
||||
import venture.Aust1n46.chat.controllers.commands.Reply;
|
||||
import venture.Aust1n46.chat.controllers.commands.Setchannel;
|
||||
import venture.Aust1n46.chat.controllers.commands.Setchannelall;
|
||||
import venture.Aust1n46.chat.controllers.commands.Spy;
|
||||
import venture.Aust1n46.chat.controllers.commands.Unmute;
|
||||
import venture.Aust1n46.chat.controllers.commands.Unmuteall;
|
||||
import venture.Aust1n46.chat.controllers.commands.VentureChatGui;
|
||||
import venture.Aust1n46.chat.controllers.commands.Venturechat;
|
||||
import venture.Aust1n46.chat.model.VentureCommand;
|
||||
|
||||
/**
|
||||
* Class that initializes and executes the plugin's commands.
|
||||
*/
|
||||
@Singleton
|
||||
public class VentureCommandExecutor implements TabExecutor {
|
||||
private Map<String, VentureCommand> commands = new HashMap<String, VentureCommand>();
|
||||
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
@Inject
|
||||
private MessageCommandExecutor messageCommandExecutor;
|
||||
@Inject
|
||||
private IgnoreCommandExecutor ignoreCommandExecutor;
|
||||
|
||||
@Inject
|
||||
private Broadcast broadcast;
|
||||
@Inject
|
||||
private Channel channel;
|
||||
@Inject
|
||||
private Channelinfo channelinfo;
|
||||
@Inject
|
||||
private Chatinfo chatinfo;
|
||||
@Inject
|
||||
private Chatreload chatreload;
|
||||
@Inject
|
||||
private Chlist chlist;
|
||||
@Inject
|
||||
private Chwho chwho;
|
||||
@Inject
|
||||
private Clearchat clearchat;
|
||||
@Inject
|
||||
private Commandblock commandblock;
|
||||
@Inject
|
||||
private Commandspy commandspy;
|
||||
@Inject
|
||||
private Edit edit;
|
||||
@Inject
|
||||
private Filter filter;
|
||||
@Inject
|
||||
private Force force;
|
||||
@Inject
|
||||
private Forceall forceall;
|
||||
@Inject
|
||||
private Kickchannel kickchannel;
|
||||
@Inject
|
||||
private Kickchannelall kickchannelall;
|
||||
@Inject
|
||||
private Leave leave;
|
||||
@Inject
|
||||
private Listen listen;
|
||||
@Inject
|
||||
private Me me;
|
||||
@Inject
|
||||
private Venturechat venturechat;
|
||||
@Inject
|
||||
private Notifications notifications;
|
||||
@Inject
|
||||
private Party party;
|
||||
@Inject
|
||||
private RangedSpy rangedSpy;
|
||||
@Inject
|
||||
private Removemessage removemessage;
|
||||
@Inject
|
||||
private Setchannel setchannel;
|
||||
@Inject
|
||||
private Setchannelall setchannelall;
|
||||
@Inject
|
||||
private Spy spy;
|
||||
@Inject
|
||||
private VentureChatGui ventureChatGui;
|
||||
@Inject
|
||||
private MessageToggle messageToggle;
|
||||
@Inject
|
||||
private BungeeToggle bungeeToggle;
|
||||
@Inject
|
||||
private Reply reply;
|
||||
@Inject
|
||||
private Mute mute;
|
||||
@Inject
|
||||
private Muteall muteall;
|
||||
@Inject
|
||||
private Unmute unmute;
|
||||
@Inject
|
||||
private Unmuteall unmuteall;
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] parameters) {
|
||||
commands.get(command.getName()).execute(sender, command.getName(), 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);
|
||||
}
|
||||
|
||||
@Inject
|
||||
public void postConstruct() {
|
||||
commands.put("broadcast", broadcast);
|
||||
commands.put("channel", channel);
|
||||
commands.put("join", channel);
|
||||
commands.put("channelinfo", channelinfo);
|
||||
commands.put("chatinfo", chatinfo);
|
||||
commands.put("chatreload", chatreload);
|
||||
commands.put("chlist", chlist);
|
||||
commands.put("chwho", chwho);
|
||||
commands.put("clearchat", clearchat);
|
||||
commands.put("commandblock", commandblock);
|
||||
commands.put("commandspy", commandspy);
|
||||
commands.put("edit", edit);
|
||||
commands.put("filter", filter);
|
||||
commands.put("force", force);
|
||||
commands.put("forceall", forceall);
|
||||
commands.put("kickchannel", kickchannel);
|
||||
commands.put("kickchannelall", kickchannelall);
|
||||
commands.put("leave", leave);
|
||||
commands.put("listen", listen);
|
||||
commands.put("me", me);
|
||||
commands.put("venturechat", venturechat);
|
||||
commands.put("notifications", notifications);
|
||||
commands.put("party", party);
|
||||
commands.put("rangedspy", rangedSpy);
|
||||
commands.put("removemessage", removemessage);
|
||||
commands.put("setchannel", setchannel);
|
||||
commands.put("setchannelall", setchannelall);
|
||||
commands.put("spy", spy);
|
||||
commands.put("venturechatgui", ventureChatGui);
|
||||
commands.put("messagetoggle", messageToggle);
|
||||
commands.put("bungeetoggle", bungeeToggle);
|
||||
for(String command : commands.keySet()) {
|
||||
registerCommand(command, this);
|
||||
}
|
||||
|
||||
plugin.getServer().getScheduler().runTaskLater(plugin, () -> {
|
||||
commands.put("reply", reply);
|
||||
commands.put("r", reply);
|
||||
registerCommand("reply", this);
|
||||
registerCommand("r", this);
|
||||
|
||||
commands.put("mute", mute);
|
||||
commands.put("muteall", muteall);
|
||||
commands.put("unmute", unmute);
|
||||
commands.put("unmuteall", unmuteall);
|
||||
registerCommand("mute", this);
|
||||
registerCommand("muteall", this);
|
||||
registerCommand("unmute", this);
|
||||
registerCommand("unmuteall", this);
|
||||
|
||||
registerCommand("message", messageCommandExecutor);
|
||||
registerCommand("msg", messageCommandExecutor);
|
||||
registerCommand("tell", messageCommandExecutor);
|
||||
registerCommand("whisper", messageCommandExecutor);
|
||||
|
||||
registerCommand("ignore", ignoreCommandExecutor);
|
||||
}, 0);
|
||||
}
|
||||
|
||||
private void registerCommand(String command, CommandExecutor commandExecutor) {
|
||||
if(plugin.getCommand(command) != null) {
|
||||
plugin.getCommand(command).setExecutor(commandExecutor);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,66 @@
|
||||
package venture.Aust1n46.chat.initiators.schedulers;
|
||||
|
||||
import java.util.Iterator;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.scheduler.BukkitScheduler;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import mineverse.Aust1n46.chat.utilities.FormatUtils;
|
||||
import venture.Aust1n46.chat.VentureChat;
|
||||
import venture.Aust1n46.chat.controllers.PluginMessageController;
|
||||
import venture.Aust1n46.chat.controllers.commands.MuteContainer;
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
public class UnmuteScheduler {
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
@Inject
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Inject
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
|
||||
@Inject
|
||||
public void postConstruct() {
|
||||
BukkitScheduler scheduler = Bukkit.getServer().getScheduler();
|
||||
scheduler.runTaskTimerAsynchronously(plugin, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
for (VentureChatPlayer p : playerApiService.getOnlineMineverseChatPlayers()) {
|
||||
long currentTimeMillis = System.currentTimeMillis();
|
||||
Iterator<MuteContainer> iterator = p.getMutes().iterator();
|
||||
while (iterator.hasNext()) {
|
||||
MuteContainer mute = iterator.next();
|
||||
if(ChatChannel.isChannel(mute.getChannel())) {
|
||||
ChatChannel channel = ChatChannel.getChannel(mute.getChannel());
|
||||
long timemark = mute.getDuration();
|
||||
if (timemark == 0) {
|
||||
continue;
|
||||
}
|
||||
if (plugin.getConfig().getString("loglevel", "info").equals("trace")) {
|
||||
System.out.println(currentTimeMillis + " " + timemark);
|
||||
}
|
||||
if (currentTimeMillis >= timemark) {
|
||||
iterator.remove();
|
||||
p.getPlayer().sendMessage(LocalizedMessage.UNMUTE_PLAYER_PLAYER.toString()
|
||||
.replace("{player}", p.getName()).replace("{channel_color}", channel.getColor())
|
||||
.replace("{channel_name}", mute.getChannel()));
|
||||
if(channel.getBungee()) {
|
||||
pluginMessageController.synchronize(p, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (plugin.getConfig().getString("loglevel", "info").equals("trace")) {
|
||||
Bukkit.getConsoleSender()
|
||||
.sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&e - Updating Player Mutes"));
|
||||
}
|
||||
}
|
||||
}, 0L, 60L); // three second interval
|
||||
}
|
||||
}
|
@ -1,14 +1,13 @@
|
||||
package mineverse.Aust1n46.chat.alias;
|
||||
package venture.Aust1n46.chat.model;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import venture.Aust1n46.chat.VentureChat;
|
||||
|
||||
public class Alias {
|
||||
private static MineverseChat plugin = MineverseChat.getInstance();
|
||||
private static List<Alias> aliases;
|
||||
|
||||
private String name;
|
||||
@ -23,7 +22,7 @@ public class Alias {
|
||||
this.permission = "venturechat." + permission;
|
||||
}
|
||||
|
||||
public static void initialize() {
|
||||
public static void initialize(VentureChat plugin) {
|
||||
aliases = new ArrayList<Alias>();
|
||||
ConfigurationSection cs = plugin.getConfig().getConfigurationSection("alias");
|
||||
for (String key : cs.getKeys(false)) {
|
@ -1,478 +1,460 @@
|
||||
package mineverse.Aust1n46.chat.channel;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
|
||||
/**
|
||||
* Chat channel object pojo. Class also contains static initialization methods
|
||||
* for reading chat channels from the config file.
|
||||
*
|
||||
* @author Aust1n46
|
||||
*/
|
||||
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;
|
||||
private static HashMap<String, ChatChannel> chatChannels;
|
||||
|
||||
@Deprecated
|
||||
private static ChatChannel[] channels;
|
||||
|
||||
private String name;
|
||||
private String permission;
|
||||
private String speakPermission;
|
||||
private boolean mutable;
|
||||
private String color;
|
||||
private String chatColor;
|
||||
private boolean defaultChannel;
|
||||
private boolean autojoin;
|
||||
private String alias;
|
||||
private double distance;
|
||||
private boolean filter;
|
||||
private boolean bungee;
|
||||
private String format;
|
||||
private int cooldown;
|
||||
private String prefix;
|
||||
|
||||
/**
|
||||
* Read chat channels from config file and initialize channel array.
|
||||
*/
|
||||
public static void initialize(boolean aliasesRegisteredAsCommands) {
|
||||
chatChannels = new HashMap<String, ChatChannel>();
|
||||
ChatChannel.aliasesRegisteredAsCommands = aliasesRegisteredAsCommands;
|
||||
ConfigurationSection cs = plugin.getConfig().getConfigurationSection("channels");
|
||||
int len = (cs.getKeys(false)).size();
|
||||
channels = new ChatChannel[len];
|
||||
int counter = 0;
|
||||
for (String key : cs.getKeys(false)) {
|
||||
String color = cs.getString(key + ".color", "white");
|
||||
String chatColor = cs.getString(key + ".chatcolor", "white");
|
||||
String name = key;
|
||||
String permission = cs.getString(key + ".permissions", "None");
|
||||
String speakPermission = cs.getString(key + ".speak_permissions", "None");
|
||||
boolean mutable = cs.getBoolean(key + ".mutable", false);
|
||||
boolean filter = cs.getBoolean(key + ".filter", true);
|
||||
boolean bungee = cs.getBoolean(key + ".bungeecord", false);
|
||||
String format = cs.getString(key + ".format", "Default");
|
||||
boolean defaultChannel = cs.getBoolean(key + ".default", false);
|
||||
String alias = cs.getString(key + ".alias", "None");
|
||||
double distance = cs.getDouble(key + ".distance", (double) 0);
|
||||
int cooldown = cs.getInt(key + ".cooldown", 0);
|
||||
boolean autojoin = cs.getBoolean(key + ".autojoin", false);
|
||||
String prefix = cs.getString(key + ".channel_prefix");
|
||||
ChatChannel chatChannel = new ChatChannel(name, color, chatColor, permission, speakPermission, mutable,
|
||||
filter, defaultChannel, alias, distance, autojoin, bungee, cooldown, prefix, format);
|
||||
channels[counter++] = chatChannel;
|
||||
chatChannels.put(name.toLowerCase(), chatChannel);
|
||||
chatChannels.put(alias.toLowerCase(), chatChannel);
|
||||
if (defaultChannel) {
|
||||
defaultChatChannel = chatChannel;
|
||||
defaultColor = color;
|
||||
}
|
||||
}
|
||||
// Error handling for missing default channel in the config.
|
||||
if(defaultChatChannel == null) {
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&e - &cNo default channel found!"));
|
||||
defaultChatChannel = new ChatChannel("MissingDefault", "red", "red", "None", "None", false,
|
||||
true, true, "md", 0, true, false, 0, "&f[&cMissingDefault&f]", "{venturechat_channel_prefix} {vault_prefix}{player_displayname}&c:");
|
||||
defaultColor = defaultChatChannel.getColor();
|
||||
chatChannels.put("missingdefault", defaultChatChannel);
|
||||
chatChannels.put("md", defaultChatChannel);
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean areAliasesRegisteredAsCommands() {
|
||||
return aliasesRegisteredAsCommands;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get array of chat channels.
|
||||
*
|
||||
* @return {@link ChatChannel}[]
|
||||
*/
|
||||
@Deprecated
|
||||
public static ChatChannel[] getChannels() {
|
||||
return channels;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get list of chat channels.
|
||||
*
|
||||
* @return {@link Collection}<{@link ChatChannel}>
|
||||
*/
|
||||
public static Collection<ChatChannel> getChatChannels() {
|
||||
return new HashSet<ChatChannel>(chatChannels.values());
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a chat channel by name.
|
||||
*
|
||||
* @param channelName
|
||||
* name of channel to get.
|
||||
* @return {@link ChatChannel}
|
||||
*/
|
||||
public static ChatChannel getChannel(String channelName) {
|
||||
return chatChannels.get(channelName.toLowerCase());
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the chat channel exists.
|
||||
*
|
||||
* @param channelName
|
||||
* name of channel to check.
|
||||
* @return true if channel exists, false otherwise.
|
||||
*/
|
||||
public static boolean isChannel(String channelName) {
|
||||
return getChannel(channelName) != null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get default chat channel color.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public static String getDefaultColor() {
|
||||
return defaultColor;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get default chat channel.
|
||||
*
|
||||
* @return {@link ChatChannel}
|
||||
*/
|
||||
public static ChatChannel getDefaultChannel() {
|
||||
return defaultChatChannel;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get list of chat channels with autojoin set to true.
|
||||
*
|
||||
* @return {@link List}<{@link ChatChannel}>
|
||||
*/
|
||||
public static List<ChatChannel> getAutojoinList() {
|
||||
List<ChatChannel> joinlist = new ArrayList<ChatChannel>();
|
||||
for (ChatChannel c : channels) {
|
||||
if (c.getAutojoin()) {
|
||||
joinlist.add(c);
|
||||
}
|
||||
}
|
||||
return joinlist;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parameterized constructor a {@link ChatChannel}.
|
||||
*
|
||||
* @param name
|
||||
* @param color
|
||||
* @param chatColor
|
||||
* @param permission
|
||||
* @param speakPermission
|
||||
* @param mutable
|
||||
* @param filter
|
||||
* @param defaultChannel
|
||||
* @param alias
|
||||
* @param distance
|
||||
* @param autojoin
|
||||
* @param bungee
|
||||
* @param cooldown
|
||||
* @param format
|
||||
*/
|
||||
public ChatChannel(String name, String color, String chatColor, String permission, String speakPermission,
|
||||
boolean mutable, boolean filter, boolean defaultChannel, String alias, double distance, boolean autojoin,
|
||||
boolean bungee, int cooldown, String prefix, String format) {
|
||||
this.name = name;
|
||||
this.color = color;
|
||||
this.chatColor = chatColor;
|
||||
this.permission = PERMISSION_PREFIX + permission;
|
||||
this.speakPermission = PERMISSION_PREFIX + speakPermission;
|
||||
this.mutable = mutable;
|
||||
this.filter = filter;
|
||||
this.defaultChannel = defaultChannel;
|
||||
this.alias = alias;
|
||||
this.distance = distance;
|
||||
this.autojoin = autojoin;
|
||||
this.bungee = bungee;
|
||||
this.cooldown = cooldown;
|
||||
this.format = format;
|
||||
this.prefix = prefix;
|
||||
}
|
||||
|
||||
/**
|
||||
* Deprecated parameterized constructor a {@link ChatChannel}.
|
||||
*
|
||||
* @param name
|
||||
* @param color
|
||||
* @param chatColor
|
||||
* @param permission
|
||||
* @param speakPermission
|
||||
* @param mutable
|
||||
* @param filter
|
||||
* @param defaultChannel
|
||||
* @param alias
|
||||
* @param distance
|
||||
* @param autojoin
|
||||
* @param bungee
|
||||
* @param cooldown
|
||||
* @param format
|
||||
*/
|
||||
@Deprecated
|
||||
public ChatChannel(String name, String color, String chatColor, String permission, String speakPermission,
|
||||
Boolean mutable, Boolean filter, Boolean defaultChannel, String alias, Double distance, Boolean autojoin,
|
||||
Boolean bungee, int cooldown, String format) {
|
||||
this.name = name;
|
||||
this.color = color;
|
||||
this.chatColor = chatColor;
|
||||
this.permission = PERMISSION_PREFIX + permission;
|
||||
this.speakPermission = PERMISSION_PREFIX + speakPermission;
|
||||
this.mutable = mutable;
|
||||
this.filter = filter;
|
||||
this.defaultChannel = defaultChannel;
|
||||
this.alias = alias;
|
||||
this.distance = distance;
|
||||
this.autojoin = autojoin;
|
||||
this.bungee = bungee;
|
||||
this.cooldown = cooldown;
|
||||
this.format = format;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the name of the chat channel.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the format of the chat channel.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public String getFormat() {
|
||||
return format;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the cooldown of the chat channel in seconds.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public int getCooldown() {
|
||||
return cooldown;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the prefix of the chat channel.
|
||||
* @return String
|
||||
*/
|
||||
public String getPrefix() {
|
||||
return prefix;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the chat channel is BungeeCord enabled.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if the chat channel is BungeeCord enabled,
|
||||
* {@link Boolean#FALSE} otherwise.
|
||||
*/
|
||||
public Boolean getBungee() {
|
||||
return Boolean.valueOf(bungee);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the permissions node for the chat channel.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public String getPermission() {
|
||||
return permission;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if autojoin is enabled for the chat channel.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if autojoin is enabled, {@link Boolean#FALSE}
|
||||
* otherwise.
|
||||
*/
|
||||
public Boolean getAutojoin() {
|
||||
return Boolean.valueOf(autojoin);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the chat channel allows muting.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if muting is allowed, {@link Boolean#FALSE}
|
||||
* otherwise.
|
||||
*/
|
||||
public Boolean isMutable() {
|
||||
return Boolean.valueOf(mutable);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the formatted color of the chat channel.
|
||||
*
|
||||
* @return {@link String}. Returns {@link Format#DEFAULT_COLOR_CODE} if the
|
||||
* color is invalid.
|
||||
*/
|
||||
public String getColor() {
|
||||
if (Format.isValidColor(color)) {
|
||||
return String.valueOf(ChatColor.valueOf(color.toUpperCase()));
|
||||
}
|
||||
if (Format.isValidHexColor(color)) {
|
||||
return Format.convertHexColorCodeToBukkitColorCode(color);
|
||||
}
|
||||
return Format.DEFAULT_COLOR_CODE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the raw color value of the chat channel.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public String getColorRaw() {
|
||||
return color;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the formatted chat color of the chat channel.
|
||||
*
|
||||
* @return {@link String}. Returns {@link Format#DEFAULT_COLOR_CODE} if the chat
|
||||
* color is invalid.
|
||||
*/
|
||||
public String getChatColor() {
|
||||
if (chatColor.equalsIgnoreCase("None")) {
|
||||
return chatColor;
|
||||
}
|
||||
if (Format.isValidColor(chatColor)) {
|
||||
return String.valueOf(ChatColor.valueOf(chatColor.toUpperCase()));
|
||||
}
|
||||
if (Format.isValidHexColor(chatColor)) {
|
||||
return Format.convertHexColorCodeToBukkitColorCode(chatColor);
|
||||
}
|
||||
return Format.DEFAULT_COLOR_CODE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the raw chat color value of the chat channel.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public String getChatColorRaw() {
|
||||
return chatColor;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the chat channel is the default chat channel.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if the chat channel is the default chat channel,
|
||||
* {@link Boolean#FALSE} otherwise.
|
||||
*/
|
||||
public Boolean isDefaultchannel() {
|
||||
return Boolean.valueOf(defaultChannel);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the alias of the chat channel.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public String getAlias() {
|
||||
return alias;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the distance of the chat channel in blocks.
|
||||
*
|
||||
* @return {@link Double}
|
||||
*/
|
||||
public Double getDistance() {
|
||||
return Double.valueOf(distance);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the chat channel has a distance set.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if the distance is greater than zero,
|
||||
* {@link Boolean#FALSE} otherwise.
|
||||
*/
|
||||
public Boolean hasDistance() {
|
||||
return Boolean.valueOf(distance > 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the chat channel has a cooldown set.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if the cooldown is greater than zero,
|
||||
* {@link Boolean#FALSE} otherwise.
|
||||
*/
|
||||
public Boolean hasCooldown() {
|
||||
return Boolean.valueOf(cooldown > 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the chat channel has a permission set.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if the permission does not equal
|
||||
* {@link ChatChannel#NO_PERMISSIONS}, {@link Boolean#FALSE} otherwise.
|
||||
*/
|
||||
public Boolean hasPermission() {
|
||||
return Boolean.valueOf(!permission.equalsIgnoreCase(NO_PERMISSIONS));
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the chat channel has a speak permission set.
|
||||
*
|
||||
* @return true if the speak permission does not equal
|
||||
* {@link ChatChannel#NO_PERMISSIONS}, false otherwise.
|
||||
*/
|
||||
public boolean hasSpeakPermission() {
|
||||
return !speakPermission.equalsIgnoreCase(NO_PERMISSIONS);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the speak permissions node for the chat channel.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public String getSpeakPermission() {
|
||||
return speakPermission;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the chat channel has the filter enabled.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if the chat channel has the filter enabled,
|
||||
* {@link Boolean#FALSE} otherwise.
|
||||
*/
|
||||
public Boolean isFiltered() {
|
||||
return Boolean.valueOf(filter);
|
||||
}
|
||||
|
||||
/**
|
||||
* Compares the chat channel by name to determine equality.
|
||||
*
|
||||
* @param channel
|
||||
* Object to compare for equality.
|
||||
* @return true if the objects are equal, false otherwise.
|
||||
*/
|
||||
@Override
|
||||
public boolean equals(Object channel) {
|
||||
return channel instanceof ChatChannel && this.name.equals(((ChatChannel) channel).getName());
|
||||
}
|
||||
}
|
||||
package venture.Aust1n46.chat.model;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
|
||||
import mineverse.Aust1n46.chat.utilities.FormatUtils;
|
||||
import venture.Aust1n46.chat.VentureChat;
|
||||
import venture.Aust1n46.chat.service.VentureChatFormatService;
|
||||
|
||||
/**
|
||||
* Chat channel object pojo. Class also contains static initialization methods
|
||||
* for reading chat channels from the config file.
|
||||
*
|
||||
* @author Aust1n46
|
||||
*/
|
||||
public class ChatChannel {
|
||||
private static final String PERMISSION_PREFIX = "venturechat.";
|
||||
private static final String NO_PERMISSIONS = "venturechat.none";
|
||||
|
||||
private static boolean aliasesRegisteredAsCommands;
|
||||
private static ChatChannel defaultChatChannel;
|
||||
private static String defaultColor;
|
||||
private static HashMap<String, ChatChannel> chatChannels;
|
||||
|
||||
private String name;
|
||||
private String permission;
|
||||
private String speakPermission;
|
||||
private boolean mutable;
|
||||
private String color;
|
||||
private String chatColor;
|
||||
private boolean defaultChannel;
|
||||
private boolean autojoin;
|
||||
private String alias;
|
||||
private double distance;
|
||||
private boolean filter;
|
||||
private boolean bungee;
|
||||
private String format;
|
||||
private int cooldown;
|
||||
private String prefix;
|
||||
|
||||
/**
|
||||
* Read chat channels from config file and initialize channel array.
|
||||
*/
|
||||
public static void initialize(final VentureChat plugin, final VentureChatFormatService formatter, final boolean aliasesRegisteredAsCommands) {
|
||||
chatChannels = new HashMap<String, ChatChannel>();
|
||||
ChatChannel.aliasesRegisteredAsCommands = aliasesRegisteredAsCommands;
|
||||
ConfigurationSection cs = plugin.getConfig().getConfigurationSection("channels");
|
||||
for (String key : cs.getKeys(false)) {
|
||||
String color = cs.getString(key + ".color", "white");
|
||||
String chatColor = cs.getString(key + ".chatcolor", "white");
|
||||
String name = key;
|
||||
String permission = cs.getString(key + ".permissions", "None");
|
||||
String speakPermission = cs.getString(key + ".speak_permissions", "None");
|
||||
boolean mutable = cs.getBoolean(key + ".mutable", false);
|
||||
boolean filter = cs.getBoolean(key + ".filter", true);
|
||||
boolean bungee = cs.getBoolean(key + ".bungeecord", false);
|
||||
String format = cs.getString(key + ".format", "Default");
|
||||
boolean defaultChannel = cs.getBoolean(key + ".default", false);
|
||||
String alias = cs.getString(key + ".alias", "None");
|
||||
double distance = cs.getDouble(key + ".distance", (double) 0);
|
||||
int cooldown = cs.getInt(key + ".cooldown", 0);
|
||||
boolean autojoin = cs.getBoolean(key + ".autojoin", false);
|
||||
String prefix = cs.getString(key + ".channel_prefix");
|
||||
ChatChannel chatChannel = new ChatChannel(name, color, chatColor, permission, speakPermission, mutable,
|
||||
filter, defaultChannel, alias, distance, autojoin, bungee, cooldown, prefix, format);
|
||||
chatChannels.put(name.toLowerCase(), chatChannel);
|
||||
chatChannels.put(alias.toLowerCase(), chatChannel);
|
||||
if (defaultChannel) {
|
||||
defaultChatChannel = chatChannel;
|
||||
defaultColor = color;
|
||||
}
|
||||
}
|
||||
// Error handling for missing default channel in the config.
|
||||
if(defaultChatChannel == null) {
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&e - &cNo default channel found!"));
|
||||
defaultChatChannel = new ChatChannel("MissingDefault", "red", "red", "None", "None", false,
|
||||
true, true, "md", 0, true, false, 0, "&f[&cMissingDefault&f]", "{venturechat_channel_prefix} {vault_prefix}{player_displayname}&c:");
|
||||
defaultColor = defaultChatChannel.getColor();
|
||||
chatChannels.put("missingdefault", defaultChatChannel);
|
||||
chatChannels.put("md", defaultChatChannel);
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean areAliasesRegisteredAsCommands() {
|
||||
return aliasesRegisteredAsCommands;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get list of chat channels.
|
||||
*
|
||||
* @return {@link Collection}<{@link ChatChannel}>
|
||||
*/
|
||||
public static Collection<ChatChannel> getChatChannels() {
|
||||
return new HashSet<ChatChannel>(chatChannels.values());
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a chat channel by name.
|
||||
*
|
||||
* @param channelName
|
||||
* name of channel to get.
|
||||
* @return {@link ChatChannel}
|
||||
*/
|
||||
public static ChatChannel getChannel(String channelName) {
|
||||
return chatChannels.get(channelName.toLowerCase());
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the chat channel exists.
|
||||
*
|
||||
* @param channelName
|
||||
* name of channel to check.
|
||||
* @return true if channel exists, false otherwise.
|
||||
*/
|
||||
public static boolean isChannel(String channelName) {
|
||||
return getChannel(channelName) != null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get default chat channel color.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public static String getDefaultColor() {
|
||||
return defaultColor;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get default chat channel.
|
||||
*
|
||||
* @return {@link ChatChannel}
|
||||
*/
|
||||
public static ChatChannel getDefaultChannel() {
|
||||
return defaultChatChannel;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get list of chat channels with autojoin set to true.
|
||||
*
|
||||
* @return {@link List}<{@link ChatChannel}>
|
||||
*/
|
||||
public static List<ChatChannel> getAutojoinList() {
|
||||
List<ChatChannel> joinlist = new ArrayList<ChatChannel>();
|
||||
for (ChatChannel c : chatChannels.values()) {
|
||||
if (c.getAutojoin()) {
|
||||
joinlist.add(c);
|
||||
}
|
||||
}
|
||||
return joinlist;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parameterized constructor a {@link ChatChannel}.
|
||||
*
|
||||
* @param name
|
||||
* @param color
|
||||
* @param chatColor
|
||||
* @param permission
|
||||
* @param speakPermission
|
||||
* @param mutable
|
||||
* @param filter
|
||||
* @param defaultChannel
|
||||
* @param alias
|
||||
* @param distance
|
||||
* @param autojoin
|
||||
* @param bungee
|
||||
* @param cooldown
|
||||
* @param format
|
||||
*/
|
||||
public ChatChannel(String name, String color, String chatColor, String permission, String speakPermission,
|
||||
boolean mutable, boolean filter, boolean defaultChannel, String alias, double distance, boolean autojoin,
|
||||
boolean bungee, int cooldown, String prefix, String format) {
|
||||
this.name = name;
|
||||
this.color = color;
|
||||
this.chatColor = chatColor;
|
||||
this.permission = PERMISSION_PREFIX + permission;
|
||||
this.speakPermission = PERMISSION_PREFIX + speakPermission;
|
||||
this.mutable = mutable;
|
||||
this.filter = filter;
|
||||
this.defaultChannel = defaultChannel;
|
||||
this.alias = alias;
|
||||
this.distance = distance;
|
||||
this.autojoin = autojoin;
|
||||
this.bungee = bungee;
|
||||
this.cooldown = cooldown;
|
||||
this.format = format;
|
||||
this.prefix = prefix;
|
||||
}
|
||||
|
||||
/**
|
||||
* Deprecated parameterized constructor a {@link ChatChannel}.
|
||||
*
|
||||
* @param name
|
||||
* @param color
|
||||
* @param chatColor
|
||||
* @param permission
|
||||
* @param speakPermission
|
||||
* @param mutable
|
||||
* @param filter
|
||||
* @param defaultChannel
|
||||
* @param alias
|
||||
* @param distance
|
||||
* @param autojoin
|
||||
* @param bungee
|
||||
* @param cooldown
|
||||
* @param format
|
||||
*/
|
||||
@Deprecated
|
||||
public ChatChannel(String name, String color, String chatColor, String permission, String speakPermission,
|
||||
Boolean mutable, Boolean filter, Boolean defaultChannel, String alias, Double distance, Boolean autojoin,
|
||||
Boolean bungee, int cooldown, String format) {
|
||||
this.name = name;
|
||||
this.color = color;
|
||||
this.chatColor = chatColor;
|
||||
this.permission = PERMISSION_PREFIX + permission;
|
||||
this.speakPermission = PERMISSION_PREFIX + speakPermission;
|
||||
this.mutable = mutable;
|
||||
this.filter = filter;
|
||||
this.defaultChannel = defaultChannel;
|
||||
this.alias = alias;
|
||||
this.distance = distance;
|
||||
this.autojoin = autojoin;
|
||||
this.bungee = bungee;
|
||||
this.cooldown = cooldown;
|
||||
this.format = format;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the name of the chat channel.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the format of the chat channel.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public String getFormat() {
|
||||
return format;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the cooldown of the chat channel in seconds.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public int getCooldown() {
|
||||
return cooldown;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the prefix of the chat channel.
|
||||
* @return String
|
||||
*/
|
||||
public String getPrefix() {
|
||||
return prefix;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the chat channel is BungeeCord enabled.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if the chat channel is BungeeCord enabled,
|
||||
* {@link Boolean#FALSE} otherwise.
|
||||
*/
|
||||
public Boolean getBungee() {
|
||||
return Boolean.valueOf(bungee);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the permissions node for the chat channel.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public String getPermission() {
|
||||
return permission;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if autojoin is enabled for the chat channel.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if autojoin is enabled, {@link Boolean#FALSE}
|
||||
* otherwise.
|
||||
*/
|
||||
public Boolean getAutojoin() {
|
||||
return Boolean.valueOf(autojoin);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the chat channel allows muting.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if muting is allowed, {@link Boolean#FALSE}
|
||||
* otherwise.
|
||||
*/
|
||||
public Boolean isMutable() {
|
||||
return Boolean.valueOf(mutable);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the formatted color of the chat channel.
|
||||
*
|
||||
* @return {@link String}. Returns {@link VentureChatFormatService#DEFAULT_COLOR_CODE} if the
|
||||
* color is invalid.
|
||||
*/
|
||||
public String getColor() {
|
||||
if (FormatUtils.isValidColor(color)) {
|
||||
return String.valueOf(ChatColor.valueOf(color.toUpperCase()));
|
||||
}
|
||||
if (FormatUtils.isValidHexColor(color)) {
|
||||
return FormatUtils.convertHexColorCodeToBukkitColorCode(color);
|
||||
}
|
||||
return FormatUtils.DEFAULT_COLOR_CODE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the raw color value of the chat channel.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public String getColorRaw() {
|
||||
return color;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the formatted chat color of the chat channel.
|
||||
*
|
||||
* @return {@link String}. Returns {@link VentureChatFormatService#DEFAULT_COLOR_CODE} if the chat
|
||||
* color is invalid.
|
||||
*/
|
||||
public String getChatColor() {
|
||||
if (chatColor.equalsIgnoreCase("None")) {
|
||||
return chatColor;
|
||||
}
|
||||
if (FormatUtils.isValidColor(chatColor)) {
|
||||
return String.valueOf(ChatColor.valueOf(chatColor.toUpperCase()));
|
||||
}
|
||||
if (FormatUtils.isValidHexColor(chatColor)) {
|
||||
return FormatUtils.convertHexColorCodeToBukkitColorCode(chatColor);
|
||||
}
|
||||
return FormatUtils.DEFAULT_COLOR_CODE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the raw chat color value of the chat channel.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public String getChatColorRaw() {
|
||||
return chatColor;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the chat channel is the default chat channel.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if the chat channel is the default chat channel,
|
||||
* {@link Boolean#FALSE} otherwise.
|
||||
*/
|
||||
public Boolean isDefaultchannel() {
|
||||
return Boolean.valueOf(defaultChannel);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the alias of the chat channel.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public String getAlias() {
|
||||
return alias;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the distance of the chat channel in blocks.
|
||||
*
|
||||
* @return {@link Double}
|
||||
*/
|
||||
public Double getDistance() {
|
||||
return Double.valueOf(distance);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the chat channel has a distance set.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if the distance is greater than zero,
|
||||
* {@link Boolean#FALSE} otherwise.
|
||||
*/
|
||||
public Boolean hasDistance() {
|
||||
return Boolean.valueOf(distance > 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the chat channel has a cooldown set.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if the cooldown is greater than zero,
|
||||
* {@link Boolean#FALSE} otherwise.
|
||||
*/
|
||||
public Boolean hasCooldown() {
|
||||
return Boolean.valueOf(cooldown > 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the chat channel has a permission set.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if the permission does not equal
|
||||
* {@link ChatChannel#NO_PERMISSIONS}, {@link Boolean#FALSE} otherwise.
|
||||
*/
|
||||
public Boolean hasPermission() {
|
||||
return Boolean.valueOf(!permission.equalsIgnoreCase(NO_PERMISSIONS));
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the chat channel has a speak permission set.
|
||||
*
|
||||
* @return true if the speak permission does not equal
|
||||
* {@link ChatChannel#NO_PERMISSIONS}, false otherwise.
|
||||
*/
|
||||
public boolean hasSpeakPermission() {
|
||||
return !speakPermission.equalsIgnoreCase(NO_PERMISSIONS);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the speak permissions node for the chat channel.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public String getSpeakPermission() {
|
||||
return speakPermission;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the chat channel has the filter enabled.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if the chat channel has the filter enabled,
|
||||
* {@link Boolean#FALSE} otherwise.
|
||||
*/
|
||||
public Boolean isFiltered() {
|
||||
return Boolean.valueOf(filter);
|
||||
}
|
||||
|
||||
/**
|
||||
* Compares the chat channel by name to determine equality.
|
||||
*
|
||||
* @param channel
|
||||
* Object to compare for equality.
|
||||
* @return true if the objects are equal, false otherwise.
|
||||
*/
|
||||
@Override
|
||||
public boolean equals(Object channel) {
|
||||
return channel instanceof ChatChannel && this.name.equals(((ChatChannel) channel).getName());
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package mineverse.Aust1n46.chat;
|
||||
package venture.Aust1n46.chat.model;
|
||||
|
||||
import com.comphenix.protocol.wrappers.WrappedChatComponent;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package mineverse.Aust1n46.chat.gui;
|
||||
package venture.Aust1n46.chat.model;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@ -6,10 +6,9 @@ import java.util.List;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import venture.Aust1n46.chat.VentureChat;
|
||||
|
||||
public class GuiSlot {
|
||||
private static MineverseChat plugin = MineverseChat.getInstance();
|
||||
private static List<GuiSlot> guiSlots;
|
||||
|
||||
private String text;
|
||||
@ -30,7 +29,7 @@ public class GuiSlot {
|
||||
this.slot = slot;
|
||||
}
|
||||
|
||||
public static void initialize() {
|
||||
public static void initialize(final VentureChat plugin) {
|
||||
guiSlots = new ArrayList<GuiSlot>();
|
||||
ConfigurationSection cs = plugin.getConfig().getConfigurationSection("venturegui");
|
||||
for (String key : cs.getKeys(false)) {
|
@ -1,4 +1,4 @@
|
||||
package mineverse.Aust1n46.chat.json;
|
||||
package venture.Aust1n46.chat.model;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package mineverse.Aust1n46.chat.json;
|
||||
package venture.Aust1n46.chat.model;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
@ -7,10 +7,9 @@ import java.util.List;
|
||||
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import venture.Aust1n46.chat.VentureChat;
|
||||
|
||||
public class JsonFormat {
|
||||
private static MineverseChat plugin = MineverseChat.getInstance();
|
||||
private static HashMap<String, JsonFormat> jsonFormats;
|
||||
|
||||
private List<JsonAttribute> jsonAttributes;
|
||||
@ -23,7 +22,7 @@ public class JsonFormat {
|
||||
this.jsonAttributes = jsonAttributes;
|
||||
}
|
||||
|
||||
public static void initialize() {
|
||||
public static void initialize(final VentureChat plugin) {
|
||||
jsonFormats = new HashMap<String, JsonFormat>();
|
||||
ConfigurationSection jsonFormatSection = plugin.getConfig().getConfigurationSection("jsonformatting");
|
||||
for (String jsonFormat : jsonFormatSection.getKeys(false)) {
|
@ -1,4 +1,4 @@
|
||||
package mineverse.Aust1n46.chat.api;
|
||||
package venture.Aust1n46.chat.model;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
@ -8,9 +8,9 @@ import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
import mineverse.Aust1n46.chat.command.mute.MuteContainer;
|
||||
import venture.Aust1n46.chat.controllers.commands.MuteContainer;
|
||||
|
||||
public class SynchronizedMineverseChatPlayer {
|
||||
public class SynchronizedVentureChatPlayer {
|
||||
private UUID uuid;
|
||||
private Set<String> listening;
|
||||
private HashMap<String, MuteContainer> mutes;
|
||||
@ -20,7 +20,7 @@ public class SynchronizedMineverseChatPlayer {
|
||||
private boolean spy;
|
||||
private boolean messageToggle;
|
||||
|
||||
public SynchronizedMineverseChatPlayer(UUID uuid, Set<String> listening, HashMap<String, MuteContainer> mutes, Set<UUID> ignores, boolean spy, boolean messageToggle) {
|
||||
public SynchronizedVentureChatPlayer(UUID uuid, Set<String> listening, HashMap<String, MuteContainer> mutes, Set<UUID> ignores, boolean spy, boolean messageToggle) {
|
||||
this.uuid = uuid;
|
||||
this.listening = listening;
|
||||
this.mutes = mutes;
|
||||
@ -29,7 +29,7 @@ public class SynchronizedMineverseChatPlayer {
|
||||
this.messageToggle = messageToggle;
|
||||
}
|
||||
|
||||
public SynchronizedMineverseChatPlayer(UUID uuid) {
|
||||
public SynchronizedVentureChatPlayer(UUID uuid) {
|
||||
this.uuid = uuid;
|
||||
listening = new HashSet<String>();
|
||||
mutes = new HashMap<String, MuteContainer>();
|
||||
@ -62,11 +62,11 @@ public class SynchronizedMineverseChatPlayer {
|
||||
this.messagePackets = 0;
|
||||
}
|
||||
|
||||
public void addIgnore(SynchronizedMineverseChatPlayer smcp) {
|
||||
public void addIgnore(SynchronizedVentureChatPlayer smcp) {
|
||||
this.ignores.add(smcp.getUUID());
|
||||
}
|
||||
|
||||
public void removeIgnore(SynchronizedMineverseChatPlayer smcp) {
|
||||
public void removeIgnore(SynchronizedVentureChatPlayer smcp) {
|
||||
this.ignores.remove(smcp.getUUID());
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
package mineverse.Aust1n46.chat.database;
|
||||
package venture.Aust1n46.chat.model;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.UUID;
|
@ -1,4 +1,4 @@
|
||||
package mineverse.Aust1n46.chat.api;
|
||||
package venture.Aust1n46.chat.model;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
@ -11,17 +11,19 @@ import java.util.UUID;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import mineverse.Aust1n46.chat.ChatMessage;
|
||||
import mineverse.Aust1n46.chat.channel.ChatChannel;
|
||||
import mineverse.Aust1n46.chat.command.mute.MuteContainer;
|
||||
import mineverse.Aust1n46.chat.json.JsonFormat;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.Data;
|
||||
import lombok.Setter;
|
||||
import venture.Aust1n46.chat.controllers.commands.MuteContainer;
|
||||
|
||||
/**
|
||||
* Wrapper for {@link Player}
|
||||
*
|
||||
* @author Aust1n46
|
||||
*/
|
||||
public class MineverseChatPlayer {
|
||||
@Data
|
||||
public class VentureChatPlayer {
|
||||
@Setter(value = AccessLevel.NONE)
|
||||
private UUID uuid;
|
||||
private String name;
|
||||
private ChatChannel currentChannel;
|
||||
@ -55,11 +57,11 @@ public class MineverseChatPlayer {
|
||||
private boolean bungeeToggle;
|
||||
|
||||
@Deprecated
|
||||
public MineverseChatPlayer(UUID uuid, String name, ChatChannel currentChannel, Set<UUID> ignores, Set<String> listening, HashMap<String, MuteContainer> mutes, Set<String> blockedCommands, boolean host, UUID party, boolean filter, boolean notifications, String nickname, String jsonFormat, boolean spy, boolean commandSpy, boolean rangedSpy, boolean messageToggle, boolean bungeeToggle) {
|
||||
public VentureChatPlayer(UUID uuid, String name, ChatChannel currentChannel, Set<UUID> ignores, Set<String> listening, HashMap<String, MuteContainer> mutes, Set<String> blockedCommands, boolean host, UUID party, boolean filter, boolean notifications, String nickname, String jsonFormat, boolean spy, boolean commandSpy, boolean rangedSpy, boolean messageToggle, boolean bungeeToggle) {
|
||||
this(uuid, name, currentChannel, ignores, listening, mutes, blockedCommands, host, party, filter, notifications, jsonFormat, spy, commandSpy, rangedSpy, messageToggle, bungeeToggle);
|
||||
}
|
||||
|
||||
public MineverseChatPlayer(UUID uuid, String name, ChatChannel currentChannel, Set<UUID> ignores, Set<String> listening, HashMap<String, MuteContainer> mutes, Set<String> blockedCommands, boolean host, UUID party, boolean filter, boolean notifications, String jsonFormat, boolean spy, boolean commandSpy, boolean rangedSpy, boolean messageToggle, boolean bungeeToggle) {
|
||||
public VentureChatPlayer(UUID uuid, String name, ChatChannel currentChannel, Set<UUID> ignores, Set<String> listening, HashMap<String, MuteContainer> mutes, Set<String> blockedCommands, boolean host, UUID party, boolean filter, boolean notifications, String jsonFormat, boolean spy, boolean commandSpy, boolean rangedSpy, boolean messageToggle, boolean bungeeToggle) {
|
||||
this.uuid = uuid;
|
||||
this.name = name;
|
||||
this.currentChannel = currentChannel;
|
||||
@ -91,7 +93,7 @@ public class MineverseChatPlayer {
|
||||
this.bungeeToggle = bungeeToggle;
|
||||
}
|
||||
|
||||
public MineverseChatPlayer(UUID uuid, String name) {
|
||||
public VentureChatPlayer(UUID uuid, String name) {
|
||||
this.uuid = uuid;
|
||||
this.name = name;
|
||||
this.currentChannel = ChatChannel.getDefaultChannel();
|
||||
@ -124,35 +126,6 @@ public class MineverseChatPlayer {
|
||||
this.bungeeToggle = true;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public String getNickname() {
|
||||
return this.online ? this.player.getDisplayName() : "";
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public void setNickname(String nick) {}
|
||||
|
||||
@Deprecated
|
||||
public boolean hasNickname() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean getBungeeToggle() {
|
||||
return this.bungeeToggle;
|
||||
}
|
||||
|
||||
public void setBungeeToggle(boolean bungeeToggle) {
|
||||
this.bungeeToggle = bungeeToggle;
|
||||
}
|
||||
|
||||
public boolean getMessageToggle() {
|
||||
return this.messageToggle;
|
||||
}
|
||||
|
||||
public void setMessageToggle(boolean messageToggle) {
|
||||
this.messageToggle = messageToggle;
|
||||
}
|
||||
|
||||
public boolean getRangedSpy() {
|
||||
if(isOnline()) {
|
||||
if(!getPlayer().hasPermission("venturechat.rangedspy")) {
|
||||
@ -162,42 +135,6 @@ public class MineverseChatPlayer {
|
||||
}
|
||||
return this.rangedSpy;
|
||||
}
|
||||
|
||||
public void setRangedSpy(boolean rangedSpy) {
|
||||
this.rangedSpy = rangedSpy;
|
||||
}
|
||||
|
||||
public int getEditHash() {
|
||||
return this.editHash;
|
||||
}
|
||||
|
||||
public void setEditHash(int editHash) {
|
||||
this.editHash = editHash;
|
||||
}
|
||||
|
||||
public boolean isEditing() {
|
||||
return this.editing;
|
||||
}
|
||||
|
||||
public void setEditing(boolean editing) {
|
||||
this.editing = editing;
|
||||
}
|
||||
|
||||
public UUID getUUID() {
|
||||
return this.uuid;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public ChatChannel getCurrentChannel() {
|
||||
return this.currentChannel;
|
||||
}
|
||||
|
||||
public boolean setCurrentChannel(ChatChannel channel) {
|
||||
if(channel != null) {
|
||||
@ -207,10 +144,6 @@ public class MineverseChatPlayer {
|
||||
return false;
|
||||
}
|
||||
|
||||
public Set<UUID> getIgnores() {
|
||||
return this.ignores;
|
||||
}
|
||||
|
||||
public void addIgnore(UUID ignore) {
|
||||
this.ignores.add(ignore);
|
||||
}
|
||||
@ -317,46 +250,10 @@ public class MineverseChatPlayer {
|
||||
return this.blockedCommands.contains(command);
|
||||
}
|
||||
|
||||
public boolean isHost() {
|
||||
return this.host;
|
||||
}
|
||||
|
||||
public void setHost(boolean host) {
|
||||
this.host = host;
|
||||
}
|
||||
|
||||
public UUID getParty() {
|
||||
return this.party;
|
||||
}
|
||||
|
||||
public void setParty(UUID party) {
|
||||
this.party = party;
|
||||
}
|
||||
|
||||
public boolean hasParty() {
|
||||
return this.party != null;
|
||||
}
|
||||
|
||||
public boolean hasFilter() {
|
||||
return this.filter;
|
||||
}
|
||||
|
||||
public void setFilter(boolean filter) {
|
||||
this.filter = filter;
|
||||
}
|
||||
|
||||
public boolean hasNotifications() {
|
||||
return this.notifications;
|
||||
}
|
||||
|
||||
public void setNotifications(boolean notifications) {
|
||||
this.notifications = notifications;
|
||||
}
|
||||
|
||||
public boolean isOnline() {
|
||||
return this.online;
|
||||
}
|
||||
|
||||
public void setOnline(boolean online) {
|
||||
this.online = online;
|
||||
if(this.online) {
|
||||
@ -371,14 +268,6 @@ public class MineverseChatPlayer {
|
||||
return this.online ? this.player : null;
|
||||
}
|
||||
|
||||
public boolean hasPlayed() {
|
||||
return this.hasPlayed;
|
||||
}
|
||||
|
||||
public void setHasPlayed(boolean played) {
|
||||
this.hasPlayed = played;
|
||||
}
|
||||
|
||||
public UUID getConversation() {
|
||||
return this.conversation;
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package mineverse.Aust1n46.chat.command;
|
||||
package venture.Aust1n46.chat.model;
|
||||
|
||||
import java.util.List;
|
||||
|
62
src/main/java/venture/Aust1n46/chat/service/UUIDService.java
Normal file
62
src/main/java/venture/Aust1n46/chat/service/UUIDService.java
Normal file
@ -0,0 +1,62 @@
|
||||
package venture.Aust1n46.chat.service;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Singleton;
|
||||
|
||||
import mineverse.Aust1n46.chat.proxy.VentureChatProxySource;
|
||||
import mineverse.Aust1n46.chat.utilities.FormatUtils;
|
||||
import venture.Aust1n46.chat.VentureChat;
|
||||
|
||||
@Singleton
|
||||
public class UUIDService {
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
|
||||
/**
|
||||
* Returns whether the passed UUID is a v3 UUID. Offline UUIDs are v3, online are v4.
|
||||
*
|
||||
* @param uuid the UUID to check
|
||||
* @return whether the UUID is a v3 UUID & thus is offline
|
||||
*/
|
||||
public boolean uuidIsOffline(UUID uuid) {
|
||||
return uuid.version() == 3;
|
||||
}
|
||||
|
||||
public boolean shouldSkipOfflineUUID(UUID uuid) {
|
||||
return (uuidIsOffline(uuid) && !plugin.getConfig().getBoolean("offline_server_acknowledgement", false));
|
||||
}
|
||||
|
||||
public boolean shouldSkipOfflineUUIDProxy(UUID uuid, VentureChatProxySource source) {
|
||||
return (uuidIsOffline(uuid) && !source.isOfflineServerAcknowledgementSet());
|
||||
}
|
||||
|
||||
public void checkOfflineUUIDWarning(UUID uuid) {
|
||||
if(shouldSkipOfflineUUID(uuid)) {
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&c - Detected Offline UUID!"));
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&c - If you are using BungeeCord, make sure you have properly setup IP Forwarding."));
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&c - https://www.spigotmc.org/wiki/bungeecord-ip-forwarding/"));
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&c - You can access this wiki page from the log file or just Google it."));
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&c - If you're running a \"cracked\" server, player data might not be stored properly, and thus, you are on your own."));
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&c - If you run your server in offline mode, you will probably lose your player data when switching to online mode!"));
|
||||
Bukkit.getConsoleSender().sendMessage(FormatUtils.FormatStringAll("&8[&eVentureChat&8]&c - No player data will be saved in offline mode unless you set the \"cracked\" server acknowledgement in the config!"));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
public void checkOfflineUUIDWarningProxy(UUID uuid, VentureChatProxySource source) {
|
||||
if(shouldSkipOfflineUUIDProxy(uuid, source)) {
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c - Detected Offline UUID!");
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c - If you are using BungeeCord, make sure you have properly setup IP Forwarding.");
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c - https://www.spigotmc.org/wiki/bungeecord-ip-forwarding/");
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c - You can access this wiki page from the log file or just Google it.");
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c - If you're running a \"cracked\" server, player data might not be stored properly, and thus, you are on your own.");
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c - If you run your server in offline mode, you will probably lose your player data when switching to online mode!");
|
||||
source.sendConsoleMessage("&8[&eVentureChat&8]&c - No player data will be saved in offline mode unless you set the \"cracked\" server acknowledgement in the config!");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package mineverse.Aust1n46.chat.database;
|
||||
package venture.Aust1n46.chat.service;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
@ -9,21 +9,28 @@ import java.util.Calendar;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Singleton;
|
||||
import com.zaxxer.hikari.HikariConfig;
|
||||
import com.zaxxer.hikari.HikariDataSource;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
import mineverse.Aust1n46.chat.utilities.FormatUtils;
|
||||
import venture.Aust1n46.chat.VentureChat;
|
||||
|
||||
/**
|
||||
* Initializes and handles writing to the chat logging database.
|
||||
*/
|
||||
public class Database {
|
||||
private static HikariDataSource dataSource = null;
|
||||
@Singleton
|
||||
public class VentureChatDatabaseService {
|
||||
@Inject
|
||||
private VentureChat plugin;
|
||||
|
||||
private HikariDataSource dataSource;
|
||||
|
||||
public static void initializeMySQL() {
|
||||
@Inject
|
||||
public void postConstruct() {
|
||||
try {
|
||||
ConfigurationSection mysqlConfig = MineverseChat.getInstance().getConfig().getConfigurationSection("mysql");
|
||||
ConfigurationSection mysqlConfig = plugin.getConfig().getConfigurationSection("mysql");
|
||||
if (mysqlConfig.getBoolean("enabled", false)) {
|
||||
String host = mysqlConfig.getString("host");
|
||||
int port = mysqlConfig.getInt("port");
|
||||
@ -53,17 +60,16 @@ public class Database {
|
||||
}
|
||||
} catch (Exception exception) {
|
||||
Bukkit.getConsoleSender().sendMessage(
|
||||
Format.FormatStringAll("&8[&eVentureChat&8]&c - Database could not be loaded. Is it running?"));
|
||||
FormatUtils.FormatStringAll("&8[&eVentureChat&8]&c - Database could not be loaded. Is it running?"));
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean isEnabled() {
|
||||
public boolean isEnabled() {
|
||||
return dataSource != null;
|
||||
}
|
||||
|
||||
public static void writeVentureChat(String uuid, String name, String server, String channel, String text,
|
||||
public void writeVentureChat(String uuid, String name, String server, String channel, String text,
|
||||
String type) {
|
||||
MineverseChat plugin = MineverseChat.getInstance();
|
||||
Calendar currentDate = Calendar.getInstance();
|
||||
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
String date = formatter.format(currentDate.getTime());
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,174 @@
|
||||
package venture.Aust1n46.chat.service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.model.SynchronizedVentureChatPlayer;
|
||||
|
||||
/**
|
||||
* API class for looking up wrapped {@link VentureChatPlayer} objects from
|
||||
* {@link Player}, {@link UUID}, or {@link String} user names.
|
||||
*
|
||||
* @author Aust1n46
|
||||
*/
|
||||
public final class VentureChatPlayerApiService {
|
||||
private static HashMap<UUID, VentureChatPlayer> playerMap = new HashMap<UUID, VentureChatPlayer>();
|
||||
private static HashMap<String, UUID> namesMap = new HashMap<String, UUID>();
|
||||
private static HashMap<UUID, VentureChatPlayer> onlinePlayerMap = new HashMap<UUID, VentureChatPlayer>();
|
||||
|
||||
private static List<String> networkPlayerNames = new ArrayList<String>();
|
||||
private static HashMap<UUID, SynchronizedVentureChatPlayer> proxyPlayerMap = new HashMap<UUID, SynchronizedVentureChatPlayer>();
|
||||
|
||||
public void addNameToMap(VentureChatPlayer mcp) {
|
||||
namesMap.put(mcp.getName(), mcp.getUuid());
|
||||
}
|
||||
|
||||
public void removeNameFromMap(String name) {
|
||||
namesMap.remove(name);
|
||||
}
|
||||
|
||||
public void clearNameMap() {
|
||||
namesMap.clear();
|
||||
}
|
||||
|
||||
public void addMineverseChatPlayerToMap(VentureChatPlayer mcp) {
|
||||
playerMap.put(mcp.getUuid(), mcp);
|
||||
}
|
||||
|
||||
public void clearMineverseChatPlayerMap() {
|
||||
playerMap.clear();
|
||||
}
|
||||
|
||||
public Collection<VentureChatPlayer> getMineverseChatPlayers() {
|
||||
return playerMap.values();
|
||||
}
|
||||
|
||||
public void addMineverseChatOnlinePlayerToMap(VentureChatPlayer mcp) {
|
||||
onlinePlayerMap.put(mcp.getUuid(), mcp);
|
||||
}
|
||||
|
||||
public void removeMineverseChatOnlinePlayerToMap(VentureChatPlayer mcp) {
|
||||
onlinePlayerMap.remove(mcp.getUuid());
|
||||
}
|
||||
|
||||
public void clearOnlineMineverseChatPlayerMap() {
|
||||
onlinePlayerMap.clear();
|
||||
}
|
||||
|
||||
public Collection<VentureChatPlayer> getOnlineMineverseChatPlayers() {
|
||||
return onlinePlayerMap.values();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a MineverseChatPlayer wrapper from a Bukkit Player instance.
|
||||
*
|
||||
* @param player {@link Player} object.
|
||||
* @return {@link VentureChatPlayer}
|
||||
*/
|
||||
public VentureChatPlayer getMineverseChatPlayer(Player player) {
|
||||
return getMineverseChatPlayer(player.getUniqueId());
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a MineverseChatPlayer wrapper from a UUID.
|
||||
*
|
||||
* @param uuid {@link UUID}.
|
||||
* @return {@link VentureChatPlayer}
|
||||
*/
|
||||
public VentureChatPlayer getMineverseChatPlayer(UUID uuid) {
|
||||
return playerMap.get(uuid);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a MineverseChatPlayer wrapper from a user name.
|
||||
*
|
||||
* @param name {@link String}.
|
||||
* @return {@link VentureChatPlayer}
|
||||
*/
|
||||
public VentureChatPlayer getMineverseChatPlayer(String name) {
|
||||
return getMineverseChatPlayer(namesMap.get(name));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a MineverseChatPlayer wrapper from a Bukkit Player instance. Only checks
|
||||
* current online players. Much more efficient!
|
||||
*
|
||||
* @param player {@link Player} object.
|
||||
* @return {@link VentureChatPlayer}
|
||||
*/
|
||||
public VentureChatPlayer getOnlineMineverseChatPlayer(Player player) {
|
||||
return getOnlineMineverseChatPlayer(player.getUniqueId());
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a MineverseChatPlayer wrapper from a UUID. Only checks current online
|
||||
* players. Much more efficient!
|
||||
*
|
||||
* @param uuid {@link UUID}.
|
||||
* @return {@link VentureChatPlayer}
|
||||
*/
|
||||
public VentureChatPlayer getOnlineMineverseChatPlayer(UUID uuid) {
|
||||
return onlinePlayerMap.get(uuid);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a MineverseChatPlayer wrapper from a user name. Only checks current
|
||||
* online players. Much more efficient!
|
||||
*
|
||||
* @param name {@link String}.
|
||||
* @return {@link VentureChatPlayer}
|
||||
*/
|
||||
public VentureChatPlayer getOnlineMineverseChatPlayer(String name) {
|
||||
return getOnlineMineverseChatPlayer(namesMap.get(name));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public List<String> getNetworkPlayerNames() {
|
||||
return networkPlayerNames;
|
||||
}
|
||||
|
||||
public void clearNetworkPlayerNames() {
|
||||
networkPlayerNames.clear();
|
||||
}
|
||||
|
||||
public void addNetworkPlayerName(String name) {
|
||||
networkPlayerNames.add(name);
|
||||
}
|
||||
|
||||
public void addSynchronizedMineverseChatPlayerToMap(SynchronizedVentureChatPlayer smcp) {
|
||||
proxyPlayerMap.put(smcp.getUUID(), smcp);
|
||||
}
|
||||
|
||||
// @Deprecated
|
||||
// public static void clearBungeePlayerMap() {
|
||||
// clearProxyPlayerMap();
|
||||
// }
|
||||
|
||||
public void clearProxyPlayerMap() {
|
||||
proxyPlayerMap.clear();
|
||||
}
|
||||
|
||||
public Collection<SynchronizedVentureChatPlayer> getSynchronizedMineverseChatPlayers() {
|
||||
return proxyPlayerMap.values();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a SynchronizedMineverseChatPlayer from a UUID.
|
||||
*
|
||||
* @param uuid {@link UUID}
|
||||
* @return {@link SynchronizedVentureChatPlayer}
|
||||
*/
|
||||
public SynchronizedVentureChatPlayer getSynchronizedMineverseChatPlayer(UUID uuid) {
|
||||
return proxyPlayerMap.get(uuid);
|
||||
}
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
name: VentureChat
|
||||
version: ${project.version}
|
||||
api-version: 1.13
|
||||
main: mineverse.Aust1n46.chat.MineverseChat
|
||||
main: venture.Aust1n46.chat.VentureChat
|
||||
depend: [Vault, ProtocolLib, PlaceholderAPI]
|
||||
softdepend: [Towny, Factions, EssentialsDiscord]
|
||||
author: Aust1n46
|
||||
|
@ -1,92 +0,0 @@
|
||||
package mineverse.Aust1n46.chat.listeners;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.ConsoleCommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
import org.junit.After;
|
||||
import org.junit.AfterClass;
|
||||
import org.junit.Before;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
import org.mockito.MockedStatic;
|
||||
import org.mockito.Mockito;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.database.PlayerData;
|
||||
|
||||
/**
|
||||
* Tests {@link LoginListener}.
|
||||
*/
|
||||
public class LoginListenerTest {
|
||||
private static MockedStatic<MineverseChat> mockedMineverseChat;
|
||||
private static MockedStatic<Bukkit> mockedBukkit;
|
||||
private static MockedStatic<PlayerData> mockedPlayerData;
|
||||
private static MockedStatic<MineverseChatAPI> mockedMineverseChatAPI;
|
||||
|
||||
private static MineverseChat mockPlugin;
|
||||
private Player mockPlayer;
|
||||
private MineverseChatPlayer mockMCP;
|
||||
private ConsoleCommandSender mockConsoleSender;
|
||||
private LoginListener testLoginListener;
|
||||
private PlayerQuitEvent mockPlayerQuitEvent;
|
||||
private static File mockDataFile;
|
||||
|
||||
@BeforeClass
|
||||
public static void init() {
|
||||
mockedMineverseChat = Mockito.mockStatic(MineverseChat.class);
|
||||
mockPlugin = Mockito.mock(MineverseChat.class);
|
||||
Mockito.when(MineverseChat.getInstance()).thenReturn(mockPlugin);
|
||||
mockedBukkit = Mockito.mockStatic(Bukkit.class);
|
||||
mockDataFile = Mockito.mock(File.class);
|
||||
Mockito.when(mockPlugin.getDataFolder()).thenReturn(mockDataFile);
|
||||
Mockito.when(mockDataFile.getAbsolutePath()).thenReturn("");
|
||||
mockedPlayerData = Mockito.mockStatic(PlayerData.class);
|
||||
mockedMineverseChatAPI = Mockito.mockStatic(MineverseChatAPI.class);
|
||||
}
|
||||
|
||||
@AfterClass
|
||||
public static void close() {
|
||||
mockedMineverseChat.close();
|
||||
mockedBukkit.close();
|
||||
mockedPlayerData.close();
|
||||
mockedMineverseChatAPI.close();
|
||||
}
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
mockPlayer = Mockito.mock(Player.class);
|
||||
mockMCP = Mockito.mock(MineverseChatPlayer.class);
|
||||
mockConsoleSender = Mockito.mock(ConsoleCommandSender.class);
|
||||
mockPlayerQuitEvent = Mockito.mock(PlayerQuitEvent.class);
|
||||
Mockito.when(mockPlayerQuitEvent.getPlayer()).thenReturn(mockPlayer);
|
||||
Mockito.when(MineverseChatAPI.getMineverseChatPlayer(Mockito.any(Player.class))).thenReturn(mockMCP);
|
||||
Mockito.when(MineverseChatAPI.getOnlineMineverseChatPlayer(Mockito.any(Player.class))).thenReturn(mockMCP);
|
||||
Mockito.when(Bukkit.getConsoleSender()).thenReturn(mockConsoleSender);
|
||||
testLoginListener = new LoginListener();
|
||||
}
|
||||
|
||||
@After
|
||||
public void tearDown() {
|
||||
mockPlugin = null;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLoginWithNameChange() throws Exception {
|
||||
Mockito.when(mockPlayer.getName()).thenReturn("NewName");
|
||||
Mockito.when(mockMCP.getName()).thenReturn("OldName");
|
||||
testLoginListener.handleNameChange(mockMCP, mockPlayer);
|
||||
Mockito.verify(mockMCP, Mockito.times(1)).setName("NewName");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPlayerQuit() {
|
||||
testLoginListener.onPlayerQuit(mockPlayerQuitEvent);
|
||||
Mockito.verify(mockMCP, Mockito.times(1)).clearMessages();
|
||||
Mockito.verify(mockMCP, Mockito.times(1)).setOnline(false);
|
||||
}
|
||||
}
|
@ -1,191 +0,0 @@
|
||||
package mineverse.Aust1n46.chat.utilities;
|
||||
|
||||
import static mineverse.Aust1n46.chat.utilities.Format.BUKKIT_COLOR_CODE_PREFIX;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.junit.After;
|
||||
import org.junit.AfterClass;
|
||||
import org.junit.Before;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
import org.mockito.MockedStatic;
|
||||
import org.mockito.Mockito;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
|
||||
/**
|
||||
* Tests {@link Format}.
|
||||
*/
|
||||
public class FormatTest {
|
||||
private static MockedStatic<MineverseChat> mockedMineverseChat;
|
||||
|
||||
private static MineverseChat mockPlugin;
|
||||
private FileConfiguration mockConfig;
|
||||
|
||||
private List<String> filters;
|
||||
|
||||
@BeforeClass
|
||||
public static void init() {
|
||||
mockedMineverseChat = Mockito.mockStatic(MineverseChat.class);
|
||||
mockPlugin = Mockito.mock(MineverseChat.class);
|
||||
Mockito.when(MineverseChat.getInstance()).thenReturn(mockPlugin);
|
||||
}
|
||||
|
||||
@AfterClass
|
||||
public static void close() {
|
||||
mockedMineverseChat.close();
|
||||
}
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
filters = new ArrayList<String>();
|
||||
filters.add("ass,donut");
|
||||
|
||||
mockConfig = Mockito.mock(FileConfiguration.class);
|
||||
Mockito.when(mockPlugin.getConfig()).thenReturn(mockConfig);
|
||||
Mockito.when(mockConfig.getStringList("filters")).thenReturn(filters);
|
||||
}
|
||||
|
||||
@After
|
||||
public void tearDown() {
|
||||
filters = new ArrayList<String>();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetLastCodeSingleColor() {
|
||||
String input = BUKKIT_COLOR_CODE_PREFIX + "cHello";
|
||||
String expectedResult = BUKKIT_COLOR_CODE_PREFIX + "c";
|
||||
|
||||
String result = Format.getLastCode(input);
|
||||
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetLastCodeColorAfterFormat() {
|
||||
String input = BUKKIT_COLOR_CODE_PREFIX + "o" + BUKKIT_COLOR_CODE_PREFIX + "cHello";
|
||||
String expectedResult = BUKKIT_COLOR_CODE_PREFIX + "c";
|
||||
|
||||
String result = Format.getLastCode(input);
|
||||
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetLastCodeColorBeforeFormat() {
|
||||
String input = BUKKIT_COLOR_CODE_PREFIX + "c" + BUKKIT_COLOR_CODE_PREFIX + "oHello";
|
||||
String expectedResult = BUKKIT_COLOR_CODE_PREFIX + "c" + BUKKIT_COLOR_CODE_PREFIX + "o";
|
||||
|
||||
String result = Format.getLastCode(input);
|
||||
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFilterChat() {
|
||||
String test = "I am an ass";
|
||||
String expectedResult = "I am an donut";
|
||||
|
||||
String result = Format.FilterChat(test);
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsValidColor() {
|
||||
String color = "red";
|
||||
|
||||
boolean result = Format.isValidColor(color);
|
||||
assertTrue(result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsInvalidColor() {
|
||||
String color = "randomString";
|
||||
|
||||
boolean result = Format.isValidColor(color);
|
||||
assertFalse(result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsValidHexColor() {
|
||||
String hexColor = "#ff00ff";
|
||||
|
||||
boolean result = Format.isValidHexColor(hexColor);
|
||||
assertTrue(result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsInvalidHexColor() {
|
||||
String hexColor = "#random";
|
||||
|
||||
boolean result = Format.isValidHexColor(hexColor);
|
||||
assertFalse(result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testConvertHexColorCodeToBukkitColorCode() {
|
||||
String hexColor = "#ff00ff";
|
||||
String expectedResult = BUKKIT_COLOR_CODE_PREFIX + "x" + BUKKIT_COLOR_CODE_PREFIX + "f"
|
||||
+ BUKKIT_COLOR_CODE_PREFIX + "f" + BUKKIT_COLOR_CODE_PREFIX + "0" + BUKKIT_COLOR_CODE_PREFIX + "0"
|
||||
+ BUKKIT_COLOR_CODE_PREFIX + "f" + BUKKIT_COLOR_CODE_PREFIX + "f";
|
||||
|
||||
String result = Format.convertHexColorCodeToBukkitColorCode(hexColor);
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testConvertHexColorCodeStringToBukkitColorCodeString() {
|
||||
String input = "#ff00ffHello" + BUKKIT_COLOR_CODE_PREFIX + "cThere#00ff00Austin";
|
||||
String expectedResult = BUKKIT_COLOR_CODE_PREFIX + "x" + BUKKIT_COLOR_CODE_PREFIX + "f"
|
||||
+ BUKKIT_COLOR_CODE_PREFIX + "f" + BUKKIT_COLOR_CODE_PREFIX + "0" + BUKKIT_COLOR_CODE_PREFIX + "0"
|
||||
+ BUKKIT_COLOR_CODE_PREFIX + "f" + BUKKIT_COLOR_CODE_PREFIX + "fHello" + BUKKIT_COLOR_CODE_PREFIX
|
||||
+ "cThere" + BUKKIT_COLOR_CODE_PREFIX + "x" + BUKKIT_COLOR_CODE_PREFIX + "0" + BUKKIT_COLOR_CODE_PREFIX
|
||||
+ "0" + BUKKIT_COLOR_CODE_PREFIX + "f" + BUKKIT_COLOR_CODE_PREFIX + "f" + BUKKIT_COLOR_CODE_PREFIX + "0"
|
||||
+ BUKKIT_COLOR_CODE_PREFIX + "0Austin";
|
||||
|
||||
String result = Format.convertHexColorCodeStringToBukkitColorCodeString(input);
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFormatStringLegacyColor_NoColorCode() {
|
||||
String input = "Hello There Austin";
|
||||
String expectedResult = "Hello There Austin";
|
||||
|
||||
String result = Format.FormatStringLegacyColor(input);
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFormatStringLegacyColor_LegacyCodeOnly() {
|
||||
String input = "Hello &cThere Austin";
|
||||
String expectedResult = "Hello " + BUKKIT_COLOR_CODE_PREFIX + "cThere Austin";
|
||||
|
||||
String result = Format.FormatStringLegacyColor(input);
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFormatStringLegacyColor_SpigotHexCodeOnly() {
|
||||
String input = "&x&f&f&f&f&f&fHello There Austin";
|
||||
String expectedResult = "&x&f&f&f&f&f&fHello There Austin";
|
||||
|
||||
String result = Format.FormatStringLegacyColor(input);
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFormatStringLegacyColor_BothColorCodes() {
|
||||
String input = "&x&f&f&f&f&f&f&cHello There Austin";
|
||||
String expectedResult = "&x&f&f&f&f&f&f" + BUKKIT_COLOR_CODE_PREFIX + "cHello There Austin";
|
||||
|
||||
String result = Format.FormatStringLegacyColor(input);
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
}
|
@ -0,0 +1,56 @@
|
||||
package venture.Aust1n46.chat.initiators.listeners;
|
||||
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.junit.MockitoJUnitRunner;
|
||||
|
||||
import venture.Aust1n46.chat.Logger;
|
||||
import venture.Aust1n46.chat.VentureChat;
|
||||
import venture.Aust1n46.chat.controllers.PluginMessageController;
|
||||
import venture.Aust1n46.chat.controllers.VentureChatSpigotFlatFileController;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
import venture.Aust1n46.chat.service.UUIDService;
|
||||
import venture.Aust1n46.chat.service.VentureChatPlayerApiService;
|
||||
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
public class LoginListenerTest {
|
||||
@Mock
|
||||
private VentureChat plugin;
|
||||
@Mock
|
||||
private UUIDService uuidService;
|
||||
@Mock
|
||||
private VentureChatSpigotFlatFileController spigotFlatFileController;
|
||||
@Mock
|
||||
private PluginMessageController pluginMessageController;
|
||||
@Mock
|
||||
private VentureChatPlayerApiService playerApiService;
|
||||
@Mock
|
||||
private Logger log;
|
||||
@InjectMocks
|
||||
private LoginListener loginListener;
|
||||
|
||||
@Mock
|
||||
private PlayerQuitEvent mockPlayerQuitEvent;
|
||||
@Mock
|
||||
private Player mockPlayer;
|
||||
@Mock
|
||||
private VentureChatPlayer mockVentureChatPlayer;
|
||||
|
||||
@Test
|
||||
public void testPlayerQuit() {
|
||||
when(mockPlayerQuitEvent.getPlayer()).thenReturn(mockPlayer);
|
||||
when(playerApiService.getOnlineMineverseChatPlayer(mockPlayer)).thenReturn(mockVentureChatPlayer);
|
||||
loginListener.onPlayerQuit(mockPlayerQuitEvent);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPlayerJoin_successful() {
|
||||
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user