Incomplete port to 22w16b
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
This commit is contained in:
parent
0a2175c2e1
commit
3d5b6133e5
|
@ -2,9 +2,11 @@ package fr.username404.snowygui
|
|||
|
||||
import fr.username404.snowygui.config.Configuration
|
||||
import fr.username404.snowygui.gui.feature.ButtonImpl
|
||||
import fr.username404.snowygui.gui.feature.ButtonImpl.Companion.initButtons
|
||||
import fr.username404.snowygui.gui.feature.ButtonInfo
|
||||
import fr.username404.snowygui.misc.AddKeyMaps
|
||||
import net.minecraft.network.chat.TranslatableComponent
|
||||
import net.minecraft.network.chat.Component
|
||||
import net.minecraft.network.chat.Component.translatable
|
||||
import org.apache.logging.log4j.LogManager
|
||||
import org.apache.logging.log4j.Logger
|
||||
import java.lang.reflect.Modifier
|
||||
|
@ -16,7 +18,7 @@ abstract class Snowy {
|
|||
abstract val annotatedButtons: Set<Class<out ButtonImpl>>
|
||||
companion object {
|
||||
@Suppress("NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS")
|
||||
object MissingComponent: TranslatableComponent(null) { override fun getString(): String = "MISSING_COMPONENT" }
|
||||
val MissingComponent: Component = translatable("MISSING_COMPONENT")
|
||||
@Suppress("JVM_STATIC_ON_CONST_OR_JVM_FIELD") // See KT-39868
|
||||
@JvmStatic
|
||||
protected const val FeaturePackage: String = "fr.username404.snowygui.gui.feature"
|
||||
|
|
|
@ -13,16 +13,16 @@ import fr.username404.snowygui.gui.feature.Keystrokes
|
|||
import fr.username404.snowygui.gui.feature.Zoom
|
||||
import net.minecraft.client.gui.screens.Screen
|
||||
import net.minecraft.network.chat.Component
|
||||
import net.minecraft.network.chat.TranslatableComponent
|
||||
import net.minecraft.network.chat.Component.translatable
|
||||
import java.util.Optional
|
||||
|
||||
private const val confPrefix: String = "screen.snowy.config"
|
||||
private val translationComponent = TranslatableComponent(confPrefix)
|
||||
private val translationComponent = translatable(confPrefix)
|
||||
|
||||
var configScreenParent: Screen? = null
|
||||
|
||||
private fun supplyComponent(string: String?): Optional<Component> = string?.run {
|
||||
Optional.of(TranslatableComponent(string))
|
||||
Optional.of(translatable(string))
|
||||
} ?: Optional.empty()
|
||||
|
||||
val SnowyConfigScreen: Screen = object: Screen(translationComponent) {
|
||||
|
@ -47,20 +47,20 @@ val SnowyConfigScreen: Screen = object: Screen(translationComponent) {
|
|||
.setShouldListSmoothScroll(true)
|
||||
.setTitle(translationComponent).apply {
|
||||
with(entryBuilder()) {
|
||||
getOrCreateCategory(TranslatableComponent("$confPrefix.general")).addEntry(startSubCategory(TranslatableComponent("$confPrefix.behavior")).apply {
|
||||
getOrCreateCategory(translatable("$confPrefix.general")).addEntry(startSubCategory(translatable("$confPrefix.behavior")).apply {
|
||||
addAll(
|
||||
setOf(
|
||||
startBooleanToggle(TranslatableComponent("$confPrefix.behavior.sortalphabetically"), sortAlphabetically)
|
||||
startBooleanToggle(translatable("$confPrefix.behavior.sortalphabetically"), sortAlphabetically)
|
||||
.setDefaultValue(true).requireRestart()
|
||||
.setSaveConsumer { sortAlphabetically = it }.build(),
|
||||
startDoubleField(TranslatableComponent("$confPrefix.behavior.zoom.factor"), Zoom.zoomFactor).setSaveConsumer {
|
||||
startDoubleField(translatable("$confPrefix.behavior.zoom.factor"), Zoom.zoomFactor).setSaveConsumer {
|
||||
Zoom.zoomFactor = it
|
||||
}.setMin(1.1).build(),
|
||||
startBooleanToggle(TranslatableComponent("$confPrefix.behavior.zoom.smoothcamera"), Zoom.smoothCameraOnZoom).setSaveConsumer {
|
||||
startBooleanToggle(translatable("$confPrefix.behavior.zoom.smoothcamera"), Zoom.smoothCameraOnZoom).setSaveConsumer {
|
||||
Zoom.smoothCameraOnZoom = it
|
||||
Zoom.execAction()
|
||||
}.build(),
|
||||
startEnumSelector(TranslatableComponent("$confPrefix.behavior.keystrokes.position"), Keystrokes.Position::class.java, Keystrokes.Position.values().find {
|
||||
startEnumSelector(translatable("$confPrefix.behavior.keystrokes.position"), Keystrokes.Position::class.java, Keystrokes.Position.values().find {
|
||||
it.value == Keystrokes.currentPosition
|
||||
}).setSaveConsumer {
|
||||
Keystrokes.currentPosition = it.value
|
||||
|
@ -68,7 +68,7 @@ val SnowyConfigScreen: Screen = object: Screen(translationComponent) {
|
|||
)
|
||||
)
|
||||
}.build())
|
||||
.addEntry(startSubCategory(TranslatableComponent("$confPrefix.colors")).also { builder ->
|
||||
.addEntry(startSubCategory(translatable("$confPrefix.colors")).also { builder ->
|
||||
builder.addAll(
|
||||
ClickGui.clickBoxes.map { box ->
|
||||
startColorField(box.name, box.color).setSaveConsumer {
|
||||
|
@ -77,7 +77,7 @@ val SnowyConfigScreen: Screen = object: Screen(translationComponent) {
|
|||
}
|
||||
)
|
||||
}.build()).addEntry(startStrList(
|
||||
TranslatableComponent(Category.MACROS.translationKey),
|
||||
Category.MACROS.box.name,
|
||||
macrosButtons.getTitleCommand()
|
||||
).setInsertInFront(false).setDefaultValue(Configuration.foundMacros.getTitleCommand()).setErrorSupplier { list ->
|
||||
supplyComponent(if (list.size > buttonsMax) "$confPrefix.general.macros.toomuchbuttons" else null)
|
||||
|
@ -93,7 +93,7 @@ val SnowyConfigScreen: Screen = object: Screen(translationComponent) {
|
|||
}
|
||||
)
|
||||
}
|
||||
}.setTooltip(TranslatableComponent("$confPrefix.general.macros.tooltip")).setSaveConsumer { it.forEach { string ->
|
||||
}.setTooltip(translatable("$confPrefix.general.macros.tooltip")).setSaveConsumer { it.forEach { string ->
|
||||
with(string.split(":")) {
|
||||
if (size == 2) Macro(title = component1().trimStart(), command = component2().trim()).let { newMacro ->
|
||||
macrosButtons.removeIf { existingMacro ->
|
||||
|
|
|
@ -29,6 +29,8 @@ import kotlinx.serialization.ExperimentalSerializationApi
|
|||
import kotlinx.serialization.decodeFromString
|
||||
import kotlinx.serialization.encodeToString
|
||||
import kotlinx.serialization.json.Json
|
||||
import net.minecraft.network.chat.MutableComponent
|
||||
import net.minecraft.network.chat.contents.TranslatableContents
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
import kotlin.reflect.KClass
|
||||
import kotlin.reflect.full.isSuperclassOf
|
||||
|
@ -46,9 +48,9 @@ object Configuration {
|
|||
}
|
||||
},
|
||||
"box_colors" to mapOf<String, Int>(*ClickGui.clickBoxes.filter { box ->
|
||||
(box.name.key != MissingComponent.key) && Category.fromBox(box)?.categoryColor != box.color
|
||||
((box.name.contents as TranslatableContents).key != (MissingComponent.contents as TranslatableContents).key) && Category.fromBox(box)?.categoryColor != box.color
|
||||
}.map {
|
||||
it.name.key to it.color
|
||||
(it.name as TranslatableContents).key to it.color
|
||||
}.toTypedArray()),
|
||||
)
|
||||
}
|
||||
|
|
|
@ -2,9 +2,9 @@ package fr.username404.snowygui.gui
|
|||
|
||||
import com.mojang.blaze3d.vertex.PoseStack
|
||||
import net.minecraft.client.gui.screens.Screen
|
||||
import net.minecraft.network.chat.TranslatableComponent
|
||||
import net.minecraft.network.chat.Component.translatable
|
||||
|
||||
abstract class SnowyScreen(translatableString: String = "screen.snowy.gui", private val willPauseScreen: Boolean = false): Screen(TranslatableComponent(translatableString)) {
|
||||
abstract class SnowyScreen(translatableString: String = "screen.snowy.gui", private val willPauseScreen: Boolean = false): Screen(translatable(translatableString)) {
|
||||
abstract val components: MutableCollection<Element>
|
||||
override fun render(poseStack: PoseStack?, i: Int, j: Int, f: Float) {
|
||||
if (poseStack != null) {
|
||||
|
|
|
@ -19,7 +19,7 @@ import kotlinx.coroutines.CoroutineStart
|
|||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import net.minecraft.client.Minecraft
|
||||
import net.minecraft.network.chat.TranslatableComponent
|
||||
import net.minecraft.network.chat.Component
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
import java.util.TreeSet
|
||||
import kotlin.collections.LinkedHashSet
|
||||
|
@ -28,9 +28,9 @@ import kotlin.collections.LinkedHashSet
|
|||
class ClickBox(
|
||||
x: Double, y: Double,
|
||||
override var color: Int = Colors.BLUE.hexValue,
|
||||
val name: TranslatableComponent = MissingComponent
|
||||
val name: Component = MissingComponent
|
||||
): ColoredElement(x, y, 80, 10, color, 0.5F) {
|
||||
fun isCategory(c: Category): Boolean = (name.key == c.translationKey)
|
||||
fun isCategory(c: Category): Boolean = (name.string == c.box.name.string)
|
||||
val buttons: MutableSet<ButtonImpl> =
|
||||
if (sortAlphabetically)
|
||||
TreeSet(compareBy(String.CASE_INSENSITIVE_ORDER) { it.title })
|
||||
|
@ -126,7 +126,7 @@ class ClickBox(
|
|||
}
|
||||
}
|
||||
init {
|
||||
savedColors?.get(name.key)?.let {
|
||||
savedColors?.get(name.string)?.let {
|
||||
this.color = it
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,7 +2,8 @@ package fr.username404.snowygui.gui.feature
|
|||
|
||||
import fr.username404.snowygui.ClickGui
|
||||
import fr.username404.snowygui.gui.elements.ClickBox
|
||||
import net.minecraft.network.chat.TranslatableComponent
|
||||
import net.minecraft.network.chat.Component.translatable
|
||||
import net.minecraft.network.chat.contents.TranslatableContents
|
||||
|
||||
/**
|
||||
* Should be used on classes/objects extending [ButtonImpl]
|
||||
|
@ -22,7 +23,7 @@ annotation class ButtonInfo(
|
|||
TOGGLE,
|
||||
CLICK
|
||||
}
|
||||
enum class Category(val translationKey: String, val categoryColor: Int, val shouldHide: Boolean = false) {
|
||||
enum class Category(translationKey: String, val categoryColor: Int, val shouldHide: Boolean = false) {
|
||||
MISC("snowy.clickbox.misc", Colors.BLUE),
|
||||
HUD("snowy.clickbox.hud", Colors.DARK_PURPLE),
|
||||
MACROS("snowy.clickbox.macros", Colors.GREEN);
|
||||
|
@ -35,14 +36,14 @@ annotation class ButtonInfo(
|
|||
x = 4.0 + (ordinal - ClickGui.clickBoxes.count { category ->
|
||||
category.hidden
|
||||
}) * 86, y = 4.0,
|
||||
name = TranslatableComponent(translationKey),
|
||||
name = translatable(translationKey),
|
||||
color = categoryColor
|
||||
); private set
|
||||
private fun addBox() = ClickGui.components.add(box.apply { if (shouldHide) hidden = true })
|
||||
constructor(
|
||||
translationKey: String, categoryColor: Colors, condition: Boolean = false
|
||||
): this(translationKey, categoryColor.hexValue, condition)
|
||||
constructor(categoryBox: ClickBox): this(translationKey = categoryBox.name.key, categoryColor = categoryBox.color) {
|
||||
constructor(categoryBox: ClickBox): this(translationKey = (categoryBox.name.contents as TranslatableContents).key, categoryColor = categoryBox.color) {
|
||||
with(ClickGui.components) {
|
||||
remove(this@Category.box)
|
||||
this@Category.box = categoryBox
|
||||
|
|
|
@ -8,10 +8,13 @@ object GammaBoost: ButtonImpl() {
|
|||
private var oldGamma = 0.0
|
||||
override fun execAction() {
|
||||
with(Minecraft.getInstance().options) {
|
||||
gamma = if (toggled) {
|
||||
val gamma = gamma().get();
|
||||
gamma().set(
|
||||
if (toggled) {
|
||||
if (gamma < boost) oldGamma = gamma
|
||||
boost
|
||||
} else oldGamma
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue