From 51aeb7cfeadb48655a31117596983c1a040e0fa3 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Tue, 9 Sep 2025 03:37:43 +0500 Subject: [PATCH 01/21] Update build.yml --- .github/workflows/build.yml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ce04c365c..543503bb4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -531,19 +531,19 @@ jobs: 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 - changelog: ${{ needs.info.outputs.changelog }} - changelog-format: markdown - game-version: ${{ needs.info.outputs.mc_version }} - display-name: ${{ needs.info.outputs.project_full_name }} + # - 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 + # changelog: ${{ needs.info.outputs.changelog }} + # changelog-format: markdown + # game-version: ${{ needs.info.outputs.mc_version }} + # display-name: ${{ needs.info.outputs.project_full_name }} - release-type: ${{ needs.info.outputs.release_type }} + # release-type: ${{ needs.info.outputs.release_type }} discord-message: name: 📱 Discord Message @@ -569,7 +569,7 @@ jobs: **Release Type**: `${{ needs.info.outputs.release_type }}` **Game Version**: `${{ needs.info.outputs.mc_version }}` - :curseforge_logo: [CurseForge](https://www.curseforge.com/minecraft/modpacks/terrafirmagreg-modern/files/${{ needs.release-curseforge.outputs.id }}) • :github_logo: [GitHub](${{ needs.release-github.outputs.url }}) • [Issues](https://github.com/${{ github.repository }}/issues) + [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 }} - ...``` From 96188e761d0e766c585953127decf7fac8984200 Mon Sep 17 00:00:00 2001 From: Adrien Vidal Date: Tue, 9 Sep 2025 01:16:27 +0200 Subject: [PATCH 02/21] TFG-fication of all exotic stone types (#1764) * Deepslate, Blackstone and Dripstone + hammer crushing refactor * crackrack and space stones * tags + stonecutting + fixes * Moon deepslate set + QoL recipes + tags fixes * pyroxenite tags * Update tags.js * Update constants.js * Update constants.js --------- Signed-off-by: Pyritie Co-authored-by: Pyritie --- .../textures/block/polished_mercury_stone.png | Bin 0 -> 938 bytes .../tfg/blockstates/loose/crackrack.json | 55 +++ .../rock/bricks_moon_deepslate.json | 7 + .../rock/chiseled_bricks_moon_deepslate.json | 7 + .../blockstates/rock/cobble_blackstone.json | 7 + .../blockstates/rock/cobble_crackrack.json | 7 + .../blockstates/rock/cobble_dripstone.json | 7 + .../rock/cobble_moon_deepslate.json | 7 + .../blockstates/rock/cobble_permafrost.json | 7 + .../rock/cracked_bricks_moon_deepslate.json | 7 + .../blockstates/rock/gravel_blackstone.json | 7 + .../blockstates/rock/gravel_crackrack.json | 7 + .../blockstates/rock/gravel_deepslate.json | 7 + .../blockstates/rock/gravel_dripstone.json | 7 + .../tfg/blockstates/rock/gravel_glacio.json | 7 + .../tfg/blockstates/rock/gravel_mars.json | 7 + .../tfg/blockstates/rock/gravel_mercury.json | 7 + .../tfg/blockstates/rock/gravel_moon.json | 7 + .../rock/gravel_moon_deepslate.json | 7 + .../blockstates/rock/gravel_permafrost.json | 7 + .../blockstates/rock/gravel_red_granite.json | 7 + .../tfg/blockstates/rock/gravel_venus.json | 7 + .../rock/pillar_moon_deepslate.json | 16 + .../blockstates/rock/polished_crackrack.json | 7 + .../rock/polished_moon_deepslate.json | 7 + .../tfg/models/block/loose/crackrack_1.json | 6 + .../tfg/models/block/loose/crackrack_2.json | 6 + .../tfg/models/block/loose/crackrack_3.json | 6 + .../block/rock/bricks_moon_deepslate.json | 6 + .../rock/chiseled_bricks_moon_deepslate.json | 6 + .../models/block/rock/cobble_blackstone.json | 6 + .../models/block/rock/cobble_crackrack.json | 6 + .../models/block/rock/cobble_dripstone.json | 6 + .../models/block/rock/cobble_permafrost.json | 6 + .../rock/cracked_bricks_moon_deepslate.json | 6 + .../models/block/rock/gravel_blackstone.json | 6 + .../models/block/rock/gravel_crackrack.json | 6 + .../models/block/rock/gravel_deepslate.json | 6 + .../models/block/rock/gravel_dripstone.json | 6 + .../tfg/models/block/rock/gravel_glacio.json | 6 + .../tfg/models/block/rock/gravel_mars.json | 6 + .../tfg/models/block/rock/gravel_mercury.json | 6 + .../tfg/models/block/rock/gravel_moon.json | 6 + .../block/rock/gravel_moon_deepslate.json | 6 + .../models/block/rock/gravel_permafrost.json | 6 + .../models/block/rock/gravel_red_granite.json | 6 + .../tfg/models/block/rock/gravel_venus.json | 6 + .../block/rock/pillar_moon_deepslate.json | 7 + .../pillar_moon_deepslate_horizontal.json | 7 + .../models/block/rock/polished_crackrack.json | 6 + .../block/rock/polished_moon_deepslate.json | 6 + .../block/rock/bricks_moon_deepslate.png | Bin 0 -> 753 bytes .../rock/chiseled_bricks_moon_deepslate.png | Bin 0 -> 799 bytes .../textures/block/rock/cobble_crackrack.png | Bin 0 -> 1019 bytes .../textures/block/rock/cobble_dripstone.png | Bin 0 -> 1024 bytes .../block/rock/cobble_moon_deepslate.png | Bin 0 -> 936 bytes .../rock/cracked_bricks_moon_deepslate.png | Bin 0 -> 815 bytes .../textures/block/rock/gravel_blackstone.png | Bin 0 -> 1018 bytes .../textures/block/rock/gravel_crackrack.png | Bin 0 -> 1069 bytes .../textures/block/rock/gravel_deepslate.png | Bin 0 -> 638 bytes .../textures/block/rock/gravel_dripstone.png | Bin 0 -> 1107 bytes .../tfg/textures/block/rock/gravel_glacio.png | Bin 0 -> 1079 bytes .../tfg/textures/block/rock/gravel_mars.png | Bin 0 -> 1041 bytes .../textures/block/rock/gravel_mercury.png | Bin 0 -> 1101 bytes .../tfg/textures/block/rock/gravel_moon.png | Bin 0 -> 1085 bytes .../block/rock/gravel_moon_deepslate.png | Bin 0 -> 1038 bytes .../textures/block/rock/gravel_permafrost.png | Bin 0 -> 1090 bytes .../block/rock/gravel_red_granite.png | Bin 0 -> 1167 bytes .../tfg/textures/block/rock/gravel_venus.png | Bin 0 -> 1064 bytes .../block/rock/pillar_moon_deepslate.png | Bin 0 -> 715 bytes .../block/rock/pillar_moon_deepslate_top.png | Bin 0 -> 748 bytes .../block/rock/polished_crackrack.png | Bin 0 -> 898 bytes .../block/rock/polished_moon_deepslate.png | Bin 0 -> 881 bytes .../textures/item/brick/moon_deepslate.png | Bin 0 -> 811 bytes .../tfg/textures/item/brick/red_granite.png | Bin 0 -> 877 bytes .../tfg/textures/item/loose/crackrack.png | Bin 0 -> 5863 bytes .../tfg/textures/item/loose/red_granite.png | Bin 0 -> 882 bytes .../beneath/loot_tables/blocks/crackrack.json | 2 +- .../blocks/rock/bricks_moon_deepslate.json | 20 + .../rock/chiseled_bricks_moon_deepslate.json | 20 + .../blocks/rock/cobble_blackstone.json | 20 + .../blocks/rock/cobble_crackrack.json | 20 + .../blocks/rock/cobble_dripstone.json | 20 + .../blocks/rock/cobble_moon_deepslate.json | 20 + .../blocks/rock/cobble_permafrost.json | 20 + .../rock/cracked_bricks_moon_deepslate.json | 20 + .../blocks/rock/gravel_blackstone.json | 70 ++++ .../blocks/rock/gravel_crackrack.json | 70 ++++ .../blocks/rock/gravel_deepslate.json | 70 ++++ .../blocks/rock/gravel_dripstone.json | 70 ++++ .../blocks/rock/gravel_glacio.json | 70 ++++ .../loot_tables/blocks/rock/gravel_mars.json | 70 ++++ .../blocks/rock/gravel_mercury.json | 70 ++++ .../loot_tables/blocks/rock/gravel_moon.json | 70 ++++ .../blocks/rock/gravel_moon_deepslate.json | 70 ++++ .../blocks/rock/gravel_permafrost.json | 70 ++++ .../blocks/rock/gravel_red_granite.json | 70 ++++ .../loot_tables/blocks/rock/gravel_venus.json | 70 ++++ .../blocks/rock/pillar_moon_deepslate.json | 20 + .../blocks/rock/polished_crackrack.json | 20 + .../blocks/rock/polished_moon_deepslate.json | 20 + kubejs/server_scripts/gregtech/loot.js | 118 +----- .../gregtech/recipes.removes.js | 10 + kubejs/server_scripts/tfg/recipes.collapse.js | 49 ++- kubejs/server_scripts/tfg/recipes.rocks.js | 198 +++++++++- kubejs/server_scripts/tfg/tags.js | 368 +++++++++++++++++- kubejs/startup_scripts/beneath/constants.js | 1 + kubejs/startup_scripts/tfg/blocks.nether.js | 124 +++++- kubejs/startup_scripts/tfg/blocks.space.js | 198 ++++++++++ kubejs/startup_scripts/tfg/constants.js | 79 +++- kubejs/startup_scripts/tfg/items.js | 4 + 111 files changed, 2462 insertions(+), 132 deletions(-) create mode 100644 kubejs/assets/ad_astra/textures/block/polished_mercury_stone.png create mode 100644 kubejs/assets/tfg/blockstates/loose/crackrack.json create mode 100644 kubejs/assets/tfg/blockstates/rock/bricks_moon_deepslate.json create mode 100644 kubejs/assets/tfg/blockstates/rock/chiseled_bricks_moon_deepslate.json create mode 100644 kubejs/assets/tfg/blockstates/rock/cobble_blackstone.json create mode 100644 kubejs/assets/tfg/blockstates/rock/cobble_crackrack.json create mode 100644 kubejs/assets/tfg/blockstates/rock/cobble_dripstone.json create mode 100644 kubejs/assets/tfg/blockstates/rock/cobble_moon_deepslate.json create mode 100644 kubejs/assets/tfg/blockstates/rock/cobble_permafrost.json create mode 100644 kubejs/assets/tfg/blockstates/rock/cracked_bricks_moon_deepslate.json create mode 100644 kubejs/assets/tfg/blockstates/rock/gravel_blackstone.json create mode 100644 kubejs/assets/tfg/blockstates/rock/gravel_crackrack.json create mode 100644 kubejs/assets/tfg/blockstates/rock/gravel_deepslate.json create mode 100644 kubejs/assets/tfg/blockstates/rock/gravel_dripstone.json create mode 100644 kubejs/assets/tfg/blockstates/rock/gravel_glacio.json create mode 100644 kubejs/assets/tfg/blockstates/rock/gravel_mars.json create mode 100644 kubejs/assets/tfg/blockstates/rock/gravel_mercury.json create mode 100644 kubejs/assets/tfg/blockstates/rock/gravel_moon.json create mode 100644 kubejs/assets/tfg/blockstates/rock/gravel_moon_deepslate.json create mode 100644 kubejs/assets/tfg/blockstates/rock/gravel_permafrost.json create mode 100644 kubejs/assets/tfg/blockstates/rock/gravel_red_granite.json create mode 100644 kubejs/assets/tfg/blockstates/rock/gravel_venus.json create mode 100644 kubejs/assets/tfg/blockstates/rock/pillar_moon_deepslate.json create mode 100644 kubejs/assets/tfg/blockstates/rock/polished_crackrack.json create mode 100644 kubejs/assets/tfg/blockstates/rock/polished_moon_deepslate.json create mode 100644 kubejs/assets/tfg/models/block/loose/crackrack_1.json create mode 100644 kubejs/assets/tfg/models/block/loose/crackrack_2.json create mode 100644 kubejs/assets/tfg/models/block/loose/crackrack_3.json create mode 100644 kubejs/assets/tfg/models/block/rock/bricks_moon_deepslate.json create mode 100644 kubejs/assets/tfg/models/block/rock/chiseled_bricks_moon_deepslate.json create mode 100644 kubejs/assets/tfg/models/block/rock/cobble_blackstone.json create mode 100644 kubejs/assets/tfg/models/block/rock/cobble_crackrack.json create mode 100644 kubejs/assets/tfg/models/block/rock/cobble_dripstone.json create mode 100644 kubejs/assets/tfg/models/block/rock/cobble_permafrost.json create mode 100644 kubejs/assets/tfg/models/block/rock/cracked_bricks_moon_deepslate.json create mode 100644 kubejs/assets/tfg/models/block/rock/gravel_blackstone.json create mode 100644 kubejs/assets/tfg/models/block/rock/gravel_crackrack.json create mode 100644 kubejs/assets/tfg/models/block/rock/gravel_deepslate.json create mode 100644 kubejs/assets/tfg/models/block/rock/gravel_dripstone.json create mode 100644 kubejs/assets/tfg/models/block/rock/gravel_glacio.json create mode 100644 kubejs/assets/tfg/models/block/rock/gravel_mars.json create mode 100644 kubejs/assets/tfg/models/block/rock/gravel_mercury.json create mode 100644 kubejs/assets/tfg/models/block/rock/gravel_moon.json create mode 100644 kubejs/assets/tfg/models/block/rock/gravel_moon_deepslate.json create mode 100644 kubejs/assets/tfg/models/block/rock/gravel_permafrost.json create mode 100644 kubejs/assets/tfg/models/block/rock/gravel_red_granite.json create mode 100644 kubejs/assets/tfg/models/block/rock/gravel_venus.json create mode 100644 kubejs/assets/tfg/models/block/rock/pillar_moon_deepslate.json create mode 100644 kubejs/assets/tfg/models/block/rock/pillar_moon_deepslate_horizontal.json create mode 100644 kubejs/assets/tfg/models/block/rock/polished_crackrack.json create mode 100644 kubejs/assets/tfg/models/block/rock/polished_moon_deepslate.json create mode 100644 kubejs/assets/tfg/textures/block/rock/bricks_moon_deepslate.png create mode 100644 kubejs/assets/tfg/textures/block/rock/chiseled_bricks_moon_deepslate.png create mode 100644 kubejs/assets/tfg/textures/block/rock/cobble_crackrack.png create mode 100644 kubejs/assets/tfg/textures/block/rock/cobble_dripstone.png create mode 100644 kubejs/assets/tfg/textures/block/rock/cobble_moon_deepslate.png create mode 100644 kubejs/assets/tfg/textures/block/rock/cracked_bricks_moon_deepslate.png create mode 100644 kubejs/assets/tfg/textures/block/rock/gravel_blackstone.png create mode 100644 kubejs/assets/tfg/textures/block/rock/gravel_crackrack.png create mode 100644 kubejs/assets/tfg/textures/block/rock/gravel_deepslate.png create mode 100644 kubejs/assets/tfg/textures/block/rock/gravel_dripstone.png create mode 100644 kubejs/assets/tfg/textures/block/rock/gravel_glacio.png create mode 100644 kubejs/assets/tfg/textures/block/rock/gravel_mars.png create mode 100644 kubejs/assets/tfg/textures/block/rock/gravel_mercury.png create mode 100644 kubejs/assets/tfg/textures/block/rock/gravel_moon.png create mode 100644 kubejs/assets/tfg/textures/block/rock/gravel_moon_deepslate.png create mode 100644 kubejs/assets/tfg/textures/block/rock/gravel_permafrost.png create mode 100644 kubejs/assets/tfg/textures/block/rock/gravel_red_granite.png create mode 100644 kubejs/assets/tfg/textures/block/rock/gravel_venus.png create mode 100644 kubejs/assets/tfg/textures/block/rock/pillar_moon_deepslate.png create mode 100644 kubejs/assets/tfg/textures/block/rock/pillar_moon_deepslate_top.png create mode 100644 kubejs/assets/tfg/textures/block/rock/polished_crackrack.png create mode 100644 kubejs/assets/tfg/textures/block/rock/polished_moon_deepslate.png create mode 100644 kubejs/assets/tfg/textures/item/brick/moon_deepslate.png create mode 100644 kubejs/assets/tfg/textures/item/brick/red_granite.png create mode 100644 kubejs/assets/tfg/textures/item/loose/crackrack.png create mode 100644 kubejs/assets/tfg/textures/item/loose/red_granite.png create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/bricks_moon_deepslate.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/chiseled_bricks_moon_deepslate.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/cobble_blackstone.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/cobble_crackrack.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/cobble_dripstone.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/cobble_moon_deepslate.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/cobble_permafrost.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/cracked_bricks_moon_deepslate.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_blackstone.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_crackrack.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_deepslate.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_dripstone.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_glacio.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_mars.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_mercury.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_moon.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_moon_deepslate.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_permafrost.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_red_granite.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_venus.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/pillar_moon_deepslate.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/polished_crackrack.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/polished_moon_deepslate.json diff --git a/kubejs/assets/ad_astra/textures/block/polished_mercury_stone.png b/kubejs/assets/ad_astra/textures/block/polished_mercury_stone.png new file mode 100644 index 0000000000000000000000000000000000000000..30b5f76907900ec4ae6964d3948c49bc71694737 GIT binary patch literal 938 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7TQZ%U13aCb6$*;-(=u~X z85lGs)=sqbIP4&EG(PyKk|?WnhepZ@zp_BVyI!K*2@AJ~MwJ@u{K7rUL`74tuPOWB z!TzJGn!7iz<6GCH@PqM@o`vQvkIw(zT)Ig%7VnPluI}Gm-f&@s!PPfiOsmo)S629( zc@}nbUO0MH&{sZ4(@!S6-n5)Vf)9!BD-=Dj?lIh3%M(wq4 z*PAum^uP2vSGR`cOFpys^<3Y3%zEVw3)N$dRNOyZ7U5!j@V955COgkProGvD`D<(E z*fB`H%KFJ>VZm~&d&=H-AKy8o=l`FV`Sm;V^Twj9%VW3tF)%Q&C3(BMF#HF>1$&oI zW?*38EbxddW?*T)rNu~c*+FwsCZ!CN6Tae_qXrijI(L1MUN$E~2&BR{pJ-z$6ow&W6T>4uZ24B^S z=Prj#`fquwvZYL}cHYK&3(ptVSXlqsE*w0gxKNXefp7bDlid~hXB#rKPF^nFE@Hv( z?zQ%;-LsZW`t!=9ZqBBN>(aZfiYUb{Ge~w`Ai}D9*yyCp(Y}jP2i}KIer?Y5+VHQ1 z?tS61_)D`GRafUQ9;j;Hs>oIIzihJNI!0Bqx;Y;nbMDmFcj#hae(>^V?dJ-cD;kjt zQ@-RmGdO5&6y0D}BN=>sc8;&+!P?rXH;>qDPMy$oJ#cOL}V_KpI$4jxy{AGHDm41=Tg%bC2$pQDcG@hS$(&m zs&@RrKYK34?swR7@2PLh^SL=P{HC$_W(~nY;)Z^S$AooN_3GvXcr8eA-K?E)cEVb& r+P)C`?j=i4K5#m4>uo>F2XX$OFAICF%=yZ|z`)??>gTe~DWM4f$^4(n literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/blockstates/loose/crackrack.json b/kubejs/assets/tfg/blockstates/loose/crackrack.json new file mode 100644 index 000000000..568f8180c --- /dev/null +++ b/kubejs/assets/tfg/blockstates/loose/crackrack.json @@ -0,0 +1,55 @@ +{ + "variants": { + "count=1": [ + { + "model": "tfg:block/loose/crackrack_1", + "y": 90 + }, + { + "model": "tfg:block/loose/crackrack_1" + }, + { + "model": "tfg:block/loose/crackrack_1", + "y": 180 + }, + { + "model": "tfg:block/loose/crackrack_1", + "y": 270 + } + ], + "count=2": [ + { + "model": "tfg:block/loose/crackrack_2", + "y": 90 + }, + { + "model": "tfg:block/loose/crackrack_2" + }, + { + "model": "tfg:block/loose/crackrack_2", + "y": 180 + }, + { + "model": "tfg:block/loose/crackrack_2", + "y": 270 + } + ], + "count=3": [ + { + "model": "tfg:block/loose/crackrack_3", + "y": 90 + }, + { + "model": "tfg:block/loose/crackrack_3" + }, + { + "model": "tfg:block/loose/crackrack_3", + "y": 180 + }, + { + "model": "tfg:block/loose/crackrack_3", + "y": 270 + } + ] + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/bricks_moon_deepslate.json b/kubejs/assets/tfg/blockstates/rock/bricks_moon_deepslate.json new file mode 100644 index 000000000..989f9a714 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/bricks_moon_deepslate.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/bricks_moon_deepslate" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/chiseled_bricks_moon_deepslate.json b/kubejs/assets/tfg/blockstates/rock/chiseled_bricks_moon_deepslate.json new file mode 100644 index 000000000..f5883f881 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/chiseled_bricks_moon_deepslate.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/chiseled_bricks_moon_deepslate" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/cobble_blackstone.json b/kubejs/assets/tfg/blockstates/rock/cobble_blackstone.json new file mode 100644 index 000000000..9322f89aa --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/cobble_blackstone.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/cobble_blackstone" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/cobble_crackrack.json b/kubejs/assets/tfg/blockstates/rock/cobble_crackrack.json new file mode 100644 index 000000000..a8af00981 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/cobble_crackrack.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/cobble_crackrack" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/cobble_dripstone.json b/kubejs/assets/tfg/blockstates/rock/cobble_dripstone.json new file mode 100644 index 000000000..7e4bb7c74 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/cobble_dripstone.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/cobble_dripstone" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/cobble_moon_deepslate.json b/kubejs/assets/tfg/blockstates/rock/cobble_moon_deepslate.json new file mode 100644 index 000000000..4f72b9333 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/cobble_moon_deepslate.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/cobble_moon_deepslate" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/cobble_permafrost.json b/kubejs/assets/tfg/blockstates/rock/cobble_permafrost.json new file mode 100644 index 000000000..56363869d --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/cobble_permafrost.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/cobble_permafrost" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/cracked_bricks_moon_deepslate.json b/kubejs/assets/tfg/blockstates/rock/cracked_bricks_moon_deepslate.json new file mode 100644 index 000000000..c411c524a --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/cracked_bricks_moon_deepslate.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/cracked_bricks_moon_deepslate" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_blackstone.json b/kubejs/assets/tfg/blockstates/rock/gravel_blackstone.json new file mode 100644 index 000000000..e769228fe --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/gravel_blackstone.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/gravel_blackstone" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_crackrack.json b/kubejs/assets/tfg/blockstates/rock/gravel_crackrack.json new file mode 100644 index 000000000..c10b6e510 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/gravel_crackrack.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/gravel_crackrack" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_deepslate.json b/kubejs/assets/tfg/blockstates/rock/gravel_deepslate.json new file mode 100644 index 000000000..640736aee --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/gravel_deepslate.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/gravel_deepslate" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_dripstone.json b/kubejs/assets/tfg/blockstates/rock/gravel_dripstone.json new file mode 100644 index 000000000..7a2db502e --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/gravel_dripstone.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/gravel_dripstone" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_glacio.json b/kubejs/assets/tfg/blockstates/rock/gravel_glacio.json new file mode 100644 index 000000000..e167ee620 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/gravel_glacio.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/gravel_glacio" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_mars.json b/kubejs/assets/tfg/blockstates/rock/gravel_mars.json new file mode 100644 index 000000000..1185ce5ae --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/gravel_mars.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/gravel_mars" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_mercury.json b/kubejs/assets/tfg/blockstates/rock/gravel_mercury.json new file mode 100644 index 000000000..8c62c0b65 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/gravel_mercury.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/gravel_mercury" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_moon.json b/kubejs/assets/tfg/blockstates/rock/gravel_moon.json new file mode 100644 index 000000000..9a5fa93f9 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/gravel_moon.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/gravel_moon" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_moon_deepslate.json b/kubejs/assets/tfg/blockstates/rock/gravel_moon_deepslate.json new file mode 100644 index 000000000..004ac267c --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/gravel_moon_deepslate.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/gravel_moon_deepslate" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_permafrost.json b/kubejs/assets/tfg/blockstates/rock/gravel_permafrost.json new file mode 100644 index 000000000..f8718974d --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/gravel_permafrost.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/gravel_permafrost" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_red_granite.json b/kubejs/assets/tfg/blockstates/rock/gravel_red_granite.json new file mode 100644 index 000000000..4d87c4591 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/gravel_red_granite.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/gravel_red_granite" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_venus.json b/kubejs/assets/tfg/blockstates/rock/gravel_venus.json new file mode 100644 index 000000000..6b76d8654 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/gravel_venus.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/gravel_venus" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/pillar_moon_deepslate.json b/kubejs/assets/tfg/blockstates/rock/pillar_moon_deepslate.json new file mode 100644 index 000000000..ebd02974c --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/pillar_moon_deepslate.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "tfg:block/rock/pillar_moon_deepslate_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfg:block/rock/pillar_moon_deepslate" + }, + "axis=z": { + "model": "tfg:block/rock/pillar_moon_deepslate_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/polished_crackrack.json b/kubejs/assets/tfg/blockstates/rock/polished_crackrack.json new file mode 100644 index 000000000..35bbb9db2 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/polished_crackrack.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/polished_crackrack" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/polished_moon_deepslate.json b/kubejs/assets/tfg/blockstates/rock/polished_moon_deepslate.json new file mode 100644 index 000000000..ccdcf0f9a --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/polished_moon_deepslate.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/polished_moon_deepslate" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/loose/crackrack_1.json b/kubejs/assets/tfg/models/block/loose/crackrack_1.json new file mode 100644 index 000000000..977e3cf5c --- /dev/null +++ b/kubejs/assets/tfg/models/block/loose/crackrack_1.json @@ -0,0 +1,6 @@ +{ + "parent": "tfc:block/rock/loose_igneous_intrusive_1", + "textures": { + "texture": "beneath:block/crackrack" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/loose/crackrack_2.json b/kubejs/assets/tfg/models/block/loose/crackrack_2.json new file mode 100644 index 000000000..1293c8e27 --- /dev/null +++ b/kubejs/assets/tfg/models/block/loose/crackrack_2.json @@ -0,0 +1,6 @@ +{ + "parent": "tfc:block/rock/loose_igneous_intrusive_2", + "textures": { + "texture": "beneath:block/crackrack" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/loose/crackrack_3.json b/kubejs/assets/tfg/models/block/loose/crackrack_3.json new file mode 100644 index 000000000..a0f2061df --- /dev/null +++ b/kubejs/assets/tfg/models/block/loose/crackrack_3.json @@ -0,0 +1,6 @@ +{ + "parent": "tfc:block/rock/loose_igneous_intrusive_3", + "textures": { + "texture": "beneath:block/crackrack" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/bricks_moon_deepslate.json b/kubejs/assets/tfg/models/block/rock/bricks_moon_deepslate.json new file mode 100644 index 000000000..7732302b1 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/bricks_moon_deepslate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/bricks_moon_deepslate" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/chiseled_bricks_moon_deepslate.json b/kubejs/assets/tfg/models/block/rock/chiseled_bricks_moon_deepslate.json new file mode 100644 index 000000000..55e323eb3 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/chiseled_bricks_moon_deepslate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/chiseled_bricks_moon_deepslate" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/cobble_blackstone.json b/kubejs/assets/tfg/models/block/rock/cobble_blackstone.json new file mode 100644 index 000000000..ad6cfdcc5 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/cobble_blackstone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "minecraft:block/blackstone_top" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/cobble_crackrack.json b/kubejs/assets/tfg/models/block/rock/cobble_crackrack.json new file mode 100644 index 000000000..95432bb09 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/cobble_crackrack.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/cobble_crackrack" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/cobble_dripstone.json b/kubejs/assets/tfg/models/block/rock/cobble_dripstone.json new file mode 100644 index 000000000..e6ae2b798 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/cobble_dripstone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/cobble_dripstone" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/cobble_permafrost.json b/kubejs/assets/tfg/models/block/rock/cobble_permafrost.json new file mode 100644 index 000000000..ff942aee9 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/cobble_permafrost.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "ad_astra:block/permafrost_top" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/cracked_bricks_moon_deepslate.json b/kubejs/assets/tfg/models/block/rock/cracked_bricks_moon_deepslate.json new file mode 100644 index 000000000..421d73f2b --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/cracked_bricks_moon_deepslate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/cracked_bricks_moon_deepslate" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/gravel_blackstone.json b/kubejs/assets/tfg/models/block/rock/gravel_blackstone.json new file mode 100644 index 000000000..d9ee63774 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/gravel_blackstone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/gravel_blackstone" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/gravel_crackrack.json b/kubejs/assets/tfg/models/block/rock/gravel_crackrack.json new file mode 100644 index 000000000..681590d51 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/gravel_crackrack.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/gravel_crackrack" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/gravel_deepslate.json b/kubejs/assets/tfg/models/block/rock/gravel_deepslate.json new file mode 100644 index 000000000..8ff04f18c --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/gravel_deepslate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/gravel_deepslate" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/gravel_dripstone.json b/kubejs/assets/tfg/models/block/rock/gravel_dripstone.json new file mode 100644 index 000000000..9d72e117f --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/gravel_dripstone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/gravel_dripstone" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/gravel_glacio.json b/kubejs/assets/tfg/models/block/rock/gravel_glacio.json new file mode 100644 index 000000000..644584b76 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/gravel_glacio.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/gravel_glacio" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/gravel_mars.json b/kubejs/assets/tfg/models/block/rock/gravel_mars.json new file mode 100644 index 000000000..f3d68f422 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/gravel_mars.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/gravel_mars" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/gravel_mercury.json b/kubejs/assets/tfg/models/block/rock/gravel_mercury.json new file mode 100644 index 000000000..2b8a2a169 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/gravel_mercury.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/gravel_mercury" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/gravel_moon.json b/kubejs/assets/tfg/models/block/rock/gravel_moon.json new file mode 100644 index 000000000..f87fb5702 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/gravel_moon.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/gravel_moon" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/gravel_moon_deepslate.json b/kubejs/assets/tfg/models/block/rock/gravel_moon_deepslate.json new file mode 100644 index 000000000..d8ab793b1 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/gravel_moon_deepslate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/gravel_moon_deepslate" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/gravel_permafrost.json b/kubejs/assets/tfg/models/block/rock/gravel_permafrost.json new file mode 100644 index 000000000..af6e7933d --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/gravel_permafrost.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/gravel_permafrost" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/gravel_red_granite.json b/kubejs/assets/tfg/models/block/rock/gravel_red_granite.json new file mode 100644 index 000000000..288781d1e --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/gravel_red_granite.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/gravel_red_granite" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/gravel_venus.json b/kubejs/assets/tfg/models/block/rock/gravel_venus.json new file mode 100644 index 000000000..d20e4d522 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/gravel_venus.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/gravel_venus" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/pillar_moon_deepslate.json b/kubejs/assets/tfg/models/block/rock/pillar_moon_deepslate.json new file mode 100644 index 000000000..153a1d6bd --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/pillar_moon_deepslate.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "tfg:block/rock/pillar_moon_deepslate_top", + "side": "tfg:block/rock/pillar_moon_deepslate" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/pillar_moon_deepslate_horizontal.json b/kubejs/assets/tfg/models/block/rock/pillar_moon_deepslate_horizontal.json new file mode 100644 index 000000000..4e3026807 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/pillar_moon_deepslate_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "tfg:block/rock/pillar_moon_deepslate_top", + "side": "tfg:block/rock/pillar_moon_deepslate" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/polished_crackrack.json b/kubejs/assets/tfg/models/block/rock/polished_crackrack.json new file mode 100644 index 000000000..4ebed1bc8 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/polished_crackrack.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/polished_crackrack" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/polished_moon_deepslate.json b/kubejs/assets/tfg/models/block/rock/polished_moon_deepslate.json new file mode 100644 index 000000000..2f59b3be5 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/polished_moon_deepslate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/polished_moon_deepslate" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/rock/bricks_moon_deepslate.png b/kubejs/assets/tfg/textures/block/rock/bricks_moon_deepslate.png new file mode 100644 index 0000000000000000000000000000000000000000..981465dfadc1df69c1749a6b8739b46a2248d1ba GIT binary patch literal 753 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7TQZ%U13aCb6$*;-(=u~X z85lGs)=sqbIP4&EG(PyKlBl3{2S?fpy<4uXGTx%y2@AJ~MwJ@u{K7rUL`74tuPOWB z!TzJGn!7iz<6GCH@PqM@o`vQvkIw(zT)Ig%7VnPluI}Gm-f&@s!PPfiOsmo)S629( zc@}nbUO0`XGV$L(eEh0+X!D-)e=UDa*>jR%zK2Zeu0+9nf%AD$ zR?ll6321wAeYE_z#8F(O?#ZqqxRaj z>&+T=`d@mTt6RhJC7)URdamz1X1(%;h3c_JD(;^yi*T_%_}jBjlbz=t)86d7{I#`n z>=-0pW&LEcuwXgXJ!S8^kMA7P^Z(Dw{Q8~w>Y<`@D__(LGcYi)C3(BMF#HF>1$&oI zW?*38EbxddW?|Oqh6e!o{`k#pl1v-`2O-vNiIiZ{xHZ z)#sWoX54<9`XGV$L(eEh0+X!D-)e=UDa*>jR%zK2Zeu0+9nf%AD$ zR?ll6321wAeYE_z#8F(O?#ZqqxRaj z>&+T=`d@mTt6RhJC7)URdamz1X1(%;h3c_JD(;^yi*T_%_}jBjlbz=t)86d7{I#`n z>=-0pW&LEcuwXgXJ!S8^kMA7P^Z(Dw{Q8~w>Y<`@D__(LGcYi)C3(BMF#HF>1$&oI zW?*38EbxddW?&&^HE zD`9XhN=+Eak-ak_Vscm5#*ftLMA-bciia{bMI zyK?`0xs5CnbN>WXADk%5lc*O~w%K@d|MvCo=i5KmVerbFvsq(lW!oqFhLUqaNlXey zia)PYeA*M@CH!b+|KGaMy#fvmciUfC3HNR;TWhubrSFa~y;r4y zj}O>-Fx2!VUyr?9w6j^RZ~yVM9kz?!@$hj!-8A!FRqA@y*Xw1D74GAGu5&GZ{`!w8 zKFOa`cqBGgO*KB4_x+yAwEKG*%~MH&{sZ4(@!S6-n5)Vf)9!BD-=Dj?lIh3%M(wq4 z*PAum^uP2vSGR`cOFpys^<3Y3%zEVw3)N$dRNOyZ7U5!j@V955COgkProGvD`D<(E z*fB`H%KFJ>VZm~&d&=H-AKy8o=l`FV`Sm;V^Twj9%VW3tF)%Q&C3(BMFo3~N=iT)T z3=EtF9+AZi4BWyX%*Zfnjsyb(1AB?5uPggY4p~7KES{AcC+brYH z|30^OyZ-$@j2-5j=GTSoYX3TA@T}arr{bH;{qKx3&ZVx>t?flkvPymTL>#Mnws+p1OIc;xRZoB8nB2BDyIiQI)N;}F zcN*gUOlKD#m(nS2J0`&5TlKcDPx;{LQl~84c_9-bS6^N9j&_^_J|i&ojO5|66}{_Uq1l&HUTt zMbk=`UJI&z@$>zs;DZ}21f-m`b0*$Twb@&9C~NMA1D`Ga*%evHbeMDQ|Frwk)N@m{ zJj^z3o=|pfrM-*j#BzbJU++u1)b6X*kH1|J@oL_Du6yWv YXD>-#FSK{1Gbqt`y85}Sb4q9e03AEZ%>V!Z literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/rock/cobble_dripstone.png b/kubejs/assets/tfg/textures/block/rock/cobble_dripstone.png new file mode 100644 index 0000000000000000000000000000000000000000..8b03e73a0d622eaa8ca05012ad91787182292377 GIT binary patch literal 1024 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7TQZ%U13aCb6$*;-(=u~X z85lGs)=sqbIP4&EG(P&MlBlDxN8pKoxo;LJ^)2mk-4Jk#YpvCcm|v{EQj=U2^2VYO9!`oXq#fclRE@YklDU8l$UkIvH1`NxpQ6 zIrB99=)Q0k!D9l)6gw14-I-};}( z&Xl6i11B~%NQHRx$^YT6E6)~NzWmOT0GSuH8{hU9F31`^L6tb%zI%J1$xM zixQskTV?OXi%RYX9+(vr-o5z5_CXQ5MCBz_=b|MHzV#b9_RPO%{`sfOAaX^GgguLd?pMG43Z_T5hc#~ zxw)x%B@E6*sfi`2DGKG8B^e6tp1uL$jeOz^42(BCT^vI!PKQq3xbBvNfNQ_*X(5ic zQB0R@qeb!@I%X+_{!_G{;D7S@(rTg1n3)rfv1O(^Zrj4T#9%l7owpV5&fM8qz9`#R(}`TOddUa~YK8M|w@MtDC-nzd{3nxZR7Vo4j>vzK~sO&veW)pLwq$@6~rzcCru5fp};x(n^8((YRn3wNz zWJ>72J10GKvs<5tzFGe9vA1^IQwL^_EE#_BNt;gn{QX?MY9({)vUg2|MujO>s+Tq0 zWR}Tm%*)F8zFJ?oQp;`Ef#TnX?uy@e%Qa;d>u1${tE0{YTw}Xjvu6LFxSVGPcgejd z+$i|HOvbVGd2|$K;d|bEqs-PNH_qIjRQqUk%6gIRvo;Zu3LncKFe^B=e$-RB;~x1` g!_@C}|4aK6--JZF%X6kNFfcH9y85}Sb4q9e0G@it@&Et; literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/rock/cobble_moon_deepslate.png b/kubejs/assets/tfg/textures/block/rock/cobble_moon_deepslate.png new file mode 100644 index 0000000000000000000000000000000000000000..df7e42b7c5ae9c553b7ae344426e704d3ea0e537 GIT binary patch literal 936 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 R9~}lIGf!7Pmvv4FO#mbn(R}~_ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/rock/gravel_deepslate.png b/kubejs/assets/tfg/textures/block/rock/gravel_deepslate.png new file mode 100644 index 0000000000000000000000000000000000000000..c8a1bde4032a8abf0bc21adb54e31caaf91517b7 GIT binary patch literal 638 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>lx;w22YC`Rp6GS4T=VMw{^i}? z_ZgqQd?|_4c{ek>nC~|;gYV`eQQd}Z+wLl-dS0J9aTCh{iRP`-)>$jd$;ovTF0rp< zSfaD>nvzT5RU00829Cf7wfzFDzMEYlvKfme3b4kOvpHzC8nS76zuM*2!L(M}iDQZK zC09+?*z1w59E@wVFEJ$ZD6*{CsUdkF>3OaoV~5-CHuJ94 zZqZuFN9?(MhA=XS1c-~H}P$;KV(EfeDX&91!`J!g5V z%>S}Z;kk#k=U>0(-h5LxXqrc)(bZi}uesh=|C)SUqWQb+Imnv|bP0l+XkKo%a~x literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/rock/gravel_dripstone.png b/kubejs/assets/tfg/textures/block/rock/gravel_dripstone.png new file mode 100644 index 0000000000000000000000000000000000000000..f03870d92e65e7f1acb2d3f49e494cf6e0f5db63 GIT binary patch literal 1107 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7TQZ%U13aCb6$*;-(=u~X z85lGs)=sqbIP4&EG(P&MlBlDxN8pKoxo;LJ^)2mk-4Jk#YpvCcm|v{EQj=U2^2VYO9!`oXq#fclRE@YklDU8l$UkIvH1`NxpQ6 zIrB99=)Q0k!D9l)6gw14-I-};}( z&Xl6i11B~%NQHRx$^YT6E6)~NzWmOT0GSuH8{hU9F31`^L6tb%zI%J1$xM zixQskTV?OXi%RYX9+(vr-o5z5_CXQ5MCBz_=b|MHzV#b9_RPO%{&&^HE zD`9XhN=+Z8By z#e2dQ_=zxhN+qvqyZ8Rvf!)W|8LIX#Hfy{0eumF+j$l)UcR}yV*GyAou;QK==rHNn zlby@HTThuH(yjYV_}hZb6Kt;cxo*6%XvvX(4sMJ`le$+*m54ps$`owcadp#@@78<5 z9+c-Byk1MzBYNr62p7j*T+{i+>+Q6 zrm(o-)(qRfd+%F5j&qNcHlC5e7`EDU#dmA=d$x8HmlzsxS)9MWt6DkO^Z~!aflSj- z=Z!avX7+goHGZ?sVE=nRegB0>4qa!iIPD9OCsM4+qSoqfn|QDL;@N#OU#bVUBB-9j=A@F+jPB4#Q1*Q{vT>*XO)r?y&`^BLh`P)? z|E$@0wIJ!{E|o*yem{r|{J&OHEP7Aage8WaQvA$Sk*lW8cz)~cBYFRSk*_Pl+BiUo N(bLt>Wt~$(69BX0^@{)i literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/rock/gravel_glacio.png b/kubejs/assets/tfg/textures/block/rock/gravel_glacio.png new file mode 100644 index 0000000000000000000000000000000000000000..6c9499f250e2c53224156571197620a6bb093aac GIT binary patch literal 1079 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/rock/gravel_moon_deepslate.png b/kubejs/assets/tfg/textures/block/rock/gravel_moon_deepslate.png new file mode 100644 index 0000000000000000000000000000000000000000..ce10141ef965ec3c11746f70974334851c78b372 GIT binary patch literal 1038 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7TQZ%U13aCb6$*;-(=u~X z85lGs)=sqbIP4&EG(LD~s5W1jK?7C(rniA_;aH4=2P=?uI;SzBu$J~Rz6bL81W`yXLIDqfX?(z=dM+O z`zDk|KHPIOa_yCf*Yp0gHtyLr>6z8p!Xq17SSAT5E^af@+90qjRQae&*SF-@Ka2b9 zJ@sbBq#6|IEZ`EI^qBpB^ZmQCT4!dOYYH$|#pnD^X8Q1!>FloDdimRBpIJWGF^5Op zj?ZP7=zr;Tu5JknPcF0g^<3Y3%zEVw6V+plRNOyZ65(Qf@V955COgl4roY*F`D<(E z*fB`H%KFJ>VZox-J!S8`r+5FIyZ6ub@~ijkS0@#n3!ky&1p@;ETavfC3xh6$K7+B( zWdlYA1_sUokH}&M25w;xW@MN(M}mQYfxX1j*OmPxhcv&eHUF8N8yFZEBuiW)N}Tg^ zb5rw57@Uhz6H8K46v{J8G8EiBeFMT9`NSC*7@v8%IEGl94xN13PuftVZT~q-IqR1_ zQv{egbS8Z+*R-9R_w3ut zc%jtxAp4rlJ&zkMPMe|DvyCAlozqU>vP*G!xqn}0Vg>tw4DSz&hE*4B`j{D#rc5zT znzHV7W)nZdR*xQ`%PbAE&u%=Iv?XUNT?n^QnferU5;zOEXHGnD@;OI44>cqHF5d(YPouwOQp7XX6uh0WG}ld z`}^?2qyit|vtNIGb6WB=srBNt-Ls`bS_)-0oZDnC<6-&v)2A3gsoX%(mD24GWnb%P zrhjW^KFHp)ZONR~1*ea$%9>QPjM2k#vC`D+zLim$ZXcH?i(argomL$GdR6aZ3xUf= z@^&A#;%=~)4HWFz7PCHI`+xg;{{N=GUhM1&S?4-^(^i%Di+B8vx6kbQuH|%U=cSvu z$rdlVUN3A|D%D+vK^fn~JvHc<^`L_4t9z%8FtM+ z`*FE){(k<@he~;UobSK$9IoCwIVtzU!yX6MtSP5A9x;iHN$`v-Tyn?rvA=s0e~hl# vm%r(MUV8L#F3y#W(AydiqZc-1-+rm5E|CXU9n554U|{fc^>bP0l+XkKy~@!* literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/rock/gravel_permafrost.png b/kubejs/assets/tfg/textures/block/rock/gravel_permafrost.png new file mode 100644 index 0000000000000000000000000000000000000000..f0989b893129368aec506384a9f11aedaed5e3a4 GIT binary patch literal 1090 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7TQZ%U13aCb6$*;-(=u~X z85lGs)=sqbIP4&EG(PyKk|?WnhepZ@zp_BVyI!K*2@AJ~MwJ@u{K7rUL`74tuPOWB z!TzJGn!7iz<6GCH@PqM@o`vQvkIw(zT)Ig%7VnPluI}Gm-f&@s!PPfiOsmo)S629( zc@}nbUO0MH&{sZ4(@!S6-n5)Vf)9!BD-=Dj?lIh3%M(wq4 z*PAum^uP2vSGR`cOFpys^<3Y3%zEVw3)N$dRNOyZ7U5!j@V955COgkProGvD`D<(E z*fB`H%KFJ>VZm~&d&=H-AKy8o=l`FV`Sm;V^Twj9%VW3tF)%Q&C3(BMF#HF>1$&oI zW?*38EbxddW?r5`Ik zxpcGP#JU^KkGbZZ3C#b=@%Cc=!|fjyZFx|+F)rrAl*t{l7P;!Ko;3GBkk`f~ht};D z$gx>6+4rdB*@w0FD*yRDefhck=DywSdGkJgd%)2UcRfYo#g90z`V9vJ#5(6Ba&R-; z_m*U{>YNjJvabGQTO;2F!zUcG4J1S#gzoLiG%IZBwaOJ-JoVt}DpB_vDn)D!uS-Ad z6>*MW-JzRwC?Q1W;+3Oct!AVNGdM@I9PHTE5y<}|&P$?4g3W5(b;U`+ZH;}?PDu7` z=zJpb{~>S5=QRln4lw*Z*c7@qDj+;)Ti92viE}2MkepoEY`#8ui>b1y4Nu9g{&xYE z_H38FK9X7dc6W7a9mD0EB#!ReyQOjkFU#wE*gNIaPs8M!k8U1Rb#{)Zrj~;%Ixc<>+H{MrSzW$}O+T*o^eKIfwOKQ@rW!@L zuA6j0$WnPyaLjt=_1R)kQ}tI(JeA>oL*mdP-6XN@)N>2gcv{ZCT2@h6u_;jN=z^H1 zx~`cz`s_+8nblt}mA$n)eCCeDl!vpmlfletl55C#T^5JlAVK4*x!UK4wB-c3yCH-eZp0 x@{{LFoVA)br)Z}peR2r zGbfdSL1SX=L|c!;4l+mMgO4hSvRZd&q^$5O3lzNTCEA^^aEoYEslm=K+_OwnH1+zL zvJW2YKf0>9d-FQJbxjIC7$50bXzudp{O`@Bn`C40?)dKN{@vvb7giWtebdFXDot`_ zh0mF1VMphMvlw(So>5dV4EA3lZu~(e{`-fIU-b@c-gEx1<*zAwPBP5*kV)N@D3~vB zJ}1iRdF>+sZBMR`mLFRj#Z~H_?0WM_`uU>6Oy_wdXI`->?1<1Q+i>ULnv@ksE+0vB zy{Zv^V%M62dym$HWvwao|92=MF50tr?lX=@5l&2=9TNhbB}F4TF07iEq~!YBkpKUN z$NrPN)xsrvWVly2wLbZA@c)DI?P-ZwmwdU7HM|qQ{ZE3qs;n{X?za8?xw|Wwe#~#w zUi)^vS;I~LORsZvYgoSIGmBr(^}WZeSKhEtJ=RFY{nKR;F4hNsd-iFv^W0x)0|Q%$e=Kc%)=_Z;P65M}}w1mf2#= zx6|C4WTS4hRIM=9JeO)T`T0-#^Z!#HoSppp?sob82KB$Kls`($uY1F^A>c&tx@#va zC9ieQPPy!Pr%hqDAJc?lqbaLR@3bX6C{?_^HCXIv7Vm?Yg{e|gv`TpuQraWaWloy} z9QTWC@tXR}l0nfrVp-#D0fsZazLScLQZ9S)CM?(Sn!1Zks-pCDR=BOsVE&059Cv6A=7^G~P6dyXVm39~Y6h`Zx*qHo#43|EGhH!n^~XRqG#``6qhhDYvP zS(2v_o^2Cd(|6~t75h6gmWP4o!rt92xpD8az^21rTxM06I34OR{`^4j;$-_Z;^sT8 zi<=!xKFqRv-+kYLlS#;JPK)6C%t^&Y3>Cie`&Ca`O72G|yvk%%A*!Gt-xM_0kc`4qjfWYIZG5GxU{?$R{gn?$#QAVbyg)`PU?`PZlXK zn|dUd>sPzh+Cz)ytnG>4)iHO|4gqPEM4rT%Y@c?V{WkCTzxT>>+Y2;~6qu|sPMuvi zr_=CI<}U5_PcsxOQVT03ABO$-b6M3);^Nt9nH%aWjue=5-Jc|L%ItFZrJVPbEC)5~ X8AJ3EZgHMXV*mk9S3j3^P6MH&{sZ4(@!S6-n5)Vf)9!BD-=Dj?lIh3%M(wq4 z*PAum^uP2vSGR`cOFpys^<3Y3%zEVw3)N$dRNOyZ7U5!j@V955COgkProGvD`D<(E z*fB`H%KFJ>VZm~&d&=H-AKy8o=l`FV`Sm;V^Twj9%VW3tF)%Q&C3(BMFr+XLV0FMhJw4NZ$Nk>pEv^p6N9IVV~EA+*vSX8Zaav$`nU8t&N|i6 zz~-}MMMu)6!VlY8FWJA?UUGT=i}PFT1GwIO@=jHF&9KR{5^+EG9JHxcsqN#BcQZ#p;6^qxb%KkW&N#SJBsXYs}PwQ^? ze?R~99tMluCfv-kPFZ}sz zYPg$r`T}oW=|&^TU5&}NFGinEjSal>KS|1`Q|wl(-sh(9{P@lGHgkF3txXk54>y@w zc=_nDw`Wa%9~RzycG}abqyIj*Es4Hd_eo2yJiD`BMX9F6 zGnYqL@OV`4w${^obGV-eo6ULMq2j%B&i)6#r{_Ori?`obZCC5K$18A22vgJ^Z=tyS zw=)hn&99sq=b_B{MTh6ZRHbXPnloo~ERV>}O1|^++p}4}7EXcO!NQxb(dYTl07y}@eH0>Z@NzV)SrV>U0Qx0w@=qRQ`++4AJdD< X5XJ2#oDUcn7#KWV{an^LB{Ts5BPihN literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/rock/pillar_moon_deepslate.png b/kubejs/assets/tfg/textures/block/rock/pillar_moon_deepslate.png new file mode 100644 index 0000000000000000000000000000000000000000..543f2ec35831a113cf7a3328889865bdb4ff31d5 GIT binary patch literal 715 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7TQZ%U13aCb6$*;-(=u~X z85lGs)=sqbIP4&EG(PyKlBl3{2S?fpy<4uXGTx%y2@AJ~MwJ@u{K7rUL`74tuPOWB z!TzJGn!7iz<6GCH@PqM@o`vQvkIw(zT)Ig%7VnPluI}Gm-f&@s!PPfiOsmo)S629( zc@}nbUO0`XGV$L(eEh0+X!D-)e=UDa*>jR%zK2Zeu0+9nf%AD$ zR?ll6321wAeYE_z#8F(O?#ZqqxRaj z>&+T=`d@mTt6RhJC7)URdamz1X1(%;h3c_JD(;^yi*T_%_}jBjlbz=t)86d7{I#`n z>=-0pW&LEcuwXgXJ!S8^kMA7P^Z(Dw{Q8~w>Y<`@D__(LGcYi)C3(BMF#HF>1$&oI zW?*38EbxddW?a{~EyR;gk1nM6}`!<}}BbiXXujG4HJR?JogTe~DWM4fsh=#Y literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/rock/pillar_moon_deepslate_top.png b/kubejs/assets/tfg/textures/block/rock/pillar_moon_deepslate_top.png new file mode 100644 index 0000000000000000000000000000000000000000..f96def315c6f6848136e1671e086bdf55a8ef3b0 GIT binary patch literal 748 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7TQZ%U13aCb6$*;-(=u~X z85lGs)=sqbIP4&EG(PyKlBl3{2S?fpy<4uXGTx%y2@AJ~MwJ@u{K7rUL`74tuPOWB z!TzJGn!7iz<6GCH@PqM@o`vQvkIw(zT)Ig%7VnPluI}Gm-f&@s!PPfiOsmo)S629( zc@}nbUO0`XGV$L(eEh0+X!D-)e=UDa*>jR%zK2Zeu0+9nf%AD$ zR?ll6321wAeYE_z#8F(O?#ZqqxRaj z>&+T=`d@mTt6RhJC7)URdamz1X1(%;h3c_JD(;^yi*T_%_}jBjlbz=t)86d7{I#`n z>=-0pW&LEcuwXgXJ!S8^kMA7P^Z(Dw{Q8~w>Y<`@D__(LGcYi)C3(BMF#HF>1$&oI zW?*38EbxddW?&&^HE zD`9XhN=+Eak-ar$WRZob0`JbQ%H56XSceS779 zeDf8?%VsO)dT=sXmAvru@Tj|UQ)c<+r@w-}o;awpV&OFRRdTC~H|Q)#WMHtFXZ~fw z(T)Xj+zd<%r)mpn^T4?`hh-I2t-@3NQ&zTpN(iWzSgL9pp6#`A?W3rk z$b=~4d_y_EY|C~n<%T)Czb`Cu7uuYlDYUQl`I2doAK2vYrL;*3`lm54Ffe$!`njxgN@xNAj6Xk4 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/rock/polished_crackrack.png b/kubejs/assets/tfg/textures/block/rock/polished_crackrack.png new file mode 100644 index 0000000000000000000000000000000000000000..1aca6b9f65f3ae60535aaca852bcbedc17c0b60d GIT binary patch literal 898 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7TQZ%U13aCb6$*;-(=u~X z85lGs)=sqbIP4&EG(LD~s5W1jK?7C(rniA_;aH4=2P=?uI;SzBu$J~Rz6bL81W`yXLIDqfX?(z=dM+O z`zDk|KHPIOa_yCf*Yp0gHtyLr>6z8p!Xq17SSAT5E^af@+90qjRQae&*SF-@Ka2b9 zJ@sbBq#6|IEZ`EI^qBpB^ZmQCT4!dOYYH$|#pnD^X8Q1!>FloDdimRBpIJWGF^5Op zj?ZP7=zr;Tu5JknPcF0g^<3Y3%zEVw6V+plRNOyZ65(Qf@V955COgl4roY*F`D<(E z*fB`H%KFJ>VZox-J!S8`r+5FIyZ6ub@~ijkS0@#n3!ky&1p@;EXMsm#F#`j)5C}6~ zx?A^$fq_A?#5JPCIX^cyHLrxhxhOTUBsE2$JhLQ2!QIn0AiR-JoPmL{-qXb~#Gu`^%7b%l zN~WKmpZ`Dk@1K9kPuyhgN;br9-TN~?JlArUapkN#+hvbUvDq)P;=R_jqinxlJ(7Kp zqWk-=`-!|OW#vtyX3j={p(r3)*YH5lzi$&DQCnYKD=6|aG`AXkY-I(pzl#2Ts^vsMM=DyS@VDZ^~s>WOF+oKn^ z`QA&1tTR~latNTXF5u zGpnhnaCzEg&^DWC^*4kz~JfX=d#Wz Gp$P!|otU5i literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/rock/polished_moon_deepslate.png b/kubejs/assets/tfg/textures/block/rock/polished_moon_deepslate.png new file mode 100644 index 0000000000000000000000000000000000000000..4b5661bbdd4ffaf25539df338980b30910fa6ee7 GIT binary patch literal 881 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7TQZ%U13aCb6$*;-(=u~X z85lGs)=sqbIP4&EG(LD~s5W1jK?7C(rniA_;aH4=2P=?uI;SzBu$J~Rz6bL81W`yXLIDqfX?(z=dM+O z`zDk|KHPIOa_yCf*Yp0gHtyLr>6z8p!Xq17SSAT5E^af@+90qjRQae&*SF-@Ka2b9 zJ@sbBq#6|IEZ`EI^qBpB^ZmQCT4!dOYYH$|#pnD^X8Q1!>FloDdimRBpIJWGF^5Op zj?ZP7=zr;Tu5JknPcF0g^<3Y3%zEVw6V+plRNOyZ65(Qf@V955COgl4roY*F`D<(E z*fB`H%KFJ>VZox-J!S8`r+5FIyZ6ub@~ijkS0@#n3!ky&1p@;ETavfC3xh6$K7+B( zWdlYA1_sUokH}&M25w;xW@MN(M}mQYfxX1j*OmPxhcv%5%li+;+zbp1k|nMYCC>S| zxv6<249-QVi6yBi3gww484B*6z5(HleBulYjGmq@jv*GOYbRX{I%FW=+HcYtC3Qit zE&sCm|H!|LwN3||f}Ol?Uu5^WAySfVG*e}F`TKjbXCGhwJb#@_;2VY+KFjL&Np5y$ z+_P^l!-UjXPs~^sWJk^Vb|QQpv%qRahQKv80sHRGVMzPT8he>7Hf51bxv%sd-gT-w zM30_YZzB0q>1GZ?fb1Im3so`=j7v^(L|=7$ShdxL`AF7_-Cu-vFFQJ;_JGFyyc0&e z4O(5YfouFa_a8c0u*gg8dpW<$#zi{3Sw=IHR{Q(kZv6WEYL(1};@w5_c6qNo9#L4< zbI;!FUe-yUo2!;tMerw`xha}CUAyG}!PZyZ8E5`Eu|Mxy`>Ok5$gG|XP70hi#Ml47 z`G?~i<8|MrQs3^kF9WBk$t=w5Ka%BfS&q5?>D(&^Z|;cG^;bS|!pJvr7DI|zJj>?O mAE&I%`mdYnG3)pY!ITDfl|I9}8#>H8(#>_} zezq&@n5x?PV@}1T1>8dRMX`CGrJqka%ygbd^5z$t!j1@?uN&?hUX!!pi1Cp`*Q*-w zC$>gD+;cQ??X}3~^Zv9pHf@{q(CTcU%7zw|AOXe2eO#+H2rLa%KI$^-+he_dg2(48 zP4`*HC1EKR(9Cu6WAp!m@AJ++`VwNTDZu_KKIeBb(}%ZAYuj?`pn${0Ys%htpYrPS^Z(C#`QO>_%)r1c48n{Iv*t)JFfg!}c>21szvPe?)?-}$^+X{91A}CVYeb22er|4R zUI~M9QEFmIYKlU6W=V#EyQgnJcq5-U0|O(or;B5V#p$b)4rVbK3OK}jg!$%OdLJn8 zZHxSyg(6wpkG_Xws?GNG;GYztdn?;|y62%i$9*Jzm~VX9zUgIq(eHJ2&981|oLyu5 z!{F1eO`+wi(yD+7HjB#JkhX6fR>;dNi;= z*W$;YgZ433b5Ea++kIB71#V&@43*mhyD29it_h`-}wZjM3>EqHFUVDqdd2x zd*`1ni3(Q%WsU@f%|gasQ_>W<&wniCmydtH$maC#JM$NZYtG>L(0RmgnY7qPtB+rn zEiJyM&bN8f5`p=`{n90lkKEUt*4tmGXQ}hy%!Y}+=LOq4j|Q=ymOXQ-&CAABCNQM; zQ|p}5T+emSWi34x_5F!HkLZ@CJl8Y%lp9@DCN^Sj4@q+edD$N>KJ~r7v0Sjx{=7hz`&N|?e4!MP|ku_QG`p**uBL&4qCHz2%`Pn>~)(Z$onF~s8Z)k*$-ha5!O_iH7kWGR{S z=JBYMxz8$b=HQGDzt^Z;z`FjyJ?{dpZ7xjOLSDW;DH;h@PtUjQx^OLwIqz%kv(!oN zXWu_#^TYh=x@n8cw#wArzh2k;=-vg^=jqFL6rDSqu;{Jml7(H7ix#|IGsP=RLHXi0 z$3vSq-T$(PP3wJADts~F)1k*dLap<{PY1sJ*4Lfkz4RK(R-c5#n+vANtFKm7|7mk* zlVJGuH)6qgpWMG>eNfWYw$BVZ`aPd}2)Cw_Pl+b@y>iH1^C}C~kNy+QT!caYN1# z^(Ut)Kh4<3WmwY4{UoV)!lVgJJh2o0bxM3&W_N@szBS~G(7HLn5?>|z_VP@4clavX z^=h^S!f#A?7lf8CS`?M=qRIPmg2gwZf*rRM(v3VXahBOXSD1Fhlh3hQePd|3Qp5I# fmmOc^U$uVOxig<{f$>2G1_lOCS3j3^P6?3>SaUN&jcaZxXgn2Uk?*YCRbZ{p{&e|Szblio3p-OJ$buSFf@%9j`4e7|hP45f#*4$Bt2%l#Q*Qh)D| zY1!@bekJyK`{~DXBFI(^I-6VQr*$M6wFE7?o?%ij1#PW?Mx^+Md~+kTffd{kl+z+K~y1=9V8^+wrO`;Kjb5+~td% zcy{G+U0Hd_H+gHXR1A-eOnS)->C-~1QuOYmd=h`=Yo2a!^PrCR?JeB)H49U>{dhLb zwDqaqj8iPBEvokW?)r=0`R>E2w4Q&>1M$x+(s@45o=IOmz;Tx?D~4hI@2|7=a7pwC zKb@(>dLS3=9|Dwe;9Io5_LYvf#N14U8Mygfu6fKQoiVL5pKm!Cci3 ztZW)??+PY0doY=wx@kFUo7BsF}7&_?mSy z0$v}T9`ms4omcq2FIwTb9P`DZa#lWFwsy;{o!;($U#xt-ZtoYX423Cf5`{}9w)Yvm z>J8X^^zOsH@?D?TmhXJsY`XaC+kcGNDQi9^W%-@qzou~Z=ZXc9evh8;v~1*NIre!8 z1LN7r#_L6x{GX|%?=#q>WHhH|@@Buuh6WOBg?nBWJg+den)%y(&rX?n6_59yo-_N( z-w8X*@9j%kdp>!E?y)j4zkt08zYXlRY`Ru?WAD~?{cLr&{>6*jRXoEN@0fKvcKN*2 zuK^#=?YX0Q~tc9_-Mt9Sdme{Z|=XGNxG@D-s&%_5b` z(a*RqrF`XTe?5!)QPs3lk0x?^w-p~>Qy{VD+OC%=zk=tl`^`LAJ3sZrh1))g(RVg3 zy=`arf8CC1!J9wyw4a_xGWCd#lymI9R^b*MBXA@r%GmVZmYw$sdBZ~3?%u0-;yG*e zM?Eb)yFU0~2JD*Z0=_u?zR z%vLGN?9!1D`=0ah<-MKaNA4>BTN1^iDPUDtCtp7Ksner(J|X5jPE}@WpH^HylH~GP z@{F6;shqq;KNfS<9p3T3!C+;od)MD3&zA|#kLcqQ3(YZ{KV|EM=Ev+yHO_NA+dl0n z&%S=0gfA>-R6n`iyR~KNc5A(dlJgZ_td{fTzHRkS=HxMb&d3*B;>Cfwa?h9lnPdVQO$_=C1Z7S5x}7P0)zC^)mkH+b!?rUijh>Y&S=6BJXR*iYL!sl>WbT@xQ$0 zq4e;={mhnTZ!{jvdbEszfw3ji**U<|*%?-zGB8xkshw!+ao9oTXngQdB~e!E4vmx* zer17zcfCZr6Bcd}jVd+R`GtFyiHfFPUsLwMgZ)QWHFs}b$G5IY;RoX*JqyiU9-aTa zxpb3kEZ!a8UEROCyy3zMgR5`4m{z4puB`Am^DOM>yl@tSF2*y83WmY{OT>*o$i#pD z@bRnOq0M{F|F!%zWzR{5`5rQhJAiLO^Q;!o^aQ*iImny{=jrT+g8CB#L07SDag z@hHNH$+KfZptGcCM8}0y6O)u&e;e}u-|*OflDAs8WRDE@3a8d5KMwwXP`*7aG3$~q z*Rh6o;3`{Uu5Jy>mwaaN>$$%7nDxpV z7OKY@sknc-EW*Y5;BU`9O?IApOnbBQ^4HeRv15>YmGzU&!h+>k_msWwKE88E&;LI! z^Xqr!=Z!^IC0E5WGcfR$WrjqQMELqxCFkerC8p#jrRr7W7BGN-jeSKyVsdtBi9%9p zdS;%j()-=}l@u~lY?Z=IeGPmIoKrJ0J*tXQgRA^PlB=?lEmM^2?YL|ztSWK~a#KqZ z6)JLb@`|l0Y?Z*~TICg6frRyy6u?SKvTcz9|8>y;bpKhp88yV>qrKIT=SLT%@ zR_NvxD}#)HnBkIIoLrPyP?DLSrvNfDF)6>a#8yd(OF=;aYIsF%fv+#z_`G6hC?x0S z>Q^Kd=o{)8=;!9@BkL$GaV;ysucJ7mvLIDID784hv?w{%wJbHSL>bwLlw`R6g3_WK zuy<0D^;2_Fb5rw5iuDck3{k9f_w)^b>i`8odS-3`SXV`E0gB3!%rrz`q4)+Q1NIKG zLn?9$;O3&JhWQ<=7#v1cF8Rr&Am@3y*eZeSw@S%R&P=faGt*2AEG(0g&2^KFEX{OH zOfAiIEsaxCbxqUKl9SDoOpQ}5laY+_%quQQ%u7xM8C8*6pqH7MVwGfRVV;(nWUgyy zoM@tJVqj>gYiVYZs%vIsVQ6G(YG`I+WQb&he^F+7W?o_rva3KwrDUd98CoWrSSBW> z=$e|ECF`14ny2U{S*9fGrkYw9TUsWYo12;&gN;f_wsOla%1tb>Rm#jwOi$G>$V&%H zfCAjgF~HMS$w)S}|d{5+7Uh6Z}ZCSdKLh_Ui7%1q5GNd%=-TP3(Zt(=Qe6HD@oLh|!- zY?VNcQZUjpgcw+nTVUmzT9TNOSd!?HSdwb1WMp7uYGq(yWn>v*XlZ3)Xk}!sZD3?& zfTTV@B{Qv(kZLR42JP0=@6Qo)}K>?gCtP+zUUMNm1 zOHBcL4=$CQk(igBnqsR2O|UR6nOG7-s*!neQlgQGu4Qtvk*mq!(11pjCaU`Kj8srO7#NxA8d&He zg3LlmAL2b5eNc%3^R10OMtDFJAQdroTnZ4eAQv|~E*pJtIR`59AO?cU99m*%JkZh# z1%**dNDAN4;2I4sl0twa#iOZfG`L6#0g@DtrY@=l7Z;*4m714gt5mLJZ>JTw`5OZR z16z`}y9=nl#lY~>d3QYn0|RG)M`SSr1Gg{;GcwGYBf-GHz+U3%>&pI;Lsn2zM#)~U zi-Cbj$kW9!#NzbP$!D`K7swp5_pHmjrE_*y>ATjm4^yNMxk%JivUO`Ty@NpXZ(5 zE~mXzq|+zBD^Y^&kbsKO!@tk@Z?!gvm(O2mc>CeAS5h-iWt82LG1Z>(#&eOzlO2JJ z?PWd`{=S?)zfNslo?TGey3LifvNOH-`n7#_slJ(WI;T?VxaKB?suJNB2k_cFxo zt%*GqU75Fbt+1Qo*RbZDDdF`@hPR5tcMLG828kEUnb0-bjifk ztMmDF4J%i@oyI&%Qx;kH@pUhd-xP0oK=X#pjza%l7lYPLdA2v9{4?d|FTM9kVsq}g z*vMldYDX8H?%x|*5}Urw#`gj@gFt$NiT6rVo0#K?7CkT9Y)>ua+;dsYOLNb(_9>H0 zykC~o{yKb6V?n}GL*L07eJ3~dxO`nX=Zip_0!Ouo?DUEo$1ap+y=9AEZGFq5MdMxZ ztL-Nxt+q`)e1$7wC)3<@{qiLnTNKh~ZTSoD%@-GWqK-(%x`d< zbb)i1&N|Bt51{eOyKPT Or6*5UKbLh*2~7Y=2_;hi literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/loose/red_granite.png b/kubejs/assets/tfg/textures/item/loose/red_granite.png new file mode 100644 index 0000000000000000000000000000000000000000..2a68bc48b65c349128eec49ca623a80a13b5a786 GIT binary patch literal 882 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7TQi-V13aCb6$*;-(=u~X z85lGs)=sqbIP4&EG(LE#s}`S_h~UY9xo;LJJqlSB!NR?C?S)m%Czr}QO>R>;dNi;= z*W$;YgZ433b5Ea++kIB71#V&@43*mhyD29it_h`-}wZjM3>EqHFUVDqdd2x zd*`1ni3(Q%WsU@f%|gasQ_>W<&wniCmydtH$maC#JM$NZYtG>L(0RmgnY7qPtB+rn zEiJyM&bN8f5`p=`{n90lkKEUt*4tmGXQ}hy%!Y}+=LOq4j|Q=ymOXQ-&CAABCNQM; zQ|p}5T+emSWi34x_5F!HkLZ@CJl8Y%lp9@DCN^Sj4@q+edD$N>KJ~r7v0Sjx{=7hz`&N|?e4hbKlGXn#IWQl7;iF1B# zZfaf$gL6@8Vo7R>LV0FMhJw4NZ$Nk>pEv^pqo=2fV~EA+vy;8Em>dP#_6r_#@7ES| z^l*_-Ns$m};x6CW*d22)`Ki#nL#_fWfhrucI9ZNu+dNaQSNg1y&*ft_EjdB6m+e}; zZ`H4rZT7R0t@pZpP5Ax2`-G+Rh3pXiy1i~ouPV;$znO9N$;+qV5!cGJ*77kN;udhY zEvvkT!BXl%^Wks<^|klD&F0Ymu`zb{W|2u7nV)1h7|G99xp~s{`qA~*d*UJ)c20Ac zT(MjE-aCz#j33L`8!mC`IGtLzAmoIgr|ZfI)>ji2n|i5FiA|iuIO*(cOIO4CPxJoT zq;oNHgm>M3H&^mu;wO#+Mm2V-gQu&X%Q~loCIFs;fLH(k literal 0 HcmV?d00001 diff --git a/kubejs/data/beneath/loot_tables/blocks/crackrack.json b/kubejs/data/beneath/loot_tables/blocks/crackrack.json index f61cb825e..716ad1ed9 100644 --- a/kubejs/data/beneath/loot_tables/blocks/crackrack.json +++ b/kubejs/data/beneath/loot_tables/blocks/crackrack.json @@ -19,7 +19,7 @@ }, { "type": "minecraft:item", - "name": "beneath:crackrack_rock", + "name": "tfg:loose/crackrack", "functions": [ { "function": "minecraft:set_count", diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/bricks_moon_deepslate.json b/kubejs/data/tfg/loot_tables/blocks/rock/bricks_moon_deepslate.json new file mode 100644 index 000000000..e07b396c5 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/rock/bricks_moon_deepslate.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:rock/bricks_moon_deepslate" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/chiseled_bricks_moon_deepslate.json b/kubejs/data/tfg/loot_tables/blocks/rock/chiseled_bricks_moon_deepslate.json new file mode 100644 index 000000000..3d05a1e33 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/rock/chiseled_bricks_moon_deepslate.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:rock/chiseled_bricks_moon_deepslate" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/cobble_blackstone.json b/kubejs/data/tfg/loot_tables/blocks/rock/cobble_blackstone.json new file mode 100644 index 000000000..c3ede98e4 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/rock/cobble_blackstone.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:rock/cobble_blackstone" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/cobble_crackrack.json b/kubejs/data/tfg/loot_tables/blocks/rock/cobble_crackrack.json new file mode 100644 index 000000000..2dafa861e --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/rock/cobble_crackrack.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:rock/cobble_crackrack" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/cobble_dripstone.json b/kubejs/data/tfg/loot_tables/blocks/rock/cobble_dripstone.json new file mode 100644 index 000000000..20dda7fce --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/rock/cobble_dripstone.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:rock/cobble_dripstone" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/cobble_moon_deepslate.json b/kubejs/data/tfg/loot_tables/blocks/rock/cobble_moon_deepslate.json new file mode 100644 index 000000000..6043da7a8 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/rock/cobble_moon_deepslate.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:rock/cobble_moon_deepslate" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/cobble_permafrost.json b/kubejs/data/tfg/loot_tables/blocks/rock/cobble_permafrost.json new file mode 100644 index 000000000..da12291a9 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/rock/cobble_permafrost.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:rock/cobble_permafrost" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/cracked_bricks_moon_deepslate.json b/kubejs/data/tfg/loot_tables/blocks/rock/cracked_bricks_moon_deepslate.json new file mode 100644 index 000000000..892601ebf --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/rock/cracked_bricks_moon_deepslate.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:rock/cracked_bricks_moon_deepslate" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_blackstone.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_blackstone.json new file mode 100644 index 000000000..0d20b2d29 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_blackstone.json @@ -0,0 +1,70 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "tfg:rock/gravel_blackstone", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ] + }, + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "minecraft:flint", + "conditions": [ + { + "condition": "minecraft:table_bonus", + "enchantment": "minecraft:fortune", + "chances": [ + 0.1, + 0.14285715, + 0.25, + 1.0 + ] + } + ] + }, + { + "type": "minecraft:item", + "name": "tfg:rock/gravel_blackstone" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_crackrack.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_crackrack.json new file mode 100644 index 000000000..eddae43a9 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_crackrack.json @@ -0,0 +1,70 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "tfg:rock/gravel_crackrack", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ] + }, + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "minecraft:flint", + "conditions": [ + { + "condition": "minecraft:table_bonus", + "enchantment": "minecraft:fortune", + "chances": [ + 0.1, + 0.14285715, + 0.25, + 1.0 + ] + } + ] + }, + { + "type": "minecraft:item", + "name": "tfg:rock/gravel_crackrack" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_deepslate.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_deepslate.json new file mode 100644 index 000000000..9e5ef2260 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_deepslate.json @@ -0,0 +1,70 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "tfg:rock/gravel_deepslate", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ] + }, + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "minecraft:flint", + "conditions": [ + { + "condition": "minecraft:table_bonus", + "enchantment": "minecraft:fortune", + "chances": [ + 0.1, + 0.14285715, + 0.25, + 1.0 + ] + } + ] + }, + { + "type": "minecraft:item", + "name": "tfg:rock/gravel_deepslate" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_dripstone.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_dripstone.json new file mode 100644 index 000000000..819a92dfd --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_dripstone.json @@ -0,0 +1,70 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "tfg:rock/gravel_dripstone", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ] + }, + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "minecraft:flint", + "conditions": [ + { + "condition": "minecraft:table_bonus", + "enchantment": "minecraft:fortune", + "chances": [ + 0.1, + 0.14285715, + 0.25, + 1.0 + ] + } + ] + }, + { + "type": "minecraft:item", + "name": "tfg:rock/gravel_dripstone" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_glacio.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_glacio.json new file mode 100644 index 000000000..8e7508ef2 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_glacio.json @@ -0,0 +1,70 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "tfg:rock/gravel_glacio", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ] + }, + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "minecraft:flint", + "conditions": [ + { + "condition": "minecraft:table_bonus", + "enchantment": "minecraft:fortune", + "chances": [ + 0.1, + 0.14285715, + 0.25, + 1.0 + ] + } + ] + }, + { + "type": "minecraft:item", + "name": "tfg:rock/gravel_glacio" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_mars.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_mars.json new file mode 100644 index 000000000..0c9a1f370 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_mars.json @@ -0,0 +1,70 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "tfg:rock/gravel_mars", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ] + }, + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "minecraft:flint", + "conditions": [ + { + "condition": "minecraft:table_bonus", + "enchantment": "minecraft:fortune", + "chances": [ + 0.1, + 0.14285715, + 0.25, + 1.0 + ] + } + ] + }, + { + "type": "minecraft:item", + "name": "tfg:rock/gravel_mars" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_mercury.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_mercury.json new file mode 100644 index 000000000..626a1e252 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_mercury.json @@ -0,0 +1,70 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "tfg:rock/gravel_mercury", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ] + }, + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "minecraft:flint", + "conditions": [ + { + "condition": "minecraft:table_bonus", + "enchantment": "minecraft:fortune", + "chances": [ + 0.1, + 0.14285715, + 0.25, + 1.0 + ] + } + ] + }, + { + "type": "minecraft:item", + "name": "tfg:rock/gravel_mercury" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_moon.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_moon.json new file mode 100644 index 000000000..09d2e998b --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_moon.json @@ -0,0 +1,70 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "tfg:rock/gravel_moon", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ] + }, + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "minecraft:flint", + "conditions": [ + { + "condition": "minecraft:table_bonus", + "enchantment": "minecraft:fortune", + "chances": [ + 0.1, + 0.14285715, + 0.25, + 1.0 + ] + } + ] + }, + { + "type": "minecraft:item", + "name": "tfg:rock/gravel_moon" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_moon_deepslate.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_moon_deepslate.json new file mode 100644 index 000000000..7e1bf9b63 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_moon_deepslate.json @@ -0,0 +1,70 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "tfg:rock/gravel_moon_deepslate", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ] + }, + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "minecraft:flint", + "conditions": [ + { + "condition": "minecraft:table_bonus", + "enchantment": "minecraft:fortune", + "chances": [ + 0.1, + 0.14285715, + 0.25, + 1.0 + ] + } + ] + }, + { + "type": "minecraft:item", + "name": "tfg:rock/gravel_moon_deepslate" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_permafrost.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_permafrost.json new file mode 100644 index 000000000..5267f98d6 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_permafrost.json @@ -0,0 +1,70 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "tfg:rock/gravel_permafrost", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ] + }, + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "minecraft:flint", + "conditions": [ + { + "condition": "minecraft:table_bonus", + "enchantment": "minecraft:fortune", + "chances": [ + 0.1, + 0.14285715, + 0.25, + 1.0 + ] + } + ] + }, + { + "type": "minecraft:item", + "name": "tfg:rock/gravel_permafrost" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_red_granite.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_red_granite.json new file mode 100644 index 000000000..c4a8d619a --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_red_granite.json @@ -0,0 +1,70 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "tfg:rock/gravel_red_granite", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ] + }, + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "minecraft:flint", + "conditions": [ + { + "condition": "minecraft:table_bonus", + "enchantment": "minecraft:fortune", + "chances": [ + 0.1, + 0.14285715, + 0.25, + 1.0 + ] + } + ] + }, + { + "type": "minecraft:item", + "name": "tfg:rock/gravel_red_granite" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_venus.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_venus.json new file mode 100644 index 000000000..a4800b69a --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_venus.json @@ -0,0 +1,70 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "tfg:rock/gravel_venus", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ] + }, + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "minecraft:flint", + "conditions": [ + { + "condition": "minecraft:table_bonus", + "enchantment": "minecraft:fortune", + "chances": [ + 0.1, + 0.14285715, + 0.25, + 1.0 + ] + } + ] + }, + { + "type": "minecraft:item", + "name": "tfg:rock/gravel_venus" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/pillar_moon_deepslate.json b/kubejs/data/tfg/loot_tables/blocks/rock/pillar_moon_deepslate.json new file mode 100644 index 000000000..836bf83b3 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/rock/pillar_moon_deepslate.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:rock/pillar_moon_deepslate" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/polished_crackrack.json b/kubejs/data/tfg/loot_tables/blocks/rock/polished_crackrack.json new file mode 100644 index 000000000..f0e37b50f --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/rock/polished_crackrack.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:rock/polished_crackrack" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/polished_moon_deepslate.json b/kubejs/data/tfg/loot_tables/blocks/rock/polished_moon_deepslate.json new file mode 100644 index 000000000..7489475e3 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/rock/polished_moon_deepslate.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:rock/polished_moon_deepslate" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/loot.js b/kubejs/server_scripts/gregtech/loot.js index 4769360d6..70f787b9c 100644 --- a/kubejs/server_scripts/gregtech/loot.js +++ b/kubejs/server_scripts/gregtech/loot.js @@ -22,8 +22,9 @@ const STONE_TYPES_TO_COBBLE = { andesite: 'tfc:rock/cobble/andesite', granite: 'tfc:rock/cobble/granite', deepslate: 'minecraft:cobbled_deepslate', - pyroxenite: 'minecraft:blackstone', - dripstone: 'minecraft:dripstone_block', + pyroxenite: 'tfg:rock/cobble_blackstone', + dripstone: 'tfg:block/rock/cobble_dripstone', + keratophyre: 'tfg:block/rock/cobble_crackrack', moon_stone: 'ad_astra:moon_cobblestone', moon_deepslate: 'ad_astra:moon_sand', mars_stone: 'ad_astra:mars_cobblestone', @@ -36,103 +37,6 @@ const STONE_TYPES_TO_COBBLE = { const registerGTCEULoots = (event) => { // Have to define these here because normal loot table jsons don't support checking for hammers - event.addBlockLootModifier('minecraft:deepslate') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('minecraft:cobbled_deepslate') - - event.addBlockLootModifier('minecraft:blackstone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('tfc:sand/black') - - event.addBlockLootModifier('minecraft:dripstone_block') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('tfc:sand/brown') - - event.addBlockLootModifier('tfg:rock/hardened_blackstone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('tfc:sand/black') - - event.addBlockLootModifier('tfg:rock/hardened_deepslate') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('minecraft:cobbled_deepslate') - - event.addBlockLootModifier('tfg:rock/hardened_dripstone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('tfc:sand/brown') - - event.addBlockLootModifier('minecraft:gilded_blackstone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addSequenceLoot( - LootEntry.of('tfc:sand/black'), - LootEntry.of('tfc:powder/native_gold') - ) - - event.addBlockLootModifier('beneath:crackrack') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('tfc:sand/pink') - - event.addBlockLootModifier('ad_astra:moon_stone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('ad_astra:moon_cobblestone') - - event.addBlockLootModifier('ad_astra:moon_cobblestone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('ad_astra:moon_sand') - - event.addBlockLootModifier('ad_astra:moon_deepslate') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('ad_astra:moon_sand') - - event.addBlockLootModifier('ad_astra:mars_stone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('ad_astra:mars_cobblestone') - - event.addBlockLootModifier('ad_astra:mars_cobblestone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('ad_astra:mars_sand') - - event.addBlockLootModifier('ad_astra:venus_stone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('ad_astra:venus_cobblestone') - - event.addBlockLootModifier('ad_astra:venus_cobblestone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('ad_astra:venus_sand') - - event.addBlockLootModifier('ad_astra:mercury_stone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('ad_astra:mercury_cobblestone') - - event.addBlockLootModifier('ad_astra:mercury_cobblestone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('tfc:sand/red') - - event.addBlockLootModifier('ad_astra:glacio_stone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('ad_astra:glacio_cobblestone') - - event.addBlockLootModifier('ad_astra:glacio_cobblestone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('tfc:sand/white') // Crush raw rock into cobble global.TFC_STONE_TYPES.forEach(stoneType => { @@ -142,6 +46,22 @@ const registerGTCEULoots = (event) => { .addLoot(STONE_TYPES_TO_COBBLE[stoneType]); }) + // Defined in kubejs/startup_scripts/tfg/constants.js + global.HAMMERING.forEach(x => { + event.addBlockLootModifier(x.raw) + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot(x.hammered) + }) + + event.addBlockLootModifier('minecraft:gilded_blackstone') + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addSequenceLoot( + LootEntry.of('tfg:rock/cobble_blackstone'), + LootEntry.of('tfc:powder/native_gold') + ) + // Go through all materials forEachMaterial(material => { if (material.hasProperty(PropertyKey.ORE)) { diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index b668b69c1..4be69d99c 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -666,6 +666,16 @@ function removeGTCEURecipes(event) { event.remove({ id: 'gtceu:forming_press/form_purpur_slab_into_pillar' }) event.remove({ id: 'gtceu:rock_breaker/red_granite' }) + event.remove({ id: 'gtceu:laser_engraver/engrave_red_granite_bricks' }) + event.remove({ id: 'gtceu:laser_extruder/extrude_red_granite_bricks' }) + event.remove({ id: 'gtceu:laser_engraver/engrave_red_granite_tile' }) + event.remove({ id: 'gtceu:laser_engraver/gtceu_red_granite_tile' }) + event.remove({ id: 'gtceu:laser_engraver/engrave_red_granite_small_tile' }) + event.remove({ id: 'gtceu:laser_engraver/engrave_red_granite_windmill_a' }) + event.remove({ id: 'gtceu:laser_engraver/engrave_red_granite_windmill_b' }) + event.remove({ id: 'gtceu:laser_engraver/engrave_small_red_granite_bricks' }) + event.remove({ id: 'gtceu:laser_engraver/engrave_square_red_granite_bricks' }) + event.remove({ id: 'gtceu:laser_engraver/engrave_chiseled_red_granite' }) event.remove({ id: 'gtceu:lathe/stone_rod_from_cobblestone' }) diff --git a/kubejs/server_scripts/tfg/recipes.collapse.js b/kubejs/server_scripts/tfg/recipes.collapse.js index 4d2de6a9c..62e039d47 100644 --- a/kubejs/server_scripts/tfg/recipes.collapse.js +++ b/kubejs/server_scripts/tfg/recipes.collapse.js @@ -9,18 +9,28 @@ function registerTFGCollapseRecipes(event) { // #region Nether event.recipes.tfc.collapse('minecraft:cobbled_deepslate', 'minecraft:deepslate') event.recipes.tfc.collapse('minecraft:cobbled_deepslate', 'tfg:rock/hardened_deepslate') - event.recipes.tfc.collapse('minecraft:blackstone', 'minecraft:blackstone') - event.recipes.tfc.collapse('minecraft:blackstone', 'tfg:rock/hardened_blackstone') - event.recipes.tfc.collapse('minecraft:dripstone_block', 'minecraft:dripstone_block') - event.recipes.tfc.collapse('minecraft:dripstone_block', 'tfg:rock/hardened_dripstone') - + event.recipes.tfc.collapse('tfg:rock/cobble_blackstone', 'minecraft:blackstone') + event.recipes.tfc.collapse('tfg:rock/cobble_blackstone', 'tfg:rock/hardened_blackstone') + event.recipes.tfc.collapse('tfg:rock/cobble_dripstone', 'minecraft:dripstone_block') + event.recipes.tfc.collapse('tfg:rock/cobble_dripstone', 'tfg:rock/hardened_dripstone') + event.recipes.tfc.collapse('tfg:rock/cobble_crackrack', 'beneath:crackrack') event.recipes.tfc.collapse('tfc:rock/cobble/basalt', 'minecraft:basalt') + event.recipes.tfc.collapse('minecraft:cobbled_deepslate', '#forge:ores_in_ground/deepslate') - event.recipes.tfc.collapse('minecraft:blackstone', '#forge:ores_in_ground/pyroxenite') - event.recipes.tfc.collapse('minecraft:dripstone_block', '#forge:ores_in_ground/dripstone') + event.recipes.tfc.collapse('tfg:rock/cobble_blackstone', '#forge:ores_in_ground/pyroxenite') + event.recipes.tfc.collapse('tfg:rock/cobble_dripstone', '#forge:ores_in_ground/dripstone') event.recipes.tfc.landslide('tfg:ash_pile', 'tfg:ash_pile') event.recipes.tfc.landslide('minecraft:cobbled_deepslate', 'minecraft:cobbled_deepslate') + event.recipes.tfc.landslide('tfg:rock/cobble_blackstone', 'tfg:rock/cobble_blackstone') + event.recipes.tfc.landslide('tfg:rock/cobble_dripstone', 'tfg:rock/cobble_dripstone') + event.recipes.tfc.landslide('tfg:rock/cobble_crackrack', 'tfg:rock/cobble_crackrack') + + event.recipes.tfc.landslide('tfg:rock/gravel_deepslate', 'tfg:rock/gravel_deepslate') + event.recipes.tfc.landslide('tfg:rock/gravel_blackstone', 'tfg:rock/gravel_blackstone') + event.recipes.tfc.landslide('tfg:rock/gravel_dripstone', 'tfg:rock/gravel_dripstone') + event.recipes.tfc.landslide('tfg:rock/gravel_crackrack', 'tfg:rock/gravel_crackrack') + // #endregion Nether // #region Space @@ -28,44 +38,59 @@ function registerTFGCollapseRecipes(event) { event.recipes.tfc.collapse('ad_astra:moon_cobblestone', 'tfg:rock/hardened_moon_stone') event.recipes.tfc.landslide('ad_astra:moon_cobblestone', 'ad_astra:moon_cobblestone') event.recipes.tfc.collapse('ad_astra:moon_cobblestone', '#forge:ores_in_ground/moon_stone') - event.recipes.tfc.landslide('ad_astra:moon_sand', 'ad_astra:moon_sand') + event.recipes.tfc.landslide('tfg:rock/gravel_moon', 'tfg:rock/gravel_moon') event.recipes.tfc.collapse('ad_astra:moon_deepslate', 'ad_astra:moon_deepslate') event.recipes.tfc.collapse('ad_astra:moon_deepslate', 'tfg:rock/hardened_moon_deepslate') event.recipes.tfc.collapse('ad_astra:moon_deepslate', '#forge:ores_in_ground/moon_deepslate') + event.recipes.tfc.landslide('tfg:rock/cobble_moon_deepslate', 'tfg:rock/cobble_moon_deepslate') + event.recipes.tfc.landslide('tfg:rock/gravel_moon_deepslate', 'tfg:rock/gravel_moon_deepslate') + + event.recipes.tfc.landslide('ad_astra:moon_sand', 'ad_astra:moon_sand') + + event.recipes.tfc.collapse('ad_astra:glacio_cobblestone', 'ad_astra:glacio_stone') + event.recipes.tfc.collapse('ad_astra:glacio_cobblestone', 'tfg:rock/hardened_glacio_stone') + event.recipes.tfc.landslide('ad_astra:glacio_cobblestone', 'ad_astra:glacio_cobblestone') + event.recipes.tfc.collapse('ad_astra:glacio_cobblestone', '#forge:ores_in_ground/glacio_stone') + event.recipes.tfc.landslide('tfg:rock/gravel_glacio', 'tfg:rock/gravel_glacio') event.recipes.tfc.collapse('ad_astra:mars_cobblestone', 'ad_astra:mars_stone') event.recipes.tfc.collapse('ad_astra:mars_cobblestone', 'tfg:rock/hardened_mars_stone') event.recipes.tfc.landslide('ad_astra:mars_cobblestone', 'ad_astra:mars_cobblestone') event.recipes.tfc.collapse('ad_astra:mars_cobblestone', '#forge:ores_in_ground/mars_stone') + event.recipes.tfc.landslide('tfg:rock/gravel_mars', 'tfg:rock/gravel_mars') event.recipes.tfc.landslide('ad_astra:mars_sand', 'ad_astra:mars_sand') event.recipes.tfc.collapse('ad_astra:venus_cobblestone', 'ad_astra:venus_stone') event.recipes.tfc.collapse('ad_astra:venus_cobblestone', 'tfg:rock/hardened_venus_stone') event.recipes.tfc.landslide('ad_astra:venus_cobblestone', 'ad_astra:venus_cobblestone') event.recipes.tfc.collapse('ad_astra:venus_cobblestone', '#forge:ores_in_ground/venus_stone') + event.recipes.tfc.landslide('tfg:rock/gravel_venus', 'tfg:rock/gravel_venus') event.recipes.tfc.landslide('ad_astra:venus_sand', 'ad_astra:venus_sand') event.recipes.tfc.collapse('ad_astra:mercury_cobblestone', 'ad_astra:mercury_stone') event.recipes.tfc.collapse('ad_astra:mercury_cobblestone', 'tfg:rock/hardened_mercury_stone') event.recipes.tfc.landslide('ad_astra:mercury_cobblestone', 'ad_astra:mercury_cobblestone') event.recipes.tfc.collapse('ad_astra:mercury_cobblestone', '#forge:ores_in_ground/mercury_stone') + event.recipes.tfc.landslide('tfg:rock/gravel_mercury', 'tfg:rock/gravel_mercury') - event.recipes.tfc.collapse('ad_astra:glacio_cobblestone', 'ad_astra:glacio_stone') - event.recipes.tfc.collapse('ad_astra:glacio_cobblestone', 'tfg:rock/hardened_glacio_stone') - event.recipes.tfc.landslide('ad_astra:glacio_cobblestone', 'ad_astra:glacio_cobblestone') - event.recipes.tfc.collapse('ad_astra:glacio_cobblestone', '#forge:ores_in_ground/glacio_stone') + event.recipes.tfc.collapse('tfg:rock/cobble_permafrost', 'ad_astra:permafrost') + event.recipes.tfc.landslide('tfg:rock/cobble_permafrost', 'tfg:rock/cobble_permafrost') + event.recipes.tfc.collapse('tfg:rock/cobble_permafrost', '#forge:ores_in_ground/permafrost') + event.recipes.tfc.landslide('tfg:rock/gravel_permafrost', 'tfg:rock/gravel_permafrost') event.recipes.tfc.landslide('minecraft:red_sand', 'minecraft:red_sand') event.recipes.tfc.landslide('gtceu:red_granite_cobblestone', 'gtceu:red_granite_cobblestone') event.recipes.tfc.collapse('gtceu:red_granite_cobblestone', 'gtceu:red_granite') event.recipes.tfc.collapse('gtceu:red_granite_cobblestone', 'tfg:rock/hardened_red_granite') event.recipes.tfc.collapse('gtceu:red_granite_cobblestone', '#forge:ores_in_ground/red_granite') + event.recipes.tfc.landslide('tfg:rock/gravel_red_granite', 'tfg:rock/gravel_red_granite') event.recipes.tfc.landslide('tfg:grass/mars_dirt', 'tfg:grass/mars_dirt') event.recipes.tfc.landslide('tfg:grass/mars_dirt', 'tfg:grass/amber_mycelium') event.recipes.tfc.landslide('tfg:grass/mars_dirt', 'tfg:grass/rusticus_mycelium') event.recipes.tfc.landslide('tfg:grass/mars_dirt', 'tfg:grass/sangnum_mycelium') + event.recipes.tfc.landslide('tfg:grass/mars_clay_dirt', 'tfg:grass/mars_clay_dirt') event.recipes.tfc.landslide('tfg:grass/mars_clay_dirt', 'tfg:grass/amber_clay_mycelium') event.recipes.tfc.landslide('tfg:grass/mars_clay_dirt', 'tfg:grass/rusticus_clay_mycelium') diff --git a/kubejs/server_scripts/tfg/recipes.rocks.js b/kubejs/server_scripts/tfg/recipes.rocks.js index b850e8dad..4b81426f5 100644 --- a/kubejs/server_scripts/tfg/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/recipes.rocks.js @@ -14,18 +14,24 @@ function registerTFGRockRecipes(event) { { loose: 'tfg:loose/deepslate', block: 'minecraft:cobbled_deepslate' }, { loose: 'beneath:blackstone_pebble', block: 'minecraft:blackstone' }, { loose: 'tfg:brick/deepslate', block: '4x minecraft:deepslate_bricks' }, - { loose: 'tfg:loose/dripstone', block: 'minecraft:dripstone_block' }, + { loose: 'tfg:loose/dripstone', block: 'tfg:rock/cobble_dripstone' }, + { loose: 'tfg:loose/crackrack', block: 'tfg:rock/cobble_crackrack' }, { loose: 'tfg:loose/moon_stone', block: 'ad_astra:moon_cobblestone' }, { loose: 'tfg:brick/moon_stone', block: '4x ad_astra:moon_stone_bricks' }, + { loose: 'tfg:loose/moon_deepslate', block: 'tfg:rock/cobble_moon_deepslate' }, + { loose: 'tfg:brick/moon_deepslate', block: '4x tfg:rock/bricks_moon_deepslate' }, { loose: 'tfg:loose/moon_deepslate', block: 'ad_astra:moon_deepslate' }, { loose: 'tfg:loose/mars_stone', block: 'ad_astra:mars_cobblestone' }, { loose: 'tfg:brick/mars_stone', block: '4x ad_astra:mars_stone_bricks' }, { loose: 'tfg:loose/venus_stone', block: 'ad_astra:venus_cobblestone' }, { loose: 'tfg:brick/venus_stone', block: '4x ad_astra:venus_stone_bricks' }, + { loose: 'tfg:loose/red_granite', block: 'gtceu:red_granite_cobblestone' }, + { loose: 'tfg:brick/red_granite', block: '4x gtceu:red_granite_bricks' }, { loose: 'tfg:loose/mercury_stone', block: 'ad_astra:mercury_cobblestone' }, { loose: 'tfg:brick/mercury_stone', block: '4x ad_astra:mercury_stone_bricks' }, { loose: 'tfg:loose/glacio_stone', block: 'ad_astra:glacio_cobblestone' }, { loose: 'tfg:brick/glacio_stone', block: '4x ad_astra:glacio_stone_bricks' }, + { loose: 'tfg:loose/permafrost', block: 'tfg:rock/cobble_permafrost' }, { loose: 'tfg:brick/permafrost', block: '4x ad_astra:permafrost_bricks' }, { loose: 'minecraft:popped_chorus_fruit', block: '4x minecraft:purpur_block' } ] @@ -49,11 +55,49 @@ function registerTFGRockRecipes(event) { .EUt(2) }) + // Cobble to loose + + const COBBLE_TO_LOOSE = [ + { cobble: 'minecraft:blackstone', loose: 'beneath:blackstone_pebble' }, + { cobble: 'tfg:rock/cobble_dripstone', loose: 'tfg:loose/dripstone' }, + { cobble: 'tfg:rock/cobble_crackrack', loose: 'tfg:loose/crackrack' }, + { cobble: 'tfg:rock/cobble_moon_deepslate', loose: 'tfg:loose/moon_deepslate' }, + { cobble: 'gtceu:red_granite_cobblestone', loose: 'tfg:brick/red_granite' }, + { cobble: 'tfg:rock/cobble_permafrost', loose: 'tfg:loose/permafrost' }, + ] + + COBBLE_TO_LOOSE.forEach(x => { + event.shapeless(`4x ${x.loose}`, [x.cobble]) + }) + + // loose to gravel + + const LOOSE_TO_GRAVEL = [ + { loose: 'tfg:loose/deepslate', gravel: 'tfg:rock/gravel_deepslate' }, + { loose: 'beneath:blackstone_pebble', gravel: 'tfg:rock/gravel_blackstone' }, + { loose: 'tfg:loose/dripstone', gravel: 'tfg:rock/gravel_dripstone' }, + { loose: 'tfg:loose/crackrack', gravel: 'tfg:rock/gravel_crackrack' }, + { loose: 'tfg:loose/moon_stone', gravel: 'tfg:rock/gravel_moon' }, + { loose: 'tfg:loose/moon_deepslate', gravel: 'tfg:rock/gravel_moon_deepslate' }, + { loose: 'tfg:loose/glacio_stone', gravel: 'tfg:rock/gravel_glacio' }, + { loose: 'tfg:loose/mars_stone', gravel: 'tfg:rock/gravel_mars' }, + { loose: 'tfg:loose/venus_stone', gravel: 'tfg:rock/gravel_venus' }, + { loose: 'tfg:loose/mercury_stone', gravel: 'tfg:rock/gravel_mercury' }, + { loose: 'tfg:loose/permafrost', gravel: 'tfg:rock/gravel_permafrost' } + ] + + LOOSE_TO_GRAVEL.forEach(x => { + event.shapeless(x.gravel, [`4x ${x.loose}`]) + event.shapeless(`16x ${x.loose}`, [`4x ${x.gravel}`]) + }) + // loose to bricks const LOOSE_TO_BRICKS = [ { loose: 'tfg:loose/deepslate', brick: 'tfg:brick/deepslate' }, + { loose: 'tfg:loose/crackrack', brick: 'minecraft:nether_brick' }, { loose: 'tfg:loose/moon_stone', brick: 'tfg:brick/moon_stone' }, + { loose: 'tfg:loose/moon_deepslate', brick: 'tfg:brick/moon_deepslate' }, { loose: 'tfg:loose/mars_stone', brick: 'tfg:brick/mars_stone' }, { loose: 'tfg:loose/venus_stone', brick: 'tfg:brick/venus_stone' }, { loose: 'tfg:loose/mercury_stone', brick: 'tfg:brick/mercury_stone' }, @@ -76,35 +120,90 @@ function registerTFGRockRecipes(event) { // raw to polished const RAW_TO_POLISHED = [ + // Beneath { raw: 'minecraft:deepslate', polished: 'minecraft:polished_deepslate' }, - { raw: 'minecraft:blackstone', polished: 'minecraft:polished_blackstone' }, + { raw: 'tfg:rock/hardened_deepslate', polished: 'minecraft:polished_deepslate' }, { raw: 'minecraft:deepslate_bricks', polished: 'minecraft:deepslate_tiles' }, { raw: 'minecraft:deepslate_tiles', polished: 'minecraft:chiseled_deepslate' }, + { raw: 'minecraft:chiseled_deepslate', polished: 'minecraft:deepslate_bricks' }, + + { raw: 'minecraft:blackstone', polished: 'minecraft:polished_blackstone' }, + { raw: 'tfg:rock/hardened_blackstone', polished: 'minecraft:polished_blackstone' }, { raw: 'minecraft:polished_blackstone_bricks', polished: 'minecraft:chiseled_polished_blackstone' }, + { raw: 'minecraft:chiseled_polished_blackstone', polished: 'minecraft:polished_blackstone_bricks' }, + + { raw: 'minecraft:dripstone_block', polished: 'create:polished_cut_dripstone' }, + { raw: 'tfg:rock/hardened_dripstone', polished: 'create:polished_cut_dripstone' }, + { raw: 'create:cut_dripstone_bricks', polished: 'create:small_dripstone_bricks' }, + { raw: 'create:small_dripstone_bricks', polished: 'create:cut_dripstone_bricks' }, + + { raw: 'beneath:crackrack', polished: 'tfg:rock/polished_crackrack' }, + { raw: 'minecraft:basalt', polished: 'minecraft:smooth_basalt' }, { raw: 'minecraft:smooth_basalt', polished: 'minecraft:polished_basalt' }, + + // Moon { raw: 'ad_astra:moon_stone', polished: 'ad_astra:polished_moon_stone' }, + { raw: 'tfg:rock/hardened_moon_stone', polished: 'ad_astra:polished_moon_stone' }, { raw: 'ad_astra:moon_stone_bricks', polished: 'ad_astra:chiseled_moon_stone_bricks' }, + { raw: 'ad_astra:chiseled_moon_stone_bricks', polished: 'ad_astra:moon_stone_bricks' }, + + { raw: 'ad_astra:moon_deepslate', polished: 'tfg:rock/polished_moon_deepslate' }, + { raw: 'tfg:rock/hardened_moon_deepslate', polished: 'tfg:rock/polished_moon_deepslate' }, + { raw: 'tfg:rock/bricks_moon_deepslate', polished: 'tfg:rock/chiseled_bricks_moon_deepslate' }, + { raw: 'tfg:rock/chiseled_bricks_moon_deepslate', polished: 'tfg:rock/bricks_moon_deepslate' }, + + { raw: 'ad_astra:glacio_stone', polished: 'ad_astra:polished_glacio_stone' }, + { raw: 'tfg:rock/hardened_glacio_stone', polished: 'ad_astra:polished_glacio_stone' }, + { raw: 'ad_astra:glacio_stone_bricks', polished: 'ad_astra:chiseled_glacio_stone_bricks' }, + { raw: 'ad_astra:chiseled_glacio_stone_bricks', polished: 'ad_astra:glacio_stone_bricks' }, + + // Mars { raw: 'ad_astra:mars_stone', polished: 'ad_astra:polished_mars_stone' }, + { raw: 'tfg:rock/hardened_mars_stone', polished: 'ad_astra:polished_mars_stone' }, { raw: 'ad_astra:mars_stone_bricks', polished: 'ad_astra:chiseled_mars_stone_bricks' }, + { raw: 'ad_astra:chiseled_mars_stone_bricks', polished: 'ad_astra:mars_stone_bricks' }, + { raw: 'ad_astra:venus_stone', polished: 'ad_astra:polished_venus_stone' }, + { raw: 'tfg:rock/hardened_venus_stone', polished: 'ad_astra:polished_venus_stone' }, { raw: 'ad_astra:venus_stone_bricks', polished: 'ad_astra:chiseled_venus_stone_bricks' }, { raw: 'ad_astra:venus_sandstone', polished: 'ad_astra:venus_sandstone_bricks' }, + { raw: 'ad_astra:venus_sandstone_bricks', polished: 'ad_astra:venus_sandstone' }, + + { raw: 'gtceu:red_granite', polished: 'gtceu:polished_red_granite' }, + { raw: 'tfg:rock/hardened_red_granite', polished: 'gtceu:polished_red_granite' }, + { raw: 'gtceu:red_granite_bricks', polished: 'gtceu:red_granite_tile' }, + { raw: 'gtceu:red_granite_tile', polished: 'gtceu:square_red_granite_bricks' }, + { raw: 'gtceu:square_red_granite_bricks', polished: 'gtceu:red_granite_windmill_a' }, + { raw: 'gtceu:red_granite_windmill_a', polished: 'gtceu:red_granite_windmill_b' }, + { raw: 'gtceu:red_granite_windmill_b', polished: 'gtceu:small_red_granite_bricks' }, + { raw: 'gtceu:small_red_granite_bricks', polished: 'gtceu:red_granite_small_tile' }, + { raw: 'gtceu:red_granite_small_tile', polished: 'gtceu:chiseled_red_granite' }, + { raw: 'gtceu:chiseled_red_granite', polished: 'gtceu:red_granite_bricks' }, + + // Mercury { raw: 'ad_astra:mercury_stone', polished: 'ad_astra:polished_mercury_stone' }, + { raw: 'tfg:rock/hardened_mercury_stone', polished: 'ad_astra:polished_mercury_stone' }, { raw: 'ad_astra:mercury_stone_bricks', polished: 'ad_astra:chiseled_mercury_stone_bricks' }, - { raw: 'ad_astra:glacio_stone', polished: 'ad_astra:polished_glacio_stone' }, - { raw: 'ad_astra:glacio_stone_bricks', polished: 'ad_astra:chiseled_glacio_stone_bricks' }, - { raw: 'ad_astra:conglomerate', polished: 'ad_astra:polished_conglomerate' }, + { raw: 'ad_astra:chiseled_mercury_stone_bricks', polished: 'ad_astra:mercury_stone_bricks' }, + + // Europa { raw: 'ad_astra:permafrost', polished: 'ad_astra:polished_permafrost' }, { raw: 'ad_astra:permafrost_bricks', polished: 'ad_astra:chiseled_permafrost_bricks' }, { raw: 'ad_astra:chiseled_permafrost_bricks', polished: 'ad_astra:permafrost_tiles' }, + { raw: 'ad_astra:permafrost_tiles', polished: 'ad_astra:chiseled_permafrost_bricks' }, + + // Misc { raw: 'ae2:sky_stone_block', polished: 'ae2:smooth_sky_stone_block' }, { raw: 'ae2:smooth_sky_stone_block', polished: 'ae2:sky_stone_brick' }, { raw: 'ae2:sky_stone_brick', polished: 'ae2:sky_stone_small_brick' }, - { raw: 'gtceu:certus_quartz_block', polished: 'ae2:cut_quartz_block' }, + { raw: 'ae2:sky_stone_small_brick', polished: 'ae2:smooth_sky_stone_block' }, + { raw: 'gtceu:certus_quartz_block', polished: 'ae2:cut_quartz_block' } ] RAW_TO_POLISHED.forEach(x => { + event.recipes.tfc.chisel(`${x.polished}`, `${x.raw}`, 'smooth') + event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless( x.polished, [x.raw, '#tfc:chisels'] )) @@ -125,6 +224,49 @@ function registerTFGRockRecipes(event) { //}).id(`tfg:vi/laser/tfg/${x.raw.replace(/:/g, '_')}_to_${x.polished.replace(/:/g, '_')}`) }) + // Stone Cutter Sets + const red_granite_cutter_set = Ingredient.of('#tfg:red_granite_cutter_set').itemIds.toArray().map(String); + red_granite_cutter_set.forEach(block => { + event.stonecutting(block, + Ingredient.of('#tfg:red_granite_cutter_set').subtract(block) + ).id(`tfg:stonecutter/${block.replace(/:/g, "/")}`) + + }) + + const moon_deepslate_cutter_set = Ingredient.of('#tfg:moon_deepslate_cutter_set').itemIds.toArray().map(String); + moon_deepslate_cutter_set.forEach(block => { + event.stonecutting(block, + Ingredient.of('#tfg:moon_deepslate_cutter_set').subtract(block) + ).id(`tfg:stonecutter/${block.replace(/:/g, "/")}`) + + }) + + // pillar shaped recipes + event.shaped( + Item.of('create:deepslate_pillar', 2), [ ' A ', ' A ' ], { A: 'minecraft:polished_deepslate' } + ) + event.shaped( + Item.of('create:layered_deepslate', 2), [ 'AA ' ], { A: 'minecraft:polished_deepslate' } + ) + + event.shaped( + Item.of('create:dripstone_pillar', 2), [ ' A ', ' A ' ], { A: 'create:polished_cut_dripstone' } + ) + event.shaped( + Item.of('create:layered_dripstone', 2), [ 'AA ' ], { A: 'create:polished_cut_dripstone' } + ) + + event.shaped( + Item.of('create:dripstone_pillar', 2), [ ' A ', ' A ' ], { A: 'create:polished_cut_dripstone' } + ) + event.shaped( + Item.of('create:layered_dripstone', 2), [ 'AA ' ], { A: 'create:polished_cut_dripstone' } + ) + + event.shaped( + Item.of('tfg:rock/pillar_moon_deepslate', 2), [ ' A ', ' A ' ], { A: 'tfg:rock/bricks_moon_deepslate' } + ) + // cracked bricks const CRACKING = [ @@ -134,9 +276,12 @@ function registerTFGRockRecipes(event) { { raw: 'ad_astra:mars_stone_bricks', cracked: 'ad_astra:cracked_mars_stone_bricks' }, { raw: 'ad_astra:venus_stone_bricks', cracked: 'ad_astra:cracked_venus_stone_bricks' }, { raw: 'ad_astra:venus_sandstone_bricks', cracked: 'ad_astra:cracked_venus_sandstone_bricks' }, + { raw: 'gtceu:red_granite_bricks', cracked: 'gtceu:cracked_red_granite_bricks' }, { raw: 'ad_astra:mercury_stone_bricks', cracked: 'ad_astra:cracked_mercury_stone_bricks' }, { raw: 'ad_astra:glacio_stone_bricks', cracked: 'ad_astra:cracked_glacio_stone_bricks' }, - { raw: 'ad_astra:permafrost_bricks', cracked: 'ad_astra:cracked_permafrost_bricks' } + { raw: 'ad_astra:permafrost_bricks', cracked: 'ad_astra:cracked_permafrost_bricks' }, + { raw: 'tfg:rock/bricks_moon_deepslate', cracked: 'tfg:rock/cracked_bricks_moon_deepslate' } + ] CRACKING.forEach(x => { @@ -155,8 +300,7 @@ function registerTFGRockRecipes(event) { .id(`greate:pressing/${x.raw}_to_${x.cracked}`.replace(/:/g, '_')) }) - // forge hammer - + // forge hammer / mechanical press const HAMMERING = [ { raw: 'minecraft:deepslate', hammered: 'minecraft:cobbled_deepslate', duration: 10, eu: 16 }, { raw: 'minecraft:cobbled_deepslate', hammered: 'tfc:sand/black', duration: 20*3.5, eu: 2 }, @@ -185,7 +329,8 @@ function registerTFGRockRecipes(event) { { raw: 'ad_astra:permafrost', hammered: '4x gtceu:ice_dust', duration: 20, eu: 2 } ] - HAMMERING.forEach(x => { + // Defined in kubejs/startup_scripts/tfg/constants.js + global.HAMMERING.forEach(x => { event.recipes.gtceu.forge_hammer(`${x.raw}_to_${x.hammered}`.replace(/[: ]/g, '_')) .itemInputs(x.raw) .itemOutputs(x.hammered) @@ -641,7 +786,11 @@ function registerTFGRockRecipes(event) { 'minecraft:deepslate', 'minecraft:cobbled_deepslate', 'minecraft:blackstone', + 'tfg:rock/cobble_blackstone', 'minecraft:dripstone_block', + 'tfg:rock/cobble_dripstone', + 'beneath:crackrack', + 'tfg:rock/cobble_crackrack', 'minecraft:basalt' ] @@ -673,6 +822,13 @@ function registerTFGRockRecipes(event) { .duration(16) .EUt(7) .dimension('ad_astra:moon') + + event.recipes.gtceu.rock_breaker('tfg:moon_deepslate_cobblestone') + .notConsumable('tfg:rock/cobble_moon_deepslate') + .itemOutputs('tfg:rock/cobble_moon_deepslate') + .duration(16) + .EUt(7) + .dimension('ad_astra:moon') event.recipes.gtceu.rock_breaker('tfg:glacio_stone') .notConsumable('ad_astra:glacio_stone') @@ -743,6 +899,21 @@ function registerTFGRockRecipes(event) { .duration(16) .EUt(7) .dimension('ad_astra:mercury') + + event.recipes.gtceu.compressor('tfg:permafrost') + .itemInputs('4x tfg:loose/permafrost') + .itemOutputs('ad_astra:permafrost') + .duration(40*20) + .EUt(2) + .dimension('ad_astra:glacio') + + event.recipes.gtceu.rock_breaker('tfg:permafrost_cobblestone') + .notConsumable('tfg:rock/cobble_permafrost') + .itemOutputs('tfg:rock/cobble_permafrost') + .duration(16) + .EUt(7) + .dimension('ad_astra:glacio') + // #endregion // #region sandstone @@ -752,12 +923,7 @@ function registerTFGRockRecipes(event) { .itemOutputs('ad_astra:venus_sandstone') .duration(40*20) .EUt(2) - - event.recipes.gtceu.compressor('tfg:permafrost') - .itemInputs('4x tfg:loose/permafrost') - .itemOutputs('ad_astra:permafrost') - .duration(40*20) - .EUt(2) + .dimension('ad_astra:mars') // #endregion diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 9fd5f17a4..10c75cd65 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -319,7 +319,372 @@ const registerTFGItemTags = (event) => { event.add('tfg:cannot_launch_in_railgun', 'create_factory_logistics:copper_jar_package_8x8') //#endregion + // #region Nether blocks + + // Deepslate (Migmatite) + const create_deepslate_blocks = Ingredient.of('#create:stone_types/deepslate').itemIds.toArray().map(String); + create_deepslate_blocks.forEach(block => { + event.add('tfc:metamorphic_items', block) + }) + + event.add('tfc:metamorphic_items', 'minecraft:deepslate') + + event.add('tfc:metamorphic_items', 'minecraft:cobbled_deepslate') + + event.add('forge:smooth_stone', 'minecraft:polished_deepslate') + event.add('tfc:metamorphic_items', 'minecraft:polished_deepslate') + event.add('tfc:rock/smooth', 'minecraft:polished_deepslate') + event.add('create:stone_types/deepslate', 'minecraft:polished_deepslate') + + event.add('forge:stone_bricks', 'minecraft:deepslate_bricks') + event.add('tfc:metamorphic_items', 'minecraft:deepslate_bricks') + event.add('tfc:rock/bricks', 'minecraft:deepslate_bricks') + + event.add('forge:stone_bricks', 'minecraft:deepslate_tiles') + event.add('tfc:metamorphic_items', 'minecraft:deepslate_tiles') + event.add('tfc:rock/bricks', 'minecraft:deepslate_tiles') + event.add('tfc:rock/chiseled_bricks', 'minecraft:deepslate_tiles') + + event.add('forge:stone_bricks', 'minecraft:chiseled_deepslate') + event.add('tfc:metamorphic_items', 'minecraft:chiseled_deepslate') + event.add('tfc:rock/bricks', 'minecraft:chiseled_deepslate') + event.add('tfc:rock/chiseled_bricks', 'minecraft:chiseled_deepslate') + + // Blackstone (Pyroxenite) + event.remove('tfc:metamorphic_rock', 'beneath:blackstone_pebble') + event.add('tfc:igneous_intrusive_rock', 'beneath:blackstone_pebble') + event.add('rnr:loose_rock_items', 'beneath:blackstone_pebble') + + event.add('tfc:igneous_intrusive_items', 'beneath:blackstone_brick') + + event.add('forge:stone', 'minecraft:blackstone') + event.add('tfc:igneous_intrusive_items', 'minecraft:blackstone') + + event.add('tfc:igneous_intrusive_items', 'minecraft:gilded_blackstone') + + event.add('forge:smooth_stone', 'minecraft:polished_blackstone') + event.add('tfc:igneous_intrusive_items', 'minecraft:polished_blackstone') + event.add('tfc:rock/smooth', 'minecraft:polished_blackstone') + + event.add('forge:stone_bricks', 'minecraft:polished_blackstone_bricks') + event.add('tfc:igneous_intrusive_items', 'minecraft:polished_blackstone_bricks') + event.add('tfc:rock/bricks', 'minecraft:polished_blackstone_bricks') + + event.add('forge:stone_bricks', 'minecraft:cracked_blackstone_bricks') + event.add('tfc:igneous_intrusive_items', 'minecraft:cracked_blackstone_bricks') + event.add('tfc:rock/bricks', 'minecraft:cracked_blackstone_bricks') + event.add('tfc:rock/cracked_bricks', 'minecraft:cracked_blackstone_bricks') + + event.add('forge:stone_bricks', 'minecraft:polished_blackstone_bricks') + event.add('tfc:igneous_intrusive_items', 'minecraft:polished_blackstone_bricks') + event.add('tfc:rock/bricks', 'minecraft:polished_blackstone_bricks') + + event.add('forge:stone_bricks', 'minecraft:polished_blackstone_bricks') + event.add('tfc:igneous_intrusive_items', 'minecraft:chiseled_polished_blackstone_bricks') + event.add('tfc:rock/bricks', 'minecraft:chiseled_polished_blackstone_bricks') + event.add('tfc:rock/chiseled_bricks', 'minecraft:chiseled_polished_blackstone_bricks') + + event.add('tfc:igneous_intrusive_items', 'minecraft:polished_blackstone_stairs') + event.add('tfg:rock_stairs', 'minecraft:polished_blackstone_stairs') + + event.add('tfc:igneous_intrusive_items', 'minecraft:polished_blackstone_brick_slab') + event.add('tfg:rock_slabs', 'minecraft:polished_blackstone_slab') + + event.add('tfc:igneous_intrusive_items', 'minecraft:polished_blackstone_wall') + event.add('tfg:rock_walls', 'minecraft:polished_blackstone_wall') + + event.add('tfc:igneous_intrusive_items', 'minecraft:polished_blackstone_brick_stairs') + event.add('tfg:brick_stairs', 'minecraft:polished_blackstone_brick_stairs') + + event.add('tfc:igneous_intrusive_items', 'minecraft:polished_blackstone_brick_slab') + event.add('tfg:brick_slabs', 'minecraft:polished_blackstone_brick_slab') + + event.add('tfc:igneous_intrusive_items', 'minecraft:polished_blackstone_brick_wall') + event.add('tfg:brick_walls', 'minecraft:polished_blackstone_brick_wall') + + event.add('tfc:igneous_intrusive_items', 'beneath:blackstone_aqueduct') + + // Dripstone (Travertine) + const create_dripstone_blocks = Ingredient.of('#create:stone_types/dripstone').itemIds.toArray().map(String); + create_dripstone_blocks.forEach(block => { + event.add('tfc:sedimentary_items', block) + }) + + event.add('forge:stone', 'minecraft:dripstone_block') + event.add('tfc:sedimentary_items', 'minecraft:dripstone_block') + + event.add('forge:smooth_stone', 'create:cut_dripstone') + event.add('tfc:sedimentary_items', 'create:cut_dripstone') + event.add('tfc:rock/smooth', 'create:cut_dripstone') + + event.add('forge:stone_bricks', 'create:cut_dripstone_bricks') + event.add('tfc:igneous_intrusive_items', 'create:cut_dripstone_bricks') + event.add('tfc:rock/bricks', 'create:cut_dripstone_bricks') + + event.add('forge:stone_bricks', 'create:small_dripstone_bricks') + event.add('tfc:igneous_intrusive_items', 'create:small_dripstone_bricks') + event.add('tfc:rock/bricks', 'create:small_dripstone_bricks') + event.add('tfc:rock/chiseled_bricks', 'create:small_dripstone_bricks') + + event.add('forge:smooth_stone', 'ad_astra:polished_mars_stone') + event.add('tfc:rock/smooth', 'create:polished_cut_dripstone') + + // Crackrack (Keratophyre) + event.add('forge:stone', 'beneath:crackrack') + event.add('tfc:igneous_intrusive_items', 'beneath:crackrack') + event.add('tfc:igneous_intrusive_items', 'minecraft:nether_brick') + + event.add('forge:stone_bricks', 'minecraft:nether_bricks') + event.add('tfc:igneous_intrusive_items', 'minecraft:nether_bricks') + event.add('tfc:rock/bricks', 'minecraft:nether_bricks') + + // Basalt + event.add('forge:stone', 'minecraft:basalt') + event.add('tfc:igneous_extrusive_items', 'minecraft:basalt') + + event.add('forge:smooth_stone', 'minecraft:smooth_basalt') + event.add('tfc:igneous_extrusive_items', 'minecraft:smooth_basalt') + event.add('tfc:rock/smooth', 'minecraft:smooth_basalt') + + event.add('forge:smooth_stone', 'minecraft:polished_basalt') + event.add('tfc:igneous_extrusive_items', 'minecraft:polished_basalt') + event.add('tfc:rock/smooth', 'minecraft:polished_basalt') + // #endregion + // #region Space blocks + // Moon Stone (Anorthosite) + event.add('forge:stone', 'ad_astra:moon_stone') + event.add('tfc:igneous_intrusive_items', 'ad_astra:moon_stone') + + event.add('forge:cobblestone', 'ad_astra:moon_stone') + event.add('forge:cobblestone/normal', 'ad_astra:moon_stone') + event.add('tfc:igneous_intrusive_items', 'ad_astra:moon_cobblestone') + + event.add('forge:smooth_stone', 'ad_astra:polished_moon_stone') + event.add('tfc:igneous_intrusive_items', 'ad_astra:polished_moon_stone') + event.add('tfc:rock/smooth', 'ad_astra:polished_moon_stone') + + event.add('forge:stone_bricks', 'ad_astra:moon_stone_bricks') + event.add('tfc:igneous_intrusive_items', 'ad_astra:moon_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:moon_stone_bricks') + + event.add('forge:stone_bricks', 'ad_astra:cracked_moon_stone_bricks') + event.add('tfc:igneous_intrusive_items', 'ad_astra:cracked_moon_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:cracked_moon_stone_bricks') + event.add('tfc:rock/cracked_bricks', 'ad_astra:cracked_moon_stone_bricks') + + event.add('forge:stone_bricks', 'ad_astra:chiseled_moon_stone_bricks') + event.add('tfc:igneous_intrusive_items', 'ad_astra:chiseled_moon_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:chiseled_moon_stone_bricks') + event.add('tfc:rock/chiseled_bricks', 'ad_astra:chiseled_moon_stone_bricks') + + event.add('tfc:igneous_intrusive_items', 'ad_astra:moon_pillar') + + + // Moon Deepslate (Norite) + event.add('forge:stone', 'ad_astra:moon_deepslate') + event.add('tfc:igneous_intrusive_items', 'ad_astra:moon_deepslate') + + // Glacio Stone (Phonolite) + event.add('forge:stone', 'ad_astra:glacio_stone') + event.add('tfc:igneous_intrusive_items', 'ad_astra:glacio_stone') + + event.add('forge:cobblestone', 'ad_astra:glacio_cobblestone') + event.add('forge:cobblestone/normal', 'ad_astra:glacio_cobblestone') + event.add('tfc:igneous_intrusive_items', 'ad_astra:glacio_cobblestone') + + event.add('forge:smooth_stone', 'ad_astra:polished_glacio_stone') + event.add('tfc:igneous_intrusive_items', 'ad_astra:polished_glacio_stone') + event.add('tfc:rock/smooth', 'ad_astra:polished_glacio_stone') + + event.add('forge:stone_bricks', 'ad_astra:glacio_stone_bricks') + event.add('tfc:igneous_intrusive_items', 'ad_astra:glacio_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:glacio_stone_bricks') + + event.add('forge:stone_bricks', 'ad_astra:cracked_glacio_stone_bricks') + event.add('tfc:igneous_intrusive_items', 'ad_astra:cracked_glacio_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:cracked_glacio_stone_bricks') + event.add('tfc:rock/cracked_bricks', 'ad_astra:cracked_glacio_stone_bricks') + + event.add('forge:stone_bricks', 'ad_astra:chiseled_glacio_stone_bricks') + event.add('tfc:igneous_intrusive_items', 'ad_astra:chiseled_glacio_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:chiseled_glacio_stone_bricks') + event.add('tfc:rock/chiseled_bricks', 'ad_astra:chiseled_glacio_stone_bricks') + + // Mars Stone (Argillite) + event.add('forge:stone', 'ad_astra:mars_stone') + event.add('tfc:sedimentary_items', 'ad_astra:mars_stone') + + event.add('forge:cobblestone', 'ad_astra:mars_cobblestone') + event.add('forge:cobblestone/normal', 'ad_astra:mars_cobblestone') + event.add('tfc:sedimentary_items', 'ad_astra:mars_cobblestone') + + event.add('forge:smooth_stone', 'ad_astra:polished_mars_stone') + event.add('tfc:sedimentary_items', 'ad_astra:polished_mars_stone') + event.add('tfc:rock/smooth', 'ad_astra:polished_mars_stone') + + event.add('forge:stone_bricks', 'ad_astra:mars_stone_bricks') + event.add('tfc:sedimentary_items', 'ad_astra:mars_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:mars_stone_bricks') + + event.add('forge:stone_bricks', 'ad_astra:cracked_mars_stone_bricks') + event.add('tfc:sedimentary_items', 'ad_astra:cracked_mars_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:cracked_mars_stone_bricks') + event.add('tfc:rock/cracked_bricks', 'ad_astra:cracked_mars_stone_bricks') + + event.add('forge:stone_bricks', 'ad_astra:chiseled_mars_stone_bricks') + event.add('tfc:sedimentary_items', 'ad_astra:chiseled_mars_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:chiseled_mars_stone_bricks') + event.add('tfc:rock/chiseled_bricks', 'ad_astra:chiseled_mars_stone_bricks') + + // Venus Stone (Trachyte) + event.add('forge:stone', 'ad_astra:venus_stone') + event.add('tfc:igneous_extrusive_items', 'ad_astra:venus_stone') + + event.add('forge:cobblestone', 'ad_astra:venus_cobblestone') + event.add('forge:cobblestone/normal', 'ad_astra:venus_cobblestone') + event.add('tfc:igneous_extrusive_items', 'ad_astra:venus_cobblestone') + + event.add('forge:smooth_stone', 'ad_astra:polished_venus_stone') + event.add('tfc:igneous_extrusive_items', 'ad_astra:polished_venus_stone') + event.add('tfc:rock/smooth', 'ad_astra:polished_venus_stone') + + event.add('forge:stone_bricks', 'ad_astra:venus_stone_bricks') + event.add('tfc:igneous_extrusive_items', 'ad_astra:venus_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:venus_stone_bricks') + + event.add('forge:stone_bricks', 'ad_astra:cracked_venus_stone_bricks') + event.add('tfc:igneous_extrusive_items', 'ad_astra:cracked_venus_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:cracked_venus_stone_bricks') + event.add('tfc:rock/cracked_bricks', 'ad_astra:cracked_venus_stone_bricks') + + event.add('forge:stone_bricks', 'ad_astra:chiseled_venus_stone_bricks') + event.add('tfc:igneous_extrusive_items', 'ad_astra:chiseled_venus_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:chiseled_venus_stone_bricks') + event.add('tfc:rock/chiseled_bricks', 'ad_astra:chiseled_venus_stone_bricks') + + // Red Granite + event.add('forge:stone', 'gtceu:red_granite') + event.add('tfc:igneous_intrusive_items', 'gtceu:red_granite') + + event.add('forge:cobblestone', 'gtceu:red_granite_cobblestone') + event.add('forge:cobblestone/normal', 'gtceu:red_granite_cobblestone') + event.add('tfc:igneous_intrusive_items', 'gtceu:red_granite_cobblestone') + + event.add('forge:cobblestone', 'gtceu:mossy_red_granite_cobblestone') + event.add('forge:cobblestone/normal', 'gtceu:mossy_red_granite_cobblestone') + event.add('tfc:igneous_intrusive_items', 'gtceu:mossy_red_granite_cobblestone') + + event.add('forge:smooth_stone', 'gtceu:polished_red_granite') + event.add('tfc:igneous_intrusive_items', 'gtceu:polished_red_granite') + event.add('tfc:rock/smooth', 'gtceu:polished_red_granite') + + event.add('forge:stone_bricks', 'gtceu:red_granite_bricks') + event.add('tfc:igneous_intrusive_items', 'gtceu:red_granite_bricks') + event.add('tfc:rock/bricks', 'gtceu:red_granite_bricks') + event.add('tfg:red_granite_cutter_set', 'gtceu:red_granite_bricks') + + event.add('forge:stone_bricks', 'gtceu:mossy_red_granite_bricks') + event.add('tfc:igneous_intrusive_items', 'gtceu:mossy_red_granite_bricks') + event.add('tfc:rock/bricks', 'gtceu:mossy_red_granite_bricks') + event.add('tfc:rock/mossy_bricks', 'gtceu:mossy_red_granite_bricks') + + event.add('forge:stone_bricks', 'gtceu:cracked_red_granite_bricks') + event.add('tfc:igneous_intrusive_items', 'gtceu:cracked_red_granite_bricks') + event.add('tfc:rock/bricks', 'gtceu:cracked_red_granite_bricks') + event.add('tfc:rock/cracked_bricks', 'gtceu:cracked_red_granite_bricks') + + event.add('forge:stone_bricks', 'gtceu:red_granite_tile') + event.add('tfc:igneous_intrusive_items', 'gtceu:red_granite_tile') + event.add('tfc:rock/bricks', 'gtceu:red_granite_tile') + event.add('tfc:rock/chiseled_bricks', 'gtceu:red_granite_tile') + event.add('tfg:red_granite_cutter_set', 'gtceu:red_granite_tile') + + event.add('forge:stone_bricks', 'gtceu:square_red_granite_bricks') + event.add('tfc:igneous_intrusive_items', 'gtceu:square_red_granite_bricks') + event.add('tfc:rock/bricks', 'gtceu:square_red_granite_bricks') + event.add('tfc:rock/chiseled_bricks', 'gtceu:square_red_granite_bricks') + event.add('tfg:red_granite_cutter_set', 'gtceu:square_red_granite_bricks') + + event.add('forge:stone_bricks', 'gtceu:red_granite_windmill_a') + event.add('tfc:igneous_intrusive_items', 'gtceu:red_granite_windmill_a') + event.add('tfc:rock/bricks', 'gtceu:red_granite_windmill_a') + event.add('tfc:rock/chiseled_bricks', 'gtceu:red_granite_windmill_a') + event.add('tfg:red_granite_cutter_set', 'gtceu:red_granite_windmill_a') + + event.add('forge:stone_bricks', 'gtceu:red_granite_windmill_b') + event.add('tfc:igneous_intrusive_items', 'gtceu:red_granite_windmill_b') + event.add('tfc:rock/bricks', 'gtceu:red_granite_windmill_b') + event.add('tfc:rock/chiseled_bricks', 'gtceu:red_granite_windmill_b') + event.add('tfg:red_granite_cutter_set', 'gtceu:red_granite_windmill_b') + + event.add('forge:stone_bricks', 'gtceu:small_red_granite_bricks') + event.add('tfc:igneous_intrusive_items', 'gtceu:small_red_granite_bricks') + event.add('tfc:rock/bricks', 'gtceu:small_red_granite_bricks') + event.add('tfc:rock/chiseled_bricks', 'gtceu:small_red_granite_bricks') + event.add('tfg:red_granite_cutter_set', 'gtceu:small_red_granite_bricks') + + event.add('forge:stone_bricks', 'gtceu:red_granite_small_tile') + event.add('tfc:igneous_intrusive_items', 'gtceu:red_granite_small_tile') + event.add('tfc:rock/bricks', 'gtceu:red_granite_small_tile') + event.add('tfc:rock/chiseled_bricks', 'gtceu:red_granite_small_tile') + event.add('tfg:red_granite_cutter_set', 'gtceu:red_granite_small_tile') + + event.add('forge:stone_bricks', 'gtceu:chiseled_red_granite') + event.add('tfc:igneous_intrusive_items', 'gtceu:chiseled_red_granite') + event.add('tfc:rock/bricks', 'gtceu:chiseled_red_granite') + event.add('tfc:rock/chiseled_bricks', 'gtceu:chiseled_red_granite') + event.add('tfg:red_granite_cutter_set', 'gtceu:chiseled_red_granite') + + // Mercury Stone (Komatiite) + event.add('forge:stone', 'ad_astra:mercury_stone') + event.add('tfc:igneous_intrusive_items', 'ad_astra:mercury_stone') + + event.add('forge:cobblestone', 'ad_astra:mercury_cobblestone') + event.add('forge:cobblestone/normal', 'ad_astra:mercury_cobblestone') + event.add('tfc:igneous_intrusive_items', 'ad_astra:mercury_cobblestone') + + event.add('forge:smooth_stone', 'ad_astra:polished_mercury_stone') + event.add('tfc:igneous_intrusive_items', 'ad_astra:polished_mercury_stone') + event.add('tfc:rock/smooth', 'ad_astra:polished_mercury_stone') + + event.add('forge:stone_bricks', 'ad_astra:mercury_stone_bricks') + event.add('tfc:igneous_intrusive_items', 'ad_astra:mercury_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:mercury_stone_bricks') + + event.add('forge:stone_bricks', 'ad_astra:cracked_mercury_stone_bricks') + event.add('tfc:igneous_intrusive_items', 'ad_astra:cracked_mercury_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:cracked_mercury_stone_bricks') + event.add('tfc:rock/cracked_bricks', 'ad_astra:cracked_mercury_stone_bricks') + + event.add('forge:stone_bricks', 'ad_astra:chiseled_mercury_stone_bricks') + event.add('tfc:igneous_intrusive_items', 'ad_astra:chiseled_mercury_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:chiseled_mercury_stone_bricks') + event.add('tfc:rock/chiseled_bricks', 'ad_astra:chiseled_mercury_stone_bricks') + + // Permafrost (???) + event.add('forge:stone', 'ad_astra:permafrost') + event.add('tfc:sedimentary_items', 'ad_astra:permafrost') + + event.add('forge:smooth_stone', 'ad_astra:polished_permafrost') + event.add('tfc:sedimentary_items', 'ad_astra:polished_permafrost') + event.add('tfc:rock/smooth', 'ad_astra:polished_permafrost') + + event.add('forge:stone_bricks', 'ad_astra:permafrost_bricks') + event.add('tfc:sedimentary_items', 'ad_astra:permafrost_bricks') + event.add('tfc:rock/bricks', 'ad_astra:permafrost_bricks') + + event.add('forge:stone_bricks', 'ad_astra:cracked_permafrost_bricks') + event.add('tfc:sedimentary_items', 'ad_astra:cracked_permafrost_bricks') + event.add('tfc:rock/bricks', 'ad_astra:cracked_permafrost_bricks') + event.add('tfc:rock/cracked_bricks', 'ad_astra:cracked_permafrost_bricks') + + event.add('forge:stone_bricks', 'ad_astra:chiseled_permafrost_bricks') + event.add('tfc:igneous_intrusive_items', 'ad_astra:chiseled_permafrost_bricks') + event.add('tfc:rock/bricks', 'ad_astra:chiseled_permafrost_bricks') + event.add('tfc:rock/chiseled_bricks', 'ad_astra:chiseled_permafrost_bricks') + + // Dirt event.add('tfg:moon_plants', 'tfg:lunar_roots') event.add('tfg:moon_plants', 'tfg:lunar_sprouts') @@ -333,6 +698,7 @@ const registerTFGItemTags = (event) => { event.add('minecraft:mineable/shovel', 'tfg:grass/amber_mycelium') event.add('minecraft:mineable/shovel', 'tfg:grass/rusticus_mycelium') event.add('minecraft:mineable/shovel', 'tfg:grass/sangnum_mycelium') + // #endregion // Mars stone dust @@ -549,7 +915,7 @@ const registerTFGBlockTags = (event) => { event.add('minecraft:base_stone_nether', 'tfg:rock/hardened_dripstone') event.add('tfc:rock/hardened', 'tfg:rock/hardened_dripstone') // #endregion - + // #region Mars blocks event.add('minecraft:dirt', 'tfg:grass/mars_dirt') event.add('minecraft:dirt', 'tfg:grass/mars_clay_dirt') diff --git a/kubejs/startup_scripts/beneath/constants.js b/kubejs/startup_scripts/beneath/constants.js index 86a0d999d..69fcec829 100644 --- a/kubejs/startup_scripts/beneath/constants.js +++ b/kubejs/startup_scripts/beneath/constants.js @@ -3,6 +3,7 @@ global.BENEATH_DISABLED_ITEMS = [ "beneath:cobblerack", + "beneath:crackrack_rock", "beneath:lost_page", "beneath:ore/slimed_netherrack", "beneath:raw_slime", diff --git a/kubejs/startup_scripts/tfg/blocks.nether.js b/kubejs/startup_scripts/tfg/blocks.nether.js index a63cafe7d..7e2026d03 100644 --- a/kubejs/startup_scripts/tfg/blocks.nether.js +++ b/kubejs/startup_scripts/tfg/blocks.nether.js @@ -2,6 +2,7 @@ function registerTFGNetherBlocks(event) { + // Hardened stones event.create('tfg:rock/hardened_deepslate') .soundType('deepslate') .property(BlockProperties.AXIS) @@ -12,6 +13,7 @@ function registerTFGNetherBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') + .tagBoth('tfc:metamorphic_items') .tagBlock('minecraft:mineable/pickaxe') .mapColor('terracotta_grey') .fullBlock(true) @@ -26,7 +28,8 @@ function registerTFGNetherBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') - .mapColor('terracotta_grey') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('color_black') .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -41,14 +44,17 @@ function registerTFGNetherBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') - .mapColor('terracotta') + .tagBoth('tfc:sedimentary_items') .tagBlock('minecraft:mineable/pickaxe') + .mapColor('terracotta') .fullBlock(true) .opaque(true) + // Spikes event.create('tfg:spike/dripstone_spike', 'tfc:rock_spike') .textureAll('minecraft:block/dripstone_block') .soundType('dripstone_block') + .tagBoth('tfc:sedimentary_items') .hardness(0.8) .resistance(0.8) .requiresTool(true) @@ -57,6 +63,7 @@ function registerTFGNetherBlocks(event) { event.create('tfg:spike/deepslate_spike', 'tfc:rock_spike') .textureAll('minecraft:block/deepslate') .soundType('deepslate') + .tagBoth('tfc:metamorphic_items') .hardness(0.8) .resistance(0.8) .requiresTool(true) @@ -65,11 +72,13 @@ function registerTFGNetherBlocks(event) { event.create('tfg:spike/blackstone_spike', 'tfc:rock_spike') .textureAll('minecraft:block/blackstone') .stoneSoundType() + .tagBoth('tfc:igneous_intrusive_items') .hardness(0.8) .resistance(0.8) .requiresTool(true) .tagBlock('minecraft:mineable/pickaxe') + // Loose rocks event.create('tfg:loose/deepslate', 'tfc:loose_rock') .itemTexture('tfg:item/loose/deepslate') .rockTypeModel('metamorphic') @@ -92,6 +101,117 @@ function registerTFGNetherBlocks(event) { .tagItem('tfc:sedimentary_rock') .tagItem("rnr:loose_rock_items") + event.create('tfg:loose/crackrack', 'tfc:loose_rock') + .itemTexture('tfg:item/loose/crackrack') + .rockTypeModel('igneous_intrusive') + .soundType('basalt') + .translationKey("block.tfg.loose.crackrack") + .tagBlock('tfc:loose_rocks') + .tagItem('tfc:any_knapping') + .tagItem('tfc:rock_knapping') + .tagItem('tfc:igneous_intrusive_rock') + .tagItem("rnr:loose_rock_items") + + // Cobblestones + event.create('tfg:rock/cobble_blackstone') + .soundType('stone') + .model('tfg:block/rock/cobble_blackstone') + .tagBoth('forge:cobblestone') + .tagBoth('forge:cobblestone/normal') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('color_black') + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/cobble_dripstone') + .soundType('dripstone_block') + .model('tfg:block/rock/cobble_dripstone') + .tagBoth('forge:cobblestone') + .tagBoth('forge:cobblestone/normal') + .tagBoth('tfc:sedimentary_items') + .mapColor('terracotta') + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/cobble_crackrack') + .soundType('netherrack') + .model('tfg:block/rock/cobble_crackrack') + .tagBoth('forge:cobblestone') + .tagBoth('forge:cobblestone/normal') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('crimson_stem') + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + // Smooth Stones + + event.create('tfg:rock/polished_crackrack') + .soundType('basalt') + .model('tfg:block/rock/polished_crackrack') + .tagBoth('forge:smooth_stone') + .tagBoth('tfc:igneous_intrusive_items') + .tagBoth('tfc:rock/smooth') + .mapColor('crimson_stem') + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + // Gravels + event.create('tfg:rock/gravel_deepslate') + .soundType('gravel') + .model('tfg:block/rock/gravel_deepslate') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .tagBoth('tfc:metamorphic_items') + .mapColor('terracotta_grey') + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/gravel_blackstone') + .soundType('gravel') + .model('tfg:block/rock/gravel_blackstone') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('color_black') + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/gravel_dripstone') + .soundType('gravel') + .model('tfg:block/rock/gravel_dripstone') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .tagBoth('tfc:sedimentary_items') + .mapColor('terracotta') + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/gravel_crackrack') + .soundType('gravel') + .model('tfg:block/rock/gravel_crackrack') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('crimson_stem') + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + // Plants event.create('tfg:mushroom_roots', 'tfg:decorative_plant') .soundType('nether_wart') .tagItem('tfc:plants') diff --git a/kubejs/startup_scripts/tfg/blocks.space.js b/kubejs/startup_scripts/tfg/blocks.space.js index cfcf8a0cc..efc0014d9 100644 --- a/kubejs/startup_scripts/tfg/blocks.space.js +++ b/kubejs/startup_scripts/tfg/blocks.space.js @@ -51,6 +51,7 @@ function registerTFGSpaceBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') + .tagBoth('tfc:igneous_intrusive_items') .tagBlock('minecraft:mineable/pickaxe') .mapColor('terracotta_cyan') .fullBlock(true) @@ -65,6 +66,7 @@ function registerTFGSpaceBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') + .tagBoth('tfc:igneous_intrusive_items') .tagBlock('minecraft:mineable/pickaxe') .mapColor('terracotta_blue') .fullBlock(true) @@ -280,6 +282,202 @@ function registerTFGSpaceBlocks(event) { .requiresTool(true) .tagBlock('minecraft:mineable/pickaxe') + // Cobblestones + + event.create('tfg:rock/cobble_moon_deepslate') + .soundType('deepslate') + .model('tfg:block/rock/cobble_moon_deepslate') + .tagBoth('forge:cobblestone') + .tagBoth('forge:cobblestone/normal') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('terracotta_blue') + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/cobble_permafrost') + .soundType('stone') + .model('tfg:block/rock/cobble_permafrost') + .tagBoth('forge:cobblestone') + .tagBoth('forge:cobblestone/normal') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('snow') + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + // Gravels + + event.create('tfg:rock/gravel_moon') + .soundType('gravel') + .model('tfg:block/rock/gravel_moon') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('terracotta_cyan') + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/gravel_moon_deepslate') + .soundType('gravel') + .model('tfg:block/rock/gravel_moon_deepslate') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('terracotta_blue') + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/gravel_glacio') + .soundType('gravel') + .model('tfg:block/rock/gravel_glacio') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('terracotta_light_blue') + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/gravel_mars') + .soundType('gravel') + .model('tfg:block/rock/gravel_mars') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('terracotta_orange') + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/gravel_venus') + .soundType('gravel') + .model('tfg:block/rock/gravel_venus') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('terracotta_yellow') + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/gravel_mercury') + .soundType('gravel') + .model('tfg:block/rock/gravel_mercury') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('terracotta_purple') + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/gravel_permafrost') + .soundType('gravel') + .model('tfg:block/rock/gravel_permafrost') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('snow') + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/gravel_red_granite') + .soundType('gravel') + .model('tfg:block/rock/gravel_red_granite') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('terracotta_red') + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + // Smooth Stones + + event.create('tfg:rock/polished_moon_deepslate') + .soundType('deepslate') + .model('tfg:block/rock/polished_moon_deepslate') + .tagBoth('forge:smooth_stone') + .tagBoth('tfc:igneous_intrusive_items') + .tagBoth('tfc:rock/smooth') + .tagBoth('tfg:brick_index') + .mapColor('terracotta_blue') + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + // Decorative + + event.create('tfg:rock/bricks_moon_deepslate') + .soundType('deepslate') + .model('tfg:block/rock/bricks_moon_deepslate') + .tagBoth('minecraft:stone_bricks') + .tagBoth('forge:stone_bricks') + .tagBoth('tfc:rock/bricks') + .tagBoth('tfc:igneous_intrusive_items') + .tagBoth('tfg:brick_index') + .tagBoth('tfg:moon_deepslate_cutter_set') + .mapColor('terracotta_blue') + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/cracked_bricks_moon_deepslate') + .soundType('deepslate') + .model('tfg:block/rock/cracked_bricks_moon_deepslate') + .tagBoth('minecraft:stone_bricks') + .tagBoth('forge:stone_bricks') + .tagBoth('tfc:rock/bricks') + .tagBoth('tfc:rock/cracked_bricks') + .tagBoth('tfc:igneous_intrusive_items') + .tagBoth('tfg:brick_index') + .tagBoth('tfg:moon_deepslate_cutter_set') + .mapColor('terracotta_blue') + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/chiseled_bricks_moon_deepslate') + .soundType('deepslate') + .model('tfg:block/rock/chiseled_bricks_moon_deepslate') + .tagBoth('minecraft:stone_bricks') + .tagBoth('forge:stone_bricks') + .tagBoth('tfc:rock/bricks') + .tagBoth('tfc:rock/chiseled_bricks') + .tagBoth('tfc:igneous_intrusive_items') + .tagBoth('tfg:brick_index') + .tagBoth('tfg:moon_deepslate_cutter_set') + .mapColor('terracotta_blue') + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/pillar_moon_deepslate') + .property(BlockProperties.AXIS) + .placementState(event => event.set(BlockProperties.AXIS, event.clickedFace.axis)) + .soundType('deepslate') + .tagBoth('tfc:igneous_intrusive_items') + .tagBoth('tfg:moon_deepslate_cutter_set') + .mapColor('terracotta_blue') + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + // #region Plants /* diff --git a/kubejs/startup_scripts/tfg/constants.js b/kubejs/startup_scripts/tfg/constants.js index 4a7f24965..808e98b57 100644 --- a/kubejs/startup_scripts/tfg/constants.js +++ b/kubejs/startup_scripts/tfg/constants.js @@ -167,6 +167,83 @@ global.FOOD_FRUIT = [ {name: 'shadow_berry', id: 'betterend:shadow_berry_cooked', saturation: 1, water: 5, fruit: 1.5, decay: 2 } ]; +/** @type {Hammering[]} */ +global.HAMMERING = [ + // Beneath + { raw: 'minecraft:deepslate', hammered: 'minecraft:cobbled_deepslate', duration: 10, eu: 16 }, + { raw: 'tfg:rock/hardened_deepslate', hammered: 'minecraft:cobbled_deepslate', duration: 10, eu: 16 }, + { raw: 'minecraft:cobbled_deepslate', hammered: 'tfg:rock/gravel_deepslate', duration: 10, eu: 16 }, + { raw: 'tfg:rock/gravel_deepslate', hammered: 'tfc:sand/black', duration: 70, eu: 2 }, + + { raw: 'minecraft:blackstone', hammered: 'tfg:rock/cobble_blackstone', duration: 10, eu: 16 }, + { raw: 'tfg:rock/hardened_blackstone', hammered: 'tfg:rock/cobble_blackstone', duration: 10, eu: 16 }, + { raw: 'tfg:rock/cobble_blackstone', hammered: 'tfg:rock/gravel_blackstone', duration: 10, eu: 16 }, + { raw: 'tfg:rock/gravel_blackstone', hammered: 'tfc:sand/black', duration: 70, eu: 2 }, + + { raw: 'minecraft:dripstone_block', hammered: 'tfg:rock/cobble_dripstone', duration: 10, eu: 16 }, + { raw: 'tfg:rock/hardened_dripstone', hammered: 'tfg:rock/cobble_dripstone', duration: 10, eu: 16 }, + { raw: 'tfg:rock/cobble_dripstone', hammered: 'tfg:rock/gravel_dripstone', duration: 10, eu: 16 }, + { raw: 'tfg:rock/gravel_dripstone', hammered: 'tfc:sand/brown', duration: 70, eu: 2 }, + + { raw: 'beneath:crackrack', hammered: 'tfg:rock/cobble_crackrack', duration: 10, eu: 16 }, + { raw: 'tfg:rock/cobble_crackrack', hammered: 'tfg:rock/gravel_crackrack', duration: 10, eu: 16 }, + { raw: 'tfg:rock/gravel_crackrack', hammered: 'tfc:sand/pink', duration: 70, eu: 2 }, + + { raw: 'minecraft:basalt', hammered: 'tfc:rock/cobble/basalt', duration: 10, eu: 16 }, + + // Moon + { raw: 'ad_astra:moon_stone', hammered: 'ad_astra:moon_cobblestone', duration: 10, eu: 16 }, + { raw: 'tfg:rock/hardened_moon_stone', hammered: 'ad_astra:moon_cobblestone', duration: 10, eu: 16 }, + { raw: 'ad_astra:moon_cobblestone', hammered: 'tfg:rock/gravel_moon', duration: 10, eu: 16 }, + { raw: 'tfg:rock/gravel_moon', hammered: 'ad_astra:moon_sand', duration: 70, eu: 2 }, + + { raw: 'ad_astra:moon_deepslate', hammered: 'tfg:rock/cobble_moon_deepslate', duration: 10, eu: 16 }, + { raw: 'ad_astra:hardened_moon_deepslate', hammered: 'tfg:rock/cobble_moon_deepslate', duration: 10, eu: 16 }, + { raw: 'tfg:rock/cobble_moon_deepslate', hammered: 'tfg:rock/gravel_moon_deepslate', duration: 10, eu: 16 }, + { raw: 'tfg:rock/gravel_moon_deepslate', hammered: 'ad_astra:moon_sand', duration: 10, eu: 16 }, + + { raw: 'ad_astra:glacio_stone', hammered: 'ad_astra:glacio_cobblestone', duration: 10, eu: 16 }, + { raw: 'tfg:rock/hardened_glacio_stone', hammered: 'ad_astra:glacio_cobblestone', duration: 10, eu: 16 }, + { raw: 'ad_astra:glacio_cobblestone', hammered: 'tfg:rock/gravel_glacio', duration: 10, eu: 16 }, + { raw: 'tfg:rock/gravel_glacio', hammered: 'tfc:sand/white', duration: 70, eu: 2 }, + + // Mars + { raw: 'ad_astra:mars_stone', hammered: 'ad_astra:mars_cobblestone', duration: 10, eu: 16 }, + { raw: 'tfg:rock/hardened_mars_stone', hammered: 'ad_astra:mars_cobblestone', duration: 10, eu: 16 }, + { raw: 'ad_astra:mars_cobblestone', hammered: 'tfg:rock/gravel_mars', duration: 10, eu: 16 }, + { raw: 'tfg:rock/gravel_mars', hammered: 'ad_astra:mars_sand', duration: 70, eu: 2 }, + + { raw: 'minecraft:red_sandstone', hammered: '4x minecraft:red_sand', duration: 10, eu: 16 }, + + { raw: 'gtceu:red_granite', hammered: 'gtceu:red_granite_cobblestone', duration: 10, eu: 16 }, + { raw: 'tfg:rock/hardened_red_granite', hammered: 'gtceu:red_granite_cobblestone', duration: 10, eu: 16 }, + { raw: 'gtceu:red_granite_cobblestone', hammered: 'tfg:rock/gravel_red_granite', duration: 10, eu: 16 }, + { raw: 'tfg:rock/gravel_red_granite', hammered: 'minecraft:red_sand', duration: 70, eu: 2 }, + + // Venus + { raw: 'ad_astra:venus_stone', hammered: 'ad_astra:venus_cobblestone', duration: 10, eu: 16 }, + { raw: 'tfg:rock/hardened_venus_stone', hammered: 'ad_astra:venus_cobblestone', duration: 10, eu: 16 }, + { raw: 'ad_astra:venus_cobblestone', hammered: 'tfg:rock/gravel_mars', duration: 10, eu: 16 }, + { raw: 'tfg:rock/gravel_mars', hammered: 'ad_astra:venus_sand', duration: 70, eu: 2 }, + + { raw: 'ad_astra:venus_sandstone', hammered: '4x ad_astra:venus_sand', duration: 70, eu: 2 }, + + // Mercury + { raw: 'ad_astra:mercury_stone', hammered: 'ad_astra:mercury_cobblestone', duration: 10, eu: 16 }, + { raw: 'tfg:rock/hardened_mercury_stone', hammered: 'ad_astra:mercury_cobblestone', duration: 10, eu: 16 }, + { raw: 'ad_astra:mercury_cobblestone', hammered: 'tfg:rock/gravel_mars', duration: 10, eu: 16 }, + { raw: 'tfg:rock/gravel_mars', hammered: 'tfc:sand/red', duration: 70, eu: 2 }, + + // Europa + { raw: 'ad_astra:permafrost', hammered: 'tfg:rock/cobble_permafrost', duration: 10, eu: 16 }, + { raw: 'tfg:rock/cobble_permafrost', hammered: 'tfg:rock/gravel_permafrost', duration: 10, eu: 16 }, + { raw: 'tfg:rock/gravel_permafrost', hammered: '4x gtceu:ice_dust', duration: 70, eu: 2 }, + + // Misc + { raw: 'ad_astra:conglomerate', hammered: 'tfc:rock/gravel/conglomerate', duration: 10, eu: 16 } + + ] + global.COOLING_FOODS = [ 'firmalife:food/vanilla_ice_cream', 'firmalife:food/chocolate_ice_cream', @@ -185,4 +262,4 @@ global.WARMING_FOODS = [ 'tfc:food/vegetables_soup', 'tfc:food/protein_soup', 'tfc:food/dairy_soup' -]; \ No newline at end of file +]; diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index 32a12587d..8a84d7294 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -86,6 +86,10 @@ const registerTFGItems = (event) => { .translationKey('item.tfg.brick.glacio_stone') event.create('tfg:brick/permafrost') .translationKey('item.tfg.brick.permafrost') + event.create('tfg:brick/red_granite') + .translationKey('item.tfg.red_granite') + event.create('tfg:brick/moon_deepslate') + .translationKey('item.tfg.moon_deepslate') // #endregion // #region Primitive rubber gloves From a6bb8cb730c1729e36c0679427b177829343a852 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 9 Sep 2025 00:52:06 +0100 Subject: [PATCH 03/21] tweaked these loot tables --- .../loot_tables/entities/end_islands_enderman.json | 4 ++++ .../loot_tables/entities/windswept_hills_enderman.json | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/kubejs/data/endermanoverhaul/loot_tables/entities/end_islands_enderman.json b/kubejs/data/endermanoverhaul/loot_tables/entities/end_islands_enderman.json index 7d6f58110..e625b2cc2 100644 --- a/kubejs/data/endermanoverhaul/loot_tables/entities/end_islands_enderman.json +++ b/kubejs/data/endermanoverhaul/loot_tables/entities/end_islands_enderman.json @@ -7,6 +7,10 @@ { "type": "minecraft:item", "name": "endermanoverhaul:ancient_pearl" + }, + { + "type": "minecraft:item", + "name": "endermanoverhaul:soul_pearl" } ], "rolls": 1.0 diff --git a/kubejs/data/endermanoverhaul/loot_tables/entities/windswept_hills_enderman.json b/kubejs/data/endermanoverhaul/loot_tables/entities/windswept_hills_enderman.json index 238199e52..6ffd29930 100644 --- a/kubejs/data/endermanoverhaul/loot_tables/entities/windswept_hills_enderman.json +++ b/kubejs/data/endermanoverhaul/loot_tables/entities/windswept_hills_enderman.json @@ -6,7 +6,7 @@ "entries": [ { "type": "minecraft:item", - "name": "minecraft:ender_pearl" + "name": "endermanoverhaul:corrupted_pearl" }, { "type": "minecraft:item", From 93ef66881e8dc20afb23ff483311e8ed6eb9c8dd Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 9 Sep 2025 01:04:15 +0100 Subject: [PATCH 04/21] increased flint patch rarity --- .../tfg/worldgen/placed_feature/mars/surface/flint_patch.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/data/tfg/worldgen/placed_feature/mars/surface/flint_patch.json b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/flint_patch.json index ac937bdce..612346a45 100644 --- a/kubejs/data/tfg/worldgen/placed_feature/mars/surface/flint_patch.json +++ b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/flint_patch.json @@ -2,8 +2,8 @@ "feature": "tfg:mars/surface/flint_patch", "placement": [ { - "type": "minecraft:count", - "count": 2 + "type": "minecraft:rarity_filter", + "chance": 2 }, { "type": "minecraft:in_square" From 568db164303ad1029db998c45ae6eb90804e6973 Mon Sep 17 00:00:00 2001 From: Redeix Date: Tue, 9 Sep 2025 00:17:04 -0500 Subject: [PATCH 05/21] Dna syringes and stainless steel needle (#1759) Co-authored-by: Pyritie --- .../tfg/models/item/clean_dna_syringe.json | 40 ++++++++++++++++ .../tfg/models/item/dirty_dna_syringe.json | 40 ++++++++++++++++ .../tfg/models/item/filled_dna_syringe.json | 42 +++++++++++++++++ .../textures/item/dna_syringe_background.png | Bin 0 -> 468 bytes .../tfg/textures/item/dna_syringe_base.png | Bin 0 -> 205 bytes .../tfg/textures/item/dna_syringe_clean.png | Bin 0 -> 565 bytes .../tfg/textures/item/dna_syringe_dirty.png | Bin 0 -> 469 bytes .../tfg/textures/item/dna_syringe_empty.png | Bin 0 -> 464 bytes .../tfg/textures/item/dna_syringe_overlay.png | Bin 0 -> 191 bytes .../textures/item/stainless_steel_needle.png | Bin 0 -> 354 bytes kubejs/server_scripts/comforts/recipes.js | 2 +- kubejs/server_scripts/diggerhelmet/recipes.js | 4 +- kubejs/server_scripts/sacksnstuff/recipes.js | 8 ++-- .../server_scripts/tfg/recipes.bioreactor.js | 43 ++++++++++++++++++ kubejs/server_scripts/tfg/tags.js | 5 ++ kubejs/startup_scripts/tfg/items.js | 4 ++ 16 files changed, 181 insertions(+), 7 deletions(-) create mode 100644 kubejs/assets/tfg/models/item/clean_dna_syringe.json create mode 100644 kubejs/assets/tfg/models/item/dirty_dna_syringe.json create mode 100644 kubejs/assets/tfg/models/item/filled_dna_syringe.json create mode 100644 kubejs/assets/tfg/textures/item/dna_syringe_background.png create mode 100644 kubejs/assets/tfg/textures/item/dna_syringe_base.png create mode 100644 kubejs/assets/tfg/textures/item/dna_syringe_clean.png create mode 100644 kubejs/assets/tfg/textures/item/dna_syringe_dirty.png create mode 100644 kubejs/assets/tfg/textures/item/dna_syringe_empty.png create mode 100644 kubejs/assets/tfg/textures/item/dna_syringe_overlay.png create mode 100644 kubejs/assets/tfg/textures/item/stainless_steel_needle.png diff --git a/kubejs/assets/tfg/models/item/clean_dna_syringe.json b/kubejs/assets/tfg/models/item/clean_dna_syringe.json new file mode 100644 index 000000000..c8fb2dd97 --- /dev/null +++ b/kubejs/assets/tfg/models/item/clean_dna_syringe.json @@ -0,0 +1,40 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/dna_syringe_clean" + }, + "display": { + "thirdperson_righthand": { + "rotation": [0, 90, 40], + "translation": [0, 3, 1], + "scale": [0.4, 0.4, 0.4] + }, + "thirdperson_lefthand": { + "rotation": [0, 90, -40], + "translation": [0, 3, 1], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_righthand": { + "rotation": [0, 90, -20], + "translation": [1.13, 3.2, 0.25], + "scale": [0.6, 0.6, 0.6] + }, + "firstperson_lefthand": { + "rotation": [0, -90, 20], + "translation": [1.13, 3.2, 0.25], + "scale": [0.6, 0.6, 0.6] + }, + "ground": { + "translation": [0, 2, 0], + "scale": [0.5, 0.5, 0.5] + }, + "head": { + "rotation": [49, 4, -70], + "translation": [-9.75, -3.25, 1.75], + "scale": [0.4, 0.4, 0.4] + }, + "fixed": { + "rotation": [0, -180, 0] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/dirty_dna_syringe.json b/kubejs/assets/tfg/models/item/dirty_dna_syringe.json new file mode 100644 index 000000000..366dcdcd6 --- /dev/null +++ b/kubejs/assets/tfg/models/item/dirty_dna_syringe.json @@ -0,0 +1,40 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/dna_syringe_dirty" + }, + "display": { + "thirdperson_righthand": { + "rotation": [0, 90, 40], + "translation": [0, 3, 1], + "scale": [0.4, 0.4, 0.4] + }, + "thirdperson_lefthand": { + "rotation": [0, 90, -40], + "translation": [0, 3, 1], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_righthand": { + "rotation": [0, 90, -20], + "translation": [1.13, 3.2, 0.25], + "scale": [0.6, 0.6, 0.6] + }, + "firstperson_lefthand": { + "rotation": [0, -90, 20], + "translation": [1.13, 3.2, 0.25], + "scale": [0.6, 0.6, 0.6] + }, + "ground": { + "translation": [0, 2, 0], + "scale": [0.5, 0.5, 0.5] + }, + "head": { + "rotation": [49, 4, -70], + "translation": [-9.75, -3.25, 1.75], + "scale": [0.4, 0.4, 0.4] + }, + "fixed": { + "rotation": [0, -180, 0] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/filled_dna_syringe.json b/kubejs/assets/tfg/models/item/filled_dna_syringe.json new file mode 100644 index 000000000..75804ad56 --- /dev/null +++ b/kubejs/assets/tfg/models/item/filled_dna_syringe.json @@ -0,0 +1,42 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/dna_syringe_background", + "layer1": "tfg:item/dna_syringe_base", + "layer2": "tfg:item/dna_syringe_overlay" + }, + "display": { + "thirdperson_righthand": { + "rotation": [0, 90, 40], + "translation": [0, 3, 1], + "scale": [0.4, 0.4, 0.4] + }, + "thirdperson_lefthand": { + "rotation": [0, 90, -40], + "translation": [0, 3, 1], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_righthand": { + "rotation": [0, 90, -20], + "translation": [1.13, 3.2, 0.25], + "scale": [0.6, 0.6, 0.6] + }, + "firstperson_lefthand": { + "rotation": [0, -90, 20], + "translation": [1.13, 3.2, 0.25], + "scale": [0.6, 0.6, 0.6] + }, + "ground": { + "translation": [0, 2, 0], + "scale": [0.5, 0.5, 0.5] + }, + "head": { + "rotation": [49, 4, -70], + "translation": [-9.75, -3.25, 1.75], + "scale": [0.4, 0.4, 0.4] + }, + "fixed": { + "rotation": [0, -180, 0] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/item/dna_syringe_background.png b/kubejs/assets/tfg/textures/item/dna_syringe_background.png new file mode 100644 index 0000000000000000000000000000000000000000..423714168fc0743111341d59e4816bed706620be GIT binary patch literal 468 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s79PZ!4!i{81DHm-W)Akwyf;_Ya)4M)Yqelcj~ObWVk=w5@5mi!_14bhh(@9L=> z-FKiPLs*DTnP2+->1mN>!>@0DV%O-$S8ByEhCB}3asU15*I%{vcgOGf^M`Rk!+GH; z1vl9p6;yc|I_|8s=v!(d-|yabcwq-eRQAOvWu@<|c84OTZH!xgG3xZ~zK(*={F77! z?|&CP@UkSyYVN6r1qxkCGtZ`l)|~&m!ZIyV?QPlb;OCd_mfnqGGL`Dh*cw%0CCiv~ zZt}?`Mdv=tod4``dCDz?(%rE=h8BIzsgXrHV?qR2L}gqBE9Ws!Sf+VkcfrN*a?BHZJnWQpND9>!Ri0i^0 z!&BRGw??g9Wq!YjQL16q`RAfM0&R-VKT9U}a2@`j$KxP#JSDR2T9jD#QG4~zVSgES Yob_Yb8>3jsz`(%Z>FVdQ&MBb@04&nc@Bjb+ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/dna_syringe_base.png b/kubejs/assets/tfg/textures/item/dna_syringe_base.png new file mode 100644 index 0000000000000000000000000000000000000000..a14de9b39a323ff22bc157fc504d2cd921022054 GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p+DPZ!4!i{7`BHu4@&;9>C%Teu)y{zw7GGK1zBV#ddpdjuWza+da+Z4U08JY)WM8-KGfUdEhx@psE**c)o>^ym7u8^7kzo406NZZyNWsPHG3zD8eq zS;BC|t10}xOVGy0JO%HMdV4Mny0K07{$b8)d3y#82GjrFw<{JsmRXWif6`9&;P3e# z-egUh%`bns=JPCT{&}l#rU8ac^t`O!@}H}}+v3r2=4 zn9}uXuk*x^9Jh3;%lGP``7WZG4~kmOxn1j=KgVs=G@yBea^e@rX74+wU^JqMlRiIZqUk* zC}V>L!?wEp{0_VCrky-?_ik)qtoYhemmm5CE&;2rs!Tq4A;ZK&MQEbXTGNv$L2H?r zFY-=#y-P)i^N>MERQA%XVPC7}eyrFdX5;U$H7a!TS>vBkuTN|WeXvyekN+RWAU`F+ VLtB-(85kHCJYD@<);T3K0RWC)`|JP! literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/dna_syringe_dirty.png b/kubejs/assets/tfg/textures/item/dna_syringe_dirty.png new file mode 100644 index 0000000000000000000000000000000000000000..baef031595aba3b3ad04ac46571a83a60881ec14 GIT binary patch literal 469 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s7mrxTJpGql zbvOIIgC|`lcso1aYH|*75!mA_lceFOvvHW8dhPpLdH=hOyXEs4UtNyu zoh6#LHR|1`=jL%TAATN|W?!-O&?0SJor21x3|H=WKYUumc;M*%^PPOv3|tRxG6)uG zuMdCx-nu?gPyEM6{e_>Ouak4IRSk5RbNg-=<0O@Zd+QgRUd`Iqziy{*-jq49KIIb* zy`Fu${qVyHA1ls$J+{1jf1lr%+@i_46<;`&9%XHfQg40zwW`!WV#D(3MFn~eE-@mm zc|~Qn?qrx)UAy(_*2_4y(>IScv#z@S`eCKq_t|T=hTi`k`tx-7v-|Z=YF_G2^qBufx*+&&t;ucLK6T_1JsTH literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/dna_syringe_empty.png b/kubejs/assets/tfg/textures/item/dna_syringe_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..df98c59e69f751477ff2f8d57418140db0b98a46 GIT binary patch literal 464 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s6^PZ!4!i{81D?6Z{|C63LvycC&ZE~Xf>k==`9StN(dj))e`H|t6q-~3^iR@d-X zsrj?wG||+DT#2*21yeYeMd&Wutr}sk$@l%rn|q#dGm;+E{yWnzsPgfq;js^|E~Vc8 z?*Fd&V8iOGT#qiXy)B!~aOCXWa6x<*mB#L|`+H>j?dm|i32SUO-|SHlR}sJcwoGwp%JRz#r%dASw|CeyuhFp0 zQ9y?=Vf*dG{r8p67qd8Cu)ebWT9~)`iV70;&0{UWY{ z3=1x1gs5e&-FP#Hfx&aqA5Yu18L5(o4O)U$nf#f)!^Gg&h0iu;o)=s61)BwWExei2 zW%bdJS+Gq}=D1^^h?A!3lpv)prHJh8qv`_7FR!#vk$4Sg T^oTPsFfe$!`njxgN@xNAwSdQV literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/dna_syringe_overlay.png b/kubejs/assets/tfg/textures/item/dna_syringe_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..e2fdb6e7c8608c4abd86f2676c38a029569bd1ec GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p*gPZ!4!i{7`BHu5$Y@UYnX9A(luz%)-UQc-h{$FDbqCL9yl8iO1fRmHFUJ|Azv zAhj~{gsvgij_C`gD0wcKVxs>#l8Z^t`nk@xthI@0bL%qu49n6S-kr-m@Xj`^ynfn) r8p#PWS6;jIwq^VO2kbRW8yKT=&unbew(MnKU|{fc^>bP0l+XkK1x`Vh literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/stainless_steel_needle.png b/kubejs/assets/tfg/textures/item/stainless_steel_needle.png new file mode 100644 index 0000000000000000000000000000000000000000..7af3c9dac219560a32ad07587a2aa85e947a04c1 GIT binary patch literal 354 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nkEPZ!4!i{9iv|Nq-Ft2S^R`|NX+xxtrwr4}hhtKchd1jaAM;{IdyL~btEsN{> z_RdBFfV~`+A8_TG5i9w4xvSwXbY` znS3zqbF=$;$!Yqtn8oeuznL6n)1*s$@^)>Z#@5Ehs~Dd!F??XW%viM1--dyKfx*+&&t;uc GLK6V^wUq?` literal 0 HcmV?d00001 diff --git a/kubejs/server_scripts/comforts/recipes.js b/kubejs/server_scripts/comforts/recipes.js index 563c8820d..981d16f8d 100644 --- a/kubejs/server_scripts/comforts/recipes.js +++ b/kubejs/server_scripts/comforts/recipes.js @@ -13,7 +13,7 @@ const registerComfortsRecipes = (event) => { //sleeping bag event.recipes.tfc.damage_inputs_shapeless_crafting( - event.shapeless("comforts:sleeping_bag_white", [ "3x #tfc:high_quality_cloth", 'tfc:bone_needle' ]) + event.shapeless("comforts:sleeping_bag_white", [ "3x #tfc:high_quality_cloth", '#tfc:sewing_needles' ]) ).id('comforts:shaped/sleeping_bag_white'); event.shaped("comforts:hammock_white", [ diff --git a/kubejs/server_scripts/diggerhelmet/recipes.js b/kubejs/server_scripts/diggerhelmet/recipes.js index b9a9305bd..4b4400559 100644 --- a/kubejs/server_scripts/diggerhelmet/recipes.js +++ b/kubejs/server_scripts/diggerhelmet/recipes.js @@ -47,10 +47,10 @@ function registerDiggerHelmetRecipes(event) { }).id('tfg:shaped/auto_drink_modifier_rubber') event.recipes.tfc.damage_inputs_shapeless_crafting( - event.shapeless('diggerhelmet:silk_lining', ['tfcambiental:silk_cowl', '#forge:string', 'tfc:bone_needle']) + event.shapeless('diggerhelmet:silk_lining', ['tfcambiental:silk_cowl', '#forge:string', '#tfc:sewing_needles']) ).id('tfg:shapeless/diggerhelmet/silk_lining') event.recipes.tfc.damage_inputs_shapeless_crafting( - event.shapeless('diggerhelmet:wool_lining', ['tfcambiental:wool_hat', '#forge:string', 'tfc:bone_needle']) + event.shapeless('diggerhelmet:wool_lining', ['tfcambiental:wool_hat', '#forge:string', '#tfc:sewing_needles']) ).id('tfg:shapeless/diggerhelmet/wool_lining') } \ No newline at end of file diff --git a/kubejs/server_scripts/sacksnstuff/recipes.js b/kubejs/server_scripts/sacksnstuff/recipes.js index 0f71ec058..5bf5ed48a 100644 --- a/kubejs/server_scripts/sacksnstuff/recipes.js +++ b/kubejs/server_scripts/sacksnstuff/recipes.js @@ -64,7 +64,7 @@ const registerSNSRecipes = (event) => { B: 'sns:leather_strip', C: 'sns:unfinished_leather_sack', //D: 'minecraft:name_tag', - E: 'tfc:bone_needle' + E: '#tfc:sewing_needles' } ) ).id('sns:crafting/leather_sack') @@ -79,7 +79,7 @@ const registerSNSRecipes = (event) => { B: 'sns:leather_strip', C: 'sns:unfinished_leather_sack', D: 'minecraft:name_tag', - E: 'tfc:bone_needle' + E: '#tfc:sewing_needles' } ) ).id('sns:crafting/leather_sack_coil')*/ @@ -94,7 +94,7 @@ const registerSNSRecipes = (event) => { B: '#forge:leather', C: 'sns:unfinished_leather_sack', D: 'minecraft:name_tag', - E: 'tfc:bone_needle' + E: '#tfc:sewing_needles' } ) ).id('sns:crafting/ore_sack') @@ -121,7 +121,7 @@ const registerSNSRecipes = (event) => { B: 'sns:reinforced_fabric', C: 'sns:pack_frame', D: 'minecraft:name_tag', - E: 'tfc:bone_needle' + E: '#tfc:sewing_needles' } ) ).id('sns:crafting/frame_pack') diff --git a/kubejs/server_scripts/tfg/recipes.bioreactor.js b/kubejs/server_scripts/tfg/recipes.bioreactor.js index fe5da21c3..e62367aa7 100644 --- a/kubejs/server_scripts/tfg/recipes.bioreactor.js +++ b/kubejs/server_scripts/tfg/recipes.bioreactor.js @@ -189,5 +189,48 @@ function registerTFGBioreactorRecipes(event) { event.shapeless('tfg:casings/bioculture_rotor_primary', [ 'tfg:casings/bioculture_rotor_secondary' ]).id('tfg:shapeless/bioculture_rotor_secondary_to_primary') + + event.replaceInput({input: 'tfc:bone_needle'}, 'tfc:bone_needle', '#tfc:sewing_needles') + + event.recipes.gtceu.wiremill('tfg:stainless_steel_needle') + .itemInputs(ChemicalHelper.get(TagPrefix.pipeNormalFluid, GTMaterials.StainlessSteel, 1)) + .itemOutputs('tfg:stainless_steel_needle') + .duration(2*60*20) + .circuit(4) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.assembler('tfg:empty_dna_syringe') + .itemInputs( + ChemicalHelper.get(TagPrefix.ring, GTMaterials.StyreneButadieneRubber, 2), + ChemicalHelper.get(TagPrefix.pipeNormalFluid, GTMaterials.Polytetrafluoroethylene, 1), + ChemicalHelper.get(TagPrefix.rod, GTMaterials.Polytetrafluoroethylene, 1), + 'tfg:stainless_steel_needle' + ) + .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 288)) + .itemOutputs('tfg:empty_dna_syringe') + .duration(4*60*20) + .circuit(4) + .EUt(GTValues.VA[GTValues.EV]) + .cleanroom(CleanroomType.CLEANROOM) + + event.shapeless('tfg:dirty_dna_syringe', [ + 'tfg:filled_dna_syringe' + ]).id('tfg:shapeless/filled_dna_syringe_emptying') + + event.recipes.gtceu.chemical_bath('tfg:ethanol_cleaning_syringe') + .itemInputs('tfg:dirty_dna_syringe') + .inputFluids(Fluid.of('gtceu:ethanol', 500)) + .itemOutputs('tfg:clean_dna_syringe') + .duration(10*20) + .EUt(GTValues.VA[GTValues.MV]) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.chemical_bath('tfg:hydrogen_peroxide_cleaning_syringe') + .itemInputs('tfg:dirty_dna_syringe') + .inputFluids(Fluid.of('gtceu:hydrogen_peroxide', 200)) + .itemOutputs('tfg:clean_dna_syringe') + .duration(10*20) + .EUt(GTValues.VA[GTValues.MV]) + .cleanroom(CleanroomType.CLEANROOM) //#endregion } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 10c75cd65..034ae3f3a 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -78,6 +78,11 @@ const registerTFGItemTags = (event) => { event.add('tfg:tools/ore_prospectors/blue_steel', 'tfc:metal/propick/blue_steel') event.add('tfg:tools/ore_prospectors/red_steel', 'tfc:metal/propick/red_steel') + event.add('tfg:empty_dna_syringes', 'tfg:empty_dna_syringe') + event.add('tfg:empty_dna_syringes', 'tfg:clean_dna_syringe') + + event.add('tfc:sewing_needles', 'tfg:stainless_steel_needle') + //#endregion // #region Paper from wood diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index 8a84d7294..729dbfeca 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -233,6 +233,10 @@ const registerTFGItems = (event) => { .parentModel('tfg:item/aluminium_harvest_basket') .unstackable() + event.create('tfg:stainless_steel_needle') + .translationKey('item.tfg.stainless_steel_needle') + .unstackable() + //Fishing Nets event.create('tfg:fishing_net/wood') .translationKey('item.tfg.fishing_net.wood') From 2a3a179d48d764824ac454eaa581fbc03dc3625f Mon Sep 17 00:00:00 2001 From: Redeix Date: Tue, 9 Sep 2025 00:34:57 -0500 Subject: [PATCH 06/21] naughty naughty (#1768) --- kubejs/server_scripts/soulbound/recipes.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/soulbound/recipes.js b/kubejs/server_scripts/soulbound/recipes.js index 19f67affa..d68b64f90 100644 --- a/kubejs/server_scripts/soulbound/recipes.js +++ b/kubejs/server_scripts/soulbound/recipes.js @@ -18,7 +18,7 @@ const registerSoulboundRecipes = (event) => { } result.nbt.put('soulbindingSoulboundItems', true) return result; - }).id(`tfg:soulbind_${x.equipment}`); + }).id(`tfg:soulbind_${x.equipment}`.replace(/[: ]/g, '_')); }) From 3661f3c903d50d9464c58ca063b011471628bcf7 Mon Sep 17 00:00:00 2001 From: Redeix Date: Tue, 9 Sep 2025 01:22:30 -0500 Subject: [PATCH 07/21] Update recipes.js (#1772) Signed-off-by: Redeix --- kubejs/server_scripts/sacksnstuff/recipes.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/sacksnstuff/recipes.js b/kubejs/server_scripts/sacksnstuff/recipes.js index 5bf5ed48a..216fdee8c 100644 --- a/kubejs/server_scripts/sacksnstuff/recipes.js +++ b/kubejs/server_scripts/sacksnstuff/recipes.js @@ -239,7 +239,7 @@ const registerSNSRecipes = (event) => { .duration(100) .EUt(GTValues.VA[GTValues.LV]) - generateCutterRecipe(event, '#forge:leather', '4x sns:leather_strip', 80, GTValues.VA[GTValues.LV], 'sns:leather_strip_cut') + generateCutterRecipe(event, '#forge:leather', '4x sns:leather_strip', 80, GTValues.VA[GTValues.LV], 'sns_leather_strip_cut') event.recipes.gtceu.assembler('sns:bound_leather_strip') .itemInputs('2x sns:leather_strip', 'sns:reinforced_fiber') @@ -273,4 +273,4 @@ const registerSNSRecipes = (event) => { .duration(40) .EUt(GTValues.VA[GTValues.LV]) -} \ No newline at end of file +} From 423351a82b2814ef094885fe1ed2da62b7e8ff6d Mon Sep 17 00:00:00 2001 From: Redeix Date: Tue, 9 Sep 2025 01:26:26 -0500 Subject: [PATCH 08/21] Update CHANGELOG.md Signed-off-by: Redeix --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c1c788e86..372076d3b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## [Unreleased] ### Changes ### Bug fixes +- Fixed two instances of illegal lang exceptions causing errors on servers. @Redeix ## [0.10.11] - 08-09-2025 ### Mods From f2aae5356ada4f5bab3066dfb3ef6a1644570167 Mon Sep 17 00:00:00 2001 From: TomPlop Date: Tue, 9 Sep 2025 02:27:14 -0400 Subject: [PATCH 09/21] Fix recipe Ostrum Fab (#1771) Forgot to change the name Signed-off-by: TomPlop --- kubejs/server_scripts/gregtech/recipes.machines.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.machines.js b/kubejs/server_scripts/gregtech/recipes.machines.js index 3dd8dedc7..ecf6b9a88 100644 --- a/kubejs/server_scripts/gregtech/recipes.machines.js +++ b/kubejs/server_scripts/gregtech/recipes.machines.js @@ -1166,10 +1166,10 @@ function registerGTCEuMachineRecipes(event) { // Multiblock - /* LOCKED UNTIL VENUS + /* LOCKED UNTIL MARS event.shaped( - 'gtceu:extraterrestrial_ore_fabricator', + 'gtceu:ostrum_linear_accelerator', [ 'USU', 'WZW', 'PTP'], @@ -1181,7 +1181,7 @@ function registerGTCEuMachineRecipes(event) { T: '#forge:single_cables/platinum', P: 'gtceu:iv_electric_pump' } - ).id('gtceu:shaped/extraterrestrial_ore_fabricator') + ).id('gtceu:shaped/ostrum_linear_accelerator') */ @@ -1305,4 +1305,4 @@ function registerGTCEuMachineRecipes(event) { */ -} \ No newline at end of file +} From ce12b1ca93563bdf35c1c5e7a4714f24a33a2dc0 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Tue, 9 Sep 2025 13:26:26 +0500 Subject: [PATCH 10/21] Update build.yml --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 543503bb4..4b26658de 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -445,6 +445,7 @@ jobs: ${{ steps.format_diff.outputs.text }} files: | ${{ needs.info.outputs.project_full_name }}-curseforge.zip + ${{ needs.info.outputs.project_full_name }}-modrinth.mrpack ${{ needs.info.outputs.project_full_name }}-serverpack.zip ${{ needs.info.outputs.project_full_name }}-multimc.zip prerelease: ${{ needs.info.outputs.release_type != 'release' }} From 93b7518278c5819ed333c7fa1813b8afad47b07a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 9 Sep 2025 11:25:01 +0100 Subject: [PATCH 11/21] merge langs --- kubejs/assets/ad_astra/lang/zh_cn.json | 2 +- kubejs/assets/betterend/lang/zh_cn.json | 12 +- kubejs/assets/gtceu/lang/zh_cn.json | 20 ++-- kubejs/assets/tfg/lang/zh_cn.json | 144 +++++++++++++----------- 4 files changed, 95 insertions(+), 83 deletions(-) diff --git a/kubejs/assets/ad_astra/lang/zh_cn.json b/kubejs/assets/ad_astra/lang/zh_cn.json index 4028a26e9..3e3f9c474 100644 --- a/kubejs/assets/ad_astra/lang/zh_cn.json +++ b/kubejs/assets/ad_astra/lang/zh_cn.json @@ -106,11 +106,11 @@ "block.ad_astra.polished_glacio_stone_slab": "磨制响岩台阶", "block.ad_astra.polished_glacio_stone_stairs": "磨制响岩楼梯", "entity.ad_astra.corrupted_lunarian": "月球僵尸", + "entity.ad_astra.martian_raptor": "骷髅迅猛龙", "entity.ad_astra.tier_1_rocket": "R型铝钢火箭", "entity.ad_astra.tier_2_rocket": "ASM 4914 钛合金火箭", "entity.ad_astra.tier_3_rocket": "45-Ti 钨钢火箭", "entity.ad_astra.tier_1_rover": "漫游车", - "entity.ad_astra.martian_raptor": "骷髅迅猛龙", "fluid_type.ad_astra.oxygen": "可呼吸空气", "item.ad_astra.steel_cable": "基础RF电缆", "item.ad_astra.desh_cable": "高级RF电缆", diff --git a/kubejs/assets/betterend/lang/zh_cn.json b/kubejs/assets/betterend/lang/zh_cn.json index b96247b0e..0c74546da 100644 --- a/kubejs/assets/betterend/lang/zh_cn.json +++ b/kubejs/assets/betterend/lang/zh_cn.json @@ -15,7 +15,9 @@ "block.betterend.bolux_mushroom_wild": "野生波鲁克斯菌丛", "block.betterend.bolux_mushroom_dead": "枯萎的波鲁克斯菌丛", "block.betterend.bushy_grass": "新星草", + "block.betterend.bulb_moss": "球茎苔", "block.betterend.cave_bush": "朱红瓣叶", + "block.betterend.cave_bush_fallen": "小型朱红瓣叶", "block.betterend.cave_grass": "朱砂藓", "block.betterend.cave_pumpkin": "球茎南瓜", "block.betterend.cave_pumpkin_wild": "野生球茎藤", @@ -48,10 +50,14 @@ "block.betterend.hydralux": "水光莲", "block.betterend.hydralux_sapling": "水光莲苗", "block.betterend.inflexia": "曲枝草", + "block.betterend.lacugrove": "泊林木海藻", "block.betterend.lamellarium": "叠层藻", "block.betterend.lanceleaf": "矛叶草", "block.betterend.lanceleaf_small": "矛叶刃", "block.betterend.large_amaranita_mushroom": "大紫荆菇", + "block.betterend.lucernia_leaves": "卢瑟尼亚瓣叶", + "block.betterend.lucernia_leaves_fallen": "小型卢瑟尼亚瓣叶", + "block.betterend.lucernia_outer_leaves": "卢瑟尼亚菌核", "block.betterend.lutebus": "琉特草", "block.betterend.magnula": "磁光草", "block.betterend.nightshade_moss": "夜影苔", @@ -72,12 +78,6 @@ "block.betterend.umbrella_moss": "伞苔", "block.betterend.umbrella_moss_tall": "高伞苔", "block.betterend.vaiolush_fern": "幽蓝蕨", - "block.betterend.cave_bush_fallen": "小型朱红瓣叶", - "block.betterend.lucernia_leaves": "卢瑟尼亚瓣叶", - "block.betterend.lucernia_leaves_fallen": "小型卢瑟尼亚瓣叶", - "block.betterend.lucernia_outer_leaves": "卢瑟尼亚菌核", - "block.betterend.bulb_moss": "球茎苔", - "block.betterend.lacugrove": "泊林木海藻", "item.betterend.amber_root_product": "琥珀新芽", "item.betterend.amber_root_seeds": "琥珀新芽种子", "item.betterend.blossom_berry_product": "百花果", diff --git a/kubejs/assets/gtceu/lang/zh_cn.json b/kubejs/assets/gtceu/lang/zh_cn.json index 040d3d3cd..50c989da5 100644 --- a/kubejs/assets/gtceu/lang/zh_cn.json +++ b/kubejs/assets/gtceu/lang/zh_cn.json @@ -13,6 +13,10 @@ "block.gtceu.heat_exchanger": "热交换器", "block.gtceu.fission_reactor": "裂变反应堆", "block.gtceu.evaporation_tower": "蒸发塔", + "block.gtceu.ostrum_harvester": "紫金采集器", + "block.gtceu.moon_dust_harvester": "月尘采集器", + "block.gtceu.ostrum_linear_accelerator": "紫金线性加速器", + "block.tfg.bioreactor": "生物反应器", "block.gtceu.copper_crate": "铜板条箱", "block.gtceu.copper_drum": "铜桶", "block.gtceu.black_bronze_crate": "黑青铜板条箱", @@ -35,13 +39,9 @@ "gtceu.heat_exchanger": "热交换器", "gtceu.fission_reactor": "裂变反应堆", "gtceu.evaporation_tower": "蒸发塔", - "block.gtceu.ostrum_harvester": "紫金采集器", - "block.gtceu.moon_dust_harvester": "月尘采集器", "gtceu.ostrum_harvester": "紫金采集器", "gtceu.moon_dust_harvester": "月尘采集器", - "block.gtceu.ostrum_linear_accelerator": "紫金线性加速器", "gtceu.ostrum_linear_accelerator": "紫金线性加速器", - "block.tfg.bioreactor": "生物反应器", "gtceu.bioreactor": "生物反应器", "item.gtceu.tiny_wood_dust": "小撮软木浆", "item.gtceu.small_wood_dust": "小堆软木浆", @@ -151,13 +151,13 @@ "material.gtceu.ostrum_vapor": "紫金蒸气", "metaitem.dust.tooltip.purify": "投入水中可获得纯净粉末", "metaitem.crushed.tooltip.purify": "投入水中可获得纯净矿石", - "item.gtceu.tool.behavior.silk_ice": "精准采集可获得浮冰", - "item.gtceu.tool.butchery_knife.tooltip": "屠宰动物可获得更多肉类", + "item.gtceu.tool.behavior.silk_ice": "§d雕刻家:§r 可用精准采集获取浮冰", + "item.gtceu.tool.butchery_knife.tooltip": "§屠夫:§r 屠宰动物可获得更多肉类", + "gtceu.machine.lp_steam_extractor.tooltip": "§7不能提取流体", + "gtceu.machine.hp_steam_extractor.tooltip": "§7不能提取流体", "gtceu.jei.bedrock_fluid.moon_helium": "月球氦气", "gtceu.jei.bedrock_fluid.moon_helium_3": "月球氦-3", "gtceu.jei.bedrock_fluid.moon_argon": "月球氩气", - "gtceu.machine.lp_steam_extractor.tooltip": "§7不能提取流体", - "gtceu.machine.hp_steam_extractor.tooltip": "§7不能提取流体", "gtceu.jei.bedrock_fluid.semiheavy_ammoniacal_water": "火星半重氨水", "gtceu.jei.bedrock_fluid.liquid_carbon_dioxide": "火星液态二氧化碳", "gtceu.jei.bedrock_fluid.heavy_ammoniacal_water": "火星重氨水", @@ -177,6 +177,7 @@ "tagprefix.double_ingot": "%s双锭", "tagprefix.poor_raw": "贫瘠%s原矿", "tagprefix.rich_raw": "富集%s原矿", + "tagprefix.dusty_raw": "积尘%s原矿", "tagprefix.gabbro": "辉长岩%s矿石", "tagprefix.shale": "页岩%s矿石", "tagprefix.claystone": "黏土岩%s矿石", @@ -195,6 +196,5 @@ "tagprefix.marble": "大理岩%s矿石", "tagprefix.deepslate": "混合岩%s矿石", "tagprefix.pyroxenite": "辉石岩%s矿石", - "tagprefix.dripstone": "石灰华%s矿石", - "tagprefix.dusty_raw": "积尘%s原矿" + "tagprefix.dripstone": "石灰华%s矿石" } \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 0a0d9c07d..c0df5a6d0 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -213,28 +213,66 @@ "block.tfg.mv_aqueous_accumulator": "§b高级蓄水器§r", "block.tfg.hv_aqueous_accumulator": "§6高级蓄水器 II§r", "block.tfg.ev_aqueous_accumulator": "§5高级蓄水器 III§r", + "block.tfg.iv_aqueous_accumulator": "§9精英蓄水器§r", + "block.tfg.luv_aqueous_accumulator": "§d精英蓄水器 II§r", + "block.tfg.zpm_aqueous_accumulator": "§c精英蓄水器 III§r", + "block.tfg.uv_aqueous_accumulator": "§3终极蓄水器§r", "block.tfg.electric_greenhouse": "电力温室", "block.tfg.lv_food_processor": "基础食物处理机", "block.tfg.mv_food_processor": "§b高级食物处理机§r", "block.tfg.hv_food_processor": "§6高级食物处理机 II§r", "block.tfg.ev_food_processor": "§5高级食物处理机 III§r", + "block.tfg.iv_food_processor": "§9精英食物处理机§r", + "block.tfg.luv_food_processor": "§d精英食物处理机 II§r", + "block.tfg.zpm_food_processor": "§c精英食物处理机 III§r", + "block.tfg.uv_food_processor": "§3终极食物处理机§r", "block.tfg.lv_food_oven": "基础电炉", "block.tfg.mv_food_oven": "§b高级电炉§r", "block.tfg.hv_food_oven": "§6高级电炉 II§r", "block.tfg.ev_food_oven": "§5高级电炉 III§r", + "block.tfg.iv_food_oven": "§9精英电烤箱§r", + "block.tfg.luv_food_oven": "§d精英电烤箱 II§r", + "block.tfg.zpm_food_oven": "§c精英电烤箱 III§r", + "block.tfg.uv_food_oven": "§3终极电烤箱§r", "block.tfg.lv_food_refrigerator": "基础冰箱", "block.tfg.mv_food_refrigerator": "§b高级冰箱", "block.tfg.hv_food_refrigerator": "§6高级冰箱 II§r", "block.tfg.ev_food_refrigerator": "§5高级冰箱 III§r", + "block.tfg.iv_food_refrigerator": "§9精英冰箱§r", "block.tfg.lv_gas_pressurizer": "基础气体加压器", "block.tfg.mv_gas_pressurizer": "§b高级气体加压器§r", "block.tfg.hv_gas_pressurizer": "§6高级气体加压器 II§r", "block.tfg.ev_gas_pressurizer": "§5高级气体加压器 III§r", + "block.tfg.iv_gas_pressurizer": "§9精英气体加压器§r", + "block.tfg.luv_gas_pressurizer": "§d精英气体加压器 II§r", + "block.tfg.zpm_gas_pressurizer": "§c精英气体加压器 III§r", + "block.tfg.uv_gas_pressurizer": "§3终极气体加压器§r", + "block.tfg.fluid.semiheavy_ammoniacal_water": "半重氨水", "block.tfg.grass.mars_dirt": "火星土壤", + "block.tfg.grass.mars_clay_dirt": "火星粘土质土壤", "block.tfg.grass.mars_farmland": "火星农田", "block.tfg.grass.amber_mycelium": "琥珀菌丝", + "block.tfg.grass.amber_clay_mycelium": "琥珀黏土菌丝", + "block.tfg.grass.amber_kaolin_mycelium": "琥珀高岭土菌丝", "block.tfg.grass.rusticus_mycelium": "红锈菌丝", + "block.tfg.grass.rusticus_clay_mycelium": "红锈粘土菌丝", + "block.tfg.grass.rusticus_kaolin_mycelium": "红锈高岭土菌丝", "block.tfg.grass.sangnum_mycelium": "赤血菌丝", + "block.tfg.grass.sangnum_clay_mycelium": "赤血黏土菌丝", + "block.tfg.grass.sangnum_kaolin_mycelium": "赤血高岭土菌丝", + "block.tfg.spice": "紫金矿床", + "block.tfg.saplings.crimson": "绯红菌类", + "block.tfg.saplings.warped": "扭曲菌类", + "block.tfg.saplings.alphacene": "阿尔法辛蘑菇", + "block.tfg.saplings.aeronos": "空果菇", + "block.tfg.saplings.strophar": "孑节菇", + "block.tfg.saplings.glacian": "融冰菇", + "block.tfg.groundcover.glider_feather": "滑翔羽毛", + "block.tfg.groundcover.wraptor_feather": "扭曲鸟羽毛", + "block.tfg.groundcover.aeronos_stick": "空果树枝", + "block.tfg.groundcover.strophar_stick": "孑节树枝", + "block.tfg.groundcover.glacian_stick": "融冰树枝", + "block.tfg.groundcover.alphacene_stick": "阿尔法辛树枝", "block.tfg.electromagnetic_accelerator": "电磁加速器", "block.tfg.superconductor_coil_large": "大型超导线圈", "block.tfg.superconductor_coil_small": "小型超导线圈", @@ -269,12 +307,22 @@ "block.tfg.rapeseed": "油菜", "block.tfg.rapeseed_wild": "野生油菜", "block.tfg.rapeseed_dead": "枯萎的油菜", + "block.tfg.flax": "亚麻", + "block.tfg.flax_wild": "野生亚麻", + "block.tfg.flax_dead": "枯萎的亚麻", "block.tfg.casings.machine_casing_iron_desh": "戴斯机械方块", "block.tfg.casings.machine_casing_stainless_evaporation": "不锈钢蒸发机械方块", + "block.tfg.casings.machine_casing_vacuum_engine_intake": "真空引擎进气机械方块", + "block.tfg.casings.machine_casing_mars": "坚固防尘机械方块", "block.tfg.casings.machine_casing_blue_solar_panel": "基础太阳能板外壳", "block.tfg.casings.machine_casing_green_solar_panel": "高级太阳能板外壳", "block.tfg.casings.machine_casing_red_solar_panel": "精英太阳能板外壳", "block.tfg.machine_casing_aluminium_plated_steel": "镀铝钢机械方块", + "block.tfg.casings.machine_casing_ultraviolet": "§d紫外§f机械外壳", + "block.tfg.casings.machine_casing_bioculture": "生物培养机械外壳", + "block.tfg.casings.machine_casing_bioculture_glass": "生物培养玻璃", + "block.tfg.casings.bioculture_rotor_primary": "主生物培养转子", + "block.tfg.casings.bioculture_rotor_secondary": "副生物培养转子", "block.tfg.sand.fluorapatite.blue": "蓝色氟磷灰石沙", "block.tfg.sandstone.raw.fluorapatite.blue": "天然蓝色氟磷灰石砂岩", "block.tfg.sandstone.wall.raw.fluorapatite.blue": "天然蓝色氟磷灰石砂岩墙", @@ -344,54 +392,6 @@ "block.tfg.large_nest_box": "大型绯红巢", "tfg.block_entity.large_nest_box": "大型巢箱", "block.tfg.large_nest_box_warped": "大型诡异巢", - "block.tfg.iv_aqueous_accumulator": "§9精英蓄水器§r", - "block.tfg.luv_aqueous_accumulator": "§d精英蓄水器 II§r", - "block.tfg.zpm_aqueous_accumulator": "§c精英蓄水器 III§r", - "block.tfg.uv_aqueous_accumulator": "§3终极蓄水器§r", - "block.tfg.iv_food_processor": "§9精英食物处理机§r", - "block.tfg.luv_food_processor": "§d精英食物处理机 II§r", - "block.tfg.zpm_food_processor": "§c精英食物处理机 III§r", - "block.tfg.uv_food_processor": "§3终极食物处理机§r", - "block.tfg.iv_food_oven": "§9精英电烤箱§r", - "block.tfg.luv_food_oven": "§d精英电烤箱 II§r", - "block.tfg.zpm_food_oven": "§c精英电烤箱 III§r", - "block.tfg.uv_food_oven": "§3终极电烤箱§r", - "block.tfg.iv_food_refrigerator": "§9精英冰箱§r", - "block.tfg.iv_gas_pressurizer": "§9精英气体加压器§r", - "block.tfg.luv_gas_pressurizer": "§d精英气体加压器 II§r", - "block.tfg.zpm_gas_pressurizer": "§c精英气体加压器 III§r", - "block.tfg.uv_gas_pressurizer": "§3终极气体加压器§r", - "block.tfg.saplings.crimson": "绯红菌类", - "block.tfg.saplings.warped": "扭曲菌类", - "block.tfg.saplings.alphacene": "阿尔法辛蘑菇", - "block.tfg.saplings.aeronos": "空果菇", - "block.tfg.saplings.strophar": "孑节菇", - "block.tfg.saplings.glacian": "融冰菇", - "block.tfg.casings.machine_casing_vacuum_engine_intake": "真空引擎进气机械方块", - "block.tfg.casings.machine_casing_mars": "坚固防尘机械方块", - "block.tfg.fluid.semiheavy_ammoniacal_water": "半重氨水", - "block.tfg.grass.mars_clay_dirt": "火星粘土质土壤", - "block.tfg.grass.amber_clay_mycelium": "琥珀黏土菌丝", - "block.tfg.grass.amber_kaolin_mycelium": "琥珀高岭土菌丝", - "block.tfg.grass.rusticus_clay_mycelium": "红锈粘土菌丝", - "block.tfg.grass.rusticus_kaolin_mycelium": "红锈高岭土菌丝", - "block.tfg.grass.sangnum_clay_mycelium": "赤血黏土菌丝", - "block.tfg.grass.sangnum_kaolin_mycelium": "赤血高岭土菌丝", - "block.tfg.spice": "紫金矿床", - "block.tfg.groundcover.glider_feather": "滑翔羽毛", - "block.tfg.groundcover.wraptor_feather": "扭曲鸟羽毛", - "block.tfg.groundcover.aeronos_stick": "空果树枝", - "block.tfg.groundcover.strophar_stick": "孑节树枝", - "block.tfg.groundcover.glacian_stick": "融冰树枝", - "block.tfg.groundcover.alphacene_stick": "阿尔法辛树枝", - "block.tfg.flax": "亚麻", - "block.tfg.flax_wild": "野生亚麻", - "block.tfg.flax_dead": "枯萎的亚麻", - "block.tfg.casings.machine_casing_ultraviolet": "§d紫外§f机械外壳", - "block.tfg.casings.machine_casing_bioculture": "生物培养机械外壳", - "block.tfg.casings.machine_casing_bioculture_glass": "生物培养玻璃", - "block.tfg.casings.bioculture_rotor_primary": "主生物培养转子", - "block.tfg.casings.bioculture_rotor_secondary": "副生物培养转子", "fluid.tfg.nether_slurry": "下界浆液", "fluid.tfg.enriched_nether_slurry": "富集下界浆液", "fluid.tfg.ender_slurry": "末地浆液", @@ -687,8 +687,16 @@ "item.tfg.wood.lumber.aeronos": "空果木材", "item.tfg.wood.lumber.strophar": "孑节木材", "item.tfg.wood.lumber.glacian": "融冰木材", + "item.tfg.twigs.aeronos": "空果树枝", + "item.tfg.twigs.strophar": "孑节树枝", + "item.tfg.twigs.glacian": "融冰树枝", + "item.tfg.twigs.alphacene": "阿尔法辛树枝", "item.tfg.glacian_wool": "冰川羊毛", "item.tfg.sniffer_wool": "嗅探兽毛", + "item.tfg.sniffer_egg": "嗅探兽蛋", + "item.tfg.wraptor_wool": "矿物丰饶羽绒", + "item.tfg.wraptor_egg": "扭曲鸟蛋", + "item.tfg.wraptor_sugar": "扭曲鸟糖", "item.tfg.aes_polyurethane": "生物AES增强R-聚氨酯泡沫", "item.tfg.mli_shielding": "多层绝缘屏蔽层", "item.tfg.rocket_cone_t3": "高级火箭鼻锥", @@ -729,14 +737,6 @@ "item.tfg.electric_extendo_grip": "电动伸缩机械手", "item.tfg.treated_chipboard_composite": "处理过的刨花板复合材料", "item.tfg.high_density_treated_fiberboard": "处理过的中密度纤维板", - "item.tfg.sniffer_egg": "嗅探兽蛋", - "item.tfg.wraptor_wool": "矿物丰饶羽绒", - "item.tfg.wraptor_egg": "扭曲鸟蛋", - "item.tfg.wraptor_sugar": "扭曲鸟糖", - "item.tfg.twigs.aeronos": "空果树枝", - "item.tfg.twigs.strophar": "孑节树枝", - "item.tfg.twigs.glacian": "融冰树枝", - "item.tfg.twigs.alphacene": "阿尔法辛树枝", "item.tfg.flax_seeds": "亚麻种子", "item.tfg.flax_product": "亚麻茎杆", "item.tfg.flax_line": "亚麻粗纤维", @@ -746,6 +746,11 @@ "item.tfg.linen_cloth": "亚麻布", "item.tfg.uv_led": "§d紫外§f发光二极管", "item.tfg.smd_uv_led": "§f贴片§d紫外§f发光二极管", + "item.tfg.empty_dna_syringe": "空注射器", + "item.tfg.filled_dna_syringe": "已充满的注射器", + "item.tfg.dirty_dna_syringe": "受污染的注射器", + "item.tfg.clean_dna_syringe": "洁净的注射器", + "item.tfg.stainless_steel_needle": "不锈钢针头", "material.tfg.latex": "乳胶", "material.tfg.vulcanized_latex": "硫化乳胶", "material.tfg.fluix": "福鲁伊克斯", @@ -805,6 +810,8 @@ "material.tfg.tmos": "四甲氧基硅烷", "material.tfg.silica_gel": "硅胶", "material.tfg.soaked_silica_gel": "丙酮浸渍硅胶", + "material.tfg.heavy_water": "重水", + "material.tfg.semiheavy_water": "半重水", "material.tfg.nuclear_residue": "核废料", "material.tfg.oxidized_nuclear_residue": "氧化核废料", "material.tfg.refined_nuclear_residue": "精炼核废料", @@ -813,8 +820,6 @@ "material.tfg.bright_regolith": "亮泽风化土", "material.tfg.cassiterite_regolith": "锡石风化土", "material.tfg.regolith_mush": "泥泞风化土", - "material.tfg.heavy_water": "重水", - "material.tfg.semiheavy_water": "半重水", "ore_vein.tfg.deep_sheldonite": "硫铂矿, 斑铜矿", "ore_vein.tfg.deep_garnet_amethyst": "紫水晶, 石榴石", "ore_vein.tfg.deep_garnet_opal": "蛋白石, 石榴石", @@ -968,6 +973,11 @@ "entity.tfg.sniffer.male": "嗅探兽", "entity.tfg.sniffer.female": "嗅探兽", "tfg.tooltip.attribution.sniffer": "§9§o版权归属:Minecraft", + "entity.tfg.wraptor.male": "扭曲鸟", + "entity.tfg.wraptor.female": "扭曲鸟", + "tfg.tooltip.attribution.wraptor": "§9§o版权归属:Species", + "effect.tfg.cooling": "§b降温", + "effect.tfg.warming": "§6保暖", "item.treetap.tap": "已弃用物品,请合成升级", "item.gtceu.zinc_ingot": "已弃用物品,请合成升级", "item.gtceu.brass_ingot": "已弃用物品,请合成升级", @@ -1125,6 +1135,7 @@ "tfg.tooltip.armor.nanomuscle_warmth": "§7温暖度:0", "tfg.tooltip.armor.nanomuscle_insulation": "§7隔热:+10", "tfg.tooltip.armor.nanomuscle_set": "§7穿戴整套装备可使你完全隔热,不受环境温度影响。", + "tfg.tooltip.armor.nanomuscle_legs_buff": "§7装备时提供§9速度 I§7", "tfg.tooltip.armor.quarktech_warmth": "§7温暖度:0", "tfg.tooltip.armor.quarktech_insulation": "§7隔热:+10", "tfg.tooltip.armor.quarktech_set": "§7穿戴整套装备可使你完全隔热,不受环境温度影响。", @@ -1140,20 +1151,22 @@ "tfg.tooltip.solar_panel.large_tier2": "§6月球§r上的巨型结构,在§6白天§r可产生 §64096 至 16386 EU/t§r", "tfg.tooltip.solar_panel.large_tier3": "§6月球§r上的巨型结构,在§6白天§r可产生 §616384 至 65536 EU/t§r", "tfg.tooltip.petrified_egg": "§7需要熔岩孵化", - "tfg.tooltip.obsolete.depreciated": "§c已弃用,无法再合成", - "entity.tfg.wraptor.male": "扭曲鸟", - "entity.tfg.wraptor.female": "扭曲鸟", - "tfg.tooltip.attribution.wraptor": "§9§o版权归属:Species", "tfg.tooltip.large_egg": "§7只能在§o巨巢§r§7中孵化", "tfg.tooltip.sniffer_wool": "§7采集自嗅探兽背后", "tfg.tooltip.wraptor_wool": "§7采集自扭曲鸟羽毛", "tfg.tooltip.wraptor_sugar": "§7别想太多", - "effect.tfg.cooling": "§b降温", - "effect.tfg.warming": "§6保暖", "tfg.tooltip.cooling_foods": "§b使你体温降低:2°C", "tfg.tooltip.cooling_foods_strong": "§b使你体温降低:10°C", "tfg.tooltip.warming_foods": "§6使你体温升高:4°C", + "tfg.tooltip.obsolete.depreciated": "§c已弃用,无法再合成", + "tfg.tooltip.dna_syringe.empty": "一支空注射器。", + "tfg.tooltip.dna_syringe.dirty1": "一支使用过的注射器。", + "tfg.tooltip.dna_syringe.dirty2": "注意不要用它刺伤任何人...", + "tfg.tooltip.dna_syringe.full": "DNA样本:", + "tfg.tooltip.dna_syringe.explain": "右键点击生物获取DNA样本。放入合成栏可清空其内容物。", + "tfg.tooltip.shift_hint": "[按住Shift]", "tfc.jei.flint_knapping": "燧石打制", + "tfc.jei.straw_knapping": "秸秆敲制", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "染色", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.gray": "染色", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.light_gray": "染色", @@ -1267,6 +1280,5 @@ "tfg.grapplemod.upgrades.vertical_throwing_angle": "将抓钩§l垂直投掷角度§r提升5°,最高90°", "tfg.grapplemod.downgrades.vertical_throwing_angle": "将抓钩§l垂直投掷角度§r降低5°,最低0°", "tfg.grapplemod.upgrades.angle": "将§l双钩水平投掷角度§r增加5°,最高90°\n需先安装§l副钩§r", - "tfg.grapplemod.downgrades.angle": "将§l双钩水平投掷角度§r减少5°,最低5°\n需先安装§l副钩§r", - "tfc.jei.straw_knapping": "秸秆敲制" + "tfg.grapplemod.downgrades.angle": "将§l双钩水平投掷角度§r减少5°,最低5°\n需先安装§l副钩§r" } \ No newline at end of file From 3d4f41207025917b7c4b8292531451e871eadb9e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 Sep 2025 15:40:31 +0500 Subject: [PATCH 12/21] Bump the dependencies group with 2 updates (#1763) Bumps the dependencies group with 2 updates: [actions/github-script](https://github.com/actions/github-script) and [softprops/action-gh-release](https://github.com/softprops/action-gh-release). Updates `actions/github-script` from 7.0.1 to 8.0.0 - [Release notes](https://github.com/actions/github-script/releases) - [Commits](https://github.com/actions/github-script/compare/v7.0.1...v8.0.0) Updates `softprops/action-gh-release` from 2.3.2 to 2.3.3 - [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.3.2...v2.3.3) --- updated-dependencies: - dependency-name: actions/github-script dependency-version: 8.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: dependencies - dependency-name: softprops/action-gh-release dependency-version: 2.3.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Xikaro --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4b26658de..1682173df 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -242,7 +242,7 @@ jobs: - name: 🔍 Check existing PRs id: check_existing_pr - uses: actions/github-script@v7.0.1 + uses: actions/github-script@v8.0.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: @@ -435,7 +435,7 @@ jobs: - name: 🚀 Create release id: release - uses: softprops/action-gh-release@v2.3.2 + uses: softprops/action-gh-release@v2.3.3 with: name: ${{ needs.info.outputs.project_version }} tag_name: ${{ needs.info.outputs.project_version }} From aa12ac3f43135da1868812efffdddc9a2109b1be Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 9 Sep 2025 11:51:09 +0100 Subject: [PATCH 13/21] fix stone stuff --- CHANGELOG.md | 2 ++ kubejs/server_scripts/tfg/recipes.rocks.js | 29 ---------------------- kubejs/startup_scripts/tfg/constants.js | 2 +- 3 files changed, 3 insertions(+), 30 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 372076d3b..1d2cacabf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## [Unreleased] ### Changes +- Added cobblestone, gravel, polished stone, bricks, and chiseled bricks to all stone types that didn't have those stone types, along with some other unification (#1764) @vidal-adrien +- Nether brick is now crafted from Keratophyre (#1764) @vidal-adrien ### Bug fixes - Fixed two instances of illegal lang exceptions causing errors on servers. @Redeix diff --git a/kubejs/server_scripts/tfg/recipes.rocks.js b/kubejs/server_scripts/tfg/recipes.rocks.js index 4b81426f5..5f52088e6 100644 --- a/kubejs/server_scripts/tfg/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/recipes.rocks.js @@ -300,35 +300,6 @@ function registerTFGRockRecipes(event) { .id(`greate:pressing/${x.raw}_to_${x.cracked}`.replace(/:/g, '_')) }) - // forge hammer / mechanical press - const HAMMERING = [ - { raw: 'minecraft:deepslate', hammered: 'minecraft:cobbled_deepslate', duration: 10, eu: 16 }, - { raw: 'minecraft:cobbled_deepslate', hammered: 'tfc:sand/black', duration: 20*3.5, eu: 2 }, - { raw: 'minecraft:blackstone', hammered: 'tfc:sand/black', duration: 20*3.5, eu: 2 }, - { raw: 'beneath:crackrack', hammered: 'tfc:sand/pink', duration: 20*3.5, eu: 2 }, - { raw: 'minecraft:dripstone_block', hammered: 'tfc:sand/brown', duration: 20*3.5, eu: 2 }, - - { raw: 'ad_astra:moon_stone', hammered: 'ad_astra:moon_cobblestone', duration: 10, eu: 16 }, - { raw: 'tfg:rock/hardened_moon_stone', hammered: 'ad_astra:moon_cobblestone', duration: 10, eu: 16 }, - { raw: 'ad_astra:moon_cobblestone', hammered: 'ad_astra:moon_sand', duration: 20*3.5, eu: 2 }, - { raw: 'ad_astra:moon_deepslate', hammered: 'ad_astra:moon_sand', duration: 20*3.5, eu: 2 }, - { raw: 'tfg:rock/hardened_moon_deepslate', hammered: 'ad_astra:moon_sand', duration: 20*3.5, eu: 2 }, - { raw: 'ad_astra:mars_stone', hammered: 'ad_astra:mars_cobblestone', duration: 10, eu: 16 }, - { raw: 'tfg:rock/hardened_mars_stone', hammered: 'ad_astra:mars_cobblestone', duration: 10, eu: 16 }, - { raw: 'ad_astra:mars_cobblestone', hammered: 'ad_astra:mars_sand', duration: 20*3.5, eu: 2 }, - { raw: 'ad_astra:venus_stone', hammered: 'ad_astra:venus_cobblestone', duration: 10, eu: 16 }, - { raw: 'tfg:rock/hardened_venus_stone', hammered: 'ad_astra:venus_cobblestone', duration: 10, eu: 16 }, - { raw: 'ad_astra:venus_cobblestone', hammered: 'ad_astra:venus_sand', duration: 20*3.5, eu: 2 }, - { raw: 'ad_astra:mercury_stone', hammered: 'ad_astra:mercury_cobblestone', duration: 10, eu: 16 }, - { raw: 'tfg:rock/hardened_mercury_stone', hammered: 'ad_astra:mercury_cobblestone', duration: 10, eu: 16 }, - { raw: 'ad_astra:mercury_cobblestone', hammered: 'tfc:sand/red', duration: 20*3.5, eu: 2 }, - { raw: 'ad_astra:glacio_stone', hammered: 'ad_astra:glacio_cobblestone', duration: 10, eu: 16 }, - { raw: 'tfg:rock/hardened_glacio_stone', hammered: 'ad_astra:glacio_cobblestone', duration: 10, eu: 16 }, - { raw: 'ad_astra:glacio_cobblestone', hammered: 'tfc:sand/white', duration: 20*3.5, eu: 2 }, - { raw: 'ad_astra:conglomerate', hammered: 'tfc:rock/gravel/conglomerate', duration: 10, eu: 16 }, - { raw: 'ad_astra:permafrost', hammered: '4x gtceu:ice_dust', duration: 20, eu: 2 } - ] - // Defined in kubejs/startup_scripts/tfg/constants.js global.HAMMERING.forEach(x => { event.recipes.gtceu.forge_hammer(`${x.raw}_to_${x.hammered}`.replace(/[: ]/g, '_')) diff --git a/kubejs/startup_scripts/tfg/constants.js b/kubejs/startup_scripts/tfg/constants.js index 808e98b57..0d6e6ac77 100644 --- a/kubejs/startup_scripts/tfg/constants.js +++ b/kubejs/startup_scripts/tfg/constants.js @@ -198,7 +198,7 @@ global.HAMMERING = [ { raw: 'tfg:rock/gravel_moon', hammered: 'ad_astra:moon_sand', duration: 70, eu: 2 }, { raw: 'ad_astra:moon_deepslate', hammered: 'tfg:rock/cobble_moon_deepslate', duration: 10, eu: 16 }, - { raw: 'ad_astra:hardened_moon_deepslate', hammered: 'tfg:rock/cobble_moon_deepslate', duration: 10, eu: 16 }, + { raw: 'tfg:rock/hardened_moon_deepslate', hammered: 'tfg:rock/cobble_moon_deepslate', duration: 10, eu: 16 }, { raw: 'tfg:rock/cobble_moon_deepslate', hammered: 'tfg:rock/gravel_moon_deepslate', duration: 10, eu: 16 }, { raw: 'tfg:rock/gravel_moon_deepslate', hammered: 'ad_astra:moon_sand', duration: 10, eu: 16 }, From 9107a122c4258635c98f1f89307b1e3efb4493b5 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 9 Sep 2025 11:56:23 +0100 Subject: [PATCH 14/21] fix missing empty syringe model --- .../tfg/models/item/empty_dna_syringe.json | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 kubejs/assets/tfg/models/item/empty_dna_syringe.json diff --git a/kubejs/assets/tfg/models/item/empty_dna_syringe.json b/kubejs/assets/tfg/models/item/empty_dna_syringe.json new file mode 100644 index 000000000..8365aebec --- /dev/null +++ b/kubejs/assets/tfg/models/item/empty_dna_syringe.json @@ -0,0 +1,40 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/dna_syringe_empty" + }, + "display": { + "thirdperson_righthand": { + "rotation": [0, 90, 40], + "translation": [0, 3, 1], + "scale": [0.4, 0.4, 0.4] + }, + "thirdperson_lefthand": { + "rotation": [0, 90, -40], + "translation": [0, 3, 1], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_righthand": { + "rotation": [0, 90, -20], + "translation": [1.13, 3.2, 0.25], + "scale": [0.6, 0.6, 0.6] + }, + "firstperson_lefthand": { + "rotation": [0, -90, 20], + "translation": [1.13, 3.2, 0.25], + "scale": [0.6, 0.6, 0.6] + }, + "ground": { + "translation": [0, 2, 0], + "scale": [0.5, 0.5, 0.5] + }, + "head": { + "rotation": [49, 4, -70], + "translation": [-9.75, -3.25, 1.75], + "scale": [0.4, 0.4, 0.4] + }, + "fixed": { + "rotation": [0, -180, 0] + } + } +} \ No newline at end of file From ae699faf1ec27c91b32980e8b146caa95f3fbd21 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 9 Sep 2025 11:59:41 +0100 Subject: [PATCH 15/21] remove priority --- .../en_us/entries/arborfirmacraft/tapping_index.json | 1 - .../field_guide/en_us/entries/mechanics/trowel.json | 6 +++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/arborfirmacraft/tapping_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/arborfirmacraft/tapping_index.json index e27cf1995..ba02fe550 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/arborfirmacraft/tapping_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/arborfirmacraft/tapping_index.json @@ -2,7 +2,6 @@ "name": "Tapping Index", "category": "tfc:arborfirmacraft", "icon": "afc:wood/sapling/weeping_maple", - "priority": true, "read_by_default": true, "pages": [ { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/trowel.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/trowel.json index 0ae5da5ba..43d665496 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/trowel.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/trowel.json @@ -2,7 +2,7 @@ "name": "Trowel", "icon": "tfg:trowel", "category": "tfc:mechanics", - "priority": true, + "read_by_default": true, "pages": [ { "type": "patchouli:crafting", @@ -11,8 +11,8 @@ "text": "A $(item)Trowel$() allows a builder to place random blocks from their hotbar when right-clicking a surface.$(br2)Trowels also have built-in functionality with the $(item)Roads and Roofs$() mod--Meaning that they can place filler items like bricks or flagstones randomly as well." }, { - "type": "patchouli:text", - "text": "Inspired by the trowel tool from $(item)Quark$()--A mod by Vazkii" + "type": "patchouli:text", + "text": "Inspired by the trowel tool from $(item)Quark$()--A mod by Vazkii" } ] } From 48309eb37538c3d07392e0980c36caf6b8c023e4 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 9 Sep 2025 12:59:52 +0100 Subject: [PATCH 16/21] pakku --- pakku-lock.json | 100 ++++++++++++++++++++++++------------------------ 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 02c97b579..45304c41c 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -9336,7 +9336,7 @@ "files": [ { "type": "modrinth", - "file_name": "moonlight-1.20-2.16.8-forge.jar", + "file_name": "moonlight-1.20-2.16.9-forge.jar", "mc_versions": [ "1.20.1" ], @@ -9345,20 +9345,20 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/twkfQtEc/versions/sWagczEr/moonlight-1.20-2.16.8-forge.jar", - "id": "sWagczEr", + "url": "https://cdn.modrinth.com/data/twkfQtEc/versions/mHSe3j3i/moonlight-1.20-2.16.9-forge.jar", + "id": "mHSe3j3i", "parent_id": "twkfQtEc", "hashes": { - "sha512": "b4cbaddad5ca2b917086a59e2c6d6b7c03cba3d57bf792178c9c5d1dfa27dcd95141ca66a414ce9d68b0ae66c43707dbcd5031a2871200bb58e5899640ecf347", - "sha1": "3cde645d204a3cc5e1550b839e2954ee5b70d454" + "sha512": "d221e717a8a52ff40e162868d0398e8648cca525891484e5cd88a2985bc22e2232e5e1bb9705c2805571f2ddfc6996192e819355d77d7c14c57fbd38cf70124a", + "sha1": "622e2bd81157c7988e48988518a7bc11767a42a9" }, "required_dependencies": [], - "size": 1332010, - "date_published": "2025-08-28T00:18:44.173850Z" + "size": 1332304, + "date_published": "2025-09-09T04:55:52.934953Z" }, { "type": "curseforge", - "file_name": "moonlight-1.20-2.16.8-forge.jar", + "file_name": "moonlight-1.20-2.16.9-forge.jar", "mc_versions": [ "1.20.1" ], @@ -9367,16 +9367,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6935/940/moonlight-1.20-2.16.8-forge.jar", - "id": "6935940", + "url": "https://edge.forgecdn.net/files/6978/608/moonlight-1.20-2.16.9-forge.jar", + "id": "6978608", "parent_id": "499980", "hashes": { - "sha1": "3cde645d204a3cc5e1550b839e2954ee5b70d454", - "md5": "20835c6dc3195e10f86ecfa2662e4b97" + "sha1": "622e2bd81157c7988e48988518a7bc11767a42a9", + "md5": "27fe3ce6505b0f96e4884256baddb553" }, "required_dependencies": [], - "size": 1332010, - "date_published": "2025-08-28T00:18:29.220Z" + "size": 1332304, + "date_published": "2025-09-09T04:55:38.910Z" } ] }, @@ -12672,7 +12672,7 @@ ] }, { - "pakku_id": "JrHF5fM3A8rUpASP", + "pakku_id": "ViGiIGRKwYjLGy3r", "pakku_links": [ "64uacGcEw697jVGs" ], @@ -12691,27 +12691,6 @@ "modrinth": "2yZ8ZSeO" }, "files": [ - { - "type": "modrinth", - "file_name": "tfcgroomer-1.20.1-0.1.4.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/2yZ8ZSeO/versions/qd2e8zR5/tfcgroomer-1.20.1-0.1.4.jar", - "id": "qd2e8zR5", - "parent_id": "2yZ8ZSeO", - "hashes": { - "sha512": "5bb17013e6750ff579ceacba78bca68bff36c21bf093ef5e7c452499bb4e81de3ed24e92c53833f9327991dc0feeb648938b0efcfdd5efad795c1419100488c1", - "sha1": "e1bb7e932f900cee6be0bf5faf3fc77111488865" - }, - "required_dependencies": [], - "size": 134178, - "date_published": "2025-07-27T17:29:15.479048Z" - }, { "type": "curseforge", "file_name": "tfcgroomer-1.20.1-0.2.1.jar", @@ -12734,6 +12713,27 @@ ], "size": 152681, "date_published": "2025-08-31T20:19:12.327Z" + }, + { + "type": "modrinth", + "file_name": "tfcgroomer-1.20.1-0.1.4.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/2yZ8ZSeO/versions/qd2e8zR5/tfcgroomer-1.20.1-0.1.4.jar", + "id": "qd2e8zR5", + "parent_id": "2yZ8ZSeO", + "hashes": { + "sha512": "5bb17013e6750ff579ceacba78bca68bff36c21bf093ef5e7c452499bb4e81de3ed24e92c53833f9327991dc0feeb648938b0efcfdd5efad795c1419100488c1", + "sha1": "e1bb7e932f900cee6be0bf5faf3fc77111488865" + }, + "required_dependencies": [], + "size": 134178, + "date_published": "2025-07-27T17:29:15.479048Z" } ] }, @@ -13747,7 +13747,7 @@ "files": [ { "type": "modrinth", - "file_name": "TerraFirmaGreg-Core-Modern-0.7.13.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.7.14.jar", "mc_versions": [ "1.20.1" ], @@ -13756,23 +13756,23 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/YdOk8Iq3/TerraFirmaGreg-Core-Modern-0.7.13.jar", - "id": "YdOk8Iq3", + "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/G0w8issU/TerraFirmaGreg-Core-Modern-0.7.14.jar", + "id": "G0w8issU", "parent_id": "lNttW2Xl", "hashes": { - "sha512": "b7c574c483ad516c98cf1b51dbf3b09c42cb5f8138b5806e021f6f4ca8d3f9521b95121019db7e297cf3b4220c9619456962f21da45b395f0539a69c35e3e20e", - "sha1": "037ed97a39edda4c353ed0a7fd7bb638d0452e41" + "sha512": "c78515626c06c33424dd216465dd3b4fe6fbddd44c075cf8212d1c4d0b175aee8833950943952af5a3c3755dd70eff2ce4e1c9c8d1f89b1dcd613bb38cb63da7", + "sha1": "238656d34a911f01b848ff8ae308532c8326a291" }, "required_dependencies": [ "7tG215v7", "JaCEZUhg" ], - "size": 628670, - "date_published": "2025-09-08T15:21:22.717738Z" + "size": 643691, + "date_published": "2025-09-09T11:15:57.654695Z" }, { "type": "curseforge", - "file_name": "TerraFirmaGreg-Core-Modern-0.7.13.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.7.14.jar", "mc_versions": [ "1.20.1" ], @@ -13781,19 +13781,19 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6976/596/TerraFirmaGreg-Core-Modern-0.7.13.jar", - "id": "6976596", + "url": "https://edge.forgecdn.net/files/6979/344/TerraFirmaGreg-Core-Modern-0.7.14.jar", + "id": "6979344", "parent_id": "513402", "hashes": { - "sha1": "037ed97a39edda4c353ed0a7fd7bb638d0452e41", - "md5": "24b2e00abe4a9973ed536d4652b67491" + "sha1": "238656d34a911f01b848ff8ae308532c8326a291", + "md5": "9ff7cdabfc85bbc5d129857a61fd6cc5" }, "required_dependencies": [ "302973", "890405" ], - "size": 628670, - "date_published": "2025-09-08T15:21:19.573Z" + "size": 643691, + "date_published": "2025-09-09T11:15:55.350Z" } ] }, From 65d2915038ef0fbb2b491f7a83b317c15ff1343e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 9 Sep 2025 13:34:40 +0100 Subject: [PATCH 17/21] excluded lunchbox and mob net field guide pages --- kubejs/assets/tfg_excludes.zip | Bin 32903 -> 32922 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/kubejs/assets/tfg_excludes.zip b/kubejs/assets/tfg_excludes.zip index c4f559e413402f9b714bdf22d914c3c2783b8530..3a91c31059f702edc1d9606dbeaacce18c5feeba 100644 GIT binary patch delta 452 zcmZo~WSZ5;R3G5Y%p$_Tz`()anWGskDA2Mqf{}rtik*Rhn}LC$ATc>xFE=?iwIp%x zRNMSJ20U%)@)Q0GRPZzzTa~=z&-kVg9VoEHXYS0&uFXpd9h-l@U#frh%EH(;uJY@T ze80H;9>1@3veowc?-t+K!W5zEBhvB)uqq<;Q6xTzfZkdx7wy}A1~CfI8Dp= z`r^;i*9&*H-AmK+`}OjM_|BXEJG?e)EexG=LTOf5+w+pmyCr|^@S3q}AW<480+v(wsQw=$X!cZ25;|pEBtc2>n?6runV-+~SF+ zpFJ;IWRmnWW#jCK^JYok?oLpjm1BM*os;{_ZoM~0rV6ckZ+^9MrrG`(c0w^Or!O3} z&Tc4eC|%T*`gnHc)m@ven0))R%{FtAoYv3(4FwD);eW()->Mw`B({S8xJTVFdzQ)_ w|JXL?F-Fw!p@#qDEA`s^6D}nQv?<Ha%Av@6n3_h3WPMGIq-A4l^HuhdP``CdCuX{Xxr<|~Z`+t$rq zakQ#FIyp#fPO7szR|Nmei>xV2J>pON=HK}7{JiH!f0k?(3K!9E6)9ZQQJ9+7%&EJm z?a4_K_P|E-q^fg^bB=V?tGp^IU@8-1uKdFr*LwT;;>&M#y{Vg$yW#ASN| Date: Tue, 9 Sep 2025 14:28:39 +0100 Subject: [PATCH 18/21] pakku --- pakku-lock.json | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 45304c41c..0a2672ac4 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -13747,7 +13747,7 @@ "files": [ { "type": "modrinth", - "file_name": "TerraFirmaGreg-Core-Modern-0.7.14.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.7.15.jar", "mc_versions": [ "1.20.1" ], @@ -13756,23 +13756,23 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/G0w8issU/TerraFirmaGreg-Core-Modern-0.7.14.jar", - "id": "G0w8issU", + "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/ZyDcPsIB/TerraFirmaGreg-Core-Modern-0.7.15.jar", + "id": "ZyDcPsIB", "parent_id": "lNttW2Xl", "hashes": { - "sha512": "c78515626c06c33424dd216465dd3b4fe6fbddd44c075cf8212d1c4d0b175aee8833950943952af5a3c3755dd70eff2ce4e1c9c8d1f89b1dcd613bb38cb63da7", - "sha1": "238656d34a911f01b848ff8ae308532c8326a291" + "sha512": "a14c88f3d2adf08d90f7673738952b175c47e27ad35a1d25cf3ad79a7d1d26a26e3c8e49a8398216770e2e00502fe67a0898da97e69cd8745bd6f89ebf6bf215", + "sha1": "2052273da069c570e006185a0e0c3caa353498fc" }, "required_dependencies": [ "7tG215v7", "JaCEZUhg" ], - "size": 643691, - "date_published": "2025-09-09T11:15:57.654695Z" + "size": 643710, + "date_published": "2025-09-09T13:12:40.003997Z" }, { "type": "curseforge", - "file_name": "TerraFirmaGreg-Core-Modern-0.7.14.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.7.15.jar", "mc_versions": [ "1.20.1" ], @@ -13781,19 +13781,19 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6979/344/TerraFirmaGreg-Core-Modern-0.7.14.jar", - "id": "6979344", + "url": "https://edge.forgecdn.net/files/6979/603/TerraFirmaGreg-Core-Modern-0.7.15.jar", + "id": "6979603", "parent_id": "513402", "hashes": { - "sha1": "238656d34a911f01b848ff8ae308532c8326a291", - "md5": "9ff7cdabfc85bbc5d129857a61fd6cc5" + "sha1": "2052273da069c570e006185a0e0c3caa353498fc", + "md5": "4f84db916fb45f8648179c6dfb05ca3a" }, "required_dependencies": [ - "302973", - "890405" + "890405", + "302973" ], - "size": 643691, - "date_published": "2025-09-09T11:15:55.350Z" + "size": 643710, + "date_published": "2025-09-09T13:12:37.720Z" } ] }, From a64a678838df9b28b95c295f80a0e022ededd584 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 9 Sep 2025 14:36:33 +0100 Subject: [PATCH 19/21] langs, fixed a few nether brick items being hidden --- kubejs/assets/minecraft/lang/en_gb.json | 8 +++++ kubejs/assets/minecraft/lang/en_us.json | 8 +++++ kubejs/assets/tfg/lang/en_us.json | 34 ++++++++++++++++--- kubejs/startup_scripts/minecraft/constants.js | 12 +------ 4 files changed, 46 insertions(+), 16 deletions(-) diff --git a/kubejs/assets/minecraft/lang/en_gb.json b/kubejs/assets/minecraft/lang/en_gb.json index 51a9bc47f..397c8584e 100644 --- a/kubejs/assets/minecraft/lang/en_gb.json +++ b/kubejs/assets/minecraft/lang/en_gb.json @@ -40,6 +40,13 @@ "block.minecraft.polished_blackstone_stairs": "Polished Pyroxenite Stairs", "block.minecraft.polished_blackstone_wall": "Polished Pyroxenite Wall", "block.minecraft.dripstone_block": "Raw Travertine", + "block.minecraft.nether_bricks": "Keratophyre Bricks", + "block.minecraft.nether_brick_fence": "Keratophyre Brick Fence", + "block.minecraft.nether_brick_slab": "Keratophyre Brick Slab", + "block.minecraft.nether_brick_wall": "Keratophyre Brick Wall", + "block.minecraft.nether_brick_stairs": "Keratophyre Brick Stairs", + "block.minecraft.cracked_nether_bricks": "Cracked Keratophyre Bricks", + "block.minecraft.chiseled_nether_bricks": "Chiseled Keratophyre Bricks", "block.minecraft.magma_block": "Pyroxenite Magma", "block.minecraft.twisting_vines": "Lightbloom Stem", "block.minecraft.pearlescent_froglight": "Pearlescent Lightbloom", @@ -65,5 +72,6 @@ "item.minecraft.netherite_leggings": "Blue Steel Diving Leggings", "item.minecraft.string": "Silk Thread", "item.minecraft.glow_ink_sac": "Glowing Dye", + "item.minecraft.nether_brick": "Keratophyre Brick", "material.tfg.dripstone": "Travertine" } \ No newline at end of file diff --git a/kubejs/assets/minecraft/lang/en_us.json b/kubejs/assets/minecraft/lang/en_us.json index 51a9bc47f..397c8584e 100644 --- a/kubejs/assets/minecraft/lang/en_us.json +++ b/kubejs/assets/minecraft/lang/en_us.json @@ -40,6 +40,13 @@ "block.minecraft.polished_blackstone_stairs": "Polished Pyroxenite Stairs", "block.minecraft.polished_blackstone_wall": "Polished Pyroxenite Wall", "block.minecraft.dripstone_block": "Raw Travertine", + "block.minecraft.nether_bricks": "Keratophyre Bricks", + "block.minecraft.nether_brick_fence": "Keratophyre Brick Fence", + "block.minecraft.nether_brick_slab": "Keratophyre Brick Slab", + "block.minecraft.nether_brick_wall": "Keratophyre Brick Wall", + "block.minecraft.nether_brick_stairs": "Keratophyre Brick Stairs", + "block.minecraft.cracked_nether_bricks": "Cracked Keratophyre Bricks", + "block.minecraft.chiseled_nether_bricks": "Chiseled Keratophyre Bricks", "block.minecraft.magma_block": "Pyroxenite Magma", "block.minecraft.twisting_vines": "Lightbloom Stem", "block.minecraft.pearlescent_froglight": "Pearlescent Lightbloom", @@ -65,5 +72,6 @@ "item.minecraft.netherite_leggings": "Blue Steel Diving Leggings", "item.minecraft.string": "Silk Thread", "item.minecraft.glow_ink_sac": "Glowing Dye", + "item.minecraft.nether_brick": "Keratophyre Brick", "material.tfg.dripstone": "Travertine" } \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 655f76ce4..5bdfa936b 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -152,42 +152,65 @@ "block.tfg.aeronos_support": "Aeronos Support", "block.tfg.aeronos_support_horizontal": "Aeronos Horizontal Support", "block.tfg.rock.hardened_deepslate": "Hardened Migmatite", - "block.tfg.rock.hardened_blackstone": "Hardened Pyroxenite", - "block.tfg.rock.hardened_dripstone": "Hardened Travertine", + "block.tfg.rock.gravel_deepslate": "Migmatite Gravel", "block.tfg.spike.deepslate_spike": "Migmatite Spike", - "block.tfg.spike.blackstone_spike": "Pyroxenite Spike", - "block.tfg.spike.dripstone_spike": "Travertine Spike", "block.tfg.loose.deepslate": "Loose Migmatite Rock", + "block.tfg.rock.hardened_blackstone": "Hardened Pyroxenite", + "block.tfg.rock.cobble_blackstone": "Pyroxenite Cobblestone", + "block.tfg.rock.gravel_blackstone": "Pyroxenite Gravel", + "block.tfg.spike.blackstone_spike": "Pyroxenite Spike", + "block.tfg.rock.hardened_dripstone": "Hardened Travertine", + "block.tfg.rock.cobble_dripstone": "Travertine Cobblestone", + "block.tfg.rock.gravel_dripstone": "Travertine Gravel", + "block.tfg.spike.dripstone_spike": "Travertine Spike", "block.tfg.loose.dripstone": "Loose Travertine Rock", + "block.tfg.rock.cobble_crackrack": "Keratophyre Cobblestone", + "block.tfg.rock.gravel_crackrack": "Keratophyre Gravel", + "block.tfg.rock.polished_crackrack": "Polished Keratophyre", + "block.tfg.loose.crackrack": "Loose Keratophyre Rock", "block.tfg.mushroom_roots": "Mushroom Roots", "block.tfg.mushroom_sprouts": "Mushroom Sprouts", "block.tfg.charred_log": "Charred Log", "block.tfg.rock.hardened_moon_stone": "Hardened Anorthosite", + "block.tfg.rock.gravel_moon": "Anorthosite Gravel", "block.tfg.spike.moon_stone_spike": "Anorthosite Spike", "block.tfg.loose.moon_stone": "Loose Anorthosite Rock", "block.tfg.rock.hardened_moon_deepslate": "Hardened Norite", + "block.tfg.rock.cobble_moon_deepslate": "Norite Cobblestone", + "block.tfg.rock.gravel_moon_deepslate": "Norite Gravel", + "block.tfg.rock.polished_moon_deepslate": "Polished Norite", + "block.tfg.rock.bricks_moon_deepslate": "Norite Bricks", + "block.tfg.rock.cracked_bricks_moon_deepslate": "Norite Cracked Bricks", + "block.tfg.rock.chiseled_bricks_moon_deepslate": "Norite Chiseled Bricks", + "block.tfg.rock.pillar_moon_deepslate": "Norite Pillar", "block.tfg.spike.moon_deepslate_spike": "Norite Spike", "block.tfg.loose.moon_deepslate": "Loose Norite Rock", "block.tfg.rock.hardened_mars_stone": "Hardened Argillite", + "block.tfg.rock.gravel_mars": "Argillite Gravel", "block.tfg.spike.mars_stone_spike": "Argillite Spike", "block.tfg.loose.mars_stone": "Loose Argillite Rock", "block.tfg.rock.hardened_venus_stone": "Hardened Trachyte", + "block.tfg.rock.gravel_venus": "Trachyte Gravel", "block.tfg.spike.venus_stone_spike": "Trachyte Spike", "block.tfg.loose.venus_stone": "Loose Trachyte Rock", "block.tfg.rock.hardened_mercury_stone": "Hardened Komatiite", + "block.tfg.rock.gravel_mercury": "Komatiite Gravel", "block.tfg.spike.mercury_stone_spike": "Komatiite Spike", "block.tfg.loose.mercury_stone": "Loose Komatiite Rock", "block.tfg.rock.hardened_glacio_stone": "Hardened Phonolite", + "block.tfg.rock.gravel_glacio": "Phonolite Gravel", "block.tfg.spike.glacio_stone_spike": "Phonolite Spike", "block.tfg.loose.glacio_stone": "Loose Phonolite Rock", "block.tfg.rock.hardened_permafrost": "Hardened Permafrost", + "block.tfg.rock.cobble_permafrost": "Permafrost Cobblestone", "block.tfg.spike.permafrost_spike": "Permafrost Spike", - "block.tfg.loose.permafrost": "Permafrost Chunk", + "block.tfg.loose.permafrost": "Loose Permafrost Rock", "block.tfg.rock.raw.stromatolite": "Raw Stromatolite", "block.tfg.rock.spike.stromatolite": "Stromatolite Spike", "block.tfg.rock.raw.geyserite": "Raw Geyserite", "block.tfg.rock.spike.geyserite": "Geyserite Spike", "block.tfg.rock.hardened_red_granite": "Hardened Red Granite", + "block.tfg.rock.gravel_red_granite": "Red Granite Gravel", "block.tfg.loose.red_granite": "Loose Red Granite Rock", "block.tfg.spike.red_granite_spike": "Red Granite Spike", "block.tfg.ash_pile": "Ash Pile", @@ -452,6 +475,7 @@ "item.tfg.loose.moon_stone": "Loose Anorthosite", "item.tfg.brick.moon_stone": "Anorthosite Brick", "item.tfg.loose.moon_deepslate": "Loose Norite", + "item.tfg.brick.moon_deepslate": "Norite Brick", "item.tfg.loose.mars_stone": "Loose Argillite", "item.tfg.brick.mars_stone": "Argillite Brick", "item.tfg.loose.venus_stone": "Loose Trachyte", diff --git a/kubejs/startup_scripts/minecraft/constants.js b/kubejs/startup_scripts/minecraft/constants.js index 751aa93a1..2c092c312 100644 --- a/kubejs/startup_scripts/minecraft/constants.js +++ b/kubejs/startup_scripts/minecraft/constants.js @@ -688,14 +688,7 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:warped_hanging_sign', // Куча незер блоков - //'minecraft:netherrack', - //'minecraft:nether_bricks', - 'minecraft:cracked_nether_bricks', - 'minecraft:nether_brick_stairs', - 'minecraft:nether_brick_slab', - 'minecraft:nether_brick_wall', - 'minecraft:nether_brick_fence', - 'minecraft:chiseled_nether_bricks', + //'minecraft:netherrack', 'minecraft:red_nether_bricks', 'minecraft:red_nether_brick_stairs', 'minecraft:red_nether_brick_slab', @@ -710,16 +703,13 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:crying_obsidian', 'minecraft:piglin_head', 'minecraft:zombie_head', - 'minecraft:skeleton_skull', 'minecraft:nether_sprouts', 'minecraft:warped_roots', 'minecraft:dragon_head', 'minecraft:dragon_breath', 'minecraft:creeper_head', 'minecraft:wither_skeleton_skull', - 'minecraft:weeping_vines', 'minecraft:crimson_roots', - //'minecraft:nether_brick', 'minecraft:nether_wart', 'minecraft:respawn_anchor', 'minecraft:ghast_tear', From 04510a26c884e04ae4897e16d9e374afdd4a92c9 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 9 Sep 2025 14:38:54 +0100 Subject: [PATCH 20/21] gomenyasorry --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1d2cacabf..05ad6cfb5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,10 +2,15 @@ ## [Unreleased] ### Changes +### Bug fixes + +## [0.10.12] - 09-09-2025 +### Changes - Added cobblestone, gravel, polished stone, bricks, and chiseled bricks to all stone types that didn't have those stone types, along with some other unification (#1764) @vidal-adrien - Nether brick is now crafted from Keratophyre (#1764) @vidal-adrien ### Bug fixes - Fixed two instances of illegal lang exceptions causing errors on servers. @Redeix +- Fixed the field guide having no pages @Pyritie ## [0.10.11] - 08-09-2025 ### Mods From 8af43a10aea4cb372feb2a6e1d0602315cbb79ea Mon Sep 17 00:00:00 2001 From: Xikaro Date: Tue, 9 Sep 2025 18:49:32 +0500 Subject: [PATCH 21/21] Update build.yml --- .github/workflows/build.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1682173df..4fa558b54 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -305,7 +305,7 @@ jobs: sed -i -e "s/DEV/${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 sed -i -e "s/LOADER_VERSION/${LOADER_VERSION}/g" .pakku/multimc-overrides/mmc-pack.json sed -i -e "s/LOADER_TYPE/${LOADER_TYPE}/g" .pakku/multimc-overrides/mmc-pack.json @@ -357,14 +357,15 @@ jobs: - name: 📁 Preparing the artifact multimc run: | - mkdir -p .pakku/multimc-overrides/flame .pakku/multimc-overrides/mods + mkdir -p .pakku/multimc-overrides/flame + mkdir -p .pakku/multimc-overrides/mods mv -vf .pakku/multimc-overrides ./build/multimc cp -vf ./build/.cache/curseforge/manifest.json ./build/multimc/flame/manifest.json cp -rf ./build/.cache/curseforge/overrides ./build/multimc/.minecraft - cp -rf ./mods ./build/multimc/.minecraft/mods + cp -rf ./mods ./build/multimc/.minecraft/ cd ./build/multimc/ zip -r ${{ needs.info.outputs.project_full_name }}-multimc.zip icon.png mmc-pack.json instance.cfg .minecraft/ flame/