aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/gui/config/EnumRenderer.kt
blob: a2dee6922dbe55056624d2a5634a48a23761e963 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package moe.nea.firmament.gui.config

import net.minecraft.network.chat.Component

interface EnumRenderer<E : Any> {
	fun getName(option: ManagedOption<E>, value: E): Component

	companion object {
		fun <E : Enum<E>> default() = object : EnumRenderer<E> {
			override fun getName(option: ManagedOption<E>, value: E): Component {
				return Component.translatable(option.rawLabelText + ".choice." + value.name.lowercase())
			}
		}
	}
}