diff options
| author | hannibal2 <24389977+hannibal002@users.noreply.github.com> | 2024-09-07 07:05:45 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-07 07:05:45 +0200 |
| commit | 02c9ce15e053d5d0751c32ea3ef481c9eef7a904 (patch) | |
| tree | ee7f200d2e4ba2555aaa54b336d3d0ecbc47558f /src/main/java/at/hannibal2/skyhanni/data | |
| parent | 78ce109b8fe6291340067771217b6965d82d76c2 (diff) | |
| download | skyhanni-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.kt | 1 | ||||
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/data/TrackerManager.kt | 31 |
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?") + } + } } |
