From a04611932446a537f83394f11bf6564429b6c8a2 Mon Sep 17 00:00:00 2001 From: Abdulaziz <127992888+0hwx@users.noreply.github.com> Date: Thu, 6 Feb 2025 18:09:45 +0300 Subject: [PATCH] BetterStorage+Fix-Dupe (#62) --- dependencies.gradle | 1 + .../bogosorter/ShortcutHandler.java | 11 ++++++++++- .../bogosorter/compat/DefaultCompat.java | 18 +++++++++++++++++- .../bogosorter/compat/loader/Mods.java | 2 ++ 4 files changed, 30 insertions(+), 2 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index 83e0d75..a80514d 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -83,5 +83,6 @@ dependencies { compileOnly rfg.deobf('curse.maven:industrial-craft-242638:2353971') compileOnly rfg.deobf('curse.maven:extra-utilities-225561:2264383') compileOnly rfg.deobf('curse.maven:hbms-nuclear-tech-mod-235439:6028711') + compileOnly rfg.deobf('curse.maven:better-storage-232919:2248061') } diff --git a/src/main/java/com/cleanroommc/bogosorter/ShortcutHandler.java b/src/main/java/com/cleanroommc/bogosorter/ShortcutHandler.java index 633d990..d4f9b64 100644 --- a/src/main/java/com/cleanroommc/bogosorter/ShortcutHandler.java +++ b/src/main/java/com/cleanroommc/bogosorter/ShortcutHandler.java @@ -14,8 +14,10 @@ import com.cleanroommc.bogosorter.common.network.NetworkHandler; import com.cleanroommc.bogosorter.common.sort.GuiSortingContext; import com.cleanroommc.bogosorter.common.sort.SlotGroup; +import com.cleanroommc.bogosorter.compat.loader.Mods; import com.cleanroommc.modularui.utils.item.ItemHandlerHelper; +import codechicken.lib.inventory.SlotDummy; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -56,7 +58,7 @@ public static void moveItemStack(EntityPlayer player, Container container, ISlot List otherSlots = new ArrayList<>(); boolean isPlayer = BogoSortAPI.isPlayerSlot(slot); for (Slot slot1 : container.inventorySlots) { - if (isPlayer != BogoSortAPI.isPlayerSlot(slot1)) { + if (isPlayer != BogoSortAPI.isPlayerSlot(slot1) && isPlayer != SlotDummy(slot1)) { otherSlots.add(BogoSortAPI.INSTANCE.getSlot(slot1)); } } @@ -180,4 +182,11 @@ public static ItemStack insert(ISlot slot, ItemStack stack, boolean emptyOnly) { } return stack; } + + public static boolean SlotDummy(Slot slot) { + if (Mods.CodeChickenCore.isLoaded() && slot instanceof SlotDummy) { + return true; + } + return false; + } } diff --git a/src/main/java/com/cleanroommc/bogosorter/compat/DefaultCompat.java b/src/main/java/com/cleanroommc/bogosorter/compat/DefaultCompat.java index 3f98c45..43d11a8 100644 --- a/src/main/java/com/cleanroommc/bogosorter/compat/DefaultCompat.java +++ b/src/main/java/com/cleanroommc/bogosorter/compat/DefaultCompat.java @@ -7,6 +7,8 @@ import net.blay09.mods.cookingforblockheads.container.ContainerCounter; import net.blay09.mods.cookingforblockheads.container.ContainerFridge; +import net.mcft.copy.betterstorage.container.ContainerBetterStorage; +import net.mcft.copy.betterstorage.container.ContainerCraftingStation; import net.minecraft.inventory.ContainerChest; import net.minecraft.inventory.ContainerDispenser; import net.minecraft.inventory.ContainerHopper; @@ -317,6 +319,20 @@ public static void init(IBogoSortAPI api) { api.addCompat(ContainerSafe.class, (container, builder) -> { builder.addSlotGroup(0, 15, 5); }); } - + if (BetterStorage.isLoaded()) { + api.addCompat( + ContainerCraftingStation.class, + (container, builder) -> { + builder.addSlotGroup(18, 36, 9) + .buttonPosSetter(IPosSetter.TOP_RIGHT_VERTICAL); + }); + api.addCompat( + net.mcft.copy.betterstorage.container.ContainerCrate.class, + (container, builder) -> { + builder.addGenericSlotGroup() + .buttonPosSetter(IPosSetter.TOP_RIGHT_VERTICAL); + }); + api.addGenericCompat(ContainerBetterStorage.class); + } } } diff --git a/src/main/java/com/cleanroommc/bogosorter/compat/loader/Mods.java b/src/main/java/com/cleanroommc/bogosorter/compat/loader/Mods.java index 82aec20..55e7cc5 100644 --- a/src/main/java/com/cleanroommc/bogosorter/compat/loader/Mods.java +++ b/src/main/java/com/cleanroommc/bogosorter/compat/loader/Mods.java @@ -11,7 +11,9 @@ public enum Mods { AvaritiaAddons("avaritiaddons"), Backhand("backhand"), Backpack("Backpack"), + BetterStorage("betterstorage"), Bibliocraft("BiblioCraft"), + CodeChickenCore("CodeChickenCore"), CookingForBlockheads("cookingforblockheads"), DraconicEvolution("DraconicEvolution"), EnderStorage("EnderStorage"),