48 lines
1.8 KiB
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);
|
|
}
|
|
}
|