From 02c9ce15e053d5d0751c32ea3ef481c9eef7a904 Mon Sep 17 00:00:00 2001 From: hannibal2 <24389977+hannibal002@users.noreply.github.com> Date: Sat, 7 Sep 2024 07:05:45 +0200 Subject: Feature: /shedittracker (#2448) Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com> --- .../at/hannibal2/skyhanni/data/ItemAddManager.kt | 1 + .../at/hannibal2/skyhanni/data/TrackerManager.kt | 31 ++++++++++++++++++++++ 2 files changed, 32 insertions(+) (limited to 'src/main/java/at/hannibal2/skyhanni/data') 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) { + if (args.size < 2) { + ChatUtils.userError("Usage: /shedittracker ") + 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?") + } + } } -- cgit