Skip to content

Commit a4daea8

Browse files
committedApr 10, 2023
Updated confiugurations, added autodeploy (still needs a curseforgeID) and added CHANGELOG.md
1 parent ef3cbeb commit a4daea8

File tree

5 files changed

+205
-23
lines changed

5 files changed

+205
-23
lines changed
 

‎.github/workflows/autobuild.yaml

+121
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
name: Build and upload mod
2+
on:
3+
push:
4+
branches:
5+
- '1.19'
6+
release:
7+
types: [ published ]
8+
branches:
9+
- '1.19'
10+
11+
jobs:
12+
setup:
13+
if: ${{ contains(github.event.head_commit.message, 'version bump for release') && github.event_name != 'release' }}
14+
name: Generate file path
15+
runs-on: ubuntu-latest
16+
outputs:
17+
mod_name: ${{steps.moddetails.outputs.mod_name}}
18+
mod_version: ${{steps.moddetails.outputs.mod_version}}
19+
java_version: ${{steps.moddetails.outputs.java_version}}
20+
mc_patch_version: ${{steps.patchversion.outputs.mc_patch_version}}
21+
mc_minor_version: ${{steps.minorversion.outputs.mc_minor_version}}
22+
file_path: ${{steps.filepath.outputs.file_path}}
23+
steps:
24+
- name: Checkout
25+
uses: actions/checkout@v3
26+
- name: Get Details
27+
id: moddetails
28+
run: |
29+
echo "mod_name=$(cat ./gradle.properties | sed -n 's/modid\=//p' | tr -d "'")" >> $GITHUB_OUTPUT
30+
echo "mod_version=$(cat ./gradle.properties | sed -n 's/mod_version\=//p' | tr -d "'")" >> $GITHUB_OUTPUT
31+
echo "mc_version=$(cat ./gradle.properties | sed -n 's/mc_version\=//p' | tr -d "'")" >> $GITHUB_OUTPUT
32+
echo "java_version=$(cat ./build.gradle | grep -o -P '(?<=JavaLanguageVersion.of\().*(?=\))')" >> $GITHUB_OUTPUT
33+
- name: MC Patch Version
34+
id: patchversion
35+
run: echo "mc_patch_version=$(echo ${{ steps.moddetails.outputs.mc_version }} | awk -F- '{ print $1 }')" >> $GITHUB_OUTPUT
36+
- name: MC Minor Version
37+
id: minorversion
38+
run: echo "mc_minor_version=$(echo ${{ steps.patchversion.outputs.mc_patch_version }} | awk -F. '{ print $1"."$2 }')" >> $GITHUB_OUTPUT
39+
- name: Get Details
40+
id: filepath
41+
run: echo "file_path=./build/libs/${{ steps.moddetails.outputs.mod_name }}-${{ steps.moddetails.outputs.mc_version }}-${{ steps.moddetails.outputs.mod_version }}.jar" >> $GITHUB_OUTPUT
42+
43+
build:
44+
name: Build and cache
45+
runs-on: ubuntu-latest
46+
needs: [ setup ]
47+
steps:
48+
- name: Checkout
49+
uses: actions/checkout@v3
50+
- name: Set up JDK
51+
uses: actions/setup-java@v3
52+
with:
53+
java-version: '${{ needs.setup.outputs.java_version }}'
54+
distribution: 'adopt'
55+
cache: 'gradle'
56+
- name: Grant execute permission for gradlew
57+
run: chmod +x gradlew
58+
- name: Build
59+
run: ./gradlew :build
60+
- name: Cache
61+
uses: actions/cache@v3
62+
with:
63+
path: |
64+
${{ needs.setup.outputs.file_path }}
65+
CHANGELOG.md
66+
key: ${{ github.sha }}
67+
68+
upload:
69+
name: Upload to ModRepo
70+
runs-on: ubuntu-latest
71+
needs: [ setup,build ]
72+
steps:
73+
- name: Restore Cache
74+
uses: actions/cache@v3
75+
with:
76+
path: |
77+
${{ needs.setup.outputs.file_path }}
78+
CHANGELOG.md
79+
key: ${{ github.sha }}
80+
- name: Upload to CurseForge
81+
if: ${{ vars.MODREPO == 'curseforge' || vars.MODREPO == 'both' }}
82+
uses: Kir-Antipov/mc-publish@v3.2
83+
with:
84+
curseforge-id: XXXXXX
85+
curseforge-token: ${{ secrets.curseforge_api }}
86+
87+
files-primary: ${{ needs.setup.outputs.file_path }}
88+
89+
name: ${{ needs.setup.outputs.mod_name }}-${{ needs.setup.outputs.mc_patch_version }}-${{ needs.setup.outputs.mod_version }}
90+
version: ${{ needs.setup.outputs.mc_patch_version }}-${{ needs.setup.outputs.mod_version }}
91+
changelog-file: CHANGELOG.md
92+
93+
loaders: |
94+
forge
95+
game-versions: |
96+
${{ needs.setup.outputs.mc_minor_version }}
97+
${{ needs.setup.outputs.mc_patch_version }}
98+
java: |
99+
${{ needs.setup.outputs.java_version }}
100+
version-type: |
101+
beta
102+
- name: Upload to Modrinth
103+
if: ${{ vars.MODREPO == 'modrinth' || vars.MODREPO == 'both' }}
104+
uses: Kir-Antipov/mc-publish@v3.2
105+
with:
106+
modrinth-id: KFQYC1Uy
107+
modrinth-token: ${{ secrets.modrinth_api }}
108+
109+
files-primary: ${{ needs.setup.outputs.file_path }}
110+
111+
name: ${{ needs.setup.outputs.mod_name }}-${{ needs.setup.outputs.mc_patch_version }}-${{ needs.setup.outputs.mod_version }}
112+
version: ${{ needs.setup.outputs.mc_patch_version }}-${{ needs.setup.outputs.mod_version }}
113+
changelog-file: CHANGELOG.md
114+
115+
loaders: |
116+
forge
117+
game-versions: |
118+
${{ needs.setup.outputs.mc_minor_version }}
119+
${{ needs.setup.outputs.mc_patch_version }}
120+
java: |
121+
${{ needs.setup.outputs.java_version }}

‎CHANGELOG.md

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Changelog
2+
3+
## [1.19.2-0.0.1-alpha] - 2023-XX-XX
4+
### Major Features
5+
6+
### Minor Features
7+
8+
### Bugfixes / Tweaks

‎build.gradle

+52-21
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,17 @@
11
buildscript {
22
repositories {
3-
maven { url = 'https://repo.spongepowered.org/repository/maven-public/' }
3+
maven { url = 'https://files.minecraftforge.net/maven' }
4+
maven { url = 'https://maven.parchmentmc.org' }
5+
jcenter()
6+
mavenCentral()
7+
maven { url = 'https://dist.creeper.host/Sponge/maven' }
8+
maven { url = 'https://repo.spongepowered.org/repository/maven-public' }
49
}
510
dependencies {
11+
classpath(group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '5.1.+', changing: true) { exclude group: 'org.apache.logging.log4j' }
12+
classpath 'org.parchmentmc:librarian:1.+'
13+
classpath 'org.apache.logging.log4j:log4j-api:2.11.2'
14+
classpath 'org.apache.logging.log4j:log4j-core:2.11.2'
615
classpath group: 'org.spongepowered', name: 'mixingradle', version: '0.7-SNAPSHOT'
716
}
817
}
@@ -14,11 +23,12 @@ plugins {
1423
}
1524

1625
apply plugin: 'org.spongepowered.mixin'
26+
apply plugin: 'org.parchmentmc.librarian.forgegradle'
1727

1828
mixin {
19-
add sourceSets.main, "infamous_legends.refmap.json"
29+
add sourceSets.main, "${modid}.refmap.json"
2030

21-
config "infamous_legends.mixins.json"
31+
config "${modid}.mixins.json"
2232
}
2333

2434
dependencies {
@@ -27,14 +37,14 @@ dependencies {
2737
}
2838

2939
version = '1.0'
30-
group = 'com.infamous.infamous_legends'
31-
archivesBaseName = 'modid'
40+
group = "com.infamous.${modid}"
41+
archivesBaseName = "${modid}"
3242

3343
java.toolchain.languageVersion = JavaLanguageVersion.of(17)
3444

3545
println "Java: ${System.getProperty 'java.version'}, JVM: ${System.getProperty 'java.vm.version'} (${System.getProperty 'java.vendor'}), Arch: ${System.getProperty 'os.arch'}"
3646
minecraft {
37-
mappings channel: 'official', version: '1.19.2'
47+
mappings channel: "parchment", version:"${parchment_version}"
3848

3949
accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
4050

@@ -115,34 +125,55 @@ repositories {
115125
includeGroup "curse.maven"
116126
}
117127
}
118-
maven {
119-
name = "GeckoLib Maven" //Geckolib
120-
url 'https://dl.cloudsmith.io/public/geckolib3/geckolib/maven/'
121-
}
122-
maven {
128+
maven {
129+
name = "Architectury Maven" //Architectury
130+
url "https://maven.architectury.dev/"
131+
}
132+
maven {
133+
name = "GeckoLib Maven" //Geckolib
134+
url 'https://dl.cloudsmith.io/public/geckolib3/geckolib/maven/'
135+
}
136+
maven {
123137
name = "IllusiveC4 Maven" //Curios
124-
url = "https://maven.theillusivec4.top/"
138+
url = "https://maven.theillusivec4.top/"
139+
}
140+
maven {
141+
name = "Progwml6 maven" //JEI
142+
url = "https://dvs1.progwml6.com/files/maven/"
125143
}
126144
flatDir {
127145
dirs 'mods'
128146
}
129147
}
130148

131149
dependencies {
132-
minecraft 'net.minecraftforge:forge:1.19.2-43.2.8'
133-
134-
//implementation fg.deobf("dungeons_libraries:dungeons_libraries:${mc_version}-${libraries_version}")
150+
//Base
151+
minecraft "net.minecraftforge:forge:${mc_version}-${forge_version}"
152+
annotationProcessor 'org.spongepowered:mixin:0.8.5:processor'
135153

154+
155+
//Libraries
156+
implementation fg.deobf("dungeons_libraries:dungeons_libraries:${mc_version}-${libraries_version}")
136157
implementation fg.deobf("software.bernie.geckolib:geckolib-forge-1.19:${geckolib_version}")
137-
138158
runtimeOnly fg.deobf("top.theillusivec4.curios:curios-forge:${curios_version}")
139159
compileOnly fg.deobf("top.theillusivec4.curios:curios-forge:${curios_version}:api")
140-
141-
142-
143-
runtimeOnly fg.deobf("curse.maven:mob-battle-mod-version-268746:${mob_battle_mod_version}")
144-
160+
161+
//Extras
162+
runtimeOnly fg.deobf("curse.maven:mob-battle-mod-version-268746:${mob_battle_version}")
145163
runtimeOnly fg.deobf("curse.maven:torohealth-damage-indicators-version-245733:3895068")
164+
implementation fg.deobf("mezz.jei:jei-${mc_version}-common-api:${jei_version}")
165+
implementation fg.deobf("mezz.jei:jei-${mc_version}-forge:${jei_version}")
166+
implementation fg.deobf("curse.maven:just-enough-resources-jer-240630:${jer_version}")
167+
implementation fg.deobf("curse.maven:just-enough-effect-descriptions-jeed-532286:${jeed_version}")
168+
169+
runtimeOnly fg.deobf("curse.maven:appleskin-248787:${appleskin_version}")
170+
171+
implementation fg.deobf("curse.maven:configured-457570:${configured_version}")
172+
implementation fg.deobf("curse.maven:catalogue-459701:${catalogue_version}")
173+
174+
runtimeOnly fg.deobf("curse.maven:mob-battle-mod-version-268746:${mob_battle_version}")
175+
176+
runtimeOnly fg.deobf("curse.maven:spark-361579:${spark_version}")
146177

147178
}
148179
jar {

‎gradle.properties

+24-2
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,34 @@
33
org.gradle.jvmargs=-Xmx3G
44
org.gradle.daemon=false
55

6+
modid=infamous_legends
7+
68
mc_version=1.19.2
9+
forge_version=43.2.8
10+
mod_version=0.0.1-alpha
11+
parchment_version=2022.11.27-1.19.2
712

8-
libraries_version=3.0.8-beta
13+
# Libraries
14+
libraries_version=3.0.10-beta
915
curios_version=1.19.2-5.1.1.0
1016
geckolib_version=3.1.39
1117

18+
# Extras
19+
jei_version=11.2.0.247
20+
jer_version=4351907
21+
jeed_version=4277808
22+
23+
rei_version=9.1.580
24+
rer_version=3929213
25+
26+
architectury_version=6.4.62
27+
cloth_config_version=8.2.88
28+
29+
configured_version=4011355
30+
catalogue_version=4171024
31+
32+
appleskin_version=3872808
1233

34+
mob_battle_version=3952789
1335

14-
mob_battle_mod_version=3952789
36+
spark_version=4057111
609 KB
Binary file not shown.

0 commit comments

Comments
 (0)
Please sign in to comment.