aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/features/macros/HotkeyAction.kt
blob: 011f7972bffcc03dd810d7eeda80c36e2e161791 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package moe.nea.firmament.features.macros

import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
import net.minecraft.text.Text
import moe.nea.firmament.util.MC

@Serializable
sealed interface HotkeyAction {
	// TODO: execute
	val label: Text
	fun execute()
}

@Serializable
@SerialName("command")
data class CommandAction(val command: String) : HotkeyAction {
	override val label: Text
		get() = Text.literal("/$command")

	override fun execute() {
		MC.sendCommand(command)
	}
}

// Mit onscreen anzeige:
// F -> 1 /equipment
// F -> 2 /wardrobe
// Bei Combos: Keys buffern! (für wardrobe hotkeys beispielsweiße)

// Radial menu
// Hold F
// Weight (mach eins doppelt so groß)
// /equipment
// /wardrobe

// Bei allen: Filter!
// - Nur in Dungeons / andere Insel
// - Nur wenn ich Item X im inventar habe (fishing rod)