Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @ModifyArg(method = "method_30010", index = 1, at = @At(value = "INVOKE", target = "Lnet/minecraft/screen/ScreenHandler;transferSlot(Lnet/minecraft/entity/player/PlayerEntity;I)Lnet/minecraft/item/ItemStack;"))
- private int transferSlotTryOffhand(PlayerEntity playerEntity, int i) {
- ClientPlayerEntity player = MinecraftClient.getInstance().player;
- if (player == null) return i;
- ItemStack offHandStack = player.getOffHandStack();
- if (offHandStack.isEmpty() || offHandStack.getCount() == offHandStack.getMaxCount())
- // no stack or no room in stack in offhand
- return i;
- PlayerInventory playerInventory = player.inventory;
- // index: 9-35, 36-44
- // clickedIndex: 9-35, 0-8
- int clickedIndex = i > 35 ? i - 36 : i;
- ItemStack clickedStack = playerInventory.getStack(clickedIndex);
- if (!ItemStack.areItemsEqual(offHandStack, clickedStack) || !ItemStack.areTagsEqual(offHandStack, clickedStack))
- // stacks can't combine
- return i;
- return 45;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement