diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/matter/MatterPanelScreen.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/matter/MatterPanelScreen.kt index baabc38e2..b0d37957b 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/matter/MatterPanelScreen.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/matter/MatterPanelScreen.kt @@ -172,9 +172,13 @@ class MatterPanelScreen( override fun mouseClickedInner(x: Double, y: Double, button: Int): Boolean { if (isPatternView) { if (minecraft?.player?.isSpectator != true) - menu.patternsFiltered.getOrNull(index)?.let(this@MatterPanelScreen::openPattern) + menu.patternsFiltered.getOrNull(index)?.let(this@MatterPanelScreen::openPattern)?.let { + frame.blockingWindow = it + } } else { - menu.tasksFiltered.getOrNull(index)?.let(this@MatterPanelScreen::openTask) + menu.tasksFiltered.getOrNull(index)?.let(this@MatterPanelScreen::openTask)?.let { + frame.blockingWindow = it + } } return true @@ -190,7 +194,7 @@ class MatterPanelScreen( return frame } - private fun openTask(task: IReplicationTask<*>) { + private fun openTask(task: IReplicationTask<*>): FramePanel { val frame = FramePanel.padded(this, null, 170f, 20f, TranslatableComponent("otm.gui.matter_panel.task")) frame.closeOnEscape = true @@ -232,9 +236,11 @@ class MatterPanelScreen( popup(frame) frame.toScreenCenter() + + return frame } - private fun openPattern(pattern: IPatternState) { + private fun openPattern(pattern: IPatternState): FramePanel { val frame = FramePanel.padded(this, null, 213f, (ButtonPanel.HEIGHT + 3f) * 4f + 38f, TranslatableComponent("otm.gui.matter_panel.task")) frame.closeOnEscape = true @@ -418,6 +424,8 @@ class MatterPanelScreen( } frame.toScreenCenter() + + return frame } companion object {