aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build.gradle.kts64
-rw-r--r--changelog.md43
-rw-r--r--common/src/main/java/dev/isxander/yacl3/platform/YACLConfig.java18
-rw-r--r--common/src/main/resources/assets/yet_another_config_lib/textures/gui/sprites/controller/colorpicker.pngbin260 -> 0 bytes
-rw-r--r--common/src/main/resources/assets/yet_another_config_lib/textures/gui/sprites/controller/colorpicker.png.mcmeta10
-rw-r--r--common/src/main/resources/assets/yet_another_config_lib/textures/gui/sprites/controller/transparent.pngbin115 -> 0 bytes
-rw-r--r--common/src/main/resources/assets/yet_another_config_lib/textures/gui/sprites/controller/transparent.png.mcmeta10
-rw-r--r--settings.gradle.kts2
-rw-r--r--src/main/java/dev/isxander/yacl3/config/GsonConfigInstance.java12
-rw-r--r--src/main/java/dev/isxander/yacl3/config/v2/impl/serializer/GsonConfigSerializer.java6
-rw-r--r--src/main/java/dev/isxander/yacl3/gui/ElementListWidgetExt.java20
-rw-r--r--src/main/java/dev/isxander/yacl3/gui/OptionListWidget.java4
-rw-r--r--src/main/java/dev/isxander/yacl3/gui/YACLScreen.java12
-rw-r--r--src/main/java/dev/isxander/yacl3/gui/YACLTooltip.java6
-rw-r--r--src/main/java/dev/isxander/yacl3/gui/controllers/dropdown/DropdownWidget.java6
-rw-r--r--src/main/java/dev/isxander/yacl3/mixin/TabNavigationBarAccessor.java6
-rw-r--r--src/main/resources/META-INF/mods.toml8
-rw-r--r--src/testmod/resources/META-INF/mods.toml8
-rw-r--r--stonecutter.gradle.kts2
-rw-r--r--versions/1.20.1-forge/gradle.properties6
-rw-r--r--versions/1.20.4-neoforge/gradle.properties6
-rw-r--r--versions/1.20.5-fabric/gradle.properties (renamed from versions/1.20.5-pre2-fabric/gradle.properties)2
22 files changed, 149 insertions, 102 deletions
diff --git a/build.gradle.kts b/build.gradle.kts
index 5f6e0f8..e4de603 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -20,7 +20,6 @@ val isForge = loader == "forge"
val isForgeLike = isNeoforge || isForge
val mcVersion = stonecutter.current.version
-val mcDep = findProperty("fmj.mcDep")?.toString()
group = "dev.isxander"
val versionWithoutMC = "3.4.0"
@@ -70,6 +69,21 @@ loom {
source(testmod)
ideConfigGenerated(true)
runDir("../../run")
+
+ if (isForgeLike) {
+ mods {
+ register("main") {
+ sourceSet(sourceSets.main.get())
+ }
+ register("testMod") {
+ sourceSet(testmod)
+ }
+ }
+ }
+
+ if (isForge) {
+ programArgs("-mixin.config", "yacl-test.mixins.json")
+ }
}
}
@@ -103,7 +117,8 @@ repositories {
}
dependencies {
- fun Dependency?.jij(): Dependency? = include(this!!)
+ fun Dependency?.jij() = this?.let(::include)
+ fun Dependency?.forgeRuntime() = this?.takeIf { isForgeLike }?.let { "forgeRuntimeLibrary"(it) }
minecraft("com.mojang:minecraft:${if (mcVersion.contains("beta")) "1.20.5-pre2" else mcVersion}")
@@ -151,14 +166,14 @@ dependencies {
"common:common-io",
"common:common-image"
).forEach {
- implementation("com.twelvemonkeys.$it:${findProperty("deps.imageio")}").jij()
+ implementation("com.twelvemonkeys.$it:${findProperty("deps.imageio")}").jij().forgeRuntime()
}
listOf(
"json",
"gson"
).forEach {
- implementation("org.quiltmc.parsers:$it:${findProperty("deps.quiltParsers")}").jij()
+ implementation("org.quiltmc.parsers:$it:${findProperty("deps.quiltParsers")}").jij().forgeRuntime()
}
"testmodImplementation"(sourceSets.main.get().output)
@@ -171,23 +186,36 @@ java {
tasks {
processResources {
- val props = mutableMapOf(
- "id" to findProperty("modId"),
- "group" to project.group,
- "name" to findProperty("modName"),
- "description" to findProperty("modDescription"),
- "version" to project.version,
- "github" to findProperty("githubProject"),
- "mc" to mcDep
- )
- optionalProp("fmj.yaclDep") {
- props["yacl"] = it
+ val props = buildMap {
+ put("id", findProperty("modId"))
+ put("group", project.group)
+ put("name", findProperty("modName"))
+ put("description", findProperty("modDescription"))
+ put("version", project.version)
+ put("github", findProperty("githubProject"))
+
+ if (isFabric) {
+ put("mc", findProperty("fmj.mcDep"))
+ }
+
+ if (isForgeLike) {
+ put("mc", findProperty("modstoml.mcDep"))
+ put("loaderVersion", findProperty("modstoml.loaderVersion"))
+ put("forgeId", findProperty("modstoml.forgeId"))
+ put("forgeConstraint", findProperty("modstoml.forgeConstraint"))
+ }
}
props.forEach(inputs::property)
- filesMatching("fabric.mod.json") { expand(props) }
- filesMatching("META-INF/mods.toml") { expand(props) }
+ if (isFabric) {
+ filesMatching("fabric.mod.json") { expand(props) }
+ exclude("META-INF/mods.toml")
+ }
+ if (isForgeLike) {
+ filesMatching("META-INF/mods.toml") { expand(props) }
+ exclude("fabric.mod.json")
+ }
}
val releaseMod by registering {
@@ -221,7 +249,7 @@ publishMods {
displayName.set("YetAnotherConfigLib $versionWithoutMC for MC $mcVersion")
file.set(tasks.remapJar.get().archiveFile)
changelog.set(
- rootProject.file("changelogs/${versionWithoutMC}.md")
+ rootProject.file("changelog.md")
.takeIf { it.exists() }
?.readText()
?: "No changelog provided."
diff --git a/changelog.md b/changelog.md
new file mode 100644
index 0000000..eabe152
--- /dev/null
+++ b/changelog.md
@@ -0,0 +1,43 @@
+# YetAnotherConfigLib 3.4.0
+
+This build supports the following versions:
+- Fabric 1.20.1
+- Fabric 1.20.4
+- Fabric 1.20.5
+- Forge 1.20.1
+- NeoForge 1.20.4
+
+## For developers...
+
+This is the first build which uses a new build toolchain to support multiple minecraft versions in the same codebase.
+With this change, the artifact of the mod has changed.
+
+```groovy
+modImplementation "dev.isxander:yet-another-config-lib:{modversion}+{mcversion}-{loader}"
+// for example...
+modImplementation "dev.isxander:yet-another-config-lib:3.4.0+1.20.1-fabric"
+```
+
+If you are using YACL in an architectury project (one with a common subproject), you will from now on depend on
+the fabric version of YACL. There is no longer any common artifact. I don't believe there to be any issues with doing it
+like this.
+
+## Additions
+
+- New colour picker widget by [Superkat32](https://github.com/isXander/YetAnotherConfigLib/pull/140)
+ - This works with existing colour options.
+
+![Colour picker example](https://i.imgur.com/G6Yx6RU.png)
+
+- Added a custom tab API so categories can provide their own GUI, instead of YACL options.
+ - Mod developers can make their category class implement `CustomTabProvider`. Javadoc is available.
+- Add a new Kotlin DSL for creating your YACL UIs. This is a wrapper on top of the java builder interface providing extra functionality for Kotlin users.
+ - YACL does not provide any kotlin libraries, nor does it depend on them. If you would like to use this DSL, make sure your own mod depends on your loader's Kotlin mod.
+ - This is included in the main artifact. You don't need additional dependencies.
+ - An example usage can be found [in the testmod](https://github.com/isXander/YetAnotherConfigLib/blob/multiversion/dev/src/testmod/kotlin/dev/isxander/yacl3/test/DslTest.kt)
+- Improved the backend of dropdown controllers by [Crendgrim](https://github.com/isXander/YetAnotherConfigLib/pull/162)
+
+## Bug Fixes
+
+- Fix GIFs not being preloaded in the resource reloader
+
diff --git a/common/src/main/java/dev/isxander/yacl3/platform/YACLConfig.java b/common/src/main/java/dev/isxander/yacl3/platform/YACLConfig.java
deleted file mode 100644
index 0d14b41..0000000
--- a/common/src/main/java/dev/isxander/yacl3/platform/YACLConfig.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package dev.isxander.yacl3.platform;
-
-import dev.isxander.yacl3.config.v2.api.ConfigClassHandler;
-import dev.isxander.yacl3.config.v2.api.SerialEntry;
-import dev.isxander.yacl3.config.v2.api.serializer.GsonConfigSerializerBuilder;
-
-public class YACLConfig {
- public static final ConfigClassHandler<YACLConfig> HANDLER = ConfigClassHandler.createBuilder(YACLConfig.class)
- .id(YACLPlatform.rl("config"))
- .serializer(config -> GsonConfigSerializerBuilder.create(config)
- .setPath(YACLPlatform.getConfigDir().resolve("yacl.json5"))
- .setJson5(true)
- .build())
- .build();
-
- @SerialEntry
- public boolean showColorPickerIndicator = true;
-}
diff --git a/common/src/main/resources/assets/yet_another_config_lib/textures/gui/sprites/controller/colorpicker.png b/common/src/main/resources/assets/yet_another_config_lib/textures/gui/sprites/controller/colorpicker.png
deleted file mode 100644
index 1d11f72..0000000
--- a/common/src/main/resources/assets/yet_another_config_lib/textures/gui/sprites/controller/colorpicker.png
+++ /dev/null
Binary files differ
diff --git a/common/src/main/resources/assets/yet_another_config_lib/textures/gui/sprites/controller/colorpicker.png.mcmeta b/common/src/main/resources/assets/yet_another_config_lib/textures/gui/sprites/controller/colorpicker.png.mcmeta
deleted file mode 100644
index 20d1be9..0000000
--- a/common/src/main/resources/assets/yet_another_config_lib/textures/gui/sprites/controller/colorpicker.png.mcmeta
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "gui": {
- "scaling": {
- "type": "nine_slice",
- "width": 236,
- "height": 34,
- "border": 3
- }
- }
-}
diff --git a/common/src/main/resources/assets/yet_another_config_lib/textures/gui/sprites/controller/transparent.png b/common/src/main/resources/assets/yet_another_config_lib/textures/gui/sprites/controller/transparent.png
deleted file mode 100644
index 0a803ef..0000000
--- a/common/src/main/resources/assets/yet_another_config_lib/textures/gui/sprites/controller/transparent.png
+++ /dev/null
Binary files differ
diff --git a/common/src/main/resources/assets/yet_another_config_lib/textures/gui/sprites/controller/transparent.png.mcmeta b/common/src/main/resources/assets/yet_another_config_lib/textures/gui/sprites/controller/transparent.png.mcmeta
deleted file mode 100644
index 9d21305..0000000
--- a/common/src/main/resources/assets/yet_another_config_lib/textures/gui/sprites/controller/transparent.png.mcmeta
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "gui": {
- "scaling": {
- "type": "tile",
- "width": 7,
- "height": 7,
- "border": 3
- }
- }
-}
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 0baa945..184e591 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -28,7 +28,7 @@ extensions.configure<StonecutterSettings> {
mc("1.20.4", loaders = listOf("fabric", "neoforge"))
mc("1.20.1", loaders = listOf("fabric", "forge"))
- mc("1.20.5-beta.2", name = "1.20.5-pre2", loaders = listOf("fabric"))
+ mc("1.20.5", loaders = listOf("fabric"))
}
create(rootProject)
}
diff --git a/src/main/java/dev/isxander/yacl3/config/GsonConfigInstance.java b/src/main/java/dev/isxander/yacl3/config/GsonConfigInstance.java
index c47afe2..83a0b1c 100644
--- a/src/main/java/dev/isxander/yacl3/config/GsonConfigInstance.java
+++ b/src/main/java/dev/isxander/yacl3/config/GsonConfigInstance.java
@@ -68,11 +68,11 @@ public class GsonConfigInstance<T> extends ConfigInstance<T> {
this.path = path;
this.gson = builder
.setExclusionStrategies(new ConfigExclusionStrategy())
- /*? if >1.20.4 { *//*
+ /*? if >1.20.4 { */
.registerTypeHierarchyAdapter(Component.class, new Component.SerializerAdapter(RegistryAccess.EMPTY))
- *//*? } elif =1.20.4 {*/
+ /*? } elif =1.20.4 {*//*
.registerTypeHierarchyAdapter(Component.class, new Component.SerializerAdapter())
- /*? } else {*//*
+ *//*? } else {*//*
.registerTypeHierarchyAdapter(Component.class, new Component.Serializer())
*//*?}*/
.registerTypeHierarchyAdapter(Style.class, /*? if >=1.20.4 {*/new GsonConfigSerializer.StyleTypeAdapter()/*?} else {*//*new Style.Serializer()*//*?}*/)
@@ -169,11 +169,11 @@ public class GsonConfigInstance<T> extends ConfigInstance<T> {
private UnaryOperator<GsonBuilder> gsonBuilder = builder -> builder
.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES)
.serializeNulls()
- /*? if >1.20.4 { *//*
+ /*? if >1.20.4 { */
.registerTypeHierarchyAdapter(Component.class, new Component.SerializerAdapter(RegistryAccess.EMPTY))
- *//*? } elif =1.20.4 {*/
+ /*? } elif =1.20.4 {*//*
.registerTypeHierarchyAdapter(Component.class, new Component.SerializerAdapter())
- /*? } else {*//*
+ *//*? } else {*//*
.registerTypeHierarchyAdapter(Component.class, new Component.Serializer())
*//*?}*/
.registerTypeHierarchyAdapter(Style.class, /*? if >=1.20.4 {*/new GsonConfigSerializer.StyleTypeAdapter()/*?} else {*//*new Style.Serializer()*//*?}*/)
diff --git a/src/main/java/dev/isxander/yacl3/config/v2/impl/serializer/GsonConfigSerializer.java b/src/main/java/dev/isxander/yacl3/config/v2/impl/serializer/GsonConfigSerializer.java
index 9f6d8c8..3492c55 100644
--- a/src/main/java/dev/isxander/yacl3/config/v2/impl/serializer/GsonConfigSerializer.java
+++ b/src/main/java/dev/isxander/yacl3/config/v2/impl/serializer/GsonConfigSerializer.java
@@ -221,11 +221,11 @@ public class GsonConfigSerializer<T> extends ConfigSerializer<T> {
private UnaryOperator<GsonBuilder> gsonBuilder = builder -> builder
.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES)
.serializeNulls()
- /*? if >1.20.4 { *//*
+ /*? if >1.20.4 { */
.registerTypeHierarchyAdapter(Component.class, new Component.SerializerAdapter(RegistryAccess.EMPTY))
- *//*? } elif =1.20.4 {*/
+ /*? } elif =1.20.4 {*//*
.registerTypeHierarchyAdapter(Component.class, new Component.SerializerAdapter())
- /*? } else {*//*
+ *//*? } else {*//*
.registerTypeHierarchyAdapter(Component.class, new Component.Serializer())
*//*?}*/
.registerTypeHierarchyAdapter(Style.class, /*? if >=1.20.4 {*/new StyleTypeAdapter()/*?} else {*//*new Style.Serializer()*//*?}*/)
diff --git a/src/main/java/dev/isxander/yacl3/gui/ElementListWidgetExt.java b/src/main/java/dev/isxander/yacl3/gui/ElementListWidgetExt.java
index 742125b..b183dc8 100644
--- a/src/main/java/dev/isxander/yacl3/gui/ElementListWidgetExt.java
+++ b/src/main/java/dev/isxander/yacl3/gui/ElementListWidgetExt.java
@@ -169,11 +169,25 @@ public class ElementListWidgetExt<E extends ElementListWidgetExt.Entry<E>> exten
}
@Override
- /*? if >1.20.4 {*//*
+ protected void ensureVisible(E entry) {
+ int i = this.getRowTop(this.children().indexOf(entry));
+ int j = i - this.getY() - 4 - entry.getItemHeight();
+ if (j < 0) {
+ this.setScrollAmount(this.getScrollAmount() + j);
+ }
+
+ int k = this.getBottom() - i - entry.getItemHeight() * 2;
+ if (k < 0) {
+ this.setScrollAmount(this.getScrollAmount() - k);
+ }
+ }
+
+ @Override
+ /*? if >1.20.4 {*/
protected void renderListItems(GuiGraphics graphics, int mouseX, int mouseY, float delta)
- *//*? } else {*/
+ /*? } else {*//*
protected void renderList(GuiGraphics graphics, int mouseX, int mouseY, float delta)
- /*?}*/
+ *//*?}*/
{
int left = this.getRowLeft();
int right = this.getRowWidth();
diff --git a/src/main/java/dev/isxander/yacl3/gui/OptionListWidget.java b/src/main/java/dev/isxander/yacl3/gui/OptionListWidget.java
index f699f0c..9827aab 100644
--- a/src/main/java/dev/isxander/yacl3/gui/OptionListWidget.java
+++ b/src/main/java/dev/isxander/yacl3/gui/OptionListWidget.java
@@ -244,11 +244,11 @@ public class OptionListWidget extends ElementListWidgetExt<OptionListWidget.Entr
}
}
- /*? if >1.20.4 {*//*
+ /*? if >1.20.4 {*/
@Override
protected void renderListBackground(GuiGraphics guiGraphics) {
}
- *//*?}*/
+ /*?}*/
public abstract class Entry extends ElementListWidgetExt.Entry<Entry> {
public boolean isViewable() {
diff --git a/src/main/java/dev/isxander/yacl3/gui/YACLScreen.java b/src/main/java/dev/isxander/yacl3/gui/YACLScreen.java
index 2eeb7d5..59f16ff 100644
--- a/src/main/java/dev/isxander/yacl3/gui/YACLScreen.java
+++ b/src/main/java/dev/isxander/yacl3/gui/YACLScreen.java
@@ -121,13 +121,13 @@ public class YACLScreen extends Screen {
currentPopupController = null;
}
- /*? if <=1.20.4 {*/
+ /*? if <=1.20.4 {*//*
@Override
public void render(GuiGraphics graphics, int mouseX, int mouseY, float delta) {
renderDirtBackground(graphics);
super.render(graphics, mouseX, mouseY, delta);
}
- /*?}*/
+ *//*?}*/
@Override
public void renderBackground(GuiGraphics guiGraphics/*? if >1.20.1 {*/, int mouseX, int mouseY, float partialTick/*?}*/) {
@@ -286,9 +286,9 @@ public class YACLScreen extends Screen {
}
public static class CategoryTab implements TabExt {
- /*? if >1.20.4 {*//*
+ /*? if >1.20.4 {*/
private static final ResourceLocation DARKER_BG = new ResourceLocation("textures/gui/menu_list_background.png");
- *//*?}*/
+ /*?}*/
private final YACLScreen screen;
private final ConfigCategory category;
@@ -379,7 +379,7 @@ public class YACLScreen extends Screen {
consumer.accept(descriptionWidget);
}
- /*? if >1.20.4 {*//*
+ /*? if >1.20.4 {*/
@Override
public void renderBackground(GuiGraphics graphics) {
RenderSystem.enableBlend();
@@ -401,7 +401,7 @@ public class YACLScreen extends Screen {
RenderSystem.disableBlend();
}
- *//*?}*/
+ /*?}*/
@Override
public void doLayout(ScreenRectangle screenRectangle) {
diff --git a/src/main/java/dev/isxander/yacl3/gui/YACLTooltip.java b/src/main/java/dev/isxander/yacl3/gui/YACLTooltip.java
index 94b91a9..33028d7 100644
--- a/src/main/java/dev/isxander/yacl3/gui/YACLTooltip.java
+++ b/src/main/java/dev/isxander/yacl3/gui/YACLTooltip.java
@@ -13,11 +13,11 @@ public class YACLTooltip extends Tooltip {
this.widget = widget;
}
- /*? if >1.20.4 {*//* // stonecutter cannot handle AND expressions
- *//*? } elif >1.20.1 {*/
+ /*? if >1.20.4 {*/ // stonecutter cannot handle AND expressions
+ /*? } elif >1.20.1 {*//*
@Override
protected ClientTooltipPositioner createTooltipPositioner(boolean bl, boolean bl2, ScreenRectangle screenRectangle) {
return new YACLTooltipPositioner(widget);
}
- /*?}*/
+ *//*?}*/
}
diff --git a/src/main/java/dev/isxander/yacl3/gui/controllers/dropdown/DropdownWidget.java b/src/main/java/dev/isxander/yacl3/gui/controllers/dropdown/DropdownWidget.java
index f16a1dd..6252291 100644
--- a/src/main/java/dev/isxander/yacl3/gui/controllers/dropdown/DropdownWidget.java
+++ b/src/main/java/dev/isxander/yacl3/gui/controllers/dropdown/DropdownWidget.java
@@ -61,11 +61,11 @@ public class DropdownWidget<T> extends ControllerPopupWidget<AbstractDropdownCon
// Background
graphics.setColor(0.25f, 0.25f, 0.25f, 1.0f);
graphics.blit(
- /*? if >1.20.4 {*//*
+ /*? if >1.20.4 {*/
Screen.MENU_BACKGROUND,
- *//*?} else {*/
+ /*?} else {*//*
Screen.BACKGROUND_LOCATION,
- /*?}*/
+ *//*?}*/
dropdownDim.x(), dropdownDim.y(), 0,
0.0f, 0.0f,
dropdownDim.width(), dropdownDim.height(),
diff --git a/src/main/java/dev/isxander/yacl3/mixin/TabNavigationBarAccessor.java b/src/main/java/dev/isxander/yacl3/mixin/TabNavigationBarAccessor.java
index 8850390..e0fe06c 100644
--- a/src/main/java/dev/isxander/yacl3/mixin/TabNavigationBarAccessor.java
+++ b/src/main/java/dev/isxander/yacl3/mixin/TabNavigationBarAccessor.java
@@ -10,13 +10,13 @@ import org.spongepowered.asm.mixin.gen.Accessor;
@Mixin(TabNavigationBar.class)
public interface TabNavigationBarAccessor {
- /*? if >1.20.4 {*//*
+ /*? if >1.20.4 {*/
@Accessor("layout")
net.minecraft.client.gui.layouts.LinearLayout yacl$getLayout();
- *//*? } else {*/
+ /*? } else {*//*
@Accessor("layout")
net.minecraft.client.gui.layouts.GridLayout yacl$getLayout();
- /*?}*/
+ *//*?}*/
@Accessor("width")
int yacl$getWidth();
diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml
index b130a4e..3954b6f 100644
--- a/src/main/resources/META-INF/mods.toml
+++ b/src/main/resources/META-INF/mods.toml
@@ -1,5 +1,5 @@
modLoader = "javafml"
-loaderVersion = "[1,)"
+loaderVersion = "${loaderVersion}"
#issueTrackerURL = ""
license = "LGPL-3.0-or-later"
@@ -17,15 +17,15 @@ logoFile = "yacl-128x.png"
config = "yacl.mixins.json"
[["dependencies.${id}"]]
-modId = "neoforge"
+modId = "${forgeId}"
mandatory = true
-versionRange = "[20,)"
+versionRange = "${forgeConstraint}"
ordering = "NONE"
side = "BOTH"
[["dependencies.${id}"]]
modId = "minecraft"
mandatory = true
-versionRange = "[1.20.3,)"
+versionRange = "${mc}"
ordering = "NONE"
side = "BOTH"
diff --git a/src/testmod/resources/META-INF/mods.toml b/src/testmod/resources/META-INF/mods.toml
index 74e4078..2af31d4 100644
--- a/src/testmod/resources/META-INF/mods.toml
+++ b/src/testmod/resources/META-INF/mods.toml
@@ -15,11 +15,3 @@ authors = "isXander"
[[mixins]]
config = "yacl-test.mixins.json"
-[[dependencies.yacl_test]]
-modId = "neoforge"
-mandatory = true
-
-[[dependencies.yacl_test]]
-modId = "minecraft"
-mandatory = true
-
diff --git a/stonecutter.gradle.kts b/stonecutter.gradle.kts
index a38066e..38c2fec 100644
--- a/stonecutter.gradle.kts
+++ b/stonecutter.gradle.kts
@@ -1,7 +1,7 @@
plugins {
id("dev.kikugie.stonecutter")
}
-stonecutter active "1.20.4-fabric" /* [SC] DO NOT EDIT */
+stonecutter active "1.20.5-fabric" /* [SC] DO NOT EDIT */
stonecutter registerChiseled tasks.register("chiseledBuild", stonecutter.chiseled) {
group = "mod"
diff --git a/versions/1.20.1-forge/gradle.properties b/versions/1.20.1-forge/gradle.properties
index a4c8daf..64b9e33 100644
--- a/versions/1.20.1-forge/gradle.properties
+++ b/versions/1.20.1-forge/gradle.properties
@@ -4,4 +4,8 @@ java.version=17
deps.quiltMappings=23
deps.forge=1.20.1-47.2.23
-fmj.mcDep=1.20.1
+
+modstoml.mcDep=[1.20,1.20.1]
+modstoml.loaderVersion=[46,)
+modstoml.forgeId=forge
+modstoml.forgeConstraint=[46,)
diff --git a/versions/1.20.4-neoforge/gradle.properties b/versions/1.20.4-neoforge/gradle.properties
index e5ff9c7..6274b1a 100644
--- a/versions/1.20.4-neoforge/gradle.properties
+++ b/versions/1.20.4-neoforge/gradle.properties
@@ -4,4 +4,8 @@ java.version=17
deps.quiltMappings=3
deps.neoforge=20.4.130-beta
-fmj.mcDep=1.20.3,1.20.4
+
+modstoml.mcDep=[1.20.4]
+modstoml.loaderVersion=[1,)
+modstoml.forgeId=neoforge
+modstoml.forgeConstraint=[20,)
diff --git a/versions/1.20.5-pre2-fabric/gradle.properties b/versions/1.20.5-fabric/gradle.properties
index 37a43a6..5eb352c 100644
--- a/versions/1.20.5-pre2-fabric/gradle.properties
+++ b/versions/1.20.5-fabric/gradle.properties
@@ -4,4 +4,4 @@ java.version=21
deps.quiltMappings=
deps.fabricApi=0.97.1+1.20.5
-fmj.mcDep=~1.20.5-
+fmj.mcDep=~1.20.5