diff --git a/src/main/java/dev/xkmc/l2core/events/ClientEventHandler.java b/src/main/java/dev/xkmc/l2core/events/ClientEventHandler.java index fcf1e55..f0b16ea 100644 --- a/src/main/java/dev/xkmc/l2core/events/ClientEventHandler.java +++ b/src/main/java/dev/xkmc/l2core/events/ClientEventHandler.java @@ -1,7 +1,6 @@ package dev.xkmc.l2core.events; import com.mojang.datafixers.util.Either; -import dev.xkmc.l2core.init.L2Core; import dev.xkmc.l2core.init.L2CoreConfig; import dev.xkmc.l2core.init.L2LibReg; import dev.xkmc.l2core.init.reg.ench.CustomDescEnchantment; @@ -19,9 +18,9 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.item.enchantment.EnchantmentHelper; import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; import net.neoforged.bus.api.EventPriority; import net.neoforged.bus.api.SubscribeEvent; -import net.neoforged.fml.common.EventBusSubscriber; import net.neoforged.neoforge.event.entity.player.ItemTooltipEvent; import java.util.ArrayList; @@ -29,13 +28,13 @@ import java.util.Collection; import java.util.List; import java.util.stream.Stream; -@EventBusSubscriber(value = Dist.CLIENT, modid = L2Core.MODID, bus = EventBusSubscriber.Bus.GAME) public class ClientEventHandler { public enum EnchDesc { DISABLE, SHIFT_ONLY, ALWAYS } + @OnlyIn(Dist.CLIENT) @SubscribeEvent(priority = EventPriority.LOW) public static void modifyItemTooltip(ItemTooltipEvent event) { var config = L2CoreConfig.CLIENT.addEnchantmentDescription.get(); diff --git a/src/main/java/dev/xkmc/l2core/init/L2Core.java b/src/main/java/dev/xkmc/l2core/init/L2Core.java index 1bb481b..6bb3ba4 100644 --- a/src/main/java/dev/xkmc/l2core/init/L2Core.java +++ b/src/main/java/dev/xkmc/l2core/init/L2Core.java @@ -3,13 +3,17 @@ package dev.xkmc.l2core.init; import dev.xkmc.l2core.base.effects.EffectToClient; import dev.xkmc.l2core.capability.conditionals.TokenToClient; import dev.xkmc.l2core.capability.player.PlayerCapToClient; +import dev.xkmc.l2core.events.ClientEventHandler; import dev.xkmc.l2core.init.reg.registrate.L2Registrate; import dev.xkmc.l2core.serial.config.SyncPacket; import dev.xkmc.l2serial.network.PacketHandler; import dev.xkmc.l2serial.serialization.custom_handler.Handlers; import net.minecraft.resources.ResourceLocation; +import net.neoforged.api.distmarker.Dist; import net.neoforged.bus.api.IEventBus; +import net.neoforged.fml.ModList; import net.neoforged.fml.common.Mod; +import net.neoforged.neoforge.common.NeoForge; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -31,11 +35,15 @@ public class L2Core { e -> e.create(SyncPacket.class, PLAY_TO_CLIENT) ); - public L2Core(IEventBus bus) { + public L2Core(IEventBus bus, Dist currentDist) { L2LibReg.register(); L2CoreConfig.init(); Handlers.register(); REGISTRATE.addDataGenerator(L2TagGen.EFF_TAGS, L2TagGen::onEffectTagGen); + + if (!ModList.get().isLoaded("enchdesc") && currentDist == Dist.CLIENT) { + NeoForge.EVENT_BUS.register(ClientEventHandler.class); + } } public static ResourceLocation loc(String id) {