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