aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/com/ambientaddons/commands
diff options
context:
space:
mode:
authorAppability <appable@icloud.com>2022-11-12 02:48:54 -0800
committerAppability <appable@icloud.com>2022-11-12 02:48:54 -0800
commit2b21d3a18b412ec8c205beacf403f0147dc04618 (patch)
tree7aaeda1956b03ba5b0e53cdf575663e3d68a34d2 /src/main/kotlin/com/ambientaddons/commands
parent8ec0ce4c645b3fb94c25cde9922f853a992b3fa7 (diff)
downloadAmbientAddons-2b21d3a18b412ec8c205beacf403f0147dc04618.tar.gz
AmbientAddons-2b21d3a18b412ec8c205beacf403f0147dc04618.tar.bz2
AmbientAddons-2b21d3a18b412ec8c205beacf403f0147dc04618.zip
add autosalvage
Diffstat (limited to 'src/main/kotlin/com/ambientaddons/commands')
-rw-r--r--src/main/kotlin/com/ambientaddons/commands/AmbientCommand.kt1
-rw-r--r--src/main/kotlin/com/ambientaddons/commands/SalvageCommand.kt47
2 files changed, 48 insertions, 0 deletions
diff --git a/src/main/kotlin/com/ambientaddons/commands/AmbientCommand.kt b/src/main/kotlin/com/ambientaddons/commands/AmbientCommand.kt
index e86f137..9ba1988 100644
--- a/src/main/kotlin/com/ambientaddons/commands/AmbientCommand.kt
+++ b/src/main/kotlin/com/ambientaddons/commands/AmbientCommand.kt
@@ -22,6 +22,7 @@ class AmbientCommand : CommandBase() {
null -> AmbientAddons.currentGui = Config.gui()
"location" -> UChat.chat(SBLocation.toString().withModPrefix())
"buy" -> AutoBuyCommand.processCommand(args.drop(1))
+ "salvage" -> SalvageCommand.processCommand(args.drop(1))
else -> UChat.chat("§cUnknown argument!")
}
}
diff --git a/src/main/kotlin/com/ambientaddons/commands/SalvageCommand.kt b/src/main/kotlin/com/ambientaddons/commands/SalvageCommand.kt
new file mode 100644
index 0000000..0d11e79
--- /dev/null
+++ b/src/main/kotlin/com/ambientaddons/commands/SalvageCommand.kt
@@ -0,0 +1,47 @@
+package com.ambientaddons.commands
+
+import AmbientAddons.Companion.persistentData
+import com.ambientaddons.utils.Extensions.withModPrefix
+import com.ambientaddons.utils.SalvageStrategy
+import gg.essential.universal.UChat
+
+object SalvageCommand {
+ fun processCommand(args: List<String>) {
+ when (args.getOrNull(0)) {
+ "auto" -> {
+ val item = args[1]
+ val added = persistentData.salvageMap.put(item, SalvageStrategy.Always) != SalvageStrategy.Always
+ persistentData.save()
+ UChat.chat((if (added) "§aAdded item §a§l${item}." else "§cItem already added.").withModPrefix())
+ }
+ "allow" -> {
+ val item = args[1]
+ val allowed = persistentData.salvageMap.put(item, SalvageStrategy.Allow) != SalvageStrategy.Allow
+ persistentData.save()
+ UChat.chat((if (allowed) "§aAllowing item §a§l${item}." else "§cItem already allowed.").withModPrefix())
+ }
+ "remove" -> {
+ val item = args[1]
+ val removed = persistentData.salvageMap.remove(item) != null
+ persistentData.save()
+ UChat.chat((if (removed) "§aRemoving item §a§l${item}." else "§cItem not in list.").withModPrefix())
+ }
+ "list" -> {
+ UChat.chat("§2§lItems §7(§aalways salvage, §callow salvaging§7)".withModPrefix())
+ persistentData.salvageMap.forEach {
+ if (it.value == SalvageStrategy.Always) {
+ UChat.chat(" §a${it.key}")
+ } else {
+ UChat.chat(" §e${it.key}")
+ }
+ }
+ }
+ else -> {
+ UChat.chat("§2§lUsage".withModPrefix())
+ UChat.chat(" §aAlways salvage item: §b/ambient salvage auto <Skyblock ID>")
+ UChat.chat(" §aAllow salvaging item: §b/ambient salvage allow <Skyblock ID>")
+ UChat.chat(" §aBlock salvaging item: §b/ambient remove <Skyblock ID>")
+ }
+ }
+ }
+} \ No newline at end of file