@@ -267,11 +267,19 @@ private void waitForCompletionOfPreviousSave() {
267267 }
268268
269269 private SaveTransaction createSaveTransaction () {
270+ ChunkProvider chunkProviderInstance = chunkProvider != null ? chunkProvider .get () : null ;
271+ NetworkSystem networkSystemInstance = networkSystem != null ? networkSystem .get () : null ;
272+ if (chunkProviderInstance == null ) {
273+ throw new IllegalStateException ("Cannot save: ChunkProvider not available" );
274+ }
275+ if (networkSystemInstance == null ) {
276+ throw new IllegalStateException ("Cannot save: NetworkSystem not available" );
277+ }
270278 SaveTransactionBuilder saveTransactionBuilder = new SaveTransactionBuilder (privateEntityManager ,
271279 entitySetDeltaRecorder , isStoreChunksInZips (), getStoragePathProvider (), worldDirectoryWriteLock ,
272280 recordAndReplaySerializer , recordAndReplayUtils , recordAndReplayCurrentStatus );
273- addChunksToSaveTransaction (saveTransactionBuilder , chunkProvider . get () );
274- addPlayersToSaveTransaction (saveTransactionBuilder , networkSystem . get () );
281+ addChunksToSaveTransaction (saveTransactionBuilder , chunkProviderInstance );
282+ addPlayersToSaveTransaction (saveTransactionBuilder , networkSystemInstance );
275283 addGlobalStoreBuilderToSaveTransaction (saveTransactionBuilder );
276284 addGameManifestToSaveTransaction (saveTransactionBuilder );
277285
@@ -403,9 +411,13 @@ public void update() {
403411 }
404412
405413 private boolean isRunModeAllowSaving () {
414+ if (networkSystem == null || chunkProvider == null ) {
415+ return false ;
416+ }
406417 NetworkSystem networkSystemInstance = networkSystem .get ();
407- return networkSystemInstance != null && networkSystemInstance .getMode ().isAuthority () && chunkProvider .get () != null
408- && blockManager != null ;
418+ ChunkProvider chunkProviderInstance = chunkProvider .get ();
419+ return networkSystemInstance != null && networkSystemInstance .getMode ().isAuthority ()
420+ && chunkProviderInstance != null && blockManager != null ;
409421 }
410422
411423 private void startSaving () {
0 commit comments