neuralgia/.github/workflows/build.yml
AirRice 2d94c67645
Create 6 work on my end (#1214)
* fixed rabbit houses not spawning, put them in every biome but reduced the weight a bit

* changed moon rocks to be based off noise instead of biomes

* climate stuff

* back on that moon decoration grindset

* Rocket craft

* lunar foliage

* New crafting process for the Tier 1 Rocket (#971)

* Rocket craft

* fix name for asbestos

Signed-off-by: TomPlop <tomdidome@gmail.com>

* fix asbestos name

Signed-off-by: TomPlop <tomdidome@gmail.com>

* remove wires for rocket alloy and fix asbestos

Signed-off-by: TomPlop <tomdidome@gmail.com>

---------

Signed-off-by: TomPlop <tomdidome@gmail.com>

* removed kjs moon plants since they're in tfg-core now

* chorus plants!

* lang update

* moon biome/feature updates, added chorus plants

* this fucking lang that I hate

* added proper loose rock, rock pile, and rock delta features for all the moon rock types, added coral features, retextured warped vines

* added spikes for all ad astra rocks

* finished adding spikes for all rocks

* fixed moon rabbit houses

* HV Quests in eng and fixes for others quests and HV integration (#998)

* moved moonbase structure to the last step of worldgen so it doesn't get stuff placed on top of it

* langs for biomes

* tweaks for moon spikes and warped vines, added asurine biome decoration

* updated langs

* tweak to placement of loose moon stones

* spikes should now only generate underground

* craters...? not a huge fan of these tbh

* never mind, those craters looked bad

* loot tables for new moon blocks

* loot tables for "meteorites" and quartz blocks

* craters but for realsies this time

* Fixes for quests (#1000)

* ad astra configs

* added recipes for the oxygen loader

* started a tfg space recipes file, moved the air collector ones there

* Bedrock miner for the moon (#1021)

* bedrock vein moon

* Bedrock miner implementation

* adding mica vein and fixing vein id with tfg

* fix for id mica vein

* Fix Electrolyzing lang formate for moon update (#1032)

* changed moon worldgen depth from -64 to 0

* pakku

* figured out how to make pakku actually add the old version of ad astra we want

* added giselle-addon back for now

* fixed merge

* existing greenhouse recipes now require to be on earth

* moved these into a different file

* retextured raw iron block / raw iron ore, changed ad astra sky stone to look like more of a meteorite, langs

* removed brittle charcoal

* removed dead firmalife event

* added sand layer blocks

* added sand piles, added new sandy biome that replaces lunar_plains sometimes

* removed moon spikes

* oops fixed the spikes

* added loose rocks back to lunar_sands

* biome lang

* forgor to add lunar sands to the moon biome list

* changed stone layers so they all follow the same noise (easier to understand since that's how tfc does it too, more or less)

* ad astra recipe tweaks

* started recipes for some deco blocks

* updated ore field guide

* moonbase structure legs (I hate jigsaws!)

* tweaks to the asurine geode because it seems to cause chunk errors sometimes

* added rabbits to all neutral/sparse biomes, removed from all dense ones

* remove cheese block

* mobs for moon biomes

* loot tables and tags for moon endermen

* item sizes for ad astra

* yumy popped chorus fruit (needs a cooking recipe)

* biome tweaks again

* biome mob tweaks again

* more work on deco blocks, needs checking

* fixed rabbit spawns

* rabbit spawn tweaks, removed endermites because they're screwing with other mob spawns

* we got our own moon carvers now! that don't put lava underground any more!

* ad astra recipe tweaks and finishing up

* removed duplicate white flag recipe

* solar panel tweaks

* langs

* what if we just added recipes for these?

* added recipes for ae2 deco blocks, stone dust centrifuge recipes for the moon

* ash pile always gives ash

* chorus flower loot table

* desh raw ore block change

* ore vein updates

* oh yeah there's no etrium ore

* langs

* tfc-ambiental tooltips for space suits

* more recipe tweaks

* we love material unification

* fixed ad astra's lamps so they actually emit light lmao

* removed FE cables 💔

* adjusted the brightness of the generated raw ore textures

* langs

* mysterious cube recipe

* cc recipe tweaks

* langs

* asurine dust + centrifuge recipes

* does this fix the weird squares with structures?

* moon noise tweaks

* chorus/lightbloom stuff

* remove ad-astra-giselle-addon, tweak netherite spacesuit recipes

* revert new raw iron texture

* forgor one of the giselle recipes

* removed giselle quest

* langs

* compressed airs!

* whatever this is

* antigravity! and zip gun tags

* lang

* rearranged food recipes into hopefully a good format?

* custom gregtech machines and logic to handle TFC recipes (#1160)

* Change lv chem reactor quest to require any container with rubber instead of a rubber bucket

Signed-off-by: ofoxsmith <77560533+ofoxsmith@users.noreply.github.com>

* Add placeholder assets for food machines (copied from gtceu)

* remove greenhouse definition from kubejs

* change greenhouse recipe

* Rework recipes file

---------

Signed-off-by: ofoxsmith <77560533+ofoxsmith@users.noreply.github.com>
Signed-off-by: Pyritie <pyritie@gmail.com>
Co-authored-by: Pyritie <pyritie@gmail.com>

* pakku updates

* update greenhouse quest

* update greenhouse tooltip

* comment out coconut milk

* langs

* tooltip fix

* wrong food lang

* recipe fixes

* started work on rewriting the readme

* Update pakku-lock.json for lunchbox fix (#1164)

* - Update pakku-lock.json for lunchbox fix

* - Update pakku-lock.json

* Update pakku-lock.json

* bump

* Add some more food recipes (#1166)

* Change lv chem reactor quest to require any container with rubber instead of a rubber bucket

Signed-off-by: ofoxsmith <77560533+ofoxsmith@users.noreply.github.com>

* Add placeholder assets for food machines (copied from gtceu)

* remove greenhouse definition from kubejs

* change greenhouse recipe

* Rework recipes file

* Modify food recipes

* Add some more recipes

* add more recipes and tidy up food recipe file

* change incorrect string

---------

Signed-off-by: ofoxsmith <77560533+ofoxsmith@users.noreply.github.com>
Signed-off-by: Pyritie <pyritie@gmail.com>
Co-authored-by: Pyritie <pyritie@gmail.com>

* - Food changes

* - Updated texture for aqueous accumulator

* Update README.md

Signed-off-by: Pyritie <pyritie@gmail.com>

* - Updated texture for aqueous accumulator (#1168)

* - Food changes (#1167)

* fixes #1165

* removed gems tag from flint

* fixes #1162

* Migmatite conflict fix (#1153)

* Migmatite conflict fixe

Tbh I can hardly call this a good fix, but tbh with Stonecutter coming back this might even be meaningless

Signed-off-by: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com>

* Update Migmatite

Signed-off-by: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com>

* Update recipes.rocks.js

Signed-off-by: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com>

---------

Signed-off-by: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com>

* fixed some VI/rolling mill recipes that were still generating for removed items

* tweaked zinc color, added new plated block color

* nerfed durability of wooden tongs, slightly tweaked their recipe

* changelog

* quest updates, langs

* Adding glow ink recipe (#1171)

* Adding glow ink recipe

* config test

* changing to chem bath and 'glowing dye'

---------

Co-authored-by: Xikaro <os.valerievich@ya.ru>

* fixed ice capsule recipe not filling it up completely

* material and rose quartz stuff

* Bump softprops/action-gh-release in the dependencies group (#1172)

Bumps the dependencies group with 1 update: [softprops/action-gh-release](https://github.com/softprops/action-gh-release).


Updates `softprops/action-gh-release` from 2.2.2 to 2.3.2
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/softprops/action-gh-release/compare/v2.2.2...v2.3.2)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-version: 2.3.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* updated dimension marker for the beneath, new ones for other planets

* langs

* mushroom blocks now drop way less mushroom

* Active/food (#1176)

* rearranged food recipes into hopefully a good format?

* custom gregtech machines and logic to handle TFC recipes (#1160)

* Change lv chem reactor quest to require any container with rubber instead of a rubber bucket

Signed-off-by: ofoxsmith <77560533+ofoxsmith@users.noreply.github.com>

* Add placeholder assets for food machines (copied from gtceu)

* remove greenhouse definition from kubejs

* change greenhouse recipe

* Rework recipes file

---------

Signed-off-by: ofoxsmith <77560533+ofoxsmith@users.noreply.github.com>
Signed-off-by: Pyritie <pyritie@gmail.com>
Co-authored-by: Pyritie <pyritie@gmail.com>

* update greenhouse quest

* update greenhouse tooltip

* comment out coconut milk

* langs

* tooltip fix

* wrong food lang

* recipe fixes

* Add some more food recipes (#1166)

* Change lv chem reactor quest to require any container with rubber instead of a rubber bucket

Signed-off-by: ofoxsmith <77560533+ofoxsmith@users.noreply.github.com>

* Add placeholder assets for food machines (copied from gtceu)

* remove greenhouse definition from kubejs

* change greenhouse recipe

* Rework recipes file

* Modify food recipes

* Add some more recipes

* add more recipes and tidy up food recipe file

* change incorrect string

---------

Signed-off-by: ofoxsmith <77560533+ofoxsmith@users.noreply.github.com>
Signed-off-by: Pyritie <pyritie@gmail.com>
Co-authored-by: Pyritie <pyritie@gmail.com>

* - Food changes

---------

Signed-off-by: ofoxsmith <77560533+ofoxsmith@users.noreply.github.com>
Signed-off-by: Pyritie <pyritie@gmail.com>
Signed-off-by: Redeix <59435925+Redeix@users.noreply.github.com>
Co-authored-by: Pyritie <pyritie@gmail.com>
Co-authored-by: ofoxsmith <77560533+ofoxsmith@users.noreply.github.com>

* Revert "Active/food (#1176)" (#1177)

This reverts commit 6c3fce648b.

* Revert "merge"

* - Fixed brining and smoking recipes and added drying recipes. (#1181)

* fixed ISPRecipeLogic path

* langs

* fixed magnetic neodymium material set inconsistency

* updated veins

* removed dioside, fayalite, enstatite

* removed old refrigerator, added conversion to new one

* whoops, conversion recipe was the wrong way around

* added some text to the food recipes!

* fixed vat having the wrong fluid for dyes, added other dye fluids

* whoops that removed the magnet icon from magnetic neodymium

* fix duplicate dyes

* firmalife moment

* did I forget to save this last night or something...?

* added a second recipe for leather water flask sides

* people are gonna hate me for this

* lang

* balance tweak?

* oh so that's why

* chicken

* dyes

* Whitelisted molds and pumps for Beneath Hellforge (#1183)

Signed-off-by: Indi <JEngelmannPE@gmail.com>

* fix refrigerator in structure

* species stuff and loot tables

* emi categories

* langs for bedrock ores

* trying to get the moon rabbit houses to not put squares on the ground

* birt stuff

* is this ever going to work?

* mob changes in moon biomes since we have birts and surface limpets now

* reduce the spawning of limpets

* loot table for birt dwelling

* the other egg tag for the birt egg

* I think that's how you do emissive textures?

* aircraft configs

* fix birt dwelling model

* - Merge current Venus progress (#1185)

* one of the mud hut structures had an old gregtech zinc ingot

* hid the netherite space suit recipes, tweaked the normal space suit a little

* cleaned up some of the tfc data files, also added moon meat!

* nerfed lava aqueous accumulator a bit

* fixed a few other steel items being extractable in LV

* changelog

* reorganized stone dusts, nerfed them a bit more

* changelog

* changelog, added blood lily to klayze loot

* changelog

* removed burpflower field guide page

* changelog

* comments

* changed rhyolite to use moon sand instead of white sand

* - Lots of food stuff (#1196)

* - Lots of food stuff

* Updated Changelog

* changed dry ice and calorie paste recipes (#1201)

* - Lots of food stuff

* Updated Changelog

* Changed dry ice and calorie paste recipes

* Update recipes.miscellaneous.js

Signed-off-by: Redeix <59435925+Redeix@users.noreply.github.com>

---------

Signed-off-by: Redeix <59435925+Redeix@users.noreply.github.com>

* lunchbox update into Pakku (#1200)

* Refactored KubeJS recipes for GT compatibility
lunchbox update into Pakku

* Refactored KubeJS recipes for GT compatibility
lunchbox update into Pakku
fixed bowl bug
fixed dupe food bug

* whitelisted glue for wood buckets/barrels

* removed better foliage again + visual workbench (doesn't handle recipes with greg tools very well)

* ABS glowstone recipe (#1202)

* Added ABS glowstone recipe

Idk how useful this is but I want it 

Signed-off-by: 34y34y34y34y34y34y34y34y34y <34y34y34y34y34y34y34y34y34y@gmail.com>

* Update recipes.js

Signed-off-by: 34y34y34y34y34y34y34y34y34y <34y34y34y34y34y34y34y34y34y@gmail.com>

---------

Signed-off-by: 34y34y34y34y34y34y34y34y34y <34y34y34y34y34y34y34y34y34y@gmail.com>

* whoops

* no circuit needed here

* added dry ice to calorie paste recipe

* added space suit fabric

* fixed some models needing particles

* fixed recipe conflict with mushroom blocks

* tweaked glowstone, added purpur recipes, changelog

* changed clay bricks to extruder/curving press instead of assembler

* changelog

* Liquid burning (#1204)

* Added ABS glowstone recipe

Idk how useful this is but I want it 

Signed-off-by: 34y34y34y34y34y34y34y34y34y <34y34y34y34y34y34y34y34y34y@gmail.com>

* Update recipes.js

Signed-off-by: 34y34y34y34y34y34y34y34y34y <34y34y34y34y34y34y34y34y34y@gmail.com>

* Update recipes.js

Signed-off-by: 34y34y34y34y34y34y34y34y34y <34y34y34y34y34y34y34y34y34y@gmail.com>

* Added the straw

TomTomTom gave it to me to copy paste it here so the straw is all his work

Signed-off-by: 34y34y34y34y34y34y34y34y34y <34y34y34y34y34y34y34y34y34y@gmail.com>

* Now it's tin alloy fluid pipe as per pyritie's wishes

Signed-off-by: 34y34y34y34y34y34y34y34y34y <34y34y34y34y34y34y34y34y34y@gmail.com>

* Added Tom's anvil recipe for the straw

Also added comments to make it a clear region

Signed-off-by: 34y34y34y34y34y34y34y34y34y <34y34y34y34y34y34y34y34y34y@gmail.com>

* Tier 5 now for straw

Tom edited the message after I saw it .

Signed-off-by: 34y34y34y34y34y34y34y34y34y <34y34y34y34y34y34y34y34y34y@gmail.com>

* Tom's changes to anvil recipe , now tier 3 and plate instead of pipe

Signed-off-by: 34y34y34y34y34y34y34y34y34y <34y34y34y34y34y34y34y34y34y@gmail.com>

---------

Signed-off-by: 34y34y34y34y34y34y34y34y34y <34y34y34y34y34y34y34y34y34y@gmail.com>

* Updated some recipes (Andesite table cover, chain conveyor, bound cardboard)

* Create logistics quests draft

* Nerfed rose quartz glacier spawn rate a bit by setting explicit temp ranges

---------

Signed-off-by: TomPlop <tomdidome@gmail.com>
Signed-off-by: Redeix <59435925+Redeix@users.noreply.github.com>
Signed-off-by: ofoxsmith <77560533+ofoxsmith@users.noreply.github.com>
Signed-off-by: Pyritie <pyritie@gmail.com>
Signed-off-by: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Indi <JEngelmannPE@gmail.com>
Signed-off-by: 34y34y34y34y34y34y34y34y34y <34y34y34y34y34y34y34y34y34y@gmail.com>
Co-authored-by: Pyritie <pyritie@gmail.com>
Co-authored-by: TomPlop <tomdidome@gmail.com>
Co-authored-by: Redeix <59435925+Redeix@users.noreply.github.com>
Co-authored-by: ofoxsmith <77560533+ofoxsmith@users.noreply.github.com>
Co-authored-by: Xikaro <os.valerievich@ya.ru>
Co-authored-by: Redeix <brayden.j.m.ford@gmail.com>
Co-authored-by: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com>
Co-authored-by: GameStar <56610486+BlueBoat29@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Indi <JEngelmannPE@gmail.com>
Co-authored-by: Thomasx0 <153584223+Thomasx0@users.noreply.github.com>
Co-authored-by: 34y34y34y34y34y34y34y34y34y <34y34y34y34y34y34y34y34y34y@gmail.com>
2025-06-24 01:32:17 +01:00

552 lines
20 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: Project Build
run-name: "📦 Project Build #${{ github.run_number }}"
on:
push:
branches:
- dev
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
RELEASE_TYPE: "release"
MINECRAFT_VERSION: "1.20.1"
DEV_ENVIRONMENT: ${{ github.ref_name != 'main' }}
jobs:
info:
name: 🖥️ Project Info
runs-on: ubuntu-latest
outputs:
project_version: ${{ steps.check.outputs.project_version }}
project_name: ${{ steps.check.outputs.project_name }}
project_full_name: ${{ steps.check.outputs.project_name }}-${{ steps.check.outputs.project_version }}
changelog: ${{ steps.changelog.outputs.description }}
diff: ${{ steps.read_diff.outputs.diff }}
exists: ${{ steps.check.outputs.exists }}
make_release: ${{ steps.check.outputs.make_release }}
steps:
- name: Checkout
uses: actions/checkout@v4.2.2
with:
fetch-depth: 0
- name: 🔍 Check pakku-lock.json
id: check_pakku_lock
shell: bash
run: |
if [ ! -f pakku-lock.json ]; then
echo "❌ Could not find pakku-lock.json" && exit 1
else
echo "✔️ pakku-lock.json"
fi
- name: 🔍 Check pakku.json
id: check_pakku
shell: bash
run: |
if [ ! -f pakku.json ]; then
echo "❌ Could not find pakku.json" && exit 1
else
echo "✔️ pakku.json"
fi
- name: 📈 Get latest tag
id: latest_tag
shell: bash
run: |
tag=$(git describe --tags --abbrev=0)
if [ -z "$tag" ]; then
echo "❌ Latest tag not found" && exit 1
else
echo "✔️ Latest tag found: $tag"
echo "tag=$tag" >> $GITHUB_OUTPUT
fi
- name: 🔍 Check pakku-lock.json in previous tag
id: check_pakku_lock_prev
shell: bash
run: |
if git cat-file -e ${{ steps.latest_tag.outputs.tag }}:./pakku-lock.json 2>/dev/null; then
echo "✔️ File pakku-lock.json found in previous tag"
echo "file_found=true" >> $GITHUB_OUTPUT
else
echo "❌ File pakku-lock.json not found in previous tag"
echo "file_found=false" >> $GITHUB_OUTPUT
fi
- name: 📁 Check and copy pakku-lock.json from previous tag
id: check_copy_lock
if: steps.check_pakku_lock_prev.outputs.file_found
shell: bash
run: |
git show tags/${{ steps.latest_tag.outputs.tag }}:./pakku-lock.json > ./pakku-lock-prev.json
if [ -s ./pakku-lock-prev.json ]; then
echo "✔️ File pakku-lock-prev.json created"
else
echo "❌ Error: File pakku-lock-prev.json is empty or not created" && exit 1
fi
- name: 📦 Download pakku.jar
id: download_pakku
if: steps.check_pakku_lock_prev.outputs.file_found
shell: bash
run: |
curl https://github.com/juraj-hrivnak/pakku/releases/latest/download/pakku.jar -o pakku.jar -L -J
echo "✔️ Downloaded pakku.jar "
- name: 🔄 Run pakku diff
id: pakku_diff
if: steps.check_pakku_lock_prev.outputs.file_found
shell: bash
run: |
java -jar pakku.jar diff -v --markdown PROJECTS_DIFF.md ./pakku-lock-prev.json ./pakku-lock.json
if [ -f PROJECTS_DIFF.md ]; then
echo "✔️ Comparison completed"
else
echo "❌ Error: File PROJECTS_DIFF.md not created" && exit 1
fi
- name: 📝 Read PROJECTS_DIFF.md to variable
id: read_diff
if: steps.check_pakku_lock_prev.outputs.file_found
shell: bash
run: |
echo "📝 Reading PROJECTS_DIFF.md to variable..."
{
echo 'diff<<EOF'
cat -v PROJECTS_DIFF.md
echo EOF
} >> "$GITHUB_OUTPUT"
echo "✔️ Diff content read to variable"
- name: 📊 Get Pakku Info
id: pakku_info
uses: ActionsTools/read-json-action@v1.0.5
with:
file_path: "pakku.json"
- name: 📊 Get Pakku-lock Info
id: pakku_lock_info
uses: ActionsTools/read-json-action@v1.0.5
with:
file_path: "pakku-lock.json"
- name: 🔍 Check if tag exists
uses: mukunku/tag-exists-action@v1.6.0
id: check_tag
with:
tag: ${{ steps.pakku_info.outputs.version }}
- name: 📝 Determine Version
id: determine_version
shell: bash
run: |
if ${{ env.DEV_ENVIRONMENT == 'true' }}; then
echo "version=unreleased" >> $GITHUB_OUTPUT
else
echo "version=${{ steps.pakku_info.outputs.version }}" >> $GITHUB_OUTPUT
fi
- name: 📄 Changelog Parser
id: changelog
uses: coditory/changelog-parser@v1.0.2
with:
path: CHANGELOG.md
version: ${{ steps.determine_version.outputs.version }}
continue-on-error: true
- name: 🔍 Check
id: check
shell: bash
run: |
echo "make_release=${{ steps.check_tag.outputs.exists == 'false' && env.DEV_ENVIRONMENT == 'false' }}" >> $GITHUB_OUTPUT
echo "exists=${{ steps.check_tag.outputs.exists }}" >> $GITHUB_OUTPUT
echo "project_name=${{ steps.pakku_info.outputs.name }}" >> $GITHUB_OUTPUT
echo "project_version=${{ steps.pakku_info.outputs.version }}" >> $GITHUB_OUTPUT
echo "release_type=${{ env.RELEASE_TYPE }}" >> $GITHUB_OUTPUT
echo "minecraft_version=${{ steps.pakku_lock_info.outputs.mc_versions }}" >> $GITHUB_OUTPUT
if ${{ env.DEV_ENVIRONMENT == 'true' && steps.changelog.outcome == 'failure' }}; then
echo "project_version=build_#${{ github.run_number }}" >> $GITHUB_OUTPUT
echo "release_type=Unreleased" >> $GITHUB_OUTPUT
fi
- name: 📄 Format diff
id: format_diff
if: ${{ steps.read_diff.outputs.diff != '' }}
uses: roamingowl/template-output-with-eta@v1.12.0
with:
template: |
```markdown
${{ steps.read_diff.outputs.diff }}
```
- name: 📝 Generate Github Summary
uses: WcAServices/markdown-template-action@v1.1.1
with:
template: |
📃 **Name**: ${{ steps.check.outputs.project_name }}
📃 **Release**: `${{ steps.check.outputs.project_version }}`
📃 **Release Type**: `${{ steps.check.outputs.release_type }}`
📃 **Game Version**: `${{ steps.check.outputs.minecraft_version }}`
📃 **Dev Environment**: `${{ env.DEV_ENVIRONMENT }}`
📃 **Tag Exists**: `${{ steps.check.outputs.exists }}`
📃 **Make Release**: `${{ steps.check.outputs.make_release }}`
${{ steps.changelog.outputs.description }}
${{ steps.format_diff.outputs.text }}
build-modpack:
name: 📦 Build Modpack
needs: [info]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4.2.2
- name: 🔄 Replace strings
shell: bash
run: |
set +e
VERSION=${{ needs.info.outputs.project_version }}
sed -i -e "s/\"version\": \"[0-9.]*\"/\"version\": \"${VERSION}\"/g" pakku.json
sed -i -e "s/DEV/${VERSION}/g" config/fancymenu/customization/gui_main_menu.txt
- name: 📝 Cache pakku
uses: actions/cache@v4.2.3
id: cache
with:
path: build/.cache
key: pakku-cache-${{ hashFiles('pakku-lock.json') }}
restore-keys: pakku-cache-
- name: 📦 Export modpack
run: |
curl https://github.com/juraj-hrivnak/pakku/releases/latest/download/pakku.jar -o pakku.jar -L -J
java -jar pakku.jar export
- name: 📁 Rename artifact curseforge
run: |
cd ./build/curseforge/
mv *.zip $(basename -s .zip *.zip)-curseforge.zip
- name: 🚀 Upload artifact CurseForge
uses: actions/upload-artifact@v4.6.2
with:
name: ${{ needs.info.outputs.project_full_name }}-curseforge
path: ./build/curseforge/${{ needs.info.outputs.project_full_name }}-curseforge.zip
if-no-files-found: error
# - name: 📁 Rename artifact modrinth
# run: |
# cd ./build/modrinth/
# mv *.mrpack $(basename -s .mrpack *.mrpack)-modrinth.mrpack
# - name: 🚀 Upload artifact modrinth
# uses: actions/upload-artifact@v4.6.2
# with:
# name: ${{ needs.info.outputs.project_full_name }}-modrinth
# path: ./build/modrinth/${{ needs.info.outputs.project_full_name }}-modrinth.mrpack
# if-no-files-found: warn
build-server:
name: 📦 Build Server
needs: [info]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4.2.2
- name: 🔄 Replace strings
shell: bash
run: |
set +e
VERSION=${{ needs.info.outputs.project_version }}
sed -i -e "s/\"version\": \"[0-9.]*\"/\"version\": \"${VERSION}\"/g" pakku.json
sed -i -e "s/DEV/${VERSION}/g" config/fancymenu/customization/gui_main_menu.txt
- name: 📝 Cache pakku
uses: actions/cache@v4.2.3
id: cache
with:
path: build/.cache
key: pakku-cache-${{ hashFiles('pakku-lock.json') }}
restore-keys: pakku-cache-
- name: 📦 Export modpack
run: |
mv -vf ./.pakku/server-overrides/* ./
curl https://github.com/juraj-hrivnak/pakku/releases/latest/download/pakku.jar -o pakku.jar -L -J
java -jar pakku.jar export
- name: 📁 Rename artifact server
run: |
cd ./build/serverpack/
mv *.zip $(basename -s .zip *.zip)-serverpack.zip
- name: 🚀 Upload artifact server
uses: actions/upload-artifact@v4.6.2
with:
name: ${{ needs.info.outputs.project_full_name }}-serverpack
path: ./build/serverpack/${{ needs.info.outputs.project_full_name }}-serverpack.zip
if-no-files-found: error
build-multimc:
name: 📦 Build MultiMC
needs: [info]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4.2.2
- name: 🔄 Replace strings
shell: bash
run: |
set +e
VERSION=${{ needs.info.outputs.project_version }}
sed -i -e "s/\"version\": \"[0-9.]*\"/\"version\": \"${VERSION}\"/g" pakku.json
sed -i -e "s/DEV/${VERSION}/g" config/fancymenu/customization/gui_main_menu.txt
sed -i -e "s/DEV/${VERSION}/g" .pakku/multimc-overrides/instance.cfg
- name: 📝 Cache pakku
uses: actions/cache@v4.2.3
id: cache
with:
path: build/.cache
key: pakku-cache-${{ hashFiles('pakku-lock.json') }}
restore-keys: pakku-cache-
- name: 📦 Export
run: |
curl https://github.com/juraj-hrivnak/pakku/releases/latest/download/pakku.jar -o pakku.jar -L -J
java -jar pakku.jar --debug fetch
java -jar pakku.jar --debug export
- name: 📁 Move files
run: |
ls
mkdir -p .pakku/multimc-overrides/flame
mkdir -p .pakku/multimc-overrides/mods
mv -vf ./build/.cache/curseforge/manifest.json .pakku/multimc-overrides/flame/manifest.json
mv -vf ./build/.cache/curseforge/overrides .pakku/multimc-overrides/.minecraft
mv -vf ./mods .pakku/multimc-overrides/.minecraft/mods
cd .pakku/multimc-overrides/
zip -r ${{ needs.info.outputs.project_full_name }}-multimc.zip icon.png mmc-pack.json instance.cfg .minecraft/ flame/
- name: 🚀 Upload zip multimc
uses: actions/upload-artifact@v4.6.2
with:
name: ${{ needs.info.outputs.project_full_name }}-multimc
path: .pakku/multimc-overrides/${{ needs.info.outputs.project_full_name }}-multimc.zip
if-no-files-found: error
release-github:
name: 🚀 Release to GitHub
needs: [info, build-modpack, build-server, build-multimc]
runs-on: ubuntu-latest
if: ${{ needs.info.outputs.make_release == 'true' }}
outputs:
url: ${{ steps.release.outputs.url }}
steps:
- name: 📦 Checkout
uses: actions/checkout@v4.2.2
- name: 📦 Download artifact
uses: actions/download-artifact@v4.3.0
with:
merge-multiple: true
- name: 🔍 Check if artifact exist
id: check_artifact
shell: bash
run: |
if [ ! -f ${{ needs.info.outputs.project_full_name }}-curseforge.zip ]; then
echo '::error::No value found for artifact `curseforge.zip`.' && exit 1
fi
# if [ ! -f ${{ needs.info.outputs.project_full_name }}-modrinth.mrpack ]; then
# echo '::error::No value found for artifact `modrinth.mrpack`.' && exit 1
# fi
if [ ! -f ${{ needs.info.outputs.project_full_name }}-serverpack.zip ]; then
echo '::error::No value found for artifact `serverpack.zip`.' && exit 1
fi
if [ ! -f ${{ needs.info.outputs.project_full_name }}-multimc.zip ]; then
echo '::error::No value found for artifact `multimc.zip`.' && exit 1
fi
echo "✔️ All artifacts found"
# - name: 🚫 Сlose label "Done"
# uses: Xikaro/close-issues-based-on-label@master
# env:
# LABEL: "Status: Done"
# COMMENT: In ${{ needs.info.outputs.project_version }}
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: 📄 Format diff
id: format_diff
if: ${{ needs.info.outputs.diff != '' }}
uses: roamingowl/template-output-with-eta@v1.12.0
with:
template: |
```markdown
${{ needs.info.outputs.diff }}
```
- name: 🚀 Create release
id: release
uses: softprops/action-gh-release@v2.3.2
with:
name: ${{ needs.info.outputs.project_version }}
tag_name: ${{ needs.info.outputs.project_version }}
target_commitish: ${{ github.ref_name }}
body: |
${{ needs.info.outputs.changelog }}
${{ steps.format_diff.outputs.text }}
files: |
${{ needs.info.outputs.project_full_name }}-curseforge.zip
${{ needs.info.outputs.project_full_name }}-serverpack.zip
${{ needs.info.outputs.project_full_name }}-multimc.zip
prerelease: ${{ env.RELEASE_TYPE != 'release' }}
generate_release_notes: true
token: ${{ secrets.GITHUB_TOKEN }}
release-curseforge:
name: 🚀 Release to CurseForge
needs: [info, build-modpack, build-server, release-github]
runs-on: ubuntu-latest
if: ${{ needs.info.outputs.make_release == 'true' }}
outputs:
id: ${{ steps.release.outputs.id }}
steps:
- name: 🔒 Check if CURSEFORGE_TOKEN exist
shell: bash
run: |
if [ "${{ secrets.CURSEFORGE_TOKEN }}" == '' ]; then
echo '::error::No value found for secret key `CURSEFORGE_TOKEN`. See https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository' && exit 1
fi
- name: 📦 Download artifact
uses: actions/download-artifact@v4.3.0
with:
merge-multiple: true
- name: 🔍 Check if artifact exist
id: check_artifact
shell: bash
run: |
if [ ! -f ${{ needs.info.outputs.project_full_name }}-curseforge.zip ]; then
echo '::error::No value found for artifact `curseforge.zip`.' && exit 1
fi
if [ ! -f ${{ needs.info.outputs.project_full_name }}-serverpack.zip ]; then
echo '::error::No value found for artifact `serverpack.zip`.' && exit 1
fi
echo "✔️ All artifacts found"
- name: 🚀 Upload Curseforge
id: release
uses: Xikaro/upload-curseforge-modpack-action@1.1.1
with:
api-token: ${{ secrets.CURSEFORGE_TOKEN }}
project-id: ${{ vars.CURSEFORGE_ID }}
display-name: ${{ needs.info.outputs.project_full_name }}
modpack-path: ${{ needs.info.outputs.project_full_name }}-curseforge.zip
server-display-name: ${{ needs.info.outputs.project_full_name }}-serverpack
modpack-server-path: ${{ needs.info.outputs.project_full_name }}-serverpack.zip
changelog: |
${{ needs.info.outputs.changelog }}
${{ needs.info.outputs.diff }}
changelog-format: markdown
game-version: ${{ env.MINECRAFT_VERSION }}
release-type: ${{ env.RELEASE_TYPE }}
release-modrinth:
name: 🚀 Release to Modrinth
needs: [info, build-modpack, build-server, release-github]
runs-on: ubuntu-latest
if: false
outputs:
id: ${{ steps.release.outputs.id }}
steps:
- name: 🔒 Check if MODRINTH_API_TOKEN exist
shell: bash
run: |
if [ "${{ secrets.MODRINTH_TOKEN }}" == '' ]; then
echo '::error::No value found for secret key `MODRINTH_TOKEN`. See https://docs.github.com/en/ actionssecurity-guides/ encrypted-secrets#creating-encrypted-secrets-for-a-repository' && exit 1
fi
- name: 📦 Download artifact
uses: actions/download-artifact@v4.3.0
with:
merge-multiple: true
- name: 🔍 Check if artifact exist
id: check_artifact
shell: bash
run: |
if [ ! -f ${{ needs.info.outputs.project_full_name }}-modrinth.mrpack ]; then
echo '::error::No value found for artifact `modrinth.mrpack`.' && exit 1
fi
if [ ! -f ${{ needs.info.outputs.project_full_name }}-serverpack.zip ]; then
echo '::error::No value found for artifact `serverpack.zip`.' && exit 1
fi
echo "✔️ All artifacts found"
- name: 🚀 Upload Modrinth
id: release
uses: Xikaro/upload-curseforge-modpack-action@1.1.1
with:
api-token: ${{ secrets.MODRINTH_TOKEN }}
project-id: ${{ vars.MODRINTH_ID }}
modpack-path: ${{ needs.info.outputs.project_full_name }}-modrinth.mrpack
modpack-server-path: ${{ needs.info.outputs.project_full_name }}-serverpack.zip
changelog: ${{ needs.info.outputs.changelog }}
changelog-format: markdown
game-version: ${{ env.MINECRAFT_VERSION }}
display-name: ${{ needs.info.outputs.project_full_name }}
server-display-name: ${{ needs.info.outputs.project_full_name }}-serverpack
release-type: ${{ env.RELEASE_TYPE }}
discord-message:
name: 📱 Discord Message
needs: [info, release-curseforge, release-github]
runs-on: ubuntu-latest
steps:
- name: ✂️ Truncate Changelog
id: truncated
uses: cisox/read-more-action@v1.0.2
with:
text: '${{ needs.info.outputs.changelog }}'
max_chars: '1450'
- name: 📨 Send Discord message
uses: hugoalh/send-discord-webhook-ghaction@v7.0.5
with:
key: ${{ secrets.DISCORD_RELEASES }}
username: "TerraFirmaGreg"
avatar_url: "https://raw.githubusercontent.com/TerraFirmaGreg-Team/.github/main/branding/logo.png"
content_links_no_embed: .+
content: |
**Release**: `${{ needs.info.outputs.project_version }}`
**Release Type**: `${{ env.RELEASE_TYPE }}`
**Game Version**: `${{ env.MINECRAFT_VERSION }}`
[CurseForge](https://www.curseforge.com/minecraft/modpacks/terrafirmagreg-modern/files/${{ needs.release-curseforge.outputs.id }}) • [GitHub](${{ needs.release-github.outputs.url }}) • [Issues](https://github.com/${{ github.repository }}/issues)
```markdown
${{ steps.truncated.outputs.text }}
- ...```
** [Read more...](${{ needs.release-github.outputs.url }}) **