aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/customtypes/NEUDebugFlag.java1
-rw-r--r--src/main/kotlin/io/github/moulberry/notenoughupdates/recipes/generators/ItemShopExporter.kt10
2 files changed, 10 insertions, 1 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/customtypes/NEUDebugFlag.java b/src/main/java/io/github/moulberry/notenoughupdates/options/customtypes/NEUDebugFlag.java
index 90ef93bb..ab1a6516 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/customtypes/NEUDebugFlag.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/customtypes/NEUDebugFlag.java
@@ -32,6 +32,7 @@ public enum NEUDebugFlag {
MAP("Dungeon Map Player Information"),
SEARCH("SearchString Matches"),
API_CACHE("Api Cache"),
+ ALWAYS_EXPORT_SHOPS("Always export shops even without buy back slot"),
;
private final String description;
diff --git a/src/main/kotlin/io/github/moulberry/notenoughupdates/recipes/generators/ItemShopExporter.kt b/src/main/kotlin/io/github/moulberry/notenoughupdates/recipes/generators/ItemShopExporter.kt
index e2673125..9cf98e25 100644
--- a/src/main/kotlin/io/github/moulberry/notenoughupdates/recipes/generators/ItemShopExporter.kt
+++ b/src/main/kotlin/io/github/moulberry/notenoughupdates/recipes/generators/ItemShopExporter.kt
@@ -20,6 +20,7 @@
package io.github.moulberry.notenoughupdates.recipes.generators
import com.google.auto.service.AutoService
+import io.github.moulberry.notenoughupdates.options.customtypes.NEUDebugFlag
import io.github.moulberry.notenoughupdates.recipes.Ingredient
import io.github.moulberry.notenoughupdates.recipes.ItemShopRecipe
import io.github.moulberry.notenoughupdates.util.ItemUtils
@@ -131,7 +132,14 @@ class ItemShopExporter : RepoExporter {
}
override fun canExport(gui: GuiScreen): Boolean {
- return gui is GuiChest
+ if (NEUDebugFlag.ALWAYS_EXPORT_SHOPS.isSet) return true
+ if (gui !is GuiChest) return false
+ val buyBackSlot = 4 + 9 * 5
+ val stacks = gui.inventorySlots.inventory
+ if (buyBackSlot !in stacks.indices) return false
+ val buyBackStack = stacks[buyBackSlot] ?: return false
+ return Utils.cleanColour(buyBackStack.displayName) == "Sell Item" ||
+ ItemUtils.getLore(buyBackStack).any { Utils.cleanColour(it) == "Click to buyback!" }
}
override val name: String