summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/data
diff options
context:
space:
mode:
authorhannibal2 <24389977+hannibal002@users.noreply.github.com>2024-09-07 07:05:45 +0200
committerGitHub <noreply@github.com>2024-09-07 07:05:45 +0200
commit02c9ce15e053d5d0751c32ea3ef481c9eef7a904 (patch)
treeee7f200d2e4ba2555aaa54b336d3d0ecbc47558f /src/main/java/at/hannibal2/skyhanni/data
parent78ce109b8fe6291340067771217b6965d82d76c2 (diff)
downloadskyhanni-02c9ce15e053d5d0751c32ea3ef481c9eef7a904.tar.gz
skyhanni-02c9ce15e053d5d0751c32ea3ef481c9eef7a904.tar.bz2
skyhanni-02c9ce15e053d5d0751c32ea3ef481c9eef7a904.zip
Feature: /shedittracker (#2448)
Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com>
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/data')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/ItemAddManager.kt1
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/TrackerManager.kt31
2 files changed, 32 insertions, 0 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/data/ItemAddManager.kt b/src/main/java/at/hannibal2/skyhanni/data/ItemAddManager.kt
index 26658eee7..4906f5f80 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/ItemAddManager.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/ItemAddManager.kt
@@ -25,6 +25,7 @@ object ItemAddManager {
enum class Source {
ITEM_ADD,
SACKS,
+ COMMAND,
}
private val ARCHFIEND_DICE = "ARCHFIEND_DICE".asInternalName()
diff --git a/src/main/java/at/hannibal2/skyhanni/data/TrackerManager.kt b/src/main/java/at/hannibal2/skyhanni/data/TrackerManager.kt
index 71b60d76e..c1a7a60c3 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/TrackerManager.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/TrackerManager.kt
@@ -3,8 +3,12 @@ package at.hannibal2.skyhanni.data
import at.hannibal2.skyhanni.SkyHanniMod
import at.hannibal2.skyhanni.events.ConfigLoadEvent
import at.hannibal2.skyhanni.events.GuiRenderEvent
+import at.hannibal2.skyhanni.events.ItemAddEvent
import at.hannibal2.skyhanni.skyhannimodule.SkyHanniModule
+import at.hannibal2.skyhanni.utils.ChatUtils
import at.hannibal2.skyhanni.utils.ConditionalUtils
+import at.hannibal2.skyhanni.utils.NEUInternalName
+import at.hannibal2.skyhanni.utils.NumberUtil.formatIntOrUserError
import net.minecraftforge.fml.common.eventhandler.EventPriority
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
@@ -13,6 +17,7 @@ object TrackerManager {
private var hasChanged = false
var dirty = false
+ var commandEditTrackerSuccess = false
@SubscribeEvent
fun onConfigLoad(event: ConfigLoadEvent) {
@@ -36,4 +41,30 @@ object TrackerManager {
hasChanged = false
}
}
+
+ fun commandEditTracker(args: Array<String>) {
+ if (args.size < 2) {
+ ChatUtils.userError("Usage: /shedittracker <item name> <amount>")
+ return
+ }
+
+ val amount = args.last().formatIntOrUserError() ?: return
+ if (amount == 0) {
+ ChatUtils.userError("Amount can not be zero!")
+ return
+ }
+
+ val rawName = args.dropLast(1).joinToString(" ")
+ val internalName = NEUInternalName.fromItemNameOrInternalName(rawName)
+ if (!internalName.isKnownItem()) {
+ ChatUtils.chat("No item found for '$rawName'!")
+ return
+ }
+
+ commandEditTrackerSuccess = false
+ ItemAddEvent(internalName, amount, ItemAddManager.Source.COMMAND).postAndCatch()
+ if (!commandEditTrackerSuccess) {
+ ChatUtils.userError("Could not edit the Item Tracker! Does this item belong to this tracker? Is the tracker active right now?")
+ }
+ }
}