aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build.gradle.kts6
-rw-r--r--changelogs/2.5.1+1.19.4.md1
-rw-r--r--common/src/main/java/dev/isxander/yacl/gui/OptionListWidget.java4
-rw-r--r--common/src/main/java/dev/isxander/yacl/gui/TextScaledButtonWidget.java14
-rw-r--r--common/src/main/java/dev/isxander/yacl/gui/TooltipButtonWidget.java18
-rw-r--r--fabric/build.gradle.kts3
-rw-r--r--forge/build.gradle.kts7
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