Skip to content

Commit 56be087

Browse files
committed
Updated QuickShulker
1 parent 4c15412 commit 56be087

4 files changed

Lines changed: 17 additions & 2 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,7 @@ Reports number of waypoints changed.
349349
- When used on an open container, it detects which items were taken (based on inventory slot increases) and transfers only those into the shulker, keeping the rest of your items untouched.
350350
- When used from your own inventory, it simply transfers eligible items according to your filters and mode.
351351
- Supports transfer modes (All / Stackable / Non-stackable) and blacklist / whitelist item lists.
352-
- Protects key hotbar slots (placed shulker and best pickaxe) from being moved or overwritten.
352+
- Protects key hotbar slots (placed shulker and best pickaxe) from being moved or overwritten and optionally can block entire hotbar from being transferred.
353353
- Automatically places a shulker safely nearby, faces it, opens it, deposits items, then breaks and retrieves it.
354354
- Uses safe placement logic and short, latency-aware waits to sync with server timing.
355355
- Ideal for rapid looting, cleanup, or personal inventory compression without manual sorting.

src/main/java/net/wurstclient/clickgui/ClickGui.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ public void init()
252252
}
253253
if(exists)
254254
continue;
255-
255+
256256
final String suffix = " Settings";
257257
if(!title.endsWith(suffix))
258258
continue;

src/main/java/net/wurstclient/hacks/QuickShulkerHack.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,10 @@ public final class QuickShulkerHack extends Hack
7272
"description.wurst.setting.quickshulker.continue_to_next_shulker",
7373
false);
7474

75+
private final CheckboxSetting skipHotbar =
76+
new CheckboxSetting("Skip hotbar",
77+
"description.wurst.setting.quickshulker.skip_hotbar", false);
78+
7579
private final Object workerLock = new Object();
7680
private Thread worker;
7781

@@ -85,6 +89,7 @@ public QuickShulkerHack()
8589
addSetting(blacklist);
8690
addSetting(whitelist);
8791
addSetting(continueToNextShulker);
92+
addSetting(skipHotbar);
8893
}
8994

9095
@Override
@@ -243,6 +248,7 @@ private void runTask() throws InterruptedException
243248
Set<Integer> remainingSlots =
244249
slotsFromChest == null ? null : new HashSet<>(slotsFromChest);
245250

251+
boolean avoidHotbar = skipHotbar.isChecked();
246252
while(true)
247253
{
248254
ItemSwap shulkerSwap =
@@ -311,6 +317,8 @@ private void runTask() throws InterruptedException
311317
{
312318
if(s < 0 || s >= 36)
313319
continue;
320+
if(avoidHotbar && s < 9)
321+
continue;
314322
if(!inv.getItem(s).isEmpty())
315323
{
316324
anyLeft = true;
@@ -356,13 +364,16 @@ private void transferItems(LocalPlayer player,
356364
Inventory inv = player.getInventory();
357365
boolean useBl = useBlacklist.isChecked();
358366
boolean useWl = useWhitelist.isChecked();
367+
boolean avoidHotbar = skipHotbar.isChecked();
359368
for(int slot = 0; slot < 36; slot++)
360369
{
361370
if(Thread.interrupted())
362371
throw new InterruptedException();
363372

364373
if(protectedSlots.contains(slot))
365374
continue;
375+
if(avoidHotbar && slot < 9)
376+
continue;
366377

367378
ItemStack stack = inv.getItem(slot);
368379
if(stack.isEmpty())
@@ -414,13 +425,16 @@ private void transferItemsFromSlots(LocalPlayer player,
414425
Inventory inv = player.getInventory();
415426
boolean useBl = useBlacklist.isChecked();
416427
boolean useWl = useWhitelist.isChecked();
428+
boolean avoidHotbar = skipHotbar.isChecked();
417429
for(int slot : slotsToTransfer)
418430
{
419431
if(Thread.interrupted())
420432
throw new InterruptedException();
421433

422434
if(protectedSlots.contains(slot))
423435
continue;
436+
if(avoidHotbar && slot < 9)
437+
continue;
424438

425439
if(slot < 0 || slot >= 36)
426440
continue;

src/main/resources/assets/wurst/translations/en_us.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -360,6 +360,7 @@
360360
"description.wurst.setting.quickshulker.blacklist": "Items listed here are never placed into the temporary shulker box. Applies whether QuickShulker takes items from your inventory or from an opened container (chest, shulker, etc.).",
361361
"description.wurst.setting.quickshulker.continue_to_next_shulker": "If enabled, QuickShulker will continue placing and filling additional shulker boxes to transfer remaining items taken from the opened container.",
362362
"description.wurst.setting.quickshulker.mode": "Choose whether QuickShulker targets stackable or non-stackable items.",
363+
"description.wurst.setting.quickshulker.skip_hotbar": "If enabled, QuickShulker will never move items from your hotbar into the temporary shulker box.",
363364
"description.wurst.setting.quickshulker.whitelist": "If this list is not empty, only the listed items will be moved into the shulker. Applies to items taken from your inventory or from an opened container.",
364365
"description.wurst.setting.remoteview.filter_allays": "Won't view allays.",
365366
"description.wurst.setting.remoteview.filter_armor_stands": "Won't view armor stands.",

0 commit comments

Comments
 (0)