Compare commits

..

1 Commits

Author SHA1 Message Date
940510af7c
Update gradle for 26.1
Signed-off-by: Username404-59 <w.iron.zombie@gmail.com>
2026-04-15 18:28:59 +02:00
16 changed files with 45 additions and 45 deletions

View File

@ -4,7 +4,7 @@
<option name="executionName" /> <option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" /> <option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="externalSystemIdString" value="GRADLE" /> <option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" value="-PdevBuild=true --stacktrace" /> <option name="scriptParameters" value="-PdevBuild=true" />
<option name="taskDescriptions"> <option name="taskDescriptions">
<list /> <list />
</option> </option>

View File

@ -4,7 +4,7 @@
<option name="executionName" /> <option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" /> <option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="externalSystemIdString" value="GRADLE" /> <option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" value="-PdevBuild=false --stacktrace" /> <option name="scriptParameters" value="-PdevBuild=false" />
<option name="taskDescriptions"> <option name="taskDescriptions">
<list /> <list />
</option> </option>

View File

@ -17,7 +17,7 @@ buildscript {
plugins { plugins {
kotlin("jvm") version "2.3.10" kotlin("jvm") version "2.3.10"
kotlin("plugin.serialization") version "2.3.10" kotlin("plugin.serialization") version "2.3.10"
id("com.gradleup.shadow") version "9.4.1" apply false id("com.github.johnrengelman.shadow") version "8.1.1" apply false
id("architectury-plugin") version "[3.5.166, 3.6[" id("architectury-plugin") version "[3.5.166, 3.6["
id("dev.architectury.loom-no-remap") version "[1.14.473, 1.15[" apply false id("dev.architectury.loom-no-remap") version "[1.14.473, 1.15[" apply false
id("com.github.ben-manes.versions") version "0.51.0" id("com.github.ben-manes.versions") version "0.51.0"
@ -41,7 +41,10 @@ val minecraftVersion: String = (rootProject.property("minecraft") as String).als
val kotlinX: String = "org.jetbrains.kotlinx" val kotlinX: String = "org.jetbrains.kotlinx"
val devBuild = rootProject.hasProperty("devBuild") && rootProject.property("devBuild").toString().toBoolean() val devBuild = rootProject.hasProperty("devBuild") && rootProject.property("devBuild").toString().toBoolean()
//rootProject.apply(from = "architectury_loom_workaround.gradle.kts")
subprojects { subprojects {
//apply(from = "../architectury_loom_workaround.gradle.kts")
group = rootProject.group.toString() group = rootProject.group.toString()
apply(plugin = "org.cqfn.diktat.diktat-gradle-plugin") apply(plugin = "org.cqfn.diktat.diktat-gradle-plugin")
diktat { diktat {
@ -57,7 +60,7 @@ subprojects {
accessWidenerPath.set(project(":common").extensions.getByType<LoomGradleExtensionAPI>().accessWidenerPath) accessWidenerPath.set(project(":common").extensions.getByType<LoomGradleExtensionAPI>().accessWidenerPath)
} }
} }
apply(plugin = "com.gradleup.shadow") apply(plugin = "com.github.johnrengelman.shadow")
val shadowC by configurations.creating val shadowC by configurations.creating
repositories { repositories {
maven(url = "https://jitpack.io"); mavenCentral() maven(url = "https://jitpack.io"); mavenCentral()
@ -102,16 +105,14 @@ subprojects {
exclude("**/*.kotlin_metadata") exclude("**/*.kotlin_metadata")
exclude("**/*.kotlin_builtins") exclude("**/*.kotlin_builtins")
exclude("META-INF/maven/**/*") exclude("META-INF/maven/**/*")
archiveVersion.set("[${rootProject.version}+$minecraftVersion]") archiveClassifier.set("shadow-${this@subprojects.name}")
archiveClassifier.set(this@subprojects.name)
destinationDirectory.set(file("$rootDir/jars"))
} }
val shadowJar = getByName("shadowJar") as ShadowJar val shadowJar = getByName("shadowJar") as ShadowJar
val shrinkJar = register("shrinkJar", proguard.gradle.ProGuardTask::class) { group = this@subprojects.group as String val shrinkJar = register("shrinkJar", proguard.gradle.ProGuardTask::class) { group = this@subprojects.group as String
val dictionariesDir = "$rootDir/obfuscation" val dictionariesDir = "$rootDir/obfuscation"
dependsOn(shadowJar) dependsOn(shadowJar)
injars(shadowJar) injars(shadowJar)
outjars("$rootDir/jars/shrinkedJar/${shadowJar.outputs.files.singleFile.name}") outjars("$buildDir/shrinkedJar/${shadowJar.outputs.files.singleFile.name}")
keep("class $group.snowygui.mixins.* { * ; }") keep("class $group.snowygui.mixins.* { * ; }")
keep("class $group.snowygui.fabric.FabricInit") keep("class $group.snowygui.fabric.FabricInit")
keep("class $group.snowygui.fabric.ModMenuConf") keep("class $group.snowygui.fabric.ModMenuConf")
@ -159,7 +160,6 @@ subprojects {
overloadaggressively() overloadaggressively()
mergeinterfacesaggressively() mergeinterfacesaggressively()
} }
build.get().dependsOn(if (devBuild) shadowJar else shrinkJar)
getByName("modrinth").dependsOn(build) getByName("modrinth").dependsOn(build)
} }
} }
@ -187,7 +187,7 @@ allprojects {
compilerOptions { compilerOptions {
// https://github.com/JetBrains/kotlin/blob/master/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JVMCompilerArguments.kt // https://github.com/JetBrains/kotlin/blob/master/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JVMCompilerArguments.kt
freeCompilerArgs = listOf( freeCompilerArgs = listOf(
"-jvm-default=enable", "-Xlambdas=indy", "-Xtype-enhancement-improvements-strict-mode", "-Xjvm-default=all", "-Xlambdas=indy", "-Xtype-enhancement-improvements-strict-mode",
"-Xmultifile-parts-inherit", "-Xmultifile-parts-inherit",
"-Xbackend-threads=0", "-Xno-param-assertions", "-Xno-call-assertions", "-Xbackend-threads=0", "-Xno-param-assertions", "-Xno-call-assertions",
"-opt-in=kotlin.RequiresOptIn", "-Xassertions=jvm", "-progressive" "-opt-in=kotlin.RequiresOptIn", "-Xassertions=jvm", "-progressive"

View File

@ -10,5 +10,4 @@ loom {
accessWidenerPath = file("src/main/resources/${rootProject.name.lowercase()}.accessWidener") accessWidenerPath = file("src/main/resources/${rootProject.name.lowercase()}.accessWidener")
} }
tasks.getByName("shadowJar").enabled = false
tasks.getByName("shrinkJar").enabled = false tasks.getByName("shrinkJar").enabled = false

View File

@ -2,17 +2,17 @@ package fr.username404.snowygui.mixins;
import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import fr.username404.snowygui.gui.feature.GammaBoost; import fr.username404.snowygui.gui.feature.GammaBoost;
import net.minecraft.client.renderer.LightmapRenderStateExtractor; import net.minecraft.client.renderer.LightTexture;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.At;
@Mixin(LightmapRenderStateExtractor.class) @Mixin(LightTexture.class)
abstract class GammaMixin { abstract class GammaMixin {
@ModifyExpressionValue( @ModifyExpressionValue(
method = "extract", at = @At( method = "updateLightTexture(F)V", at = @At(
value = "INVOKE", value = "INVOKE",
target = "Ljava/lang/Double;floatValue()F", target = "Ljava/lang/Double;floatValue()F",
ordinal = 0 ordinal = 1
) )
) )
public float highGamma(float original) { public float highGamma(float original) {

View File

@ -6,7 +6,7 @@ import fr.username404.snowygui.gui.elements.ClickBox.Companion.sortAlphabeticall
import fr.username404.snowygui.gui.feature.* import fr.username404.snowygui.gui.feature.*
import fr.username404.snowygui.utils.FontUtil import fr.username404.snowygui.utils.FontUtil
import me.shedaniel.clothconfig2.gui.entries.StringListListEntry import me.shedaniel.clothconfig2.gui.entries.StringListListEntry
import net.minecraft.client.gui.GuiGraphicsExtractor as GuiGraphics import net.minecraft.client.gui.GuiGraphics
import net.minecraft.client.gui.screens.Screen import net.minecraft.client.gui.screens.Screen
import net.minecraft.network.chat.Component import net.minecraft.network.chat.Component
import net.minecraft.network.chat.Component.translatable import net.minecraft.network.chat.Component.translatable
@ -23,8 +23,8 @@ private fun supplyComponent(string: String?): Optional<Component> = string?.run
val SnowyConfigScreen: Screen = object: Screen(translationComponent) { val SnowyConfigScreen: Screen = object: Screen(translationComponent) {
override fun isPauseScreen(): Boolean = false override fun isPauseScreen(): Boolean = false
override fun extractRenderState(guiGraphics: GuiGraphics, mouseX: Int, mouseY: Int, pTick: Float) { override fun render(guiGraphics: GuiGraphics, mouseX: Int, mouseY: Int, pTick: Float) {
super.extractBackground(guiGraphics, mouseX, mouseY, pTick) super.renderBackground(guiGraphics, mouseX, mouseY, pTick)
FontUtil.drawScaled(guiGraphics, FontUtil.drawScaled(guiGraphics,
text = "An appropriate version of the Cloth Config mod is required for the configuration of snowygui.", 16.0, 16.0, text = "An appropriate version of the Cloth Config mod is required for the configuration of snowygui.", 16.0, 16.0,
color = Colors.WHITE, scaleFactor = 0.85F color = Colors.WHITE, scaleFactor = 0.85F

View File

@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.VertexConsumer
import fr.username404.snowygui.Snowy import fr.username404.snowygui.Snowy
import fr.username404.snowygui.gui.feature.Colors import fr.username404.snowygui.gui.feature.Colors
import fr.username404.snowygui.utils.RenderingUtil import fr.username404.snowygui.utils.RenderingUtil
import net.minecraft.client.gui.GuiGraphicsExtractor as GuiGraphics import net.minecraft.client.gui.GuiGraphics
import net.minecraft.client.gui.components.events.GuiEventListener import net.minecraft.client.gui.components.events.GuiEventListener
fun interface Renderable { fun interface Renderable {

View File

@ -1,12 +1,12 @@
package fr.username404.snowygui.gui package fr.username404.snowygui.gui
import net.minecraft.client.gui.GuiGraphicsExtractor as GuiGraphics import net.minecraft.client.gui.GuiGraphics
import net.minecraft.client.gui.screens.Screen import net.minecraft.client.gui.screens.Screen
import net.minecraft.network.chat.Component.translatable import net.minecraft.network.chat.Component.translatable
abstract class SnowyScreen(translatableString: String = "screen.snowy.gui", private val willPauseScreen: Boolean = false): Screen(translatable(translatableString)) { abstract class SnowyScreen(translatableString: String = "screen.snowy.gui", private val willPauseScreen: Boolean = false): Screen(translatable(translatableString)) {
abstract val components: MutableCollection<Element> abstract val components: MutableCollection<Element>
override fun extractRenderState(guiGraphics: GuiGraphics, i: Int, j: Int, f: Float) { override fun render(guiGraphics: GuiGraphics, i: Int, j: Int, f: Float) {
components.forEach { components.forEach {
it.display(guiGraphics) it.display(guiGraphics)
} }

View File

@ -9,7 +9,7 @@ import fr.username404.snowygui.gui.feature.Colors
import fr.username404.snowygui.utils.RenderingUtil import fr.username404.snowygui.utils.RenderingUtil
import io.github.config4k.extract import io.github.config4k.extract
import net.minecraft.client.Minecraft import net.minecraft.client.Minecraft
import net.minecraft.client.gui.GuiGraphicsExtractor as GuiGraphics import net.minecraft.client.gui.GuiGraphics
import net.minecraft.network.chat.Component import net.minecraft.network.chat.Component
import net.minecraft.util.ARGB import net.minecraft.util.ARGB
import kotlin.math.floor import kotlin.math.floor
@ -157,7 +157,7 @@ class ClickBox(
} }
with(Minecraft.getInstance().font) { with(Minecraft.getInstance().font) {
guiGraphics?.text( guiGraphics?.drawString(
this, this,
Component.nullToEmpty(name.string), Component.nullToEmpty(name.string),
(xi + 5 + (inclination / 2f)).toInt(), (xi + 5 + (inclination / 2f)).toInt(),

View File

@ -6,7 +6,7 @@ import fr.username404.snowygui.config.Configuration
import fr.username404.snowygui.gui.ColoredElement import fr.username404.snowygui.gui.ColoredElement
import fr.username404.snowygui.gui.feature.ButtonInfo.Companion.Type import fr.username404.snowygui.gui.feature.ButtonInfo.Companion.Type
import fr.username404.snowygui.utils.FontUtil import fr.username404.snowygui.utils.FontUtil
import net.minecraft.client.gui.GuiGraphicsExtractor as GuiGraphics import net.minecraft.client.gui.GuiGraphics
import net.minecraft.client.input.MouseButtonEvent import net.minecraft.client.input.MouseButtonEvent
import kotlin.reflect.full.findAnnotation import kotlin.reflect.full.findAnnotation

View File

@ -4,7 +4,7 @@ import fr.username404.snowygui.EventSnowy
import fr.username404.snowygui.argsLambda import fr.username404.snowygui.argsLambda
import fr.username404.snowygui.gui.Renderable import fr.username404.snowygui.gui.Renderable
import net.minecraft.client.Minecraft import net.minecraft.client.Minecraft
import net.minecraft.client.gui.GuiGraphicsExtractor as GuiGraphics import net.minecraft.client.gui.GuiGraphics
sealed class ButtonImplWithHud: ButtonImpl() { sealed class ButtonImplWithHud: ButtonImpl() {
protected abstract val hudRenderLambda: Renderable protected abstract val hudRenderLambda: Renderable

View File

@ -6,7 +6,7 @@ import fr.username404.snowygui.gui.Renderable
import fr.username404.snowygui.utils.FontUtil import fr.username404.snowygui.utils.FontUtil
import fr.username404.snowygui.utils.RenderingUtil import fr.username404.snowygui.utils.RenderingUtil
import net.minecraft.client.Minecraft import net.minecraft.client.Minecraft
import net.minecraft.client.gui.GuiGraphicsExtractor as GuiGraphics import net.minecraft.client.gui.GuiGraphics
@ButtonInfo(Category.HUD) @ButtonInfo(Category.HUD)
object Keystrokes: ButtonImplWithHud() { object Keystrokes: ButtonImplWithHud() {

View File

@ -2,14 +2,14 @@ package fr.username404.snowygui.utils
import net.minecraft.client.Minecraft import net.minecraft.client.Minecraft
import fr.username404.snowygui.gui.feature.Colors import fr.username404.snowygui.gui.feature.Colors
import net.minecraft.client.gui.GuiGraphicsExtractor as GuiGraphics import net.minecraft.client.gui.GuiGraphics
import net.minecraft.util.ARGB import net.minecraft.util.ARGB
object FontUtil { object FontUtil {
fun drawScaled(guiGraphics: GuiGraphics, text: String, x: Double, y: Double, scaleFactor: Float, color: Colors = Colors.BLACK) { fun drawScaled(guiGraphics: GuiGraphics, text: String, x: Double, y: Double, scaleFactor: Float, color: Colors = Colors.BLACK) {
val stack = guiGraphics.pose() val stack = guiGraphics.pose()
stack.scale(scaleFactor, scaleFactor) stack.scale(scaleFactor, scaleFactor)
guiGraphics.text( guiGraphics.drawString(
Minecraft.getInstance().font, text, Minecraft.getInstance().font, text,
(x / scaleFactor).toInt(), (y / scaleFactor).toInt(), (x / scaleFactor).toInt(), (y / scaleFactor).toInt(),
ARGB.opaque(color.hexValue), false ARGB.opaque(color.hexValue), false

View File

@ -1,7 +1,8 @@
package fr.username404.snowygui.utils package fr.username404.snowygui.utils
import com.mojang.blaze3d.opengl.GlStateManager
import fr.username404.snowygui.gui.feature.Colors import fr.username404.snowygui.gui.feature.Colors
import net.minecraft.client.gui.GuiGraphicsExtractor as GuiGraphics import net.minecraft.client.gui.GuiGraphics
import net.minecraft.util.ARGB import net.minecraft.util.ARGB
import kotlin.math.ceil import kotlin.math.ceil
import kotlin.math.floor import kotlin.math.floor
@ -9,8 +10,8 @@ import kotlin.math.max
import kotlin.math.min import kotlin.math.min
object RenderingUtil { object RenderingUtil {
fun prepareDraw() = Unit fun prepareDraw() = GlStateManager._enableBlend()
fun endDraw() = Unit fun endDraw() = GlStateManager._disableBlend()
private fun argbFromRgb(rgb: Int, opacity: Float = 1f): Int { private fun argbFromRgb(rgb: Int, opacity: Float = 1f): Int {
return ARGB.color( return ARGB.color(
@ -97,7 +98,7 @@ object RenderingUtil {
fun hLine(guiGraphics: GuiGraphics?, x1: Int, x2: Int, y: Int, rgb: Int, opacity: Float = 1f) { fun hLine(guiGraphics: GuiGraphics?, x1: Int, x2: Int, y: Int, rgb: Int, opacity: Float = 1f) {
if (guiGraphics == null) return if (guiGraphics == null) return
prepareDraw() prepareDraw()
guiGraphics.horizontalLine(x1, x2, y, argbFromRgb(rgb, opacity)) guiGraphics.hLine(x1, x2, y, argbFromRgb(rgb, opacity))
endDraw() endDraw()
} }
} }

View File

@ -1,19 +1,20 @@
package fr.username404.snowygui.mixins; package fr.username404.snowygui.mixins;
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
import fr.username404.snowygui.fabric.OkZoomerCompatKt; import fr.username404.snowygui.fabric.OkZoomerCompatKt;
import fr.username404.snowygui.gui.feature.Zoom; import fr.username404.snowygui.gui.feature.Zoom;
import net.minecraft.client.Camera; import net.minecraft.client.Camera;
import net.minecraft.client.renderer.GameRenderer;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(Camera.class) @Mixin(GameRenderer.class)
abstract class ZoomMixin { abstract class ZoomMixin {
@ModifyReturnValue(at = @At(value = "RETURN"), method = "calculateFov") @Inject(at = @At(value = "RETURN"), method = "getFov(Lnet/minecraft/client/Camera;FZ)F", cancellable = true)
private static float getFov(float original) { private void getFov(Camera camera, float f, boolean bl, CallbackInfoReturnable<Float> cir) {
if (Zoom.INSTANCE.getToggled() && !OkZoomerCompatKt.isOkZoomerPresent) { if (Zoom.INSTANCE.getToggled() && !OkZoomerCompatKt.isOkZoomerPresent) {
return Zoom.getNewZoom(original); cir.setReturnValue(Zoom.getNewZoom(cir.getReturnValue()));
} }
return original;
} }
} }

View File

@ -4,13 +4,12 @@ import fr.username404.snowygui.EventSnowy
import fr.username404.snowygui.Snowy import fr.username404.snowygui.Snowy
import fr.username404.snowygui.gui.feature.ButtonImpl import fr.username404.snowygui.gui.feature.ButtonImpl
import net.fabricmc.api.ClientModInitializer import net.fabricmc.api.ClientModInitializer
import net.fabricmc.fabric.api.client.rendering.v1.hud.HudElement import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback
import net.fabricmc.fabric.api.client.rendering.v1.hud.HudElementRegistry import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback.EVENT
import net.fabricmc.loader.api.FabricLoader import net.fabricmc.loader.api.FabricLoader
import net.fabricmc.loader.launch.common.FabricLauncherBase import net.fabricmc.loader.launch.common.FabricLauncherBase
import net.minecraft.client.DeltaTracker import net.minecraft.client.DeltaTracker
import net.minecraft.client.gui.GuiGraphicsExtractor as GuiGraphics import net.minecraft.client.gui.GuiGraphics
import net.minecraft.resources.Identifier
import kotlin.io.path.exists import kotlin.io.path.exists
import kotlin.io.path.isDirectory import kotlin.io.path.isDirectory
import kotlin.io.path.listDirectoryEntries import kotlin.io.path.listDirectoryEntries
@ -20,10 +19,10 @@ import kotlin.jvm.optionals.getOrNull
class FabricInit: Snowy(), ClientModInitializer { class FabricInit: Snowy(), ClientModInitializer {
override fun onInitializeClient() { override fun onInitializeClient() {
atInit() atInit()
HudElementRegistry.addLast(Identifier.fromNamespaceAndPath("snowygui", "hud"), EVENT.register(
object: HudElement, EventSnowy { object: HudRenderCallback, EventSnowy {
override val type: String = "HudRender" override val type: String = "HudRender"
override fun extractRenderState(guiGraphics: GuiGraphics, tickCounter: DeltaTracker) = fire(guiGraphics) override fun onHudRender(guiGraphics: GuiGraphics, tickCounter: DeltaTracker) = fire(guiGraphics)
} }
) )
} }