From bb7fb6ee841d3e4ec692e2ecbd7a30f356bfc389 Mon Sep 17 00:00:00 2001 From: Color_yr <402067010@qq.com> Date: Sat, 18 Jul 2026 10:21:00 +0800 Subject: [PATCH] onejar --- .../resources/META-INF/neoforge.mods.toml | 4 +- .../resources/META-INF/neoforge.mods.toml | 4 +- .../resources/META-INF/neoforge.mods.toml | 4 +- .../resources/META-INF/neoforge.mods.toml | 4 +- .../resources/META-INF/neoforge.mods.toml | 4 +- .../resources/META-INF/neoforge.mods.toml | 4 +- .../resources/META-INF/neoforge.mods.toml | 4 +- onejar/neoforge_1_21/build.gradle.kts | 66 ++++++++++++++++ onejar/neoforge_1_21/gradle.properties | 1 + .../resources/META-INF/neoforge.mods.toml | 59 +++++++++++++++ .../neoforge_1_21/src/main/resources/icon.png | Bin 0 -> 32781 bytes onejar/neoforge_1_21_11/build.gradle.kts | 64 ++++++++++++++++ onejar/neoforge_1_21_11/gradle.properties | 1 + .../resources/META-INF/neoforge.mods.toml | 59 +++++++++++++++ .../src/main/resources/icon.png | Bin 0 -> 32781 bytes onejar/neoforge_1_21_6/build.gradle.kts | 64 ++++++++++++++++ onejar/neoforge_1_21_6/gradle.properties | 1 + .../resources/META-INF/neoforge.mods.toml | 59 +++++++++++++++ .../src/main/resources/icon.png | Bin 0 -> 32781 bytes onejar/neoforge_26_1/build.gradle.kts | 65 ++++++++++++++++ onejar/neoforge_26_1/gradle.properties | 1 + .../resources/META-INF/neoforge.mods.toml | 71 ++++++++++++++++++ .../neoforge_26_1/src/main/resources/icon.png | Bin 0 -> 32781 bytes server/neoforge_1_21/build.gradle.kts | 4 +- .../allmusic/server/AllMusicServer.java | 5 +- .../resources/META-INF/neoforge.mods.toml | 4 +- .../allmusic/server/AllMusicServer.java | 22 ++---- .../resources/META-INF/neoforge.mods.toml | 4 +- .../coloryr/allmusic/comm/AllMusicInit.java | 2 - .../allmusic/server/AllMusicServer.java | 24 +++--- .../resources/META-INF/neoforge.mods.toml | 4 +- .../resources/META-INF/neoforge.mods.toml | 4 +- .../resources/META-INF/neoforge.mods.toml | 4 +- settings.gradle.kts | 4 + 34 files changed, 560 insertions(+), 60 deletions(-) create mode 100644 onejar/neoforge_1_21/build.gradle.kts create mode 100644 onejar/neoforge_1_21/gradle.properties create mode 100644 onejar/neoforge_1_21/src/main/resources/META-INF/neoforge.mods.toml create mode 100644 onejar/neoforge_1_21/src/main/resources/icon.png create mode 100644 onejar/neoforge_1_21_11/build.gradle.kts create mode 100644 onejar/neoforge_1_21_11/gradle.properties create mode 100644 onejar/neoforge_1_21_11/src/main/resources/META-INF/neoforge.mods.toml create mode 100644 onejar/neoforge_1_21_11/src/main/resources/icon.png create mode 100644 onejar/neoforge_1_21_6/build.gradle.kts create mode 100644 onejar/neoforge_1_21_6/gradle.properties create mode 100644 onejar/neoforge_1_21_6/src/main/resources/META-INF/neoforge.mods.toml create mode 100644 onejar/neoforge_1_21_6/src/main/resources/icon.png create mode 100644 onejar/neoforge_26_1/build.gradle.kts create mode 100644 onejar/neoforge_26_1/gradle.properties create mode 100644 onejar/neoforge_26_1/src/main/resources/META-INF/neoforge.mods.toml create mode 100644 onejar/neoforge_26_1/src/main/resources/icon.png diff --git a/client/neoforge_1_21/src/main/resources/META-INF/neoforge.mods.toml b/client/neoforge_1_21/src/main/resources/META-INF/neoforge.mods.toml index 7b84632c..1bcca829 100644 --- a/client/neoforge_1_21/src/main/resources/META-INF/neoforge.mods.toml +++ b/client/neoforge_1_21/src/main/resources/META-INF/neoforge.mods.toml @@ -6,11 +6,11 @@ issueTrackerURL = "https://github.com/Coloryr/AllMusic/issues/" [[mods]] modId = "allmusic" version = "${version}" -displayName = "AllMusic Client" +displayName = "AllMusic" displayURL = "https://github.com/Coloryr/AllMusic/" logoFile = "icon.png" authors = "Color_yr" -description = '''AllMusic Client Mod''' +description = '''AllMusic Mod''' [[mods]] modId = "allmusic_client" diff --git a/client/neoforge_1_21_11/src/main/resources/META-INF/neoforge.mods.toml b/client/neoforge_1_21_11/src/main/resources/META-INF/neoforge.mods.toml index 811c12ad..123333c1 100644 --- a/client/neoforge_1_21_11/src/main/resources/META-INF/neoforge.mods.toml +++ b/client/neoforge_1_21_11/src/main/resources/META-INF/neoforge.mods.toml @@ -6,11 +6,11 @@ issueTrackerURL = "https://github.com/Coloryr/AllMusic/issues" [[mods]] modId = "allmusic" version = "${version}" -displayName = "AllMusic Client" +displayName = "AllMusic" displayURL = "https://github.com/Coloryr/AllMusic/" logoFile = "icon.png" authors = "Color_yr" -description = '''AllMusic Client Mod''' +description = '''AllMusic Mod''' [[mods]] modId = "allmusic_client" diff --git a/client/neoforge_1_21_3/src/main/resources/META-INF/neoforge.mods.toml b/client/neoforge_1_21_3/src/main/resources/META-INF/neoforge.mods.toml index 81f9e987..3f19e0ab 100644 --- a/client/neoforge_1_21_3/src/main/resources/META-INF/neoforge.mods.toml +++ b/client/neoforge_1_21_3/src/main/resources/META-INF/neoforge.mods.toml @@ -6,11 +6,11 @@ issueTrackerURL = "https://github.com/Coloryr/AllMusic/issues/" [[mods]] modId = "allmusic" version = "${version}" -displayName = "AllMusic Client" +displayName = "AllMusic" displayURL = "https://github.com/Coloryr/AllMusic/" logoFile = "icon.png" authors = "Color_yr" -description = '''AllMusic Client Mod''' +description = '''AllMusic Mod''' [[mods]] modId = "allmusic_client" diff --git a/client/neoforge_1_21_4/src/main/resources/META-INF/neoforge.mods.toml b/client/neoforge_1_21_4/src/main/resources/META-INF/neoforge.mods.toml index 81f9e987..3f19e0ab 100644 --- a/client/neoforge_1_21_4/src/main/resources/META-INF/neoforge.mods.toml +++ b/client/neoforge_1_21_4/src/main/resources/META-INF/neoforge.mods.toml @@ -6,11 +6,11 @@ issueTrackerURL = "https://github.com/Coloryr/AllMusic/issues/" [[mods]] modId = "allmusic" version = "${version}" -displayName = "AllMusic Client" +displayName = "AllMusic" displayURL = "https://github.com/Coloryr/AllMusic/" logoFile = "icon.png" authors = "Color_yr" -description = '''AllMusic Client Mod''' +description = '''AllMusic Mod''' [[mods]] modId = "allmusic_client" diff --git a/client/neoforge_1_21_6/src/main/resources/META-INF/neoforge.mods.toml b/client/neoforge_1_21_6/src/main/resources/META-INF/neoforge.mods.toml index d5faf6dc..e1db8813 100644 --- a/client/neoforge_1_21_6/src/main/resources/META-INF/neoforge.mods.toml +++ b/client/neoforge_1_21_6/src/main/resources/META-INF/neoforge.mods.toml @@ -6,11 +6,11 @@ issueTrackerURL = "https://github.com/Coloryr/AllMusic/issues" [[mods]] modId = "allmusic" version = "${version}" -displayName = "AllMusic Client" +displayName = "AllMusic" displayURL = "https://github.com/Coloryr/AllMusic/" logoFile = "icon.png" authors = "Color_yr" -description = '''AllMusic Client Mod''' +description = '''AllMusic Mod''' [[mods]] modId = "allmusic_client" diff --git a/client/neoforge_26_1/src/main/resources/META-INF/neoforge.mods.toml b/client/neoforge_26_1/src/main/resources/META-INF/neoforge.mods.toml index ae97f854..7291126f 100644 --- a/client/neoforge_26_1/src/main/resources/META-INF/neoforge.mods.toml +++ b/client/neoforge_26_1/src/main/resources/META-INF/neoforge.mods.toml @@ -6,11 +6,11 @@ issueTrackerURL = "https://github.com/Coloryr/AllMusic/issues" [[mods]] modId = "allmusic" version = "${version}" -displayName = "AllMusic Client" +displayName = "AllMusic" displayURL = "https://github.com/Coloryr/AllMusic/" logoFile = "icon.png" authors = "Color_yr" -description = '''AllMusic Client Mod''' +description = '''AllMusic Mod''' [[mods]] modId = "allmusic_client" diff --git a/client/neoforge_26_2/src/main/resources/META-INF/neoforge.mods.toml b/client/neoforge_26_2/src/main/resources/META-INF/neoforge.mods.toml index 34a4b877..822d1c3a 100644 --- a/client/neoforge_26_2/src/main/resources/META-INF/neoforge.mods.toml +++ b/client/neoforge_26_2/src/main/resources/META-INF/neoforge.mods.toml @@ -6,11 +6,11 @@ issueTrackerURL = "https://github.com/Coloryr/AllMusic/issues" [[mods]] modId = "allmusic" version = "${version}" -displayName = "AllMusic Client" +displayName = "AllMusic" displayURL = "https://github.com/Coloryr/AllMusic/" logoFile = "icon.png" authors = "Color_yr" -description = '''AllMusic Client Mod''' +description = '''AllMusic Mod''' [[mods]] modId = "allmusic_client" diff --git a/onejar/neoforge_1_21/build.gradle.kts b/onejar/neoforge_1_21/build.gradle.kts new file mode 100644 index 00000000..dc6cf186 --- /dev/null +++ b/onejar/neoforge_1_21/build.gradle.kts @@ -0,0 +1,66 @@ +plugins { + id("dev.architectury.loom") version Versions.architecturyLoom +// id("architectury-plugin") version "3.5-SNAPSHOT" +} + +java.sourceCompatibility = JavaVersion.VERSION_21 +java.targetCompatibility = JavaVersion.VERSION_21 + +// 直接引用 client 和 server 模块的源码目录,无需手动复制 +val clientSourceDir = project(":client:neoforge_1_21").projectDir.resolve("src/main/java/com/coloryr/allmusic/client") +val serverSourceDir = project(":server:neoforge_1_21").projectDir.resolve("src/main/java/com/coloryr/allmusic/server") +val commSourceDir = project(":server:neoforge_1_21").projectDir.resolve("src/main/java/com/coloryr/allmusic/comm") +val clientResDir = project(":client:neoforge_1_21").projectDir.resolve("src/main/resources") + +sourceSets { + main { + java { + setSrcDirs(listOf(clientSourceDir, serverSourceDir, commSourceDir)) + } + resources { + setSrcDirs(listOf( + file("src/main/resources"), // onejar 自己的合并资源(fabric.mod.json) + clientResDir, + )) + } + } +} + +//architectury { +// platformSetupLoomIde() +// neoForge() +//} + +repositories { + maven("https://maven.neoforged.net/releases/") +} + +dependencies { + minecraft("com.mojang:minecraft:1.21") + mappings(loom.officialMojangMappings()) + neoForge("net.neoforged:neoforge:21.0.167") + + modImplementation("net.kyori:adventure-platform-neoforge:6.0.1") + + implementation(include("net.kyori:adventure-platform-neoforge:6.0.1")!!) +} + +tasks { + processResources { + duplicatesStrategy = DuplicatesStrategy.EXCLUDE + + filesMatching("META-INF/neoforge.mods.toml") { + expand("version" to project.version) + } + } + + remapJar { + inputFile.set(shadowJar.get().archiveFile) + archiveFileName.set("[neoforge-1.21]AllMusic-${project.version}.jar") + destinationDirectory.set(file("${parent!!.projectDir}/../build")) + } + + build { + dependsOn(remapJar) + } +} diff --git a/onejar/neoforge_1_21/gradle.properties b/onejar/neoforge_1_21/gradle.properties new file mode 100644 index 00000000..7da18ea6 --- /dev/null +++ b/onejar/neoforge_1_21/gradle.properties @@ -0,0 +1 @@ +loom.platform=neoforge diff --git a/onejar/neoforge_1_21/src/main/resources/META-INF/neoforge.mods.toml b/onejar/neoforge_1_21/src/main/resources/META-INF/neoforge.mods.toml new file mode 100644 index 00000000..c3f00aeb --- /dev/null +++ b/onejar/neoforge_1_21/src/main/resources/META-INF/neoforge.mods.toml @@ -0,0 +1,59 @@ +modLoader = "javafml" +loaderVersion = "[2,)" +license = "GPL-3.0" +issueTrackerURL = "https://github.com/Coloryr/AllMusic/issues/" + +[[mods]] +modId = "allmusic" +version = "${version}" +displayName = "AllMusic" +displayURL = "https://github.com/Coloryr/AllMusic/" +logoFile = "icon.png" +authors = "Color_yr" +description = '''AllMusic Mod''' + +[[mods]] +modId = "allmusic_client" +version = "${version}" +displayName = "AllMusic Client" +displayURL = "https://github.com/Coloryr/AllMusic/" +logoFile = "icon.png" +authors = "Color_yr" +description = '''AllMusic Client Mod''' + +[[mods]] +modId = "allmusic_server" +version = "${version}" +displayName = "AllMusic Server" +displayURL = "https://github.com/Coloryr/AllMusic/" +logoFile = "icon.png" +authors = "Color_yr" +description = '''AllMusic Server Mod''' + +[[dependencies.allmusic_client]] +modId = "neoforge" +type = "required" +versionRange = "[21.0.167,)" +ordering = "NONE" +side = "CLIENT" + +[[dependencies.allmusic_client]] +modId = "minecraft" +type = "required" +versionRange = "[1.21,)" +ordering = "NONE" +side = "CLIENT" + +[[dependencies.allmusic_server]] +modId = "neoforge" +type = "required" +versionRange = "[21.0.167,)" +ordering = "NONE" +side = "BOTH" + +[[dependencies.allmusic_server]] +modId = "minecraft" +type = "required" +versionRange = "[1.21,)" +ordering = "NONE" +side = "BOTH" \ No newline at end of file diff --git a/onejar/neoforge_1_21/src/main/resources/icon.png b/onejar/neoforge_1_21/src/main/resources/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b2b5fa790ca8e14661cd169aa56e1ca5dd818a76 GIT binary patch literal 32781 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 literal 0 HcmV?d00001 diff --git a/onejar/neoforge_1_21_11/build.gradle.kts b/onejar/neoforge_1_21_11/build.gradle.kts new file mode 100644 index 00000000..fb664a51 --- /dev/null +++ b/onejar/neoforge_1_21_11/build.gradle.kts @@ -0,0 +1,64 @@ +plugins { + id("dev.architectury.loom") version Versions.architecturyLoom +// id("architectury-plugin") version "3.5-SNAPSHOT" +} + +java.sourceCompatibility = JavaVersion.VERSION_21 +java.targetCompatibility = JavaVersion.VERSION_21 + +// 直接引用 client 和 server 模块的源码目录,无需手动复制 +val clientSourceDir = project(":client:neoforge_1_21_11").projectDir.resolve("src/main/java/com/coloryr/allmusic/client") +val serverSourceDir = project(":server:neoforge_1_21_11").projectDir.resolve("src/main/java/com/coloryr/allmusic/server") +val commSourceDir = project(":server:neoforge_1_21_11").projectDir.resolve("src/main/java/com/coloryr/allmusic/comm") +val clientResDir = project(":client:neoforge_1_21_11").projectDir.resolve("src/main/resources") + +sourceSets { + main { + java { + setSrcDirs(listOf(clientSourceDir, serverSourceDir, commSourceDir)) + } + resources { + setSrcDirs(listOf( + file("src/main/resources"), // onejar 自己的合并资源(fabric.mod.json) + clientResDir, + )) + } + } +} + +//architectury { +// platformSetupLoomIde() +// neoForge() +//} + +repositories { + maven("https://maven.neoforged.net/releases/") +} + +dependencies { + minecraft("com.mojang:minecraft:1.21.11") + mappings(loom.officialMojangMappings()) + neoForge("net.neoforged:neoforge:21.11.42") + + implementation(include("net.kyori:adventure-platform-neoforge:6.8.0")!!) +} + +tasks { + processResources { + duplicatesStrategy = DuplicatesStrategy.EXCLUDE + + filesMatching("META-INF/neoforge.mods.toml") { + expand("version" to project.version) + } + } + + remapJar { + inputFile.set(shadowJar.get().archiveFile) + archiveFileName.set("[neoforge-1.21.11]AllMusic-${project.version}.jar") + destinationDirectory.set(file("${parent!!.projectDir}/../build")) + } + + build { + dependsOn(remapJar) + } +} diff --git a/onejar/neoforge_1_21_11/gradle.properties b/onejar/neoforge_1_21_11/gradle.properties new file mode 100644 index 00000000..7da18ea6 --- /dev/null +++ b/onejar/neoforge_1_21_11/gradle.properties @@ -0,0 +1 @@ +loom.platform=neoforge diff --git a/onejar/neoforge_1_21_11/src/main/resources/META-INF/neoforge.mods.toml b/onejar/neoforge_1_21_11/src/main/resources/META-INF/neoforge.mods.toml new file mode 100644 index 00000000..45efdc7b --- /dev/null +++ b/onejar/neoforge_1_21_11/src/main/resources/META-INF/neoforge.mods.toml @@ -0,0 +1,59 @@ +modLoader = "javafml" +loaderVersion = "[2,)" +license = "GPL-3.0" +issueTrackerURL = "https://github.com/Coloryr/AllMusic/issues/" + +[[mods]] +modId = "allmusic" +version = "${version}" +displayName = "AllMusic" +displayURL = "https://github.com/Coloryr/AllMusic/" +logoFile = "icon.png" +authors = "Color_yr" +description = '''AllMusic Mod''' + +[[mods]] +modId = "allmusic_client" +version = "${version}" +displayName = "AllMusic Client" +displayURL = "https://github.com/Coloryr/AllMusic/" +logoFile = "icon.png" +authors = "Color_yr" +description = '''AllMusic Client Mod''' + +[[mods]] +modId = "allmusic_server" +version = "${version}" +displayName = "AllMusic Server" +displayURL = "https://github.com/Coloryr/AllMusic/" +logoFile = "icon.png" +authors = "Color_yr" +description = '''AllMusic Server Mod''' + +[[dependencies.allmusic_client]] +modId = "neoforge" +type = "required" +versionRange = "[21.11.17-beta,)" +ordering = "NONE" +side = "CLIENT" + +[[dependencies.allmusic_client]] +modId = "minecraft" +type = "required" +versionRange = "[1.21.11,)" +ordering = "NONE" +side = "CLIENT" + +[[dependencies.allmusic_server]] +modId = "neoforge" +type = "required" +versionRange = "[21.11.17-beta,)" +ordering = "NONE" +side = "BOTH" + +[[dependencies.allmusic_server]] +modId = "minecraft" +type = "required" +versionRange = "[1.21.11,)" +ordering = "NONE" +side = "BOTH" \ No newline at end of file diff --git a/onejar/neoforge_1_21_11/src/main/resources/icon.png b/onejar/neoforge_1_21_11/src/main/resources/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b2b5fa790ca8e14661cd169aa56e1ca5dd818a76 GIT binary patch literal 32781 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 literal 0 HcmV?d00001 diff --git a/onejar/neoforge_1_21_6/build.gradle.kts b/onejar/neoforge_1_21_6/build.gradle.kts new file mode 100644 index 00000000..128f2754 --- /dev/null +++ b/onejar/neoforge_1_21_6/build.gradle.kts @@ -0,0 +1,64 @@ +plugins { + id("dev.architectury.loom") version Versions.architecturyLoom +// id("architectury-plugin") version "3.5-SNAPSHOT" +} + +java.sourceCompatibility = JavaVersion.VERSION_21 +java.targetCompatibility = JavaVersion.VERSION_21 + +// 直接引用 client 和 server 模块的源码目录,无需手动复制 +val clientSourceDir = project(":client:neoforge_1_21_6").projectDir.resolve("src/main/java/com/coloryr/allmusic/client") +val serverSourceDir = project(":server:neoforge_1_21_6").projectDir.resolve("src/main/java/com/coloryr/allmusic/server") +val commSourceDir = project(":server:neoforge_1_21_6").projectDir.resolve("src/main/java/com/coloryr/allmusic/comm") +val clientResDir = project(":client:neoforge_1_21_6").projectDir.resolve("src/main/resources") + +sourceSets { + main { + java { + setSrcDirs(listOf(clientSourceDir, serverSourceDir, commSourceDir)) + } + resources { + setSrcDirs(listOf( + file("src/main/resources"), // onejar 自己的合并资源(fabric.mod.json) + clientResDir, + )) + } + } +} + +//architectury { +// platformSetupLoomIde() +// neoForge() +//} + +repositories { + maven("https://maven.neoforged.net/releases/") +} + +dependencies { + minecraft("com.mojang:minecraft:1.21.6") + mappings(loom.officialMojangMappings()) + neoForge("net.neoforged:neoforge:21.6.20-beta") + + implementation(include("net.kyori:adventure-platform-neoforge:6.6.0")!!) +} + +tasks { + processResources { + duplicatesStrategy = DuplicatesStrategy.EXCLUDE + + filesMatching("META-INF/neoforge.mods.toml") { + expand("version" to project.version) + } + } + + remapJar { + inputFile.set(shadowJar.get().archiveFile) + archiveFileName.set("[neoforge-1.21.6]AllMusic-${project.version}.jar") + destinationDirectory.set(file("${parent!!.projectDir}/../build")) + } + + build { + dependsOn(remapJar) + } +} diff --git a/onejar/neoforge_1_21_6/gradle.properties b/onejar/neoforge_1_21_6/gradle.properties new file mode 100644 index 00000000..7da18ea6 --- /dev/null +++ b/onejar/neoforge_1_21_6/gradle.properties @@ -0,0 +1 @@ +loom.platform=neoforge diff --git a/onejar/neoforge_1_21_6/src/main/resources/META-INF/neoforge.mods.toml b/onejar/neoforge_1_21_6/src/main/resources/META-INF/neoforge.mods.toml new file mode 100644 index 00000000..7f1fac95 --- /dev/null +++ b/onejar/neoforge_1_21_6/src/main/resources/META-INF/neoforge.mods.toml @@ -0,0 +1,59 @@ +modLoader = "javafml" +loaderVersion = "[2,)" +license = "GPL-3.0" +issueTrackerURL = "https://github.com/Coloryr/AllMusic/issues/" + +[[mods]] +modId = "allmusic" +version = "${version}" +displayName = "AllMusic" +displayURL = "https://github.com/Coloryr/AllMusic/" +logoFile = "icon.png" +authors = "Color_yr" +description = '''AllMusic Mod''' + +[[mods]] +modId = "allmusic_client" +version = "${version}" +displayName = "AllMusic Client" +displayURL = "https://github.com/Coloryr/AllMusic/" +logoFile = "icon.png" +authors = "Color_yr" +description = '''AllMusic Client Mod''' + +[[mods]] +modId = "allmusic_server" +version = "${version}" +displayName = "AllMusic Server" +displayURL = "https://github.com/Coloryr/AllMusic/" +logoFile = "icon.png" +authors = "Color_yr" +description = '''AllMusic Server Mod''' + +[[dependencies.allmusic_client]] +modId = "neoforge" +type = "required" +versionRange = "[21.6.20-beta,)" +ordering = "NONE" +side = "CLIENT" + +[[dependencies.allmusic_client]] +modId = "minecraft" +type = "required" +versionRange = "[1.21.6,)" +ordering = "NONE" +side = "CLIENT" + +[[dependencies.allmusic_server]] +modId = "neoforge" +type = "required" +versionRange = "[21.6.20-beta,)" +ordering = "NONE" +side = "BOTH" + +[[dependencies.allmusic_server]] +modId = "minecraft" +type = "required" +versionRange = "[1.21.6,)" +ordering = "NONE" +side = "BOTH" \ No newline at end of file diff --git a/onejar/neoforge_1_21_6/src/main/resources/icon.png b/onejar/neoforge_1_21_6/src/main/resources/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b2b5fa790ca8e14661cd169aa56e1ca5dd818a76 GIT binary patch literal 32781 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 literal 0 HcmV?d00001 diff --git a/onejar/neoforge_26_1/build.gradle.kts b/onejar/neoforge_26_1/build.gradle.kts new file mode 100644 index 00000000..2f63fcc4 --- /dev/null +++ b/onejar/neoforge_26_1/build.gradle.kts @@ -0,0 +1,65 @@ +plugins { + id("dev.architectury.loom-no-remap") version Versions.architecturyLoom +// id("architectury-plugin") version "3.5-SNAPSHOT" +} + +java.sourceCompatibility = JavaVersion.VERSION_25 +java.targetCompatibility = JavaVersion.VERSION_25 + +// 直接引用 client 和 server 模块的源码目录,无需手动复制 +val clientSourceDir = project(":client:neoforge_26_1").projectDir.resolve("src/main/java/com/coloryr/allmusic/client") +val serverSourceDir = project(":server:neoforge_26_1").projectDir.resolve("src/main/java/com/coloryr/allmusic/server") +val commSourceDir = project(":server:neoforge_26_1").projectDir.resolve("src/main/java/com/coloryr/allmusic/comm") +val clientResDir = project(":client:neoforge_26_1").projectDir.resolve("src/main/resources") + +sourceSets { + main { + java { + setSrcDirs(listOf(clientSourceDir, serverSourceDir, commSourceDir)) + } + resources { + setSrcDirs(listOf( + file("src/main/resources"), // onejar 自己的合并资源(fabric.mod.json) + clientResDir, + )) + } + } +} + +//architectury { +// platformSetupLoomIde() +// neoForge() +//} + +repositories { + maven("https://maven.neoforged.net/releases/") +} + +dependencies { + minecraft("com.mojang:minecraft:26.1") + neoForge("net.neoforged:neoforge:26.1.0.19-beta") + + compileOnly("icyllis.modernui:ModernUI-NeoForge:26.1.2-3.13.0.4") + compileOnly("de.maxhenkel.voicechat:voicechat-api:2.6.0") + + implementation(include("net.kyori:adventure-platform-neoforge:6.9.0")!!) +} + +tasks { + processResources { + duplicatesStrategy = DuplicatesStrategy.EXCLUDE + + filesMatching("META-INF/neoforge.mods.toml") { + expand("version" to project.version) + } + } + + shadowJar { + archiveFileName.set("[neoforge-26.1]AllMusic-${project.version}.jar") + destinationDirectory.set(file("${parent!!.projectDir}/../build")) + } + + build { + dependsOn(shadowJar) + } +} diff --git a/onejar/neoforge_26_1/gradle.properties b/onejar/neoforge_26_1/gradle.properties new file mode 100644 index 00000000..7da18ea6 --- /dev/null +++ b/onejar/neoforge_26_1/gradle.properties @@ -0,0 +1 @@ +loom.platform=neoforge diff --git a/onejar/neoforge_26_1/src/main/resources/META-INF/neoforge.mods.toml b/onejar/neoforge_26_1/src/main/resources/META-INF/neoforge.mods.toml new file mode 100644 index 00000000..3aab326f --- /dev/null +++ b/onejar/neoforge_26_1/src/main/resources/META-INF/neoforge.mods.toml @@ -0,0 +1,71 @@ +modLoader = "javafml" +loaderVersion = "[2,)" +license = "GPL-3.0" +issueTrackerURL = "https://github.com/Coloryr/AllMusic/issues/" + +[[mods]] +modId = "allmusic" +version = "${version}" +displayName = "AllMusic" +displayURL = "https://github.com/Coloryr/AllMusic/" +logoFile = "icon.png" +authors = "Color_yr" +description = '''AllMusic Mod''' + +[[mods]] +modId = "allmusic_client" +version = "${version}" +displayName = "AllMusic Client" +displayURL = "https://github.com/Coloryr/AllMusic/" +logoFile = "icon.png" +authors = "Color_yr" +description = '''AllMusic Client Mod''' + +[[mods]] +modId = "allmusic_server" +version = "${version}" +displayName = "AllMusic Server" +displayURL = "https://github.com/Coloryr/AllMusic/" +logoFile = "icon.png" +authors = "Color_yr" +description = '''AllMusic Server Mod''' + +[[dependencies.allmusic_client]] +modId = "neoforge" +type = "required" +versionRange = "[26.1.0.19-beta,)" +ordering = "NONE" +side = "CLIENT" + +[[dependencies.allmusic_client]] +modId = "minecraft" +type = "required" +versionRange = "[26.1,)" +ordering = "NONE" +side = "CLIENT" + +[[dependencies.allmusic_client]] +modId="modernui" +type="optional" +ordering="AFTER" +side="CLIENT" + +[[dependencies.allmusic_client]] +modId="voicechat_api" +type="optional" +ordering="AFTER" +side="CLIENT" + +[[dependencies.allmusic_server]] +modId = "neoforge" +type = "required" +versionRange = "[26.1.0.19-beta,)" +ordering = "NONE" +side = "BOTH" + +[[dependencies.allmusic_server]] +modId = "minecraft" +type = "required" +versionRange = "[26.1,)" +ordering = "NONE" +side = "BOTH" \ No newline at end of file diff --git a/onejar/neoforge_26_1/src/main/resources/icon.png b/onejar/neoforge_26_1/src/main/resources/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b2b5fa790ca8e14661cd169aa56e1ca5dd818a76 GIT binary patch literal 32781 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 literal 0 HcmV?d00001 diff --git a/server/neoforge_1_21/build.gradle.kts b/server/neoforge_1_21/build.gradle.kts index f33c2621..9092cab8 100644 --- a/server/neoforge_1_21/build.gradle.kts +++ b/server/neoforge_1_21/build.gradle.kts @@ -20,9 +20,9 @@ dependencies { mappings(loom.officialMojangMappings()) neoForge("net.neoforged:neoforge:21.0.167") - modImplementation("net.kyori:adventure-platform-neoforge:6.8.0") + modImplementation("net.kyori:adventure-platform-neoforge:6.0.1") - implementation(include("net.kyori:adventure-platform-neoforge:6.0.0")!!) + implementation(include("net.kyori:adventure-platform-neoforge:6.0.1")!!) } tasks { diff --git a/server/neoforge_1_21/src/main/java/com/coloryr/allmusic/server/AllMusicServer.java b/server/neoforge_1_21/src/main/java/com/coloryr/allmusic/server/AllMusicServer.java index 0b0eabdb..cc27b290 100644 --- a/server/neoforge_1_21/src/main/java/com/coloryr/allmusic/server/AllMusicServer.java +++ b/server/neoforge_1_21/src/main/java/com/coloryr/allmusic/server/AllMusicServer.java @@ -6,7 +6,6 @@ import com.mojang.brigadier.CommandDispatcher; import net.kyori.adventure.platform.modcommon.MinecraftServerAudiences; import net.minecraft.commands.CommandSourceStack; import net.minecraft.server.MinecraftServer; -import net.neoforged.api.distmarker.Dist; import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.fml.common.EventBusSubscriber; import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; @@ -19,7 +18,7 @@ import org.slf4j.LoggerFactory; import java.io.File; -@EventBusSubscriber(modid = "allmusic_server", value = Dist.DEDICATED_SERVER, bus = EventBusSubscriber.Bus.MOD) +@EventBusSubscriber(modid = "allmusic_server", bus = EventBusSubscriber.Bus.MOD) public class AllMusicServer { public static final Logger LOGGER = LoggerFactory.getLogger("AllMusic Server"); public static MinecraftServer server; @@ -32,7 +31,7 @@ public class AllMusicServer { AllMusic.side = new SideNeoForge(); } - @EventBusSubscriber(modid = "allmusic_server", value = Dist.DEDICATED_SERVER) + @EventBusSubscriber(modid = "allmusic_server") public static class MusicEvent { @SubscribeEvent public static void onRegisterCommands(RegisterCommandsEvent event) { diff --git a/server/neoforge_1_21/src/main/resources/META-INF/neoforge.mods.toml b/server/neoforge_1_21/src/main/resources/META-INF/neoforge.mods.toml index f7fa3b86..1b1fdf21 100644 --- a/server/neoforge_1_21/src/main/resources/META-INF/neoforge.mods.toml +++ b/server/neoforge_1_21/src/main/resources/META-INF/neoforge.mods.toml @@ -6,11 +6,11 @@ issueTrackerURL = "https://github.com/Coloryr/AllMusic/issues/" [[mods]] modId = "allmusic" version = "${version}" -displayName = "AllMusic Server" +displayName = "AllMusic" displayURL = "https://github.com/Coloryr/AllMusic/" logoFile = "icon.png" authors = "Color_yr" -description = '''AllMusic Server Mod''' +description = '''AllMusic Mod''' [[mods]] modId = "allmusic_server" diff --git a/server/neoforge_1_21_11/src/main/java/com/coloryr/allmusic/server/AllMusicServer.java b/server/neoforge_1_21_11/src/main/java/com/coloryr/allmusic/server/AllMusicServer.java index 2e1109f1..a158bebe 100644 --- a/server/neoforge_1_21_11/src/main/java/com/coloryr/allmusic/server/AllMusicServer.java +++ b/server/neoforge_1_21_11/src/main/java/com/coloryr/allmusic/server/AllMusicServer.java @@ -34,28 +34,22 @@ public class AllMusicServer { @SubscribeEvent public static void onRegisterCommands(RegisterCommandsEvent event) { - if (event.getCommandSelection() != Commands.CommandSelection.INTEGRATED) { - CommandDispatcher dispatcher = event.getDispatcher(); - CommandNeoForge.instance.register(dispatcher); - } + CommandDispatcher dispatcher = event.getDispatcher(); + CommandNeoForge.instance.register(dispatcher); } @SubscribeEvent public static void onServerStarting(ServerStartedEvent event) { - if (event.getServer().isDedicatedServer()) { - audiences = MinecraftServerAudiences.of(event.getServer()); - server = event.getServer(); - AllMusic.init(new File(AllMusic.SERVER_DIR)); - AllMusic.start(); - Tasks.init(); - } + audiences = MinecraftServerAudiences.of(event.getServer()); + server = event.getServer(); + AllMusic.init(new File(AllMusic.SERVER_DIR)); + AllMusic.start(); + Tasks.init(); } @SubscribeEvent public static void onServerStopping(ServerStoppingEvent event) { - if (event.getServer().isDedicatedServer()) { - AllMusic.stop(); - } + AllMusic.stop(); } @SubscribeEvent diff --git a/server/neoforge_1_21_11/src/main/resources/META-INF/neoforge.mods.toml b/server/neoforge_1_21_11/src/main/resources/META-INF/neoforge.mods.toml index 3d276f1b..43e1c740 100644 --- a/server/neoforge_1_21_11/src/main/resources/META-INF/neoforge.mods.toml +++ b/server/neoforge_1_21_11/src/main/resources/META-INF/neoforge.mods.toml @@ -6,11 +6,11 @@ issueTrackerURL = "https://github.com/Coloryr/AllMusic/issues" [[mods]] modId = "allmusic" version = "${version}" -displayName = "AllMusic Server" +displayName = "AllMusic" displayURL = "https://github.com/Coloryr/AllMusic/" logoFile = "icon.png" authors = "Color_yr" -description = '''AllMusic Server Mod''' +description = '''AllMusic Mod''' [[mods]] modId = "allmusic_server" diff --git a/server/neoforge_1_21_6/src/main/java/com/coloryr/allmusic/comm/AllMusicInit.java b/server/neoforge_1_21_6/src/main/java/com/coloryr/allmusic/comm/AllMusicInit.java index f8a67a95..d9282960 100644 --- a/server/neoforge_1_21_6/src/main/java/com/coloryr/allmusic/comm/AllMusicInit.java +++ b/server/neoforge_1_21_6/src/main/java/com/coloryr/allmusic/comm/AllMusicInit.java @@ -16,8 +16,6 @@ public class AllMusicInit implements IPayloadHandler { public AllMusicInit(IEventBus modEventBus, ModContainer modContainer) { modEventBus.addListener(this::register); - - } public void register(final RegisterPayloadHandlersEvent event) { diff --git a/server/neoforge_1_21_6/src/main/java/com/coloryr/allmusic/server/AllMusicServer.java b/server/neoforge_1_21_6/src/main/java/com/coloryr/allmusic/server/AllMusicServer.java index fbaf7d03..906edf94 100644 --- a/server/neoforge_1_21_6/src/main/java/com/coloryr/allmusic/server/AllMusicServer.java +++ b/server/neoforge_1_21_6/src/main/java/com/coloryr/allmusic/server/AllMusicServer.java @@ -20,7 +20,7 @@ import org.slf4j.LoggerFactory; import java.io.File; -@EventBusSubscriber(modid = "allmusic_server", value = Dist.DEDICATED_SERVER) +@EventBusSubscriber(modid = "allmusic_server") public class AllMusicServer { public static final Logger LOGGER = LoggerFactory.getLogger("AllMusic Server"); @@ -35,28 +35,22 @@ public class AllMusicServer { @SubscribeEvent public static void onRegisterCommands(RegisterCommandsEvent event) { - if (event.getCommandSelection() != Commands.CommandSelection.INTEGRATED) { - CommandDispatcher dispatcher = event.getDispatcher(); - CommandNeoForge.instance.register(dispatcher); - } + CommandDispatcher dispatcher = event.getDispatcher(); + CommandNeoForge.instance.register(dispatcher); } @SubscribeEvent public static void onServerStarting(ServerStartedEvent event) { - if (event.getServer().isDedicatedServer()) { - audiences = MinecraftServerAudiences.of(event.getServer()); - server = event.getServer(); - AllMusic.init(new File(AllMusic.SERVER_DIR)); - AllMusic.start(); - Tasks.init(); - } + audiences = MinecraftServerAudiences.of(event.getServer()); + server = event.getServer(); + AllMusic.init(new File(AllMusic.SERVER_DIR)); + AllMusic.start(); + Tasks.init(); } @SubscribeEvent public static void onServerStopping(ServerStoppingEvent event) { - if (event.getServer().isDedicatedServer()) { - AllMusic.stop(); - } + AllMusic.stop(); } @SubscribeEvent diff --git a/server/neoforge_1_21_6/src/main/resources/META-INF/neoforge.mods.toml b/server/neoforge_1_21_6/src/main/resources/META-INF/neoforge.mods.toml index 3285375b..15c7f059 100644 --- a/server/neoforge_1_21_6/src/main/resources/META-INF/neoforge.mods.toml +++ b/server/neoforge_1_21_6/src/main/resources/META-INF/neoforge.mods.toml @@ -6,11 +6,11 @@ issueTrackerURL = "https://github.com/Coloryr/AllMusic/issues" [[mods]] modId = "allmusic" version = "${version}" -displayName = "AllMusic Server" +displayName = "AllMusic" displayURL = "https://github.com/Coloryr/AllMusic/" logoFile = "icon.png" authors = "Color_yr" -description = '''AllMusic Server Mod''' +description = '''AllMusic Mod''' [[mods]] modId = "allmusic_server" diff --git a/server/neoforge_26_1/src/main/resources/META-INF/neoforge.mods.toml b/server/neoforge_26_1/src/main/resources/META-INF/neoforge.mods.toml index 8227c789..b0a2d959 100644 --- a/server/neoforge_26_1/src/main/resources/META-INF/neoforge.mods.toml +++ b/server/neoforge_26_1/src/main/resources/META-INF/neoforge.mods.toml @@ -6,11 +6,11 @@ issueTrackerURL = "https://github.com/Coloryr/AllMusic/issues" [[mods]] modId = "allmusic" version = "${version}" -displayName = "AllMusic Server" +displayName = "AllMusic" displayURL = "https://github.com/Coloryr/AllMusic/" logoFile = "icon.png" authors = "Color_yr" -description = '''AllMusic Server Mod''' +description = '''AllMusic Mod''' [[mods]] modId = "allmusic_server" diff --git a/server/neoforge_26_2/src/main/resources/META-INF/neoforge.mods.toml b/server/neoforge_26_2/src/main/resources/META-INF/neoforge.mods.toml index 6342638f..1955aa7f 100644 --- a/server/neoforge_26_2/src/main/resources/META-INF/neoforge.mods.toml +++ b/server/neoforge_26_2/src/main/resources/META-INF/neoforge.mods.toml @@ -6,11 +6,11 @@ issueTrackerURL = "https://github.com/Coloryr/AllMusic/issues" [[mods]] modId = "allmusic" version = "${version}" -displayName = "AllMusic Server" +displayName = "AllMusic" displayURL = "https://github.com/Coloryr/AllMusic/" logoFile = "icon.png" authors = "Color_yr" -description = '''AllMusic Server Mod''' +description = '''AllMusic Mod''' [[mods]] modId = "allmusic_server" diff --git a/settings.gradle.kts b/settings.gradle.kts index 787803c2..27136c01 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -64,6 +64,10 @@ include(":onejar:fabric_1_21_6") include(":onejar:fabric_1_21_11") include(":onejar:fabric_26_1") include(":onejar:fabric_26_2") +include(":onejar:neoforge_1_21") +include(":onejar:neoforge_1_21_6") +include(":onejar:neoforge_1_21_11") +include(":onejar:neoforge_26_1") pluginManagement { repositories {