Compare commits
No commits in common. "630afa2e5313380c98bcdaf33d22307e11d6fbdc" and "58d6f02fb125b8a97d162f1fb2ccae977dee0bd1" have entirely different histories.
630afa2e53
...
58d6f02fb1
@ -1,6 +1,6 @@
|
||||
package fr.username404.snowygui
|
||||
|
||||
import fr.username404.snowygui.config.LazyConfiguration
|
||||
import fr.username404.snowygui.config.Configuration
|
||||
import fr.username404.snowygui.gui.feature.ButtonImpl
|
||||
import fr.username404.snowygui.gui.feature.ButtonInfo
|
||||
import fr.username404.snowygui.misc.AddKeyMaps
|
||||
@ -13,7 +13,7 @@ import java.lang.reflect.Modifier
|
||||
abstract class Snowy {
|
||||
protected fun Class<*>.isValidForButtonCollection(): Boolean =
|
||||
!Modifier.isAbstract(modifiers) && declaredAnnotations.any { it is ButtonInfo && !it.ignored }
|
||||
private val displayInitMessage: Lazy<Boolean> by LazyConfiguration
|
||||
private val displayInitMessage: Boolean by Configuration
|
||||
abstract val annotatedButtons: Lazy<Set<Class<out ButtonImpl>>>
|
||||
companion object {
|
||||
val MissingComponent: Component = translatable("MISSING_COMPONENT")
|
||||
@ -36,7 +36,7 @@ abstract class Snowy {
|
||||
}
|
||||
}
|
||||
fun atInit() {
|
||||
if (displayInitMessage.value) logs.info("Init point of SnowyGUI hit.")
|
||||
if (displayInitMessage) logs.info("Init point of SnowyGUI hit.")
|
||||
eventsInit()
|
||||
}
|
||||
}
|
||||
@ -5,7 +5,6 @@ import fr.username404.snowygui.gui.elements.ClickBox
|
||||
import fr.username404.snowygui.gui.elements.ClickBox.Companion.sortAlphabetically
|
||||
import fr.username404.snowygui.gui.feature.*
|
||||
import fr.username404.snowygui.utils.FontUtil
|
||||
import me.shedaniel.clothconfig2.gui.entries.StringListListEntry
|
||||
import net.minecraft.client.gui.GuiGraphics
|
||||
import net.minecraft.client.gui.screens.Screen
|
||||
import net.minecraft.network.chat.Component
|
||||
@ -75,9 +74,7 @@ val SnowyConfigScreen: Screen = object: Screen(translationComponent) {
|
||||
}.build()).addEntry(startStrList(
|
||||
Category.MACROS.box.name,
|
||||
macrosButtons.getTitleCommand()
|
||||
).setCreateNewInstance {
|
||||
entry -> StringListListEntry.StringListCell("ExampleMacro: say hello", entry)
|
||||
}.setInsertInFront(false).setDefaultValue(Configuration.foundMacros.getTitleCommand()).setCellErrorSupplier { cell ->
|
||||
).setInsertInFront(false).setDefaultValue(Configuration.foundMacros.getTitleCommand()).setCellErrorSupplier { cell ->
|
||||
with(cell.split(":")) {
|
||||
supplyComponent(
|
||||
when {
|
||||
|
||||
@ -175,9 +175,3 @@ object Configuration {
|
||||
operator fun <T> setValue(ref: Any?, property: KProperty<*>, value: T) = @Suppress("DEPRECATION_ERROR")
|
||||
ModifiableValues.setValue(ref, property, value)
|
||||
}
|
||||
|
||||
object LazyConfiguration {
|
||||
inline operator fun <reified T: Any> getValue(ref: Any?, property: KProperty<*>): Lazy<T> = lazy {
|
||||
Configuration.getValue<T>(ref, property);
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,17 +4,18 @@ import net.minecraft.client.Minecraft
|
||||
import fr.username404.snowygui.gui.feature.Colors
|
||||
import net.minecraft.client.gui.GuiGraphics
|
||||
import net.minecraft.util.ARGB
|
||||
import org.joml.Matrix3x2f
|
||||
|
||||
object FontUtil {
|
||||
fun drawScaled(guiGraphics: GuiGraphics, text: String, x: Double, y: Double, scaleFactor: Float, color: Colors = Colors.BLACK) {
|
||||
val stack = guiGraphics.pose()
|
||||
stack.scale(scaleFactor, scaleFactor)
|
||||
stack.scale(scaleFactor, scaleFactor, Matrix3x2f())
|
||||
guiGraphics.drawString(
|
||||
Minecraft.getInstance().font, text,
|
||||
(x / scaleFactor).toInt(), (y / scaleFactor).toInt(),
|
||||
x.toInt(), y.toInt(),
|
||||
ARGB.opaque(color.hexValue), false
|
||||
)
|
||||
val factorToOriginal = 1F / scaleFactor
|
||||
stack.scale(factorToOriginal, factorToOriginal)
|
||||
stack.scale(factorToOriginal, factorToOriginal, Matrix3x2f())
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
package fr.username404.snowygui.forge
|
||||
|
||||
import fr.username404.snowygui.ClickGui
|
||||
import fr.username404.snowygui.Snowy
|
||||
import fr.username404.snowygui.config.SnowyConfigScreen
|
||||
import fr.username404.snowygui.config.configScreenParent
|
||||
@ -16,11 +15,7 @@ import net.neoforged.neoforgespi.language.ModFileScanData
|
||||
@Mod("snowygui")
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
class ForgeInit(container: ModContainer): Snowy() {
|
||||
private fun initSetup(event: FMLClientSetupEvent) {
|
||||
atInit()
|
||||
ClickGui.tick()
|
||||
ButtonImpl.initButtons()
|
||||
}
|
||||
private fun initSetup(event: FMLClientSetupEvent) = atInit()
|
||||
override val annotatedButtons = lazy { // Forge-specific reflection
|
||||
ModList.get()
|
||||
.allScanData
|
||||
|
||||
@ -1,10 +1,18 @@
|
||||
package fr.username404.snowygui.forge
|
||||
|
||||
import fr.username404.snowygui.ClickGui
|
||||
import fr.username404.snowygui.gui.feature.ButtonImpl
|
||||
import fr.username404.snowygui.misc.AddKeyMaps
|
||||
import net.neoforged.bus.api.SubscribeEvent
|
||||
import net.neoforged.neoforge.client.event.RegisterKeyMappingsEvent
|
||||
import net.neoforged.neoforge.client.event.RegisterMenuScreensEvent
|
||||
|
||||
object MiscModBusHandlers {
|
||||
@SubscribeEvent
|
||||
fun handleClickGuiInit(event: RegisterMenuScreensEvent) {
|
||||
ClickGui.tick()
|
||||
ButtonImpl.initButtons()
|
||||
}
|
||||
@SubscribeEvent
|
||||
fun handleKeys(event: RegisterKeyMappingsEvent) {
|
||||
AddKeyMaps.list.forEach {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user