2
2
3
3
import com .mojang .brigadier .ParseResults ;
4
4
import com .mojang .brigadier .StringReader ;
5
+ import com .google .common .collect .Lists ;
5
6
import io .izzel .arclight .common .bridge .bukkit .CraftServerBridge ;
6
7
import io .izzel .arclight .common .bridge .core .world .WorldBridge ;
7
8
import io .izzel .arclight .common .mod .server .ArclightServer ;
9
+ import io .izzel .arclight .common .bridge .core .entity .player .ServerPlayerEntityBridge ;
8
10
import jline .console .ConsoleReader ;
9
11
import net .minecraft .commands .CommandSourceStack ;
10
12
import net .minecraft .server .dedicated .DedicatedPlayerList ;
21
23
import org .bukkit .craftbukkit .v .command .CraftBlockCommandSender ;
22
24
import org .bukkit .craftbukkit .v .command .CraftCommandMap ;
23
25
import org .bukkit .craftbukkit .v .entity .CraftEntity ;
26
+ import org .bukkit .craftbukkit .v .entity .CraftPlayer ;
24
27
import org .bukkit .craftbukkit .v .help .SimpleHelpMap ;
25
28
import org .bukkit .craftbukkit .v .scheduler .CraftScheduler ;
26
29
import org .bukkit .event .server .ServerLoadEvent ;
44
47
45
48
import java .io .File ;
46
49
import java .io .IOException ;
47
- import java .util .List ;
48
- import java .util .Locale ;
49
- import java .util .Map ;
50
+ import java .util .*;
50
51
import java .util .logging .Level ;
51
52
import java .util .logging .Logger ;
52
53
@@ -62,6 +63,7 @@ public abstract class CraftServerMixin implements CraftServerBridge {
62
63
@ Shadow @ Final protected DedicatedServer console ;
63
64
@ Shadow @ Final @ Mutable private String serverName ;
64
65
@ Shadow @ Final @ Mutable protected DedicatedPlayerList playerList ;
66
+ @ Shadow @ Final @ Mutable private List <CraftPlayer > playerView ;
65
67
@ Shadow @ Final private Map <String , World > worlds ;
66
68
@ Shadow public int reloadCount ;
67
69
@ Shadow private YamlConfiguration configuration ;
@@ -77,6 +79,7 @@ public abstract class CraftServerMixin implements CraftServerBridge {
77
79
@ Shadow public abstract void loadPlugins ();
78
80
@ Shadow public abstract void enablePlugins (PluginLoadOrder type );
79
81
@ Shadow public abstract PluginManager getPluginManager ();
82
+ @ Shadow @ Final private String serverVersion ;
80
83
@ Accessor ("logger" ) @ Mutable public abstract void setLogger (Logger logger );
81
84
// @formatter:on
82
85
@@ -97,6 +100,9 @@ public String getName() {
97
100
@ Override
98
101
public void bridge$setPlayerList (PlayerList playerList ) {
99
102
this .playerList = (DedicatedPlayerList ) playerList ;
103
+ this .playerView = Collections .unmodifiableList (Lists .transform (playerList .players , player ->
104
+ ((ServerPlayerEntityBridge )player ).bridge$getBukkitEntity ()
105
+ ));
100
106
}
101
107
102
108
/**
0 commit comments