diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/mining/MiningConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/mining/MiningConfig.java index 5f242ecd5f47..08c8ec894a71 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/features/mining/MiningConfig.java +++ b/src/main/java/at/hannibal2/skyhanni/config/features/mining/MiningConfig.java @@ -96,10 +96,4 @@ public class MiningConfig { @ConfigEditorBoolean @FeatureToggle public boolean highlightYourGoldenGoblin = true; - - @Expose - @ConfigOption(name = "Forge GfS", desc = "Get Forge ingredients of a recipe.") - @ConfigEditorBoolean - @FeatureToggle - public boolean forgeGfs = false; } diff --git a/src/main/java/at/hannibal2/skyhanni/features/mining/ForgeGfs.kt b/src/main/java/at/hannibal2/skyhanni/features/mining/ForgeGfs.kt deleted file mode 100644 index 995198674334..000000000000 --- a/src/main/java/at/hannibal2/skyhanni/features/mining/ForgeGfs.kt +++ /dev/null @@ -1,94 +0,0 @@ -package at.hannibal2.skyhanni.features.mining - -import at.hannibal2.skyhanni.SkyHanniMod -import at.hannibal2.skyhanni.api.GetFromSackAPI -import at.hannibal2.skyhanni.data.SackAPI -import at.hannibal2.skyhanni.events.GuiContainerEvent -import at.hannibal2.skyhanni.events.InventoryCloseEvent -import at.hannibal2.skyhanni.events.InventoryUpdatedEvent -import at.hannibal2.skyhanni.events.render.gui.ReplaceItemEvent -import at.hannibal2.skyhanni.skyhannimodule.SkyHanniModule -import at.hannibal2.skyhanni.utils.CollectionUtils -import at.hannibal2.skyhanni.utils.CollectionUtils.addOrPut -import at.hannibal2.skyhanni.utils.ItemUtils -import at.hannibal2.skyhanni.utils.ItemUtils.getInternalNameOrNull -import at.hannibal2.skyhanni.utils.LorenzUtils -import at.hannibal2.skyhanni.utils.NEUInternalName -import at.hannibal2.skyhanni.utils.PrimitiveItemStack.Companion.makePrimitiveStack -import at.hannibal2.skyhanni.utils.RegexUtils.matches -import at.hannibal2.skyhanni.utils.repopatterns.RepoPattern -import net.minecraft.client.player.inventory.ContainerLocalMenu -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent - -@SkyHanniModule -object ForgeGfs { - - private val patternGroup = RepoPattern.group("mining.forge") - - private val confirmScreenPattern by patternGroup.pattern( - "recipe.confirm", - "Confirm Process", - ) - - private val config get() = SkyHanniMod.feature.mining - - private val gfsFakeItem by lazy { - ItemUtils.createSkull( - displayName = "§aGet items from sacks", - uuid = "75ea8094-5152-4457-8c23-1ad9b3c176c0", - value = "ewogICJ0aW1lc3RhbXAiIDogMTU5MTMxMDU4NTYwOSwKICAicHJvZmlsZUlkIiA6ICI0MWQzYWJjMmQ3NDk0MDBjOTA5MGQ1NDM0ZDAzODMxYiIsC" + - "iAgInByb2ZpbGVOYW1lIiA6ICJNZWdha2xvb24iLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogI" + - "CJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3" + - "RleHR1cmUvODBhMDc3ZTI0OGQxNDI3NzJlYTgwMDg2NGY4YzU3OGI5ZDM2ODg1YjI5ZGFmODM2YjY0YTcwNjg4MmI2ZWMxMCIKICAgIH0KICB9Cn0=", - "§8(from SkyHanni)", - "§7Click here to try to get all of this", - "§7recipe's ingredients from sacks.", - ) - } - - private var showFakeItem = false - - @SubscribeEvent - fun onInventoryOpen(event: InventoryUpdatedEvent) { - if (!isEnabled()) return - if (!confirmScreenPattern.matches(event.inventoryName)) return - - showFakeItem = true - } - - @SubscribeEvent - fun onInventoryClose(event: InventoryCloseEvent) { - showFakeItem = false - } - - @SubscribeEvent - fun replaceItem(event: ReplaceItemEvent) { - if (event.inventory is ContainerLocalMenu && showFakeItem && event.slot == 53) { - event.replace(gfsFakeItem) - } - } - - @SubscribeEvent - fun onSlotClick(event: GuiContainerEvent.SlotClickEvent) { - if (!isEnabled()) return - if (!showFakeItem || event.slotId != 53) return - - event.cancel() - - val itemMap: MutableMap = LinkedHashMap() - // Search for the first 4 columns only - // Normally would be 3, but the gemstone mixture is the only one that overflows to 4 - - for (i in CollectionUtils.takeColumn(0, 53, 0, 4)) { - val currentItem = event.container.getSlot(i).stack - val currItemInternalName = currentItem.getInternalNameOrNull() ?: continue - if (SackAPI.sackListInternalNames.contains(currItemInternalName.asString())) { - itemMap.addOrPut(currItemInternalName, currentItem.stackSize) - } - } - - GetFromSackAPI.getFromSack(itemMap.map { it.key.makePrimitiveStack(it.value) }) - } - - fun isEnabled() = LorenzUtils.inSkyBlock && config.forgeGfs -}