diff --git a/src/main/java/net/pietru/cookie_utils/CookieUtils.java b/src/main/java/net/pietru/cookie_utils/CookieUtils.java index c32915d..ab0f6ae 100644 --- a/src/main/java/net/pietru/cookie_utils/CookieUtils.java +++ b/src/main/java/net/pietru/cookie_utils/CookieUtils.java @@ -32,20 +32,6 @@ public class CookieUtils implements ModInitializer { setupCreator.registerSetupCreators(); System.out.println("CookieUtils loaded setup creators..."); - try { - ArrayList zones = get_server_property_array("zones","[]"); - for (String zoneId : zones){ - Zone z = GameSingletons.world.getZoneIfExists(zoneId); - if (z == null && GameSingletons.isHost) { - z = Zone.loadZone(GameSingletons.world, zoneId); - GameSingletons.world.addZone(z); - } - } - System.out.println("CookieUtils loaded additional zones..."); - } catch (IOException e) { - throw new RuntimeException(e); - } - // List paths = List.of(Gdx.files.internal(MOD_ID + "/assets.txt").readString().split("\n")); // for (String path : paths){ // if (path.contains("block_events")) { diff --git a/src/main/java/net/pietru/cookie_utils/mixins/NettyServerMixin.java b/src/main/java/net/pietru/cookie_utils/mixins/NettyServerMixin.java new file mode 100644 index 0000000..4e9fb14 --- /dev/null +++ b/src/main/java/net/pietru/cookie_utils/mixins/NettyServerMixin.java @@ -0,0 +1,35 @@ +package net.pietru.cookie_utils.mixins; + +import finalforeach.cosmicreach.GameSingletons; +import finalforeach.cosmicreach.networking.netty.NettyServer; +import finalforeach.cosmicreach.world.Zone; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import java.io.IOException; +import java.util.ArrayList; + +import static net.pietru.cookie_utils.utils.prop.get_server_property_array; + +@Mixin(NettyServer.class) +public class NettyServerMixin { + + @Inject(method = "run", at = @At("HEAD")) + private static void on_singletons_create(CallbackInfo ci){ + try { + ArrayList zones = get_server_property_array("zones","[]"); + for (String zoneId : zones){ + Zone z = GameSingletons.world.getZoneIfExists(zoneId); + if (z == null && GameSingletons.isHost) { + z = Zone.loadZone(GameSingletons.world, zoneId); + GameSingletons.world.addZone(z); + } + } + System.out.println("CookieUtils loaded additional zones..."); + } catch (IOException e) { + throw new RuntimeException(e); + } + } +} diff --git a/src/main/java/net/pietru/cookie_utils/mixins/ServerSingletonsMixin.java b/src/main/java/net/pietru/cookie_utils/mixins/ServerSingletonsMixin.java deleted file mode 100644 index 7cd4afa..0000000 --- a/src/main/java/net/pietru/cookie_utils/mixins/ServerSingletonsMixin.java +++ /dev/null @@ -1,20 +0,0 @@ -package net.pietru.cookie_utils.mixins; - -import finalforeach.cosmicreach.networking.server.ServerSingletons; -import net.pietru.cookie_utils.api.Region; -import net.pietru.cookie_utils.permissions.Permissions; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -@Mixin(ServerSingletons.class) -public class ServerSingletonsMixin { - - @Inject(method = "create", at = @At("HEAD")) - private static void on_singletons_create(CallbackInfo ci){ -// Permissions.reload_perm_groups(); -// Permissions.reload_player_groups(true); -// Region.reload_regions(); - } -} diff --git a/src/main/resources/cookie_utils.mixins.json b/src/main/resources/cookie_utils.mixins.json index 8193ab8..75f75b9 100644 --- a/src/main/resources/cookie_utils.mixins.json +++ b/src/main/resources/cookie_utils.mixins.json @@ -12,7 +12,7 @@ "MessagePacketMixin", "MobSpawnerMixin", "PlayerPositionMixin", - "ServerSingletonsMixin" + "NettyServerMixin" ], "client": [], "injectors": {