diff --git a/src/main/java/dev/micle/firefly_bush_backport/FireflyBushBackport.java b/src/main/java/dev/micle/firefly_bush_backport/FireflyBushBackport.java index 2f7d666..c82e999 100644 --- a/src/main/java/dev/micle/firefly_bush_backport/FireflyBushBackport.java +++ b/src/main/java/dev/micle/firefly_bush_backport/FireflyBushBackport.java @@ -3,28 +3,46 @@ package dev.micle.firefly_bush_backport; import com.mojang.logging.LogUtils; import dev.micle.firefly_bush_backport.proxy.IProxy; import dev.micle.firefly_bush_backport.proxy.Proxy; -import net.minecraftforge.fml.DistExecutor; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; +import net.minecraft.resources.ResourceLocation; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.fml.ModContainer; +import net.neoforged.fml.ModList; +import net.neoforged.fml.common.Mod; +import net.neoforged.fml.loading.FMLEnvironment; import org.slf4j.Logger; +import java.util.Optional; + @Mod(FireflyBushBackport.MOD_ID) public class FireflyBushBackport { public static final String MOD_ID = "firefly_bush_backport"; public static final Logger LOGGER = LogUtils.getLogger(); - private static FMLJavaModLoadingContext fmlJavaModLoadingContext; + private static IProxy proxy; - public FireflyBushBackport(FMLJavaModLoadingContext context) { - fmlJavaModLoadingContext = context; - - proxy = DistExecutor.safeRunForDist( - () -> Proxy.Client::new, - () -> Proxy.Server::new - ); + public FireflyBushBackport(IEventBus modEventBus, ModContainer modContainer) { + proxy = FMLEnvironment.dist == Dist.CLIENT + ? new Proxy.Client(modEventBus, modContainer) + : new Proxy.Server(modEventBus, modContainer); } - public static FMLJavaModLoadingContext getFMLJavaModLoadingContext() { - return fmlJavaModLoadingContext; + public static ResourceLocation createResourceLocation(String name) { + if (name.contains(":")) { + throw new IllegalArgumentException("Name contains namespace"); + } + return ResourceLocation.fromNamespaceAndPath(MOD_ID, name); + } + + public static String getVersion() { + Optional optional = ModList.get().getModContainerById(MOD_ID); + if (optional.isPresent()) { + return optional.get().getModInfo().getVersion().toString(); + } + return "0.0.0"; + } + + public static IProxy getProxy() { + return proxy; } }