diff --git a/build.gradle b/build.gradle index 3454cd6..73c30fc 100644 --- a/build.gradle +++ b/build.gradle @@ -86,7 +86,7 @@ repositories { dependencies { minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}" - implementation fg.deobf("net.fretux.ascend:Ascend:2.0.3") + compileOnly fg.deobf("net.fretux.ascend:Ascend:2.0.3") // Iron's Spellbooks compileOnly fg.deobf("io.redspace.ironsspellbooks:irons_spellbooks:${irons_spells_version}:api") diff --git a/src/main/java/net/fretux/mindmotion/event/PlayerTickHandler.java b/src/main/java/net/fretux/mindmotion/event/PlayerTickHandler.java index 90cbb42..20af9ef 100644 --- a/src/main/java/net/fretux/mindmotion/event/PlayerTickHandler.java +++ b/src/main/java/net/fretux/mindmotion/event/PlayerTickHandler.java @@ -1,7 +1,6 @@ package net.fretux.mindmotion.event; import net.fretux.mindmotion.ConfigMM; -import net.fretux.mindmotion.compat.AscendCompat; import net.fretux.mindmotion.network.ModMessages; import net.fretux.mindmotion.network.SyncStatsS2CPacket; import net.fretux.mindmotion.player.PlayerCapabilityProvider; @@ -14,6 +13,7 @@ import net.minecraft.world.level.block.Blocks; import net.minecraftforge.event.TickEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.fml.ModList; import java.util.Map; import java.util.UUID; @@ -35,7 +35,13 @@ public class PlayerTickHandler { if (event.phase != TickEvent.Phase.END) return; Player player = event.player; if (player.level().isClientSide) return; - AscendCompat.applyWillpowerBonuses(player); + if (ModList.get().isLoaded("ascend")) { + try { + net.fretux.mindmotion.compat.AscendCompat.applyWillpowerBonuses(player); + } catch (NoClassDefFoundError | Exception e) { + // Skip Ascend integration if the classes are missing or fail to load. + } + } int tick = player.tickCount; boolean sanityTick = tick % SANITY_TICK_INTERVAL == 0; boolean tempoSyncTick = tick % TEMPO_TICK_INTERVAL == 0;