diff options
Diffstat (limited to 'src/main/kotlin/features/FeatureManager.kt')
-rw-r--r-- | src/main/kotlin/features/FeatureManager.kt | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/src/main/kotlin/features/FeatureManager.kt b/src/main/kotlin/features/FeatureManager.kt index 1b39d4e..e0799c4 100644 --- a/src/main/kotlin/features/FeatureManager.kt +++ b/src/main/kotlin/features/FeatureManager.kt @@ -25,12 +25,17 @@ import moe.nea.firmament.features.inventory.PetFeatures import moe.nea.firmament.features.inventory.PriceData import moe.nea.firmament.features.inventory.SaveCursorPosition import moe.nea.firmament.features.inventory.SlotLocking +import moe.nea.firmament.features.inventory.WardrobeKeybinds import moe.nea.firmament.features.inventory.buttons.InventoryButtons import moe.nea.firmament.features.inventory.storageoverlay.StorageOverlay +import moe.nea.firmament.features.items.EtherwarpOverlay import moe.nea.firmament.features.mining.PickaxeAbility import moe.nea.firmament.features.mining.PristineProfitTracker +import moe.nea.firmament.features.misc.CustomCapes +import moe.nea.firmament.features.misc.Hud import moe.nea.firmament.features.world.FairySouls import moe.nea.firmament.features.world.Waypoints +import moe.nea.firmament.util.compatloader.ICompatMeta import moe.nea.firmament.util.data.DataHolder object FeatureManager : DataHolder<FeatureManager.Config>(serializer(), "features", ::Config) { @@ -59,7 +64,6 @@ object FeatureManager : DataHolder<FeatureManager.Config>(serializer(), "feature loadFeature(PowerUserTools) loadFeature(Waypoints) loadFeature(ChatLinks) - loadFeature(InventoryButtons) loadFeature(CompatibliltyFeatures) loadFeature(AnniversaryFeatures) loadFeature(QuickCommands) @@ -67,6 +71,10 @@ object FeatureManager : DataHolder<FeatureManager.Config>(serializer(), "feature loadFeature(SaveCursorPosition) loadFeature(PriceData) loadFeature(Fixes) + loadFeature(CustomCapes) + loadFeature(Hud) + loadFeature(EtherwarpOverlay) + loadFeature(WardrobeKeybinds) loadFeature(DianaWaypoints) loadFeature(ItemRarityCosmetics) loadFeature(PickaxeAbility) @@ -83,17 +91,18 @@ object FeatureManager : DataHolder<FeatureManager.Config>(serializer(), "feature fun subscribeEvents() { SubscriptionList.allLists.forEach { list -> - runCatching { - list.provideSubscriptions { - it.owner.javaClass.classes.forEach { - runCatching { it.getDeclaredField("INSTANCE").get(null) } + if (ICompatMeta.shouldLoad(list.javaClass.name)) + runCatching { + list.provideSubscriptions { + it.owner.javaClass.classes.forEach { + runCatching { it.getDeclaredField("INSTANCE").get(null) } + } + subscribeSingleEvent(it) } - subscribeSingleEvent(it) + }.getOrElse { + // TODO: allow annotating source sets to specifically opt out of loading for mods, maybe automatically + Firmament.logger.info("Ignoring events from $list, likely due to a missing compat mod.", it) } - }.getOrElse { - // TODO: allow annotating source sets to specifically opt out of loading for mods, maybe automatically - Firmament.logger.info("Ignoring events from $list, likely due to a missing compat mod.", it) - } } } |