From 9f850881b33641de9a0c5e358db35ae6bcfe9f80 Mon Sep 17 00:00:00 2001 From: TheClashFruit Date: Sat, 13 Jul 2024 13:57:40 +0200 Subject: [PATCH 1/5] feat: multi version start --- .gitea/workflows/build.yml | 2 +- build.gradle | 96 ------------------- build.gradle.kts | 70 ++++++++++++++ changelogs/2.0.0.md | 6 ++ gradle.properties | 23 +---- gradle/wrapper/gradle-wrapper.properties | 2 +- root.gradle.kts | 38 ++++++++ settings.gradle | 9 -- settings.gradle.kts | 52 ++++++++++ .../theclashfruit/cc/ClutteredCreative.java | 2 +- .../cc/client/ClutteredCreativeClient.java | 10 -- .../cc/mixin/ItemGroupsMixin.java | 12 ++- .../resources/META-INF/accesstransformer.cfg | 1 + src/main/resources/META-INF/mods.toml | 15 +++ .../resources/META-INF/neoforge.mods.toml | 15 +++ src/main/resources/cc.accesswidener | 9 +- src/main/resources/fabric.mod.json | 9 +- versions/mainProject | 1 + 18 files changed, 224 insertions(+), 148 deletions(-) delete mode 100644 build.gradle create mode 100644 build.gradle.kts create mode 100644 changelogs/2.0.0.md create mode 100644 root.gradle.kts delete mode 100644 settings.gradle create mode 100644 settings.gradle.kts delete mode 100644 src/main/java/me/theclashfruit/cc/client/ClutteredCreativeClient.java create mode 100644 src/main/resources/META-INF/accesstransformer.cfg create mode 100644 src/main/resources/META-INF/mods.toml create mode 100644 src/main/resources/META-INF/neoforge.mods.toml create mode 100644 versions/mainProject diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 7485c92..99f2bed 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -25,4 +25,4 @@ jobs: - name: Upload Artifacts uses: actions/upload-artifact@v3 with: - path: build/libs/*.jar \ No newline at end of file + path: 'versions/**/build/libs/*.jar' \ No newline at end of file diff --git a/build.gradle b/build.gradle deleted file mode 100644 index 317afc4..0000000 --- a/build.gradle +++ /dev/null @@ -1,96 +0,0 @@ -plugins { - id 'fabric-loom' version '1.2-SNAPSHOT' - id 'maven-publish' -} - -version = project.mod_version -group = project.maven_group - -repositories { - // Add repositories to retrieve artifacts from in here. - // You should only use this when depending on other mods because - // Loom adds the essential maven repositories to download Minecraft and libraries from automatically. - // See https://docs.gradle.org/current/userguide/declaring_repositories.html - // for more information about repositories. - - maven { - name = "Modrinth" - url = "https://api.modrinth.com/maven" - } -} - -dependencies { - // To change the versions see the gradle.properties file - minecraft "com.mojang:minecraft:${project.minecraft_version}" - mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" - modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" - - // Fabric API. This is technically optional, but you probably want it anyway. - modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" - - modLocalRuntime("maven.modrinth:modmenu:${project.modmenu_version}") -} - -loom { - accessWidenerPath = file("src/main/resources/cc.accesswidener") -} - -processResources { - inputs.property "version", project.version - inputs.property "minecraft_version", project.minecraft_version - inputs.property "loader_version", project.loader_version - filteringCharset "UTF-8" - - filesMatching("fabric.mod.json") { - expand "version": project.version, - "minecraft_version": project.minecraft_version, - "loader_version": project.loader_version - } -} - -def targetJavaVersion = 17 -tasks.withType(JavaCompile).configureEach { - // ensure that the encoding is set to UTF-8, no matter what the system default is - // this fixes some edge cases with special characters not displaying correctly - // see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html - // If Javadoc is generated, this must be specified in that task too. - it.options.encoding = "UTF-8" - if (targetJavaVersion >= 10 || JavaVersion.current().isJava10Compatible()) { - it.options.release = targetJavaVersion - } -} - -java { - def javaVersion = JavaVersion.toVersion(targetJavaVersion) - if (JavaVersion.current() < javaVersion) { - toolchain.languageVersion = JavaLanguageVersion.of(targetJavaVersion) - } - archivesBaseName = project.archives_base_name - // Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task - // if it is present. - // If you remove this line, sources will not be generated. - withSourcesJar() -} - -jar { - from("LICENSE") { - rename { "${it}_${project.archivesBaseName}"} - } -} - -// configure the maven publication -publishing { - publications { - mavenJava(MavenPublication) { - from components.java - } - } - - // See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing. - repositories { - // Add repositories to publish to here. - // Notice: This block does NOT have the same function as the block in the top level. - // The repositories here will be used for publishing your artifact, not for - // retrieving dependencies. - } -} diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 0000000..00090f7 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,70 @@ +import dev.deftu.gradle.utils.ModLoader + +import dev.deftu.gradle.tools.minecraft.CurseRelation +import dev.deftu.gradle.tools.minecraft.CurseRelationType +import com.modrinth.minotaur.dependencies.DependencyType +import com.modrinth.minotaur.dependencies.ModDependency + +plugins { + java + + id("dev.deftu.gradle.multiversion") + id("dev.deftu.gradle.tools") + id("dev.deftu.gradle.tools.resources") + id("dev.deftu.gradle.tools.minecraft.api") + id("dev.deftu.gradle.tools.minecraft.loom") + id("dev.deftu.gradle.tools.publishing.maven") + id("dev.deftu.gradle.tools.minecraft.releases") +} + +repositories { + maven("https://api.modrinth.com/maven") +} + +dependencies { + if (mcData.isFabric) { + modImplementation("net.fabricmc.fabric-api:fabric-api:${mcData.dependencies.fabric.fabricApiVersion}") + modImplementation(mcData.dependencies.fabric.modMenuDependency) + } +} + +loom { + accessWidenerPath = file("../../src/main/resources/cc.accesswidener") +} + +/* +minecraft { + accessTransformer = file("../../src/main/resources/META-INF/accesstransformer.cfg") +} +*/ + +toolkitReleases { + detectVersionType.set(true) + + rootProject.file("changelogs/${modData.version}.md").let { file -> + if (file.exists()) + changelogFile.set(file) + } + + modrinth { + projectId.set("Fs6mB0ic") + + if (mcData.loader == ModLoader.FABRIC) { + dependencies.addAll(listOf( + ModDependency("P7dR8mSH", DependencyType.REQUIRED), // Fabric API + ModDependency("mOgUt4GM", DependencyType.OPTIONAL) // Mod Menu + )) + } + } + + curseforge { + projectId.set("901062") + + if (mcData.loader == ModLoader.FABRIC) { + relations.addAll(listOf( + CurseRelation("fabric-api", CurseRelationType.REQUIRED), // Fabric API + CurseRelation("modmenu", CurseRelationType.OPTIONAL) // Mod Menu + )) + } + } +} \ No newline at end of file diff --git a/changelogs/2.0.0.md b/changelogs/2.0.0.md new file mode 100644 index 0000000..0386104 --- /dev/null +++ b/changelogs/2.0.0.md @@ -0,0 +1,6 @@ +The mod has been revived from the dead! + +* Added Missing Items + * Pottery Sherds + * Smithing Templates +* Fixed The Brewing Tab Icon \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index a37fc1d..7552ec7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,20 +1,7 @@ # Done to increase the memory available to gradle. -org.gradle.jvmargs=-Xmx1G +org.gradle.jvmargs=-Xmx2G -# Fabric Properties -# check these on https://modmuss50.me/fabric.html -minecraft_version=1.20.3 -yarn_mappings=1.20.3+build.1 -loader_version=0.15.1 - -# Mod Properties -mod_version = 1.0.0+mc1.20.3 -maven_group = me.theclashfruit -archives_base_name = cc - -# Dependencies -# check this on https://modmuss50.me/fabric.html -fabric_version=0.91.1+1.20.3 - -# Local Dev Mods -modmenu_version=9.0.0-pre.1 \ No newline at end of file +mod.name=Cluttered Creative +mod.id=cc +mod.version=2.0.0 +mod.group=me.theclashfruit \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 37aef8d..2617362 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/root.gradle.kts b/root.gradle.kts new file mode 100644 index 0000000..1cfcf28 --- /dev/null +++ b/root.gradle.kts @@ -0,0 +1,38 @@ +plugins { + id("dev.deftu.gradle.multiversion-root") +} + +preprocess { + //val neoforge_1_21 = createNode("1.21-neoforge", 1210, "srg") + //val fabric_1_21 = createNode("1.21-fabric", 1210, "yarn") + + //val neoforge_1_20_5 = createNode("1.20.5-neoforge", 1205, "srg") + val fabric_1_20_5 = createNode("1.20.5-fabric", 1205, "yarn") + + //val forge_1_20_3 = createNode("1.20.3-forge", 1203, "srg") + //val neoforge_1_20_3 = createNode("1.20.3-neoforge", 1203, "srg") + val fabric_1_20_3 = createNode("1.20.3-fabric", 1203, "yarn") + + //val forge_1_20_2 = createNode("1.20.2-forge", 1202, "srg") + //val neoforge_1_20_2 = createNode("1.20.2-neoforge", 1202, "srg") + val fabric_1_20_2 = createNode("1.20.2-fabric", 1202, "yarn") + + // val forge_1_20 = createNode("1.20-forge", 1200, "srg") + val fabric_1_20 = createNode("1.20-fabric", 1200, "yarn") + + //fabric_1_21.link(neoforge_1_21) + //fabric_1_21.link(fabric_1_20_3) + + //fabric_1_20_5.link(neoforge_1_20_5) + fabric_1_20_5.link(fabric_1_20_3) + + //forge_1_20_3.link(fabric_1_20_3) + //neoforge_1_20_3.link(fabric_1_20_3) + fabric_1_20_3.link(fabric_1_20_2) + + //forge_1_20_2.link(fabric_1_20_2) //file("versions/forge.txt") + //neoforge_1_20_2.link(fabric_1_20_2) + fabric_1_20_2.link(fabric_1_20) + + // forge_1_20.link(fabric_1_20) +} \ No newline at end of file diff --git a/settings.gradle b/settings.gradle deleted file mode 100644 index f91a4fe..0000000 --- a/settings.gradle +++ /dev/null @@ -1,9 +0,0 @@ -pluginManagement { - repositories { - maven { - name = 'Fabric' - url = 'https://maven.fabricmc.net/' - } - gradlePluginPortal() - } -} diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 0000000..cddd846 --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1,52 @@ +pluginManagement { + repositories { + maven("https://maven.deftu.dev/releases") + maven("https://maven.fabricmc.net") + maven("https://maven.architectury.dev/") + maven("https://maven.minecraftforge.net") + maven("https://maven.neoforged.net/releases") + maven("https://repo.essential.gg/repository/maven-public") + maven("https://server.bbkr.space/artifactory/libs-release/") + maven("https://jitpack.io/") + + maven("https://maven.deftu.dev/snapshots") + mavenLocal() + + gradlePluginPortal() + mavenCentral() + } + + plugins { + id("dev.deftu.gradle.multiversion-root") version("2.2.3") + } +} + +val projectName: String = "Cluttered Creative" + +rootProject.name = projectName +rootProject.buildFileName = "root.gradle.kts" + +listOf( + // "1.20-forge", + "1.20-fabric", + + //"1.20.2-forge", + //"1.20.2-neoforge", + "1.20.2-fabric", + + //"1.20.3-forge", + //"1.20.3-neoforge", + "1.20.3-fabric", + + //"1.20.5-neoforge", + //"1.20.5-fabric", + + //"1.21-neoforge", + //"1.21-fabric" +).forEach { version -> + include(":$version") + project(":$version").apply { + projectDir = file("versions/$version") + buildFileName = "../../build.gradle.kts" + } +} \ No newline at end of file diff --git a/src/main/java/me/theclashfruit/cc/ClutteredCreative.java b/src/main/java/me/theclashfruit/cc/ClutteredCreative.java index 752e605..a9f46b1 100644 --- a/src/main/java/me/theclashfruit/cc/ClutteredCreative.java +++ b/src/main/java/me/theclashfruit/cc/ClutteredCreative.java @@ -9,6 +9,6 @@ public class ClutteredCreative implements ModInitializer { @Override public void onInitialize() { - + LOGGER.info("ClutteredCreative has been initialized!"); } } diff --git a/src/main/java/me/theclashfruit/cc/client/ClutteredCreativeClient.java b/src/main/java/me/theclashfruit/cc/client/ClutteredCreativeClient.java deleted file mode 100644 index 5d58264..0000000 --- a/src/main/java/me/theclashfruit/cc/client/ClutteredCreativeClient.java +++ /dev/null @@ -1,10 +0,0 @@ -package me.theclashfruit.cc.client; - -import net.fabricmc.api.ClientModInitializer; - -public class ClutteredCreativeClient implements ClientModInitializer { - @Override - public void onInitializeClient() { - - } -} diff --git a/src/main/java/me/theclashfruit/cc/mixin/ItemGroupsMixin.java b/src/main/java/me/theclashfruit/cc/mixin/ItemGroupsMixin.java index 3044748..f7f0a8f 100644 --- a/src/main/java/me/theclashfruit/cc/mixin/ItemGroupsMixin.java +++ b/src/main/java/me/theclashfruit/cc/mixin/ItemGroupsMixin.java @@ -13,9 +13,7 @@ import net.minecraft.registry.RegistryKeys; import net.minecraft.registry.tag.InstrumentTags; import net.minecraft.text.Text; import net.minecraft.village.raid.Raid; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Overwrite; -import org.spongepowered.asm.mixin.Unique; +import org.spongepowered.asm.mixin.*; import org.spongepowered.asm.mixin.gen.Invoker; import java.util.EnumSet; @@ -967,7 +965,7 @@ public class ItemGroupsMixin { Registry.register( registry, - REDSTONE, + ItemGroupsMixin.REDSTONE, ItemGroup .create(ItemGroup.Row.TOP, 2) .type(ItemGroup.Type.CATEGORY) @@ -1361,6 +1359,7 @@ public class ItemGroupsMixin { content.add(Items.FROGSPAWN); content.add(Items.ECHO_SHARD); + //#if MC >= 1.20 content.add(Items.ANGLER_POTTERY_SHERD); content.add(Items.ARCHER_POTTERY_SHERD); content.add(Items.ARMS_UP_POTTERY_SHERD); @@ -1381,6 +1380,7 @@ public class ItemGroupsMixin { content.add(Items.SHELTER_POTTERY_SHERD); content.add(Items.SKULL_POTTERY_SHERD); content.add(Items.SNORT_POTTERY_SHERD); + //#endif }) .build() ); @@ -1438,7 +1438,7 @@ public class ItemGroupsMixin { Registry.register( registry, - TOOLS, + ItemGroupsMixin.TOOLS, ItemGroup .create(ItemGroup.Row.BOTTOM, 2) .type(ItemGroup.Type.CATEGORY) @@ -1566,6 +1566,7 @@ public class ItemGroupsMixin { content.add(Items.TRIDENT); content.add(Items.CROSSBOW); + //#if MC >= 1.20 content.add(Items.NETHERITE_UPGRADE_SMITHING_TEMPLATE); content.add(Items.SENTRY_ARMOR_TRIM_SMITHING_TEMPLATE); content.add(Items.VEX_ARMOR_TRIM_SMITHING_TEMPLATE); @@ -1583,6 +1584,7 @@ public class ItemGroupsMixin { content.add(Items.RIB_ARMOR_TRIM_SMITHING_TEMPLATE); content.add(Items.EYE_ARMOR_TRIM_SMITHING_TEMPLATE); content.add(Items.SPIRE_ARMOR_TRIM_SMITHING_TEMPLATE); + //#endif }) .build() ); diff --git a/src/main/resources/META-INF/accesstransformer.cfg b/src/main/resources/META-INF/accesstransformer.cfg new file mode 100644 index 0000000..33e9656 --- /dev/null +++ b/src/main/resources/META-INF/accesstransformer.cfg @@ -0,0 +1 @@ +public net.minecraft.world.item.CreativeModeTab.Builder type(Lnet/minecraft/world/item/CreativeModeTab.Type;)Lnet/minecraft/world/item/CreativeModeTab/Builder; \ No newline at end of file diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml new file mode 100644 index 0000000..7aefb5e --- /dev/null +++ b/src/main/resources/META-INF/mods.toml @@ -0,0 +1,15 @@ +modLoader="javafml" +loaderVersion="[31,)" +issueTrackerURL="https://git.theclashfruit.me/TheClashFruit/ClutteredCreative/issues" +license="MIT" + +[[mods]] + modId="cc" + version="${mod_version}" + displayName="Cluttered Creative" + description="Bring back the old cluttered creative inventory." + authors="TheClashFruit" + logoFile="assets/cc/icon.png" + +[[mixins]] + config = "cc.mixins.json" \ No newline at end of file diff --git a/src/main/resources/META-INF/neoforge.mods.toml b/src/main/resources/META-INF/neoforge.mods.toml new file mode 100644 index 0000000..ae81bda --- /dev/null +++ b/src/main/resources/META-INF/neoforge.mods.toml @@ -0,0 +1,15 @@ +modLoader="javafml" +loaderVersion="[1,)" +issueTrackerURL="https://git.theclashfruit.me/TheClashFruit/ClutteredCreative/issues" +license="MIT" + +[[mods]] + modId="cc" + version="${mod_version}" + displayName="Cluttered Creative" + description="Bring back the old cluttered creative inventory." + authors="TheClashFruit" + logoFile="assets/cc/icon.png" + +[[mixins]] + config = "cc.mixins.json" \ No newline at end of file diff --git a/src/main/resources/cc.accesswidener b/src/main/resources/cc.accesswidener index 71e6311..84a1e18 100644 --- a/src/main/resources/cc.accesswidener +++ b/src/main/resources/cc.accesswidener @@ -1,3 +1,10 @@ accessWidener v1 named -accessible method net/minecraft/item/ItemGroup$Builder type (Lnet/minecraft/item/ItemGroup$Type;)Lnet/minecraft/item/ItemGroup$Builder; \ No newline at end of file +accessible class net/minecraft/item/ItemGroup$StackVisibility + +accessible method net/minecraft/item/ItemGroup$Builder type (Lnet/minecraft/item/ItemGroup$Type;)Lnet/minecraft/item/ItemGroup$Builder; + +accessible field net/minecraft/item/ItemGroups INVENTORY Lnet/minecraft/registry/RegistryKey; +accessible field net/minecraft/item/ItemGroups HOTBAR Lnet/minecraft/registry/RegistryKey; +accessible field net/minecraft/item/ItemGroups SEARCH Lnet/minecraft/registry/RegistryKey; +accessible field net/minecraft/item/ItemGroups COMBAT Lnet/minecraft/registry/RegistryKey; \ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index ee72ac8..dc860ce 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -1,7 +1,7 @@ { "schemaVersion": 1, "id": "cc", - "version": "${version}", + "version": "${mod_version}", "name": "Cluttered Creative", "description": "Bring back the old cluttered creative inventory.", "authors": [ @@ -16,9 +16,6 @@ "icon": "assets/cc/icon.png", "environment": "*", "entrypoints": { - "client": [ - "me.theclashfruit.cc.client.ClutteredCreativeClient" - ], "main": [ "me.theclashfruit.cc.ClutteredCreative" ] @@ -28,9 +25,9 @@ ], "accessWidener" : "cc.accesswidener", "depends": { - "fabricloader": ">=${loader_version}", + "fabricloader": ">=0.15.1", "fabric": "*", - "minecraft": ">=${minecraft_version}" + "minecraft": ">=${mc_version}" }, "custom": { "modmenu": { diff --git a/versions/mainProject b/versions/mainProject new file mode 100644 index 0000000..8a82347 --- /dev/null +++ b/versions/mainProject @@ -0,0 +1 @@ +1.20.3-fabric \ No newline at end of file From a98760f350d0162b7f7fa578cbe073582cdc4237 Mon Sep 17 00:00:00 2001 From: TheClashFruit Date: Sat, 13 Jul 2024 15:49:33 +0200 Subject: [PATCH 2/5] feat: finish multi version except 1.20.5 --- build.gradle.kts | 18 ++- changelogs/2.0.0-rc.1.md | 12 ++ changelogs/2.0.0.md | 6 - gradle.properties | 2 +- root.gradle.kts | 39 ++---- settings.gradle.kts | 16 +-- .../cc/mixin/ItemGroupsInterfaceMixin.java | 40 +++++- .../cc/mixin/ItemGroupsMixin.java | 130 ++++++++++++++---- versions/mainProject | 2 +- 9 files changed, 188 insertions(+), 77 deletions(-) create mode 100644 changelogs/2.0.0-rc.1.md delete mode 100644 changelogs/2.0.0.md diff --git a/build.gradle.kts b/build.gradle.kts index 00090f7..5580086 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,4 +1,4 @@ -import dev.deftu.gradle.utils.ModLoader +import dev.deftu.gradle.utils.* import dev.deftu.gradle.tools.minecraft.CurseRelation import dev.deftu.gradle.tools.minecraft.CurseRelationType @@ -32,6 +32,22 @@ loom { accessWidenerPath = file("../../src/main/resources/cc.accesswidener") } +java { + base.archivesName.set(modData.id) + + tasks { + if (isLoomPresent()) { + named("remapJar") { + archiveBaseName.set(modData.id) + } + } else { + named("jar") { + archiveBaseName.set(modData.id) + } + } + } +} + /* minecraft { accessTransformer = file("../../src/main/resources/META-INF/accesstransformer.cfg") diff --git a/changelogs/2.0.0-rc.1.md b/changelogs/2.0.0-rc.1.md new file mode 100644 index 0000000..18c64da --- /dev/null +++ b/changelogs/2.0.0-rc.1.md @@ -0,0 +1,12 @@ +The mod has been revived from the dead! + +### New + +* 1.21 Support + * !! Enchantment books are missing from the tools tab. + +### Fixes +1. Added Missing Items + * Pottery Sherds + * Smithing Templates +2. Fixed The Brewing Tab Icon \ No newline at end of file diff --git a/changelogs/2.0.0.md b/changelogs/2.0.0.md deleted file mode 100644 index 0386104..0000000 --- a/changelogs/2.0.0.md +++ /dev/null @@ -1,6 +0,0 @@ -The mod has been revived from the dead! - -* Added Missing Items - * Pottery Sherds - * Smithing Templates -* Fixed The Brewing Tab Icon \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 7552ec7..cbe881c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,5 +3,5 @@ org.gradle.jvmargs=-Xmx2G mod.name=Cluttered Creative mod.id=cc -mod.version=2.0.0 +mod.version=2.0.0-rc.1 mod.group=me.theclashfruit \ No newline at end of file diff --git a/root.gradle.kts b/root.gradle.kts index 1cfcf28..6d68642 100644 --- a/root.gradle.kts +++ b/root.gradle.kts @@ -3,36 +3,21 @@ plugins { } preprocess { - //val neoforge_1_21 = createNode("1.21-neoforge", 1210, "srg") - //val fabric_1_21 = createNode("1.21-fabric", 1210, "yarn") - - //val neoforge_1_20_5 = createNode("1.20.5-neoforge", 1205, "srg") + val fabric_1_21 = createNode("1.21-fabric", 1210, "yarn") + val fabric_1_20_6 = createNode("1.20.6-fabric", 1206, "yarn") val fabric_1_20_5 = createNode("1.20.5-fabric", 1205, "yarn") - - //val forge_1_20_3 = createNode("1.20.3-forge", 1203, "srg") - //val neoforge_1_20_3 = createNode("1.20.3-neoforge", 1203, "srg") + val fabric_1_20_4 = createNode("1.20.4-fabric", 1204, "yarn") val fabric_1_20_3 = createNode("1.20.3-fabric", 1203, "yarn") - - //val forge_1_20_2 = createNode("1.20.2-forge", 1202, "srg") - //val neoforge_1_20_2 = createNode("1.20.2-neoforge", 1202, "srg") val fabric_1_20_2 = createNode("1.20.2-fabric", 1202, "yarn") + val fabric_1_20_1 = createNode("1.20.1-fabric", 1201, "yarn") + val fabric_1_20 = createNode("1.20-fabric", 1200, "yarn") - // val forge_1_20 = createNode("1.20-forge", 1200, "srg") - val fabric_1_20 = createNode("1.20-fabric", 1200, "yarn") - - //fabric_1_21.link(neoforge_1_21) - //fabric_1_21.link(fabric_1_20_3) - - //fabric_1_20_5.link(neoforge_1_20_5) - fabric_1_20_5.link(fabric_1_20_3) - - //forge_1_20_3.link(fabric_1_20_3) - //neoforge_1_20_3.link(fabric_1_20_3) + fabric_1_21.link(fabric_1_20_6) + //fabric_1_20_6.link(fabric_1_20_5) + fabric_1_20_6.link(fabric_1_20_4) + //fabric_1_20_5.link(fabric_1_20_4) + fabric_1_20_4.link(fabric_1_20_3) fabric_1_20_3.link(fabric_1_20_2) - - //forge_1_20_2.link(fabric_1_20_2) //file("versions/forge.txt") - //neoforge_1_20_2.link(fabric_1_20_2) - fabric_1_20_2.link(fabric_1_20) - - // forge_1_20.link(fabric_1_20) + fabric_1_20_2.link(fabric_1_20_1) + fabric_1_20_1.link(fabric_1_20) } \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index cddd846..b34edd9 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -27,22 +27,14 @@ rootProject.name = projectName rootProject.buildFileName = "root.gradle.kts" listOf( - // "1.20-forge", "1.20-fabric", - - //"1.20.2-forge", - //"1.20.2-neoforge", + "1.20.1-fabric", "1.20.2-fabric", - - //"1.20.3-forge", - //"1.20.3-neoforge", "1.20.3-fabric", - - //"1.20.5-neoforge", + "1.20.4-fabric", //"1.20.5-fabric", - - //"1.21-neoforge", - //"1.21-fabric" + "1.20.6-fabric", + "1.21-fabric", ).forEach { version -> include(":$version") project(":$version").apply { diff --git a/src/main/java/me/theclashfruit/cc/mixin/ItemGroupsInterfaceMixin.java b/src/main/java/me/theclashfruit/cc/mixin/ItemGroupsInterfaceMixin.java index 24a18ca..33f397e 100644 --- a/src/main/java/me/theclashfruit/cc/mixin/ItemGroupsInterfaceMixin.java +++ b/src/main/java/me/theclashfruit/cc/mixin/ItemGroupsInterfaceMixin.java @@ -1,7 +1,6 @@ package me.theclashfruit.cc.mixin; import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentTarget; import net.minecraft.item.Instrument; import net.minecraft.item.Item; import net.minecraft.item.ItemGroup; @@ -12,6 +11,12 @@ import net.minecraft.registry.tag.TagKey; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.gen.Invoker; +//#if MC >= 1.20.6 +import net.minecraft.resource.featuretoggle.FeatureSet; +//#elseif MC < 1.20.5 +//$$ import net.minecraft.enchantment.EnchantmentTarget; +//#endif + import java.util.Set; @Mixin(ItemGroups.class) @@ -21,13 +26,42 @@ public interface ItemGroupsInterfaceMixin { throw new AssertionError(); } + //#if MC >= 1.20.6 @Invoker("addPotions") - static void invokeAddPotions(ItemGroup.Entries entries, RegistryWrapper registryWrapper, Item item, ItemGroup.StackVisibility visibility) { + static void invokeAddPotions(ItemGroup.Entries entries, RegistryWrapper registryWrapper, Item item, ItemGroup.StackVisibility stackVisibility, FeatureSet featureSet) { throw new AssertionError(); } + //#elseif MC >= 1.20.5 + //$$ @Invoker("addPotions") + //$$ static void invokeAddPotions(ItemGroup.Entries entries, RegistryWrapper registryWrapper, Item item, ItemGroup.StackVisibility visibility) { + //$$ throw new AssertionError(); + //$$ } + //#else + //$$ @Invoker("addPotions") + //$$ static void invokeAddPotions(ItemGroup.Entries entries, RegistryWrapper registryWrapper, Item item, ItemGroup.StackVisibility visibility) { + //$$ throw new AssertionError(); + //$$ } + //#endif + //#if MC >= 1.21 @Invoker("addMaxLevelEnchantedBooks") - static void invokeAddMaxLevelEnchantedBooks(ItemGroup.Entries entries, RegistryWrapper registryWrapper, Set enchantmentTargets, ItemGroup.StackVisibility visibility) { + static void invokeAddMaxLevelEnchantedBooks(ItemGroup.Entries entries, RegistryWrapper registryWrapper, ItemGroup.StackVisibility visibility) { throw new AssertionError(); } + //#elseif MC >= 1.20.6 + //$$ @Invoker("addMaxLevelEnchantedBooks") + //$$ static void invokeAddMaxLevelEnchantedBooks(ItemGroup.Entries entries, RegistryWrapper registryWrapper, Set> set, ItemGroup.StackVisibility stackVisibility, FeatureSet featureSet) { + //$$ throw new AssertionError(); + //$$ } + //#elseif MC >= 1.20.5 + //$$ @Invoker("addMaxLevelEnchantedBooks") + //$$ static void invokeAddMaxLevelEnchantedBooks(ItemGroup.Entries entries, RegistryWrapper registryWrapper, Set> enchantmentTargets, ItemGroup.StackVisibility visibility) { + //$$ throw new AssertionError(); + //$$ } + //#else + //$$ @Invoker("addMaxLevelEnchantedBooks") + //$$ static void invokeAddMaxLevelEnchantedBooks(ItemGroup.Entries entries, RegistryWrapper registryWrapper, Set enchantmentTargets, ItemGroup.StackVisibility visibility) { + //$$ throw new AssertionError(); + //$$ } + //#endif } diff --git a/src/main/java/me/theclashfruit/cc/mixin/ItemGroupsMixin.java b/src/main/java/me/theclashfruit/cc/mixin/ItemGroupsMixin.java index f7f0a8f..12fb6cf 100644 --- a/src/main/java/me/theclashfruit/cc/mixin/ItemGroupsMixin.java +++ b/src/main/java/me/theclashfruit/cc/mixin/ItemGroupsMixin.java @@ -2,20 +2,28 @@ package me.theclashfruit.cc.mixin; import net.minecraft.block.Blocks; import net.minecraft.enchantment.EnchantmentLevelEntry; -import net.minecraft.enchantment.EnchantmentTarget; import net.minecraft.enchantment.Enchantments; import net.minecraft.item.*; -import net.minecraft.potion.PotionUtil; import net.minecraft.potion.Potions; import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryKey; import net.minecraft.registry.RegistryKeys; import net.minecraft.registry.tag.InstrumentTags; +import net.minecraft.registry.tag.ItemTags; +import net.minecraft.registry.tag.TagKey; import net.minecraft.text.Text; import net.minecraft.village.raid.Raid; import org.spongepowered.asm.mixin.*; import org.spongepowered.asm.mixin.gen.Invoker; +//#if MC >= 1.20.6 +import net.minecraft.util.Identifier; +import net.minecraft.component.type.PotionContentsComponent; +//#else +//$$ import net.minecraft.enchantment.EnchantmentTarget; +//$$ import net.minecraft.potion.PotionUtil; +//#endif + import java.util.EnumSet; import java.util.Set; @@ -56,12 +64,25 @@ public class ItemGroupsMixin { .type(ItemGroup.Type.HOTBAR) .build(); + //#if MC >= 1.21 + @Unique + private static final Identifier INVENTORY_TAB_TEXTURE_ID = ItemGroup.getTabTextureId("inventory"); + @Unique + private static final Identifier ITEM_SEARCH_TAB_TEXTURE_ID = ItemGroup.getTabTextureId("item_search"); + //#endif + @Unique private static final ItemGroup inventoryGroup = ItemGroup .create(ItemGroup.Row.BOTTOM, 6) .displayName(Text.translatable("itemGroup.inventory")) .icon(() -> new ItemStack(Blocks.CHEST)) - .texture("inventory.png") + .texture( + //#if MC >= 1.21 + INVENTORY_TAB_TEXTURE_ID + //#else + //$$ "inventory.png" + //#endif + ) .noRenderedName() .special() .type(ItemGroup.Type.INVENTORY) @@ -89,7 +110,13 @@ public class ItemGroupsMixin { content.addAll(itemGroupSet); }) - .texture("item_search.png") + .texture( + //#if MC >= 1.21 + ITEM_SEARCH_TAB_TEXTURE_ID + //#else + //$$ "item_search.png" + //#endif + ) .special() .type(ItemGroup.Type.SEARCH) .build(); @@ -900,7 +927,12 @@ public class ItemGroupsMixin { content.add(Items.GREEN_BANNER); content.add(Items.RED_BANNER); content.add(Items.BLACK_BANNER); - content.add(Raid.getOminousBanner()); + + //#if MC >= 1.20.6 + content.add(Raid.getOminousBanner(displayContext.lookup().getWrapperOrThrow(RegistryKeys.BANNER_PATTERN))); + //#else + //$$ content.add(Raid.getOminousBanner()); + //#endif content.add(Items.END_CRYSTAL); @@ -1130,7 +1162,12 @@ public class ItemGroupsMixin { content.add(Items.BEACON); content.add(Items.TURTLE_EGG); content.add(Items.CONDUIT); - content.add(Items.SCUTE); + + //#if MC >= 1.20 + content.add(Items.TURTLE_SCUTE); + //#else + //$$ content.add(Items.SCUTE); + //#endif content.add(Items.COAL); content.add(Items.CHARCOAL); @@ -1487,14 +1524,18 @@ public class ItemGroupsMixin { content.add(Items.SPYGLASS); content.add(Items.SHEARS); - content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.EFFICIENCY, 5))); - content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.SILK_TOUCH, 1))); - content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.UNBREAKING, 3))); - content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.FORTUNE, 3))); - content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.LUCK_OF_THE_SEA, 3))); - content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.LURE, 3))); - content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.MENDING, 1))); - content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.VANISHING_CURSE, 1))); + //#if MC >= 1.20.6 + LOGGER.info("WHY TF 1.20.6 HAS TO FUCK SHIT UP? HOW DO I MAKE AN ENCHANTED BOOK???????????????"); + //#else + //$$ content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.EFFICIENCY, 5))); + //$$content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.SILK_TOUCH, 1))); + //$$content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.UNBREAKING, 3))); + //$$content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.FORTUNE, 3))); + //$$content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.LUCK_OF_THE_SEA, 3))); + //$$content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.LURE, 3))); + //$$content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.MENDING, 1))); + //$$content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.VANISHING_CURSE, 1))); + //#endif content.add(Items.LEAD); content.add(Items.NAME_TAG); @@ -1552,14 +1593,33 @@ public class ItemGroupsMixin { content.add(Items.NETHERITE_LEGGINGS); content.add(Items.NETHERITE_BOOTS); - EnumSet set = EnumSet.allOf(EnchantmentTarget.class); - - displayContext.lookup().getOptionalWrapper(RegistryKeys.ENCHANTMENT).ifPresent(wrapper -> { - ItemGroupsInterfaceMixin.invokeAddMaxLevelEnchantedBooks(content, wrapper, set, ItemGroup.StackVisibility.PARENT_TAB_ONLY); + //#if MC >= 1.21 + displayContext.lookup().getOptionalWrapper(RegistryKeys.ENCHANTMENT).ifPresent((impl) -> { + ItemGroupsInterfaceMixin.invokeAddMaxLevelEnchantedBooks(content, impl, ItemGroup.StackVisibility.PARENT_TAB_ONLY); }); + //#elseif MC >= 1.20.6 + //$$ Set> set = Set.of(ItemTags.FOOT_ARMOR_ENCHANTABLE, ItemTags.LEG_ARMOR_ENCHANTABLE, ItemTags.CHEST_ARMOR_ENCHANTABLE, ItemTags.HEAD_ARMOR_ENCHANTABLE, ItemTags.ARMOR_ENCHANTABLE, ItemTags.SWORD_ENCHANTABLE, ItemTags.SHARP_WEAPON_ENCHANTABLE, ItemTags.MACE_ENCHANTABLE, ItemTags.FIRE_ASPECT_ENCHANTABLE, ItemTags.WEAPON_ENCHANTABLE, ItemTags.MINING_ENCHANTABLE, ItemTags.MINING_LOOT_ENCHANTABLE, ItemTags.FISHING_ENCHANTABLE, ItemTags.TRIDENT_ENCHANTABLE, ItemTags.DURABILITY_ENCHANTABLE, ItemTags.BOW_ENCHANTABLE, ItemTags.EQUIPPABLE_ENCHANTABLE, ItemTags.CROSSBOW_ENCHANTABLE, ItemTags.VANISHING_ENCHANTABLE); + //$$ + //$$ displayContext.lookup().getOptionalWrapper(RegistryKeys.ENCHANTMENT).ifPresent((impl) -> { + //$$ ItemGroupsInterfaceMixin.invokeAddMaxLevelEnchantedBooks(content, impl, set, ItemGroup.StackVisibility.PARENT_TAB_ONLY, displayContext.comp_1251()); + //$$ }); + //#else + //$$ EnumSet set = EnumSet.allOf(EnchantmentTarget.class); + //$$ + //$$ displayContext.lookup().getOptionalWrapper(RegistryKeys.ENCHANTMENT).ifPresent(wrapper -> { + //$$ ItemGroupsInterfaceMixin.invokeAddMaxLevelEnchantedBooks(content, wrapper, set, ItemGroup.StackVisibility.PARENT_TAB_ONLY); + //$$ }); + //#endif content.add(Items.SPECTRAL_ARROW); - displayContext.lookup().getOptionalWrapper(RegistryKeys.POTION).ifPresent(wrapper -> ItemGroupsInterfaceMixin.invokeAddPotions(content, wrapper, Items.TIPPED_ARROW, ItemGroup.StackVisibility.PARENT_AND_SEARCH_TABS)); + + //#if MC >= 1.20.6 + displayContext.lookup().getOptionalWrapper(RegistryKeys.POTION).ifPresent((impl) -> { + ItemGroupsInterfaceMixin.invokeAddPotions(content, impl, Items.TIPPED_ARROW, ItemGroup.StackVisibility.PARENT_AND_SEARCH_TABS, displayContext.comp_1251()); + }); + //#else + //$$ displayContext.lookup().getOptionalWrapper(RegistryKeys.POTION).ifPresent(wrapper -> ItemGroupsInterfaceMixin.invokeAddPotions(content, wrapper, Items.TIPPED_ARROW, ItemGroup.StackVisibility.PARENT_AND_SEARCH_TABS)); + //#endif content.add(Items.SHIELD); content.add(Items.TOTEM_OF_UNDYING); @@ -1596,13 +1656,24 @@ public class ItemGroupsMixin { .create(ItemGroup.Row.BOTTOM, 4) .type(ItemGroup.Type.CATEGORY) .displayName(Text.translatable("itemGroup.brewing")) - .icon(() -> PotionUtil.setPotion(new ItemStack(Items.POTION), Potions.WATER)) - .entries((displayContext, content) -> { + .icon(() -> + //#if MC >= 1.20.6 + PotionContentsComponent.createStack(Items.POTION, Potions.WATER) + //#else + //$$ PotionUtil.setPotion(new ItemStack(Items.POTION), Potions.WATER) + //#endif + ).entries((displayContext, content) -> { content.add(Items.GHAST_TEAR); - displayContext.lookup().getOptionalWrapper(RegistryKeys.POTION).ifPresent(wrapper -> { - ItemGroupsInterfaceMixin.invokeAddPotions(content, wrapper, Items.POTION, ItemGroup.StackVisibility.PARENT_AND_SEARCH_TABS); + //#if MC >= 1.20.6 + displayContext.lookup().getOptionalWrapper(RegistryKeys.POTION).ifPresent((impl) -> { + ItemGroupsInterfaceMixin.invokeAddPotions(content, impl, Items.POTION, ItemGroup.StackVisibility.PARENT_AND_SEARCH_TABS, displayContext.comp_1251()); }); + //#else + //$$ displayContext.lookup().getOptionalWrapper(RegistryKeys.POTION).ifPresent(wrapper -> { + //$$ ItemGroupsInterfaceMixin.invokeAddPotions(content, wrapper, Items.POTION, ItemGroup.StackVisibility.PARENT_AND_SEARCH_TABS); + //$$ }); + //#endif content.add(Items.GLASS_BOTTLE); content.add(Items.FERMENTED_SPIDER_EYE); @@ -1615,10 +1686,17 @@ public class ItemGroupsMixin { content.add(Items.RABBIT_FOOT); content.add(Items.DRAGON_BREATH); - displayContext.lookup().getOptionalWrapper(RegistryKeys.POTION).ifPresent(wrapper -> { - ItemGroupsInterfaceMixin.invokeAddPotions(content, wrapper, Items.SPLASH_POTION, ItemGroup.StackVisibility.PARENT_AND_SEARCH_TABS); - ItemGroupsInterfaceMixin.invokeAddPotions(content, wrapper, Items.LINGERING_POTION, ItemGroup.StackVisibility.PARENT_AND_SEARCH_TABS); + //#if MC >= 1.20.6 + displayContext.lookup().getOptionalWrapper(RegistryKeys.POTION).ifPresent((impl) -> { + ItemGroupsInterfaceMixin.invokeAddPotions(content, impl, Items.SPLASH_POTION, ItemGroup.StackVisibility.PARENT_AND_SEARCH_TABS, displayContext.comp_1251()); + ItemGroupsInterfaceMixin.invokeAddPotions(content, impl, Items.LINGERING_POTION, ItemGroup.StackVisibility.PARENT_AND_SEARCH_TABS, displayContext.comp_1251()); }); + //#else + //$$ displayContext.lookup().getOptionalWrapper(RegistryKeys.POTION).ifPresent(wrapper -> { + //$$ ItemGroupsInterfaceMixin.invokeAddPotions(content, wrapper, Items.SPLASH_POTION, ItemGroup.StackVisibility.PARENT_AND_SEARCH_TABS); + //$$ ItemGroupsInterfaceMixin.invokeAddPotions(content, wrapper, Items.LINGERING_POTION, ItemGroup.StackVisibility.PARENT_AND_SEARCH_TABS); + //$$ }); + //#endif content.add(Items.PHANTOM_MEMBRANE); }) diff --git a/versions/mainProject b/versions/mainProject index 8a82347..dfdd511 100644 --- a/versions/mainProject +++ b/versions/mainProject @@ -1 +1 @@ -1.20.3-fabric \ No newline at end of file +1.21-fabric \ No newline at end of file From 7d6a6e6400c3cf4d7350c4d24fc30012be2af116 Mon Sep 17 00:00:00 2001 From: TheClashFruit Date: Sat, 13 Jul 2024 15:57:54 +0200 Subject: [PATCH 3/5] feat (ci): update to java 21 --- .gitea/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 99f2bed..c3630aa 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -17,7 +17,7 @@ jobs: uses: actions/setup-java@v2 with: distribution: "temurin" - java-version: 17 + java-version: 21 - name: Make Gradle Executable run: chmod +x ./gradlew - name: Build with Gradle From 8daf7c7309c37968ab64685f20a5b146cfe8b749 Mon Sep 17 00:00:00 2001 From: TheClashFruit Date: Sat, 13 Jul 2024 16:09:47 +0200 Subject: [PATCH 4/5] fix (ci): install multiple javas --- .gitea/workflows/build.yml | 11 +++++++---- src/main/resources/fabric.mod.json | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index c3630aa..52d220d 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -12,12 +12,15 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup Java - uses: actions/setup-java@v2 + uses: actions/setup-java@v4 with: - distribution: "temurin" - java-version: 21 + distribution: 'temurin' + java-version: | + 21 + 17 + cache: 'gradle' - name: Make Gradle Executable run: chmod +x ./gradlew - name: Build with Gradle diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index dc860ce..3013ac5 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -27,7 +27,7 @@ "depends": { "fabricloader": ">=0.15.1", "fabric": "*", - "minecraft": ">=${mc_version}" + "minecraft": "${mc_version}" }, "custom": { "modmenu": { From 3a82764c529dce56f51fbc16f16310b8216b96eb Mon Sep 17 00:00:00 2001 From: TheClashFruit Date: Sat, 13 Jul 2024 16:12:55 +0200 Subject: [PATCH 5/5] fix (ci): java was in the wrong order --- .gitea/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 52d220d..3a55055 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -18,8 +18,8 @@ jobs: with: distribution: 'temurin' java-version: | - 21 17 + 21 cache: 'gradle' - name: Make Gradle Executable run: chmod +x ./gradlew