aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/EntityRenderDispatcherMixin.java18
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/LivingEntityRendererMixin.java18
2 files changed, 36 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/mixin/EntityRenderDispatcherMixin.java b/src/main/java/de/hysky/skyblocker/mixin/EntityRenderDispatcherMixin.java
new file mode 100644
index 00000000..5cf88588
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/mixin/EntityRenderDispatcherMixin.java
@@ -0,0 +1,18 @@
+package de.hysky.skyblocker.mixin;
+
+import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
+import de.hysky.skyblocker.debug.Debug;
+import de.hysky.skyblocker.utils.Utils;
+import net.minecraft.client.render.entity.EntityRenderDispatcher;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.decoration.ArmorStandEntity;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.injection.At;
+
+@Mixin(EntityRenderDispatcher.class)
+public class EntityRenderDispatcherMixin {
+ @ModifyExpressionValue(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/Entity;isInvisible()Z", ordinal = 1))
+ private <E extends Entity> boolean skyblocker$armorStandHitboxVisible(boolean invisible, E entity) {
+ return (!(entity instanceof ArmorStandEntity) || !Utils.isOnHypixel() || !Debug.debugEnabled()) && invisible;
+ }
+}
diff --git a/src/main/java/de/hysky/skyblocker/mixin/LivingEntityRendererMixin.java b/src/main/java/de/hysky/skyblocker/mixin/LivingEntityRendererMixin.java
new file mode 100644
index 00000000..cf927f0c
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/mixin/LivingEntityRendererMixin.java
@@ -0,0 +1,18 @@
+package de.hysky.skyblocker.mixin;
+
+import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
+import de.hysky.skyblocker.debug.Debug;
+import de.hysky.skyblocker.utils.Utils;
+import net.minecraft.client.render.entity.LivingEntityRenderer;
+import net.minecraft.entity.LivingEntity;
+import net.minecraft.entity.decoration.ArmorStandEntity;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.injection.At;
+
+@Mixin(LivingEntityRenderer.class)
+public class LivingEntityRendererMixin {
+ @ModifyExpressionValue(method = "render(Lnet/minecraft/entity/LivingEntity;FFLnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;I)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/entity/LivingEntityRenderer;isVisible(Lnet/minecraft/entity/LivingEntity;)Z"))
+ private <T extends LivingEntity> boolean skyblocker$armorStandVisible(boolean visible, T entity) {
+ return entity instanceof ArmorStandEntity && Utils.isOnHypixel() && Debug.debugEnabled() || visible;
+ }
+}