Skip to content
This repository was archived by the owner on Jun 8, 2026. It is now read-only.

Commit 8aa2a67

Browse files
committed
1.21.11
1 parent e76cbc1 commit 8aa2a67

30 files changed

Lines changed: 1797 additions & 146 deletions

File tree

.github/workflows/gradle.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,28 @@ jobs:
105105
with:
106106
name: "allmusic_client_fabric_1_21_6"
107107
path: build/libs/
108+
build_fabric_1_21_11:
109+
runs-on: windows-latest
110+
permissions:
111+
contents: read
112+
steps:
113+
- uses: actions/checkout@v4
114+
- name: Set up JDK 21
115+
uses: actions/setup-java@v4
116+
with:
117+
java-version: '21'
118+
distribution: 'temurin'
119+
- name: Setup Gradle
120+
uses: gradle/actions/setup-gradle@v3 # v3.1.0
121+
- name: build
122+
shell: cmd
123+
run: |
124+
link.cmd && cd fabric_1_21_11 && gradlew build
125+
- name: update
126+
uses: actions/upload-artifact@v4
127+
with:
128+
name: "allmusic_client_fabric_1_21_11"
129+
path: build/libs/
108130
build_fabric_26_1:
109131
runs-on: windows-latest
110132
permissions:

forge_1_12_2/build.gradle

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ dependencies {
155155
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
156156
}
157157

158-
embed('com.squareup.okhttp3:okhttp:5.3.2')
158+
embed('org.apache.httpcomponents.client5:httpclient5:5.6')
159159
}
160160

161161
apply from: 'gradle/scripts/dependencies.gradle'
@@ -214,8 +214,9 @@ processResources {
214214
}
215215

216216
jar {
217-
exclude 'META-INF/versions/9/org/sqlite/nativeimage/*'
218-
exclude 'META-INF/versions/9/*'
217+
exclude 'META-INF/DEPENDENCIES'
218+
exclude 'META-INF/LICENSE'
219+
exclude 'META-INF/NOTICE'
219220

220221
manifest {
221222
def attribute_map = [:]

forge_1_16_5/build.gradle

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -156,8 +156,9 @@ dependencies {
156156
// http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
157157
// http://www.gradle.org/docs/current/userguide/dependency_management.html
158158

159-
shadow 'com.squareup.okhttp3:okhttp:5.3.2'
160-
shadow 'com.squareup.okio:okio-jvm:3.16.4'
159+
shadow 'org.apache.httpcomponents.client5:httpclient5:5.6'
160+
shadow 'org.apache.httpcomponents.core5:httpcore5:5.4'
161+
shadow 'org.apache.httpcomponents.core5:httpcore5-h2:5.4'
161162

162163
}
163164

@@ -170,8 +171,9 @@ shadowJar {
170171
configurations = [project.configurations.shadow]
171172
archiveClassifier.set('')
172173
dependencies {
173-
include(dependency('com.squareup.okhttp3:okhttp:5.3.2'))
174-
include(dependency('com.squareup.okio:okio-jvm:3.16.4'))
174+
include(dependency('org.apache.httpcomponents.client5:httpclient5:5.6'))
175+
include(dependency('org.apache.httpcomponents.core5:httpcore5:5.4'))
176+
include(dependency('org.apache.httpcomponents.core5:httpcore5-h2:5.4'))
175177
}
176178
}
177179

forge_1_7_10/dependencies.gradle

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,14 @@
3434
* For more details, see https://docs.gradle.org/8.0.1/userguide/java_library_plugin.html#sec:java_library_configurations_graph
3535
*/
3636
dependencies {
37-
shadowImplementation("com.squareup.okio:okio-jvm:3.16.4")
38-
shadowImplementation("com.squareup.okhttp3:okhttp:5.3.2")
37+
shadowImplementation("org.apache.httpcomponents.client5:httpclient5:5.6")
38+
shadowImplementation("org.apache.httpcomponents.core5:httpcore5:5.4")
39+
shadowImplementation("org.apache.httpcomponents.core5:httpcore5-h2:5.4")
3940
}
4041

4142
shadowJar {
42-
exclude 'META-INF/versions/9/org/sqlite/nativeimage/*'
43-
exclude 'META-INF/versions/9/*'
43+
// exclude 'META-INF/versions/9/org/sqlite/nativeimage/*'
44+
// exclude 'META-INF/versions/9/*'
4445
// relocate 'okhttp3', 'com.coloryr.allmusic.server.lib.okhttp3'
4546
// relocate 'okio', 'com.coloryr.allmusic.server.lib.okio'
4647
// relocate 'kotlin', 'com.coloryr.allmusic.server.lib.kotlin'

link.cmd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ setlocal enabledelayedexpansion
88
set array=fabric_1_16_5 fabric_1_20_1 fabric_1_21 fabric_1_21_6 ^
99
fabric_1_21_11 fabric_26_1 ^
1010
forge_1_7_10 forge_1_12_2 forge_1_16_5 forge_1_20_1 ^
11-
neoforge_1_21 neoforge_1_21_6
11+
neoforge_1_21 neoforge_1_21_6 neoforge_1_21_11
1212

1313
for %%i in (%array%) do (
1414
if not exist "%%i\src\main\java\com\coloryr\allmusic\client\core" mklink /j "%%i\src\main\java\com\coloryr\allmusic\client\core" "core"

neoforge_1_21/build.gradle

Lines changed: 91 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,17 @@
11
plugins {
22
id 'java-library'
3-
id 'eclipse'
4-
id 'idea'
53
id 'maven-publish'
6-
id 'net.neoforged.gradle.userdev' version '7.0.142'
4+
id 'net.neoforged.moddev' version '2.0.134'
5+
id 'idea'
6+
}
7+
8+
tasks.named('wrapper', Wrapper).configure {
9+
// Define wrapper values here so as to not have to always do so when updating gradlew.properties.
10+
// Switching this to Wrapper.DistributionType.ALL will download the full gradle sources that comes with
11+
// documentation attached on cursor hover of gradle classes and methods. However, this comes with increased
12+
// file size for Gradle. If you do switch this to ALL, run the Gradle wrapper task twice afterwards.
13+
// (Verify by checking gradle/wrapper/gradle-wrapper.properties to see if distributionUrl now points to `-all`)
14+
distributionType = Wrapper.DistributionType.BIN
715
}
816

917
def getVersionFromFile() {
@@ -29,55 +37,78 @@ base {
2937
archivesName = file_name
3038
}
3139

32-
// Mojang ships Java 21 to end users starting in 1.20.5, so mods should target Java 21.
40+
// Mojang ships Java 21 to end users in 1.21, so mods should target Java 21.
3341
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
3442

35-
//minecraft.accessTransformers.file rootProject.file('src/main/resources/META-INF/accesstransformer.cfg')
36-
//minecraft.accessTransformers.entry public net.minecraft.client.Minecraft textureManager # textureManager
37-
38-
// Default run configurations.
39-
// These can be tweaked, removed, or duplicated as needed.
40-
runs {
41-
// applies to all the run configs below
42-
configureEach {
43-
// Recommended logging data for a userdev environment
44-
// The markers can be added/remove as needed separated by commas.
45-
// "SCAN": For mods scan.
46-
// "REGISTRIES": For firing of registry events.
47-
// "REGISTRYDUMP": For getting the contents of all registries.
48-
systemProperty 'forge.logging.markers', 'REGISTRIES'
49-
50-
// Recommended logging level for the console
51-
// You can set various levels here.
52-
// Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels
53-
systemProperty 'forge.logging.console.level', 'debug'
54-
55-
modSource project.sourceSets.main
56-
}
43+
neoForge {
44+
// Specify the version of NeoForge to use.
45+
version = project.neo_version
5746

58-
client {
59-
// Comma-separated list of namespaces to load gametests from. Empty = all namespaces.
60-
systemProperty 'forge.enabledGameTestNamespaces', project.mod_id
47+
parchment {
48+
mappingsVersion = project.parchment_mappings_version
49+
minecraftVersion = project.parchment_minecraft_version
6150
}
6251

63-
server {
64-
systemProperty 'forge.enabledGameTestNamespaces', project.mod_id
65-
programArgument '--nogui'
66-
}
52+
// This line is optional. Access Transformers are automatically detected
53+
// accessTransformers = project.files('src/main/resources/META-INF/accesstransformer.cfg')
6754

68-
// This run config launches GameTestServer and runs all registered gametests, then exits.
69-
// By default, the server will crash when no gametests are provided.
70-
// The gametest system is also enabled by default for other run configs under the /test command.
71-
gameTestServer {
72-
systemProperty 'forge.enabledGameTestNamespaces', project.mod_id
73-
}
55+
// Default run configurations.
56+
// These can be tweaked, removed, or duplicated as needed.
57+
runs {
58+
client {
59+
client()
60+
61+
// Comma-separated list of namespaces to load gametests from. Empty = all namespaces.
62+
systemProperty 'neoforge.enabledGameTestNamespaces', project.mod_id
63+
}
64+
65+
server {
66+
server()
67+
programArgument '--nogui'
68+
systemProperty 'neoforge.enabledGameTestNamespaces', project.mod_id
69+
}
70+
71+
// This run config launches GameTestServer and runs all registered gametests, then exits.
72+
// By default, the server will crash when no gametests are provided.
73+
// The gametest system is also enabled by default for other run configs under the /test command.
74+
gameTestServer {
75+
type = "gameTestServer"
76+
systemProperty 'neoforge.enabledGameTestNamespaces', project.mod_id
77+
}
78+
79+
data {
80+
data()
7481

75-
data {
76-
// example of overriding the workingDirectory set in configureEach above, uncomment if you want to use it
77-
// workingDirectory project.file('run-data')
82+
// example of overriding the workingDirectory set in configureEach above, uncomment if you want to use it
83+
// gameDirectory = project.file('run-data')
7884

79-
// Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources.
80-
programArguments.addAll '--mod', project.mod_id, '--all', '--output', file('src/generated/resources/').getAbsolutePath(), '--existing', file('src/main/resources/').getAbsolutePath()
85+
// Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources.
86+
programArguments.addAll '--mod', project.mod_id, '--all', '--output', file('src/generated/resources/').getAbsolutePath(), '--existing', file('src/main/resources/').getAbsolutePath()
87+
}
88+
89+
// applies to all the run configs above
90+
configureEach {
91+
// Recommended logging data for a userdev environment
92+
// The markers can be added/remove as needed separated by commas.
93+
// "SCAN": For mods scan.
94+
// "REGISTRIES": For firing of registry events.
95+
// "REGISTRYDUMP": For getting the contents of all registries.
96+
systemProperty 'forge.logging.markers', 'REGISTRIES'
97+
98+
// Recommended logging level for the console
99+
// You can set various levels here.
100+
// Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels
101+
logLevel = org.slf4j.event.Level.DEBUG
102+
}
103+
}
104+
105+
mods {
106+
// define mod <-> source bindings
107+
// these are used to tell the game which sources are for which mod
108+
// multi mod projects should define one per mod
109+
"${mod_id}" {
110+
sourceSet(sourceSets.main)
111+
}
81112
}
82113
}
83114

@@ -93,20 +124,6 @@ configurations {
93124
}
94125

95126
dependencies {
96-
// Specify the version of Minecraft to use.
97-
// Depending on the plugin applied there are several options. We will assume you applied the userdev plugin as shown above.
98-
// The group for userdev is net.neoforged, the module name is neoforge, and the version is the same as the neoforge version.
99-
// You can however also use the vanilla plugin (net.neoforged.gradle.vanilla) to use a version of Minecraft without the neoforge loader.
100-
// And its provides the option to then use net.minecraft as the group, and one of; client, server or joined as the module name, plus the game version as version.
101-
// For all intends and purposes: You can treat this dependency as if it is a normal library you would use.
102-
implementation "net.neoforged:neoforge:${neo_version}"
103-
104-
implementation('com.squareup.okhttp3:okhttp:5.3.2')
105-
implementation('com.squareup.okio:okio-jvm:3.16.4')
106-
107-
jarJar(group: 'com.squareup.okhttp3', name: 'okhttp', version: '[5.3.2,6.0)')
108-
jarJar(group: 'com.squareup.okio', name: 'okio-jvm', version: '[3.16.4,4.0)')
109-
110127
// Example optional mod dependency with JEI
111128
// The JEI API is declared for compile time use, while the full JEI artifact is used at runtime
112129
// compileOnly "mezz.jei:jei-${mc_version}-common-api:${jei_version}"
@@ -128,32 +145,37 @@ dependencies {
128145
// For more info:
129146
// http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
130147
// http://www.gradle.org/docs/current/userguide/dependency_management.html
148+
149+
implementation('org.apache.httpcomponents.client5:httpclient5:5.6')
150+
151+
jarJar(group: 'org.apache.httpcomponents.client5', name: 'httpclient5', version: '[5.6,6.0)')
152+
jarJar(group: 'org.apache.httpcomponents.core5', name: 'httpcore5', version: '[5.4,6.0)')
153+
jarJar(group: 'org.apache.httpcomponents.core5', name: 'httpcore5-h2', version: '[5.4,6.0)')
131154
}
132155

133156
// This block of code expands all declared replace properties in the specified resource targets.
134157
// A missing property will result in an error. Properties are expanded using ${} Groovy notation.
135-
// When "copyIdeResources" is enabled, this will also run before the game launches in IDE environments.
136-
// See https://docs.gradle.org/current/dsl/org.gradle.language.jvm.tasks.ProcessResources.html
137-
tasks.withType(ProcessResources).configureEach {
158+
var generateModMetadata = tasks.register("generateModMetadata", ProcessResources) {
138159
var replaceProperties = [
139160
minecraft_version : minecraft_version,
140161
minecraft_version_range: minecraft_version_range,
141162
neo_version : neo_version,
142-
neo_version_range : neo_version_range,
143163
loader_version_range : loader_version_range,
144164
mod_id : mod_id,
145165
mod_name : mod_name,
146166
mod_license : mod_license,
147167
mod_version : mod_version,
148-
mod_authors : mod_authors,
149-
mod_description : mod_description
150168
]
151169
inputs.properties replaceProperties
152-
153-
filesMatching(['META-INF/neoforge.mods.toml']) {
154-
expand replaceProperties
155-
}
170+
expand replaceProperties
171+
from "src/main/templates"
172+
into "build/generated/sources/modMetadata"
156173
}
174+
// Include the output of "generateModMetadata" as an input directory for the build
175+
// this works with both building through Gradle and the IDE.
176+
sourceSets.main.resources.srcDir generateModMetadata
177+
// To avoid having to run "generateModMetadata" manually, make it run on every project reload
178+
neoForge.ideSyncTask generateModMetadata
157179

158180
// Example configuration to allow publishing using the maven-publish plugin
159181
publishing {
@@ -179,4 +201,4 @@ idea {
179201
downloadSources = true
180202
downloadJavadoc = true
181203
}
182-
}
204+
}

neoforge_1_21/gradle.properties

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
11
# Sets default memory used for gradle commands. Can be overridden by user or command line properties.
22
org.gradle.jvmargs=-Xmx1G
3-
org.gradle.daemon=false
4-
org.gradle.debug=false
3+
org.gradle.daemon=true
4+
org.gradle.parallel=true
5+
org.gradle.caching=true
6+
org.gradle.configuration-cache=true
57

6-
#read more on this at https://github.com/neoforged/NeoGradle/blob/NG_7.0/README.md#apply-parchment-mappings
8+
#read more on this at https://github.com/neoforged/ModDevGradle?tab=readme-ov-file#better-minecraft-parameter-names--javadoc-parchment
79
# you can also find the latest versions at: https://parchmentmc.org/docs/getting-started
8-
neogradle.subsystems.parchment.minecraftVersion=1.21
9-
neogradle.subsystems.parchment.mappingsVersion=2024.07.28
10+
parchment_minecraft_version=1.21
11+
parchment_mappings_version=2024.11.10
1012
# Environment Properties
1113
# You can find the latest versions here: https://projects.neoforged.net/neoforged/neoforge
1214
# The Minecraft version must agree with the Neo version to get a valid artifact
1315
minecraft_version=1.21
1416
# The Minecraft version range can use any release version of Minecraft as bounds.
1517
# Snapshots, pre-releases, and release candidates are not guaranteed to sort properly
1618
# as they do not follow standard versioning conventions.
17-
minecraft_version_range=[1.21,1.22)
19+
minecraft_version_range=[1.21]
1820
# The Neo version must agree with the Minecraft version to get a valid artifact
1921
neo_version=21.0.167
20-
# The Neo version range can use any version of Neo as bounds
21-
neo_version_range=[21.0.0-beta,)
2222
# The loader version range can only use the major version of FML as bounds
23-
loader_version_range=[4,)
23+
loader_version_range=[1,)
2424

2525
## Mod Properties
2626

-17.4 KB
Binary file not shown.
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip
44
networkTimeout=10000
5+
validateDistributionUrl=true
56
zipStoreBase=GRADLE_USER_HOME
67
zipStorePath=wrapper/dists

neoforge_1_21/settings.gradle

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
pluginManagement {
22
repositories {
3-
mavenLocal()
43
gradlePluginPortal()
5-
maven { url = 'https://maven.neoforged.net/releases' }
64
}
75
}
86

97
plugins {
10-
id 'org.gradle.toolchains.foojay-resolver-convention' version '0.8.0'
8+
id 'org.gradle.toolchains.foojay-resolver-convention' version '1.0.0'
119
}
12-
13-
rootProject.name = 'AllMusic_Client'

0 commit comments

Comments
 (0)