[enhancement] Added option to disable hand render modifying

#closes #1805
This commit is contained in:
Xiaro 2021-01-06 01:39:13 -05:00
parent 616cc69902
commit 6f45b79664
No known key found for this signature in database
GPG Key ID: 996D265D6E155377
2 changed files with 7 additions and 2 deletions

View File

@ -23,8 +23,10 @@ public class MixinItemRenderer {
}
@Inject(method = "renderItemInFirstPerson(Lnet/minecraft/client/entity/AbstractClientPlayer;FFLnet/minecraft/util/EnumHand;FLnet/minecraft/item/ItemStack;F)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/GlStateManager;pushMatrix()V", shift = At.Shift.AFTER))
private void transformSideFirstPerson$pushMatrix(AbstractClientPlayer player, float var0, float pitch, EnumHand hand, float var1, ItemStack stack, float yOffset, CallbackInfo ci) {
private void transformSideFirstPerson$pushMatrix(AbstractClientPlayer player, float partialTicks, float pitch, EnumHand hand, float swingProgress, ItemStack stack, float equippedProgress, CallbackInfo ci) {
if (ItemModel.INSTANCE.isEnabled()) {
if (!ItemModel.INSTANCE.getModifyHand() && stack.isEmpty()) return;
EnumHandSide enumhandside = hand == EnumHand.MAIN_HAND ? player.getPrimaryHand() : player.getPrimaryHand().opposite();
float sideMultiplier = enumhandside == EnumHandSide.RIGHT ? 1.0f : -1.0f;
@ -33,8 +35,10 @@ public class MixinItemRenderer {
}
@Inject(method = "renderItemInFirstPerson(Lnet/minecraft/client/entity/AbstractClientPlayer;FFLnet/minecraft/util/EnumHand;FLnet/minecraft/item/ItemStack;F)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/ItemRenderer;renderItemSide(Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/item/ItemStack;Lnet/minecraft/client/renderer/block/model/ItemCameraTransforms$TransformType;Z)V"))
private void transformSideFirstPerson$renderItemSide(AbstractClientPlayer player, float var0, float pitch, EnumHand hand, float var1, ItemStack stack, float yOffset, CallbackInfo ci) {
private void transformSideFirstPerson$renderItemSide(AbstractClientPlayer player, float partialTicks, float pitch, EnumHand hand, float swingProgress, ItemStack stack, float equippedProgress, CallbackInfo ci) {
if (ItemModel.INSTANCE.isEnabled()) {
if (!ItemModel.INSTANCE.getModifyHand() && stack.isEmpty()) return;
EnumHandSide enumhandside = hand == EnumHand.MAIN_HAND ? player.getPrimaryHand() : player.getPrimaryHand().opposite();
float sideMultiplier = enumhandside == EnumHandSide.RIGHT ? 1.0f : -1.0f;
float scale = ItemModel.INSTANCE.getScale();

View File

@ -16,4 +16,5 @@ object ItemModel : Module() {
val rotateY by setting("RotateY", 0.0f, -180.0f..180.0f, 1.0f)
val rotateZ by setting("RotateZ", 0.0f, -180.0f..180.0f, 1.0f)
val scale by setting("Scale", 1.0f, 0.1f..3.0f, 0.025f)
val modifyHand by setting("ModifyHand", false)
}