From 39f4edb8570b63c54cf97495ee893e5fd50cefa0 Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Tue, 13 Sep 2022 09:13:49 +0700 Subject: [PATCH] Attach exosuit button to screen if is for inventorymenu --- .../ru/dbotthepony/mc/otm/client/ClientEventHandler.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/client/ClientEventHandler.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/client/ClientEventHandler.kt index 6f2c1922e..2b7c4cb64 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/client/ClientEventHandler.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/client/ClientEventHandler.kt @@ -1,7 +1,10 @@ package ru.dbotthepony.mc.otm.client import com.mojang.blaze3d.platform.InputConstants +import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen import net.minecraft.client.gui.screens.inventory.InventoryScreen +import net.minecraft.world.inventory.AbstractContainerMenu +import net.minecraft.world.inventory.InventoryMenu import net.minecraftforge.client.event.ClientPlayerNetworkEvent import net.minecraftforge.client.event.MovementInputUpdateEvent import net.minecraftforge.client.event.ScreenEvent @@ -58,7 +61,8 @@ var shouldOpenVanillaInventory = false fun onPostScreenInit(event: ScreenEvent.Init.Post) { val player = minecraft.player?.matteryPlayer ?: return - val screen = event.screen as? InventoryScreen ?: return + val eventScreen = event.screen + val screen = if (eventScreen is AbstractContainerScreen<*> && eventScreen.menu is InventoryMenu) eventScreen else return if (player.hasExoSuit) { val widget = Panel2Widget(LargeRectangleButtonPanel(screen, null,