diff options
author | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2023-07-01 22:11:10 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-01 22:11:10 -0400 |
commit | 55b777dd07087569d7c3565de5cf4808c70eadb9 (patch) | |
tree | 4040d6310dcf6653bf3c419a0fcd5d3fe3342a7f /src/main/java/me/xmrvizzy/skyblocker/mixin | |
parent | 8a844aa312e5a5153a38478df70a099d23ba32ca (diff) | |
download | Skyblocker-55b777dd07087569d7c3565de5cf4808c70eadb9.tar.gz Skyblocker-55b777dd07087569d7c3565de5cf4808c70eadb9.tar.bz2 Skyblocker-55b777dd07087569d7c3565de5cf4808c70eadb9.zip |
Fix dragged items not rendering (#193)
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/mixin')
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java index aefe11c6..903d3992 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java @@ -63,22 +63,22 @@ public abstract class HandledScreenMixin extends Screen { @Redirect(method = "drawMouseoverTooltip", at = @At(value = "INVOKE", target = "Lnet/minecraft/screen/slot/Slot;getStack()Lnet/minecraft/item/ItemStack;", ordinal = 0)) private ItemStack skyblocker$experimentSolvers$replaceTooltipDisplayStack(Slot slot) { - return skyblocker$experimentSolvers$getStack(slot); + return skyblocker$experimentSolvers$getStack(slot, null); } @ModifyVariable(method = "drawSlot", at = @At(value = "LOAD", ordinal = 4), ordinal = 0) private ItemStack skyblocker$experimentSolvers$replaceDisplayStack(ItemStack stack, DrawContext context, Slot slot) { - return skyblocker$experimentSolvers$getStack(slot); + return skyblocker$experimentSolvers$getStack(slot, stack); } @Unique - private ItemStack skyblocker$experimentSolvers$getStack(Slot slot) { + private ItemStack skyblocker$experimentSolvers$getStack(Slot slot, ItemStack stack) { ContainerSolver currentSolver = SkyblockerMod.getInstance().containerSolverManager.getCurrentSolver(); if ((currentSolver instanceof SuperpairsSolver || currentSolver instanceof UltrasequencerSolver) && ((ExperimentSolver) currentSolver).getState() == ExperimentSolver.State.SHOW && slot.inventory instanceof SimpleInventory) { ItemStack itemStack = ((ExperimentSolver) currentSolver).getSlots().get(slot.getIndex()); return itemStack == null ? slot.getStack() : itemStack; } - return slot.getStack(); + return (stack != null) ? stack : slot.getStack(); } @Inject(method = "onMouseClick(Lnet/minecraft/screen/slot/Slot;IILnet/minecraft/screen/slot/SlotActionType;)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/network/ClientPlayerInteractionManager;clickSlot(IIILnet/minecraft/screen/slot/SlotActionType;Lnet/minecraft/entity/player/PlayerEntity;)V")) |