diff options
| author | hannibal2 <24389977+hannibal00212@users.noreply.github.com> | 2022-09-15 22:49:58 +0200 |
|---|---|---|
| committer | hannibal2 <24389977+hannibal00212@users.noreply.github.com> | 2022-09-15 22:49:58 +0200 |
| commit | 01d4aef89b7fdad58a320cf1eb4e478ac12aaba4 (patch) | |
| tree | 3b933dd02f0f976760c0adba9342ea727bcda61a /src/main/java/at/hannibal2/skyhanni/data | |
| parent | f02297bfffcdaaef5da4e04725b0658c00889cb7 (diff) | |
| download | SkyHanni-01d4aef89b7fdad58a320cf1eb4e478ac12aaba4.tar.gz SkyHanni-01d4aef89b7fdad58a320cf1eb4e478ac12aaba4.tar.bz2 SkyHanni-01d4aef89b7fdad58a320cf1eb4e478ac12aaba4.zip | |
added and used events for particle and sound
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/data')
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/data/MinecraftData.kt | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/data/MinecraftData.kt b/src/main/java/at/hannibal2/skyhanni/data/MinecraftData.kt new file mode 100644 index 000000000..e9ef04947 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/data/MinecraftData.kt @@ -0,0 +1,51 @@ +package at.hannibal2.skyhanni.data + +import at.hannibal2.skyhanni.events.PacketEvent +import at.hannibal2.skyhanni.events.PlayParticleEvent +import at.hannibal2.skyhanni.events.PlaySoundEvent +import at.hannibal2.skyhanni.utils.LorenzUtils +import at.hannibal2.skyhanni.utils.LorenzVec +import net.minecraft.network.play.server.S29PacketSoundEffect +import net.minecraft.network.play.server.S2APacketParticles +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent + +class MinecraftData { + + @SubscribeEvent(receiveCanceled = true) + fun onSoundPacket(event: PacketEvent.ReceiveEvent) { + if (!LorenzUtils.inSkyblock) return + + val packet = event.packet + if (packet !is S29PacketSoundEffect) return + + if (PlaySoundEvent( + packet.soundName, + LorenzVec(packet.x, packet.y, packet.z), + packet.pitch, + packet.volume + ).postAndCatch() + ) { + event.isCanceled = true + } + } + + @SubscribeEvent(receiveCanceled = true) + fun onParticleEvent(event: PacketEvent.ReceiveEvent) { + if (!LorenzUtils.inSkyblock) return + + val packet = event.packet + if (packet !is S2APacketParticles) return + + if (PlayParticleEvent( + packet.particleType!!, + LorenzVec(packet.xCoordinate, packet.yCoordinate, packet.zCoordinate), + packet.particleCount, + packet.particleSpeed, + LorenzVec(packet.xOffset, packet.yOffset, packet.zOffset), + packet.particleArgs + ).postAndCatch() + ) { + event.isCanceled = true + } + } +}
\ No newline at end of file |
