diff options
| author | Lorenz <ESs95s3P5z8Pheb> | 2022-07-14 12:06:07 +0200 |
|---|---|---|
| committer | Lorenz <ESs95s3P5z8Pheb> | 2022-07-14 12:06:07 +0200 |
| commit | a5c540d977a3510812cac7fac340fe17e7d10983 (patch) | |
| tree | dbbe5b208e6871378a10868d1206d1d78beeb950 /src/main/java/at/hannibal2/skyhanni/events | |
| parent | d6c99ed30a2b1cb228b2fdc3d3178cf1f369dc53 (diff) | |
| download | skyhanni-a5c540d977a3510812cac7fac340fe17e7d10983.tar.gz skyhanni-a5c540d977a3510812cac7fac340fe17e7d10983.tar.bz2 skyhanni-a5c540d977a3510812cac7fac340fe17e7d10983.zip | |
renamed mod to SkyHanni
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/events')
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 |
