aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2023-12-07 23:01:51 -0500
committerKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2023-12-07 23:03:11 -0500
commitff69b0ee8526a4281efda6e85f1404592de05907 (patch)
tree336e6e143a23e25c15fd28ac696c68117b5e8606 /src
parentc7088f48ef5b2f5a61f471d93ee23f4f2ccad010 (diff)
downloadSkyblocker-ff69b0ee8526a4281efda6e85f1404592de05907.tar.gz
Skyblocker-ff69b0ee8526a4281efda6e85f1404592de05907.tar.bz2
Skyblocker-ff69b0ee8526a4281efda6e85f1404592de05907.zip
Show armor stands in debug mode
Diffstat (limited to 'src')
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/EntityRenderDispatcherMixin.java18
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/LivingEntityRendererMixin.java18
-rw-r--r--src/main/resources/skyblocker.mixins.json2
3 files changed, 38 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;
+ }
+}
diff --git a/src/main/resources/skyblocker.mixins.json b/src/main/resources/skyblocker.mixins.json
index d7ae26e1..ca5390e0 100644
--- a/src/main/resources/skyblocker.mixins.json
+++ b/src/main/resources/skyblocker.mixins.json
@@ -12,6 +12,7 @@
"ClientPlayNetworkHandlerMixin",
"DrawContextMixin",
"DyeableItemMixin",
+ "EntityRenderDispatcherMixin",
"FarmlandBlockMixin",
"GenericContainerScreenHandlerMixin",
"HandledScreenMixin",
@@ -21,6 +22,7 @@
"ItemMixin",
"ItemStackMixin",
"LeverBlockMixin",
+ "LivingEntityRendererMixin",
"MinecraftClientMixin",
"PlayerListHudMixin",
"PlayerSkinProviderMixin",