diff --git a/pom.xml b/pom.xml
index 615a6ea..d0f10d7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
4.0.0
mineverse.Aust1n46.chat
VentureChat
- 3.7.1
+ 3.7.2
https://bitbucket.org/Aust1n46/venturechat/src/master
https://bitbucket.org/Aust1n46/venturechat/src/master
diff --git a/src/main/java/mineverse/Aust1n46/chat/MineverseChat.java b/src/main/java/mineverse/Aust1n46/chat/MineverseChat.java
index 685d9c5..d523b15 100644
--- a/src/main/java/mineverse/Aust1n46/chat/MineverseChat.java
+++ b/src/main/java/mineverse/Aust1n46/chat/MineverseChat.java
@@ -78,6 +78,17 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
// Vault
private static Permission permission = null;
private static Chat chat = null;
+
+ // TODO: This won't be so poorly done in the 4.0.0 branch I promise...
+ public static boolean isConnectedToProxy() {
+ try {
+ final MineverseChat plugin = MineverseChat.getInstance();
+ return (plugin.getServer().spigot().getConfig().getBoolean("settings.bungeecord")
+ || plugin.getServer().spigot().getPaperConfig().getBoolean("settings.velocity-support.enabled")
+ || plugin.getServer().spigot().getPaperConfig().getBoolean("proxies.velocity.enabled"));
+ } catch (final NoSuchMethodError ignored) {} // Thrown if server isn't Paper.
+ return false;
+ }
@Override
public void onEnable() {
@@ -125,10 +136,12 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
registerListeners();
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&e - Registering Listeners"));
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&e - Attaching to Executors"));
-
- Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&e - Establishing BungeeCord"));
- Bukkit.getMessenger().registerOutgoingPluginChannel(this, PLUGIN_MESSAGING_CHANNEL);
- Bukkit.getMessenger().registerIncomingPluginChannel(this, PLUGIN_MESSAGING_CHANNEL, this);
+
+ if (MineverseChat.isConnectedToProxy()) {
+ Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&e - Establishing BungeeCord"));
+ Bukkit.getMessenger().registerOutgoingPluginChannel(this, PLUGIN_MESSAGING_CHANNEL);
+ Bukkit.getMessenger().registerIncomingPluginChannel(this, PLUGIN_MESSAGING_CHANNEL, this);
+ }
PluginManager pluginManager = getServer().getPluginManager();
if(pluginManager.isPluginEnabled("Towny")) {
@@ -363,6 +376,9 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
@Override
public void onPluginMessageReceived(String channel, Player player, byte[] inputStream) {
+ if (!MineverseChat.isConnectedToProxy()) {
+ return;
+ }
if(!channel.equals(PLUGIN_MESSAGING_CHANNEL)) {
return;
}
@@ -431,7 +447,7 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
if(getConfig().getBoolean("ignorechat", false)) {
if(!p.getIgnores().contains(senderUUID)) {
// System.out.println("Chat sent");
- Format.sendPacketPlayOutChat(p.getPlayer(), packet);
+ Format.sendPacketPlayOutChat(p.getPlayer(), packet);
}
continue;
}
diff --git a/src/main/java/mineverse/Aust1n46/chat/listeners/LoginListener.java b/src/main/java/mineverse/Aust1n46/chat/listeners/LoginListener.java
index 8729bc6..d5876c9 100644
--- a/src/main/java/mineverse/Aust1n46/chat/listeners/LoginListener.java
+++ b/src/main/java/mineverse/Aust1n46/chat/listeners/LoginListener.java
@@ -72,22 +72,15 @@ public class LoginListener implements Listener {
mcp.addListening(ch.getName());
}
}
-
- try {
- if(plugin.getServer().spigot().getConfig().getBoolean("settings.bungeecord")
- || plugin.getServer().spigot().getPaperConfig().getBoolean("settings.velocity-support.enabled")
- || plugin.getServer().spigot().getPaperConfig().getBoolean("proxies.velocity.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
+
+ if (MineverseChat.isConnectedToProxy()) {
+ long delayInTicks = 20L;
+ final MineverseChatPlayer sync = mcp;
+ plugin.getServer().getScheduler().runTaskLaterAsynchronously(plugin, new Runnable() {
+ public void run() {
+ MineverseChat.synchronize(sync, false);
+ }
+ }, delayInTicks);
}
}
}
diff --git a/src/main/java/mineverse/Aust1n46/chat/proxy/VentureChatBungee.java b/src/main/java/mineverse/Aust1n46/chat/proxy/VentureChatBungee.java
index 60736b3..37fdf0a 100644
--- a/src/main/java/mineverse/Aust1n46/chat/proxy/VentureChatBungee.java
+++ b/src/main/java/mineverse/Aust1n46/chat/proxy/VentureChatBungee.java
@@ -105,6 +105,9 @@ public class VentureChatBungee extends Plugin implements Listener, VentureChatPr
if(!event.getTag().equals(VentureChatProxy.PLUGIN_MESSAGING_CHANNEL_STRING) && !event.getTag().contains("viaversion:")) {
return;
}
+ // Critical to prevent client from sending or receiving messages
+ event.setCancelled(true);
+
if(!(event.getSender() instanceof Server)) {
return;
}
diff --git a/src/main/java/mineverse/Aust1n46/chat/proxy/VentureChatVelocity.java b/src/main/java/mineverse/Aust1n46/chat/proxy/VentureChatVelocity.java
index f661ef5..e60761c 100644
--- a/src/main/java/mineverse/Aust1n46/chat/proxy/VentureChatVelocity.java
+++ b/src/main/java/mineverse/Aust1n46/chat/proxy/VentureChatVelocity.java
@@ -134,12 +134,14 @@ public class VentureChatVelocity implements VentureChatProxySource {
if(!channelIdentifierId.equals(VentureChatProxy.PLUGIN_MESSAGING_CHANNEL_STRING) && !channelIdentifierId.contains("viaversion:")) {
return;
}
+ // Critical to prevent client from sending or receiving messages
+ event.setResult(ForwardResult.handled());
+
if(!(event.getSource() instanceof ServerConnection)) {
return;
}
String serverName = ((ServerConnection) event.getSource()).getServerInfo().getName();
VentureChatProxy.onPluginMessage(event.getData(), serverName, this);
- event.setResult(ForwardResult.handled());
}
@Override