package org.betterx.bclib.entrypoints; import net.fabricmc.loader.api.FabricLoader; import java.util.List; import org.jetbrains.annotations.ApiStatus; @ApiStatus.Internal public class EntrypointUtil { private static List getEntryPoints(boolean client, Class select) { return FabricLoader.getInstance() .getEntrypoints( client ? "bclib_client" : "bclib", BCLibEntryPoint.class ) .stream() .filter(o -> select.isAssignableFrom(o.getClass())) .map(e -> (T) e) .toList(); } @ApiStatus.Internal public static List getCommon(Class select) { return getEntryPoints(false, select); } @ApiStatus.Internal public static List getClient(Class select) { return getEntryPoints(true, select); } }