Add KickedFromServerEvent
Temporarily removed VelocityDiscord Integration
This commit is contained in:
parent
983a64dafb
commit
dd2057d905
@ -13,10 +13,12 @@ public final class Configuration {
|
|||||||
private String messageFormat;
|
private String messageFormat;
|
||||||
private String joinFormat;
|
private String joinFormat;
|
||||||
private String leaveFormat;
|
private String leaveFormat;
|
||||||
|
private String kickFormat;
|
||||||
private String changeFormat;
|
private String changeFormat;
|
||||||
private boolean messageEnabled;
|
private boolean messageEnabled;
|
||||||
private boolean joinEnabled;
|
private boolean joinEnabled;
|
||||||
private boolean leaveEnabled;
|
private boolean leaveEnabled;
|
||||||
|
private boolean kickEnabled;
|
||||||
private boolean changeEnabled;
|
private boolean changeEnabled;
|
||||||
private boolean minimessage;
|
private boolean minimessage;
|
||||||
private boolean all;
|
private boolean all;
|
||||||
@ -25,6 +27,7 @@ public final class Configuration {
|
|||||||
private List<String> messagecmd;
|
private List<String> messagecmd;
|
||||||
private List<String> joincmd;
|
private List<String> joincmd;
|
||||||
private List<String> leavecmd;
|
private List<String> leavecmd;
|
||||||
|
private List<String> kickcmd;
|
||||||
private List<String> changecmd;
|
private List<String> changecmd;
|
||||||
private String custom1;
|
private String custom1;
|
||||||
private String custom2;
|
private String custom2;
|
||||||
@ -34,11 +37,13 @@ public final class Configuration {
|
|||||||
messageFormat = config.getString("Message.format", "");
|
messageFormat = config.getString("Message.format", "");
|
||||||
joinFormat = config.getString("Join.format", "");
|
joinFormat = config.getString("Join.format", "");
|
||||||
leaveFormat = config.getString("Leave.format", "");
|
leaveFormat = config.getString("Leave.format", "");
|
||||||
|
kickFormat = config.getString("Kick.format", "");
|
||||||
changeFormat = config.getString("Server-change.format", "");
|
changeFormat = config.getString("Server-change.format", "");
|
||||||
|
|
||||||
messageEnabled = config.getBoolean("Message.enabled", false);
|
messageEnabled = config.getBoolean("Message.enabled", false);
|
||||||
joinEnabled = config.getBoolean("Join.enabled", false);
|
joinEnabled = config.getBoolean("Join.enabled", false);
|
||||||
leaveEnabled = config.getBoolean("Leave.enabled", false);
|
leaveEnabled = config.getBoolean("Leave.enabled", false);
|
||||||
|
kickEnabled = config.getBoolean("Kick.enabled", false);
|
||||||
changeEnabled = config.getBoolean("Server-change.enabled", false);
|
changeEnabled = config.getBoolean("Server-change.enabled", false);
|
||||||
|
|
||||||
aliases = config.getTable("Aliases");
|
aliases = config.getTable("Aliases");
|
||||||
@ -46,6 +51,7 @@ public final class Configuration {
|
|||||||
messagecmd = config.getList("Message.commands");
|
messagecmd = config.getList("Message.commands");
|
||||||
joincmd = config.getList("Join.commands");
|
joincmd = config.getList("Join.commands");
|
||||||
leavecmd = config.getList("Leave.commands");
|
leavecmd = config.getList("Leave.commands");
|
||||||
|
kickcmd = config.getList("Kick.commands");
|
||||||
changecmd = config.getList("Server-change.commands");
|
changecmd = config.getList("Server-change.commands");
|
||||||
minimessage = config.getBoolean("Message-format.minimessage");
|
minimessage = config.getBoolean("Message-format.minimessage");
|
||||||
all = config.getBoolean("Message.all", false);
|
all = config.getBoolean("Message.all", false);
|
||||||
@ -94,6 +100,9 @@ public final class Configuration {
|
|||||||
public String getLeaveFormat() {
|
public String getLeaveFormat() {
|
||||||
return this.leaveFormat;
|
return this.leaveFormat;
|
||||||
}
|
}
|
||||||
|
public String getKickFormat() {
|
||||||
|
return this.kickFormat;
|
||||||
|
}
|
||||||
|
|
||||||
public String getChangeFormat() {
|
public String getChangeFormat() {
|
||||||
return this.changeFormat;
|
return this.changeFormat;
|
||||||
@ -110,6 +119,9 @@ public final class Configuration {
|
|||||||
public boolean isLeaveEnabled() {
|
public boolean isLeaveEnabled() {
|
||||||
return this.leaveEnabled;
|
return this.leaveEnabled;
|
||||||
}
|
}
|
||||||
|
public boolean isKickEnabled() {
|
||||||
|
return this.kickEnabled;
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isChangeEnabled() {
|
public boolean isChangeEnabled() {
|
||||||
return this.changeEnabled;
|
return this.changeEnabled;
|
||||||
@ -129,6 +141,9 @@ public final class Configuration {
|
|||||||
public List<String> getLeavecmd(){
|
public List<String> getLeavecmd(){
|
||||||
return this.leavecmd;
|
return this.leavecmd;
|
||||||
}
|
}
|
||||||
|
public List<String> getKickcmd(){
|
||||||
|
return this.kickcmd;
|
||||||
|
}
|
||||||
public List<String> getChangecmd(){
|
public List<String> getChangecmd(){
|
||||||
return this.changecmd;
|
return this.changecmd;
|
||||||
}
|
}
|
||||||
@ -147,11 +162,13 @@ public final class Configuration {
|
|||||||
this.messageFormat = config.getString("Message.format");
|
this.messageFormat = config.getString("Message.format");
|
||||||
this.joinFormat = config.getString("Join.format");
|
this.joinFormat = config.getString("Join.format");
|
||||||
this.leaveFormat = config.getString("Leave.format");
|
this.leaveFormat = config.getString("Leave.format");
|
||||||
|
this.kickFormat = config.getString("Kick.format");
|
||||||
this.changeFormat = config.getString("Server-change.format");
|
this.changeFormat = config.getString("Server-change.format");
|
||||||
|
|
||||||
this.messageEnabled = config.getBoolean("Message.enabled");
|
this.messageEnabled = config.getBoolean("Message.enabled");
|
||||||
this.joinEnabled = config.getBoolean("Join.enabled");
|
this.joinEnabled = config.getBoolean("Join.enabled");
|
||||||
this.leaveEnabled = config.getBoolean("Leave.enabled");
|
this.leaveEnabled = config.getBoolean("Leave.enabled");
|
||||||
|
this.kickEnabled = config.getBoolean("Kick.enabled");
|
||||||
this.changeEnabled = config.getBoolean("Server-change.enabled");
|
this.changeEnabled = config.getBoolean("Server-change.enabled");
|
||||||
|
|
||||||
this.aliases = config.getTable("Aliases");
|
this.aliases = config.getTable("Aliases");
|
||||||
@ -159,6 +176,7 @@ public final class Configuration {
|
|||||||
this.messagecmd = config.getList("Message.commands");
|
this.messagecmd = config.getList("Message.commands");
|
||||||
this.joincmd = config.getList("Join.commands");
|
this.joincmd = config.getList("Join.commands");
|
||||||
this.leavecmd = config.getList("Leave.commands");
|
this.leavecmd = config.getList("Leave.commands");
|
||||||
|
this.kickcmd = config.getList("Kick.commands");
|
||||||
this.changecmd = config.getList("Server-change.commands");
|
this.changecmd = config.getList("Server-change.commands");
|
||||||
|
|
||||||
this.minimessage = config.getBoolean("Message-format.minimessage");
|
this.minimessage = config.getBoolean("Message-format.minimessage");
|
||||||
|
@ -2,6 +2,7 @@ package me.feusalamander.vmessage;
|
|||||||
|
|
||||||
import com.velocitypowered.api.event.Subscribe;
|
import com.velocitypowered.api.event.Subscribe;
|
||||||
import com.velocitypowered.api.event.connection.DisconnectEvent;
|
import com.velocitypowered.api.event.connection.DisconnectEvent;
|
||||||
|
import com.velocitypowered.api.event.player.KickedFromServerEvent;
|
||||||
import com.velocitypowered.api.event.player.PlayerChatEvent;
|
import com.velocitypowered.api.event.player.PlayerChatEvent;
|
||||||
import com.velocitypowered.api.event.player.ServerPostConnectEvent;
|
import com.velocitypowered.api.event.player.ServerPostConnectEvent;
|
||||||
import com.velocitypowered.api.proxy.Player;
|
import com.velocitypowered.api.proxy.Player;
|
||||||
@ -14,7 +15,7 @@ import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
|
|||||||
import net.luckperms.api.LuckPerms;
|
import net.luckperms.api.LuckPerms;
|
||||||
import net.luckperms.api.LuckPermsProvider;
|
import net.luckperms.api.LuckPermsProvider;
|
||||||
import net.luckperms.api.cacheddata.CachedMetaData;
|
import net.luckperms.api.cacheddata.CachedMetaData;
|
||||||
import ooo.foooooooooooo.velocitydiscord.VelocityDiscord;
|
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@ -101,10 +102,63 @@ public final class Listeners {
|
|||||||
}
|
}
|
||||||
if (configuration.isMinimessageEnabled()) {
|
if (configuration.isMinimessageEnabled()) {
|
||||||
proxyServer.sendMessage(mm.deserialize(message.replace("§", "")));
|
proxyServer.sendMessage(mm.deserialize(message.replace("§", "")));
|
||||||
if(VMessage.isDiscord())VelocityDiscord.getDiscord().sendMessage(discordRaw);
|
|
||||||
} else {
|
} else {
|
||||||
proxyServer.sendMessage(SERIALIZER.deserialize(message));
|
proxyServer.sendMessage(SERIALIZER.deserialize(message));
|
||||||
if(VMessage.isDiscord())VelocityDiscord.getDiscord().sendMessage(discordRaw);
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
@Subscribe
|
||||||
|
private void onKick(final KickedFromServerEvent e) {
|
||||||
|
if (!configuration.isKickEnabled()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(e.getPlayer().hasPermission("vmessage.silent.leave")){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
final Player p = e.getPlayer();
|
||||||
|
final Optional<ServerConnection> server = p.getCurrentServer();
|
||||||
|
if (server.isEmpty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
String message = configuration.getKickFormat();
|
||||||
|
String servername = server.get().getServerInfo().getName();
|
||||||
|
if(configuration.getAliases().contains(servername)){
|
||||||
|
servername = configuration.getAliases().getString(servername);
|
||||||
|
}
|
||||||
|
if(configuration.getKickcmd() != null&&!configuration.getKickcmd().isEmpty())
|
||||||
|
for(String s : configuration.getKickcmd()){
|
||||||
|
s = s
|
||||||
|
.replace("#player#", p.getUsername())
|
||||||
|
.replace("#oldserver#", servername);
|
||||||
|
if (luckPermsAPI != null) {
|
||||||
|
s = luckperms(s, p);
|
||||||
|
}
|
||||||
|
proxyServer.getCommandManager().executeAsync(proxyServer.getConsoleCommandSource(), s);
|
||||||
|
}
|
||||||
|
if(message.isEmpty())return;
|
||||||
|
message = message
|
||||||
|
.replace("#player#", p.getUsername())
|
||||||
|
.replace("#oldserver#", servername);
|
||||||
|
if (luckPermsAPI != null) {
|
||||||
|
message = luckperms(message, p);
|
||||||
|
}
|
||||||
|
String discordRaw;
|
||||||
|
if(VMessage.isDiscord()){
|
||||||
|
String dump = "";
|
||||||
|
String[] dump2 = message.replace("&", "§").split("§");
|
||||||
|
proxyServer.sendMessage(Component.text(Arrays.toString(dump2)));
|
||||||
|
for(String string : dump2){
|
||||||
|
if(string.length() >1)
|
||||||
|
dump = dump+string.substring(1);
|
||||||
|
}
|
||||||
|
discordRaw = dump;
|
||||||
|
} else {
|
||||||
|
discordRaw = message;
|
||||||
|
}
|
||||||
|
if (configuration.isMinimessageEnabled()) {
|
||||||
|
proxyServer.sendMessage(mm.deserialize(message.replace("§", "")));
|
||||||
|
} else {
|
||||||
|
proxyServer.sendMessage(SERIALIZER.deserialize(message));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -167,10 +221,8 @@ public final class Listeners {
|
|||||||
}
|
}
|
||||||
if (configuration.isMinimessageEnabled()) {
|
if (configuration.isMinimessageEnabled()) {
|
||||||
proxyServer.sendMessage(mm.deserialize(message.replace("§", "")));
|
proxyServer.sendMessage(mm.deserialize(message.replace("§", "")));
|
||||||
if(VMessage.isDiscord())VelocityDiscord.getDiscord().sendMessage(discordRaw);
|
|
||||||
} else {
|
} else {
|
||||||
proxyServer.sendMessage(SERIALIZER.deserialize(message));
|
proxyServer.sendMessage(SERIALIZER.deserialize(message));
|
||||||
if(VMessage.isDiscord())VelocityDiscord.getDiscord().sendMessage(discordRaw);
|
|
||||||
}
|
}
|
||||||
} else if (serverConnection.isPresent()){
|
} else if (serverConnection.isPresent()){
|
||||||
if (!configuration.isJoinEnabled()) {
|
if (!configuration.isJoinEnabled()) {
|
||||||
@ -216,10 +268,8 @@ public final class Listeners {
|
|||||||
}
|
}
|
||||||
if (configuration.isMinimessageEnabled()) {
|
if (configuration.isMinimessageEnabled()) {
|
||||||
proxyServer.sendMessage(mm.deserialize(message.replace("§", "")));
|
proxyServer.sendMessage(mm.deserialize(message.replace("§", "")));
|
||||||
if(VMessage.isDiscord())VelocityDiscord.getDiscord().sendMessage(discordRaw);
|
|
||||||
} else {
|
} else {
|
||||||
proxyServer.sendMessage(SERIALIZER.deserialize(message));
|
proxyServer.sendMessage(SERIALIZER.deserialize(message));
|
||||||
if(VMessage.isDiscord())VelocityDiscord.getDiscord().sendMessage(discordRaw);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -292,13 +342,11 @@ public final class Listeners {
|
|||||||
}
|
}
|
||||||
if(configuration.isAllEnabled()){
|
if(configuration.isAllEnabled()){
|
||||||
proxyServer.sendMessage(finalMessage);
|
proxyServer.sendMessage(finalMessage);
|
||||||
if(VMessage.isDiscord())VelocityDiscord.getDiscord().sendMessage(discordRaw);
|
|
||||||
}else {
|
}else {
|
||||||
final Component FMessage = finalMessage;
|
final Component FMessage = finalMessage;
|
||||||
proxyServer.getAllServers().forEach(server -> {
|
proxyServer.getAllServers().forEach(server -> {
|
||||||
if (!Objects.equals(p.getCurrentServer().map(ServerConnection::getServerInfo).orElse(null), server.getServerInfo())) {
|
if (!Objects.equals(p.getCurrentServer().map(ServerConnection::getServerInfo).orElse(null), server.getServerInfo())) {
|
||||||
server.sendMessage(FMessage);
|
server.sendMessage(FMessage);
|
||||||
if(VMessage.isDiscord())VelocityDiscord.getDiscord().sendMessage(discordRaw);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -37,6 +37,17 @@ enabled = true
|
|||||||
format = "#&7prefix# #player# &eleft &7#oldserver#"
|
format = "#&7prefix# #player# &eleft &7#oldserver#"
|
||||||
commands = []
|
commands = []
|
||||||
enabled = true
|
enabled = true
|
||||||
|
[Kick]
|
||||||
|
#place holders:
|
||||||
|
#- "#player#" : return the player name
|
||||||
|
#- "#oldserver#" : return the previous player's server name
|
||||||
|
#- "#prefix#" : return the player's luckperms prefix
|
||||||
|
#- "#suffix#" : return the player's luckperms suffix
|
||||||
|
#- "#custom1#" : return the player's custom defined luckperms meta keys
|
||||||
|
#- "#custom2#" : return the player's custom defined luckperms meta keys
|
||||||
|
format = "&7#prefix# #player# &ewas kicked from &7#oldserver#"
|
||||||
|
commands = [] #The proxy commands which are executed (no / in the commands)
|
||||||
|
enabled = true
|
||||||
[Server-change]
|
[Server-change]
|
||||||
#place holders:
|
#place holders:
|
||||||
#- "#player#" : return the player name
|
#- "#player#" : return the player name
|
||||||
|
Loading…
Reference in New Issue
Block a user