Change leave/join messages
This commit is contained in:
parent
ec2377a837
commit
19bb94fa74
|
|
@ -69,7 +69,9 @@ public final class ServerConfig {
|
|||
/** DO NOT EDIT ANYTHING ABOVE **/
|
||||
|
||||
public boolean GLOBALCHAT = true; // TODO change to false on release
|
||||
public boolean JOINLEAVEMSSAGES = true; // TODO change to false on release
|
||||
private void ServerSettings() {
|
||||
GLOBALCHAT = getBoolean("global-chat-enabled", GLOBALCHAT);
|
||||
JOINLEAVEMSSAGES = getBoolean("joinleave-messages-enabled", JOINLEAVEMSSAGES);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,28 +2,43 @@ package com.alttd.chat.data;
|
|||
|
||||
import com.alttd.chat.config.ServerConfig;
|
||||
import com.velocitypowered.api.proxy.server.RegisteredServer;
|
||||
import net.kyori.adventure.text.Component;
|
||||
|
||||
public class ServerWrapper
|
||||
{
|
||||
private RegisteredServer registeredServer;
|
||||
public class ServerWrapper {
|
||||
|
||||
private final RegisteredServer registeredServer;
|
||||
private final String serverName;
|
||||
|
||||
private final boolean globalChat;
|
||||
private final boolean joinMessages;
|
||||
|
||||
public ServerWrapper(RegisteredServer registeredServer, ServerConfig serverConfig)
|
||||
{
|
||||
public ServerWrapper(RegisteredServer registeredServer, ServerConfig serverConfig) {
|
||||
this.registeredServer = registeredServer;
|
||||
this.serverName = registeredServer.getServerInfo().getName();
|
||||
|
||||
this.globalChat = serverConfig.GLOBALCHAT;
|
||||
|
||||
this.joinMessages = serverConfig.JOINLEAVEMSSAGES;
|
||||
}
|
||||
|
||||
public RegisteredServer getRegisteredServer() {
|
||||
return registeredServer;
|
||||
}
|
||||
|
||||
public String serverName() {
|
||||
return serverName;
|
||||
}
|
||||
|
||||
public boolean globalChat()
|
||||
{
|
||||
return globalChat;
|
||||
}
|
||||
|
||||
public boolean joinMessages() {
|
||||
return joinMessages;
|
||||
}
|
||||
|
||||
public void sendJoinLeaveMessage(Component component) {
|
||||
if(joinMessages())
|
||||
getRegisteredServer().sendMessage(component);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,4 +44,13 @@ public class ServerHandler {
|
|||
{
|
||||
return Collections.unmodifiableList(servers);
|
||||
}
|
||||
|
||||
public ServerWrapper getWrapper(String serverName) {
|
||||
for(ServerWrapper wrapper : getServers()) {
|
||||
if(wrapper.serverName().equalsIgnoreCase(serverName)) {
|
||||
return wrapper;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@ package com.alttd.chat.listeners;
|
|||
|
||||
import com.alttd.chat.VelocityChat;
|
||||
import com.alttd.chat.config.Config;
|
||||
import com.alttd.chat.data.ServerWrapper;
|
||||
import com.alttd.chat.handlers.ServerHandler;
|
||||
import com.alttd.chat.objects.ChatPlayer;
|
||||
import com.velocitypowered.api.event.PostOrder;
|
||||
import com.velocitypowered.api.event.Subscribe;
|
||||
|
|
@ -18,6 +20,14 @@ import java.util.List;
|
|||
|
||||
public class PlayerListener {
|
||||
|
||||
private final ServerHandler serverHandler;
|
||||
private final MiniMessage miniMessage;
|
||||
|
||||
public PlayerListener() {
|
||||
serverHandler = VelocityChat.getPlugin().getServerHandler();
|
||||
miniMessage = MiniMessage.get();
|
||||
}
|
||||
|
||||
@Subscribe(order = PostOrder.FIRST)
|
||||
public void onPlayerLogin(LoginEvent event) {
|
||||
VelocityChat.getPlugin().getChatHandler().addPlayer(new ChatPlayer(event.getPlayer().getUniqueId()));
|
||||
|
|
@ -31,27 +41,32 @@ public class PlayerListener {
|
|||
// Server Join and Leave messages
|
||||
@Subscribe
|
||||
public void serverConnected(ServerConnectedEvent event) {
|
||||
MiniMessage miniMessage = MiniMessage.get();
|
||||
// todo optional setting to ignore this for servers?
|
||||
if (event.getPreviousServer().isPresent()) {
|
||||
RegisteredServer previousServer = event.getPreviousServer().get();
|
||||
|
||||
Player player = event.getPlayer();
|
||||
|
||||
|
||||
|
||||
List<Template> templates = new ArrayList<>(List.of(
|
||||
Template.of("player", player.getUsername()),
|
||||
Template.of("from_server", previousServer.getServerInfo().getName()),
|
||||
Template.of("to_server", event.getServer().getServerInfo().getName())));
|
||||
|
||||
previousServer.sendMessage(miniMessage.parse(Config.SERVERSWTICHMESSAGETO, templates));
|
||||
event.getServer().sendMessage(miniMessage.parse(Config.SERVERSWTICHMESSAGEFROM, templates));
|
||||
// todo Code clean up @Destro
|
||||
ServerWrapper wrapper = serverHandler.getWrapper(previousServer.getServerInfo().toString());
|
||||
if(wrapper != null) {
|
||||
wrapper.sendJoinLeaveMessage(miniMessage.parse(Config.SERVERSWTICHMESSAGETO, templates));
|
||||
}
|
||||
wrapper = serverHandler.getWrapper(event.getServer().getServerInfo().toString());
|
||||
if(wrapper != null) {
|
||||
wrapper.sendJoinLeaveMessage(miniMessage.parse(Config.SERVERSWTICHMESSAGEFROM, templates));
|
||||
}
|
||||
} else {
|
||||
List<Template> templates = new ArrayList<>(List.of(
|
||||
Template.of("player", event.getPlayer().getUsername())
|
||||
));
|
||||
event.getServer().sendMessage(miniMessage.parse(Config.SERVERJOINMESSAGE, templates));
|
||||
ServerWrapper wrapper = serverHandler.getWrapper(event.getServer().getServerInfo().toString());
|
||||
if(wrapper != null) {
|
||||
wrapper.sendJoinLeaveMessage(miniMessage.parse(Config.SERVERJOINMESSAGE, templates));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -60,13 +75,14 @@ public class PlayerListener {
|
|||
if (event.getLoginStatus().equals(DisconnectEvent.LoginStatus.SUCCESSFUL_LOGIN) && event.getPlayer().getCurrentServer().isPresent()) {
|
||||
RegisteredServer registeredServer = event.getPlayer().getCurrentServer().get().getServer();
|
||||
|
||||
MiniMessage miniMessage = MiniMessage.get();
|
||||
|
||||
List<Template> templates = new ArrayList<>(List.of(
|
||||
Template.of("player", event.getPlayer().getUsername()),
|
||||
Template.of("from_server", registeredServer.getServerInfo().getName())));
|
||||
|
||||
registeredServer.sendMessage(miniMessage.parse(Config.SERVERLEAVEMESSAGE, templates));
|
||||
ServerWrapper wrapper = serverHandler.getWrapper(registeredServer.getServerInfo().toString());
|
||||
if(wrapper != null) {
|
||||
wrapper.sendJoinLeaveMessage(miniMessage.parse(Config.SERVERJOINMESSAGE, templates));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user