diff options
-rw-r--r-- | build.gradle.kts | 6 | ||||
-rw-r--r-- | changelogs/2.5.1+1.19.4.md | 1 | ||||
-rw-r--r-- | common/src/main/java/dev/isxander/yacl/gui/OptionListWidget.java | 4 | ||||
-rw-r--r-- | common/src/main/java/dev/isxander/yacl/gui/TextScaledButtonWidget.java | 14 | ||||
-rw-r--r-- | common/src/main/java/dev/isxander/yacl/gui/TooltipButtonWidget.java | 18 | ||||
-rw-r--r-- | fabric/build.gradle.kts | 3 | ||||
-rw-r--r-- | forge/build.gradle.kts | 7 |
7 files changed, 25 insertions, 28 deletions
diff --git a/build.gradle.kts b/build.gradle.kts index 5ef937b..e0cee69 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -12,7 +12,9 @@ architectury { minecraft = libs.versions.minecraft.get() } -val changelogText = file("changelogs/${project.version}.md").takeIf { it.exists() }?.readText() ?: "No changelog provided." +version = "2.5.1+1.19.4" + +val changelogText = rootProject.file("changelogs/${project.version}.md").takeIf { it.exists() }?.readText() ?: "No changelog provided." val snapshotVer = "${grgit.branch.current().name.replace('/', '.')}-SNAPSHOT" allprojects { @@ -20,7 +22,7 @@ allprojects { apply(plugin = "maven-publish") apply(plugin = "architectury-plugin") - version = "2.5.0+1.19.4" + version = rootProject.version group = "dev.isxander" if (System.getenv().containsKey("GITHUB_ACTIONS")) { diff --git a/changelogs/2.5.1+1.19.4.md b/changelogs/2.5.1+1.19.4.md new file mode 100644 index 0000000..9df0272 --- /dev/null +++ b/changelogs/2.5.1+1.19.4.md @@ -0,0 +1 @@ +- Improve button compatibility with Controlify diff --git a/common/src/main/java/dev/isxander/yacl/gui/OptionListWidget.java b/common/src/main/java/dev/isxander/yacl/gui/OptionListWidget.java index a73ce43..d2d1b71 100644 --- a/common/src/main/java/dev/isxander/yacl/gui/OptionListWidget.java +++ b/common/src/main/java/dev/isxander/yacl/gui/OptionListWidget.java @@ -273,7 +273,7 @@ public class OptionListWidget extends ElementListWidgetExt<OptionListWidget.Entr this.groupName = group.name().getString().toLowerCase(); if (option.canResetToDefault() && this.widget.canReset()) { this.widget.setDimension(this.widget.getDimension().expanded(-20, 0)); - this.resetButton = new TextScaledButtonWidget(widget.getDimension().xLimit(), -50, 20, 20, 2f, Component.literal("\u21BB"), button -> { + this.resetButton = new TextScaledButtonWidget(yaclScreen, widget.getDimension().xLimit(), -50, 20, 20, 2f, Component.literal("\u21BB"), button -> { option.requestSetDefault(); }); option.addListener((opt, val) -> this.resetButton.active = !opt.isPendingValueDefault() && opt.available()); @@ -469,7 +469,7 @@ public class OptionListWidget extends ElementListWidgetExt<OptionListWidget.Entr super(group, screen); this.listOption = group; - this.resetListButton = new TextScaledButtonWidget(getRowRight() - 20, -50, 20, 20, 2f, Component.literal("\u21BB"), button -> { + this.resetListButton = new TextScaledButtonWidget(screen, getRowRight() - 20, -50, 20, 20, 2f, Component.literal("\u21BB"), button -> { group.requestSetDefault(); }); group.addListener((opt, val) -> this.resetListButton.active = !opt.isPendingValueDefault() && opt.available()); diff --git a/common/src/main/java/dev/isxander/yacl/gui/TextScaledButtonWidget.java b/common/src/main/java/dev/isxander/yacl/gui/TextScaledButtonWidget.java index b955912..ac58db6 100644 --- a/common/src/main/java/dev/isxander/yacl/gui/TextScaledButtonWidget.java +++ b/common/src/main/java/dev/isxander/yacl/gui/TextScaledButtonWidget.java @@ -3,22 +3,20 @@ package dev.isxander.yacl.gui; import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Font; -import net.minecraft.client.gui.components.Button; -import net.minecraft.client.gui.components.Tooltip; +import net.minecraft.client.gui.screens.Screen; import net.minecraft.network.chat.Component; import net.minecraft.util.Mth; -public class TextScaledButtonWidget extends Button { +public class TextScaledButtonWidget extends TooltipButtonWidget { public float textScale; - public TextScaledButtonWidget(int x, int y, int width, int height, float textScale, Component message, OnPress onPress) { - super(x, y, width, height, message, onPress, DEFAULT_NARRATION); + public TextScaledButtonWidget(Screen screen, int x, int y, int width, int height, float textScale, Component message, Component tooltip, OnPress onPress) { + super(screen, x, y, width, height, message, tooltip, onPress); this.textScale = textScale; } - public TextScaledButtonWidget(int x, int y, int width, int height, float textScale, Component message, OnPress onPress, Tooltip tooltip) { - this(x, y, width, height, textScale, message, onPress); - setTooltip(tooltip); + public TextScaledButtonWidget(Screen screen, int x, int y, int width, int height, float textScale, Component message, OnPress onPress) { + this(screen, x, y, width, height, textScale, message, null, onPress); } @Override diff --git a/common/src/main/java/dev/isxander/yacl/gui/TooltipButtonWidget.java b/common/src/main/java/dev/isxander/yacl/gui/TooltipButtonWidget.java index 3b5b6fc..c8f3cf2 100644 --- a/common/src/main/java/dev/isxander/yacl/gui/TooltipButtonWidget.java +++ b/common/src/main/java/dev/isxander/yacl/gui/TooltipButtonWidget.java @@ -2,27 +2,25 @@ package dev.isxander.yacl.gui; import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.components.MultiLineLabel; import net.minecraft.client.gui.screens.Screen; import net.minecraft.network.chat.Component; -public class TooltipButtonWidget extends TextScaledButtonWidget { +public class TooltipButtonWidget extends Button { protected final Screen screen; - protected MultiLineLabel wrappedDescription; - - public TooltipButtonWidget(Screen screen, int x, int y, int width, int height, Component message, float textScale, Component tooltip, OnPress onPress) { - super(x, y, width, height, textScale, message, onPress); - this.screen = screen; - setTooltip(tooltip); - } + protected MultiLineLabel wrappedDescription = null; public TooltipButtonWidget(Screen screen, int x, int y, int width, int height, Component message, Component tooltip, OnPress onPress) { - this(screen, x, y, width, height, message, 1, tooltip, onPress); + super(x, y, width, height, message, onPress, DEFAULT_NARRATION); + this.screen = screen; + if (tooltip != null) + setTooltip(tooltip); } public void renderHoveredTooltip(PoseStack matrices) { - if (isHoveredOrFocused()) { + if (isHoveredOrFocused() && wrappedDescription != null) { YACLScreen.renderMultilineTooltip(matrices, Minecraft.getInstance().font, wrappedDescription, getX() + width / 2, getY() - 4, getY() + height + 4, screen.width, screen.height); } } diff --git a/fabric/build.gradle.kts b/fabric/build.gradle.kts index 224ab21..a2327ae 100644 --- a/fabric/build.gradle.kts +++ b/fabric/build.gradle.kts @@ -121,7 +121,7 @@ if (modrinthId.isNotEmpty()) { versionNumber.set("${project.version}-fabric") versionType.set("release") uploadFile.set(tasks["remapJar"]) - gameVersions.set(listOf("1.19.4", "1.19.3")) + gameVersions.set(listOf("1.19.4")) loaders.set(listOf("fabric", "quilt")) changelog.set(changelogText) syncBodyFrom.set(rootProject.file("README.md").readText()) @@ -141,7 +141,6 @@ if (hasProperty("curseforge.token") && curseforgeId.isNotEmpty()) { id = curseforgeId releaseType = "release" addGameVersion("1.19.4") - addGameVersion("1.19.3") addGameVersion("Fabric") addGameVersion("Java 17") diff --git a/forge/build.gradle.kts b/forge/build.gradle.kts index 3ddcabc..7a851cd 100644 --- a/forge/build.gradle.kts +++ b/forge/build.gradle.kts @@ -127,8 +127,8 @@ if (modrinthId.isNotEmpty()) { versionNumber.set("${project.version}-forge") versionType.set("release") uploadFile.set(tasks["remapJar"]) - gameVersions.set(listOf("1.19.4", "1.19.3")) - loaders.set(listOf("fabric", "quilt")) + gameVersions.set(listOf("1.19.4")) + loaders.set(listOf("forge")) changelog.set(changelogText) syncBodyFrom.set(rootProject.file("README.md").readText()) } @@ -147,8 +147,7 @@ if (hasProperty("curseforge.token") && curseforgeId.isNotEmpty()) { id = curseforgeId releaseType = "release" addGameVersion("1.19.4") - addGameVersion("1.19.3") - addGameVersion("Fabric") + addGameVersion("Forge") addGameVersion("Java 17") changelog = changelogText |