Skip to content

Commit e5c98d5

Browse files
committed
错误修复
1 parent f8d458b commit e5c98d5

File tree

2 files changed

+19
-3
lines changed

2 files changed

+19
-3
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>ApliNi</groupId>
88
<artifactId>IpacWhitelist</artifactId>
9-
<version>4.1.3-rc1</version>
9+
<version>4.1.3-rc2</version>
1010
<packaging>jar</packaging>
1111

1212
<name>IpacWhitelist</name>

src/main/java/aplini/ipacwhitelist/listener/onPlayerLogin.java

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ public class onPlayerLogin implements Listener {
4040
public static final List<String> visitPlayerList = new ArrayList<>();
4141
// 白名单玩家列表
4242
public static final List<String> playerList = new ArrayList<>();
43+
// 绕过这些玩家列表
44+
public static final List<String> bypassPlayerList = new ArrayList<>();
4345

4446

4547
@EventHandler(priority = EventPriority.LOWEST) // 玩家登录服务器
@@ -121,12 +123,14 @@ public void onPlayerLoginEvent(PlayerLoginEvent event) {
121123
}
122124

123125
if(bypass){
126+
plugin.getLogger().info("[bypass] [%s]: \"%s\"".formatted(playerName, playerIP));
127+
bypassPlayerList.add(playerUUID);
128+
event.allow();
129+
124130
// 最大玩家数量
125131
if(!config.getBoolean("whitelist.bypass.bypassMaxPlayersLimit", false)){
126132
playerList.add(playerUUID);
127133
}
128-
129-
event.allow();
130134
return;
131135
}
132136
}
@@ -321,6 +325,12 @@ else if(onOtherPlayer != Type.NOT){
321325

322326
@EventHandler(priority = EventPriority.LOWEST) // 玩家加入服务器
323327
public void onPlayerJoinEvent(PlayerJoinEvent event){
328+
329+
// 绕过
330+
if(bypassPlayerList.contains(event.getPlayer().getUniqueId().toString())){
331+
return;
332+
}
333+
324334
Player player = event.getPlayer();
325335
PlayerData pd = getPlayerData(player, true);
326336
switch(pd.type){
@@ -368,6 +378,12 @@ public void onPlayerJoinEvent(PlayerJoinEvent event){
368378
@EventHandler(priority = EventPriority.LOWEST) // 玩家退出
369379
public void onPlayerQuit(PlayerQuitEvent event){
370380
CompletableFuture.runAsync(() -> {
381+
382+
if(bypassPlayerList.contains(event.getPlayer().getUniqueId().toString())){
383+
bypassPlayerList.remove(event.getPlayer().getUniqueId().toString());
384+
return;
385+
}
386+
371387
Player player = event.getPlayer();
372388
PlayerData pd = getPlayerData(player, true);
373389
switch(pd.type){

0 commit comments

Comments
 (0)