aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/mixins
diff options
context:
space:
mode:
authorhannibal2 <24389977+hannibal00212@users.noreply.github.com>2022-10-01 17:00:01 +0200
committerhannibal2 <24389977+hannibal00212@users.noreply.github.com>2022-10-01 17:00:01 +0200
commitce00374e43f54ab574a8198f94d7a13270d48888 (patch)
treea6fa18deea59bb66cec166c2a5f412c0ca29beb2 /src/main/java/at/hannibal2/skyhanni/mixins
parent9946e80fa0fb5da41c4ad8e5ace2edad6c519167 (diff)
downloadskyhanni-ce00374e43f54ab574a8198f94d7a13270d48888.tar.gz
skyhanni-ce00374e43f54ab574a8198f94d7a13270d48888.tar.bz2
skyhanni-ce00374e43f54ab574a8198f94d7a13270d48888.zip
add blaze particle hide feature
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/mixins')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/mixins/hooks/EntityBlazeHook.kt9
-rw-r--r--src/main/java/at/hannibal2/skyhanni/mixins/hooks/RenderGlobalHook.kt33
-rw-r--r--src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinEntityBlaze.java20
-rw-r--r--src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinRenderGlobal.java8
4 files changed, 36 insertions, 34 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/mixins/hooks/EntityBlazeHook.kt b/src/main/java/at/hannibal2/skyhanni/mixins/hooks/EntityBlazeHook.kt
deleted file mode 100644
index 9b7e09cc7..000000000
--- a/src/main/java/at/hannibal2/skyhanni/mixins/hooks/EntityBlazeHook.kt
+++ /dev/null
@@ -1,9 +0,0 @@
-package at.hannibal2.skyhanni.mixins.hooks
-
-import at.hannibal2.skyhanni.events.BlazeParticleEvent
-import net.minecraft.entity.monster.EntityBlaze
-
-fun onBlockBlazeParticle(mixinBlaze: Any): Boolean {
- val blaze = mixinBlaze as EntityBlaze
- return BlazeParticleEvent(blaze).postAndCatch()
-}
diff --git a/src/main/java/at/hannibal2/skyhanni/mixins/hooks/RenderGlobalHook.kt b/src/main/java/at/hannibal2/skyhanni/mixins/hooks/RenderGlobalHook.kt
new file mode 100644
index 000000000..0ae72fddf
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/mixins/hooks/RenderGlobalHook.kt
@@ -0,0 +1,33 @@
+package at.hannibal2.skyhanni.mixins.hooks
+
+import at.hannibal2.skyhanni.events.SpawnParticleEvent
+import at.hannibal2.skyhanni.utils.LorenzUtils
+import org.spongepowered.asm.mixin.injection.callback.CallbackInfo
+
+class RenderGlobalHook {
+ companion object {
+ @JvmStatic
+ fun spawnParticle(
+ particleId: Int,
+ x: Double,
+ y: Double,
+ z: Double,
+ ci: CallbackInfo,
+ ) {
+ val callerClass = LorenzUtils.getCallerClass(
+ "at.hannibal2.skyhanni.mixins.hooks.RenderGlobalHook\$Companion",
+ "at.hannibal2.skyhanni.mixins.hooks.RenderGlobalHook",
+ "net.minecraft.client.renderer.RenderGlobal",
+ "net.minecraft.world.World",
+ "net.minecraft.client.network.NetHandlerPlayClient",
+ "net.minecraft.network.play.server.S2APacketParticles",
+ ) ?: "null"
+
+ if (SpawnParticleEvent(particleId, callerClass, x, y, z).postAndCatch()) {
+ ci.cancel()
+ return
+ }
+
+ }
+ }
+} \ No newline at end of file
diff --git a/src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinEntityBlaze.java b/src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinEntityBlaze.java
deleted file mode 100644
index 2565e4c69..000000000
--- a/src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinEntityBlaze.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package at.hannibal2.skyhanni.mixins.transformers;
-
-import at.hannibal2.skyhanni.mixins.hooks.EntityBlazeHookKt;
-import net.minecraft.entity.monster.EntityBlaze;
-import net.minecraft.util.EnumParticleTypes;
-import net.minecraft.world.World;
-import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.injection.At;
-import org.spongepowered.asm.mixin.injection.Redirect;
-
-@Mixin(EntityBlaze.class)
-public abstract class MixinEntityBlaze {
-
- @Redirect(method = "onLivingUpdate", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/World;spawnParticle(Lnet/minecraft/util/EnumParticleTypes;DDDDDD[I)V"))
- private void onBlazeSpawnParticle(World instance, EnumParticleTypes particleType, double xCoord, double yCoord, double zCoord, double xOffset, double yOffset, double zOffset, int[] p_175688_14_) {
- if (!EntityBlazeHookKt.onBlockBlazeParticle(this)) {
- instance.spawnParticle(particleType, xCoord, yCoord, zCoord, xOffset, yOffset, zOffset, p_175688_14_);
- }
- }
-}
diff --git a/src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinRenderGlobal.java b/src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinRenderGlobal.java
index 64f9b1c9a..e658c3c02 100644
--- a/src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinRenderGlobal.java
+++ b/src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinRenderGlobal.java
@@ -1,6 +1,6 @@
package at.hannibal2.skyhanni.mixins.transformers;
-import at.hannibal2.skyhanni.events.SpawnParticleEvent;
+import at.hannibal2.skyhanni.mixins.hooks.RenderGlobalHook;
import net.minecraft.client.renderer.RenderGlobal;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
@@ -11,9 +11,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
public class MixinRenderGlobal {
@Inject(method = "spawnParticle(IZDDDDDD[I)V", at = @At("HEAD"), cancellable = true)
- private void spawnParticle(int id, boolean ignoreRange, double x, double y, double z, double xOffset, double yOffset, double zOffset, int[] p_180442_15_, CallbackInfo ci) {
- if (new SpawnParticleEvent(id, x, y, z).postAndCatch()) {
- ci.cancel();
- }
+ private void spawnParticle(int particleId, boolean ignoreRange, double x, double y, double z, double xOffset, double yOffset, double zOffset, int[] p_180442_15_, CallbackInfo ci) {
+ RenderGlobalHook.spawnParticle(particleId, x, y, z, ci);
}
}