@@ -40,6 +40,8 @@ public class onPlayerLogin implements Listener {
40
40
public static final List <String > visitPlayerList = new ArrayList <>();
41
41
// 白名单玩家列表
42
42
public static final List <String > playerList = new ArrayList <>();
43
+ // 绕过这些玩家列表
44
+ public static final List <String > bypassPlayerList = new ArrayList <>();
43
45
44
46
45
47
@ EventHandler (priority = EventPriority .LOWEST ) // 玩家登录服务器
@@ -121,12 +123,14 @@ public void onPlayerLoginEvent(PlayerLoginEvent event) {
121
123
}
122
124
123
125
if (bypass ){
126
+ plugin .getLogger ().info ("[bypass] [%s]: \" %s\" " .formatted (playerName , playerIP ));
127
+ bypassPlayerList .add (playerUUID );
128
+ event .allow ();
129
+
124
130
// 最大玩家数量
125
131
if (!config .getBoolean ("whitelist.bypass.bypassMaxPlayersLimit" , false )){
126
132
playerList .add (playerUUID );
127
133
}
128
-
129
- event .allow ();
130
134
return ;
131
135
}
132
136
}
@@ -321,6 +325,12 @@ else if(onOtherPlayer != Type.NOT){
321
325
322
326
@ EventHandler (priority = EventPriority .LOWEST ) // 玩家加入服务器
323
327
public void onPlayerJoinEvent (PlayerJoinEvent event ){
328
+
329
+ // 绕过
330
+ if (bypassPlayerList .contains (event .getPlayer ().getUniqueId ().toString ())){
331
+ return ;
332
+ }
333
+
324
334
Player player = event .getPlayer ();
325
335
PlayerData pd = getPlayerData (player , true );
326
336
switch (pd .type ){
@@ -368,6 +378,12 @@ public void onPlayerJoinEvent(PlayerJoinEvent event){
368
378
@ EventHandler (priority = EventPriority .LOWEST ) // 玩家退出
369
379
public void onPlayerQuit (PlayerQuitEvent event ){
370
380
CompletableFuture .runAsync (() -> {
381
+
382
+ if (bypassPlayerList .contains (event .getPlayer ().getUniqueId ().toString ())){
383
+ bypassPlayerList .remove (event .getPlayer ().getUniqueId ().toString ());
384
+ return ;
385
+ }
386
+
371
387
Player player = event .getPlayer ();
372
388
PlayerData pd = getPlayerData (player , true );
373
389
switch (pd .type ){
0 commit comments