From c1e40ebe1fc29387866b573a632f00d84dfdc410 Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Tue, 11 Jul 2023 21:23:22 -0400 Subject: [PATCH] Update item empty cache patch for 1.18 --- .../mixin/bugfix/item_cache_flag/ItemStackMixin.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/item_cache_flag/ItemStackMixin.java b/common/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/item_cache_flag/ItemStackMixin.java index ebff609f..4a106da1 100644 --- a/common/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/item_cache_flag/ItemStackMixin.java +++ b/common/src/main/java/org/embeddedt/modernfix/common/mixin/bugfix/item_cache_flag/ItemStackMixin.java @@ -26,6 +26,15 @@ public class ItemStackMixin { return this.item; } + /** + * @author embeddedt, Mojang + * @reason avoid getItem() + */ + @Redirect(method = "isEmpty", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/ItemStack;is(Lnet/minecraft/world/item/Item;)Z")) + private boolean checkIsDirect(ItemStack stack, Item item) { + return this.item == item; + } + @Redirect(method = "*", at = @At(value = "FIELD", opcode = Opcodes.GETFIELD, target = "Lnet/minecraft/world/item/ItemStack;emptyCacheFlag:Z")) private boolean checkEmptyDirect(ItemStack stack) { return stack.isEmpty();