11package net .earthcomputer .clientcommands .cvw ;
22
3- import org .apache .logging .log4j .LogManager ;
4- import org .apache .logging .log4j .Logger ;
5-
63import com .mojang .authlib .GameProfileRepository ;
74import com .mojang .authlib .minecraft .MinecraftSessionService ;
85import com .mojang .authlib .yggdrasil .YggdrasilAuthenticationService ;
96
107import it .unimi .dsi .fastutil .longs .Long2ObjectArrayMap ;
118import it .unimi .dsi .fastutil .longs .Long2ObjectMap ;
12- import net .earthcomputer .clientcommands .ClientCommandsMod ;
139import net .minecraft .client .Minecraft ;
1410import net .minecraft .crash .CrashReport ;
1511import net .minecraft .crash .CrashReportCategory ;
2319import net .minecraft .world .WorldType ;
2420import net .minecraft .world .chunk .storage .AnvilSaveConverter ;
2521import net .minecraft .world .storage .ISaveFormat ;
22+ import net .minecraftforge .common .DimensionManager ;
2623import net .minecraftforge .common .MinecraftForge ;
2724import net .minecraftforge .event .world .WorldEvent ;
2825
2926public class ClientVirtualServer extends IntegratedServer {
3027
31- private static final Logger LOGGER = LogManager .getLogger (ClientCommandsMod .MODID );
32-
3328 private int dimensionId ;
3429 private GameType gameType ;
3530 private ServerConnector previousServer ;
@@ -74,15 +69,16 @@ public void loadAllWorlds(String saveName, String worldNameIn, long seed, WorldT
7469 dimensionId == 0 ? chunks : new Long2ObjectArrayMap <>(0 ), playerTag );
7570 overworld .init ();
7671 overworld .initialize (worldSettings );
77- overworld .addEventListener (new ServerWorldEventHandler (this , overworld ));
78- MinecraftForge .EVENT_BUS .post (new WorldEvent .Load (overworld ));
79-
80- ClientVirtualWorld world ;
81- if (dimensionId == 0 ) {
82- world = overworld ;
83- } else {
84- world = new ClientVirtualWorldMulti (this , dimensionId , worldSettings , chunks , playerTag , overworld );
85- world .init ();
72+
73+ for (int dim : DimensionManager .getStaticDimensionIDs ()) {
74+ ClientVirtualWorld world ;
75+ if (dim == 0 ) {
76+ world = overworld ;
77+ } else {
78+ world = new ClientVirtualWorldMulti (this , dim , worldSettings ,
79+ dimensionId == dim ? chunks : new Long2ObjectArrayMap <>(0 ), playerTag , overworld );
80+ world .init ();
81+ }
8682 world .addEventListener (new ServerWorldEventHandler (this , world ));
8783 MinecraftForge .EVENT_BUS .post (new WorldEvent .Load (world ));
8884 }
@@ -96,7 +92,6 @@ public void loadAllWorlds(String saveName, String worldNameIn, long seed, WorldT
9692
9793 @ Override
9894 public void saveAllWorlds (boolean isSilent ) {
99- LOGGER .info ("Skipping world saving of CVW" );
10095 }
10196
10297 @ Override
0 commit comments