summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/events
diff options
context:
space:
mode:
authorLorenz <ESs95s3P5z8Pheb>2022-07-14 12:06:07 +0200
committerLorenz <ESs95s3P5z8Pheb>2022-07-14 12:06:07 +0200
commita5c540d977a3510812cac7fac340fe17e7d10983 (patch)
treedbbe5b208e6871378a10868d1206d1d78beeb950 /src/main/java/at/hannibal2/skyhanni/events
parentd6c99ed30a2b1cb228b2fdc3d3178cf1f369dc53 (diff)
downloadskyhanni-a5c540d977a3510812cac7fac340fe17e7d10983.tar.gz
skyhanni-a5c540d977a3510812cac7fac340fe17e7d10983.tar.bz2
skyhanni-a5c540d977a3510812cac7fac340fe17e7d10983.zip
renamed mod to SkyHanni
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/events')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/events/CheckRenderEntityEvent.kt14
-rw-r--r--src/main/java/at/hannibal2/skyhanni/events/DamageIndicatorFinalBossEvent.kt3
-rw-r--r--src/main/java/at/hannibal2/skyhanni/events/DungeonEnterEvent.kt3
-rw-r--r--src/main/java/at/hannibal2/skyhanni/events/GuiContainerEvent.kt54
-rw-r--r--src/main/java/at/hannibal2/skyhanni/events/GuiRenderItemEvent.kt23
-rw-r--r--src/main/java/at/hannibal2/skyhanni/events/LorenzActionBarEvent.kt3
-rw-r--r--src/main/java/at/hannibal2/skyhanni/events/LorenzChatEvent.kt5
-rw-r--r--src/main/java/at/hannibal2/skyhanni/events/LorenzEvent.kt20
-rw-r--r--src/main/java/at/hannibal2/skyhanni/events/PacketEvent.kt25
-rw-r--r--src/main/java/at/hannibal2/skyhanni/events/PlayerSendChatEvent.kt11
10 files changed, 161 insertions, 0 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/events/CheckRenderEntityEvent.kt b/src/main/java/at/hannibal2/skyhanni/events/CheckRenderEntityEvent.kt
new file mode 100644
index 000000000..bd9a816cb
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/events/CheckRenderEntityEvent.kt
@@ -0,0 +1,14 @@
+package at.hannibal2.skyhanni.events
+
+import net.minecraft.client.renderer.culling.ICamera
+import net.minecraft.entity.Entity
+import net.minecraftforge.fml.common.eventhandler.Cancelable
+
+@Cancelable
+data class CheckRenderEntityEvent<T : Entity>(
+ val entity: T,
+ val camera: ICamera,
+ val camX: Double,
+ val camY: Double,
+ val camZ: Double
+) : LorenzEvent() \ No newline at end of file
diff --git a/src/main/java/at/hannibal2/skyhanni/events/DamageIndicatorFinalBossEvent.kt b/src/main/java/at/hannibal2/skyhanni/events/DamageIndicatorFinalBossEvent.kt
new file mode 100644
index 000000000..ffcde662a
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/events/DamageIndicatorFinalBossEvent.kt
@@ -0,0 +1,3 @@
+package at.hannibal2.skyhanni.events
+
+class DamageIndicatorFinalBossEvent(val id: Int): LorenzEvent() \ No newline at end of file
diff --git a/src/main/java/at/hannibal2/skyhanni/events/DungeonEnterEvent.kt b/src/main/java/at/hannibal2/skyhanni/events/DungeonEnterEvent.kt
new file mode 100644
index 000000000..819ae8c71
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/events/DungeonEnterEvent.kt
@@ -0,0 +1,3 @@
+package at.hannibal2.skyhanni.events
+
+class DungeonEnterEvent(dungeonFloor: String): LorenzEvent() \ No newline at end of file
diff --git a/src/main/java/at/hannibal2/skyhanni/events/GuiContainerEvent.kt b/src/main/java/at/hannibal2/skyhanni/events/GuiContainerEvent.kt
new file mode 100644
index 000000000..4b1df77a4
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/events/GuiContainerEvent.kt
@@ -0,0 +1,54 @@
+package at.hannibal2.skyhanni.events
+
+import net.minecraft.client.gui.inventory.GuiContainer
+import net.minecraft.inventory.Container
+import net.minecraft.inventory.ContainerChest
+import net.minecraft.inventory.Slot
+import net.minecraftforge.fml.common.eventhandler.Cancelable
+
+abstract class GuiContainerEvent(open val gui: GuiContainer, open val container: Container) : LorenzEvent() {
+ val chestName: String by lazy {
+ if (container !is ContainerChest) error("Container is not a chest")
+ return@lazy (container as ContainerChest).lowerChestInventory.displayName.unformattedText.trim()
+ }
+
+ data class BackgroundDrawnEvent(
+ override val gui: GuiContainer,
+ override val container: Container,
+ val mouseX: Int,
+ val mouseY: Int,
+ val partialTicks: Float
+ ) : GuiContainerEvent(gui, container)
+
+ @Cancelable
+ data class CloseWindowEvent(override val gui: GuiContainer, override val container: Container) :
+ GuiContainerEvent(gui, container)
+
+ abstract class DrawSlotEvent(gui: GuiContainer, container: Container, open val slot: Slot) :
+ GuiContainerEvent(gui, container) {
+ @Cancelable
+ data class Pre(override val gui: GuiContainer, override val container: Container, override val slot: Slot) :
+ DrawSlotEvent(gui, container, slot)
+
+ data class Post(override val gui: GuiContainer, override val container: Container, override val slot: Slot) :
+ DrawSlotEvent(gui, container, slot)
+ }
+
+ data class ForegroundDrawnEvent(
+ override val gui: GuiContainer,
+ override val container: Container,
+ val mouseX: Int,
+ val mouseY: Int,
+ val partialTicks: Float
+ ) : GuiContainerEvent(gui, container)
+
+ @Cancelable
+ data class SlotClickEvent(
+ override val gui: GuiContainer,
+ override val container: Container,
+ val slot: Slot?,
+ val slotId: Int,
+ val clickedButton: Int,
+ val clickType: Int
+ ) : GuiContainerEvent(gui, container)
+} \ No newline at end of file
diff --git a/src/main/java/at/hannibal2/skyhanni/events/GuiRenderItemEvent.kt b/src/main/java/at/hannibal2/skyhanni/events/GuiRenderItemEvent.kt
new file mode 100644
index 000000000..0741aac5c
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/events/GuiRenderItemEvent.kt
@@ -0,0 +1,23 @@
+package at.hannibal2.skyhanni.events
+
+import net.minecraft.client.gui.FontRenderer
+import net.minecraft.item.ItemStack
+
+abstract class GuiRenderItemEvent : LorenzEvent() {
+ abstract class RenderOverlayEvent(
+ open val fr: FontRenderer,
+ open val stack: ItemStack?,
+ open val x: Int,
+ open val y: Int,
+ open val text: String?
+ ) : GuiRenderItemEvent() {
+ data class Post(
+ override val fr: FontRenderer,
+ override val stack: ItemStack?,
+ override val x: Int,
+ override val y: Int,
+ override val text: String?
+ ) :
+ RenderOverlayEvent(fr, stack, x, y, text)
+ }
+} \ No newline at end of file
diff --git a/src/main/java/at/hannibal2/skyhanni/events/LorenzActionBarEvent.kt b/src/main/java/at/hannibal2/skyhanni/events/LorenzActionBarEvent.kt
new file mode 100644
index 000000000..e5e936fb0
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/events/LorenzActionBarEvent.kt
@@ -0,0 +1,3 @@
+package at.hannibal2.skyhanni.events
+
+class LorenzActionBarEvent(val message: String) : LorenzEvent() \ No newline at end of file
diff --git a/src/main/java/at/hannibal2/skyhanni/events/LorenzChatEvent.kt b/src/main/java/at/hannibal2/skyhanni/events/LorenzChatEvent.kt
new file mode 100644
index 000000000..2c7db6bd7
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/events/LorenzChatEvent.kt
@@ -0,0 +1,5 @@
+package at.hannibal2.skyhanni.events
+
+import net.minecraft.util.IChatComponent
+
+class LorenzChatEvent(val message: String, val chatComponent: IChatComponent, var blockedReason: String = "") : LorenzEvent() \ No newline at end of file
diff --git a/src/main/java/at/hannibal2/skyhanni/events/LorenzEvent.kt b/src/main/java/at/hannibal2/skyhanni/events/LorenzEvent.kt
new file mode 100644
index 000000000..cc18898ee
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/events/LorenzEvent.kt
@@ -0,0 +1,20 @@
+package at.hannibal2.skyhanni.events
+
+import at.hannibal2.skyhanni.utils.LorenzUtils
+import net.minecraftforge.common.MinecraftForge
+import net.minecraftforge.fml.common.eventhandler.Event
+
+abstract class LorenzEvent: Event() {
+ val eventName by lazy {
+ this::class.simpleName
+ }
+
+ fun postAndCatch(): Boolean {
+ return runCatching {
+ MinecraftForge.EVENT_BUS.post(this)
+ }.onFailure {
+ it.printStackTrace()
+ LorenzUtils.chat("§cSkyHanni caught and logged an ${it::class.simpleName ?: "error"} at ${eventName}.")
+ }.getOrDefault(isCanceled)
+ }
+} \ No newline at end of file
diff --git a/src/main/java/at/hannibal2/skyhanni/events/PacketEvent.kt b/src/main/java/at/hannibal2/skyhanni/events/PacketEvent.kt
new file mode 100644
index 000000000..abdb79b39
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/events/PacketEvent.kt
@@ -0,0 +1,25 @@
+package at.hannibal2.skyhanni.events
+
+import net.minecraft.network.Packet
+import net.minecraftforge.fml.common.eventhandler.Cancelable
+
+@Cancelable
+open class PacketEvent(val packet: Packet<*>) : LorenzEvent() {
+ var direction: Direction? = null
+
+ class ReceiveEvent(packet: Packet<*>) : PacketEvent(packet) {
+ init {
+ direction = Direction.INBOUND
+ }
+ }
+
+ class SendEvent(packet: Packet<*>) : PacketEvent(packet) {
+ init {
+ direction = Direction.OUTBOUND
+ }
+ }
+
+ enum class Direction {
+ INBOUND, OUTBOUND
+ }
+} \ No newline at end of file
diff --git a/src/main/java/at/hannibal2/skyhanni/events/PlayerSendChatEvent.kt b/src/main/java/at/hannibal2/skyhanni/events/PlayerSendChatEvent.kt
new file mode 100644
index 000000000..4ce9db1a8
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/events/PlayerSendChatEvent.kt
@@ -0,0 +1,11 @@
+package at.hannibal2.skyhanni.events
+
+import at.hannibal2.skyhanni.chat.PlayerMessageChannel
+
+
+class PlayerSendChatEvent(
+ val channel: PlayerMessageChannel,
+ val playerName: String,
+ var message: String,
+ var cancelledReason: String = ""
+) : LorenzEvent() \ No newline at end of file