BungeeCross/src/main/java/com/frontleaves/bungeecross/events/PlayerLeaveProxyEvent.java

48 lines
1.8 KiB
Java

package com.frontleaves.bungeecross.events;
import com.frontleaves.bungeecross.BungeeCross;
import com.frontleaves.bungeecross.configuration.VariableStorage;
import net.md_5.bungee.api.event.PlayerDisconnectEvent;
import net.md_5.bungee.api.plugin.Listener;
import net.md_5.bungee.event.EventHandler;
import org.jetbrains.annotations.NotNull;
import java.util.Map;
import java.util.regex.Pattern;
/**
* 玩家离开服务器事件
*
* @author 筱锋xiao_lfeng
* @version v1.0-SNAPSHOT
* @since v1.0-SNAPSHOT
*/
public class PlayerLeaveProxyEvent implements Listener {
private final BungeeCross plugin;
public PlayerLeaveProxyEvent(BungeeCross bc) {
plugin = bc;
}
@EventHandler
public void onPlayerDisconnectEvent(@NotNull PlayerDisconnectEvent event) {
// 发送用户登录信息
String leaveServerMessage = VariableStorage.getLeaveMessage();
if (VariableStorage.isBungeeCordReminder()) {
if (!VariableStorage.isBungeeSilent()) {
Map<String, Map<String, Object>> getServerConfiguration = VariableStorage.getProxyServerConfiguration();
plugin.getProxy().getPlayers().forEach(proxiedPlayer -> {
Map<String, Object> server = getServerConfiguration.get(proxiedPlayer.getServer().getInfo().getName());
if (((boolean) server.get("bungeeJoinServerReminder"))) {
String message = Pattern.compile("%player%").matcher(leaveServerMessage).replaceAll(event.getPlayer().getName());
proxiedPlayer.sendMessage(message);
} else {
}
});
}
}
String message = Pattern.compile("%player%").matcher(leaveServerMessage).replaceAll(event.getPlayer().getName());
System.out.print(message);
}
}