From 3ba8a688ed1a5a641766dee67c3da7aeadcc5085 Mon Sep 17 00:00:00 2001 From: jc Date: Sat, 23 Jan 2021 20:04:32 +0100 Subject: [PATCH] Fixes in quick armor swap --- .../quickArmorSwap/ArmorReplacer.java | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/main/java/me/juancarloscp52/bedrockify/client/features/quickArmorSwap/ArmorReplacer.java b/src/main/java/me/juancarloscp52/bedrockify/client/features/quickArmorSwap/ArmorReplacer.java index 4ca549f2..2506fa85 100644 --- a/src/main/java/me/juancarloscp52/bedrockify/client/features/quickArmorSwap/ArmorReplacer.java +++ b/src/main/java/me/juancarloscp52/bedrockify/client/features/quickArmorSwap/ArmorReplacer.java @@ -17,20 +17,22 @@ public class ArmorReplacer { public static TypedActionResult tryChangeArmor(PlayerEntity playerEntity, Hand hand){ ItemStack newArmor = playerEntity.getStackInHand(hand); - if (newArmor.getItem() == Items.ELYTRA || newArmor.getItem() instanceof ArmorItem){ - ClientPlayerInteractionManager interactionManager = MinecraftClient.getInstance().interactionManager; - if(interactionManager != null && MinecraftClient.getInstance().mouse.wasRightButtonClicked()){ - EquipmentSlot equipmentSlot = MobEntity.getPreferredEquipmentSlot(newArmor); + ClientPlayerInteractionManager interactionManager = MinecraftClient.getInstance().interactionManager; + if(interactionManager != null && MinecraftClient.getInstance().mouse.wasRightButtonClicked()){ + if (!(newArmor.getItem() == Items.ELYTRA || newArmor.getItem() instanceof ArmorItem)) + return TypedActionResult.pass(newArmor); - if(!playerEntity.getEquippedStack(equipmentSlot).getItem().equals(Items.AIR)){ - int slotIndex = 8-equipmentSlot.getEntitySlotId(); - interactionManager.clickSlot(playerEntity.playerScreenHandler.syncId,slotIndex,playerEntity.inventory.main.indexOf(newArmor), SlotActionType.SWAP,playerEntity); - playerEntity.playSound(newArmor.getItem() == Items.ELYTRA ? SoundEvents.ITEM_ARMOR_EQUIP_ELYTRA : ((ArmorItem)newArmor.getItem()).getMaterial().getEquipSound(), 1.0F,1.0F); - return TypedActionResult.success(playerEntity.getStackInHand(hand)); - } - } + EquipmentSlot equipmentSlot = MobEntity.getPreferredEquipmentSlot(newArmor); + + if(playerEntity.getEquippedStack(equipmentSlot).getItem().equals(Items.AIR)) + return TypedActionResult.pass(newArmor); + + int slotIndex = 8-equipmentSlot.getEntitySlotId(); + interactionManager.clickSlot(playerEntity.playerScreenHandler.syncId,slotIndex,playerEntity.inventory.main.indexOf(newArmor), SlotActionType.SWAP,playerEntity); + playerEntity.playSound(newArmor.getItem() == Items.ELYTRA ? SoundEvents.ITEM_ARMOR_EQUIP_ELYTRA : ((ArmorItem)newArmor.getItem()).getMaterial().getEquipSound(), 1.0F,1.0F); + return TypedActionResult.success(playerEntity.getStackInHand(hand)); } - return TypedActionResult.pass(newArmor); + return TypedActionResult.fail(newArmor); } }