Skip to content

Commit 1349a0b

Browse files
committed
maybe v2
1 parent 6afc898 commit 1349a0b

2 files changed

Lines changed: 11 additions & 11 deletions

File tree

src/main/java/de/hysky/skyblocker/mixins/AbstractContainerScreenMixin.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,9 @@ protected AbstractContainerScreenMixin(Component title) {
131131
//item protection
132132
if (ItemProtection.itemProtection.matches(input)) {
133133
ItemProtection.itemProtection.consumeClick();
134-
if (this.hoveredSlot.container == this.minecraft.player.getInventory()) {
134+
boolean ownItem = this.hoveredSlot.container == this.minecraft.player.getInventory()
135+
|| ItemProtection.isPersonalStorage(this.getTitle().getString());
136+
if (ownItem) {
135137
ItemProtection.handleKeyPressed(this.hoveredSlot.getItem());
136138
}
137139
}

src/main/java/de/hysky/skyblocker/skyblock/item/ItemProtection.java

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import de.hysky.skyblocker.SkyblockerMod;
66
import de.hysky.skyblocker.annotations.Init;
77
import de.hysky.skyblocker.config.SkyblockerConfigManager;
8-
import de.hysky.skyblocker.mixins.accessors.AbstractContainerScreenAccessor;
98
import de.hysky.skyblocker.utils.Constants;
109
import de.hysky.skyblocker.utils.Location;
1110
import de.hysky.skyblocker.utils.Utils;
@@ -17,15 +16,13 @@
1716
import net.minecraft.client.KeyMapping;
1817
import net.minecraft.client.Minecraft;
1918
import net.minecraft.client.gui.GuiGraphicsExtractor;
20-
import net.minecraft.client.gui.screens.Screen;
2119
import net.minecraft.client.player.LocalPlayer;
2220
import net.minecraft.client.renderer.RenderPipelines;
2321
import net.minecraft.commands.CommandBuildContext;
2422
import net.minecraft.network.chat.Component;
2523
import net.minecraft.resources.Identifier;
2624
import net.minecraft.world.InteractionHand;
2725
import net.minecraft.world.InteractionResult;
28-
import net.minecraft.world.inventory.Slot;
2926
import net.minecraft.world.entity.Entity;
3027
import net.minecraft.world.entity.decoration.ItemFrame;
3128
import net.minecraft.world.entity.player.Player;
@@ -127,19 +124,20 @@ public static void handleKeyPressed(ItemStack heldItem) {
127124
}
128125

129126
public static void handleHotbarKeyPressed(LocalPlayer player) {
130-
Screen currentScreen = Minecraft.getInstance().screen;
131-
if (currentScreen instanceof AbstractContainerScreenAccessor containerScreen) {
132-
Slot hoveredSlot = containerScreen.getFocusedSlot();
133-
if (hoveredSlot == null || hoveredSlot.container != player.getInventory()) return;
134-
} else if (currentScreen != null) {
135-
return;
136-
}
137127
while (itemProtection.consumeClick()) {
138128
ItemStack heldItem = player.getMainHandItem();
139129
handleKeyPressed(heldItem);
140130
}
141131
}
142132

133+
public static boolean isPersonalStorage(String screenTitle) {
134+
return screenTitle.equals("Storage") || screenTitle.startsWith("Storage (")
135+
|| screenTitle.equals("Rift Storage") || screenTitle.startsWith("Rift Storage (")
136+
|| screenTitle.startsWith("Ender Chest")
137+
|| screenTitle.startsWith("Chest")
138+
|| (screenTitle.contains("Backpack") && screenTitle.contains("(Slot #"));
139+
}
140+
143141
private static InteractionResult onEntityInteract(Player playerEntity, Level world, InteractionHand hand, Entity entity, @Nullable EntityHitResult entityHitResult) {
144142
if (!Utils.isOnSkyblock() || !world.isClientSide()) return InteractionResult.PASS;
145143

0 commit comments

Comments
 (0)