Skip to content

Commit

Permalink
Merge pull request #172 from beanbeanjuice/169-speak-while-vanished
Browse files Browse the repository at this point in the history
Speak While Vanished Support
  • Loading branch information
beanbeanjuice authored Jun 8, 2024
2 parents ea19948 + e47894c commit 784a87d
Show file tree
Hide file tree
Showing 26 changed files with 67 additions and 46 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,7 @@ minecraft:
chat:
enabled: true
message: "&8[&3%server%&8] &e%player% &9» &7%message%"
vanished: "&cYou cannot send proxy messages while vanished. Your message must end with a '&e/&c' to speak."
switch:
enabled: true
default: "&e%player% &7moved from &c%from% &7to &a%to%&7."
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
import com.beanbeanjuice.simpleproxychat.commands.bungee.BungeeReplyCommand;
import com.beanbeanjuice.simpleproxychat.commands.bungee.BungeeWhisperCommand;
import com.beanbeanjuice.simpleproxychat.socket.bungee.BungeeCordPluginMessagingListener;
import com.beanbeanjuice.simpleproxychat.utility.Helper;
import com.beanbeanjuice.simpleproxychat.utility.WhisperHandler;
import com.beanbeanjuice.simpleproxychat.utility.helper.Helper;
import com.beanbeanjuice.simpleproxychat.utility.helper.WhisperHandler;
import com.beanbeanjuice.simpleproxychat.utility.config.Permission;
import com.beanbeanjuice.simpleproxychat.utility.epoch.EpochHelper;
import com.beanbeanjuice.simpleproxychat.utility.listeners.bungee.BungeeServerListener;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,17 @@
package com.beanbeanjuice.simpleproxychat;

import com.beanbeanjuice.simpleproxychat.commands.velocity.VelocityChatToggleCommand;
import com.beanbeanjuice.simpleproxychat.commands.velocity.VelocityReloadCommand;
import com.beanbeanjuice.simpleproxychat.commands.velocity.VelocityReplyCommand;
import com.beanbeanjuice.simpleproxychat.commands.velocity.VelocityWhisperCommand;
import com.beanbeanjuice.simpleproxychat.commands.velocity.*;
import com.beanbeanjuice.simpleproxychat.socket.velocity.VelocityPluginMessagingListener;
import com.beanbeanjuice.simpleproxychat.utility.UpdateChecker;
import com.beanbeanjuice.simpleproxychat.utility.WhisperHandler;
import com.beanbeanjuice.simpleproxychat.utility.helper.WhisperHandler;
import com.beanbeanjuice.simpleproxychat.utility.config.Permission;
import com.beanbeanjuice.simpleproxychat.utility.epoch.EpochHelper;
import com.beanbeanjuice.simpleproxychat.utility.status.ServerStatusManager;
import com.google.inject.Inject;
import com.beanbeanjuice.simpleproxychat.chat.ChatHandler;
import com.beanbeanjuice.simpleproxychat.utility.listeners.velocity.VelocityServerListener;
import com.beanbeanjuice.simpleproxychat.discord.Bot;
import com.beanbeanjuice.simpleproxychat.utility.Helper;
import com.beanbeanjuice.simpleproxychat.utility.helper.Helper;
import com.beanbeanjuice.simpleproxychat.utility.config.Config;
import com.beanbeanjuice.simpleproxychat.utility.config.ConfigDataKey;
import com.velocitypowered.api.command.CommandManager;
Expand Down Expand Up @@ -228,10 +225,10 @@ private void registerCommands() {
.plugin(this)
.build();

commandManager.register(reloadCommand, new VelocityReloadCommand(this, config));
commandManager.register(chatToggleCommand, new VelocityChatToggleCommand(this, config));
commandManager.register(whisperCommand, new VelocityWhisperCommand(this, config));
commandManager.register(replyCommand, new VelocityReplyCommand(this, config));
commandManager.register(reloadCommand, new VelocityReloadCommand(this));
commandManager.register(chatToggleCommand, new VelocityChatToggleCommand(this));
commandManager.register(whisperCommand, new VelocityWhisperCommand(this));
commandManager.register(replyCommand, new VelocityReplyCommand(this));
}

@Subscribe(order = PostOrder.LAST)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import com.beanbeanjuice.simpleproxychat.discord.Bot;
import com.beanbeanjuice.simpleproxychat.discord.DiscordChatHandler;
import com.beanbeanjuice.simpleproxychat.socket.ChatMessageData;
import com.beanbeanjuice.simpleproxychat.utility.Helper;
import com.beanbeanjuice.simpleproxychat.utility.helper.Helper;
import com.beanbeanjuice.simpleproxychat.utility.Tuple;
import com.beanbeanjuice.simpleproxychat.utility.config.Config;
import com.beanbeanjuice.simpleproxychat.utility.config.ConfigDataKey;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.beanbeanjuice.simpleproxychat.commands.bungee;

import com.beanbeanjuice.simpleproxychat.SimpleProxyChatBungee;
import com.beanbeanjuice.simpleproxychat.utility.Helper;
import com.beanbeanjuice.simpleproxychat.utility.helper.Helper;
import com.beanbeanjuice.simpleproxychat.utility.Tuple;
import com.beanbeanjuice.simpleproxychat.utility.config.Config;
import com.beanbeanjuice.simpleproxychat.utility.config.ConfigDataKey;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.beanbeanjuice.simpleproxychat.commands.bungee;

import com.beanbeanjuice.simpleproxychat.SimpleProxyChatBungee;
import com.beanbeanjuice.simpleproxychat.utility.Helper;
import com.beanbeanjuice.simpleproxychat.utility.helper.Helper;
import com.beanbeanjuice.simpleproxychat.utility.Tuple;
import com.beanbeanjuice.simpleproxychat.utility.config.Config;
import com.beanbeanjuice.simpleproxychat.utility.config.ConfigDataKey;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.beanbeanjuice.simpleproxychat.commands.bungee;

import com.beanbeanjuice.simpleproxychat.SimpleProxyChatBungee;
import com.beanbeanjuice.simpleproxychat.utility.Helper;
import com.beanbeanjuice.simpleproxychat.utility.helper.Helper;
import com.beanbeanjuice.simpleproxychat.utility.Tuple;
import com.beanbeanjuice.simpleproxychat.utility.config.Config;
import com.beanbeanjuice.simpleproxychat.utility.config.ConfigDataKey;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.beanbeanjuice.simpleproxychat.commands.bungee;

import com.beanbeanjuice.simpleproxychat.SimpleProxyChatBungee;
import com.beanbeanjuice.simpleproxychat.utility.Helper;
import com.beanbeanjuice.simpleproxychat.utility.helper.Helper;
import com.beanbeanjuice.simpleproxychat.utility.Tuple;
import com.beanbeanjuice.simpleproxychat.utility.config.Config;
import com.beanbeanjuice.simpleproxychat.utility.config.ConfigDataKey;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.beanbeanjuice.simpleproxychat.commands.velocity;

import com.beanbeanjuice.simpleproxychat.SimpleProxyChatVelocity;
import com.beanbeanjuice.simpleproxychat.utility.Helper;
import com.beanbeanjuice.simpleproxychat.utility.helper.Helper;
import com.beanbeanjuice.simpleproxychat.utility.Tuple;
import com.beanbeanjuice.simpleproxychat.utility.config.Config;
import com.beanbeanjuice.simpleproxychat.utility.config.ConfigDataKey;
Expand All @@ -18,9 +18,9 @@ public class VelocityChatToggleCommand implements SimpleCommand {
private final SimpleProxyChatVelocity plugin;
private final Config config;

public VelocityChatToggleCommand(SimpleProxyChatVelocity plugin, Config config) {
public VelocityChatToggleCommand(final SimpleProxyChatVelocity plugin) {
this.plugin = plugin;
this.config = config;
this.config = plugin.getConfig();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.beanbeanjuice.simpleproxychat.commands.velocity;

import com.beanbeanjuice.simpleproxychat.SimpleProxyChatVelocity;
import com.beanbeanjuice.simpleproxychat.utility.Helper;
import com.beanbeanjuice.simpleproxychat.utility.helper.Helper;
import com.beanbeanjuice.simpleproxychat.utility.Tuple;
import com.beanbeanjuice.simpleproxychat.utility.config.Config;
import com.beanbeanjuice.simpleproxychat.utility.config.ConfigDataKey;
Expand All @@ -14,9 +14,9 @@ public class VelocityReloadCommand implements SimpleCommand {
private final SimpleProxyChatVelocity plugin;
private final Config config;

public VelocityReloadCommand(SimpleProxyChatVelocity plugin, Config config) {
public VelocityReloadCommand(final SimpleProxyChatVelocity plugin) {
this.plugin = plugin;
this.config = config;
this.config = plugin.getConfig();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.beanbeanjuice.simpleproxychat.commands.velocity;

import com.beanbeanjuice.simpleproxychat.SimpleProxyChatVelocity;
import com.beanbeanjuice.simpleproxychat.utility.Helper;
import com.beanbeanjuice.simpleproxychat.utility.helper.Helper;
import com.beanbeanjuice.simpleproxychat.utility.Tuple;
import com.beanbeanjuice.simpleproxychat.utility.config.Config;
import com.beanbeanjuice.simpleproxychat.utility.config.ConfigDataKey;
Expand All @@ -17,9 +17,9 @@ public class VelocityReplyCommand implements SimpleCommand {
private final SimpleProxyChatVelocity plugin;
private final Config config;

public VelocityReplyCommand(SimpleProxyChatVelocity plugin, Config config) {
public VelocityReplyCommand(final SimpleProxyChatVelocity plugin) {
this.plugin = plugin;
this.config = config;
this.config = plugin.getConfig();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.beanbeanjuice.simpleproxychat.commands.velocity;

import com.beanbeanjuice.simpleproxychat.SimpleProxyChatVelocity;
import com.beanbeanjuice.simpleproxychat.utility.Helper;
import com.beanbeanjuice.simpleproxychat.utility.helper.Helper;
import com.beanbeanjuice.simpleproxychat.utility.Tuple;
import com.beanbeanjuice.simpleproxychat.utility.config.Config;
import com.beanbeanjuice.simpleproxychat.utility.config.ConfigDataKey;
Expand All @@ -19,9 +19,9 @@ public class VelocityWhisperCommand implements SimpleCommand {
private final SimpleProxyChatVelocity plugin;
private final Config config;

public VelocityWhisperCommand(SimpleProxyChatVelocity plugin, Config config) {
public VelocityWhisperCommand(final SimpleProxyChatVelocity plugin) {
this.plugin = plugin;
this.config = config;
this.config = plugin.getConfig();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.beanbeanjuice.simpleproxychat.discord;

import com.beanbeanjuice.simpleproxychat.utility.Helper;
import com.beanbeanjuice.simpleproxychat.utility.helper.Helper;
import com.beanbeanjuice.simpleproxychat.utility.config.Config;
import com.beanbeanjuice.simpleproxychat.utility.config.ConfigDataKey;
import net.dv8tion.jda.api.EmbedBuilder;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

import java.util.Collection;

import static com.beanbeanjuice.simpleproxychat.utility.Helper.convertToBungee;
import static com.beanbeanjuice.simpleproxychat.utility.helper.Helper.convertToBungee;

public class BungeeChatMessageData extends ChatMessageData {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.beanbeanjuice.simpleproxychat.socket.bungee;

import com.beanbeanjuice.simpleproxychat.SimpleProxyChatBungee;
import com.beanbeanjuice.simpleproxychat.utility.Helper;
import com.beanbeanjuice.simpleproxychat.utility.helper.Helper;
import com.beanbeanjuice.simpleproxychat.utility.listeners.MessageType;
import com.beanbeanjuice.simpleproxychat.utility.listeners.bungee.BungeeServerListener;
import com.google.common.io.ByteArrayDataInput;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.beanbeanjuice.simpleproxychat.socket.velocity;

import com.beanbeanjuice.simpleproxychat.SimpleProxyChatVelocity;
import com.beanbeanjuice.simpleproxychat.utility.Helper;
import com.beanbeanjuice.simpleproxychat.utility.helper.Helper;
import com.beanbeanjuice.simpleproxychat.utility.listeners.MessageType;
import com.beanbeanjuice.simpleproxychat.utility.listeners.velocity.VelocityServerListener;
import com.google.common.io.ByteArrayDataInput;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.beanbeanjuice.simpleproxychat.utility.config.Config;
import com.beanbeanjuice.simpleproxychat.utility.config.ConfigDataKey;
import com.beanbeanjuice.simpleproxychat.utility.helper.Helper;
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;

import java.io.IOException;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.beanbeanjuice.simpleproxychat.utility.config;

import com.beanbeanjuice.simpleproxychat.utility.Helper;
import com.beanbeanjuice.simpleproxychat.utility.ServerChatLockHelper;
import com.beanbeanjuice.simpleproxychat.utility.helper.Helper;
import com.beanbeanjuice.simpleproxychat.utility.helper.ServerChatLockHelper;
import dev.dejvokep.boostedyaml.YamlDocument;
import dev.dejvokep.boostedyaml.block.implementation.Section;
import dev.dejvokep.boostedyaml.dvs.versioning.BasicVersioning;
Expand Down Expand Up @@ -141,6 +141,7 @@ private void readConfig() throws IOException {
putMessage(ConfigDataKey.MINECRAFT_LEAVE, "minecraft.leave.message", false);
config.put(ConfigDataKey.MINECRAFT_CHAT_ENABLED, yamlMessages.getBoolean("minecraft.chat.enabled"));
putMessage(ConfigDataKey.MINECRAFT_CHAT_MESSAGE, "minecraft.chat.message", false);
putMessage(ConfigDataKey.MINECRAFT_CHAT_VANISHED_MESSAGE, "minecraft.chat.vanished", false);
config.put(ConfigDataKey.MINECRAFT_SWITCH_ENABLED, yamlMessages.getBoolean("minecraft.switch.enabled"));
putMessage(ConfigDataKey.MINECRAFT_SWITCH_DEFAULT, "minecraft.switch.default", false);
putMessage(ConfigDataKey.MINECRAFT_SWITCH_SHORT, "minecraft.switch.no-from", false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ public enum ConfigDataKey {
MINECRAFT_LEAVE,
MINECRAFT_CHAT_ENABLED,
MINECRAFT_CHAT_MESSAGE,
MINECRAFT_CHAT_VANISHED_MESSAGE,
MINECRAFT_SWITCH_ENABLED,
MINECRAFT_SWITCH_DEFAULT,
MINECRAFT_SWITCH_SHORT,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
package com.beanbeanjuice.simpleproxychat.utility;
package com.beanbeanjuice.simpleproxychat.utility.helper;

import com.beanbeanjuice.simpleproxychat.utility.Tuple;
import com.beanbeanjuice.simpleproxychat.utility.config.Config;
import com.beanbeanjuice.simpleproxychat.utility.config.ConfigDataKey;
import de.myzelyam.api.vanish.BungeeVanishAPI;
import de.myzelyam.api.vanish.VelocityVanishAPI;
import litebans.api.Database;
import me.leoko.advancedban.manager.PunishmentManager;
import me.leoko.advancedban.manager.UUIDManager;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.beanbeanjuice.simpleproxychat.utility;
package com.beanbeanjuice.simpleproxychat.utility.helper;

import java.util.HashSet;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.beanbeanjuice.simpleproxychat.utility;
package com.beanbeanjuice.simpleproxychat.utility.helper;

import java.util.HashMap;
import java.util.Optional;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import com.beanbeanjuice.simpleproxychat.SimpleProxyChatBungee;
import com.beanbeanjuice.simpleproxychat.chat.ChatHandler;
import com.beanbeanjuice.simpleproxychat.socket.bungee.BungeeChatMessageData;
import com.beanbeanjuice.simpleproxychat.utility.Helper;
import com.beanbeanjuice.simpleproxychat.utility.helper.Helper;
import com.beanbeanjuice.simpleproxychat.utility.config.Permission;
import com.beanbeanjuice.simpleproxychat.utility.listeners.MessageType;
import com.beanbeanjuice.simpleproxychat.utility.status.ServerStatusManager;
Expand Down Expand Up @@ -42,7 +42,15 @@ public void onProxyChatEvent(ChatEvent event) {
if (event.isCommand() || event.isProxyCommand()) return;

ProxiedPlayer player = (ProxiedPlayer) event.getSender();
if (plugin.getConfig().getAsBoolean(ConfigDataKey.VANISH_ENABLED) && BungeeVanishAPI.isInvisible(player)) return;
if (plugin.getConfig().getAsBoolean(ConfigDataKey.VANISH_ENABLED) && BungeeVanishAPI.isInvisible(player)) {
// TODO: If is allowed to speak in vanisht hen continue.
if (!event.getMessage().endsWith("/")) {
String errorMessage = plugin.getConfig().getAsString(ConfigDataKey.MINECRAFT_CHAT_VANISHED_MESSAGE);
player.sendMessage(ChatMessageType.SYSTEM, Helper.convertToBungee(errorMessage));
return;
}
event.setMessage(event.getMessage().substring(0, event.getMessage().length() - 1));
}
if (!Helper.playerCanChat(plugin.getConfig(), player.getUniqueId(), player.getName())) return;

Server currentServer = (Server) event.getReceiver();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import com.beanbeanjuice.simpleproxychat.SimpleProxyChatVelocity;
import com.beanbeanjuice.simpleproxychat.chat.ChatHandler;
import com.beanbeanjuice.simpleproxychat.socket.velocity.VelocityChatMessageData;
import com.beanbeanjuice.simpleproxychat.utility.Helper;
import com.beanbeanjuice.simpleproxychat.utility.helper.Helper;
import com.beanbeanjuice.simpleproxychat.utility.config.Permission;
import com.beanbeanjuice.simpleproxychat.utility.listeners.MessageType;
import com.beanbeanjuice.simpleproxychat.utility.status.ServerStatusManager;
Expand Down Expand Up @@ -43,14 +43,22 @@ public void initializeVelocityVanishListener() {

@Subscribe(order = PostOrder.LAST)
public void onPlayerChat(PlayerChatEvent event) {
String playerMessage = event.getMessage();
Player player = event.getPlayer();
if (plugin.getConfig().getAsBoolean(ConfigDataKey.VANISH_ENABLED) && VelocityVanishAPI.isInvisible(player)) return;
if (plugin.getConfig().getAsBoolean(ConfigDataKey.VANISH_ENABLED) && VelocityVanishAPI.isInvisible(player)) {
// If is allowed to speak in vanish, continue.
if (!event.getMessage().endsWith("/")) {
String errorMessage = plugin.getConfig().getAsString(ConfigDataKey.MINECRAFT_CHAT_VANISHED_MESSAGE);
player.sendMessage(Helper.stringToComponent(errorMessage));
return;
}
playerMessage = playerMessage.substring(0, playerMessage.length() - 1);
}
if (!Helper.playerCanChat(plugin.getConfig(), player.getUniqueId(), player.getUsername())) return;

String finalPlayerMessage = playerMessage;
event.getPlayer().getCurrentServer().ifPresent((connection) -> {
String playerMessage = event.getMessage();

VelocityChatMessageData messageData = new VelocityChatMessageData(plugin, MessageType.CHAT, connection.getServer(), player, playerMessage);
VelocityChatMessageData messageData = new VelocityChatMessageData(plugin, MessageType.CHAT, connection.getServer(), player, finalPlayerMessage);
chatHandler.runProxyChatMessage(messageData);
});
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.beanbeanjuice.simpleproxychat.utility.status;

import com.beanbeanjuice.simpleproxychat.discord.Bot;
import com.beanbeanjuice.simpleproxychat.utility.Helper;
import com.beanbeanjuice.simpleproxychat.utility.helper.Helper;
import com.beanbeanjuice.simpleproxychat.utility.config.Config;
import com.beanbeanjuice.simpleproxychat.utility.config.ConfigDataKey;
import net.dv8tion.jda.api.EmbedBuilder;
Expand Down
1 change: 1 addition & 0 deletions src/main/resources/messages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ minecraft:
chat:
enabled: true
message: "&8[&3%server%&8] &e%player% &9» &7%message%"
vanished: "&cYou cannot send proxy messages while vanished. Your message must end with a '&e/&c' to speak."
switch:
enabled: true
default: "&e%player% &7moved from &c%from% &7to &a%to%&7."
Expand Down

0 comments on commit 784a87d

Please sign in to comment.