Skip to content

Commit a276167

Browse files
authored
Port to 1.21.9 snapshots (#281)
* port to 25w31a * JiJ the mavenlocal fapi module * include fabric-api-base JiJ to get it working in prod * fix: no access widener in fabric.mod.json * update to use officially released FAPI on 1.21.9 * fix neoforge builds
1 parent 52242b0 commit a276167

29 files changed

Lines changed: 92 additions & 81 deletions

build.gradle.kts

Lines changed: 10 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,7 @@ val testmod by sourceSets.registering {
4545

4646
modstitch {
4747
minecraftVersion = mcVersion
48-
49-
// ideally, we use 17 for everything to tell IDE about the language features that are available
50-
// on the lowest common denominator: 17. However, Forge versions that use a java 21 MC version
51-
// won't compile on Java 17, so we need to use 21 for those.
52-
val mcIsJava21 = stonecutter.eval(mcSemverVersion, ">1.20.4")
53-
javaTarget = if (mcIsJava21 && isForgeLike) 21 else 17
48+
javaVersion = 21
5449

5550
parchment {
5651
prop("parchment.version") { mappingsVersion = it }
@@ -98,21 +93,14 @@ modstitch {
9893
}
9994

10095
mixin.useLegacyMixinAp = false
101-
102-
accessWidenerPath = rootProject.file("src/main/resources/yacl.accesswidener")
10396
}
104-
105-
// do not validate
106-
tasks.getByName("validateAccessWidener").enabled = false
10797
}
10898

10999
moddevgradle {
110-
enable {
111-
prop("deps.neoforge") { neoForgeVersion = it }
112-
prop("deps.forge") { forgeVersion = it }
113-
}
100+
prop("deps.neoforge") { neoForgeVersion = it }
101+
prop("deps.forge") { forgeVersion = it }
114102

115-
configureNeoforge {
103+
configureNeoForge {
116104
runs {
117105
register("testmodClient") {
118106
client()
@@ -121,8 +109,6 @@ modstitch {
121109
}
122110
}
123111

124-
validateAccessTransformers = false
125-
126112
mods {
127113
register("testmod") {
128114
sourceSet(testmod.get())
@@ -197,6 +183,7 @@ dependencies {
197183

198184
if (isFabric) {
199185
modDependency("fabricApi", { "net.fabricmc.fabric-api:fabric-api:$it" }, requiredByDependants = true)
186+
200187
modDependency("fabricLangKotlin", { "net.fabricmc:fabric-language-kotlin:${it}" })
201188
}
202189
if (isNeoforge) {
@@ -353,7 +340,7 @@ publishing {
353340
tasks {
354341
withType<KotlinCompile> {
355342
compilerOptions {
356-
jvmTarget = modstitch.javaTarget.map { JvmTarget.fromTarget(it.toString()) }
343+
jvmTarget = modstitch.javaVersion.map { JvmTarget.fromTarget(it.toString()) }
357344
}
358345

359346
dependsOn("stonecutterGenerate")
@@ -364,8 +351,10 @@ tasks.named("generateModMetadata") {
364351
dependsOn("stonecutterGenerate")
365352
}
366353
modstitch.moddevgradle {
367-
tasks.named("createMinecraftArtifacts") {
368-
dependsOn("stonecutterGenerate")
354+
modstitch.onEnable {
355+
tasks.named("createMinecraftArtifacts") {
356+
dependsOn("stonecutterGenerate")
357+
}
369358
}
370359
}
371360

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ curseforgeSlug=yacl
88
curseforgeId=667299
99
githubProject=isXander/YetAnotherConfigLib
1010

11-
deps.fabricLoader=0.16.14
11+
deps.fabricLoader=0.17.0
1212
deps.imageio=3.12.0
1313
deps.quiltParsers=0.2.1
1414
deps.fabricLangKotlin=1.12.3+kotlin.2.0.21
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#Fri Apr 05 20:43:25 CEST 2024
22
distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
4-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-all.zip
4+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-all.zip
55
zipStoreBase=GRADLE_USER_HOME
66
zipStorePath=wrapper/dists
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
accessWidener v2 named
1+
accessWidener v1 named
22

33
extendable method net/minecraft/client/gui/components/AbstractSelectionList children ()Ljava/util/List;
44
extendable method net/minecraft/client/gui/components/AbstractSelectionList getEntryAtPosition (DD)Lnet/minecraft/client/gui/components/AbstractSelectionList$Entry;
@@ -7,12 +7,8 @@ accessible method net/minecraft/client/gui/components/tabs/TabNavigationBar <ini
77
accessible method net/minecraft/client/gui/components/Tooltip <init> (Lnet/minecraft/network/chat/Component;Lnet/minecraft/network/chat/Component;)V
88

99
# CompositeStateBuilders got protected in 1.21.5. You need them for creating `RenderType`s.
10-
#?if >=1.21.5 {
1110
accessible method net/minecraft/client/renderer/RenderType$CompositeState$CompositeStateBuilder setTextureState (Lnet/minecraft/client/renderer/RenderStateShard$EmptyTextureStateShard;)Lnet/minecraft/client/renderer/RenderType$CompositeState$CompositeStateBuilder;
1211
accessible method net/minecraft/client/renderer/RenderType$CompositeState$CompositeStateBuilder createCompositeState (Z)Lnet/minecraft/client/renderer/RenderType$CompositeState;
13-
#?}
1412

15-
#? if >=1.21.6 {
1613
accessible class net/minecraft/client/gui/GuiGraphics$ScissorStack
1714
accessible method net/minecraft/client/gui/GuiGraphics$ScissorStack peek ()Lnet/minecraft/client/gui/navigation/ScreenRectangle;
18-
#? }

settings.gradle.kts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,13 @@ pluginManagement {
33
mavenCentral()
44
gradlePluginPortal()
55
maven("https://maven.fabricmc.net/")
6-
maven("https://maven.architectury.dev")
76
maven("https://maven.neoforged.net/releases/")
8-
maven("https://maven.minecraftforge.net/")
97
maven("https://maven.kikugie.dev/releases")
10-
maven("https://maven.kikugie.dev/snapshots")
11-
maven("https://maven.isxander.dev/releases")
128
}
139
}
1410

1511
plugins {
16-
id("dev.kikugie.stonecutter") version "0.7-alpha.22"
12+
id("dev.kikugie.stonecutter") version "0.7.6"
1713
}
1814

1915
stonecutter {
@@ -27,6 +23,7 @@ stonecutter {
2723
}
2824
}
2925

26+
mc("1.21.9", loaders = listOf("fabric"))
3027
mc("1.21.6", loaders = listOf("fabric", "neoforge"))
3128
mc("1.21.5", loaders = listOf("fabric", "neoforge"))
3229
mc("1.21.4", loaders = listOf("fabric", "neoforge"))

src/main/java/dev/isxander/yacl3/gui/ElementListWidgetExt.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -110,12 +110,12 @@ protected boolean isValidMouseClick(int button) {
110110
}
111111

112112
@Override
113-
public boolean mouseClicked(double mouseX, double mouseY, int button) {
113+
public boolean mouseClicked(double mouseX, double mouseY, int button /*? if >=1.21.9 {*/ ,boolean doubleClick /*?}*/) {
114114
if (button == 0 && mouseX >= scrollBarX() && mouseX < scrollBarX() + SCROLLBAR_WIDTH) {
115115
usingScrollbar = true;
116116
}
117117

118-
return super.mouseClicked(mouseX, mouseY, button);
118+
return super.mouseClicked(mouseX, mouseY, button /*? if >=1.21.9 {*/ ,doubleClick /*?}*/);
119119
}
120120

121121
@Override
@@ -262,9 +262,9 @@ public void visitWidgets(Consumer<AbstractWidget> consumer) {
262262

263263
public abstract static class Entry<E extends Entry<E>> extends ContainerObjectSelectionList.Entry<E> {
264264
@Override
265-
public boolean mouseClicked(double mouseX, double mouseY, int button) {
265+
public boolean mouseClicked(double mouseX, double mouseY, int button /*? if >=1.21.9 {*/ ,boolean doubleClick /*?}*/) {
266266
for (GuiEventListener child : this.children()) {
267-
if (child.mouseClicked(mouseX, mouseY, button)) {
267+
if (child.mouseClicked(mouseX, mouseY, button /*? if >=1.21.9 {*/ ,doubleClick /*?}*/)) {
268268
if (button == InputConstants.MOUSE_BUTTON_LEFT || button == InputConstants.MOUSE_BUTTON_RIGHT)
269269
this.setDragging(true);
270270
return true;

src/main/java/dev/isxander/yacl3/gui/OptionDescriptionWidget.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ public void renderWidget(GuiGraphics graphics, int mouseX, int mouseY, float del
108108
}
109109

110110
@Override
111-
public boolean mouseClicked(double mouseX, double mouseY, int button) {
111+
public boolean mouseClicked(double mouseX, double mouseY, int button /*? if >=1.21.9 {*/ ,boolean doubleClick /*?}*/) {
112112
Style clickedStyle = getDescStyle((int) mouseX, (int) mouseY);
113113
if (clickedStyle != null && clickedStyle.getClickEvent() != null) {
114114
if (minecraft.screen.handleComponentClicked(clickedStyle)) {

src/main/java/dev/isxander/yacl3/gui/OptionListWidget.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,13 +147,13 @@ public void updateSearchQuery(String query) {
147147
}
148148

149149
@Override
150-
public boolean mouseClicked(double mouseX, double mouseY, int button) {
150+
public boolean mouseClicked(double mouseX, double mouseY, int button /*? if >=1.21.9 {*/ ,boolean doubleClick /*?}*/) {
151151
for (Entry child : children()) {
152152
if (child != getEntryAtPosition(mouseX, mouseY) && child instanceof OptionEntry optionEntry)
153153
optionEntry.widget.unfocus();
154154
}
155155

156-
return super.mouseClicked(mouseX, mouseY, button);
156+
return super.mouseClicked(mouseX, mouseY, button /*? if >=1.21.9 {*/ ,doubleClick /*?}*/);
157157
}
158158

159159
@Override

src/main/java/dev/isxander/yacl3/gui/YACLScreen.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -195,8 +195,8 @@ public void tick() {
195195
}
196196

197197
@Override
198-
public boolean mouseClicked(double mouseX, double mouseY, int button) {
199-
if (super.mouseClicked(mouseX, mouseY, button)) {
198+
public boolean mouseClicked(double mouseX, double mouseY, int button /*? if >=1.21.9 {*/ ,boolean doubleClick /*?}*/) {
199+
if (super.mouseClicked(mouseX, mouseY, button /*? if >=1.21.9 {*/ ,doubleClick /*?}*/)) {
200200
this.setDragging(true);
201201
return true;
202202
}

src/main/java/dev/isxander/yacl3/gui/controllers/ActionController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ public void executeAction() {
8080
}
8181

8282
@Override
83-
public boolean mouseClicked(double mouseX, double mouseY, int button) {
83+
public boolean mouseClicked(double mouseX, double mouseY, int button /*? if >=1.21.9 {*/ ,boolean doubleClick /*?}*/) {
8484
if (isMouseOver(mouseX, mouseY) && isAvailable()) {
8585
executeAction();
8686
return true;

0 commit comments

Comments
 (0)