diff options
author | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-12-07 23:01:51 -0500 |
---|---|---|
committer | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-12-07 23:03:11 -0500 |
commit | ff69b0ee8526a4281efda6e85f1404592de05907 (patch) | |
tree | 336e6e143a23e25c15fd28ac696c68117b5e8606 /src | |
parent | c7088f48ef5b2f5a61f471d93ee23f4f2ccad010 (diff) | |
download | Skyblocker-ff69b0ee8526a4281efda6e85f1404592de05907.tar.gz Skyblocker-ff69b0ee8526a4281efda6e85f1404592de05907.tar.bz2 Skyblocker-ff69b0ee8526a4281efda6e85f1404592de05907.zip |
Show armor stands in debug mode
Diffstat (limited to 'src')
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", |