diff options
author | alemi <me@alemi.dev> | 2023-11-26 00:07:22 +0100 |
---|---|---|
committer | alemi <me@alemi.dev> | 2023-11-26 00:07:22 +0100 |
commit | 63cfbaa56ccf67da7b65cf058a68a4b843af5748 (patch) | |
tree | 521310097a50e50e883af8d9da113f79590d2a00 /src | |
parent | aebd63ac13f2e613a6d5a13ee9aff8740bf43c9e (diff) |
feat[containercleaner]: throw whole stacks
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/ftbsc/bscv/modules/self/ContainerCleaner.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/main/java/ftbsc/bscv/modules/self/ContainerCleaner.java b/src/main/java/ftbsc/bscv/modules/self/ContainerCleaner.java index 059c4bb..c53fed0 100644 --- a/src/main/java/ftbsc/bscv/modules/self/ContainerCleaner.java +++ b/src/main/java/ftbsc/bscv/modules/self/ContainerCleaner.java @@ -24,6 +24,7 @@ public class ContainerCleaner extends AbstractModule { public final ForgeConfigSpec.ConfigValue<Integer> cooldown; public final ForgeConfigSpec.ConfigValue<Boolean> limit; + public final ForgeConfigSpec.ConfigValue<Boolean> all; public final ForgeConfigSpec.ConfigValue<List<? extends Integer>> blacklist; private int counter; @@ -43,6 +44,12 @@ public class ContainerCleaner extends AbstractModule { .comment("limit to one action per tick") .build(this); + this.all = Setting.Bool.builder() + .fallback(true) + .name("all") + .comment("throw whole stacks instead of single items") + .build(this); + this.blacklist = new Setting.Many<ItemInput, Integer>(ItemArgument.item(), ItemInput.class) .writer(x -> Item.getId(x.getItem())) .fallback(new ArrayList<Integer>()) @@ -62,7 +69,8 @@ public class ContainerCleaner extends AbstractModule { ContainerScreen<?> screen = (ContainerScreen<?>) MC.screen; for (Slot slot : screen.getMenu().slots) { if (this.blacklist.get().contains(Item.getId(slot.getItem().getItem()))) { - Inventory.clickSlot(screen.getMenu().containerId, slot.index, ClickType.THROW); + int button = this.all.get() ? 1 : 0; + Inventory.clickSlot(screen.getMenu().containerId, slot.index, button, ClickType.THROW); this.counter = this.cooldown.get(); if (this.limit.get()) return; // only throw one item per tick } |