Skip to content

Commit 3e7eb87

Browse files
authored
Merge pull request #4214 from wagyourtail/1.20/1.20.4
1.20.4
2 parents a945cfa + c146440 commit 3e7eb87

File tree

27 files changed

+408
-105
lines changed

27 files changed

+408
-105
lines changed

.github/workflows/gradle_build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
run: chmod +x gradlew
2929

3030
- name: Build with Gradle
31-
run: ./gradlew build -Pmod_version="$(git describe --always --tags | cut -c2-)"
31+
run: ./gradlew build -Pmod_version="$(git describe --always --tags --first-parent | cut -c2-)"
3232

3333
- name: Archive Artifacts
3434
uses: actions/upload-artifact@v3

Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ RUN apt update -y
66

77
RUN apt install \
88
openjdk-17-jdk \
9+
git \
910
--assume-yes
1011

1112
COPY . /code

build.gradle

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,19 @@ allprojects {
2121
apply plugin: "maven-publish"
2222

2323
archivesBaseName = rootProject.archives_base_name
24-
def vers = 'git describe --always --tags --dirty'.execute().text.trim()
24+
25+
def vers = ""
26+
try {
27+
vers = 'git describe --always --tags --first-parent --dirty'.execute().text.trim()
28+
} catch (Exception e) {
29+
println "Version detection failed: " + e
30+
}
2531
if (!vers.startsWith("v")) {
26-
println "git doesn't appear to be installed!"
2732
println "using version number: " + rootProject.mod_version
2833
version = rootProject.mod_version
2934
} else {
3035
version = vers.substring(1)
36+
println "Detected version " + version
3137
}
3238
group = rootProject.maven_group
3339

@@ -66,18 +72,24 @@ allprojects {
6672
}
6773

6874
dependencies {
69-
minecraft "net.minecraft:minecraft:${rootProject.minecraft_version}"
70-
// The following line declares the mojmap mappings, you may use other mappings as well
71-
mappings "net.fabricmc:intermediary:${rootProject.minecraft_version}:v2"
72-
mappings "net.minecraft:minecraft:${rootProject.minecraft_version}:client-mappings"
73-
mappings "org.parchmentmc.data:parchment-1.19.2:2022.11.27@zip"
74-
7575
implementation "org.spongepowered:mixin:0.8.5"
7676
implementation "org.ow2.asm:asm:9.3"
7777
// The following line declares the yarn mappings you may select this one as well.
7878
// mappings "net.fabricmc:yarn:1.17.1+build.32:v2"
7979
//launchImplementation('dev.babbaj:nether-pathfinder:1.3.0')
80-
implementation 'dev.babbaj:nether-pathfinder:1.4.1'
80+
implementation "dev.babbaj:nether-pathfinder:${nether_pathfinder_version}"
81+
82+
implementation 'com.google.code.findbugs:jsr305:3.0.2'
83+
}
84+
85+
unimined.minecraft(sourceSets.main, true) {
86+
version rootProject.minecraft_version
87+
88+
mappings {
89+
intermediary()
90+
mojmap()
91+
parchment("1.20.2", "2023.10.22")
92+
}
8193
}
8294

8395
tasks.withType(JavaCompile).configureEach {
@@ -90,8 +102,9 @@ allprojects {
90102
}
91103
}
92104

93-
minecraft {
105+
unimined.minecraft {
94106
runs.off = true
107+
defaultRemapJar = false
95108
}
96109

97110
archivesBaseName = archivesBaseName + "-common"
@@ -131,10 +144,6 @@ jar {
131144
from sourceSets.main.output, sourceSets.launch.output, sourceSets.api.output
132145
}
133146

134-
remapJar {
135-
target = "mojmap"
136-
}
137-
138147
javadoc {
139148
options.addStringOption('Xwerror', '-quiet') // makes the build fail on travis when there is a javadoc error
140149
options.linkSource true

buildSrc/build.gradle

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,16 @@ repositories {
2929
name = 'FabricMaven'
3030
url = 'https://maven.fabricmc.net/'
3131
}
32+
maven {
33+
name = 'NeoForgedMaven'
34+
url = 'https://maven.neoforged.net/'
35+
}
3236
mavenCentral()
3337
}
3438

3539
dependencies {
3640
implementation group: 'com.google.code.gson', name: 'gson', version: '2.9.0'
37-
implementation group: 'commons-io', name: 'commons-io', version: '2.6'
41+
implementation group: 'commons-io', name: 'commons-io', version: '2.7'
3842

39-
implementation group: 'xyz.wagyourtail.unimined', name: 'xyz.wagyourtail.unimined.gradle.plugin', version: '0.4.10'
43+
implementation group: 'xyz.wagyourtail.unimined', name: 'xyz.wagyourtail.unimined.gradle.plugin', version: '1.1.0'
4044
}

buildSrc/src/main/java/baritone/gradle/task/ProguardTask.java

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,22 +20,21 @@
2020
import baritone.gradle.util.Determinizer;
2121
import org.gradle.api.plugins.JavaPluginConvention;
2222
import org.gradle.api.tasks.Input;
23+
import org.gradle.api.tasks.SourceSetContainer;
2324
import org.gradle.api.tasks.TaskAction;
2425
import org.gradle.api.tasks.TaskCollection;
2526
import org.gradle.api.tasks.compile.ForkOptions;
2627
import org.gradle.api.tasks.compile.JavaCompile;
2728
import org.gradle.internal.jvm.Jvm;
28-
import xyz.wagyourtail.unimined.api.Constants;
29-
import xyz.wagyourtail.unimined.api.minecraft.EnvType;
30-
import xyz.wagyourtail.unimined.api.minecraft.MinecraftProvider;
29+
import xyz.wagyourtail.unimined.api.UniminedExtension;
30+
import xyz.wagyourtail.unimined.api.minecraft.MinecraftConfig;
3131

3232
import java.io.*;
3333
import java.net.URL;
3434
import java.nio.file.Files;
3535
import java.nio.file.Path;
3636
import java.nio.file.StandardCopyOption;
3737
import java.util.ArrayList;
38-
import java.util.Arrays;
3938
import java.util.List;
4039
import java.util.stream.Stream;
4140
import java.util.zip.ZipEntry;
@@ -63,8 +62,6 @@ public String getExtract() {
6362

6463
private List<String> requiredLibraries;
6564

66-
private File pathfinder;
67-
6865
@TaskAction
6966
protected void exec() throws Exception {
7067
super.doFirst();
@@ -74,29 +71,31 @@ protected void exec() throws Exception {
7471
downloadProguard();
7572
extractProguard();
7673
generateConfigs();
77-
pathfinder = acquireDependencies().filter(file -> file.getName().contains("nether-pathfinder")).findAny().get();
7874
processArtifact();
7975
proguardApi();
8076
proguardStandalone();
8177
cleanup();
8278
}
8379

84-
MinecraftProvider<?, ?> provider = this.getProject().getExtensions().getByType(MinecraftProvider.class);
80+
UniminedExtension ext = getProject().getExtensions().getByType(UniminedExtension.class);
81+
SourceSetContainer sourceSets = getProject().getExtensions().getByType(SourceSetContainer.class);
8582

8683
private File getMcJar() {
87-
return provider.getMinecraftWithMapping(EnvType.COMBINED, provider.getMcPatcher().getProdNamespace(), provider.getMcPatcher().getProdNamespace()).toFile();
84+
MinecraftConfig mcc = ext.getMinecrafts().get(sourceSets.getByName("main"));
85+
return mcc.getMinecraft(mcc.getMcPatcher().getProdNamespace(), mcc.getMcPatcher().getProdNamespace()).toFile();
8886
}
8987

9088
private boolean isMcJar(File f) {
91-
return this.getProject().getConfigurations().getByName(Constants.MINECRAFT_COMBINED_PROVIDER).getFiles().contains(f);
89+
MinecraftConfig mcc = ext.getMinecrafts().get(sourceSets.getByName("main"));
90+
return mcc.isMinecraftJar(f.toPath());
9291
}
9392

9493
private void processArtifact() throws Exception {
9594
if (Files.exists(this.artifactUnoptimizedPath)) {
9695
Files.delete(this.artifactUnoptimizedPath);
9796
}
9897

99-
Determinizer.determinize(this.artifactPath.toString(), this.artifactUnoptimizedPath.toString(), Arrays.asList(pathfinder), false);
98+
Determinizer.determinize(this.artifactPath.toString(), this.artifactUnoptimizedPath.toString(), List.of(), false);
10099
}
101100

102101
private void downloadProguard() throws Exception {
@@ -252,12 +251,12 @@ private Stream<File> acquireDependencies() {
252251

253252
private void proguardApi() throws Exception {
254253
runProguard(getTemporaryFile(compType + PROGUARD_API_CONFIG));
255-
Determinizer.determinize(this.proguardOut.toString(), this.artifactApiPath.toString(), Arrays.asList(pathfinder), false);
254+
Determinizer.determinize(this.proguardOut.toString(), this.artifactApiPath.toString(), List.of(), false);
256255
}
257256

258257
private void proguardStandalone() throws Exception {
259258
runProguard(getTemporaryFile(compType + PROGUARD_STANDALONE_CONFIG));
260-
Determinizer.determinize(this.proguardOut.toString(), this.artifactStandalonePath.toString(), Arrays.asList(pathfinder), false);
259+
Determinizer.determinize(this.proguardOut.toString(), this.artifactStandalonePath.toString(), List.of(), false);
261260
}
262261

263262
private static final class Pair<A, B> {

fabric/build.gradle

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,14 @@ import baritone.gradle.task.CreateDistTask
1919
import baritone.gradle.task.ProguardTask
2020

2121
plugins {
22-
id "com.github.johnrengelman.shadow" version "7.0.0"
22+
id "com.github.johnrengelman.shadow" version "8.0.0"
2323
}
2424

2525
archivesBaseName = archivesBaseName + "-fabric"
2626

27-
minecraft {
28-
fabric()
29-
runs.client = {
30-
jvmArgs.add("-XstartOnFirstThread")
27+
unimined.minecraft {
28+
fabric {
29+
loader project.fabric_version
3130
}
3231
}
3332

@@ -39,15 +38,14 @@ configurations {
3938
}
4039

4140
dependencies {
42-
fabric "net.fabricmc:fabric-loader:${project.fabric_version}"
43-
4441
// because of multiple sourcesets `common project(":")` doesn't work
4542
for (sourceSet in rootProject.sourceSets) {
4643
if (sourceSet == rootProject.sourceSets.test) continue
4744
if (sourceSet == rootProject.sourceSets.schematica_api) continue
4845
common sourceSet.output
4946
shadowCommon sourceSet.output
5047
}
48+
include "dev.babbaj:nether-pathfinder:${nether_pathfinder_version}"
5149
}
5250

5351
processResources {
@@ -60,17 +58,17 @@ processResources {
6058

6159
shadowJar {
6260
configurations = [project.configurations.shadowCommon]
63-
classifier "dev-shadow"
61+
archiveClassifier.set "dev-shadow"
6462
}
6563

6664
remapJar {
6765
inputFile.set shadowJar.archiveFile
6866
dependsOn shadowJar
69-
classifier null
67+
archiveClassifier.set null
7068
}
7169

7270
jar {
73-
classifier "dev"
71+
archiveClassifier.set "dev"
7472
}
7573

7674
components.java {
@@ -103,4 +101,4 @@ publishing {
103101
repositories {
104102
// Add repositories to publish to here.
105103
}
106-
}
104+
}

fabric/src/main/resources/fabric.mod.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
{
32
"schemaVersion": 1,
43
"id": "baritone",
@@ -26,6 +25,6 @@
2625

2726
"depends": {
2827
"fabricloader": ">=0.14.22",
29-
"minecraft": "1.20.2"
28+
"minecraft": ["1.20.3", "1.20.4"]
3029
}
3130
}

forge/build.gradle

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,19 @@ import baritone.gradle.task.CreateDistTask
1919
import baritone.gradle.task.ProguardTask
2020

2121
plugins {
22-
id "com.github.johnrengelman.shadow" version "7.0.0"
22+
id "com.github.johnrengelman.shadow" version "8.0.0"
2323
}
2424

2525
archivesBaseName = archivesBaseName + "-forge"
2626

27-
minecraft {
27+
unimined.minecraft {
28+
mappings {
29+
devFallbackNamespace "intermediary"
30+
}
31+
2832
forge {
29-
devFallbackNamespace = "intermediary"
30-
mixinConfig = ["mixins.baritone.json"]
33+
loader project.forge_version
34+
mixinConfig ["mixins.baritone.json"]
3135
}
3236
}
3337

@@ -45,15 +49,14 @@ configurations {
4549
}
4650

4751
dependencies {
48-
forge "net.minecraftforge:forge:${rootProject.forge_version}"
49-
5052
// because of multiple sourcesets `common project(":")` doesn't work
5153
for (sourceSet in rootProject.sourceSets) {
5254
if (sourceSet == rootProject.sourceSets.test) continue
5355
if (sourceSet == rootProject.sourceSets.schematica_api) continue
5456
common sourceSet.output
5557
shadowCommon sourceSet.output
5658
}
59+
shadowCommon "dev.babbaj:nether-pathfinder:${nether_pathfinder_version}"
5760
}
5861

5962
processResources {
@@ -66,17 +69,17 @@ processResources {
6669

6770
shadowJar {
6871
configurations = [project.configurations.shadowCommon]
69-
classifier "dev-shadow"
72+
archiveClassifier.set "dev-shadow"
7073
}
7174

7275
remapJar {
7376
inputFile.set shadowJar.archiveFile
7477
dependsOn shadowJar
75-
classifier null
78+
archiveClassifier.set null
7679
}
7780

7881
jar {
79-
classifier "dev"
82+
archiveClassifier.set "dev"
8083

8184
manifest {
8285
attributes(

forge/src/main/resources/META-INF/mods.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,6 @@ A Minecraft pathfinder bot.
3535
modId="minecraft"
3636
mandatory=true
3737
# This version range declares a minimum of the current minecraft version up to but not including the next major version
38-
versionRange="[1.20.2]"
38+
versionRange="[1.20.3, 1.20.4]"
3939
ordering="NONE"
4040
side="BOTH"

gradle.properties

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
org.gradle.jvmargs=-Xmx4G
22

3-
available_loaders=fabric,forge,tweaker
3+
available_loaders=fabric,forge,neoforge,tweaker
44

55
mod_version=1.10.2
66
maven_group=baritone
77
archives_base_name=baritone
88

9-
minecraft_version=1.20.2
10-
forge_version=1.20.2-48.0.1
9+
minecraft_version=1.20.4
10+
11+
forge_version=49.0.3
12+
neoforge_version=0-beta
13+
1114
fabric_version=0.14.22
15+
16+
nether_pathfinder_version=1.4.1

0 commit comments

Comments
 (0)