diff --git a/libjf-mainhttp-v0/src/main/java/io/gitlab/jfronny/libjf/mainhttp/api/v0/ServerState.java b/libjf-mainhttp-v0/src/main/java/io/gitlab/jfronny/libjf/mainhttp/api/v0/ServerState.java index 15d9132..0830f9c 100644 --- a/libjf-mainhttp-v0/src/main/java/io/gitlab/jfronny/libjf/mainhttp/api/v0/ServerState.java +++ b/libjf-mainhttp-v0/src/main/java/io/gitlab/jfronny/libjf/mainhttp/api/v0/ServerState.java @@ -4,7 +4,7 @@ import io.gitlab.jfronny.libjf.mainhttp.impl.MainHttp; public interface ServerState { static void onActivate(Runnable listener) { - MainHttp.ON_ACTIVATE.register(listener); + MainHttp.ON_ACTIVATE.add(listener); } static boolean isActive() { diff --git a/libjf-mainhttp-v0/src/main/java/io/gitlab/jfronny/libjf/mainhttp/impl/MainHttp.java b/libjf-mainhttp-v0/src/main/java/io/gitlab/jfronny/libjf/mainhttp/impl/MainHttp.java index f820821..ad7f075 100644 --- a/libjf-mainhttp-v0/src/main/java/io/gitlab/jfronny/libjf/mainhttp/impl/MainHttp.java +++ b/libjf-mainhttp-v0/src/main/java/io/gitlab/jfronny/libjf/mainhttp/impl/MainHttp.java @@ -2,18 +2,15 @@ package io.gitlab.jfronny.libjf.mainhttp.impl; import io.gitlab.jfronny.libjf.mainhttp.api.v0.MainHttpHandler; import io.gitlab.jfronny.libjf.mainhttp.impl.util.ClaimPool; -import net.fabricmc.fabric.api.event.Event; -import net.fabricmc.fabric.api.event.EventFactory; import net.fabricmc.loader.api.FabricLoader; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.ArrayList; import java.util.List; public class MainHttp { - public static final Event ON_ACTIVATE = EventFactory.createArrayBacked(Runnable.class, listeners -> () -> { - for (Runnable listener : listeners) listener.run(); - }); + public static final List ON_ACTIVATE = new ArrayList<>(); public static final ClaimPool GAME_PORT = new ClaimPool<>(); public static final String MOD_ID = "libjf-mainhttp"; public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID); diff --git a/libjf-mainhttp-v0/src/main/java/io/gitlab/jfronny/libjf/mainhttp/impl/mixin/ServerNetworkIoMixin.java b/libjf-mainhttp-v0/src/main/java/io/gitlab/jfronny/libjf/mainhttp/impl/mixin/ServerNetworkIoMixin.java index 308fd31..fb9cd0b 100644 --- a/libjf-mainhttp-v0/src/main/java/io/gitlab/jfronny/libjf/mainhttp/impl/mixin/ServerNetworkIoMixin.java +++ b/libjf-mainhttp-v0/src/main/java/io/gitlab/jfronny/libjf/mainhttp/impl/mixin/ServerNetworkIoMixin.java @@ -21,7 +21,7 @@ public class ServerNetworkIoMixin { @Inject(method = "bind(Ljava/net/InetAddress;I)V", at = @At("HEAD")) void onBind(InetAddress address, int port, CallbackInfo ci) { libjf$portClaim.add(MainHttp.GAME_PORT.claim(port)); - MainHttp.ON_ACTIVATE.invoker().run(); + for (Runnable runnable : MainHttp.ON_ACTIVATE) runnable.run(); } @Inject(method = "stop()V", at = @At("HEAD"))