* 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>
552 lines
20 KiB
YAML
552 lines
20 KiB
YAML
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 }}) **
|