From 2220a7039f06690a763650b1b8600096ecd398c3 Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Tue, 2 Jan 2024 11:31:41 +0700 Subject: [PATCH] Make mod actually run --- .../java/ru/dbotthepony/mc/otm/mixin/ItemMixin.java | 12 ++++++++---- .../ru/dbotthepony/mc/otm/registry/MCreativeTabs.kt | 5 +++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/main/java/ru/dbotthepony/mc/otm/mixin/ItemMixin.java b/src/main/java/ru/dbotthepony/mc/otm/mixin/ItemMixin.java index ca6a21b43..69ba6d819 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/mixin/ItemMixin.java +++ b/src/main/java/ru/dbotthepony/mc/otm/mixin/ItemMixin.java @@ -17,10 +17,14 @@ public abstract class ItemMixin { cancellable = true ) public void getItemCategory$hook(CallbackInfoReturnable info) { - if (MCreativeTabsKt.getMainTabContents().contains((Item) ((Object) this))) { - info.setReturnValue(OverdriveThatMatters.INSTANCE.CREATIVE_TAB); - } else if (MCreativeTabsKt.getDecorativeTabContents().contains((Item) ((Object) this))) { - info.setReturnValue(OverdriveThatMatters.INSTANCE.CREATIVE_TAB_DECORATIVE); + try { + if (MCreativeTabsKt.getMainTabContents().contains((Item) ((Object) this))) { + info.setReturnValue(OverdriveThatMatters.INSTANCE.CREATIVE_TAB); + } else if (MCreativeTabsKt.getDecorativeTabContents().contains((Item) ((Object) this))) { + info.setReturnValue(OverdriveThatMatters.INSTANCE.CREATIVE_TAB_DECORATIVE); + } + } catch(Throwable err) { + info.setReturnValue(CreativeModeTab.TAB_MISC); // fuck you shapedrecipebuilder } } } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MCreativeTabs.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MCreativeTabs.kt index 0a628f12b..ce5fa038c 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MCreativeTabs.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MCreativeTabs.kt @@ -285,5 +285,6 @@ private fun addDecorativeTabItems(consumer: CreativeTabOutput) { } } -val MainTabContents = CreativeTabOutput().also { addMainCreativeTabItems(it) } -val DecorativeTabContents = CreativeTabOutput().also { addDecorativeTabItems(it) } +// lazy is to prevent "exception in initializer" and allow to re-initialize in future +val MainTabContents by lazy { CreativeTabOutput().also { addMainCreativeTabItems(it) } } +val DecorativeTabContents by lazy { CreativeTabOutput().also { addDecorativeTabItems(it) } }