3232import de .bluecolored .bluemap .common .plugin .Plugin ;
3333import de .bluecolored .bluemap .core .BlueMap ;
3434import de .bluecolored .bluemap .core .logger .Logger ;
35+ import de .bluecolored .bluemap .core .map .BmMap ;
3536import de .bluecolored .bluemap .core .world .World ;
3637
3738import java .io .IOException ;
38- import java .util .Collection ;
39- import java .util .Objects ;
40- import java .util .Optional ;
41- import java .util .UUID ;
39+ import java .util .*;
4240import java .util .concurrent .ExecutionException ;
4341import java .util .stream .Collectors ;
4442
@@ -77,7 +75,10 @@ public de.bluecolored.bluemap.api.plugin.Plugin getPlugin() {
7775
7876 @ Override
7977 public Collection <BlueMapMap > getMaps () {
80- return plugin .getMaps ().values ().stream ()
78+ Map <String , BmMap > maps = plugin .getMaps ();
79+ if (maps == null ) return Collections .emptyList ();
80+
81+ return maps .values ().stream ()
8182 .map (map -> {
8283 try {
8384 return new BlueMapMapImpl (plugin , map );
@@ -92,7 +93,10 @@ public Collection<BlueMapMap> getMaps() {
9293
9394 @ Override
9495 public Collection <BlueMapWorld > getWorlds () {
95- return plugin .getWorlds ().values ().stream ()
96+ Map <String , World > worlds = plugin .getWorlds ();
97+ if (worlds == null ) return Collections .emptyList ();
98+
99+ return worlds .values ().stream ()
96100 .map (world -> getWorld (world ).orElse (null ))
97101 .filter (Objects ::nonNull )
98102 .collect (Collectors .toUnmodifiableSet ());
@@ -104,14 +108,16 @@ public Optional<BlueMapWorld> getWorld(Object world) {
104108 }
105109
106110 public Optional <BlueMapWorld > getWorldUncached (Object world ) {
111+ var worlds = plugin .getWorlds ();
112+ if (worlds == null ) return Optional .empty ();
107113
108114 if (world instanceof UUID ) {
109- var coreWorld = plugin . getWorlds () .get (world .toString ());
115+ var coreWorld = worlds .get (world .toString ());
110116 if (coreWorld != null ) world = coreWorld ;
111117 }
112118
113119 if (world instanceof String ) {
114- var coreWorld = plugin . getWorlds () .get (world );
120+ var coreWorld = worlds .get (world );
115121 if (coreWorld != null ) world = coreWorld ;
116122 }
117123
@@ -130,7 +136,7 @@ public Optional<BlueMapWorld> getWorldUncached(Object world) {
130136
131137 try {
132138 String id = plugin .getBlueMap ().getWorldId (serverWorld .getSaveFolder ());
133- var coreWorld = plugin . getWorlds () .get (id );
139+ var coreWorld = worlds .get (id );
134140 if (coreWorld == null ) return Optional .empty ();
135141
136142 return Optional .of (new BlueMapWorldImpl (plugin , coreWorld ));
@@ -147,7 +153,10 @@ public Optional<BlueMapMap> getMap(String id) {
147153 }
148154
149155 public Optional <BlueMapMap > getMapUncached (String id ) {
150- var map = plugin .getMaps ().get (id );
156+ var maps = plugin .getMaps ();
157+ if (maps == null ) return Optional .empty ();
158+
159+ var map = maps .get (id );
151160 if (map == null ) return Optional .empty ();
152161
153162 var world = getWorld (map .getWorld ()).orElse (null );
0 commit comments