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> getServerConfiguration = VariableStorage.getProxyServerConfiguration(); plugin.getProxy().getPlayers().forEach(proxiedPlayer -> { Map 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); } }