diff --git a/src/main/kotlin/me/odinmain/features/impl/floor7/p3/termGUI/CustomTermGui.kt b/src/main/kotlin/me/odinmain/features/impl/floor7/p3/termGUI/CustomTermGui.kt index ac136f476..6e19d3a5c 100644 --- a/src/main/kotlin/me/odinmain/features/impl/floor7/p3/termGUI/CustomTermGui.kt +++ b/src/main/kotlin/me/odinmain/features/impl/floor7/p3/termGUI/CustomTermGui.kt @@ -5,6 +5,7 @@ import me.odinmain.events.impl.GuiEvent import me.odinmain.features.impl.floor7.p3.TerminalSolver import me.odinmain.features.impl.floor7.p3.TerminalSolver.canClick import me.odinmain.features.impl.floor7.p3.TerminalSolver.currentTerm +import me.odinmain.features.impl.floor7.p3.TerminalTypes import me.odinmain.utils.postAndCatch import me.odinmain.utils.render.Box import me.odinmain.utils.render.isPointWithin @@ -34,7 +35,7 @@ abstract class TermGui { fun mouseClicked(x: Int, y: Int, button: Int) { itemIndexMap.entries.find { it.value.isPointWithin(x, y) }?.let { (slot, _) -> - if (System.currentTimeMillis() - currentTerm.timeOpened < 300 || !canClick(slot, button) || (GuiEvent.CustomTermGuiClick(slot, if (button == 0) 3 else 0, button).postAndCatch())) return + if (System.currentTimeMillis() - currentTerm.timeOpened < 300 || (!canClick(slot, button) && currentTerm.type != TerminalTypes.MELODY) || (GuiEvent.CustomTermGuiClick(slot, if (button == 0) 3 else 0, button).postAndCatch())) return if (currentTerm.clickedSlot?.second?.let { System.currentTimeMillis() - it < 600 } != true) currentTerm.clickedSlot = slot to System.currentTimeMillis() windowClick(slot, if (button == 1) ClickType.Right else ClickType.Middle, true) }