From 40e1feb4feea94fba25f126d5ffd56f1379b9e7f Mon Sep 17 00:00:00 2001 From: Su5eD Date: Wed, 25 Oct 2023 17:22:59 +0200 Subject: [PATCH] Patch game renderer attack range redirect Fixes #437 --- gradle.properties | 2 +- .../connector/transformer/MixinPatchTransformer.java | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index bbcbf6bf..a7bfcfc2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ org.gradle.daemon=true # Versions versionConnector=1.0.0-beta.22 versionAdapter=1.7.0-1.20.1-20231012.193807 -versionAdapterDefinition=1.8.3 +versionAdapterDefinition=1.8.4 versionMc=1.20.1 versionForge=47.1.3 diff --git a/src/main/java/dev/su5ed/sinytra/connector/transformer/MixinPatchTransformer.java b/src/main/java/dev/su5ed/sinytra/connector/transformer/MixinPatchTransformer.java index 3213847a..6ac398ef 100644 --- a/src/main/java/dev/su5ed/sinytra/connector/transformer/MixinPatchTransformer.java +++ b/src/main/java/dev/su5ed/sinytra/connector/transformer/MixinPatchTransformer.java @@ -261,6 +261,15 @@ public class MixinPatchTransformer implements Transformer { .modifyInjectionPoint("Lnet/minecraft/world/item/ItemStack;canWalkOnPowderedSnow(Lnet/minecraft/world/entity/LivingEntity;)Z") .modifyParams(builder -> builder.replace(1, Type.getObjectType("net/minecraft/world/entity/LivingEntity"))) .build(), + Patch.builder() + .targetClass("net/minecraft/client/renderer/GameRenderer") + .targetMethod("m_109087_") + .targetConstant(9.0) + .modifyMixinType(Patch.MODIFY_VAR, builder -> builder + .sameTarget() + .injectionPoint("INVOKE_ASSIGN", "Lnet/minecraft/world/phys/Vec3;m_82557_(Lnet/minecraft/world/phys/Vec3;)D", v -> v.visit("ordinal", 1)) + .putValue("ordinal", 3)) + .build(), Patch.builder() .targetClass("net/minecraft/client/renderer/ItemInHandRenderer") .targetMethod("m_117184_") @@ -370,7 +379,7 @@ public class MixinPatchTransformer implements Transformer { .targetClass("net/minecraft/client/renderer/entity/layers/HumanoidArmorLayer") .targetMethod("m_117118_") .targetMixinType(Patch.MODIFY_ARG) - .targetAnnotationValues(values -> (Integer) values.get("index").get() == 4) + .targetAnnotationValues(values -> values.getValue("index").map(handle -> handle.get() == 4).orElse(false)) .targetInjectionPoint("INVOKE", "Lnet/minecraft/client/renderer/entity/layers/HumanoidArmorLayer;m_289609_(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource;ILnet/minecraft/world/item/ArmorItem;Lnet/minecraft/client/model/HumanoidModel;ZFFFLjava/lang/String;)V") .modifyInjectionPoint("Lnet/minecraft/client/renderer/entity/layers/HumanoidArmorLayer;renderModel(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource;ILnet/minecraft/world/item/ArmorItem;Lnet/minecraft/client/model/Model;ZFFFLnet/minecraft/resources/ResourceLocation;)V") .modifyParams(builder -> builder