aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorMy-Name-Is-Jeff <37018278+My-Name-Is-Jeff@users.noreply.github.com>2021-10-15 01:33:38 -0400
committerMy-Name-Is-Jeff <37018278+My-Name-Is-Jeff@users.noreply.github.com>2021-10-15 01:35:48 -0400
commit2b737ab626668b7a2a3251fd9a14c774c501e009 (patch)
tree161e3c7cd9be0c5b48a3d4e42f7fa675fbc1591e /src/main
parentdceb2917a4fefd50f9b8ce2c846a8ca53a76688e (diff)
downloadSkytilsMod-2b737ab626668b7a2a3251fd9a14c774c501e009.tar.gz
SkytilsMod-2b737ab626668b7a2a3251fd9a14c774c501e009.tar.bz2
SkytilsMod-2b737ab626668b7a2a3251fd9a14c774c501e009.zip
add cancellable mainreceivepacketevent and refactor events
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/skytils/skytilsmod/mixins/transformers/gui/MixinGuiIngame.java7
-rw-r--r--src/main/java/skytils/skytilsmod/mixins/transformers/network/MixinPacketThreadUtil$1.java43
-rw-r--r--src/main/kotlin/skytils/skytilsmod/Skytils.kt2
-rw-r--r--src/main/kotlin/skytils/skytilsmod/asm/SkytilsTransformer.kt9
-rw-r--r--src/main/kotlin/skytils/skytilsmod/core/GuiManager.kt2
-rw-r--r--src/main/kotlin/skytils/skytilsmod/events/impl/AddChatMessageEvent.kt (renamed from src/main/kotlin/skytils/skytilsmod/events/AddChatMessageEvent.kt)5
-rw-r--r--src/main/kotlin/skytils/skytilsmod/events/impl/BlockChangeEvent.kt (renamed from src/main/kotlin/skytils/skytilsmod/events/BlockChangeEvent.kt)5
-rw-r--r--src/main/kotlin/skytils/skytilsmod/events/impl/BossBarEvent.kt (renamed from src/main/kotlin/skytils/skytilsmod/events/BossBarEvent.kt)7
-rw-r--r--src/main/kotlin/skytils/skytilsmod/events/impl/CheckRenderEntityEvent.kt (renamed from src/main/kotlin/skytils/skytilsmod/events/CheckRenderEntityEvent.kt)5
-rw-r--r--src/main/kotlin/skytils/skytilsmod/events/impl/DamageBlockEvent.kt (renamed from src/main/kotlin/skytils/skytilsmod/events/DamageBlockEvent.kt)5
-rw-r--r--src/main/kotlin/skytils/skytilsmod/events/impl/GuiContainerEvent.kt (renamed from src/main/kotlin/skytils/skytilsmod/events/GuiContainerEvent.kt)30
-rw-r--r--src/main/kotlin/skytils/skytilsmod/events/impl/GuiRenderItemEvent.kt (renamed from src/main/kotlin/skytils/skytilsmod/events/GuiRenderItemEvent.kt)27
-rw-r--r--src/main/kotlin/skytils/skytilsmod/events/impl/ItemTossEvent.kt (renamed from src/main/kotlin/skytils/skytilsmod/events/ItemTossEvent.kt)5
-rw-r--r--src/main/kotlin/skytils/skytilsmod/events/impl/MainReceivePacketEvent.kt27
-rw-r--r--src/main/kotlin/skytils/skytilsmod/events/impl/PacketEvent.kt (renamed from src/main/kotlin/skytils/skytilsmod/events/PacketEvent.kt)3
-rw-r--r--src/main/kotlin/skytils/skytilsmod/events/impl/RenderBlockInWorldEvent.kt (renamed from src/main/kotlin/skytils/skytilsmod/events/RenderBlockInWorldEvent.kt)5
-rw-r--r--src/main/kotlin/skytils/skytilsmod/events/impl/RenderHUDEvent.kt (renamed from src/main/kotlin/skytils/skytilsmod/events/RenderHUDEvent.kt)5
-rw-r--r--src/main/kotlin/skytils/skytilsmod/events/impl/SendChatMessageEvent.kt (renamed from src/main/kotlin/skytils/skytilsmod/events/SendChatMessageEvent.kt)5
-rw-r--r--src/main/kotlin/skytils/skytilsmod/events/impl/SetActionBarEvent.kt (renamed from src/main/kotlin/skytils/skytilsmod/events/SetActionBarEvent.kt)5
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/DungeonFeatures.kt8
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/ScoreCalculation.kt6
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/TeleportMazeSolver.kt4
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/ClickInOrderSolver.kt2
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/SelectAllColorSolver.kt2
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/ShootTheTargetSolver.kt2
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/SimonSaysSolver.kt2
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/StartsWithSequenceSolver.kt2
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/TerminalFeatures.kt2
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/events/GriffinBurrows.kt4
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/events/MayorDiana.kt4
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/events/TechnoMayor.kt2
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/farming/FarmingFeatures.kt2
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/handlers/ChatTabs.kt2
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/handlers/CommandAliases.kt3
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/handlers/CooldownTracker.kt2
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/handlers/MayorInfo.kt2
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/handlers/SpamHider.kt4
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/handlers/SpiritLeap.kt2
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/mining/DarkModeMist.kt2
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/mining/MiningFeatures.kt8
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/mining/StupidTreasureChestOpeningThing.kt4
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/misc/FavoritePets.kt2
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/misc/ItemFeatures.kt8
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/misc/MinionFeatures.kt6
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/misc/MiscFeatures.kt6
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/misc/PetFeatures.kt8
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/misc/Ping.kt2
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/misc/SlayerFeatures.kt8
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/overlays/AuctionPriceOverlay.kt2
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/protectitems/ProtectItems.kt4
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/spidersden/RelicWaypoints.kt4
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/trackers/impl/MythologicalTracker.kt2
-rw-r--r--src/main/kotlin/skytils/skytilsmod/listeners/DungeonListener.kt2
-rw-r--r--src/main/kotlin/skytils/skytilsmod/mixins/hooks/entity/BossStatusHook.kt2
-rw-r--r--src/main/kotlin/skytils/skytilsmod/mixins/hooks/entity/EntityPlayerSPHook.kt4
-rw-r--r--src/main/kotlin/skytils/skytilsmod/mixins/hooks/gui/GuiContainerHook.kt9
-rw-r--r--src/main/kotlin/skytils/skytilsmod/mixins/hooks/gui/GuiIngameHook.kt2
-rw-r--r--src/main/kotlin/skytils/skytilsmod/mixins/hooks/gui/GuiScreenHook.kt2
-rw-r--r--src/main/kotlin/skytils/skytilsmod/mixins/hooks/multiplayer/PlayerControllerMPHook.kt2
-rw-r--r--src/main/kotlin/skytils/skytilsmod/mixins/hooks/network/NetHandlerPlayClientHook.kt2
-rw-r--r--src/main/kotlin/skytils/skytilsmod/mixins/hooks/network/NetworkManagerHook.kt2
-rw-r--r--src/main/kotlin/skytils/skytilsmod/mixins/hooks/renderer/BlockRendererDispatcherHook.kt5
-rw-r--r--src/main/kotlin/skytils/skytilsmod/mixins/hooks/renderer/RenderItemHook.kt2
-rw-r--r--src/main/kotlin/skytils/skytilsmod/mixins/hooks/renderer/RenderManagerHook.kt2
-rw-r--r--src/main/kotlin/skytils/skytilsmod/mixins/hooks/world/ChunkHook.kt2
-rw-r--r--src/main/kotlin/skytils/skytilsmod/utils/SBInfo.kt4
-rw-r--r--src/main/kotlin/skytils/skytilsmod/utils/Utils.kt2
-rw-r--r--src/main/resources/mixins.skytils.json1
68 files changed, 223 insertions, 147 deletions
diff --git a/src/main/java/skytils/skytilsmod/mixins/transformers/gui/MixinGuiIngame.java b/src/main/java/skytils/skytilsmod/mixins/transformers/gui/MixinGuiIngame.java
index 8fbd9352..a4c3ad1f 100644
--- a/src/main/java/skytils/skytilsmod/mixins/transformers/gui/MixinGuiIngame.java
+++ b/src/main/java/skytils/skytilsmod/mixins/transformers/gui/MixinGuiIngame.java
@@ -18,22 +18,15 @@
package skytils.skytilsmod.mixins.transformers.gui;
-import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.Gui;
import net.minecraft.client.gui.GuiIngame;
import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.util.ChatComponentText;
-import net.minecraftforge.common.MinecraftForge;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
-import skytils.skytilsmod.Skytils;
-import skytils.skytilsmod.events.SetActionBarEvent;
import skytils.skytilsmod.mixins.hooks.gui.GuiIngameHookKt;
-import skytils.skytilsmod.utils.RenderUtil;
-import skytils.skytilsmod.utils.Utils;
@Mixin(GuiIngame.class)
public abstract class MixinGuiIngame extends Gui {
diff --git a/src/main/java/skytils/skytilsmod/mixins/transformers/network/MixinPacketThreadUtil$1.java b/src/main/java/skytils/skytilsmod/mixins/transformers/network/MixinPacketThreadUtil$1.java
new file mode 100644
index 00000000..878d0b6a
--- /dev/null
+++ b/src/main/java/skytils/skytilsmod/mixins/transformers/network/MixinPacketThreadUtil$1.java
@@ -0,0 +1,43 @@
+/*
+ * Skytils - Hypixel Skyblock Quality of Life Mod
+ * Copyright (C) 2021 Skytils
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published
+ * by the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package skytils.skytilsmod.mixins.transformers.network;
+
+import net.minecraft.network.INetHandler;
+import net.minecraft.network.Packet;
+import org.spongepowered.asm.mixin.Final;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.Shadow;
+import org.spongepowered.asm.mixin.injection.At;
+import org.spongepowered.asm.mixin.injection.Inject;
+import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
+import skytils.skytilsmod.events.impl.MainReceivePacketEvent;
+
+@Mixin(targets = "net.minecraft.network.PacketThreadUtil$1")
+public abstract class MixinPacketThreadUtil$1 {
+ @Shadow @Final
+ INetHandler val$p_180031_1_;
+
+ @Shadow @Final
+ Packet<INetHandler> val$p_180031_0_;
+
+ @Inject(method = "run", at = @At("HEAD"), cancellable = true)
+ private void onQueuePacket(CallbackInfo ci) {
+ if (new MainReceivePacketEvent<>(val$p_180031_1_, val$p_180031_0_).postAndCatch()) ci.cancel();
+ }
+}
diff --git a/src/main/kotlin/skytils/skytilsmod/Skytils.kt b/src/main/kotlin/skytils/skytilsmod/Skytils.kt
index 44805773..8db48ce0 100644
--- a/src/main/kotlin/skytils/skytilsmod/Skytils.kt
+++ b/src/main/kotlin/skytils/skytilsmod/Skytils.kt
@@ -48,7 +48,7 @@ import skytils.skytilsmod.commands.impl.*
import skytils.skytilsmod.commands.stats.impl.CataCommand
import skytils.skytilsmod.commands.stats.impl.SlayerCommand
import skytils.skytilsmod.core.*
-import skytils.skytilsmod.events.PacketEvent
+import skytils.skytilsmod.events.impl.PacketEvent
import skytils.skytilsmod.features.impl.dungeons.*
import skytils.skytilsmod.features.impl.dungeons.solvers.*
import skytils.skytilsmod.features.impl.dungeons.solvers.terminals.*
diff --git a/src/main/kotlin/skytils/skytilsmod/asm/SkytilsTransformer.kt b/src/main/kotlin/skytils/skytilsmod/asm/SkytilsTransformer.kt
index 122072b6..9e530cb4 100644
--- a/src/main/kotlin/skytils/skytilsmod/asm/SkytilsTransformer.kt
+++ b/src/main/kotlin/skytils/skytilsmod/asm/SkytilsTransformer.kt
@@ -23,13 +23,8 @@ import skytils.skytilsmod.asm.transformers.addColoredNamesCheck
import skytils.skytilsmod.asm.transformers.injectSplashProgressTransformer
class SkytilsTransformer : BaseClassTransformer() {
- var transformed = false
-
override fun makeTransformers() {
- if (!transformed) {
- transformed = true
- addColoredNamesCheck()
- injectSplashProgressTransformer()
- }
+ addColoredNamesCheck()
+ injectSplashProgressTransformer()
}
} \ No newline at end of file
diff --git a/src/main/kotlin/skytils/skytilsmod/core/GuiManager.kt b/src/main/kotlin/skytils/skytilsmod/core/GuiManager.kt
index 2b7a65d1..70b262e5 100644
--- a/src/main/kotlin/skytils/skytilsmod/core/GuiManager.kt
+++ b/src/main/kotlin/skytils/skytilsmod/core/GuiManager.kt
@@ -31,7 +31,7 @@ import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent
import skytils.skytilsmod.Skytils
import skytils.skytilsmod.core.structure.FloatPair
import skytils.skytilsmod.core.structure.GuiElement
-import skytils.skytilsmod.events.RenderHUDEvent
+import skytils.skytilsmod.events.impl.RenderHUDEvent
import skytils.skytilsmod.gui.LocationEditGui
import skytils.skytilsmod.utils.Utils
import skytils.skytilsmod.utils.toasts.GuiToast
diff --git a/src/main/kotlin/skytils/skytilsmod/events/AddChatMessageEvent.kt b/src/main/kotlin/skytils/skytilsmod/events/impl/AddChatMessageEvent.kt
index a6acfac7..c7d5f8ac 100644
--- a/src/main/kotlin/skytils/skytilsmod/events/AddChatMessageEvent.kt
+++ b/src/main/kotlin/skytils/skytilsmod/events/impl/AddChatMessageEvent.kt
@@ -15,10 +15,11 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-package skytils.skytilsmod.events
+package skytils.skytilsmod.events.impl
import net.minecraft.util.IChatComponent
import net.minecraftforge.fml.common.eventhandler.Cancelable
+import skytils.skytilsmod.events.SkytilsEvent
@Cancelable
-class AddChatMessageEvent(val message: IChatComponent) : SkytilsEvent() \ No newline at end of file
+data class AddChatMessageEvent(val message: IChatComponent) : SkytilsEvent() \ No newline at end of file
diff --git a/src/main/kotlin/skytils/skytilsmod/events/BlockChangeEvent.kt b/src/main/kotlin/skytils/skytilsmod/events/impl/BlockChangeEvent.kt
index b1ffeb1c..8fccda8d 100644
--- a/src/main/kotlin/skytils/skytilsmod/events/BlockChangeEvent.kt
+++ b/src/main/kotlin/skytils/skytilsmod/events/impl/BlockChangeEvent.kt
@@ -15,9 +15,10 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-package skytils.skytilsmod.events
+package skytils.skytilsmod.events.impl
import net.minecraft.block.state.IBlockState
import net.minecraft.util.BlockPos
+import skytils.skytilsmod.events.SkytilsEvent
-class BlockChangeEvent(val pos: BlockPos, val old: IBlockState, val update: IBlockState) : SkytilsEvent() \ No newline at end of file
+data class BlockChangeEvent(val pos: BlockPos, val old: IBlockState, val update: IBlockState) : SkytilsEvent() \ No newline at end of file
diff --git a/src/main/kotlin/skytils/skytilsmod/events/BossBarEvent.kt b/src/main/kotlin/skytils/skytilsmod/events/impl/BossBarEvent.kt
index 7af43983..2fae17d1 100644
--- a/src/main/kotlin/skytils/skytilsmod/events/BossBarEvent.kt
+++ b/src/main/kotlin/skytils/skytilsmod/events/impl/BossBarEvent.kt
@@ -15,12 +15,13 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-package skytils.skytilsmod.events
+package skytils.skytilsmod.events.impl
import net.minecraft.entity.boss.IBossDisplayData
import net.minecraftforge.fml.common.eventhandler.Cancelable
+import skytils.skytilsmod.events.SkytilsEvent
-open class BossBarEvent : SkytilsEvent() {
+abstract class BossBarEvent : SkytilsEvent() {
@Cancelable
- class Set(val displayData: IBossDisplayData, val hasColorModifier: Boolean) : BossBarEvent()
+ data class Set(val displayData: IBossDisplayData, val hasColorModifier: Boolean) : BossBarEvent()
} \ No newline at end of file
diff --git a/src/main/kotlin/skytils/skytilsmod/events/CheckRenderEntityEvent.kt b/src/main/kotlin/skytils/skytilsmod/events/impl/CheckRenderEntityEvent.kt
index dfabc1f5..cfe23869 100644
--- a/src/main/kotlin/skytils/skytilsmod/events/CheckRenderEntityEvent.kt
+++ b/src/main/kotlin/skytils/skytilsmod/events/impl/CheckRenderEntityEvent.kt
@@ -15,14 +15,15 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-package skytils.skytilsmod.events
+package skytils.skytilsmod.events.impl
import net.minecraft.client.renderer.culling.ICamera
import net.minecraft.entity.Entity
import net.minecraftforge.fml.common.eventhandler.Cancelable
+import skytils.skytilsmod.events.SkytilsEvent
@Cancelable
-class CheckRenderEntityEvent<T : Entity>(
+data class CheckRenderEntityEvent<T : Entity>(
val entity: T,
val camera: ICamera,
val camX: Double,
diff --git a/src/main/kotlin/skytils/skytilsmod/events/DamageBlockEvent.kt b/src/main/kotlin/skytils/skytilsmod/events/impl/DamageBlockEvent.kt
index 9b6b5008..de4cb66a 100644
--- a/src/main/kotlin/skytils/skytilsmod/events/DamageBlockEvent.kt
+++ b/src/main/kotlin/skytils/skytilsmod/events/impl/DamageBlockEvent.kt
@@ -15,11 +15,12 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-package skytils.skytilsmod.events
+package skytils.skytilsmod.events.impl
import net.minecraft.util.BlockPos
import net.minecraft.util.EnumFacing
import net.minecraftforge.fml.common.eventhandler.Cancelable
+import skytils.skytilsmod.events.SkytilsEvent
@Cancelable
-class DamageBlockEvent(val pos: BlockPos, val facing: EnumFacing) : SkytilsEvent() \ No newline at end of file
+data class DamageBlockEvent(val pos: BlockPos, val facing: EnumFacing) : SkytilsEvent() \ No newline at end of file
diff --git a/src/main/kotlin/skytils/skytilsmod/events/GuiContainerEvent.kt b/src/main/kotlin/skytils/skytilsmod/events/impl/GuiContainerEvent.kt
index 9cf72649..758fae10 100644
--- a/src/main/kotlin/skytils/skytilsmod/events/GuiContainerEvent.kt
+++ b/src/main/kotlin/skytils/skytilsmod/events/impl/GuiContainerEvent.kt
@@ -15,34 +15,40 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-package skytils.skytilsmod.events
+package skytils.skytilsmod.events.impl
import net.minecraft.client.gui.inventory.GuiContainer
import net.minecraft.inventory.Container
import net.minecraft.inventory.Slot
import net.minecraftforge.fml.common.eventhandler.Cancelable
+import skytils.skytilsmod.events.SkytilsEvent
-abstract class GuiContainerEvent(val gui: GuiContainer, val container: Container) : SkytilsEvent() {
- class BackgroundDrawnEvent(
- gui: GuiContainer,
- container: Container,
+abstract class GuiContainerEvent(open val gui: GuiContainer, open val container: Container) : SkytilsEvent() {
+ data class BackgroundDrawnEvent(
+ override val gui: GuiContainer,
+ override val container: Container,
val mouseX: Int,
val mouseY: Int,
val partialTicks: Float
) : GuiContainerEvent(gui, container)
- class CloseWindowEvent(gui: GuiContainer, container: Container) : GuiContainerEvent(gui, container)
- open class DrawSlotEvent(gui: GuiContainer, container: Container, val slot: Slot) :
+ 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
- class Pre(gui: GuiContainer, container: Container, slot: Slot) : DrawSlotEvent(gui, container, slot)
- class Post(gui: GuiContainer, container: Container, slot: Slot) : DrawSlotEvent(gui, container, slot)
+ 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)
}
@Cancelable
- class SlotClickEvent(
- gui: GuiContainer,
- container: Container,
+ data class SlotClickEvent(
+ override val gui: GuiContainer,
+ override val container: Container,
val slot: Slot?,
val slotId: Int,
val clickedButton: Int,
diff --git a/src/main/kotlin/skytils/skytilsmod/events/GuiRenderItemEvent.kt b/src/main/kotlin/skytils/skytilsmod/events/impl/GuiRenderItemEvent.kt
index 444ab2aa..74ee03c1 100644
--- a/src/main/kotlin/skytils/skytilsmod/events/GuiRenderItemEvent.kt
+++ b/src/main/kotlin/skytils/skytilsmod/events/impl/GuiRenderItemEvent.kt
@@ -15,20 +15,27 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-package skytils.skytilsmod.events
+package skytils.skytilsmod.events.impl
import net.minecraft.client.gui.FontRenderer
import net.minecraft.item.ItemStack
+import skytils.skytilsmod.events.SkytilsEvent
-open class GuiRenderItemEvent : SkytilsEvent() {
- open class RenderOverlayEvent(
- val fr: FontRenderer,
- val stack: ItemStack?,
- val x: Int,
- val y: Int,
- val text: String?
+abstract class GuiRenderItemEvent : SkytilsEvent() {
+ abstract class RenderOverlayEvent(
+ open val fr: FontRenderer,
+ open val stack: ItemStack?,
+ open val x: Int,
+ open val y: Int,
+ open val text: String?
) : GuiRenderItemEvent() {
- class Post(fr: FontRenderer, stack: ItemStack?, xPosition: Int, yPosition: Int, text: String?) :
- RenderOverlayEvent(fr, stack, xPosition, yPosition, text)
+ 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/kotlin/skytils/skytilsmod/events/ItemTossEvent.kt b/src/main/kotlin/skytils/skytilsmod/events/impl/ItemTossEvent.kt
index 0674577c..a173c9ca 100644
--- a/src/main/kotlin/skytils/skytilsmod/events/ItemTossEvent.kt
+++ b/src/main/kotlin/skytils/skytilsmod/events/impl/ItemTossEvent.kt
@@ -16,10 +16,11 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-package skytils.skytilsmod.events
+package skytils.skytilsmod.events.impl
import net.minecraft.item.ItemStack
import net.minecraftforge.fml.common.eventhandler.Cancelable
+import skytils.skytilsmod.events.SkytilsEvent
@Cancelable
-class ItemTossEvent(val item: ItemStack, val dropStack: Boolean) : SkytilsEvent() \ No newline at end of file
+data class ItemTossEvent(val item: ItemStack, val dropStack: Boolean) : SkytilsEvent() \ No newline at end of file
diff --git a/src/main/kotlin/skytils/skytilsmod/events/impl/MainReceivePacketEvent.kt b/src/main/kotlin/skytils/skytilsmod/events/impl/MainReceivePacketEvent.kt
new file mode 100644
index 00000000..a63dd83d
--- /dev/null
+++ b/src/main/kotlin/skytils/skytilsmod/events/impl/MainReceivePacketEvent.kt
@@ -0,0 +1,27 @@
+/*
+ * Skytils - Hypixel Skyblock Quality of Life Mod
+ * Copyright (C) 2021 Skytils
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published
+ * by the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package skytils.skytilsmod.events.impl
+
+import net.minecraft.network.INetHandler
+import net.minecraft.network.Packet
+import net.minecraftforge.fml.common.eventhandler.Cancelable
+import skytils.skytilsmod.events.SkytilsEvent
+
+@Cancelable
+data class MainReceivePacketEvent<T : Packet<U>, U : INetHandler>(val handler: U, val packet: T) : SkytilsEvent() \ No newline at end of file
diff --git a/src/main/kotlin/skytils/skytilsmod/events/PacketEvent.kt b/src/main/kotlin/skytils/skytilsmod/events/impl/PacketEvent.kt
index d08ee72e..3ef74186 100644
--- a/src/main/kotlin/skytils/skytilsmod/events/PacketEvent.kt
+++ b/src/main/kotlin/skytils/skytilsmod/events/impl/PacketEvent.kt
@@ -15,10 +15,11 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-package skytils.skytilsmod.events
+package skytils.skytilsmod.events.impl
import net.minecraft.network.Packet
import net.minecraftforge.fml.common.eventhandler.Cancelable
+import skytils.skytilsmod.events.SkytilsEvent
@Cancelable
open class PacketEvent(val packet: Packet<*>) : SkytilsEvent() {
diff --git a/src/main/kotlin/skytils/skytilsmod/events/RenderBlockInWorldEvent.kt b/src/main/kotlin/skytils/skytilsmod/events/impl/RenderBlockInWorldEvent.kt
index e716aa4e..23a3e3dd 100644
--- a/src/main/kotlin/skytils/skytilsmod/events/RenderBlockInWorldEvent.kt
+++ b/src/main/kotlin/skytils/skytilsmod/events/impl/RenderBlockInWorldEvent.kt
@@ -15,16 +15,17 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-package skytils.skytilsmod.events
+package skytils.skytilsmod.events.impl
import net.minecraft.block.state.IBlockState
import net.minecraft.util.BlockPos
import net.minecraft.world.IBlockAccess
import net.minecraftforge.fml.common.eventhandler.Cancelable
+import skytils.skytilsmod.events.SkytilsEvent
/**
* This event is posted when the chunk renderer tries to get the block model for a certain block.
* Cancelling this event has no effect and is used to skip the rest of the event bus
*/
@Cancelable
-class RenderBlockInWorldEvent(@JvmField var state: IBlockState?, var world: IBlockAccess, var pos: BlockPos?) : SkytilsEvent() \ No newline at end of file
+data class RenderBlockInWorldEvent(@JvmField var state: IBlockState?, var world: IBlockAccess, var pos: BlockPos?) : SkytilsEvent() \ No newline at end of file
diff --git a/src/main/kotlin/skytils/skytilsmod/events/RenderHUDEvent.kt b/src/main/kotlin/skytils/skytilsmod/events/impl/RenderHUDEvent.kt
index 4a20f9c7..01757a97 100644
--- a/src/main/kotlin/skytils/skytilsmod/events/RenderHUDEvent.kt
+++ b/src/main/kotlin/skytils/skytilsmod/events/impl/RenderHUDEvent.kt
@@ -16,8 +16,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-package skytils.skytilsmod.events
+package skytils.skytilsmod.events.impl
import net.minecraftforge.client.event.RenderGameOverlayEvent
+import skytils.skytilsmod.events.SkytilsEvent
-class RenderHUDEvent(val event: RenderGameOverlayEvent) : SkytilsEvent() \ No newline at end of file
+data class RenderHUDEvent(val event: RenderGameOverlayEvent) : SkytilsEvent() \ No newline at end of file
diff --git a/src/main/kotlin/skytils/skytilsmod/events/SendChatMessageEvent.kt b/src/main/kotlin/skytils/skytilsmod/events/impl/SendChatMessageEvent.kt
index 7486e1f3..c8829d35 100644
--- a/src/main/kotlin/skytils/skytilsmod/events/SendChatMessageEvent.kt
+++ b/src/main/kotlin/skytils/skytilsmod/events/impl/SendChatMessageEvent.kt
@@ -15,9 +15,10 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-package skytils.skytilsmod.events
+package skytils.skytilsmod.events.impl
import net.minecraftforge.fml.common.eventhandler.Cancelable
+import skytils.skytilsmod.events.SkytilsEvent
@Cancelable
-class SendChatMessageEvent(val message: String, val addToChat: Boolean) : SkytilsEvent() \ No newline at end of file
+data class SendChatMessageEvent(val message: String, val addToChat: Boolean) : SkytilsEvent() \ No newline at end of file
diff --git a/src/main/kotlin/skytils/skytilsmod/events/SetActionBarEvent.kt b/src/main/kotlin/skytils/skytilsmod/events/impl/SetActionBarEvent.kt
index 7a3aa49a..fdc6e93d 100644
--- a/src/main/kotlin/skytils/skytilsmod/events/SetActionBarEvent.kt
+++ b/src/main/kotlin/skytils/skytilsmod/events/impl/SetActionBarEvent.kt
@@ -15,9 +15,10 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-package skytils.skytilsmod.events
+package skytils.skytilsmod.events.impl
import net.minecraftforge.fml.common.eventhandler.Cancelable
+import skytils.skytilsmod.events.SkytilsEvent
@Cancelable
-class SetActionBarEvent(var message: String, var isPlaying: Boolean) : SkytilsEvent() \ No newline at end of file
+data class SetActionBarEvent(var message: String, var isPlaying: Boolean) : SkytilsEvent() \ No newline at end of file
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/DungeonFeatures.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/DungeonFeatures.kt
index 393c0cc9..1a9ad378 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/DungeonFeatures.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/DungeonFeatures.kt
@@ -58,10 +58,10 @@ import skytils.skytilsmod.Skytils
import skytils.skytilsmod.core.GuiManager
import skytils.skytilsmod.core.structure.FloatPair
import skytils.skytilsmod.core.structure.GuiElement
-import skytils.skytilsmod.events.BossBarEvent
-import skytils.skytilsmod.events.GuiContainerEvent.SlotClickEvent
-import skytils.skytilsmod.events.PacketEvent.ReceiveEvent
-import skytils.skytilsmod.events.SendChatMessageEvent
+import skytils.skytilsmod.events.impl.BossBarEvent
+import skytils.skytilsmod.events.impl.GuiContainerEvent.SlotClickEvent
+import skytils.skytilsmod.events.impl.PacketEvent.ReceiveEvent
+import skytils.skytilsmod.events.impl.SendChatMessageEvent
import skytils.skytilsmod.features.impl.handlers.MayorInfo
import skytils.skytilsmod.listeners.DungeonListener
import skytils.skytilsmod.mixins.transformers.accessors.AccessorEnumDyeColor
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/ScoreCalculation.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/ScoreCalculation.kt
index 0e9318c4..593288df 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/ScoreCalculation.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/ScoreCalculation.kt
@@ -37,9 +37,9 @@ import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent
import skytils.skytilsmod.Skytils
import skytils.skytilsmod.core.structure.FloatPair
import skytils.skytilsmod.core.structure.GuiElement
-import skytils.skytilsmod.events.AddChatMessageEvent
-import skytils.skytilsmod.events.PacketEvent.ReceiveEvent
-import skytils.skytilsmod.events.SendChatMessageEvent
+import skytils.skytilsmod.events.impl.AddChatMessageEvent
+import skytils.skytilsmod.events.impl.PacketEvent.ReceiveEvent
+import skytils.skytilsmod.events.impl.SendChatMessageEvent
import skytils.skytilsmod.features.impl.handlers.MayorInfo
import skytils.skytilsmod.utils.*
import skytils.skytilsmod.utils.graphics.ScreenRenderer
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/TeleportMazeSolver.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/TeleportMazeSolver.kt
index ba7647d3..b814a9c6 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/TeleportMazeSolver.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/TeleportMazeSolver.kt
@@ -31,8 +31,8 @@ import net.minecraftforge.event.world.WorldEvent
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
import skytils.skytilsmod.Skytils
import skytils.skytilsmod.Skytils.Companion.mc
-import skytils.skytilsmod.events.PacketEvent
-import skytils.skytilsmod.events.SendChatMessageEvent
+import skytils.skytilsmod.events.impl.PacketEvent
+import skytils.skytilsmod.events.impl.SendChatMessageEvent
import skytils.skytilsmod.listeners.DungeonListener
import skytils.skytilsmod.utils.ConcurrentHashSet
import skytils.skytilsmod.utils.DevTools
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/ClickInOrderSolver.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/ClickInOrderSolver.kt
index 05607c50..dbc9dde4 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/ClickInOrderSolver.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/ClickInOrderSolver.kt
@@ -31,7 +31,7 @@ import net.minecraftforge.fml.common.gameevent.TickEvent
import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent
import org.lwjgl.opengl.GL11
import skytils.skytilsmod.Skytils
-import skytils.skytilsmod.events.GuiContainerEvent
+import skytils.skytilsmod.events.impl.GuiContainerEvent
import skytils.skytilsmod.utils.RenderUtil.highlight
import skytils.skytilsmod.utils.Utils
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/SelectAllColorSolver.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/SelectAllColorSolver.kt
index c0046848..8c7c944e 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/SelectAllColorSolver.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/SelectAllColorSolver.kt
@@ -27,7 +27,7 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
import net.minecraftforge.fml.common.gameevent.TickEvent
import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent
import skytils.skytilsmod.Skytils
-import skytils.skytilsmod.events.GuiContainerEvent
+import skytils.skytilsmod.events.impl.GuiContainerEvent
import skytils.skytilsmod.utils.Utils
class SelectAllColorSolver {
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/ShootTheTargetSolver.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/ShootTheTargetSolver.kt
index cab28f99..f475c565 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/ShootTheTargetSolver.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/ShootTheTargetSolver.kt
@@ -27,7 +27,7 @@ import net.minecraftforge.client.event.RenderWorldLastEvent
import net.minecraftforge.event.world.WorldEvent
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
import skytils.skytilsmod.Skytils
-import skytils.skytilsmod.events.BlockChangeEvent
+import skytils.skytilsmod.events.impl.BlockChangeEvent
import skytils.skytilsmod.features.impl.dungeons.DungeonTimer
import skytils.skytilsmod.utils.RenderUtil
import skytils.skytilsmod.utils.Utils
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/SimonSaysSolver.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/SimonSaysSolver.kt
index 4697e4e2..46588212 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/SimonSaysSolver.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/SimonSaysSolver.kt
@@ -26,7 +26,7 @@ import net.minecraftforge.client.event.RenderWorldLastEvent
import net.minecraftforge.event.world.WorldEvent
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
import skytils.skytilsmod.Skytils
-import skytils.skytilsmod.events.BlockChangeEvent
+import skytils.skytilsmod.events.impl.BlockChangeEvent
import skytils.skytilsmod.features.impl.dungeons.DungeonTimer
import skytils.skytilsmod.features.impl.dungeons.DungeonFeatures
import skytils.skytilsmod.utils.RenderUtil
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/StartsWithSequenceSolver.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/StartsWithSequenceSolver.kt
index 9ed75c28..1e5507ee 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/StartsWithSequenceSolver.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/StartsWithSequenceSolver.kt
@@ -26,7 +26,7 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
import net.minecraftforge.fml.common.gameevent.TickEvent
import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent
import skytils.skytilsmod.Skytils
-import skytils.skytilsmod.events.GuiContainerEvent
+import skytils.skytilsmod.events.impl.GuiContainerEvent
import skytils.skytilsmod.utils.Utils
import skytils.skytilsmod.utils.stripControlCodes
import java.util.regex.Pattern
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/TerminalFeatures.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/TerminalFeatures.kt
index 7929cbba..1ac47433 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/TerminalFeatures.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/dungeons/solvers/terminals/TerminalFeatures.kt
@@ -24,7 +24,7 @@ import net.minecraftforge.event.entity.player.ItemTooltipEvent
import net.minecraftforge.fml.common.eventhandler.EventPriority
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
import skytils.skytilsmod.Skytils
-import skytils.skytilsmod.events.GuiContainerEvent.SlotClickEvent
+import skytils.skytilsmod.events.impl.GuiContainerEvent.SlotClickEvent
import skytils.skytilsmod.utils.Utils
import skytils.skytilsmod.utils.startsWithAny
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/events/GriffinBurrows.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/events/GriffinBurrows.kt
index f5704d7e..5c1b894b 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/events/GriffinBurrows.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/events/GriffinBurrows.kt
@@ -37,8 +37,8 @@ import skytils.hylin.request.HypixelAPIException
import skytils.skytilsmod.Skytils
import skytils.skytilsmod.core.structure.FloatPair
import skytils.skytilsmod.core.structure.GuiElement
-import skytils.skytilsmod.events.DamageBlockEvent
-import skytils.skytilsmod.events.PacketEvent.ReceiveEvent
+import skytils.skytilsmod.events.impl.DamageBlockEvent
+import skytils.skytilsmod.events.impl.PacketEvent.ReceiveEvent
import skytils.skytilsmod.utils.*
import skytils.skytilsmod.utils.graphics.ScreenRenderer
import skytils.skytilsmod.utils.graphics.SmartFontRenderer
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/events/MayorDiana.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/events/MayorDiana.kt
index 1f790624..6da3edb4 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/events/MayorDiana.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/events/MayorDiana.kt
@@ -30,8 +30,8 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
import net.minecraftforge.fml.common.gameevent.TickEvent
import skytils.skytilsmod.Skytils
import skytils.skytilsmod.Skytils.Companion.mc
-import skytils.skytilsmod.events.CheckRenderEntityEvent
-import skytils.skytilsmod.events.PacketEvent
+import skytils.skytilsmod.events.impl.CheckRenderEntityEvent
+import skytils.skytilsmod.events.impl.PacketEvent
import skytils.skytilsmod.mixins.transformers.accessors.AccessorMinecraft
import skytils.skytilsmod.utils.RenderUtil
import skytils.skytilsmod.utils.Utils
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/events/TechnoMayor.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/events/TechnoMayor.kt
index 1398b6e2..59da8277 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/events/TechnoMayor.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/events/TechnoMayor.kt
@@ -32,7 +32,7 @@ import net.minecraftforge.fml.common.eventhandler.EventPriority
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
import skytils.skytilsmod.Skytils
import skytils.skytilsmod.Skytils.Companion.mc
-import skytils.skytilsmod.events.PacketEvent.ReceiveEvent
+import skytils.skytilsmod.events.impl.PacketEvent.ReceiveEvent
import skytils.skytilsmod.utils.*
import java.awt.Color
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/farming/FarmingFeatures.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/farming/FarmingFeatures.kt
index a66ceaf5..08a915af 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/farming/FarmingFeatures.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/farming/FarmingFeatures.kt
@@ -32,7 +32,7 @@ import skytils.skytilsmod.Skytils.Companion.mc
import skytils.skytilsmod.core.DataFetcher
import skytils.skytilsmod.core.SoundQueue
import skytils.skytilsmod.core.TickTask
-import skytils.skytilsmod.events.PacketEvent.ReceiveEvent
+import skytils.skytilsmod.events.impl.PacketEvent.ReceiveEvent
import skytils.skytilsmod.utils.Utils
import skytils.skytilsmod.utils.stripControlCodes
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/ChatTabs.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/ChatTabs.kt
index 38846197..8fb40472 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/ChatTabs.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/ChatTabs.kt
@@ -30,7 +30,7 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
import net.minecraftforge.fml.common.network.FMLNetworkEvent
import skytils.skytilsmod.Skytils
import skytils.skytilsmod.Skytils.Companion.mc
-import skytils.skytilsmod.events.PacketEvent
+import skytils.skytilsmod.events.impl.PacketEvent
import skytils.skytilsmod.gui.elements.CleanButton
import skytils.skytilsmod.mixins.extensions.ExtensionChatStyle
import skytils.skytilsmod.mixins.transformers.accessors.AccessorGuiChat
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/CommandAliases.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/CommandAliases.kt
index 6c5c70c0..52f86315 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/CommandAliases.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/CommandAliases.kt
@@ -19,12 +19,11 @@ package skytils.skytilsmod.features.impl.handlers
import com.google.gson.JsonObject
import gg.essential.universal.UChat
-import net.minecraft.util.ChatComponentText
import net.minecraftforge.client.ClientCommandHandler
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
import skytils.skytilsmod.Skytils
import skytils.skytilsmod.core.PersistentSave
-import skytils.skytilsmod.events.SendChatMessageEvent
+import skytils.skytilsmod.events.impl.SendChatMessageEvent
import java.io.File
import java.io.FileReader
import java.io.FileWriter
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/CooldownTracker.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/CooldownTracker.kt
index 8aa33512..5999e476 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/CooldownTracker.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/CooldownTracker.kt
@@ -27,7 +27,7 @@ import skytils.skytilsmod.Skytils.Companion.mc
import skytils.skytilsmod.core.PersistentSave
import skytils.skytilsmod.core.structure.FloatPair
import skytils.skytilsmod.core.structure.GuiElement
-import skytils.skytilsmod.events.SetActionBarEvent
+import skytils.skytilsmod.events.impl.SetActionBarEvent
import skytils.skytilsmod.listeners.DungeonListener
import skytils.skytilsmod.utils.NumberUtil.roundToPrecision
import skytils.skytilsmod.utils.Utils
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/MayorInfo.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/MayorInfo.kt
index b07e29b4..c4eba66d 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/MayorInfo.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/MayorInfo.kt
@@ -30,7 +30,7 @@ import skytils.skytilsmod.Skytils
import skytils.skytilsmod.Skytils.Companion.mc
import skytils.skytilsmod.core.SoundQueue
import skytils.skytilsmod.core.TickTask
-import skytils.skytilsmod.events.GuiContainerEvent
+import skytils.skytilsmod.events.impl.GuiContainerEvent
import skytils.skytilsmod.utils.*
import java.io.IOException
import java.net.URLEncoder
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/SpamHider.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/SpamHider.kt
index 0f29b5f8..fcb22f8b 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/SpamHider.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/SpamHider.kt
@@ -29,8 +29,8 @@ import skytils.skytilsmod.core.GuiManager
import skytils.skytilsmod.core.PersistentSave
import skytils.skytilsmod.core.structure.FloatPair
import skytils.skytilsmod.core.structure.GuiElement
-import skytils.skytilsmod.events.PacketEvent.ReceiveEvent
-import skytils.skytilsmod.events.SetActionBarEvent
+import skytils.skytilsmod.events.impl.PacketEvent.ReceiveEvent
+import skytils.skytilsmod.events.impl.SetActionBarEvent
import skytils.skytilsmod.mixins.transformers.accessors.AccessorGuiNewChat
import skytils.skytilsmod.utils.Utils
import skytils.skytilsmod.utils.graphics.ScreenRenderer
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/SpiritLeap.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/SpiritLeap.kt
index 9832c4d5..520a8968 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/SpiritLeap.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/SpiritLeap.kt
@@ -28,7 +28,7 @@ import net.minecraft.item.Item
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
import skytils.skytilsmod.Skytils
import skytils.skytilsmod.core.PersistentSave
-import skytils.skytilsmod.events.GuiContainerEvent
+import skytils.skytilsmod.events.impl.GuiContainerEvent
import skytils.skytilsmod.listeners.DungeonListener
import skytils.skytilsmod.utils.RenderUtil.highlight
import skytils.skytilsmod.utils.Utils
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/mining/DarkModeMist.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/mining/DarkModeMist.kt
index cf9bf710..c674b7d8 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/mining/DarkModeMist.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/mining/DarkModeMist.kt
@@ -26,7 +26,7 @@ import net.minecraft.util.BlockPos
import net.minecraftforge.fml.common.eventhandler.EventPriority
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
import skytils.skytilsmod.Skytils
-import skytils.skytilsmod.events.RenderBlockInWorldEvent
+import skytils.skytilsmod.events.impl.RenderBlockInWorldEvent
import skytils.skytilsmod.utils.SBInfo
import skytils.skytilsmod.utils.SkyblockIsland
import skytils.skytilsmod.utils.Utils
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/mining/MiningFeatures.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/mining/MiningFeatures.kt
index 7adc05ef..42f2b79c 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/mining/MiningFeatures.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/mining/MiningFeatures.kt
@@ -49,10 +49,10 @@ import skytils.skytilsmod.core.GuiManager.Companion.createTitle
import skytils.skytilsmod.core.TickTask
import skytils.skytilsmod.core.structure.FloatPair
import skytils.skytilsmod.core.structure.GuiElement
-import skytils.skytilsmod.events.BossBarEvent
-import skytils.skytilsmod.events.GuiContainerEvent
-import skytils.skytilsmod.events.PacketEvent
-import skytils.skytilsmod.events.RenderBlockInWorldEvent
+import skytils.skytilsmod.events.impl.BossBarEvent
+import skytils.skytilsmod.events.impl.GuiContainerEvent
+import skytils.skytilsmod.events.impl.PacketEvent
+import skytils.skytilsmod.events.impl.RenderBlockInWorldEvent
import skytils.skytilsmod.features.impl.handlers.MayorInfo
import skytils.skytilsmod.utils.*
import skytils.skytilsmod.utils.RenderUtil.highlight
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/mining/StupidTreasureChestOpeningThing.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/mining/StupidTreasureChestOpeningThing.kt
index f8b3caf3..00a2121d 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/mining/StupidTreasureChestOpeningThing.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/mining/StupidTreasureChestOpeningThing.kt
@@ -30,8 +30,8 @@ import net.minecraftforge.event.world.WorldEvent
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
import skytils.skytilsmod.Skytils
import skytils.skytilsmod.Skytils.Companion.mc
-import skytils.skytilsmod.events.BlockChangeEvent
-import skytils.skytilsmod.events.PacketEvent
+import skytils.skytilsmod.events.impl.BlockChangeEvent
+import skytils.skytilsmod.events.impl.PacketEvent
import skytils.skytilsmod.mixins.transformers.accessors.AccessorMinecraft
import skytils.skytilsmod.utils.*
import java.awt.Color
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/misc/FavoritePets.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/misc/FavoritePets.kt
index c37018af..16db685d 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/misc/FavoritePets.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/misc/FavoritePets.kt
@@ -31,7 +31,7 @@ import net.minecraftforge.fml.common.eventhandler.EventPriority
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
import skytils.skytilsmod.Skytils
import skytils.skytilsmod.core.PersistentSave
-import skytils.skytilsmod.events.GuiContainerEvent
+import skytils.skytilsmod.events.impl.GuiContainerEvent
import skytils.skytilsmod.utils.ItemRarity
import skytils.skytilsmod.utils.ItemUtil
import skytils.skytilsmod.utils.RenderUtil.highlight
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/misc/ItemFeatures.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/misc/ItemFeatures.kt
index 1cc9641e..6b4276b8 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/misc/ItemFeatures.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/misc/ItemFeatures.kt
@@ -50,10 +50,10 @@ import skytils.skytilsmod.Skytils.Companion.mc
import skytils.skytilsmod.core.GuiManager
import skytils.skytilsmod.core.structure.FloatPair
import skytils.skytilsmod.core.structure.GuiElement
-import skytils.skytilsmod.events.GuiContainerEvent
-import skytils.skytilsmod.events.GuiContainerEvent.SlotClickEvent
-import skytils.skytilsmod.events.GuiRenderItemEvent
-import skytils.skytilsmod.events.PacketEvent.ReceiveEvent
+import skytils.skytilsmod.events.impl.GuiContainerEvent
+import skytils.skytilsmod.events.impl.GuiContainerEvent.SlotClickEvent
+import skytils.skytilsmod.events.impl.GuiRenderItemEvent
+import skytils.skytilsmod.events.impl.PacketEvent.ReceiveEvent
import skytils.skytilsmod.features.impl.handlers.AuctionData
import skytils.skytilsmod.utils.*
import skytils.skytilsmod.utils.ItemUtil.getDisplayName
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/misc/MinionFeatures.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/misc/MinionFeatures.kt
index 2f291ab7..99a6f080 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/misc/MinionFeatures.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/misc/MinionFeatures.kt
@@ -26,9 +26,9 @@ import net.minecraft.network.play.server.S29PacketSoundEffect
import net.minecraftforge.client.event.GuiOpenEvent
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
import skytils.skytilsmod.Skytils
-import skytils.skytilsmod.events.GuiContainerEvent.SlotClickEvent
-import skytils.skytilsmod.events.GuiRenderItemEvent
-import skytils.skytilsmod.events.PacketEvent.ReceiveEvent
+import skytils.skytilsmod.events.impl.GuiContainerEvent.SlotClickEvent
+import skytils.skytilsmod.events.impl.GuiRenderItemEvent
+import skytils.skytilsmod.events.impl.PacketEvent.ReceiveEvent
import skytils.skytilsmod.utils.ItemUtil.getExtraAttributes
import skytils.skytilsmod.utils.stripControlCodes
import skytils.skytilsmod.utils.Utils
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/misc/MiscFeatures.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/misc/MiscFeatures.kt
index 1b053b6b..678a6d2d 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/misc/MiscFeatures.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/misc/MiscFeatures.kt
@@ -57,9 +57,9 @@ import skytils.skytilsmod.core.GuiManager.Companion.createTitle
import skytils.skytilsmod.core.TickTask
import skytils.skytilsmod.core.structure.FloatPair
import skytils.skytilsmod.core.structure.GuiElement
-import skytils.skytilsmod.events.*
-import skytils.skytilsmod.events.GuiContainerEvent.SlotClickEvent
-import skytils.skytilsmod.events.PacketEvent.ReceiveEvent
+import skytils.skytilsmod.events.impl.*
+import skytils.skytilsmod.events.impl.GuiContainerEvent.SlotClickEvent
+import skytils.skytilsmod.events.impl.PacketEvent.ReceiveEvent
import skytils.skytilsmod.mixins.transformers.accessors.AccessorWorldInfo
import skytils.skytilsmod.utils.*
import skytils.skytilsmod.utils.ItemUtil.getExtraAttributes
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/misc/PetFeatures.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/misc/PetFeatures.kt
index 89e0d8c2..561b1052 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/misc/PetFeatures.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/misc/PetFeatures.kt
@@ -36,10 +36,10 @@ import skytils.skytilsmod.Skytils
import skytils.skytilsmod.Skytils.Companion.mc
import skytils.skytilsmod.core.structure.FloatPair
import skytils.skytilsmod.core.structure.GuiElement
-import skytils.skytilsmod.events.CheckRenderEntityEvent
-import skytils.skytilsmod.events.GuiContainerEvent
-import skytils.skytilsmod.events.PacketEvent.SendEvent
-import skytils.skytilsmod.events.SendChatMessageEvent
+import skytils.skytilsmod.events.impl.CheckRenderEntityEvent
+import skytils.skytilsmod.events.impl.GuiContainerEvent
+import skytils.skytilsmod.events.impl.PacketEvent.SendEvent
+import skytils.skytilsmod.events.impl.SendChatMessageEvent
import skytils.skytilsmod.utils.ItemUtil.getItemLore
import skytils.skytilsmod.utils.ItemUtil.getSkyBlockItemID
import skytils.skytilsmod.utils.RenderUtil.highlight
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/misc/Ping.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/misc/Ping.kt
index f92f7235..4395c05f 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/misc/Ping.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/misc/Ping.kt
@@ -28,7 +28,7 @@ import skytils.skytilsmod.Skytils
import skytils.skytilsmod.Skytils.Companion.mc
import skytils.skytilsmod.core.structure.FloatPair
import skytils.skytilsmod.core.structure.GuiElement
-import skytils.skytilsmod.events.PacketEvent
+import skytils.skytilsmod.events.impl.PacketEvent
import skytils.skytilsmod.mixins.transformers.accessors.AccessorServerListEntryNormal
import skytils.skytilsmod.utils.NumberUtil
import skytils.skytilsmod.utils.NumberUtil.roundToPrecision
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/misc/SlayerFeatures.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/misc/SlayerFeatures.kt
index da4bf70e..c189a8e1 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/misc/SlayerFeatures.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/misc/SlayerFeatures.kt
@@ -61,10 +61,10 @@ import skytils.skytilsmod.core.GuiManager.Companion.createTitle
import skytils.skytilsmod.core.TickTask
import skytils.skytilsmod.core.structure.FloatPair
import skytils.skytilsmod.core.structure.GuiElement
-import skytils.skytilsmod.events.BlockChangeEvent
-import skytils.skytilsmod.events.CheckRenderEntityEvent
-import skytils.skytilsmod.events.PacketEvent.ReceiveEvent
-import skytils.skytilsmod.events.RenderHUDEvent
+import skytils.skytilsmod.events.impl.BlockChangeEvent
+import skytils.skytilsmod.events.impl.CheckRenderEntityEvent
+import skytils.skytilsmod.events.impl.PacketEvent.ReceiveEvent
+import skytils.skytilsmod.events.impl.RenderHUDEvent
import skytils.skytilsmod.features.impl.handlers.MayorInfo
import skytils.skytilsmod.utils.*
import skytils.skytilsmod.utils.NumberUtil.roundToPrecision
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/overlays/AuctionPriceOverlay.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/overlays/AuctionPriceOverlay.kt
index 453cbc6a..4bc75b86 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/overlays/AuctionPriceOverlay.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/overlays/AuctionPriceOverlay.kt
@@ -35,7 +35,7 @@ import org.lwjgl.input.Keyboard
import org.lwjgl.input.Mouse
import org.lwjgl.opengl.Display
import skytils.skytilsmod.Skytils
-import skytils.skytilsmod.events.GuiContainerEvent.SlotClickEvent
+import skytils.skytilsmod.events.impl.GuiContainerEvent.SlotClickEvent
import skytils.skytilsmod.features.impl.handlers.AuctionData
import skytils.skytilsmod.gui.elements.CleanButton
import skytils.skytilsmod.mixins.transformers.accessors.AccessorGuiEditSign
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/protectitems/ProtectItems.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/protectitems/ProtectItems.kt
index 4046825d..9d9249bf 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/protectitems/ProtectItems.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/protectitems/ProtectItems.kt
@@ -25,8 +25,8 @@ import net.minecraft.util.ChatComponentText
import net.minecraft.util.EnumChatFormatting
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
import skytils.skytilsmod.Skytils.Companion.mc
-import skytils.skytilsmod.events.GuiContainerEvent
-import skytils.skytilsmod.events.ItemTossEvent
+import skytils.skytilsmod.events.impl.GuiContainerEvent
+import skytils.skytilsmod.events.impl.ItemTossEvent
import skytils.skytilsmod.features.impl.protectitems.strategy.ItemProtectStrategy
import skytils.skytilsmod.utils.ItemUtil
import skytils.skytilsmod.utils.Utils
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/spidersden/RelicWaypoints.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/spidersden/RelicWaypoints.kt
index d17d5e59..f0f32024 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/spidersden/RelicWaypoints.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/spidersden/RelicWaypoints.kt
@@ -28,8 +28,8 @@ import net.minecraft.util.EnumParticleTypes
import net.minecraftforge.client.event.RenderWorldLastEvent
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
import skytils.skytilsmod.Skytils
-import skytils.skytilsmod.events.PacketEvent.ReceiveEvent
-import skytils.skytilsmod.events.PacketEvent.SendEvent
+import skytils.skytilsmod.events.impl.PacketEvent.ReceiveEvent
+import skytils.skytilsmod.events.impl.PacketEvent.SendEvent
import skytils.skytilsmod.features.impl.trackers.Tracker
import skytils.skytilsmod.utils.*
import java.awt.Color
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/trackers/impl/MythologicalTracker.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/trackers/impl/MythologicalTracker.kt
index 967eb7ad..a5b9b85e 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/trackers/impl/MythologicalTracker.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/trackers/impl/MythologicalTracker.kt
@@ -31,7 +31,7 @@ import skytils.skytilsmod.Skytils
import skytils.skytilsmod.core.SoundQueue
import skytils.skytilsmod.core.structure.FloatPair
import skytils.skytilsmod.core.structure.GuiElement
-import skytils.skytilsmod.events.PacketEvent
+import skytils.skytilsmod.events.impl.PacketEvent
import skytils.skytilsmod.features.impl.events.GriffinBurrows
import skytils.skytilsmod.features.impl.handlers.AuctionData
import skytils.skytilsmod.features.impl.trackers.Tracker
diff --git a/src/main/kotlin/skytils/skytilsmod/listeners/DungeonListener.kt b/src/main/kotlin/skytils/skytilsmod/listeners/DungeonListener.kt
index 29ff8306..1b2197db 100644
--- a/src/main/kotlin/skytils/skytilsmod/listeners/DungeonListener.kt
+++ b/src/main/kotlin/skytils/skytilsmod/listeners/DungeonListener.kt
@@ -27,7 +27,7 @@ import skytils.skytilsmod.Skytils
import skytils.skytilsmod.Skytils.Companion.mc
import skytils.skytilsmod.commands.impl.RepartyCommand
import skytils.skytilsmod.core.TickTask
-import skytils.skytilsmod.events.PacketEvent
+import skytils.skytilsmod.events.impl.PacketEvent
import skytils.skytilsmod.features.impl.dungeons.DungeonTimer
import skytils.skytilsmod.features.impl.handlers.CooldownTracker
import skytils.skytilsmod.utils.*
diff --git a/src/main/kotlin/skytils/skytilsmod/mixins/hooks/entity/BossStatusHook.kt b/src/main/kotlin/skytils/skytilsmod/mixins/hooks/entity/BossStatusHook.kt
index 8fc23fd6..50262ddd 100644
--- a/src/main/kotlin/skytils/skytilsmod/mixins/hooks/entity/BossStatusHook.kt
+++ b/src/main/kotlin/skytils/skytilsmod/mixins/hooks/entity/BossStatusHook.kt
@@ -19,7 +19,7 @@ package skytils.skytilsmod.mixins.hooks.entity
import net.minecraft.entity.boss.IBossDisplayData
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo
-import skytils.skytilsmod.events.BossBarEvent
+import skytils.skytilsmod.events.impl.BossBarEvent
fun onSetBossStatus(displayData: IBossDisplayData, hasColorModifierIn: Boolean, ci: CallbackInfo) {
diff --git a/src/main/kotlin/skytils/skytilsmod/mixins/hooks/entity/EntityPlayerSPHook.kt b/src/main/kotlin/skytils/skytilsmod/mixins/hooks/entity/EntityPlayerSPHook.kt
index 1027ff5a..0f9e859c 100644
--- a/src/main/kotlin/skytils/skytilsmod/mixins/hooks/entity/EntityPlayerSPHook.kt
+++ b/src/main/kotlin/skytils/skytilsmod/mixins/hooks/entity/EntityPlayerSPHook.kt
@@ -22,8 +22,8 @@ import net.minecraft.util.IChatComponent
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable
import skytils.skytilsmod.Skytils.Companion.mc
-import skytils.skytilsmod.events.AddChatMessageEvent
-import skytils.skytilsmod.events.ItemTossEvent
+import skytils.skytilsmod.events.impl.AddChatMessageEvent
+import skytils.skytilsmod.events.impl.ItemTossEvent
fun onAddChatMessage(message: IChatComponent, ci: CallbackInfo) {
if (AddChatMessageEvent(message).postAndCatch()) ci.cancel()
diff --git a/src/main/kotlin/skytils/skytilsmod/mixins/hooks/gui/GuiContainerHook.kt b/src/main/kotlin/skytils/skytilsmod/mixins/hooks/gui/GuiContainerHook.kt
index 1c39be4a..a1a023d3 100644
--- a/src/main/kotlin/skytils/skytilsmod/mixins/hooks/gui/GuiContainerHook.kt
+++ b/src/main/kotlin/skytils/skytilsmod/mixins/hooks/gui/GuiContainerHook.kt
@@ -17,15 +17,12 @@
*/
package skytils.skytilsmod.mixins.hooks.gui
-import net.minecraft.client.Minecraft
import net.minecraft.client.gui.inventory.GuiContainer
import net.minecraft.inventory.Slot
-import net.minecraft.util.ChatComponentText
-import net.minecraftforge.common.MinecraftForge
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo
-import skytils.skytilsmod.events.GuiContainerEvent
-import skytils.skytilsmod.events.GuiContainerEvent.CloseWindowEvent
-import skytils.skytilsmod.events.GuiContainerEvent.SlotClickEvent
+import skytils.skytilsmod.events.impl.GuiContainerEvent
+import skytils.skytilsmod.events.impl.GuiContainerEvent.CloseWindowEvent
+import skytils.skytilsmod.events.impl.GuiContainerEvent.SlotClickEvent
class GuiContainerHook(guiAny: Any) {
diff --git a/src/main/kotlin/skytils/skytilsmod/mixins/hooks/gui/GuiIngameHook.kt b/src/main/kotlin/skytils/skytilsmod/mixins/hooks/gui/GuiIngameHook.kt
index 63c20def..90b6bc81 100644
--- a/src/main/kotlin/skytils/skytilsmod/mixins/hooks/gui/GuiIngameHook.kt
+++ b/src/main/kotlin/skytils/skytilsmod/mixins/hooks/gui/GuiIngameHook.kt
@@ -20,7 +20,7 @@ package skytils.skytilsmod.mixins.hooks.gui
import net.minecraft.entity.player.EntityPlayer
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo
import skytils.skytilsmod.Skytils
-import skytils.skytilsmod.events.SetActionBarEvent
+import skytils.skytilsmod.events.impl.SetActionBarEvent
import skytils.skytilsmod.features.impl.misc.ItemFeatures
import skytils.skytilsmod.utils.RenderUtil.renderRarity
import skytils.skytilsmod.utils.Utils
diff --git a/src/main/kotlin/skytils/skytilsmod/mixins/hooks/gui/GuiScreenHook.kt b/src/main/kotlin/skytils/skytilsmod/mixins/hooks/gui/GuiScreenHook.kt
index dfce8124..897988be 100644
--- a/src/main/kotlin/skytils/skytilsmod/mixins/hooks/gui/GuiScreenHook.kt
+++ b/src/main/kotlin/skytils/skytilsmod/mixins/hooks/gui/GuiScreenHook.kt
@@ -18,7 +18,7 @@
package skytils.skytilsmod.mixins.hooks.gui
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo
-import skytils.skytilsmod.events.SendChatMessageEvent
+import skytils.skytilsmod.events.impl.SendChatMessageEvent
fun onSendChatMessage(message: String, addToChat: Boolean, ci: CallbackInfo) {
if (SendChatMessageEvent(message, addToChat).postAndCatch()) ci.cancel()
diff --git a/src/main/kotlin/skytils/skytilsmod/mixins/hooks/multiplayer/PlayerControllerMPHook.kt b/src/main/kotlin/skytils/skytilsmod/mixins/hooks/multiplayer/PlayerControllerMPHook.kt
index 2a75b310..9db9b8a6 100644
--- a/src/main/kotlin/skytils/skytilsmod/mixins/hooks/multiplayer/PlayerControllerMPHook.kt
+++ b/src/main/kotlin/skytils/skytilsmod/mixins/hooks/multiplayer/PlayerControllerMPHook.kt
@@ -20,7 +20,7 @@ package skytils.skytilsmod.mixins.hooks.multiplayer
import net.minecraft.util.BlockPos
import net.minecraft.util.EnumFacing
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable
-import skytils.skytilsmod.events.DamageBlockEvent
+import skytils.skytilsmod.events.impl.DamageBlockEvent
fun onPlayerDamageBlock(pos: BlockPos, directionFacing: EnumFacing, cir: CallbackInfoReturnable<Boolean>) {
if (DamageBlockEvent(pos, directionFacing).postAndCatch()) cir.cancel()
diff --git a/src/main/kotlin/skytils/skytilsmod/mixins/hooks/network/NetHandlerPlayClientHook.kt b/src/main/kotlin/skytils/skytilsmod/mixins/hooks/network/NetHandlerPlayClientHook.kt
index 9233835d..0014fae0 100644
--- a/src/main/kotlin/skytils/skytilsmod/mixins/hooks/network/NetHandlerPlayClientHook.kt
+++ b/src/main/kotlin/skytils/skytilsmod/mixins/hooks/network/NetHandlerPlayClientHook.kt
@@ -19,7 +19,7 @@ package skytils.skytilsmod.mixins.hooks.network
import net.minecraft.network.Packet
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo
-import skytils.skytilsmod.events.PacketEvent.SendEvent
+import skytils.skytilsmod.events.impl.PacketEvent.SendEvent
fun onSendPacket(packet: Packet<*>, ci: CallbackInfo) {
if (SendEvent(packet).postAndCatch()) ci.cancel()
diff --git a/src/main/kotlin/skytils/skytilsmod/mixins/hooks/network/NetworkManagerHook.kt b/src/main/kotlin/skytils/skytilsmod/mixins/hooks/network/NetworkManagerHook.kt
index adbe784f..cc16cabf 100644
--- a/src/main/kotlin/skytils/skytilsmod/mixins/hooks/network/NetworkManagerHook.kt
+++ b/src/main/kotlin/skytils/skytilsmod/mixins/hooks/network/NetworkManagerHook.kt
@@ -20,7 +20,7 @@ package skytils.skytilsmod.mixins.hooks.network
import io.netty.channel.ChannelHandlerContext
import net.minecraft.network.Packet
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo
-import skytils.skytilsmod.events.PacketEvent.ReceiveEvent
+import skytils.skytilsmod.events.impl.PacketEvent.ReceiveEvent
fun onReceivePacket(context: ChannelHandlerContext, packet: Packet<*>, ci: CallbackInfo) {
if (ReceiveEvent(packet).postAndCatch()) ci.cancel()
diff --git a/src/main/kotlin/skytils/skytilsmod/mixins/hooks/renderer/BlockRendererDispatcherHook.kt b/src/main/kotlin/skytils/skytilsmod/mixins/hooks/renderer/BlockRendererDispatcherHook.kt
index 23d268a8..d0b07e5e 100644
--- a/src/main/kotlin/skytils/skytilsmod/mixins/hooks/renderer/BlockRendererDispatcherHook.kt
+++ b/src/main/kotlin/skytils/skytilsmod/mixins/hooks/renderer/BlockRendererDispatcherHook.kt
@@ -18,15 +18,12 @@
package skytils.skytilsmod.mixins.hooks.renderer
import net.minecraft.block.state.IBlockState
-import net.minecraft.client.Minecraft
import net.minecraft.client.renderer.BlockRendererDispatcher
import net.minecraft.client.resources.model.IBakedModel
import net.minecraft.util.BlockPos
-import net.minecraft.util.ChatComponentText
import net.minecraft.world.IBlockAccess
-import net.minecraftforge.common.MinecraftForge
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable
-import skytils.skytilsmod.events.RenderBlockInWorldEvent
+import skytils.skytilsmod.events.impl.RenderBlockInWorldEvent
fun modifyGetModelFromBlockState(
blockRendererDispatcher: Any,
diff --git a/src/main/kotlin/skytils/skytilsmod/mixins/hooks/renderer/RenderItemHook.kt b/src/main/kotlin/skytils/skytilsmod/mixins/hooks/renderer/RenderItemHook.kt
index be3acd10..12024033 100644
--- a/src/main/kotlin/skytils/skytilsmod/mixins/hooks/renderer/RenderItemHook.kt
+++ b/src/main/kotlin/skytils/skytilsmod/mixins/hooks/renderer/RenderItemHook.kt
@@ -28,7 +28,7 @@ import net.minecraft.util.ResourceLocation
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo
import skytils.skytilsmod.Skytils
import skytils.skytilsmod.Skytils.Companion.mc
-import skytils.skytilsmod.events.GuiRenderItemEvent
+import skytils.skytilsmod.events.impl.GuiRenderItemEvent
import skytils.skytilsmod.features.impl.handlers.GlintCustomizer
import skytils.skytilsmod.mixins.transformers.accessors.AccessorRenderItem
import skytils.skytilsmod.utils.ItemUtil.getSkyBlockItemID
diff --git a/src/main/kotlin/skytils/skytilsmod/mixins/hooks/renderer/RenderManagerHook.kt b/src/main/kotlin/skytils/skytilsmod/mixins/hooks/renderer/RenderManagerHook.kt
index 7ce42323..44a94155 100644
--- a/src/main/kotlin/skytils/skytilsmod/mixins/hooks/renderer/RenderManagerHook.kt
+++ b/src/main/kotlin/skytils/skytilsmod/mixins/hooks/renderer/RenderManagerHook.kt
@@ -20,7 +20,7 @@ package skytils.skytilsmod.mixins.hooks.renderer
import net.minecraft.client.renderer.culling.ICamera
import net.minecraft.entity.Entity
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable
-import skytils.skytilsmod.events.CheckRenderEntityEvent
+import skytils.skytilsmod.events.impl.CheckRenderEntityEvent
fun shouldRender(
entityIn: Entity,
diff --git a/src/main/kotlin/skytils/skytilsmod/mixins/hooks/world/ChunkHook.kt b/src/main/kotlin/skytils/skytilsmod/mixins/hooks/world/ChunkHook.kt
index 8dcfa384..28ccea92 100644
--- a/src/main/kotlin/skytils/skytilsmod/mixins/hooks/world/ChunkHook.kt
+++ b/src/main/kotlin/skytils/skytilsmod/mixins/hooks/world/ChunkHook.kt
@@ -21,7 +21,7 @@ import net.minecraft.block.state.IBlockState
import net.minecraft.util.BlockPos
import net.minecraft.world.chunk.Chunk
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable
-import skytils.skytilsmod.events.BlockChangeEvent
+import skytils.skytilsmod.events.impl.BlockChangeEvent
fun onBlockChange(chunk: Any, pos: BlockPos, state: IBlockState, cir: CallbackInfoReturnable<IBlockState>) {
(chunk as Chunk).apply {
diff --git a/src/main/kotlin/skytils/skytilsmod/utils/SBInfo.kt b/src/main/kotlin/skytils/skytilsmod/utils/SBInfo.kt
index d0b3ce28..a5dcb8cb 100644
--- a/src/main/kotlin/skytils/skytilsmod/utils/SBInfo.kt
+++ b/src/main/kotlin/skytils/skytilsmod/utils/SBInfo.kt
@@ -33,8 +33,8 @@ import net.minecraftforge.fml.common.gameevent.TickEvent
import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent
import skytils.skytilsmod.Skytils
import skytils.skytilsmod.Skytils.Companion.mc
-import skytils.skytilsmod.events.PacketEvent
-import skytils.skytilsmod.events.SendChatMessageEvent
+import skytils.skytilsmod.events.impl.PacketEvent
+import skytils.skytilsmod.events.impl.SendChatMessageEvent
import java.text.ParseException
import java.text.SimpleDateFormat
import java.util.*
diff --git a/src/main/kotlin/skytils/skytilsmod/utils/Utils.kt b/src/main/kotlin/skytils/skytilsmod/utils/Utils.kt
index 33f6c8ca..46c9b2dd 100644
--- a/src/main/kotlin/skytils/skytilsmod/utils/Utils.kt
+++ b/src/main/kotlin/skytils/skytilsmod/utils/Utils.kt
@@ -41,7 +41,7 @@ import net.minecraftforge.client.event.ClientChatReceivedEvent
import net.minecraftforge.common.MinecraftForge
import skytils.skytilsmod.Skytils
import skytils.skytilsmod.Skytils.Companion.mc
-import skytils.skytilsmod.events.PacketEvent.ReceiveEvent
+import skytils.skytilsmod.events.impl.PacketEvent.ReceiveEvent
import skytils.skytilsmod.mixins.transformers.accessors.AccessorGuiNewChat
import skytils.skytilsmod.utils.graphics.colors.ColorFactory.web
import skytils.skytilsmod.utils.graphics.colors.CustomColor
diff --git a/src/main/resources/mixins.skytils.json b/src/main/resources/mixins.skytils.json
index e6f279d5..c6678f2b 100644
--- a/src/main/resources/mixins.skytils.json
+++ b/src/main/resources/mixins.skytils.json
@@ -40,6 +40,7 @@
"multiplayer.MixinPlayerControllerMP",
"network.MixinNetHandlerPlayClient",
"network.MixinNetworkManager",
+ "network.MixinPacketThreadUtil$1",
"neu.MixinGuiProfileViewer",
"neu.MixinStorageManager",
"neu.MixinTradeWindow",