diff options
| author | Lorenz <ESs95s3P5z8Pheb> | 2022-07-08 13:18:07 +0200 |
|---|---|---|
| committer | Lorenz <ESs95s3P5z8Pheb> | 2022-07-08 13:18:07 +0200 |
| commit | 8d03bbe8535488cf1b6ea71c63e765aa7f588c9e (patch) | |
| tree | 763b1aa5a448aadbc35cdff2d429cf6863ba653a /src/main/java/at/lorenz/mod/mixinhooks | |
| parent | c1add9e1afbae366d69721f317d2249aa137dc4b (diff) | |
| download | skyhanni-8d03bbe8535488cf1b6ea71c63e765aa7f588c9e.tar.gz skyhanni-8d03bbe8535488cf1b6ea71c63e765aa7f588c9e.tar.bz2 skyhanni-8d03bbe8535488cf1b6ea71c63e765aa7f588c9e.zip | |
code cleanup
Diffstat (limited to 'src/main/java/at/lorenz/mod/mixinhooks')
| -rw-r--r-- | src/main/java/at/lorenz/mod/mixinhooks/GuiContainerHook.kt | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/main/java/at/lorenz/mod/mixinhooks/GuiContainerHook.kt b/src/main/java/at/lorenz/mod/mixinhooks/GuiContainerHook.kt new file mode 100644 index 000000000..101bb56a1 --- /dev/null +++ b/src/main/java/at/lorenz/mod/mixinhooks/GuiContainerHook.kt @@ -0,0 +1,61 @@ +package at.lorenz.mod.mixinhooks + +import at.lorenz.mod.events.GuiContainerEvent +import at.lorenz.mod.events.GuiContainerEvent.CloseWindowEvent +import at.lorenz.mod.events.GuiContainerEvent.SlotClickEvent +import net.minecraft.client.gui.inventory.GuiContainer +import net.minecraft.inventory.Slot +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo + +class GuiContainerHook(guiAny: Any) { + + val gui: GuiContainer + + init { + gui = guiAny as GuiContainer + } + + fun closeWindowPressed(ci: CallbackInfo) { + if (CloseWindowEvent(gui, gui.inventorySlots).postAndCatch()) ci.cancel() + } + + fun backgroundDrawn(mouseX: Int, mouseY: Int, partialTicks: Float, ci: CallbackInfo) { + GuiContainerEvent.BackgroundDrawnEvent( + gui, + gui.inventorySlots, + mouseX, + mouseY, + partialTicks + ).postAndCatch() + } + + fun foregroundDrawn(mouseX: Int, mouseY: Int, partialTicks: Float, ci: CallbackInfo) { + GuiContainerEvent.ForegroundDrawnEvent(gui, gui.inventorySlots, mouseX, mouseY, partialTicks).postAndCatch() + } + + fun onDrawSlot(slot: Slot, ci: CallbackInfo) { + if (GuiContainerEvent.DrawSlotEvent.Pre( + gui, + gui.inventorySlots, + slot + ).postAndCatch() + ) ci.cancel() + } + + fun onDrawSlotPost(slot: Slot, ci: CallbackInfo) { + GuiContainerEvent.DrawSlotEvent.Post(gui, gui.inventorySlots, slot).postAndCatch() + } + + fun onMouseClick(slot: Slot?, slotId: Int, clickedButton: Int, clickType: Int, ci: CallbackInfo) { + if ( + SlotClickEvent( + gui, + gui.inventorySlots, + slot, + slotId, + clickedButton, + clickType + ).postAndCatch() + ) ci.cancel() + } +}
\ No newline at end of file |
