From 189f5aebcec08380d5ea23d72d1513d719083363 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 18 Apr 2025 10:49:56 +0100 Subject: [PATCH] Alpha Release: additions 0.9.0 (#880) Signed-off-by: Pyritie Signed-off-by: TomPlop Signed-off-by: Adora Signed-off-by: MetenBouldry <94766011+MetenBouldry@users.noreply.github.com> Signed-off-by: CaitlynMC <135169224+CaitlynMC@users.noreply.github.com> Signed-off-by: SverhRazum-Nah Signed-off-by: Redeix <59435925+Redeix@users.noreply.github.com> Signed-off-by: Xikaro <55663835+Xikaro@users.noreply.github.com> Co-authored-by: Xikaro Co-authored-by: Nebby <78170922+Nebby1999@users.noreply.github.com> Co-authored-by: Redeix Co-authored-by: TomPlop Co-authored-by: aidie8 Co-authored-by: Xikaro <55663835+Xikaro@users.noreply.github.com> Co-authored-by: Zleub Co-authored-by: Adora Co-authored-by: Curtis Merrill Co-authored-by: julia <97713533+juliakity@users.noreply.github.com> Co-authored-by: GamerDadDave Co-authored-by: MetenBouldry <94766011+MetenBouldry@users.noreply.github.com> Co-authored-by: CaitlynMC <135169224+CaitlynMC@users.noreply.github.com> Co-authored-by: SverhRazum-Nah Co-authored-by: Redeix <59435925+Redeix@users.noreply.github.com> Co-authored-by: Nebby1999 --- .github/README.md | 13 +- .github/workflows/build.yml | 287 +-- CHANGELOG.md | 15 +- config/fallingtrees_common.json | 2 +- config/forgivingworld.json | 108 +- .../quests/chapters/lv__low_voltage.snbt | 368 ++-- .../quests/chapters/questssteam_age.snbt | 79 +- .../quests/chapters/questsstoneage.snbt | 10 +- .../quests/chapters/queststfc_tips.snbt | 1 + defaultconfigs/create-server.toml | 4 +- defaultconfigs/createhorsepower-server.toml | 6 +- defaultconfigs/greate-server.toml | 22 +- ...F TRANSLATING => README IF TRANSLATING.md} | 7 +- .../assets/emi/recipe/filters/categories.json | 3 + kubejs/assets/gtceu/lang/en_us.json | 4 + .../minecraft/textures/block/sponge.png | Bin 0 -> 463 bytes .../minecraft/textures/block/wet_sponge.png | Bin 0 -> 402 bytes .../entries/mechanics/support_beams.json | 244 +++ .../uk_ua/entries/firmalife/irrigation.json | 62 + .../entries/getting_started/introduction.json | 2 +- .../uk_ua/entries/mechanics/bloomery.json | 10 +- .../uk_ua/entries/mechanics/crankshaft.json | 10 +- .../uk_ua/entries/mechanics/fire_clay.json | 8 +- .../uk_ua/entries/mechanics/glassworking.json | 8 +- .../entries/mechanics/mechanical_power.json | 10 +- .../uk_ua/entries/mechanics/papermaking.json | 161 ++ .../uk_ua/entries/mechanics/pumps.json | 10 +- .../uk_ua/entries/tfg_ores/deep_sapphire.json | 4 +- .../entries/tfg_ores/deep_scheelite.json | 4 +- .../entries/tfg_ores/normal_saltpeter.json | 2 +- .../entries/tfg_tips/anvil_working_guide.json | 174 ++ .../entries/tfg_tips/blast_furnace_tips.json | 10 +- .../uk_ua/entries/tfg_tips/faqs.json | 2 +- .../uk_ua/entries/tfg_tips/lv_machines.json | 38 +- .../tfc/textures/gui/knapping/flint.png | Bin 0 -> 528 bytes kubejs/assets/tfg/lang/en_us.json | 223 ++- kubejs/assets/tfg/textures/item/fletching.png | Bin 0 -> 307 bytes .../tfg/textures/item/flint_arrow_head.png | Bin 0 -> 618 bytes .../loot_tables/entities/golem_2.json | 25 - .../loot_tables/entities/tfc.json | 25 - .../tfg/structures/ocean/ocean_moai_0_3.nbt | Bin 1021 -> 1009 bytes .../nether/terrain/clay_patch.json | 4 +- .../nether/terrain/clay_patch_kaolin.json | 6 +- .../advancedperipherals/recipes.js | 2 + kubejs/server_scripts/ae2/recipes.js | 4 +- kubejs/server_scripts/afc/recipes.js | 7 + kubejs/server_scripts/cccbridge/recipes.js | 2 + .../server_scripts/computer_craft/recipes.js | 2 + kubejs/server_scripts/create/recipes.js | 26 +- .../endermanoverhaul/recipes.js | 7 + kubejs/server_scripts/firmalife/recipes.js | 46 +- .../server_scripts/framed_blocks/recipes.js | 29 + .../server_scripts/ftb_quests/CustomQuests.js | 41 + kubejs/server_scripts/greate/recipes.js | 52 +- .../server_scripts/greate/recipes.removes.js | 6 +- kubejs/server_scripts/gregtech/recipes.js | 926 ++------- .../gregtech/recipes.machines.js | 694 +++++++ .../gregtech/recipes.materials.js | 22 +- .../gregtech/recipes.recycling.js | 122 ++ .../gregtech/recipes.removes.js | 3 + .../gregtech/recipes.tfcmetals.js | 310 +++ kubejs/server_scripts/gregtech/tags.js | 6 + kubejs/server_scripts/gregtech/utility.js | 76 +- kubejs/server_scripts/handglider/recipes.js | 22 +- kubejs/server_scripts/main_server_script.js | 8 +- kubejs/server_scripts/minecraft/recipes.js | 77 +- .../minecraft/recipes.removes.js | 3 + kubejs/server_scripts/minecraft/tags.js | 1 - .../primitive_creatures/loot.js | 10 + .../railways/gpedia_locometal_integration.js | 116 +- kubejs/server_scripts/railways/recipes.js | 38 + kubejs/server_scripts/tfc/data.js | 11 +- kubejs/server_scripts/tfc/loot.js | 61 + kubejs/server_scripts/tfc/recipes.js | 28 +- kubejs/server_scripts/tfc/recipes.machines.js | 24 +- .../server_scripts/tfc/recipes.materials.js | 2 +- kubejs/server_scripts/tfc/recipes.metals.js | 71 +- kubejs/server_scripts/tfc/recipes.stone.js | 19 +- kubejs/server_scripts/tfc/tags.js | 7 + kubejs/server_scripts/tfg/events.js | 66 +- kubejs/server_scripts/tfg/recipes.medicine.js | 379 ++-- .../tfg/recipes.miscellaneous.js | 64 +- kubejs/server_scripts/tfg/recipes.supports.js | 4 +- kubejs/server_scripts/tfg/tags.js | 5 + .../vintage_improvements/recipes.js | 5 +- kubejs/startup_scripts/gtceu/constants.js | 2 + kubejs/startup_scripts/gtceu/machines.js | 5 + kubejs/startup_scripts/gtceu/materials.js | 25 +- kubejs/startup_scripts/minecraft/constants.js | 1 - kubejs/startup_scripts/tfg/blocks.js | 2 + kubejs/startup_scripts/tfg/items.js | 8 + mods | 2 +- pakku-lock.json | 1716 +++++++++++------ pakku.json | 22 +- 94 files changed, 4858 insertions(+), 2300 deletions(-) rename kubejs/{.README IF TRANSLATING => README IF TRANSLATING.md} (78%) create mode 100644 kubejs/assets/minecraft/textures/block/sponge.png create mode 100644 kubejs/assets/minecraft/textures/block/wet_sponge.png create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/support_beams.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/firmalife/irrigation.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/papermaking.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/anvil_working_guide.json create mode 100644 kubejs/assets/tfc/textures/gui/knapping/flint.png create mode 100644 kubejs/assets/tfg/textures/item/fletching.png create mode 100644 kubejs/assets/tfg/textures/item/flint_arrow_head.png delete mode 100644 kubejs/data/kaolinclayze/loot_tables/entities/golem_2.json delete mode 100644 kubejs/data/kaolinclayze/loot_tables/entities/tfc.json create mode 100644 kubejs/server_scripts/endermanoverhaul/recipes.js create mode 100644 kubejs/server_scripts/ftb_quests/CustomQuests.js create mode 100644 kubejs/server_scripts/gregtech/recipes.machines.js create mode 100644 kubejs/server_scripts/gregtech/recipes.recycling.js create mode 100644 kubejs/server_scripts/gregtech/recipes.tfcmetals.js create mode 100644 kubejs/server_scripts/primitive_creatures/loot.js create mode 100644 kubejs/server_scripts/tfc/loot.js diff --git a/.github/README.md b/.github/README.md index d508372c7..6df9ecba8 100644 --- a/.github/README.md +++ b/.github/README.md @@ -30,9 +30,12 @@ --- -## Survival Modpack As It Should Be +## Survival Modpack as it Should've Been -**TerraFirmaGreg-Modern** is a Forge modpack that redefines Minecraft survival by introducing realistic challenges alongside advanced technological mechanics. The heart of the modpack is formed by two standout mods: +**TerraFirmaGreg-Modern** is a Forge modpack that redefines Minecraft survival by introducing realistic challenges alongside advanced technological mechanics. +In this modpack, you will be put to the task of taking control of untouched wilderness and turning it to an industrial wonderland. +Start from humble beginning picking up rocks, and end while traversing interstellar space (coming soon)! +The heart of the modpack is formed by two standout mods: - **[TerraFirmaCraft]** - Renowned for its immersive survival mechanics and a unique, challenging approach. - **[GregTech Modern]** - A pinnacle of technical mods that brings deep, complex machinery and automation into the mix. @@ -41,9 +44,10 @@ In addition to these core mods, TerraFirmaGreg-Modern includes several other com - **[Applied Energistics]** โ€“ Cutting-edge storage and automation systems. - **[Create]** โ€“ Innovative machinery and kinetic contraptions. -- **[Gregicality Rocketry]** โ€“ Enhances GregTech with advanced rockets and space exploration features. -Many of these mods come with extra add-ons that further diversify your experience, and the modpack also integrates quests to help you navigate its complex world. + +Several hand-picked TFC and Create addons to provide even more depth. +Many other small mods tie everything together, and the modpack also integrates quests to help you navigate its complex world. --- @@ -60,4 +64,3 @@ Interested in contributing? For detailed setup instructions, coding standards, a [GregTech Modern]: https://www.curseforge.com/minecraft/mc-mods/gregtechceu-modern [Applied Energistics]: https://www.curseforge.com/minecraft/mc-mods/ae2 [Create]: https://www.curseforge.com/minecraft/mc-mods/create -[Gregicality Rocketry]: https://www.curseforge.com/minecraft/mc-mods/gcyr diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index be365a5ad..997458036 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,30 +1,33 @@ name: Project Build -run-name: "Project Build #${{ github.run_number }}" +run-name: "๐Ÿ“ฆ Project Build #${{ github.run_number }}" on: push: branches: + - dev - main concurrency: - group: ${{ github.workflow }} + group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true env: RELEASE_TYPE: "release" MINECRAFT_VERSION: "1.20.1" + RELEASE_ON_GITHUB: "true" + RELEASE_ON_CURSEFORGE: "true" + RELEASE_ON_MODRINTH: "false" + DEV_ENVIRONMENT: ${{ github.branch != 'main' }} jobs: info: name: ๐Ÿ–ฅ๏ธ Project Info runs-on: ubuntu-latest outputs: - project_version: ${{ steps.project_version.outputs.value }} - project_name: ${{ steps.project_name.outputs.value }} - project_full_name: ${{ steps.project_name.outputs.value }}-${{ steps.project_version.outputs.value }} + project_version: ${{ steps.check.outputs.version }} + project_name: ${{ steps.pakku_info.outputs.name }} + project_full_name: ${{ steps.pakku_info.outputs.name }}-${{ steps.check.outputs.version }} changelog: ${{ steps.changelog.outputs.description }} diff: ${{ steps.read_diff.outputs.diff }} - release_type: ${{ env.RELEASE_TYPE }} - minecraft_version: ${{ env.MINECRAFT_VERSION }} exists: ${{ steps.check_tag.outputs.exists }} steps: @@ -79,7 +82,7 @@ jobs: - name: ๐Ÿ“ Check and copy pakku-lock.json from previous tag id: check_copy_lock - if: steps.check_pakku_lock_prev.outputs.file_found == 'true' + if: steps.check_pakku_lock_prev.outputs.file_found shell: bash run: | git show tags/${{ steps.latest_tag.outputs.tag }}:./pakku-lock.json > ./pakku-lock-prev.json @@ -91,7 +94,7 @@ jobs: - name: ๐Ÿ“ฆ Download pakku.jar id: download_pakku - if: steps.check_pakku_lock_prev.outputs.file_found == 'true' + if: steps.check_pakku_lock_prev.outputs.file_found shell: bash run: | curl https://github.com/juraj-hrivnak/pakku/releases/latest/download/pakku.jar -o pakku.jar -L -J @@ -99,7 +102,7 @@ jobs: - name: ๐Ÿ”„ Run pakku diff id: pakku_diff - if: steps.check_pakku_lock_prev.outputs.file_found == 'true' + if: steps.check_pakku_lock_prev.outputs.file_found shell: bash run: | java -jar pakku.jar diff -v --markdown PROJECTS_DIFF.md ./pakku-lock-prev.json ./pakku-lock.json @@ -111,7 +114,7 @@ jobs: - name: ๐Ÿ“ Read PROJECTS_DIFF.md to variable id: read_diff - if: steps.check_pakku_lock_prev.outputs.file_found == 'true' + if: steps.check_pakku_lock_prev.outputs.file_found shell: bash run: | echo "๐Ÿ“ Reading PROJECTS_DIFF.md to variable..." @@ -121,66 +124,82 @@ jobs: echo EOF } >> "$GITHUB_OUTPUT" echo "โœ”๏ธ Diff content read to variable" - - - name: ๐Ÿ“Š Get Project Name - id: project_name - uses: ActionsTools/read-json-action@v1.0.5 - with: - file_path: "pakku.json" - prop_path: "name" - - - name: ๐Ÿ“Š Get Project Version - id: project_version - uses: ActionsTools/read-json-action@v1.0.5 - with: - file_path: "pakku.json" - prop_path: "version" - - name: ๐Ÿ“Š Get Minecraft Version - id: minecraft_version + - name: ๐Ÿ“Š Get Pakku Info + id: pakku_info + uses: ActionsTools/read-json-action@v1.0.5 + with: + file_path: "pakku.json" + + - name: ๐Ÿ“Š Get Pakku-lock Info + id: pakku_lock_info uses: ActionsTools/read-json-action@v1.0.5 with: file_path: "pakku-lock.json" - prop_path: "mc_versions" + + - name: ๐Ÿ” Check if tag exists + uses: mukunku/tag-exists-action@v1.6.0 + id: check_tag + with: + tag: ${{ steps.pakku_info.outputs.version }} + + - name: ๐Ÿ“ Determine Version + id: determine_version + shell: bash + run: | + if [ ${{ steps.check_tag.outputs.exists }} ]; then + echo "version=unreleased" >> $GITHUB_OUTPUT + else + echo "version=${{ steps.pakku_info.outputs.version }}" >> $GITHUB_OUTPUT + fi - name: ๐Ÿ“„ Changelog Parser id: changelog uses: coditory/changelog-parser@v1.0.2 with: path: CHANGELOG.md - - - name: ๐Ÿ“ˆ Upload Diff - id: upload_diff - if: ${{ steps.read_diff.outputs.diff != '' }} && steps.check_pakku_lock_prev.outputs.file_found == 'true' - uses: actions/upload-artifact@v4.6.2 + version: ${{ steps.determine_version.outputs.version }} + continue-on-error: true + + - name: ๐Ÿ” Check if changelog is empty + id: check + shell: bash + run: | + if [ ${{ steps.check_tag.outputs.exists }} ]; then + echo "version=build_#${{ github.run_number }}" >> $GITHUB_OUTPUT + echo "status=Unreleased" >> $GITHUB_OUTPUT + else + echo "status=${{ steps.changelog.outputs.status }}" >> $GITHUB_OUTPUT + echo "version=${{ steps.pakku_info.outputs.version }}" >> $GITHUB_OUTPUT + fi + + - name: ๐Ÿ“„ Format diff + id: format_diff + if: ${{ steps.read_diff.outputs.diff != '' }} + uses: roamingowl/template-output-with-eta@v1.12.0 with: - name: Mods-diff - path: PROJECTS_DIFF.md - - - name: ๐Ÿ” Check if tag exists - uses: mukunku/tag-exists-action@v1.6.0 - id: check_tag - with: - tag: ${{ steps.project_version.outputs.value }} + template: | + ```markdown + ${{ steps.read_diff.outputs.diff }} + ``` - name: ๐Ÿ“ Generate Github Summary uses: WcAServices/markdown-template-action@v1.1.1 with: template: | - ๐Ÿ“ƒ **Name**: ${{ steps.project_name.outputs.value }} - ๐Ÿ“ƒ **Release**: ${{ steps.project_version.outputs.value }} - ๐Ÿ“ƒ **Release Type**: ${{ env.RELEASE_TYPE }} - ๐Ÿ“ƒ **Game Version**: ${{ env.MINECRAFT_VERSION }} + ๐Ÿ“ƒ **Name**: ${{ steps.pakku_info.outputs.name }} + ๐Ÿ“ƒ **Release**: `${{ steps.check.outputs.version }}` + ๐Ÿ“ƒ **Release Type**: `${{ steps.check.outputs.status }}` + ๐Ÿ“ƒ **Game Version**: `${{ steps.pakku_lock_info.outputs.mc_versions }}` ${{ steps.changelog.outputs.description }} - ${{ steps.read_diff.outputs.diff }} + ${{ steps.format_diff.outputs.text }} build-modpack: name: ๐Ÿ“ฆ Build Modpack needs: [info] runs-on: ubuntu-latest - if: needs.info.outputs.exists != 'true' steps: - name: Checkout @@ -192,14 +211,16 @@ jobs: set +e VERSION=${{ needs.info.outputs.project_version }} + sed -i -e "s/\"version\": \"[0-9.]*\"/\"version\": \"${VERSION}\"/g" pakku.json sed -i -e "s/DEV/${VERSION}/g" config/fancymenu/customization/gui_main_menu.txt - # - name: Cache pakku - # uses: actions/cache@v4.1.2 - # with: - # path: build/.cache - # key: ${{ runner.OS }}-pakku-cache-${{ hashFiles('build/.cache/') }} - # restore-keys: ${{ runner.OS }}-pakku-cache- + - name: Cache pakku + uses: actions/cache@v4.2.3 + id: cache + with: + path: build/.cache + key: pakku-cache-${{ hashFiles('pakku-lock.json') }} + restore-keys: pakku-cache- - name: ๐Ÿ“ฆ Export modpack run: | @@ -234,7 +255,6 @@ jobs: name: ๐Ÿ“ฆ Build Server needs: [info] runs-on: ubuntu-latest - if: needs.info.outputs.exists != 'true' steps: - name: Checkout @@ -246,14 +266,16 @@ jobs: set +e VERSION=${{ needs.info.outputs.project_version }} + sed -i -e "s/\"version\": \"[0-9.]*\"/\"version\": \"${VERSION}\"/g" pakku.json sed -i -e "s/DEV/${VERSION}/g" config/fancymenu/customization/gui_main_menu.txt - # - name: Cache pakku - # uses: actions/cache@v4.1.2 - # with: - # path: build/.cache - # key: ${{ runner.OS }}-pakku-cache-${{ hashFiles('build/.cache/') }} - # restore-keys: ${{ runner.OS }}-pakku-cache- + - name: Cache pakku + uses: actions/cache@v4.2.3 + id: cache + with: + path: build/.cache + key: pakku-cache-${{ hashFiles('pakku-lock.json') }} + restore-keys: pakku-cache- - name: ๐Ÿ“ฆ Export modpack run: | @@ -277,7 +299,6 @@ jobs: name: ๐Ÿ“ฆ Build MultiMC needs: [info] runs-on: ubuntu-latest - if: needs.info.outputs.exists != 'true' steps: - name: Checkout @@ -289,15 +310,17 @@ jobs: set +e VERSION=${{ needs.info.outputs.project_version }} + sed -i -e "s/\"version\": \"[0-9.]*\"/\"version\": \"${VERSION}\"/g" pakku.json sed -i -e "s/DEV/${VERSION}/g" config/fancymenu/customization/gui_main_menu.txt sed -i -e "s/DEV/${VERSION}/g" .pakku/multimc-overrides/instance.cfg - # - name: Cache pakku - # uses: actions/cache@v4.1.2 - # with: - # path: build/.cache - # key: ${{ runner.OS }}-pakku-cache-${{ hashFiles('build/.cache/') }} - # restore-keys: ${{ runner.OS }}-pakku-cache- + - name: Cache pakku + uses: actions/cache@v4.2.3 + id: cache + with: + path: build/.cache + key: pakku-cache-${{ hashFiles('pakku-lock.json') }} + restore-keys: pakku-cache- - name: ๐Ÿ“ฆ Export run: | @@ -327,6 +350,7 @@ jobs: name: ๐Ÿš€ Release to GitHub needs: [info, build-modpack, build-server, build-multimc] runs-on: ubuntu-latest + if: github.env.RELEASE_ON_GITHUB && !github.env.DEV_ENVIRONMENT && !needs.info.outputs.exists outputs: url: ${{ steps.release.outputs.url }} @@ -339,6 +363,24 @@ jobs: with: merge-multiple: true + - name: ๐Ÿ” Check if artifact exist + id: check_artifact + shell: bash + run: | + if [ ! -f ${{ needs.info.outputs.project_full_name }}-curseforge.zip ]; then + echo '::error::No value found for artifact `curseforge.zip`.' && exit 1 + fi + if [ ! -f ${{ needs.info.outputs.project_full_name }}-modrinth.mrpack ]; then + echo '::error::No value found for artifact `modrinth.mrpack`.' && exit 1 + fi + if [ ! -f ${{ needs.info.outputs.project_full_name }}-serverpack.zip ]; then + echo '::error::No value found for artifact `serverpack.zip`.' && exit 1 + fi + if [ ! -f ${{ needs.info.outputs.project_full_name }}-multimc.zip ]; then + echo '::error::No value found for artifact `multimc.zip`.' && exit 1 + fi + echo "โœ”๏ธ All artifacts found" + - name: ๐Ÿšซ ะกlose fixed in dev uses: Xikaro/close-issues-based-on-label@master env: @@ -346,7 +388,7 @@ jobs: COMMENT: In ${{ needs.info.outputs.project_version }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Format diff + - name: ๐Ÿ“„ Format diff id: format_diff if: ${{ needs.info.outputs.diff != '' }} uses: roamingowl/template-output-with-eta@v1.12.0 @@ -369,7 +411,7 @@ jobs: ${{ needs.info.outputs.project_full_name }}-curseforge.zip ${{ needs.info.outputs.project_full_name }}-serverpack.zip ${{ needs.info.outputs.project_full_name }}-multimc.zip - prerelease: ${{ needs.info.outputs.release_type != 'release' }} + prerelease: ${{ env.RELEASE_TYPE != 'release' }} generate_release_notes: true token: ${{ secrets.GITHUB_TOKEN }} @@ -377,6 +419,7 @@ jobs: name: ๐Ÿš€ Release to CurseForge needs: [info, build-modpack, build-server, release-github] runs-on: ubuntu-latest + if: github.env.RELEASE_ON_CURSEFORGE && !github.env.DEV_ENVIRONMENT && !needs.info.outputs.exists outputs: id: ${{ steps.release.outputs.id }} @@ -388,15 +431,22 @@ jobs: echo '::error::No value found for secret key `CURSEFORGE_TOKEN`. See https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository' && exit 1 fi - - name: ๐Ÿ“ฆ Download artifact curseforge + - name: ๐Ÿ“ฆ Download artifact uses: actions/download-artifact@v4.2.1 with: - name: ${{ needs.info.outputs.project_full_name }}-curseforge + merge-multiple: true - - name: ๐Ÿ“ฆ Download artifact server - uses: actions/download-artifact@v4.2.1 - with: - name: ${{ needs.info.outputs.project_full_name }}-serverpack + - name: ๐Ÿ” Check if artifact exist + id: check_artifact + shell: bash + run: | + if [ ! -f ${{ needs.info.outputs.project_full_name }}-curseforge.zip ]; then + echo '::error::No value found for artifact `curseforge.zip`.' && exit 1 + fi + if [ ! -f ${{ needs.info.outputs.project_full_name }}-serverpack.zip ]; then + echo '::error::No value found for artifact `serverpack.zip`.' && exit 1 + fi + echo "โœ”๏ธ All artifacts found" - name: ๐Ÿš€ Upload Curseforge id: release @@ -412,47 +462,56 @@ jobs: ${{ needs.info.outputs.changelog }} ${{ needs.info.outputs.diff }} changelog-format: markdown - game-version: ${{ needs.info.outputs.minecraft_version }} - release-type: ${{ needs.info.outputs.release_type }} + game-version: ${{ env.MINECRAFT_VERSION }} + release-type: ${{ env.RELEASE_TYPE }} - # release-modrinth: - # name: ๐Ÿš€ Release to Modrinth - # needs: [info, build-modpack, build-server, release-github] - # runs-on: ubuntu-latest + release-modrinth: + name: ๐Ÿš€ Release to Modrinth + needs: [info, build-modpack, build-server, release-github] + runs-on: ubuntu-latest + if: github.env.RELEASE_ON_MODRINTH && !github.env.DEV_ENVIRONMENT && !needs.info.outputs.exists + outputs: + id: ${{ steps.release.outputs.id }} - # steps: - # - name: ๐Ÿ”’ Check if MODRINTH_API_TOKEN exist - # shell: bash - # run: | - # if [ "${{ secrets.MODRINTH_TOKEN }}" == '' ]; then - # echo '::error::No value found for secret key `MODRINTH_TOKEN`. See https://docs.github.com/en/ actionssecurity-guides/ encrypted-secrets#creating-encrypted-secrets-for-a-repository' && exit 1 - # fi + steps: + - name: ๐Ÿ”’ Check if MODRINTH_API_TOKEN exist + shell: bash + run: | + if [ "${{ secrets.MODRINTH_TOKEN }}" == '' ]; then + echo '::error::No value found for secret key `MODRINTH_TOKEN`. See https://docs.github.com/en/ actionssecurity-guides/ encrypted-secrets#creating-encrypted-secrets-for-a-repository' && exit 1 + fi - # - name: ๐Ÿ“ฆ Download artifact modrinth - # uses: actions/download-artifact@v4.2.1 - # with: - # name: ${{ needs.info.outputs.project_full_name }}-modrinth - - # - name: ๐Ÿ“ฆ Download artifact server - # uses: actions/download-artifact@v4.2.1 - # with: - # name: ${{ needs.info.outputs.project_full_name }}-serverpack - - # - name: ๐Ÿš€ Upload Modrinth - # id: release - # uses: Xikaro/upload-curseforge-modpack-action@1.1.1 - # with: - # api-token: ${{ secrets.MODRINTH_TOKEN }} - # project-id: ${{ vars.MODRINTH_ID }} - # modpack-path: ${{ needs.info.outputs.project_full_name }}-modrinth.mrpack - # modpack-server-path: ${{ needs.info.outputs.project_full_name }}-serverpack.zip - # changelog: ${{ needs.info.outputs.changelog }} - # changelog-format: markdown - # game-version: ${{ needs.info.outputs.minecraft_version }} - # display-name: ${{ needs.info.outputs.project_full_name }} - # server-display-name: ${{ needs.info.outputs.project_full_name }}-serverpack - # release-type: ${{ needs.info.outputs.release_type }} + - name: ๐Ÿ“ฆ Download artifact + uses: actions/download-artifact@v4.2.1 + with: + merge-multiple: true + - name: ๐Ÿ” Check if artifact exist + id: check_artifact + shell: bash + run: | + if [ ! -f ${{ needs.info.outputs.project_full_name }}-modrinth.mrpack ]; then + echo '::error::No value found for artifact `modrinth.mrpack`.' && exit 1 + fi + if [ ! -f ${{ needs.info.outputs.project_full_name }}-serverpack.zip ]; then + echo '::error::No value found for artifact `serverpack.zip`.' && exit 1 + fi + echo "โœ”๏ธ All artifacts found" + + - name: ๐Ÿš€ Upload Modrinth + id: release + uses: Xikaro/upload-curseforge-modpack-action@1.1.1 + with: + api-token: ${{ secrets.MODRINTH_TOKEN }} + project-id: ${{ vars.MODRINTH_ID }} + modpack-path: ${{ needs.info.outputs.project_full_name }}-modrinth.mrpack + modpack-server-path: ${{ needs.info.outputs.project_full_name }}-serverpack.zip + changelog: ${{ needs.info.outputs.changelog }} + changelog-format: markdown + game-version: ${{ env.MINECRAFT_VERSION }} + display-name: ${{ needs.info.outputs.project_full_name }} + server-display-name: ${{ needs.info.outputs.project_full_name }}-serverpack + release-type: ${{ env.RELEASE_TYPE }} discord-message: name: ๐Ÿ“ฑ Discord Message @@ -475,8 +534,8 @@ jobs: content_links_no_embed: .+ content: | **Release**: `${{ needs.info.outputs.project_version }}` - **Release Type**: `${{ needs.info.outputs.release_type }}` - **Game Version**: `${{ needs.info.outputs.minecraft_version }}` + **Release Type**: `${{ env.RELEASE_TYPE }}` + **Game Version**: `${{ env.MINECRAFT_VERSION }}` [CurseForge](https://www.curseforge.com/minecraft/modpacks/terrafirmagreg-modern/files/${{ needs.release-curseforge.outputs.id }}) โ€ข [GitHub](${{ needs.release-github.outputs.url }}) โ€ข [Issues](https://github.com/${{ github.repository }}/issues) ```markdown diff --git a/CHANGELOG.md b/CHANGELOG.md index 944dbc7ff..cdf0a075e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,20 +1,29 @@ # Changelog -## [Unreleased] +## [Unreleased] - 18.04.2025 ### Warning for upgrading your world - This is a major update that changes many things! - It is safest to create a new instance and copy your world across, instead of trying to update your world in-place. - Check that everything works before permanently changing over to the new version! - GregTech has removed its kinetic machines, so they will disappear when upgrading. Please recycle your machines first! - Several ores and ingots have changed. After upgrading, they will have a "REPLACE ME" texture. Put them in a crafting grid to change to the new version. +- Create mechanisms will stop working and will need to be replaced with "Greate" equivalents. This means that if you have any boilers running off of create THEY MAY EXPLODE! +- Tree tap has been replaced you will need to craft your old taps into the new ones. +- Gregicality Rocketry has been removed and will be replaced with Ad Astra soon. Please recycle whatever you can and make sure you are in the overworld. ### Changes - Latest version of GregTech! Comes with new textures and a few new features, many bug fixes and much more stability. - Early game overhaul! You start getting into some automation much earlier and gradually unlock more as you progress, instead of having it all dumped on you after steel. - New dimension! The Beneath, basically a TFG-ified version of the nether. Stand on overworld bedrock for a bit to start exploring! - Quest rewrite! The first few quest chapters have been totally remade from the ground up to be more readable, have fewer breaking dependencies, and reflect actual progression. Most of the optional but useful content has been put into its own dedicated section. - The minimum amount of lava source blocks to be considered infinite has been increased from 1 to 2000. There's many lava lakes underground, and trains are more accessible. -- Many other bug fixes, too many to list! - +- Create has changed completely with the addition of "Greate", "VintageImprovements", and "Horse Power". +- New structures have been added to the overworld. Some with loot! +- More cave supports have been added. Including stone, concrete, and steel supports. Higher tier supports can hold a larger area of blocks. +- Medicine had been added and can apply some helpful potion effects or be applied to arrows. +- Wax alternatives have been added, including paraffin wax and tree rosin. +- Planes! Snake-free. +- Many mods have been updated and include new features. Check out the mods list! +- Many other bug fixes, QoL features, mod integration, and recipes tweaks. too many to list! ## [0.7.19] - 25.01.2025 ### Changes diff --git a/config/fallingtrees_common.json b/config/fallingtrees_common.json index ce931146a..cb379c5a2 100644 --- a/config/fallingtrees_common.json +++ b/config/fallingtrees_common.json @@ -5,7 +5,7 @@ "treeLifetimeLength": 4.0, "dynamicMiningSpeed": { "disable": false, - "speedMultiplication": 0.1, + "speedMultiplication": 0.05, "maxSpeedMultiplication": 16.0 }, "trees": { diff --git a/config/forgivingworld.json b/config/forgivingworld.json index ac09e2342..26056c231 100644 --- a/config/forgivingworld.json +++ b/config/forgivingworld.json @@ -1,65 +1,47 @@ { - "disableVanillaPortals": { - "desc:": "Disables vanilla portals, default:false", - "disableVanillaPortals": true - }, - "teleportCooldown": { - "desc:": "Sets a delay before you can teleport again, default:15 seconds", - "teleportCooldown": 15 - }, - "instantTeleport": { - "desc:": "Instantly teleports instead of notifying the user over time,(Note this causes some lag, due to loading chunks directly) default:false", - "instantTeleport": false - }, - "teleportedRidden": { - "desc:": "Teleport ridden entities too, default:true", - "teleportedRidden": true - }, - "teleportLeashed": { - "desc:": "Teleport leashed entities too, default:true", - "teleportLeashed": true - }, - "debuglogging": { - "desc:": "Enable debug logging, default:false", - "debuglogging": false - }, - "dimensionconnections": [ - { - "from": "minecraft:overworld", - "to": "minecraft:the_nether", - "teleporttype": { - "teleporttype": "AIR", - "teleport_to_y": 125 - }, - "belowy": -58, - "slowfallticks": 1200 - }, - { - "from": "minecraft:the_nether", - "to": "minecraft:the_nether", - "teleporttype": { - "teleporttype": "CAVE", - "teleport_to_y": 4 - }, - "belowy": 0 - }, - { - "from": "minecraft:the_nether", - "to": "minecraft:overworld", - "teleporttype": { - "teleporttype": "CAVE", - "teleport_to_y": -58 - }, - "abovey": 118 - }, - { - "from": "minecraft:overworld", - "to": "minecraft:overworld", - "teleporttype": { - "teleporttype": "AIR", - "teleport_to_y": 360 - }, - "abovey": 364 - } - ] + "disableVanillaPortals": { + "desc:": "Disables vanilla portals, default:false", + "disableVanillaPortals": true + }, + "teleportCooldown": { + "desc:": "Sets a delay before you can teleport again, default:15 seconds", + "teleportCooldown": 15 + }, + "instantTeleport": { + "desc:": "Instantly teleports instead of notifying the user over time,(Note this causes some lag, due to loading chunks directly) default:false", + "instantTeleport": false + }, + "teleportedRidden": { + "desc:": "Teleport ridden entities too, default:true", + "teleportedRidden": true + }, + "teleportLeashed": { + "desc:": "Teleport leashed entities too, default:true", + "teleportLeashed": true + }, + "debuglogging": { + "desc:": "Enable debug logging, default:false", + "debuglogging": false + }, + "dimensionconnections": [ + { + "from": "minecraft:overworld", + "to": "minecraft:the_nether", + "teleporttype": { + "teleporttype": "AIR", + "teleport_to_y": 125 + }, + "belowy": -58, + "slowfallticks": 1200 + }, + { + "from": "minecraft:the_nether", + "to": "minecraft:overworld", + "teleporttype": { + "teleporttype": "CAVE", + "teleport_to_y": -58 + }, + "abovey": 118 + } + ] } \ No newline at end of file diff --git a/config/ftbquests/quests/chapters/lv__low_voltage.snbt b/config/ftbquests/quests/chapters/lv__low_voltage.snbt index 5acd24b9f..114006062 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -21,8 +21,8 @@ type: "item" }] title: "{quests.low_voltage.lv_fluid_regulator.title}" - x: 3.0d - y: 0.5d + x: 5.5d + y: -2.0d } { dependencies: ["38993B4697B0E16C"] @@ -41,8 +41,8 @@ type: "item" }] title: "{quests.low_voltage.lv_robot_arm.title}" - x: 3.0d - y: -2.0d + x: 5.5d + y: -4.0d } { dependencies: ["7EED0084BA59FED1"] @@ -57,8 +57,8 @@ type: "item" }] title: "{quests.low_voltage.lv_conveyor.title}" - x: 1.5d - y: -0.75d + x: 4.5d + y: -3.0d } { dependencies: ["7EED0084BA59FED1"] @@ -73,8 +73,8 @@ type: "item" }] title: "{quests.low_voltage.lv_pump.title}" - x: 1.5d - y: 0.5d + x: 4.5d + y: -2.0d } { dependencies: ["7EED0084BA59FED1"] @@ -89,14 +89,11 @@ type: "item" }] title: "{quests.low_voltage.lv_piston.title}" - x: 1.5d - y: -2.0d + x: 4.5d + y: -4.0d } { - dependencies: [ - "7EED0084BA59FED1" - "648BCF486E16CCB2" - ] + dependencies: ["22510C5F2386B453"] description: [ "{quests.low_voltage.lv_steam_turbine.desc.1}" "{@pagebreak}" @@ -112,15 +109,16 @@ type: "item" }] title: "{quests.low_voltage.lv_steam_turbine.title}" - x: 0.0d - y: 1.5d + x: 5.5d + y: 4.5d } { dependencies: ["6431381FBE07D6EF"] description: ["{quests.low_voltage.lv_amp_explanation.desc}"] id: "7B0FF43022F6C2EC" + optional: true shape: "rsquare" - size: 0.66d + size: 1.0d subtitle: "{quests.low_voltage.lv_amp_explanation.subtitle}" tasks: [{ count: 4L @@ -129,16 +127,16 @@ type: "item" }] title: "{quests.low_voltage.lv_amp_explanation.title}" - x: 4.5d - y: 3.5d + x: 5.5d + y: 2.5d } { dependencies: ["45B71324028F6E68"] description: ["{quests.low_voltage.aluminium_ingot.desc}"] hide_dependency_lines: false id: "7567E885B7166603" - shape: "gear" - size: 4.0d + shape: "octagon" + size: 1.5d subtitle: "{quests.low_voltage.aluminium_ingot.subtitle}" tasks: [{ id: "161B5813936E5E42" @@ -147,13 +145,19 @@ }] title: "{quests.low_voltage.aluminium_ingot.title}" x: -9.0d - y: 11.5d + y: 9.75d } { + dependencies: [ + "49896161B31DB7B4" + "5B891BA4897FD73C" + "1912758422EEB006" + ] + dependency_requirement: "one_completed" description: ["{quests.low_voltage.lv_battery_preparation.desc}"] + hide_dependency_lines: true icon: "gtceu:battery_alloy_ingot" id: "6D9D54FAB21EC086" - shape: "rsquare" size: 1.0d subtitle: "{quests.low_voltage.lv_battery_preparation.subtitle}" tasks: [ @@ -170,8 +174,8 @@ } ] title: "{quests.low_voltage.lv_battery_preparation.title}" - x: 7.5d - y: 2.5d + x: 5.5d + y: -0.5d } { description: [ @@ -198,8 +202,8 @@ type: "item" }] title: "GregTech Storage" - x: -4.5d - y: -4.0d + x: 6.5d + y: -0.5d } { dependencies: [ @@ -225,8 +229,8 @@ type: "checkmark" }] title: "{quests.low_voltage.cover_behaviour.title}" - x: 3.0d - y: -0.75d + x: 5.5d + y: -3.0d } { dependencies: [ @@ -251,64 +255,88 @@ type: "checkmark" }] title: "{quests.low_voltage.machine_auto_output_behaviour.title}" - x: -4.5d - y: 0.5d + x: -4.0d + y: 1.5d } { - dependencies: ["648BCF486E16CCB2"] + dependencies: ["22510C5F2386B453"] description: [ "{quests.low_voltage.lv_wiremill.desc.1}" "{@pagebreak}" "{quests.low_voltage.lv_wiremill.desc.2}" ] id: "32EA7E81885C8E87" - optional: true size: 1.0d subtitle: "{quests.low_voltage.lv_wiremill.subtitle}" tasks: [{ - id: "2B5BF6F3ED693B9E" - item: "gtceu:lv_wiremill" + id: "24287B2E01AF3841" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + display: { + Name: "{\"text\":\"Wiremill LV\"}" + } + "ftbfiltersystem:filter": "or(item(gtceu:lv_wiremill)item(vintageimprovements:spring_coiling_machine))" + } + } + title: "{quests.low_voltage.lv_wiremill.task}" type: "item" }] title: "{quests.low_voltage.lv_wiremill.title}" - x: -3.5d - y: -0.5d + x: -3.0d + y: 0.5d } { - dependencies: ["648BCF486E16CCB2"] + dependencies: ["22510C5F2386B453"] description: ["{quests.low_voltage.lv_bender.desc}"] id: "10ECB471A77F5136" - optional: true size: 1.0d subtitle: "{quests.low_voltage.lv_bender.subtitle}" tasks: [{ - id: "3AC3A8728EE60E4C" - item: "gtceu:lv_bender" + id: "362A01D38AC915B7" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + display: { + Name: "{\"text\":\"Bender LV\"}" + } + "ftbfiltersystem:filter": "or(item(gtceu:lv_bender)item(createaddition:rolling_mill))" + } + } + title: "{quests.low_voltage.lv_bender.task}" type: "item" }] title: "{quests.low_voltage.lv_bender.title}" - x: -3.5d - y: 1.5d + x: -3.0d + y: 2.5d } { - dependencies: ["648BCF486E16CCB2"] + dependencies: ["22510C5F2386B453"] description: [ "{quests.low_voltage.lv_lathe.desc.1}" "{@pagebreak}" "{quests.low_voltage.lv_lathe.desc.2}" ] id: "07E7678095258EDB" - optional: true size: 1.0d subtitle: "{quests.low_voltage.lv_lathe.subtitle}" tasks: [{ - id: "6781D0241D0564A5" - item: "gtceu:lv_lathe" + id: "66E007873E6F2471" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(vintageimprovements:lathe)item(gtceu:lv_lathe))" + } + } + title: "{quests.low_voltage.lv_lathe.task}" type: "item" }] title: "{quests.low_voltage.lv_lathe.title}" - x: -3.5d - y: 0.5d + x: -3.0d + y: 1.5d } { dependencies: ["22510C5F2386B453"] @@ -322,8 +350,8 @@ type: "item" }] title: "{quests.low_voltage.lv_polariser.title}" - x: 2.0d - y: -4.0d + x: 3.0d + y: 1.5d } { dependencies: ["6E186F9C57155BFA"] @@ -335,6 +363,7 @@ "{quests.low_voltage.lbb.desc.3}" ] id: "33263404ED38C6D2" + optional: true shape: "heart" size: 1.0d subtitle: "{quests.low_voltage.lbb.subtitle}" @@ -344,8 +373,8 @@ type: "item" }] title: "{quests.low_voltage.lbb.title}" - x: -1.0d - y: 1.5d + x: 7.0d + y: 4.5d } { dependencies: ["1E9BE8D3F8A602DC"] @@ -375,6 +404,7 @@ "{quests.low_voltage.lv_chemical_bath.desc.2}" ] id: "330BDB559A7BAB35" + optional: true size: 1.0d subtitle: "{quests.low_voltage.lv_chemical_bath.subtitle}" tasks: [{ @@ -383,8 +413,8 @@ type: "item" }] title: "{quests.low_voltage.lv_chemical_bath.title}" - x: 7.5d - y: 4.5d + x: 5.5d + y: 8.0d } { dependencies: ["64E1E87B8AF72968"] @@ -410,11 +440,11 @@ type: "checkmark" }] title: "{quests.low_voltage.programmed_circuits.title}" - x: -5.5d - y: 0.5d + x: -5.0d + y: 1.5d } { - dependencies: ["648BCF486E16CCB2"] + dependencies: ["22510C5F2386B453"] description: ["{quests.low_voltage.lv_canner.desc}"] id: "37307A46E70011D3" size: 1.0d @@ -425,8 +455,8 @@ type: "item" }] title: "{quests.low_voltage.lv_canner.title}" - x: 4.5d - y: 2.5d + x: 3.0d + y: 0.5d } { dependencies: [ @@ -454,8 +484,8 @@ type: "item" }] title: "{quests.low_voltage.lv_battery.title}" - x: 6.0d - y: 2.5d + x: 5.5d + y: 0.5d } { dependencies: ["3E6DC423FE4A99F7"] @@ -484,8 +514,8 @@ type: "item" }] title: "{quests.low_voltage.lv_battery_buffer_4x.title}" - x: 6.0d - y: 3.5d + x: 5.5d + y: 1.5d } { dependencies: ["1646BF9194100E57"] @@ -508,7 +538,7 @@ y: 6.5d } { - dependencies: ["648BCF486E16CCB2"] + dependencies: ["22510C5F2386B453"] description: ["{quests.low_voltage.other_machines.desc}"] icon: "gtceu:crushed_sulfur_ore" id: "701BCADAE5CF6CA5" @@ -521,8 +551,8 @@ type: "checkmark" }] title: "{quests.low_voltage.other_machines.title}" - x: 6.0d - y: 4.5d + x: 5.5d + y: 7.0d } { description: ["{quests.low_voltage.lv_age_progression.desc}"] @@ -538,7 +568,7 @@ }] title: "{quests.low_voltage.lv_age_progression.title}" x: 0.0d - y: 4.5d + y: -3.0d } { dependencies: [ @@ -572,8 +602,8 @@ type: "item" }] title: "{quests.low_voltage.lv_ore_prospector.title}" - x: 6.0d - y: 1.0d + x: 6.5d + y: 0.5d } { dependencies: ["5B2696206205CB2E"] @@ -599,7 +629,7 @@ y: 6.5d } { - dependencies: ["648BCF486E16CCB2"] + dependencies: ["22510C5F2386B453"] description: ["{quests.low_voltage.lv_gas_collector.desc}"] id: "15928F50AE80A5CF" shape: "rsquare" @@ -615,7 +645,7 @@ y: 6.5d } { - dependencies: ["648BCF486E16CCB2"] + dependencies: ["22510C5F2386B453"] description: [ "{quests.low_voltage.lv_chemical_reactor.desc.1}" "{@pagebreak}" @@ -659,8 +689,8 @@ type: "item" }] title: "{quests.low_voltage.universal_cell.title}" - x: -4.5d - y: 1.5d + x: -4.0d + y: 2.5d } { dependencies: ["581CDF545E1EA1FD"] @@ -688,10 +718,7 @@ y: 4.5d } { - dependencies: [ - "5B891BA4897FD73C" - "49896161B31DB7B4" - ] + dependencies: ["5B891BA4897FD73C"] dependency_requirement: "one_completed" description: ["{quests.low_voltage.soldering_alloy.desc}"] icon: "gtceu:soldering_alloy_ingot" @@ -715,10 +742,11 @@ "{@pagebreak}" "{quests.low_voltage.lv_electroliser.desc.2}" "{@pagebreak}" - "{quests.low_voltage.lv_electroliser.desc.3" + "{quests.low_voltage.lv_electroliser.desc.3}" ] hide_dependent_lines: true id: "32B08E6F414A00C0" + optional: true size: 1.0d subtitle: "{quests.low_voltage.lv_electroliser.subtitle}" tasks: [{ @@ -727,33 +755,42 @@ type: "item" }] title: "{quests.low_voltage.lv_electroliser.title}" - x: 6.0d - y: 6.0d + x: 6.5d + y: 7.0d } { - dependencies: ["648BCF486E16CCB2"] + dependencies: ["22510C5F2386B453"] description: ["{quests.low_voltage.lv_cutter.desc}"] id: "3A8D7FC6F316C38C" - optional: true size: 1.0d subtitle: "{quests.low_voltage.lv_cutter.subtitle}" tasks: [{ - id: "662DB818821C4EAE" - item: "gtceu:lv_cutter" + id: "5C48A838AB442329" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + display: { + Name: "{\"text\":\"LV Cutter\"}" + } + "ftbfiltersystem:filter": "or(item(gtceu:lv_cutter)item(greate:steel_mechanical_saw))" + } + } + title: "{quests.low_voltage.lv_cutter.task}" type: "item" }] title: "{quests.low_voltage.lv_cutter.title}" - x: -3.5d - y: -1.5d + x: -3.0d + y: -0.5d } { - dependencies: ["648BCF486E16CCB2"] + dependencies: ["22510C5F2386B453"] description: [ "{quests.low_voltage.lv_centrifuge.desc.1}" "{@pagebreak}" "{quests.low_voltage.lv_centrifuge.desc.2}" "{@pagebreak}" - "{quests.low_voltage.lv_centrifuge.desc.3" + "{quests.low_voltage.lv_centrifuge.desc.3}" ] id: "5263F866638D875C" shape: "octagon" @@ -772,6 +809,7 @@ dependencies: ["37307A46E70011D3"] description: ["{quests.low_voltage.lv_sprayer.desc}"] id: "5AD9884E7BFB2510" + optional: true shape: "heart" size: 1.0d subtitle: "{quests.low_voltage.lv_sprayer.subtitle}" @@ -782,11 +820,11 @@ type: "item" }] title: "{quests.low_voltage.lv_sprayer.title}" - x: 4.5d - y: 1.0d + x: 4.25d + y: -0.5d } { - dependencies: ["648BCF486E16CCB2"] + dependencies: ["22510C5F2386B453"] description: [ "{quests.low_voltage.lv_assembler.desc.1}" "{@pagebreak}" @@ -806,7 +844,7 @@ y: 7.0d } { - dependencies: ["648BCF486E16CCB2"] + dependencies: ["22510C5F2386B453"] description: [ "{quests.low_voltage.lv_extractor.desc.1}" "{@pagebreak}" @@ -866,17 +904,14 @@ y: 11.0d } { - dependencies: [ - "15928F50AE80A5CF" - "32B08E6F414A00C0" - ] + dependencies: ["15928F50AE80A5CF"] dependency_requirement: "one_completed" description: [ "{quests.low_voltage.lv_oxygen.desc.1}" "{@pagebreak}" "{quests.low_voltage.lv_oxygen.desc.2}" "{@pagebreak}" - "{quests.low_voltage.lv_oxygen.desc.3" + "{quests.low_voltage.lv_oxygen.desc.3}" ] icon: "gtceu:oxygen_bucket" id: "1A77CA35F054F988" @@ -921,10 +956,7 @@ y: 9.0d } { - dependencies: [ - "5B891BA4897FD73C" - "49896161B31DB7B4" - ] + dependencies: ["5B891BA4897FD73C"] dependency_requirement: "one_completed" description: ["{quests.low_voltage.gallium_arsenide.desc}"] id: "4073577B7EF9B593" @@ -1010,7 +1042,7 @@ }] title: "{quests.low_voltage.aluminium_dust.title}" x: -9.0d - y: 8.625d + y: 8.0d } { dependencies: ["1E9BE8D3F8A602DC"] @@ -1088,7 +1120,6 @@ icon: "gtceu:lv_rock_crusher" id: "1F2359106FC95603" optional: true - shape: "heart" size: 1.0d subtitle: "{quests.low_voltage.lv_rock_crusher.subtitle}" tasks: [{ @@ -1107,8 +1138,8 @@ type: "item" }] title: "{quests.low_voltage.lv_rock_crusher.title}" - x: -2.0d - y: -6.0d + x: 3.0d + y: 3.5d } { dependencies: ["22510C5F2386B453"] @@ -1116,7 +1147,6 @@ icon: "gtceu:lv_charger_4x" id: "2DB259568F347C0E" optional: true - shape: "heart" size: 1.0d subtitle: "{quests.low_voltage.lv_turbo_charge.subtitle}" tasks: [{ @@ -1135,8 +1165,8 @@ type: "item" }] title: "{quests.low_voltage.lv_turbo_charge.title}" - x: 2.0d - y: -6.0d + x: 3.0d + y: 2.5d } { dependencies: ["22510C5F2386B453"] @@ -1144,7 +1174,6 @@ icon: "gtceu:lv_fisher" id: "3B26CA44EA955B07" optional: true - shape: "heart" size: 1.0d subtitle: "{quests.low_voltage.lv_fisher.subtitle}" tasks: [{ @@ -1163,8 +1192,8 @@ type: "item" }] title: "{quests.low_voltage.lv_fisher.title}" - x: 0.0d - y: -6.0d + x: 3.0d + y: -0.5d } { dependencies: ["7CCC1BDDE0C67F16"] @@ -1180,11 +1209,11 @@ type: "item" }] title: "Tape for Crate" - x: -3.0d - y: -4.0d + x: 7.5d + y: -0.5d } { - dependencies: ["648BCF486E16CCB2"] + dependencies: ["22510C5F2386B453"] description: ["{quests.low_voltage.lv_mixer.desc}"] id: "5B891BA4897FD73C" optional: true @@ -1192,23 +1221,34 @@ size: 2.0d subtitle: "{quests.low_voltage.lv_mixer.subtitle}" tasks: [{ - id: "27715DF608CBAE08" - item: "gtceu:lv_mixer" + id: "337A6B670842F80A" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + display: { + Name: "{\"text\":\"LV Mixer\"}" + } + "ftbfiltersystem:filter": "or(item(greate:steel_mechanical_mixer)item(gtceu:lv_mixer))" + } + } + title: "{quests.low_voltage.lv_mixer.task}" type: "item" }] title: "{quests.low_voltage.lv_mixer.title}" - x: 4.0d + x: 2.0d y: 7.0d } { + dependencies: ["12565AB92A2BF976"] description: [ "{quests.low_voltage.lv_machine_hull.desc.1}" "{@pagebreak}" "{quests.low_voltage.lv_machine_hull.desc.2}" ] id: "22510C5F2386B453" - shape: "octagon" - size: 1.5d + shape: "gear" + size: 2.0d subtitle: "{quests.low_voltage.lv_machine_hull.subtitle}" tasks: [{ id: "499CACFF0350B3CA" @@ -1217,7 +1257,7 @@ }] title: "{quests.low_voltage.lv_machine_hull.title}" x: 0.0d - y: -4.0d + y: 4.5d } { dependencies: ["15928F50AE80A5CF"] @@ -1241,10 +1281,7 @@ y: 9.0d } { - dependencies: [ - "22510C5F2386B453" - "6903C72A254A7B08" - ] + dependencies: ["648BCF486E16CCB2"] description: ["{quests.low_voltage.lv_motor.desc}"] icon: "gtceu:lv_electric_motor" id: "7EED0084BA59FED1" @@ -1258,8 +1295,8 @@ type: "item" }] title: "{quests.low_voltage.lv_motor.title}" - x: 0.0d - y: -0.75d + x: 3.0d + y: -3.0d } { dependencies: ["581CDF545E1EA1FD"] @@ -1287,6 +1324,7 @@ { dependencies: ["3E6DC423FE4A99F7"] id: "4B4F052F00435AFE" + optional: true shape: "heart" tasks: [{ id: "00E6EDB1E4C1482F" @@ -1297,7 +1335,81 @@ } type: "item" }] - x: 7.0d + x: 6.5d + y: 1.5d + } + { + dependencies: ["22510C5F2386B453"] + description: [ + "{quests.steam_age.alternator.desc.1}" + "{@pagebreak}" + "{quests.steam_age.alternator.desc.2}" + "" + "{image:tfg:textures/quests/alternator_multiblock.png width:100 height:100 align:center}" + ] + id: "2DC24661CAD557B0" + optional: true + subtitle: "{quests.steam_age.alternator.subtitle}" + tasks: [ + { + id: "5367AD306EAB07E2" + item: "createaddition:alternator" + type: "item" + } + { + id: "040F5FC6058411EE" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + display: { + Name: "{\"text\":\"LV Converter\"}" + } + "ftbfiltersystem:filter": "or(item(gtceu:lv_1a_energy_converter)item(gtceu:lv_4a_energy_converter)item(gtceu:lv_8a_energy_converter)item(gtceu:lv_16a_energy_converter))" + } + } + title: "" + type: "item" + } + ] + title: "{quests.steam_age.alternator.title}" + x: 5.5d + y: 5.5d + } + { + dependencies: ["7567E885B7166603"] + description: [ + "{quests.low_voltage.mv_hull.desc1}" + "{@pagebreak}" + "{quests.low_voltage.mv_hull.desc2}" + ] + id: "71A3D034BBA13CF0" + shape: "gear" + size: 4.0d + subtitle: "{quests.low_voltage.mv_hull.subtitle}" + tasks: [{ + id: "371A182195BD9277" + item: "gtceu:mv_machine_hull" + type: "item" + }] + title: "{quests.low_voltage.mv_hull.title}" + x: -9.0d + y: 14.0d + } + { + dependencies: ["648BCF486E16CCB2"] + description: ["{quests.low_voltage.lv_machine_casing.desc}"] + id: "12565AB92A2BF976" + shape: "octagon" + size: 2.0d + subtitle: "{quests.low_voltage.lv_machine_casing.subtitle}" + tasks: [{ + id: "7459A24E5EBE148D" + item: "gtceu:lv_machine_casing" + type: "item" + }] + title: "{quests.low_voltage.lv_machine_casing.title}" + x: 0.0d y: 1.0d } ] diff --git a/config/ftbquests/quests/chapters/questssteam_age.snbt b/config/ftbquests/quests/chapters/questssteam_age.snbt index f2fd57329..e6c121a2c 100644 --- a/config/ftbquests/quests/chapters/questssteam_age.snbt +++ b/config/ftbquests/quests/chapters/questssteam_age.snbt @@ -26,20 +26,6 @@ x: -13.5d y: 7.5d } - { - id: "00B33DFF6076A2C0" - linked_quest: "7EED0084BA59FED1" - x: -13.5d - y: 5.5d - } - { - id: "044ADF2296BC1A8F" - linked_quest: "6E186F9C57155BFA" - shape: "square" - size: 1.5d - x: -13.5d - y: 3.5d - } { id: "1F1E7097C015BE33" linked_quest: "48A8E3210B2BAE1C" @@ -1020,54 +1006,6 @@ x: -22.5d y: 12.0d } - { - dependencies: [ - "183D47F04CAEBFA7" - "3D8174C64DDC268B" - ] - description: [ - "{quests.steam_age.alternator.desc.1}" - "{@pagebreak}" - "{quests.steam_age.alternator.desc.2}" - "{image:tfg:textures/quests/alternator_multiblock.png width:100 height:100 align:center}" - ] - id: "0E57FC7FBFF1CFEB" - optional: true - shape: "square" - size: 1.5d - subtitle: "{quests.steam_age.alternator.subtitle}" - tasks: [ - { - id: "2A48D5B33BB7C9FE" - item: "createaddition:alternator" - type: "item" - } - { - id: "0115F13A8C4E6872" - item: "gtceu:lv_4a_energy_converter" - optional_task: true - type: "item" - } - ] - title: "{quests.steam_age.alternator.title}" - x: -10.0d - y: 3.5d - } - { - dependencies: ["3D8174C64DDC268B"] - description: ["{quests.steam_age.what_next.desc}"] - icon: "gtceu:lv_machine_hull" - id: "0DAE3D612E70F462" - shape: "diamond" - subtitle: "{quests.steam_age.what_next.subtitle}" - tasks: [{ - id: "759B03FB27B79731" - type: "checkmark" - }] - title: "{quests.steam_age.what_next.title}" - x: -7.0d - y: 6.0d - } { dependencies: ["51CBF7378FFAD514"] description: [ @@ -1165,21 +1103,20 @@ subtitle: "{quests.steam_age.create_tools.subtitle}" tasks: [ { - id: "272B2620E00219B5" + id: "12C909F6EB4BB615" + item: "create:goggles" + optional_task: true + type: "item" + } + { + id: "7721793B4C0AFD2C" item: { Count: 1 id: "ftbfiltersystem:smart_filter" tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(forge:tools/wrench)" + "ftbfiltersystem:filter": "or(item(gtceu:copper_wrench)item(gtceu:bronze_wrench)item(gtceu:black_bronze_wrench)item(gtceu:bismuth_bronze_wrench)item(gtceu:wrought_iron_wrench)item(gtceu:steel_wrench))" } } - title: "Any #forge:tools/wrench" - type: "item" - } - { - id: "12C909F6EB4BB615" - item: "create:goggles" - optional_task: true type: "item" } ] diff --git a/config/ftbquests/quests/chapters/questsstoneage.snbt b/config/ftbquests/quests/chapters/questsstoneage.snbt index d0f810272..d78ad7781 100644 --- a/config/ftbquests/quests/chapters/questsstoneage.snbt +++ b/config/ftbquests/quests/chapters/questsstoneage.snbt @@ -89,12 +89,10 @@ subtitle: "{quests.stone_age.find_potable_water.subtitle}" tasks: [{ icon: "minecraft:water_bucket" - id: "73E3594A5481E63F" - observe_type: 0 - timer: 0L - title: "{quests.tasktype.lookat} {quests.stone_age.find_potable_water.task}" - to_observe: "minecraft:water" - type: "observation" + id: "3601D2311BB1383F" + stage: "tfg.stages.quests.drank_fresh_water_with_hand" + title: "{quests.stone_age.find_potable_water.task}" + type: "gamestage" }] title: "{quests.stone_age.find_potable_water.title}" x: 4.5d diff --git a/config/ftbquests/quests/chapters/queststfc_tips.snbt b/config/ftbquests/quests/chapters/queststfc_tips.snbt index 017ebfa91..862e05861 100644 --- a/config/ftbquests/quests/chapters/queststfc_tips.snbt +++ b/config/ftbquests/quests/chapters/queststfc_tips.snbt @@ -2284,6 +2284,7 @@ "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:glass_basin_blocks)" } } + optional_task: true title: "Any #tfc:glass_basin_blocks" type: "item" } diff --git a/defaultconfigs/create-server.toml b/defaultconfigs/create-server.toml index 30beb43a9..a3d5e69b6 100644 --- a/defaultconfigs/create-server.toml +++ b/defaultconfigs/create-server.toml @@ -302,8 +302,8 @@ hand_crank = 2.0 steam_engine = 32.0 creative_motor = 16384.0 - large_water_wheel = 16.0 - water_wheel = 4.0 + large_water_wheel = 32.0 + water_wheel = 8.0 windmill_bearing = 32.0 #. diff --git a/defaultconfigs/createhorsepower-server.toml b/defaultconfigs/createhorsepower-server.toml index b68cf9a5b..e65e62016 100644 --- a/defaultconfigs/createhorsepower-server.toml +++ b/defaultconfigs/createhorsepower-server.toml @@ -6,13 +6,13 @@ creatureRPMRange = 16 #How much stress small creatures can produce for the horse crank. #Range: > 1 - smallCreatureStressRange = 4 + smallCreatureStressRange = 8 #How much stress medium creatures can produce for the horse crank. #Range: > 1 - mediumCreatureStressRange = 6 + mediumCreatureStressRange = 12 #How much stress large creatures can produce for the horse crank. #Range: > 1 - largeCreatureStressRange = 8 + largeCreatureStressRange = 16 #Path Category [paths] diff --git a/defaultconfigs/greate-server.toml b/defaultconfigs/greate-server.toml index 7f31edd5c..912518982 100644 --- a/defaultconfigs/greate-server.toml +++ b/defaultconfigs/greate-server.toml @@ -78,7 +78,7 @@ fanSpeedMultiplier = 0.75 andesite_alloy_gearbox = 0.0 andesite_alloy_mechanical_press = 1.0 andesite_alloy_mechanical_mixer = 0.5 - andesite_alloy_millstone = 0.25 + andesite_alloy_millstone = 0.5 andesite_alloy_mechanical_saw = 0.5 andesite_alloy_mechanical_pump = 0.5 @@ -97,7 +97,7 @@ fanSpeedMultiplier = 0.75 steel_gearbox = 0.0 steel_mechanical_press = 2.0 steel_mechanical_mixer = 1.0 - steel_millstone = 0.5 + steel_millstone = 1.0 steel_mechanical_saw = 1.0 steel_mechanical_pump = 1.0 @@ -116,7 +116,7 @@ fanSpeedMultiplier = 0.75 aluminium_gearbox = 0.0 aluminium_mechanical_press = 3.0 aluminium_mechanical_mixer = 1.5 - aluminium_millstone = 1.0 + aluminium_millstone = 1.5 aluminium_mechanical_saw = 1.5 aluminium_mechanical_pump = 1.5 @@ -135,7 +135,7 @@ fanSpeedMultiplier = 0.75 stainless_steel_gearbox = 0.0 stainless_steel_mechanical_press = 4.0 stainless_steel_mechanical_mixer = 2.0 - stainless_steel_millstone = 1.5 + stainless_steel_millstone = 2.0 stainless_steel_mechanical_saw = 2.0 stainless_steel_mechanical_pump = 2.0 @@ -154,7 +154,7 @@ fanSpeedMultiplier = 0.75 titanium_gearbox = 0.0 titanium_mechanical_press = 5.0 titanium_mechanical_mixer = 2.5 - titanium_millstone = 2.0 + titanium_millstone = 2.5 titanium_mechanical_saw = 2.5 titanium_mechanical_pump = 2.5 @@ -173,7 +173,7 @@ fanSpeedMultiplier = 0.75 tungsten_steel_gearbox = 0.0 tungsten_steel_mechanical_press = 6.0 tungsten_steel_mechanical_mixer = 3.0 - tungsten_steel_millstone = 2.5 + tungsten_steel_millstone = 3.0 tungsten_steel_mechanical_saw = 3.0 tungsten_steel_mechanical_pump = 3.0 @@ -192,7 +192,7 @@ fanSpeedMultiplier = 0.75 rhodium_plated_palladium_gearbox = 0.0 rhodium_plated_palladium_mechanical_press = 7.0 rhodium_plated_palladium_mechanical_mixer = 3.5 - rhodium_plated_palladium_millstone = 3.0 + rhodium_plated_palladium_millstone = 3.5 rhodium_plated_palladium_mechanical_saw = 3.5 rhodium_plated_palladium_mechanical_pump = 3.5 @@ -211,7 +211,7 @@ fanSpeedMultiplier = 0.75 naquadah_alloy_gearbox = 0.0 naquadah_alloy_mechanical_press = 8.0 naquadah_alloy_mechanical_mixer = 4.0 - naquadah_alloy_millstone = 4.5 + naquadah_alloy_millstone = 4.0 naquadah_alloy_mechanical_saw = 4.0 naquadah_alloy_mechanical_pump = 4.0 @@ -230,7 +230,7 @@ fanSpeedMultiplier = 0.75 darmstadtium_gearbox = 0.0 darmstadtium_mechanical_press = 9.0 darmstadtium_mechanical_mixer = 4.5 - darmstadtium_millstone = 5.0 + darmstadtium_millstone = 4.5 darmstadtium_mechanical_saw = 4.5 darmstadtium_mechanical_pump = 4.5 @@ -249,7 +249,7 @@ fanSpeedMultiplier = 0.75 neutronium_gearbox = 0.0 neutronium_mechanical_press = 10.0 neutronium_mechanical_mixer = 5.0 - neutronium_millstone = 5.5 + neutronium_millstone = 5.0 neutronium_mechanical_saw = 5.0 neutronium_mechanical_pump = 5.0 @@ -284,7 +284,7 @@ fanSpeedMultiplier = 0.75 #. #Configure the max stress a kinetic block of this tier can support. #Range: > -2147483648 - andesiteMaxCapacity = 16 + andesiteMaxCapacity = 32 #. #Settings related to steel tier machines diff --git a/kubejs/.README IF TRANSLATING b/kubejs/README IF TRANSLATING.md similarity index 78% rename from kubejs/.README IF TRANSLATING rename to kubejs/README IF TRANSLATING.md index dc2aafa30..65b613dd6 100644 --- a/kubejs/.README IF TRANSLATING +++ b/kubejs/README IF TRANSLATING.md @@ -2,8 +2,11 @@ Files located at "assets/x/lang" (where x is the modid youre looking to translat This means that any changes done to the files in "assets/x/lang" WILL BE OVERWRITTEN the next time the tool is ran! If you wish to properly write localization for an already supported/translated mod: -1. Go to "minecraft/tools/LanguageMerger/LanguageFiles" +1. Go to the [Tools-Modern] repo 2. Go to the folder of your mod of choice. 3. Open the Localization folder for your language, these are the actual locales supported by the mod (ie: en_us) * If youre looking to add a new language, create a new folder with your chosen locale -4. Edit, or add a new JSON file with your language values. \ No newline at end of file +4. Edit, or add a new JSON file with your language values. + + +[Tools-Modern]: https://github.com/TerraFirmaGreg-Team/Tools-Modern \ No newline at end of file diff --git a/kubejs/assets/emi/recipe/filters/categories.json b/kubejs/assets/emi/recipe/filters/categories.json index 617dcf1a3..19a43d2d5 100644 --- a/kubejs/assets/emi/recipe/filters/categories.json +++ b/kubejs/assets/emi/recipe/filters/categories.json @@ -66,6 +66,9 @@ { "category": "greate:automatic_packing" }, + { + "category": "greate:packing" + }, { "id": "/emi:/crafting/repairing/[^*]+/" }, diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index fa5dd0f72..218963003 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -5,6 +5,10 @@ "block.gtceu.ender_dome": "Enderarium", "block.gtceu.greenhouse": "Greenhouse", "block.gtceu.steam_bloomery": "Steam Bloomery", + "block.gtceu.black_bronze_crate": "Black Bronze Crate", + "block.gtceu.black_bronze_drum": "Black Bronze Drum", + "block.gtceu.bismuth_bronze_crate": "Bismuth Bronze Crate", + "block.gtceu.bismuth_bronze_drum": "Bismuth Bronze Drum", "gtceu.nether_dome": "Netherarium", "gtceu.ender_dome": "Enderarium", "gtceu.greenhouse": "Electric Greenhouse", diff --git a/kubejs/assets/minecraft/textures/block/sponge.png b/kubejs/assets/minecraft/textures/block/sponge.png new file mode 100644 index 0000000000000000000000000000000000000000..013102b5720290865b5f63eab7f7f4203b8a0202 GIT binary patch literal 463 zcmV;=0WkiFP)m{ z(B-@#BDK+)0i1J;gq*ipn9_`h9E5V-$a&+m ze>?+lyS)RjEYGSK<3M{#DYag8M#R^iI56K(aHpn*k&O%w1C(b#p*Ee8C7{aA`AIJM^Gv%-|UHjmDU&m{4iU`;1 z8_qeFs7?Vl*65Q0=2C*ZLE%kpHJ9>h4*$;^gPF}x|wdj=s~ z4kKHLmWQD>k({?ms#@5`UMmILLZkHk{qI00#(`1_{{bH83TEU2FP#7Y002ovPDHLk FV1kX9&~5+# literal 0 HcmV?d00001 diff --git a/kubejs/assets/minecraft/textures/block/wet_sponge.png b/kubejs/assets/minecraft/textures/block/wet_sponge.png new file mode 100644 index 0000000000000000000000000000000000000000..18c768f49ff6e367f5e8b7bedef5125474c24c65 GIT binary patch literal 402 zcmV;D0d4+?P)`6wp6)$PZ$xDGGk`6 zc5qTQNmlQwDh8@JR*wj#^ZC+)N9m&)fOWmo+R^>Yj9M2a8R}iP92Ka_nv^Cpjq(*d z!mM@a$#jpPPyZ1g$(J&BKJJd%&dkRinAyvW#o#^BzHcwA%V!Z07*qoM6N<$g2Usj&Hw-a literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/support_beams.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/support_beams.json new file mode 100644 index 000000000..8a497927b --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/support_beams.json @@ -0,0 +1,244 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "name": "Support Beams & Collapses", + "category": "tfc:mechanics", + "icon": "tfc:wood/support/oak", + "pages": [ + { + "type": "patchouli:text", + "text": "In TerraFirmaCraft, raw rock is unstable and susceptible to $(thing)Collapsing$(). Many rock blocks, including $(thing)Raw Rock$(), $(thing)Ores$(), $(thing)Smooth$() and $(thing)Spikes$() can all rain down on your head under the right circumstances.$(br2)$(thing)Support Beams$() can be used to prevent collapses from occurring.", + "title": "Support Beams" + }, + { + "type": "patchouli:text", + "text": "Collapses can occur whenever a player $(thing)mines any Raw Rock$() that is near to $(thing)Unsupported Raw Rock$(). Once a collapse has started, however, even previously $(thing)Supported$() rock can start to collapse.$(br2)The rock on the roof of caves is $(thing)Naturally Supported$(). Any raw rock with a non-collapsible solid block beneath it, is also $(thing)Supported$(). Alternatively, $(thing)Support Beams$() can support a wide area at once." + }, + { + "type": "patchouli:text", + "text": "When graded $(l:the_world/ores_and_minerals)Ore$() (ore that can be poor, normal, or rich) collapses, it degrades in quality. Rich ore will become normal, normal will become poor, and poor will turn to cobblestone. Mineral ores will turn into cobblestone right away." + }, + { + "type": "patchouli:text", + "text": "Dirt, grass, clay, gravel, cobblestone, and sand are also affected by gravity. However, unlike vanilla gravity blocks, these blocks fall down slopes, and cannot be stacked more than one high without supporting blocks around. $(l:mechanics/sluices)Ore Deposits$() also landslide, but do not degrade in quality." + }, + { + "type": "patchouli:crafting", + "recipe": "tfc:crafting/wood/oak_support", + "title": "Support Beams", + "text": "To get started, $(thing)Support Beams$() can be crafted with a $(thing)Saw$() and any type of $(thing)Logs$().$(br2)Placing a $(thing)Support Beam$() on top of a block places a column up to three tall. These must have a solid block beneath them to stay upright." + }, + { + "type": "tfc:multimultiblock", + "text": "$(thing)Horizontal$() beams can be placed between to connect two $(thing)Vertical$() beams that are within five blocks, as in the above diagram.", + "multiblocks": [ + { + "pattern": [ + [ + " ", + "CRD", + " " + ], + [ + " ", + "V W", + " " + ], + [ + " ", + "V W", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ], + [ + " ", + " ", + " " + ] + ], + "mapping": { + "R": "air", + "C": "air", + "D": "air", + "V": "air", + "W": "air", + "0": "tfc:rock/raw/andesite", + "G": "tfc:rock/raw/andesite" + } + }, + { + "pattern": [ + [ + " ", + "CRD", + " " + ], + [ + " ", + "V W", + " " + ], + [ + " ", + "V W", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ], + [ + " ", + " ", + " " + ] + ], + "mapping": { + "R": "air", + "C": "tfc:wood/vertical_support/oak", + "D": "air", + "V": "tfc:wood/vertical_support/oak", + "W": "air", + "0": "tfc:rock/raw/andesite", + "G": "tfc:rock/raw/andesite" + } + }, + { + "pattern": [ + [ + " ", + "CRD", + " " + ], + [ + " ", + "V W", + " " + ], + [ + " ", + "V W", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ], + [ + " ", + " ", + " " + ] + ], + "mapping": { + "R": "air", + "C": "tfc:wood/vertical_support/oak", + "D": "tfc:wood/vertical_support/oak", + "V": "tfc:wood/vertical_support/oak", + "W": "tfc:wood/vertical_support/oak", + "0": "tfc:rock/raw/andesite", + "G": "tfc:rock/raw/andesite" + } + }, + { + "pattern": [ + [ + " ", + "CRD", + " " + ], + [ + " ", + "V W", + " " + ], + [ + " ", + "V W", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ], + [ + " ", + " ", + " " + ] + ], + "mapping": { + "R": "tfc:wood/horizontal_support/oak[north=true,south=true]", + "C": "tfc:wood/vertical_support/oak[south=true]", + "D": "tfc:wood/vertical_support/oak[north=true]", + "V": "tfc:wood/vertical_support/oak", + "W": "tfc:wood/vertical_support/oak", + "0": "tfc:rock/raw/andesite", + "G": "tfc:rock/raw/andesite" + } + }, + { + "pattern": [ + [ + " ", + "CRD", + " " + ], + [ + " ", + "V W", + " " + ], + [ + " ", + "V W", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ], + [ + " ", + " ", + " " + ] + ], + "mapping": { + "R": "tfc:wood/horizontal_support/oak[north=true,south=true]", + "C": "tfc:wood/vertical_support/oak[south=true]", + "D": "tfc:wood/vertical_support/oak[north=true]", + "V": "tfc:wood/vertical_support/oak", + "W": "tfc:wood/vertical_support/oak", + "0": "tfc:rock/raw/andesite", + "G": "tfc:rock/raw/andesite" + } + } + ] + }, + { + "type": "patchouli:text", + "text": "Only $(thing)Horizontal Support Beams$() cause nearby blocks to be $(thing)Supported$(). Any block within a $(bold)9 x 5 x 9$() area centered on a horizontal support beam is considered $(thing)Supported$().$(br2)In addition to being supported by support beams, rock can be supported simply by the virtue of having a solid block below it, such as more rock. However, it is important to note that $(thing)Non Solid Blocks$() such as $(thing)Stairs$() and $(thing)Slabs$(), along with $(thing)Smooth Stone$(), do $(bold)not$() count as supporting." + }, + { + "type": "patchouli:text", + "text": "In addition to $(thing)Wooden Support Beams$() $(bold)TFG$() also adds higher tiers of support beams. Including $(thing)Stone Support Beams$(), $(thing)Concrete Support Beams$(), and $(thing)Steel Support Beams$(). With the highest tier of supports holding an area of $(bold)33 x 13 x 33$() blocks centered on the horizontal support beam!" + }, + { + "type": "patchouli:text", + "text": "Finally, it is important to know that $(l:mechanics/chisel)Chiseling$() has the potential to cause collapses, just as easily as mining does, when it is done on any $(thing)Raw Rock$() that has potential to cause a nearby collapse.$(br2)$(br2)Remember kids: practice safe mining!", + "title": "Chiseling" + } + ], + "read_by_default": true, + "extra_recipe_mappings": { + "tag:tfc:support_beams": 0 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/firmalife/irrigation.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/firmalife/irrigation.json new file mode 100644 index 000000000..0d4520422 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/firmalife/irrigation.json @@ -0,0 +1,62 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "name": "ะ—ั€ะพัˆะตะฝะฝั", + "category": "tfc:firmalife", + "icon": "firmalife:sprinkler", + "pages": [ + { + "type": "patchouli:text", + "text": "$(thing)ะกะฟั€ะธะฝะบะปะตั€ $() - ั†ะต ะฟั€ะธัั‚ั€ั–ะน, ัะบะธะน ั€ะพะทะฑั€ะธะทะบัƒั” ะฒะพะดัƒ ะฒ ะพะฑะปะฐัั‚ั– 5x6x5 ะท ั†ะตะฝั‚ั€ะพะผ ะฝะฐ ะฑะปะพั†ั–, ั€ะพะทั‚ะฐัˆะพะฒะฐะฝะพะผัƒ ะฟั–ะด ะฑะปะพะบะพะผ ัะฟั€ะธะฝะบะปะตั€ั–ะฒ. ะ’ะธ ะทะฝะฐั”ั‚ะต, ั‰ะพ ะฒั–ะฝ ะฟั€ะฐั†ัŽั”, ะบะพะปะธ ะท ะฝัŒะพะณะพ ะบะฐะฟะฐัŽั‚ัŒ ั‡ะฐัั‚ะธะฝะบะธ ะฒะพะดะธ. ะกะฟั€ะธะฝะบะปะตั€ะธ, ั€ะพะทะผั–ั‰ะตะฝั– ะทะฒะตั€ั…ัƒ, ะทั€ะพัˆัƒัŽั‚ัŒ ั‚ัƒ ะถ ัะฐะผัƒ ะพะฑะปะฐัั‚ัŒ 5x6x5 ะทะฒะตั€ั…ัƒ." + }, + { + "type": "tfc:anvil_recipe", + "recipe": "firmalife:anvil/sprinkler", + "text": "ะกะฟั€ะธะฝะบะปะตั€ ะทั€ะพะฑะปะตะฝะพ ะทะฐ ะดะพะฟะพะผะพะณะพัŽ $(thing)ะœั–ะดะฝะพั— ะŸะปะฐัั‚ะธะฝะธ$()." + }, + { + "type": "patchouli:text", + "text": "ะ”ะปั ั€ะพะฑะพั‚ะธ ัะฟั€ะธะฝะบะปะตั€ั–ะฒ ั—ั… ะฟะพั‚ั€ั–ะฑะฝะพ ะฟั–ะด'ั”ะดะฝะฐั‚ะธ ะดะพ ัะธัั‚ะตะผะธ ั‚ั€ัƒะฑ, ัะบั– ะฟะพะดะฐัŽั‚ัŒ ะฒะพะดัƒ. ะฆะต ั€ะพะฑะธั‚ัŒัั ัˆะปัั…ะพะผ ะฟั€ะธั”ะดะฝะฐะฝะฝั ะดะพ ะฝะธั… ัะตั€ั–ั— $(thing)ะœั–ะดะฝะธั… ะขั€ัƒะฑ$(). ะœั–ะดะฝั– ั‚ั€ัƒะฑะธ ั‚ั€ะฐะฝัะฟะพั€ั‚ัƒัŽั‚ัŒ ะฒะพะดัƒ ะดะพ 32 ะฑะปะพะบั–ะฒ ะดะพ ัะฟั€ะธะฝะบะปะตั€ั–ะฒ. ะ’ะพะฝะธ ะฟั–ะด'ั”ะดะฝะฐะฝั– ะดะพ $(thing)ะŸะพะผะฟะพะฒะธั… ัั‚ะฐะฝั†ั–ะน$()." + }, + { + "type": "tfc:anvil_recipe", + "recipe": "firmalife:anvil/copper_pipe", + "text": "ะœั–ะดะฝะฐ ั‚ั€ัƒะฑะฐ ะทั€ะพะฑะปะตะฝะฐ ะท ะฟะปะฐัั‚ะธะฝะธ." + }, + { + "type": "patchouli:multiblock", + "multiblock": { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "firmalife:pumping_station" + } + }, + "name": "", + "text": "", + "enable_visualize": false + }, + { + "type": "patchouli:crafting", + "recipe": "tfg:shaped/pumping_station", + "text": "ะ”ะปั ั€ะพะฑะพั‚ะธ ะฟะพะผะฟะพะฒั– ัั‚ะฐะฝั†ั–ั— ะฟะพะฒะธะฝะฝั– ะทะฝะฐั…ะพะดะธั‚ะธัั ะฝะฐะด ะดะถะตั€ะตะปะพะผ ะฒะพะดะธ. ะะบั‚ะธะฒัƒะนั‚ะต ั—ั… ะทะฐ ะดะพะฟะพะผะพะณะพัŽ ัะธะณะฝะฐะปัƒ ั‡ะตั€ะฒะพะฝะพะณะพ ะบะฐะผะตะฝัŽ." + }, + { + "type": "patchouli:crafting", + "recipe": "firmalife:crafting/oxidized_copper_pipe", + "text": "ะžะบัะธะดะพะฒะฐะฝั– ั‚ั€ัƒะฑะธ - ั†ะต ั‚ะฐะบั– ะถ ัะฐะผั– ั‚ั€ัƒะฑะธ, ัะบ ั– ะทะฒะธั‡ะฐะนะฝั– ะผั–ะดะฝั–, ะทะฐ ะฒะธะฝัั‚ะบะพะผ ั‚ะพะณะพ, ั‰ะพ ะฒะพะฝะธ ะฝะต ะท'ั”ะดะฝัƒัŽั‚ัŒัั ะท ั‚ั€ัƒะฑะฐะผะธ ั–ะฝัˆะพะณะพ ั‚ะธะฟัƒ." + }, + { + "type": "patchouli:crafting", + "recipe": "firmalife:crafting/greenhouse/iron_greenhouse_port", + "text": "ะขะตะฟะปะธั‡ะฝั– ะฟะพั€ั‚ะธ ะผะฐัŽั‚ัŒ ะพะดะฝัƒ ั‚ั€ัƒะฑัƒ ะฒัะตั€ะตะดะธะฝั–. ะงะตั€ะตะท ะฝะธั… ะผะพะถะฝะฐ ะฟั€ะพะฟัƒัะบะฐั‚ะธ ะฒะพะดัƒ ะบั€ั–ะทัŒ ัั‚ั–ะฝะธ ั‚ะตะฟะปะธั†ัŒ!" + } + ], + "read_by_default": true, + "sortnum": 8 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/getting_started/introduction.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/getting_started/introduction.json index 398d07092..da5fa72e9 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/getting_started/introduction.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/getting_started/introduction.json @@ -1,4 +1,4 @@ -๏ปฟ{ +{ "__comment__": "This file was automatically created by mcresources", "name": "ะ’ัั‚ัƒะฟ", "category": "tfc:getting_started", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/bloomery.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/bloomery.json index dc4d3e15f..22bbec9f6 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/bloomery.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/bloomery.json @@ -6,7 +6,7 @@ "pages": [ { "type": "patchouli:text", - "text": "$(thing)ะกะธั€ะพะดัƒั‚ะฝะต ะณะพั€ะฝะพ$() ั†ะต ะฟั€ะธัั‚ั€ั–ะน, ัะบะธะน ะฒะธะบะพั€ะธัั‚ะพะฒัƒั”ั‚ัŒัั ะดะปั ะฒะธะฟะปะฐะฒะบะธ $(thing)ะ—ะฐะปั–ะทะฝะพั— ั€ัƒะดะธ$() ะฒ $(thing)ะ—ะฐะปั–ะทะฝั– ะทะปะธั‚ะบะธ$() ัะบั– ะผะพะถะฝะฐ ะฟะตั€ะตั€ะพะฑะธั‚ะธ ัƒ $(thing)ะšะพะฒะบะต ะ—ะฐะปั–ะทะพ$(). ะ—ะฐะปั–ะทะฝั– ั€ัƒะดะธ ะฟั€ะตะดัั‚ะฐะฒะปะตะฝั– $(l:the_world/ores_and_minerals#hematite)ะ“ะตะผะฐั‚ะธั‚$(), $(l:the_world/ores_and_minerals#limonite)ะ›ะธะผะพะฝั–ั‚$(), ั‚ะฐ $(l:the_world/ores_and_minerals#magnetite)ะœะฐะณะฝะตั‚ะธั‚$(). ะฆั– ั€ัƒะดะธ ะฟะตั€ะตะฟะปะฐะฒะปััŽั‚ัŒัั ะฒ $(thing)ะงะฐะฒัƒะฝ$() ะทะฐะผั–ัั‚ัŒ $(thing)ะšะพะฒะบะพะณะพ ะ—ะฐะปั–ะทะฐ$(). ะฃัั– ะทะฐะปั–ะทะพะฒะผั–ัะฝั– ะฟั€ะตะดะผะตั‚ะธ ะฟะตั€ะตะฟะปะฐะฒะปััŽั‚ัŒัั ะฝะฐ ั‡ะฐะฒัƒะฝ. ะฉะพะฑ ะฟะตั€ะตั‚ะฒะพั€ะธั‚ะธ ั—ั… ะฝะฐ ะฟั€ะธะดะฐั‚ะฝะต ะดะปั ะฒะธะบะพั€ะธัั‚ะฐะฝะฝั ะทะฐะปั–ะทะพ, ะฟะพั‚ั€ั–ะฑะฝะฐ ัะธั€ะพะดัƒั‚ะฝะต ะณะพะฝั€ะฝะพ. ะ‘ัƒะดัŒ-ัะบะธะน ะทะฐะปั–ะทะฝะธะน ะฟั€ะตะดะผะตั‚ ะผะพะถะต ะฑัƒั‚ะธ ะฒะธะบะพั€ะธัั‚ะฐะฝะธะน ัƒ ัะธั€ะพะดัƒั‚ะฝะพะผัƒ ะณะพั€ะฝั–, ะฒะบะปัŽั‡ะฐัŽั‡ะธ ะทะฐะปั–ะทะฝั– ั–ะฝัั‚ั€ัƒะผะตะฝั‚ะธ ั‚ะฐ ั‡ะฐะฒัƒะฝะฝั– ะทะปะธั‚ะบะธ!" + "text": "$(thing)ะกะธั€ะพะดัƒั‚ะฝะต ะ“ะพั€ะฝะพ$() ั†ะต ะฟั€ะธัั‚ั€ั–ะน, ั‰ะพ ะฒะธะบะพั€ะธัั‚ะพะฒัƒั”ั‚ัŒัั ะดะปั ะฟะตั€ะตะฟะปะฐะฒะปะตะฝะฝั $(thing)ะ—ะฐะปั–ะทะฝะพั— ะ ัƒะดะธ$() ะฝะฐ $(thing)ะšั€ะธั†ัŽ$(), ัะบั– ะผะพะถะฝะฐ ะฟะตั€ะตั€ะพะฑะธั‚ะธ ะฝะฐ $(thing)ะšะพะฒะบะต ะ—ะฐะปั–ะทะพ$(). ะ—ะฐะปั–ะทะฝั– ั€ัƒะดะธ - ั†ะต $(l:the_world/ores_and_minerals#hematite)ะ“ะตะผะฐั‚ะธั‚$(), $(l:the_world/ores_and_minerals#limonite)ะ›ะธะผะพะฝั–ั‚$(), ั‚ะฐ $(l:the_world/ores_and_minerals#magnetite)ะœะฐะณะฝะตั‚ะธั‚$(). ะฆั– ั€ัƒะดะธ ะฟะปะฐะฒะปัั‚ัŒัั ะฝะฐ $(thing)ะงะฐะฒัƒะฝ$() ะฐ ะฝะต ะฝะฐ $(thing)ะšะพะฒะบะต ะ—ะฐะปั–ะทะพ$(). ะฃัั– ะทะฐะปั–ะทะพะฒะผั–ัะฝั– ะฟั€ะตะดะผะตั‚ะธ ะฟะปะฐะฒะปัั‚ัŒัั ะฝะฐ ั‡ะฐะฒัƒะฝ. ะฉะพะฑ ะฟะตั€ะตั‚ะฒะพั€ะธั‚ะธ ั—ั… ะฝะฐ ะฟั€ะธะดะฐั‚ะฝะต ะดะปั ะฒะธะบะพั€ะธัั‚ะฐะฝะฝั ะทะฐะปั–ะทะพ, ะฟะพั‚ั€ั–ะฑะฝะฐ ะบะพะฒะฐะปัŒััŒะบะฐ ะผะฐะนัั‚ะตั€ะฝั. ะ‘ัƒะดัŒ-ัะบะธะน ะทะฐะปั–ะทะฝะธะน ะฟั€ะตะดะผะตั‚ ะผะพะถะต ะฑัƒั‚ะธ ะฒะธะบะพั€ะธัั‚ะฐะฝะธะน ะฒ ัะธั€ะพะดัƒั‚ะฝะพะผัƒ ะณะพั€ะฝั–, ะฒะบะปัŽั‡ะฐัŽั‡ะธ ะทะฐะปั–ะทะฝั– ั–ะฝัั‚ั€ัƒะผะตะฝั‚ะธ ั– ั‡ะฐะฒัƒะฝะฝั– ะทะปะธั‚ะบะธ!" }, { "type": "patchouli:crafting", @@ -34,7 +34,7 @@ }, { "type": "patchouli:text", - "text": "ะกะธั€ะพะดัƒั‚ะฝะต ะณะพั€ะฝะพ ัะฟะพะถะธะฒะฐั” $(thing)1 ะ”ะตั€ะตะฒะธะฝะฝะต ะฒัƒะณั–ะปะปั$() ั‚ะฐ $(thing)144 mB ะงะฐะฒัƒะฝัƒ$() ั‰ะพะฑ ะฒะธะณะพั‚ะพะฒะธั‚ะธ ะพะดะฝัƒ $(thing)ะšั€ะธั†ัŽ$(). ะŸั–ัะปั ะฝะฐะฟะพะฒะฝะตะฝะฝั ัะธั€ะพะดัƒั‚ะฝะพะณะพ ะณะพั€ะฝะฐ ะบะพะผะฑั–ะฝะฐั†ั–ั”ัŽ $(thing)ะ”ะตั€ะตะฒะฝะต ะฒัƒะณั–ะปะปั$() ั‚ะฐ $(thing)ะ ัƒะดะธ$(), ะทะฐะฟะฐะปั–ั‚ัŒ ะฑะปะพะบ ะณะพั€ะฝะฐ ั– ะฟะพั‡ะตะบะฐะนั‚ะต 15 ะณะพะดะธะฝ, ะฟะพะบะธ ัƒ ะณะพั€ะฝั– ะฟะปะฐะฒะธั‚ัŒัั. ะšะพะปะธ ะฟะปะฐะฒะปะตะฝะฝั ะฟั€ะธะฟะธะฝัั”ั‚ัŒัั, ะฒั–ะฝ ะทะฐะปะธัˆะฐั” ะฟั–ัะปั ัะตะฑะต ะฑะปะพะบ $(thing)ะšั€ะธั†ั–$(). ะ’ั–ะฝ ะผั–ัั‚ะธั‚ัŒ $(thing)ะกะธั€ะต ะšั€ะธั‡ะฝะต ะ—ะฐะปั–ะทะพ$() ัะบั– ะผะพะถะฝะฐ ะพั‚ั€ะธะผะฐั‚ะธ, ะฒะธะดะพะฑัƒะฒะฐัŽั‡ะธ $(thing)ะšั€ะธั†ัŽ$() ะบะธั€ะบะพัŽ." + "text": "ะะฐ ะฒะธั€ะพะฑะฝะธั†ั‚ะฒะพ ะพะดะฝั–ั”ั— $(thing)ะšั€ะธั†ั–$() ะฒะธั‚ั€ะฐั‡ะฐั”ั‚ัŒัั $(thing)1 ะ”ะตั€ะตะฒะธะฝะฝะต ะ’ัƒะณั–ะปะปั$() ั‚ะฐ $(thing)144 mB ะงะฐะฒัƒะฝัƒ$(). ะŸั–ัะปั ั‚ะพะณะพ, ัะบ ะฒะธ ะทะฐะฟะพะฒะฝะธะปะธ ัะธั€ัƒะดัƒั‚ะฝะต ะณะพั€ะฝะพ ะบะพะผะฑั–ะฝะฐั†ั–ั”ัŽ $(thing)ะ”ะตั€ะตะฒะธะฝะฝะต ะ’ัƒะณั–ะปะปั$() ั‚ะฐ $(thing)ะ ัƒะดะธ$(), ะทะฐะฟะฐะปั–ั‚ัŒ ะฑะปะพะบ ัะธั€ะพะดัƒั‚ะฝะพะณะพ ะณะพั€ะฝะฐ ั– ะทะฐั‡ะตะบะฐะนั‚ะต 15 ะณะพะดะธะฝ, ะฟะพะบะธ ั€ัƒะดะฐ ั€ะพะทะฟะปะฐะฒะธั‚ัŒัั. ะšะพะปะธ ะฟั–ั‡ ะฒะธะผะบะฝะตั‚ัŒัั, ะฒะพะฝะฐ ะทะฐะปะธัˆะธั‚ัŒ ะฟะพ ัะพะฑั– ะฑะปะพะบ $(thing)ะšั€ะธั†ั–$(). ะ’ั–ะฝ ะผั–ัั‚ะธั‚ัŒ $(thing)ะกะธั€ะต ะšั€ะธั‡ะฝะต ะ—ะฐะปั–ะทะพ$(), ัะบะธะน ะผะพะถะฝะฐ ะพั‚ั€ะธะผะฐั‚ะธ, ะฒะธะดะพะฑัƒะฒะฐัŽั‡ะธ ะฑะปะพะบ $(thing)ะšั€ะธั†ัŽ$() ะบั–ะปัŒะบะฐ ั€ะฐะทั–ะฒ ะบะธั€ะบะพัŽ." }, { "type": "patchouli:multiblock", @@ -58,16 +58,16 @@ { "type": "tfc:anvil_recipe", "recipe": "tfc:anvil/refined_iron_bloom", - "text": "$(thing)ะกะธั€ะต ะšั€ะธั‡ะฝะต ะ—ะฐะปั–ะทะพ$() ะฟะพะฒะธะฝะฝะพ ะฑัƒั‚ะธ ะพะฟั€ะฐั†ัŒะพะฒะฐะฝะพ ะฝะฐ $(l:mechanics/anvils)ะบะพะฒะฐะดะปั–$() ะดะปั ะพั‚ั€ะธะผะฐะฝะฝั $(thing)ะžั‡ะธั‰ะตะฝะพั— ะ—ะฐะปั–ะทะฝะพั— ะšั€ะธั†ั–$()." + "text": "ะฉะพะฑ ะฟะตั€ะตั‚ะฒะพั€ะธั‚ะธ $(thing)ะกะธั€ะต ะšั€ะธั‡ะฝะต ะ—ะฐะปั–ะทะพ$(), ะฟะพั‚ั€ั–ะฑะฝะพ ะพะฑั€ะพะฑะธั‚ะธ ั—ั— ะฝะฐ $(l:mechanics/anvils)ะบะพะฒะฐะดะปั–$() ั‰ะพะฑ ะพั‚ั€ะธะผะฐั‚ะธ $(thing)ะžั‡ะธั‰ะตะฝัƒ ะ—ะฐะปั–ะทะฝัƒ ะšั€ะธั†ัŽ$()." }, { "type": "tfc:anvil_recipe", "recipe": "tfc:anvil/metal/ingot/wrought_iron", - "text": "$(thing)ะžั‡ะธั‰ะตะฝะฐ ะ—ะฐะปั–ะทะฝะฐ ะšั€ะธั†ั$() ะฟะพะฒะธะฝะฝะฐ ะฑัƒั‚ะธ ะพะฟั€ะฐั†ัŒะพะฒะฐะฝะฐ ะฝะฐ $(l:mechanics/anvils)ะบะพะฒะฐะดะปั– $() ะดะปั ะพั‚ั€ะธะผะฐะฝะฝั $(thing)ะšะพะฒะฐะฝะพะณะพ ะ—ะฐะปั–ะทะฝะพะณะพ ะ—ะปะธั‚ะบะฐ$()." + "text": "ะฉะพะฑ ะฟะตั€ะตั‚ะฒะพั€ะธั‚ะธ $(thing)ะžั‡ะธั‰ะตะฝัƒ ะ—ะฐะปั–ะทะฝัƒ ะšั€ะธั†ัŽ $() ะฟะพั‚ั€ั–ะฑะฝะพ ะพะฑั€ะพะฑะธั‚ะธ ั—ั— ะฝะฐ $(l:mechanics/anvils)ะบะพะฒะฐะดะปั–$() ั‰ะพะฑ ะพั‚ั€ะธะผะฐั‚ะธ $(thing)ะ—ะปะธั‚ะบะธ ะšะพะฒะบะพะณะพ ะ—ะฐะปั–ะทะฐ$()." }, { "type": "patchouli:text", - "text": "$(li)ะฏะบั‰ะพ ะฒ ัะธั€ะพะดัƒั‚ะฝะพะผัƒ ะณะพั€ะฝั– ะฒะธัะฒะธั‚ัŒัั ะฑั–ะปัŒัˆะต ะฟั€ะตะดะผะตั‚ั–ะฒ, ะฝั–ะถ ะฒั–ะฝ ะผะพะถะต ะฒะผั–ัั‚ะธั‚ะธ ะดะธะผะฐั€, ะฒั–ะฝ ะฝะฐะผะฐะณะฐั‚ะธะผะตั‚ัŒัั ะฒะธะฟะปัŽะฝัƒั‚ะธ ั—ั… ะฝะฐะทะพะฒะฝั–.$()$(li)ะฉะพะฑ ะทะฐะฑั€ะฐั‚ะธ ะฟั€ะตะดะผะตั‚ะธ ะท ัะธั€ะพะดัƒั‚ะฝะพะณะพะณะพั€ะฝะฐ, ัะบะธะน ะฝะต ะณะพั€ะธั‚ัŒ, ะฝะต ั€ะพะทะฑะธะฒะฐะนั‚ะต ะฒะตะถัƒ ะท ั€ะพะทะฟะปะฐะฒะปะตะฝะธะผ ะฑะปะพะบะพะผ. ะ ะพะทะฑะธะนั‚ะต ะฑะปะพะบ ัะธั€ะพะดัƒั‚ะฝะพะณะพะณะพั€ะฝะฐ.$()$(li)ะกะธั€ะพะดัƒั‚ะฝะธะน ะณะพั€ะฝ ะฟะตั€ะตะฟะปะฐะฒะปัั” ะปะธัˆะต ะฒ ั‡ะฐะฒัƒะฝ, ะฐ ะฝะต ะฒ ะบะพะฒะฐะบะต ะทะฐะปั–ะทะพ. ะ— ะฝะธะผะธ ะฟะพั‚ั€ั–ะฑะฝะพ ะฟั€ะฐั†ัŽะฒะฐั‚ะธ!$()", + "text": "$(li)ะฏะบั‰ะพ ัƒ ัะธั€ะพะดัƒั‚ะฝะพะผัƒ ะณะพั€ะฝั– ะฒะธัะฒะธั‚ัŒัั ะฑั–ะปัŒัˆะต ะฟั€ะตะดะผะตั‚ั–ะฒ, ะฝั–ะถ ะผะพะถะต ะฒะผั–ัั‚ะธั‚ะธ ั—ั— ะดะธะผะฐั€, ะฒะพะฝะฐ ัะฟั€ะพะฑัƒั” ะฒะธะฟะปัŽะฝัƒั‚ะธ ั—ั… ะฝะฐะทะพะฒะฝั–.$()$(li)ะฉะพะฑ ะดั–ัั‚ะฐั‚ะธ ะฟั€ะตะดะผะตั‚ะธ ะท ัะธั€ะพะดัƒั‚ะฝะพะณะพ ะณะพั€ะฝะฐ, ัะบะฐ ะฝะต ะณะพั€ะธั‚ัŒ, ะฝะต ั€ะพะทะฑะธะฒะฐะนั‚ะต ะฒะตะถัƒ ะท ั€ะพะทะฟะปะฐะฒะปะตะฝะธั… ะฑะปะพะบั–ะฒ. ะ ะพะทะฑะธะนั‚ะต ะฑะปะพะบ ัะธั€ะพะดัƒั‚ะฝะพะณะพ ะณะพั€ะฝะฐ.$()$(li)ะšั€ะธั†ั ะฟะตั€ะตะฟะปะฐะฒะปัั”ั‚ัŒัั ะปะธัˆะต ะฝะฐ ั‡ะฐะฒัƒะฝ, ะฐ ะฝะต ะฝะฐ ะบะพะฒะฐะฝะต ะทะฐะปั–ะทะพ. ะ— ะฝะธะผะธ ั‚ั€ะตะฑะฐ ะฟั€ะฐั†ัŽะฒะฐั‚ะธ!$()", "title": "ะะพั‚ะฐั‚ะบะธ ะกะผั–ั‚ะฐ" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/crankshaft.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/crankshaft.json index 836a9f78a..69b1a1794 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/crankshaft.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/crankshaft.json @@ -6,7 +6,7 @@ { "type": "patchouli:text", "title": "ะฃะฟั€ะฐะฒะปั–ะฝะฝั ะ†ะฝะฒะตะฝั‚ะฐั€ะตะผ", - "text": "ะžั‚ะถะต, ัƒ ะฒะฐั ั” ะบั–ะปัŒะบะฐ $(l:getting_started/pottery#vessel)ะŸะพััƒะดะธะฝ$() ั– ะฒะธ ะทั€ะพะฑะธะปะธ ะบั–ะปัŒะบะฐ $(item)ะ”ะตั€ะตะฒ'ัะฝะธั… ะกะบั€ะธะฝัŒ$(), ะฐะปะต ัƒ ะฒะฐั ะฒัะต ั‰ะต ะฑั–ะปัŒัˆะต ั€ะตั‡ะตะน, ะฝั–ะถ ะฒะธ ะทะฝะฐั”ั‚ะต, ั‰ะพ ะท ะฝะธะผะธ ั€ะพะฑะธั‚ะธ. ะฉะพ ะดะฐะปั–?$(br2)ะฆะต $(thing)ะ ัŽะบะทะฐะบ$() ะผะพะถะต ะฟะพะดะฒะพั—ั‚ะธ ะฒะฐัˆ ะพัะพะฑะธัั‚ะธะน ั–ะฝะฒะตะฝั‚ะฐั€ ะฝะฐ ะฑะฐะทะพะฒะพะผัƒ ั€ั–ะฒะฝั–, ะฐ ะฟะพะดะฐะปัŒัˆั– ะพะฝะพะฒะปะตะฝะฝั ั€ัŽะบะทะฐะบะฐ ะทะฑั–ะปัŒัˆัƒัŽั‚ัŒ ะนะพะณะพ ั‰ะต ะฑั–ะปัŒัˆะต!" + "text": "ะžั‚ะถะต, ัƒ ะฒะฐั ั” ะบั–ะปัŒะบะฐ $(l:getting_started/pottery#vessel)ะŸะพััƒะดะตะฝ$() ั– ะฒะธ ะทั€ะพะฑะธะปะธ ะบั–ะปัŒะบะฐ $(item)ะ”ะตั€ะตะฒ'ัะฝะธั… ัะบั€ะธะฝัŒ$(), ะฐะปะต ัƒ ะฒะฐั ะฒัะต ั‰ะต ะฑั–ะปัŒัˆะต ะฟั€ะตะดะผะตั‚ั–ะฒ, ะฝั–ะถ ะฒะธ ะทะฝะฐั”ั‚ะต, ั‰ะพ ะท ะฝะธะผะธ ั€ะพะฑะธั‚ะธ. ะฉะพ ะดะฐะปั–?$(br2)A $(thing)ะ ัŽะบะทะฐะบ$() ะผะพะถะต ะฟะพะดะฒะพั—ั‚ะธ ะฒะฐัˆ ะพัะพะฑะธัั‚ะธะน ั–ะฝะฒะตะฝั‚ะฐั€ ะฝะฐ ะฑะฐะทะพะฒะพะผัƒ ั€ั–ะฒะฝั–, ะฐ ะฟะพะดะฐะปัŒัˆั– ะฟะพะบั€ะฐั‰ะตะฝะฝั ั€ัŽะบะทะฐะบะฐ ะทะฑั–ะปัŒัˆะฐั‚ัŒ ะนะพะณะพ ั‰ะต ะฑั–ะปัŒัˆะต!" }, { "type": "patchouli:crafting", @@ -17,7 +17,7 @@ "type": "patchouli:text", "title": "ะฏั‰ะธะบะธ", "anchor": "crates", - "text": "ะ”ะปั ะทะฑะตั€ั–ะณะฐะฝะฝั GregTech ะผะฐั” $(item)ะฏั‰ะธะบะธ$() ะฒ ัะบัƒ ะผะพะถะฝะฐ ะฒะผั–ัั‚ะธั‚ะธ ะฒัั– ะฒะตะปะธะบั– ั€ะตั‡ั–, ัะบั– ะผะพะถะต ะฒะผั–ัั‚ะธั‚ะธ ั€ัŽะบะทะฐะบ, ะฐ ั€ั–ะทะฝั– ัั€ัƒัะธ ะผะพะถัƒั‚ัŒ ะฒะผั–ัั‚ะธั‚ะธ ะฒัะต ะฑั–ะปัŒัˆะต ั– ะฑั–ะปัŒัˆะต ั€ะตั‡ะตะน.$(br2)ะฏั‰ะธะบะธ ั‚ะฐะบะพะถ ะผะพะถัƒั‚ัŒ ะผะฐั‚ะธ $(thing)ะคั–ะปัŒั‚ั€ ะŸั€ะตะดะผะตั‚ั–ะฒ$() ั‚ะฐ $(thing)ะคั–ะปัŒั‚ั€ ะขะตะณั–ะฒ ะŸั€ะตะดะผะตั‚ั–ะฒ$() ะฒัั‚ะฐะฝะพะฒั–ั‚ัŒ ั—ั…, ัะบั‰ะพ ั…ะพั‡ะตั‚ะต ัั‚ะฒะพั€ะธั‚ะธ ะฑะฐะทะพะฒัƒ ัะธัั‚ะตะผัƒ ัะพั€ั‚ัƒะฒะฐะฝะฝั.$(br2)$(thing)ะŸั€ะตะดะผะตั‚ะฝั– ะขั€ัƒะฑะธ$() ะฝะต ั‚ัะณะฝัƒั‚ัŒ ัะฐะผั– ะฟะพ ัะพะฑั–, ั‚ะพะผัƒ ะฒะฐะผ ะทะฝะฐะดะพะฑะธั‚ัŒัั$(thing)ะ–ะพะปะพะฑ$() ะฐะฑะพ $(thing)ะ›ั–ะนะบะฐ$() ั‰ะพะฑ ะฟั€ะพัˆั‚ะพะฒั…ะฝัƒั‚ะธ ะฒ ะฝะธั…." + "text": "ะ”ะปั ะทะฑะตั€ั–ะณะฐะฝะฝั ัƒ GregTech ั” $(item)Crates$(), ัะบั– ะผะพะถัƒั‚ัŒ ะฒะผั–ัั‚ะธั‚ะธ ะฒัั– ะฒะตะปะธะบั– ะฟั€ะตะดะผะตั‚ะธ, ัะบั– ะผะพะถะต ะฒะผั–ัั‚ะธั‚ะธ ั€ัŽะบะทะฐะบ, ะฐ ั€ั–ะทะฝั– ัั€ัƒัะธ ะผะพะถัƒั‚ัŒ ะฒะผั–ั‰ะฐั‚ะธ ะฒัะต ะฑั–ะปัŒัˆะต ั– ะฑั–ะปัŒัˆะต ะฟั€ะตะดะผะตั‚ั–ะฒ.$(br2)ะฏั‰ะธะบะธ ั‚ะฐะบะพะถ ะผะพะถัƒั‚ัŒ ะผะฐั‚ะธ $(thing)ะคั–ะปัŒั‚ั€ ะŸั€ะตะดะผะตั‚ั–ะฒ$() ั– $(thing)ะคั–ะปัŒั‚ั€ ะขะตะณั–ะฒ ะŸั€ะตะดะผะตั‚ั–ะฒ$() ัะบั‰ะพ ะฒะธ ั…ะพั‡ะตั‚ะต ัั‚ะฒะพั€ะธั‚ะธ ะฑะฐะทะพะฒัƒ ัะธัั‚ะตะผัƒ ัะพั€ั‚ัƒะฒะฐะฝะฝั. $(br2)$(thing)ะŸั€ะตะดะผะตั‚ะฝั– ะขั€ัƒะฑะธ$() ะฝะต ั‚ัะณะฝัƒั‚ัŒัั ัะฐะผั– ะฟะพ ัะพะฑั–, ั‚ะพะผัƒ ะฒะฐะผ ะทะฝะฐะดะพะฑะธั‚ัŒัั $(thing)ะ–ะพะปะพะฑ$() ะฐะฑะพ $(thing)ะ›ั–ะนะบะฐ$(), ั‰ะพะฑ ะฟั€ะพัˆั‚ะพะฒั…ะฝัƒั‚ะธ ะฒ ะฝะธั… ั€ะตั‡ั–." }, { "type": "patchouli:crafting", @@ -28,7 +28,7 @@ "type": "patchouli:text", "title": "ะ‘ะพั‡ะบะธ", "anchor": "drums", - "text": "ะ”ะปั ะทะฑะตั€ั–ะณะฐะฝะฝั ั€ั–ะดะธะฝ GregTech ะผะฐั” $(item)ะ‘ะพั‡ะบะธ$(). ะ’ะพะฝะธ ะผะพะถัƒั‚ัŒ ะฒะผั–ั‰ะฐั‚ะธ ะฒะตะปะธะบัƒ ะบั–ะปัŒะบั–ัั‚ัŒ ั€ั–ะดะธะฝะธ ะพะดะฝะพะณะพ ั‚ะธะฟัƒ, ะฐ ั€ั–ะทะฝั– ัั€ัƒัะธ ะฒะผั–ั‰ัƒัŽั‚ัŒ ะฑั–ะปัŒัˆะต, ั‚ะฐะบ ัะฐะผะพ ัะบ ั– ัั‰ะธะบะธ.$(br2)ะะฐ ะฒั–ะดะผั–ะฝัƒ ะฒั–ะด ัั‰ะธะบั–ะฒ, ะฑะพั‡ะบะธ ะทะฑะตั€ั–ะณะฐัŽั‚ัŒ ั€ั–ะดะธะฝัƒ ะฟั€ะธ ั€ะพะทะฑะธั‚ั‚ั–, ั‰ะพ ั€ะพะฑะธั‚ัŒ ั—ั… ั–ะดะตะฐะปัŒะฝะธะผะธ ะดะปั ะฟะตั€ะตะผั–ั‰ะตะฝะฝั ั€ั–ะดะธะฝ.$(br2)ะ‘ะพั‡ะบะธ ะผะพะถัƒั‚ัŒ ะฐะฒั‚ะพะผะฐั‚ะธั‡ะฝะพ ะฒะธัˆั‚ะพะฒั…ัƒะฒะฐั‚ะธ ั€ั–ะดะธะฝัƒ ะท ะฝะธะถะฝัŒะพั— ะฟะพะฒะตั€ั…ะฝั–, ะบะปะฐั†ะฝัƒะฒัˆะธ ะฟั€ะฐะฒะพัŽ ะบะฝะพะฟะบะพัŽ ะผะธัˆั– ะฝะฐ ะฝะธั… ะทะฐ ะดะพะฟะพะผะพะณะพัŽ $(thing)ะ’ะธะบั€ัƒั‚ะบะพัŽ$()." + "text": "ะ”ะปั ะทะฑะตั€ั–ะณะฐะฝะฝั ั€ั–ะดะธะฝ ัƒ GregTech ั” $(item)ะ‘ะพั‡ะบะธ$(). ะ’ะพะฝะธ ะผะพะถัƒั‚ัŒ ะฒะผั–ั‰ะฐั‚ะธ ะฒะตะปะธะบัƒ ะบั–ะปัŒะบั–ัั‚ัŒ ั€ั–ะดะธะฝะธ ะพะดะฝะพะณะพ ั‚ะธะฟัƒ, ะฐ ั€ั–ะทะฝั– ัั€ัƒัะธ ะฒะผั–ั‰ัƒัŽั‚ัŒ ะฑั–ะปัŒัˆะต, ั‚ะฐะบ ัะฐะผะพ ัะบ ั– ัั‰ะธะบะธ.$(br2)ะะฐ ะฒั–ะดะผั–ะฝัƒ ะฒั–ะด ัั‰ะธะบั–ะฒ, ะฑะพั‡ะบะธ ะทะฑะตั€ั–ะณะฐัŽั‚ัŒ ั€ั–ะดะธะฝัƒ ะฟั€ะธ ั€ะพะทะฑะธั‚ั‚ั–, ั‰ะพ ั€ะพะฑะธั‚ัŒ ั—ั… ั–ะดะตะฐะปัŒะฝะธะผะธ ะดะปั ะฟะตั€ะตะผั–ั‰ะตะฝะฝั ั€ั–ะดะธะฝ.$(br2)ะ‘ะพั‡ะบะธ ะผะพะถัƒั‚ัŒ ะฐะฒั‚ะพะผะฐั‚ะธั‡ะฝะพ ะฒะธัˆั‚ะพะฒั…ัƒะฒะฐั‚ะธ ั€ั–ะดะธะฝัƒ ะท ะฝะธะถะฝัŒะพั— ั‡ะฐัั‚ะธะฝะธ, ัะบั‰ะพ ะบะปะฐั†ะฝัƒั‚ะธ ะฟั€ะฐะฒะพัŽ ะบะฝะพะฟะบะพัŽ ะผะธัˆั– ะฝะฐ ะฝะธั… ะทะฐ ะดะพะฟะพะผะพะณะพัŽ $(thing)ะ’ะธะบั€ัƒั‚ะบะธ$()." }, { "type": "patchouli:crafting", @@ -39,13 +39,13 @@ "type": "patchouli:spotlight", "item": "gtceu:lv_super_chest,gtceu:lv_super_tank", "title": "ะกัƒะฟะตั€ ัั…ะพะฒะธั‰ะต", - "text": "ะ’ะธ ะฒะธั€ะพะฑะปัั”ั‚ะต ั‚ะพะฒะฐั€ ัƒ ะฟั€ะพะผะธัะปะพะฒะธั… ะผะฐััˆั‚ะฐะฑะฐั…? GregTech's $(thing)ะกัƒะฟะตั€ ะกะบั€ะธะฝั$() ั‚ะฐ $(thing)ะกัƒะฟะตั€ ะ‘ะพั‡ะบะฐ$() ะผะพะถะต ะผั–ัั‚ะธั‚ะธ ะฑะตะทะณะปัƒะทะดัƒ ะบั–ะปัŒะบั–ัั‚ัŒ ะตะปะตะผะตะฝั‚ั–ะฒ ะพะดะฝะพะณะพ ั‚ะธะฟัƒ, ั– ะฝะฐะฒั–ั‚ัŒ ะผะพะถะต ะพะฑะฝัƒะปะธั‚ะธ ะฑัƒะดัŒ-ัะบะต ะฟะตั€ะตะฟะพะฒะฝะตะฝะฝั." + "text": "ะ’ะธ ะฒะธั€ะพะฑะปัั”ั‚ะต ะฟั€ะตะดะผะตั‚ ัƒ ะฟั€ะพะผะธัะปะพะฒะธั… ะผะฐััˆั‚ะฐะฑะฐั…? GregTech's $(thing)ะกัƒะฟะตั€ ะกะบั€ะธะฝั$() ั– $(thing)ะกัƒะฟะตั€ ะ‘ะพั‡ะบะฐ$() ะผะพะถัƒั‚ัŒ ะทะฑะตั€ั–ะณะฐั‚ะธ ะฑะตะทะณะปัƒะทะดัƒ ะบั–ะปัŒะบั–ัั‚ัŒ ะฟั€ะตะดะผะตั‚ั–ะฒ ะพะดะฝะพะณะพ ั‚ะธะฟัƒ, ั– ะฝะฐะฒั–ั‚ัŒ ะผะพะถัƒั‚ัŒ ะฐะฝัƒะปัŽะฒะฐั‚ะธ ะฑัƒะดัŒ-ัะบะต ะฟะตั€ะตะฟะพะฒะฝะตะฝะฝั." }, { "type": "patchouli:spotlight", "title": "Applied Energistics 2", "item": "ae2:drive", - "text": "ะ”ะพัั‚ัƒะฟะฝะธะน ะฒ ะบั–ะฝั†ั– $(thing)HV$(), AE2 ะผะพะถะต ะทะฐะฑะตะทะฟะตั‡ะธั‚ะธ ะฒัะต, ั‰ะพ ะฒะธ ะบะพะปะธ-ะฝะตะฑัƒะดัŒ ั…ะพั‚ั–ะปะธ ะดะปั ะทะฑะตั€ั–ะณะฐะฝะฝั ั‚ะฐ ะปะพะณั–ัั‚ะธะบะธ." + "text": "ะ”ะพัั‚ัƒะฟะฝะธะน ะฒ ะบั–ะฝั† $(thing)HV$(), AE2 ะผะพะถะต ะทะฐะฑะตะทะฟะตั‡ะธั‚ะธ ะฒัะต, ั‰ะพ ะฒะธ ะบะพะปะธ-ะฝะตะฑัƒะดัŒ ั…ะพั‚ั–ะปะธ ะดะปั ะทะฑะตั€ั–ะณะฐะฝะฝั ั‚ะฐ ะปะพะณั–ัั‚ะธะบะธ." } ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/fire_clay.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/fire_clay.json index ac3652386..1d9b88144 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/fire_clay.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/fire_clay.json @@ -11,12 +11,12 @@ { "type": "patchouli:crafting", "recipe": "tfc:crafting/fire_clay", - "text": "ะ’ะพะณะฝะตั‚ั€ะธะฒะบัƒ ะณะปะธะฝัƒ ะฒะธะณะพั‚ะพะฒะปััŽั‚ัŒ ะท $(l:tfg_ores/normal_graphite)ะณั€ะฐั„ั–ั‚ะพะฒะพะณะพ$() ะฟะพั€ะพัˆะบัƒ, ะฟะตั€ะตั‚ะตั€ั‚ะธะน ะฒ $(l:mechanics/quern)ะถะพั€ะฝะฐั…$(), ะฐ ั‚ะฐะบะพะถ $(l:tfg_ores/surface_kaolin#powder)ะบะฐะพะปั–ะฝั–ั‚ะพะฒะพะณะพ$() ะฟะพั€ะพัˆะบัƒ" + "text": "ะ’ะพะณะฝะตั‚ั€ะธะฒะบัƒ ะณะปะธะฝัƒ ะฒะธะณะพั‚ะพะฒะปััŽั‚ัŒ ะท ะฟะพั€ะพัˆะบัƒ $(l:tfg_ores/normal_graphite)ะณั€ะฐั„ั–ั‚ัƒ$() ะฟะพะดั€ั–ะฑะฝะตะฝะพะณะพ ะฒ $(l:mechanics/quern)ะถะพั€ะฝั–$(), ะฐ ั‚ะฐะบะพะถ ะฟะพั€ะพัˆะบัƒ $(l:tfg_ores/surface_kaolin#powder)ะบะฐะพะปั–ะฝั–ั‚ัƒ$()" }, { "type": "tfc:heat_recipe", "recipe": "tfc:heating/kaolin_clay", - "text": "ะšะฐะพะปั–ะฝั–ั‚ะพะฒะธะน ะฟะพั€ะพัˆะพะบ ะฒะธะณะพั‚ะพะฒะปัั”ั‚ัŒัั ัˆะปัั…ะพะผ ะฝะฐะณั€ั–ะฒะฐะฝะฝั $(l:tfg_ores/surface_kaolin)ะšะฐะพะปั–ะฝั–ั‚ะพะฒะพั— ะณะปะธะฝะธ$(). ะžะดะฝะฐะบ ะฟั€ะพั†ะตั ะฝะต ั–ะดะตะฐะปัŒะฝะธะน, ั– ะปะธัˆะต 20% ะณะปะธะฝะธ ะฟะตั€ะตั‚ะฒะพั€ะธั‚ัŒัั ะฝะฐ ะฟะพั€ะพัˆะพะบ!" + "text": "ะšะฐะพะปั–ะฝั–ั‚ะพะฒะธะน ะฟะพั€ะพัˆะพะบ ะฒะธะณะพั‚ะพะฒะปััŽั‚ัŒ ัˆะปัั…ะพะผ ะฝะฐะณั€ั–ะฒะฐะฝะฝั $(l:tfg_ores/surface_kaolin)ะšะฐะพะปั–ะฝั–ั‚ะพะฒะพั— ะ“ะปะธะฝะธ$(). ะžะดะฝะฐะบ ะฟั€ะพั†ะตั ะฝะต ั–ะดะตะฐะปัŒะฝะธะน, ั– ะปะธัˆะต 20% ะณะปะธะฝะธ ัƒั‚ะฒะพั€ัŽั” ะฟะพั€ะพัˆะพะบ!" }, { "type": "tfc:knapping_recipe", @@ -28,12 +28,12 @@ "type": "tfc:knapping_recipe", "anchor": "fire_bricks", "recipe": "tfc:fire_clay_knapping/brick", - "text": "The $(l:mechanics/blast_furnace)ะ”ะพะผะตะฝะฝะฐ ะŸั–ั‡$() ะฟั€ะธะนะผะฐั” ั–ะทะพะปัั†ั–ัŽ ะปะธัˆะต ะฒะพะณะฝะตั‚ั€ะธะฒะบะพัŽ ั†ะตะณะปะธะฝะพัŽ." + "text": "The $(l:mechanics/blast_furnace)ะ”ะพะผะตะฝะฝะฐ ะŸั–ั‡$() ะฟั€ะธะนะผะฐั” ั–ะทะพะปัั†ั–ัŽ ะปะธัˆะต ะฒะพะณะฝะตั‚ั€ะธะฒะบะพัŽ ั†ะตะณะปะพัŽ." }, { "type": "tfc:knapping_recipe", "recipe": "tfc:fire_clay_knapping/fire_ingot_mold", - "text": "$(thing)ะ’ะพะณะฝะตั‚ั€ะธะฒะบะธั… ะ’ะธะปะธะฒะบั–ะฒ ะดะปั ะ—ะปะธั‚ะบั–ะฒ$() ั” ัะธะปัŒะฝั–ัˆะธะผ ั‚ะธะฟะพะผ $(l:getting_started/pottery#mold)ะ’ะธะปะธะฒะบั–ะฒ ะดะปั ะ—ะปะธั‚ะบั–ะฒ$() ะนะผะพะฒั–ั€ะฝั–ัั‚ัŒ ะทะปะฐะผะฐะฝะฝั ัะบะพั— ัั‚ะฐะฝะพะฒะธั‚ัŒ ะปะธัˆะต 1 ะดะพ 100, ะฟั€ะพั‚ะธ 1 ะดะพ 10 ะดะปั ะทะฒะธั‡ะฐะนะฝะธั… ะฒะธะปะธะฒะบั–ะฒ ะดะปั ะทะปะธั‚ะบั–ะฒ." + "text": "$(thing)ะ’ะพะณะฝะตั‚ั€ะธะฒะบั– ั„ะพั€ะผะธ ะดะปั ะทะปะธั‚ะบั–ะฒ$()- ั†ะต ะผั–ั†ะฝั–ัˆะธะน ั‚ะธะฟ $(l:getting_started/pottery#mold)ะคะพั€ะผะธ ะดะปั ะทะปะธั‚ะบั–ะฒ$(), ัะบะธะน ะผะฐั” ะปะธัˆะต 1 ะดะพ 100 ัˆะฐะฝัั–ะฒ ะทะปะฐะผะฐั‚ะธัั, ะฟั€ะพั‚ะธ 1 ะดะพ 10 ะดะปั ะทะฒะธั‡ะฐะนะฝะพั— ั„ะพั€ะผะธ ะดะปั ะทะปะธั‚ะบั–ะฒ." } ], "read_by_default": true diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/glassworking.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/glassworking.json index f71e86a20..ee024781b 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/glassworking.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/glassworking.json @@ -6,26 +6,26 @@ "pages": [ { "type": "patchouli:text", - "text": "ะกะบะปะพั€ะพะฑัั‚ะฒะพ - ั†ะต ะฟั€ะพั†ะตั ะฟะตั€ะตั‚ะฒะพั€ะตะฝะฝั ะฟั–ัะบัƒ ะฝะฐ ัะบะปะพ. ะ”ะปั ะฟะพั‡ะฐั‚ะบัƒ ะฝะตะพะฑั…ั–ะดะฝะพ ัั‚ะฒะพั€ะธั‚ะธ $(thing)ะŸะฐั€ั‚ั–ั ะกะบะปะฐ$(), ัะบะธั… ั” ั‡ะพั‚ะธั€ะธ ั‚ะธะฟะธ:$(br)$(br) 1. $(thing)ะกะธะปั–ะบะฐั‚$(), ะท ะฑั–ะปะพะณะพ ะฟั–ัะบัƒ.$(br) 2. $(thing)ะ“ะตะผะพั€ะฐะณั–ั‡ะฝะธะน$(), ะท ะถะพะฒั‚ะพะณะพ, ั‡ะตั€ะฒะพะฝะพะณะพ ะฐะฑะพ ั€ะพะถะตะฒะพะณะพ ะฟั–ัะบัƒ..$(br) 3. $(thing)ะžะปั–ะฒั–ะฝ$(), ั–ะท ะทะตะปะตะฝะพะณะพ ะฐะฑะพ ะบะพั€ะธั‡ะฝะตะฒะพะณะพ ะฟั–ัะบัƒ.$(br) 4. $(thing)ะ’ัƒะปะบะฐะฝั–ั‡ะฝะธะน$(), ะท ั‡ะพั€ะฝะพะณะพ ะฟั–ัะบัƒ." + "text": "ะกะบะปะพั€ะพะฑัั‚ะฒะพ - ั†ะต ะฟั€ะพั†ะตั ะฟะตั€ะตั‚ะฒะพั€ะตะฝะฝั ะฟั–ัะบัƒ ะฝะฐ ัะบะปะพ. ะ”ะปั ะฟะพั‡ะฐั‚ะบัƒ ะฒะธ ะผะฐั”ั‚ะต ัั‚ะฒะพั€ะธั‚ะธ $(thing)ะกะบะปัะฝัƒ ะฟะฐั€ั‚ั–ัŽ$(), ัะบะธั… ั” ั‡ะพั‚ะธั€ะธ ั‚ะธะฟะธ:$(br)$(br) 1. $(thing)ะšั€ะตะผะฝะตะทะตะผ$(), ะท ะฑั–ะปะพะณะพ ะฟั–ัะบัƒ.$(br) 2. $(thing)ะ“ะตะผะพั€ะฐะณั–ั‡ะฝะธะน$(), ะท ะถะพะฒั‚ะพะณะพ, ั‡ะตั€ะฒะพะฝะพะณะพ ะฐะฑะพ ั€ะพะถะตะฒะพะณะพ ะฟั–ัะบัƒ.$(br) 3. $(thing)ะžะปั–ะฒั–ะฝ$(), ะท ะทะตะปะตะฝะพะณะพ ะฐะฑะพ ะบะพั€ะธั‡ะฝะตะฒะพะณะพ ะฟั–ัะบัƒ.$(br) 4. $(thing)ะ’ัƒะปะบะฐะฝั–ั‡ะฝะธะน$(),ะท ั‡ะพั€ะฝะพะณะพ ะฟั–ัะบัƒ." }, { "type": "patchouli:crafting", "title": "ะกะธะปั–ะบะฐั‚ะฝะฐ ะŸะฐั€ั‚ั–ั ะกะบะปะฐ", "recipe": "tfc:crafting/silica_glass_batch", - "text": "ะกะบะปัะฝั– ะฟะฐั€ั‚ั–ั— ะผะพะถัƒั‚ัŒ ะฑัƒั‚ะธ ะฒะธะณะพั‚ะพะฒะปะตะฝั– ะท ะฒะธะบะพั€ะธัั‚ะฐะฝะฝัะผ ะพะดะฝะพะณะพ ะท ะฒะธั‰ะตะทะณะฐะดะฐะฝะธั… ะบะพะปัŒะพั€ั–ะฒ ะฟั–ัะบัƒ, ะฐ ั‚ะฐะบะพะถ $(l:mechanics/glassworking#lime)ะ’ะฐะฟะฝะพ$() ั– ั€ั–ะทะฝะพะฒะธะด $(l:mechanics/glassworking#potash)ะŸะพั‚ะฐัˆัƒ$()." + "text": "ะกะบะปัะฝั– ะฟะฐั€ั‚ั–ั— ะผะพะถะฝะฐ ัั‚ะฒะพั€ัŽะฒะฐั‚ะธ, ะฒะธะบะพั€ะธัั‚ะพะฒัƒัŽั‡ะธ ะพะดะธะฝ ะท ะฒะธั‰ะตะทะณะฐะดะฐะฝะธั… ะบะพะปัŒะพั€ั–ะฒ ะฟั–ัะบัƒ, ะฐ ั‚ะฐะบะพะถ $(l:mechanics/glassworking#lime)ะ’ะฐะฟะฝะพ$() ั– ั‚ะธะฟ $(l:mechanics/glassworking#potash)ะŸะพั‚ะฐัˆัƒ$()." }, { "type": "patchouli:smelting", "anchor": "lime", "recipe": "tfg:smelting/lime", - "text": "$(thing)ะ’ะฐะฟะฝะพ$() ั” ะพะดะฝะธะผ ะท ั–ะฝะณั€ะตะดั–ั”ะฝั‚ั–ะฒ, ะฝะตะพะฑั…ั–ะดะฝะธั… ะดะปั ะฒะธะณะพั‚ะพะฒะปะตะฝะฝั ัะบะปัะฝะพั— ะฟะฐั€ั‚ั–ั—. ะฆะต ะฟะพั€ะพัˆะพะบ, ัะบะธะน ะพั‚ั€ะธะผัƒัŽั‚ัŒ ัˆะปัั…ะพะผ $(l:mechanics/heating)ะพะฟะฐะปะตะฝะฝั$() $(l:mechanics/flux)ะคะปัŽะบััƒ$()." + "text": "$(thing)ะ’ะฐะฟะฝะพ$() - ั†ะต ะพะดะธะฝ ะท ั–ะฝะณั€ะตะดั–ั”ะฝั‚ั–ะฒ, ะฝะตะพะฑั…ั–ะดะฝะธั… ะดะปั ะฒะธะณะพั‚ะพะฒะปะตะฝะฝั ัะบะปะพะผะฐัะธ. ะฆะต ะฟะพั€ะพัˆะพะบ, ะพั‚ั€ะธะผะฐะฝะธะน ะทะฐ ะดะพะฟะพะผะพะณะพัŽ $(l:mechanics/heating)ะฝะฐะณั€ั–ะฒะฐะฝะฝั$() $(l:mechanics/flux)ะคะปัŽััƒ$()." }, { "type": "patchouli:smelting", "anchor": "potash", "recipe": "tfg:smelting/dried_seaweed_to_soda", "recipe2": "tfg:smelting/dried_kelp_to_soda", - "text": "ะ”ะปั ัะบะปัะฝะธั… ะฟะฐั€ั‚ั–ะน ั‚ะฐะบะพะถ ะฟะพั‚ั€ั–ะฑะตะฝ ั‚ะธะฟ$(thing)ะŸะพั‚ะฐัˆ$() ะฐะฑะพ ะตะบะฒั–ะฒะฐะปะตะฝั‚. $(thing)ะšะฐะปัŒั†ะธะฝะพะฒะฐะฝะฐ ัะพะดะฐ$() ะฟะพั€ะพัˆะพะบ, ะฒะธะณะพั‚ะพะฒะปะตะฝะธะน ัˆะปัั…ะพะผ ะฝะฐะณั€ั–ะฒะฐะฝะฝั $(thing)ะกัƒัˆะตะฝะธั… ะฒะพะดะพั€ะพัั‚ะตะน$() ะฐะฑะพ $(thing)Kelp$(). ะขะฐะบะพะถ ะผะพะถะฝะฐ ะฒะธะบะพั€ะธัั‚ะพะฒัƒะฒะฐั‚ะธ \n $(l:tfg_ores/normal_saltpeter)ะกั–ะปัŒ$()." + "text": "ะ”ะปั ัะบะปัะฝะธั… ะฟะฐั€ั‚ั–ะน ั‚ะฐะบะพะถ ะฟะพั‚ั€ั–ะฑะตะฝ ั‚ะธะฟ $(thing)ะŸะพั‚ะฐัˆ$() ะฐะฑะพ ะตะบะฒั–ะฒะฐะปะตะฝั‚. ะœะพะถะฝะฐ ะฒะธะบะพั€ะธัั‚ะพะฒัƒะฒะฐั‚ะธ. $(thing)ะšะฐะปัŒั†ะธะฝะพะฒะฐะฝะฐ ะกะพะดะฐ$() - ะฟะพั€ะพัˆะพะบ, ะฒะธะณะพั‚ะพะฒะปะตะฝะธะน ัˆะปัั…ะพะผ ะฝะฐะณั€ั–ะฒะฐะฝะฝั $(thing)ะกัƒัˆะตะฝะธั… ะฒะพะดะพั€ะพัั‚ะตะน$() ะฐะฑะพ $(thing)ะ›ะฐะผั–ะฝะฐั€ั–ัŽ$(). ะขะฐะบะพะถ ะผะพะถะฝะฐ ะฒะธะบะพั€ะธัั‚ะพะฒัƒะฒะฐั‚ะธ $(l:tfg_ores/normal_saltpeter)ะกั–ะปัŒ$()." }, { "type": "patchouli:text", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/mechanical_power.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/mechanical_power.json index 83a893d3f..4e6f17dd1 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/mechanical_power.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/mechanical_power.json @@ -6,7 +6,7 @@ { "type": "patchouli:text", "title": "ะ‘ะฐะทะพะฒะฐ ะฐะฒั‚ะพะผะฐั‚ะธะทะฐั†ั–ั", - "text": "ะะฐะฑั€ะธะดะปะพ ะดะพะฑัƒะฒะฐั‚ะธ ะฒัƒะณั–ะปะปั ัƒ ะฒะตะปะธั‡ะตะทะฝะธั… ัะผะฐั…? ะฏะบ ั‚ั–ะปัŒะบะธ ะฒะธ ะพั‚ั€ะธะผะฐั”ั‚ะต $(l:mechanics/bloomery)ะšะพะฒะบะต ะ—ะฐะปั–ะทะพ$(), ะฒะธ ะทะผะพะถะตั‚ะต ะทั€ะพะฑะธั‚ะธ ัะฒั–ะน ะฟะตั€ัˆะธะน ะผัƒะปัŒั‚ะธะฑะปะพะบ GregTech, ั†ะต $(item)ะšะพะบัะพะฒะฐ ะฟั–ั‡$().$(br)ะ’ั–ะฝ ะฟะตั€ะตั‚ะฒะพั€ะธั‚ัŒ ะบะพะปะพะดะธ ะฝะฐ $(thing)ะ”ะตั€ะตะฒะธะฝะฝะต ะฒัƒะณั–ะปะปั$() ะฐะฒั‚ะพะผะฐั‚ะธั‡ะฝะพ, ะฐ ั‚ะฐะบะพะถ ะฒะดะพัะบะพะฝะฐะปัŽะฒะฐั‚ะธ ะฑัƒะดัŒ-ัะบะต $(thing)ะ’ัƒะณั–ะปะปั$() ะฒ $(thing)ะšะพะบั$() ัะบะธะน ะณะพั€ะธั‚ัŒ ะฒะดะฒั–ั‡ั– ะดะพะฒัˆะต ะฒ $(l:mechanics/charcoal_forge)ะšัƒะทะฝั–$().$(br)ะฆั– ั€ะตั†ะตะฟั‚ะธ ัƒั‚ะฒะพั€ัŽัŽั‚ัŒ $(thing)ะšั€ะตะพะทะพั‚$(), ัะบะธะน ะผะพะถะต ะฒะธะบะพั€ะธัั‚ะพะฒัƒะฒะฐั‚ะธัั ัะบ ะฟะฐะปะธะฒะพ ะดะปั ะปะฐะผะฟ ั– ะฝะตะพะฑั…ั–ะดะฝะธะน ะดะปั $(l:mechanics/pumps)Create$()." + "text": "ะะฐะฑั€ะธะดะปะพ ะดะพะฑัƒะฒะฐั‚ะธ ะฒัƒะณั–ะปะปั ัƒ ะฒะตะปะธั‡ะตะทะฝะธั… ัะผะฐั…? ะžั‚ั€ะธะผะฐะฒัˆะธ $(l:mechanics/bloomery)ะšะพะฒะบะต ะ—ะฐะปั–ะทะพ$(), ะฒะธ ะทะผะพะถะตั‚ะต ัั‚ะฒะพั€ะธั‚ะธ ัะฒั–ะน ะฟะตั€ัˆะธะน ะผัƒะปัŒั‚ะธะฑะปะพะบ GregTech - $(item)ะšะพะบัะพะฒัƒ ะŸั–ั‡$().$(br)ะ’ั–ะฝ ะฐะฒั‚ะพะผะฐั‚ะธั‡ะฝะพ ะฟะตั€ะตั‚ะฒะพั€ัŽะฒะฐั‚ะธะผะต ะบะพะปะพะดะธ ะฝะฐ $(thing)ะดะตั€ะตะฒะธะฝะฝะต ะฒัƒะณั–ะปะปั$(), ะฐ ั‚ะฐะบะพะถ ะฟะพะบั€ะฐั‰ัƒะฒะฐั‚ะธะผะต ะฑัƒะดัŒ-ัะบะต $(thing)ะ’ัƒะณั–ะปะปั$() ะฝะฐ $(thing)ะšะพะบั$(), ัะบะธะน ะณะพั€ะธั‚ัŒ ัƒะดะฒั–ั‡ั– ะดะพะฒัˆะต ัƒ $(l:mechanics/charcoal_forge)ะšัƒะทะฝั–$().$(br)ะฃัั– ั€ะตั†ะตะฟั‚ะธ ะฒะธะฒะพะดัั‚ัŒ $(thing)ะšั€ะตะพะทะพั‚$(), ัะบะธะน ะผะพะถะฝะฐ ะฒะธะบะพั€ะธัั‚ะพะฒัƒะฒะฐั‚ะธ ัะบ ะฟะฐะปะธะฒะพ ะดะปั ะปะฐะผะฟ, ั– ัะบะธะน ะฟะพั‚ั€ั–ะฑะตะฝ ะดะปั $(l:mechanics/pumps)Create$()." }, { "type": "patchouli:spotlight", @@ -18,21 +18,21 @@ "type": "patchouli:spotlight", "item": "gtceu:tin_small_item_pipe", "title": "ะŸั€ะตะดะผะตั‚ะฝั– ะขั€ัƒะฑะธ", - "text": "ะ›ัŽะบะธ ะฐะฒั‚ะพะผะฐั‚ะธั‡ะฝะพ ะฒั‚ัะณัƒัŽั‚ัŒ ะฟั€ะตะดะผะตั‚ะธ ะฒ ัะตะฑะต ั– ะฒะธัˆั‚ะพะฒั…ัƒัŽั‚ัŒ ั€ั–ะดะธะฝะธ ั‚ะฐ ะฟั€ะตะดะผะตั‚ะธ ะฝะฐะทะพะฒะฝั–, ั‚ะพะถ ะฒะธ ะผะพะถะตั‚ะต ะฟะพัั‚ะฐะฒะธั‚ะธ $(l:mechanics/crankshaft#crates)ะฏั‰ะธะบะธ$(), $(l:mechanics/crankshaft#drums)ะ‘ะพั‡ะบะธ$(), ั‚ะฐ $(l:mechanics/barrels)ะ”ั–ะถะบะธ$() ะฒะฟั€ะธั‚ัƒะป ะดะพ ะฝะธั…, ะฐะปะต ัะบั‰ะพ ะฒะธ ั…ะพั‡ะตั‚ะต ะผะฐั‚ะธ ะฑั–ะปัŒัˆะธะน ะบะพะฝั‚ั€ะพะปัŒ, ะฒะฐะผ ะฒะฐั€ั‚ะพ ะฒะธะบะพั€ะธัั‚ะพะฒัƒะฒะฐั‚ะธ ั‚ั€ัƒะฑะธ GregTech.$(br2)$(item)ะŸั€ะตะดะผะตั‚ะฝั– ะขั€ัƒะฑะธ$() ะฝะต ะฑัƒะดัƒั‚ัŒ ะฒะธั‚ัะณะฝัƒั‚ั– ะท ะถะพะดะฝะพะณะพ ั–ะฝะฒะตะฝั‚ะฐั€ัŽ, ะดะพ ัะบะพะณะพ ะฒะพะฝะธ ะฟั€ะธะฒ'ัะทะฐะฝั–, ั‚ะพะผัƒ ะฒะฐะผ ะฟะพั‚ั€ั–ะฑะฝะพ ะฒะธะบะพั€ะธัั‚ะพะฒัƒะฒะฐั‚ะธ $(thing)ะ–ะพะปะพะฑ$() ะฐะฑะพ $(thing)ะ›ั–ะนะบะฐ$() ะฒะธั‚ัะณะฝะต ะท ั–ะฝะฒะตะฝั‚ะฐั€ัŽ ั– ะฟั€ะพัˆั‚ะพะฒั…ะฝะต ะฒ ั‚ั€ัƒะฑัƒ." + "text": "ะ›ัŽะบะธ ะฐะฒั‚ะพะผะฐั‚ะธั‡ะฝะพ ะฒั‚ัะณัƒัŽั‚ัŒ ัƒ ัะตะฑะต ะฟั€ะตะดะผะตั‚ะธ ั– ะฒะธัˆั‚ะพะฒั…ัƒัŽั‚ัŒ ั€ั–ะดะธะฝะธ ั‚ะฐ ะฟั€ะตะดะผะตั‚ะธ, ั‚ะพะถ ะฒะธ ะผะพะถะตั‚ะต ั€ะพะทะผั–ัั‚ะธั‚ะธ $(l:mechanics/crankshaft#crates)ะฏั‰ะธะบะธ$(), $(l:mechanics/crankshaft#drums)ะ‘ะพั‡ะบะธ$() ั– $(l:mechanics/barrels)ะ”ั–ะถะบะธ$() ะฟั€ัะผะพ ะฝะฐะฒะฟั€ะพั‚ะธ ะฝะธั…, ะฐะปะต ัะบั‰ะพ ะฒะธ ะฑะฐะถะฐั”ั‚ะต ะผะฐั‚ะธ ะฑั–ะปัŒัˆะต ะบะพะฝั‚ั€ะพะปัŽ, ะฒะฐะผ ะบั€ะฐั‰ะต ะฒะธะบะพั€ะธัั‚ะพะฒัƒะฒะฐั‚ะธ ั‚ั€ัƒะฑะธ ะฒั–ะด GregTech.$(br2)$(item)ะŸั€ะตะดะผะตั‚ะฝั– ะขั€ัƒะฑะธ$() ะฝะต ะฒะธั‚ัะณัƒัŽั‚ัŒัั ะท ะถะพะดะฝะพะณะพ ั–ะฝะฒะตะฝั‚ะฐั€ัŽ, ะดะพ ัะบะพะณะพ ะฒะพะฝะธ ะฟั€ะธะบั€ั–ะฟะปะตะฝั–, ั‚ะพะผัƒ ะฒะฐะผ ัะปั–ะด ะฒะธะบะพั€ะธัั‚ะพะฒัƒะฒะฐั‚ะธ $(thing)ะ–ะพะปะพะฑ(Chute)$() ะฐะฑะพ $(thing)ะ›ั–ะนะบัƒ(Hopper)$(), ั‰ะพะฑ ะฒะธั‚ัะณะฝัƒั‚ะธ ั—ั… ะท ั–ะฝะฒะตะฝั‚ะฐั€ัŽ ั– ะทะฐัˆั‚ะพะฒั…ะฝัƒั‚ะธ ัƒ ั‚ั€ัƒะฑัƒ." }, { "type": "patchouli:text", - "text": "ะ ั–ะทะฝั– ัั€ัƒัะธ ั‚ั€ัƒะฑ ะฟะตั€ะตะผั–ั‰ัƒะฒะฐั‚ะธะผัƒั‚ัŒ ั€ั–ะทะฝัƒ ะบั–ะปัŒะบั–ัั‚ัŒ ะฟั€ะตะดะผะตั‚ั–ะฒ, ะฐะปะต ะฝะฐะนะดะตัˆะตะฒัˆะธะผ ะดะปั ะฟะพั‡ะฐั‚ะบัƒ ั” $(item)ะœะฐะปะฐ ะžะปะพะฒ'ัะฝะฐ ะŸั€ะตะดะผะตั‚ะฝะฐ ะขั€ัƒะฑะฐ$().$(br2)ะŸั€ะตะดะผะตั‚ะฝั– ั‚ั€ัƒะฑัƒะธ ะผะธั‚ั‚ั”ะฒะพ ะฟะตั€ะตะผั–ั‰ัƒัŽั‚ัŒ ะฟั€ะตะดะผะตั‚ะธ, ะฝะฐะดะฐัŽั‡ะธ ะฟั€ั–ะพั€ะธั‚ะตั‚ ะฝะฐะนะฑะปะธะถั‡ะธะผ ั–ะฝะฒะตั€ั‚ะฐั€ัะผ. ะ’ะธ ะผะพะถะตั‚ะต ะทั€ะพะฑะธั‚ะธ ั‚ั€ัƒะฑะธ ะพะดะฝะพัั‚ะพั€ะพะฝะฝั–ะผะธ ะทะฐ ะดะพะฟะพะผะพะณะพัŽ $(thing)ะŸะšะœ$() ะทะฐ ะดะพะฟะพะผะพะณะพัŽ $(thing)ะ“ะฐะนะบะพะฒะพะณะพ ะบะปัŽั‡ะฐ.$() ั‚ะฐ ัƒ ะฒั–ะปัŒะฝัƒ ั€ัƒะบัƒ.$(br2)ะ’ะธ ั‚ะฐะบะพะถ ะผะพะถะตั‚ะต ะบะตั€ัƒะฒะฐั‚ะธ ะฟะตั€ะตะผั–ั‰ะตะฝะฝัะผ ะฟั€ะตะดะผะตั‚ั–ะฒ ะทะฐ ะดะพะฟะพะผะพะณะพัŽ $(thing)ะคั–ะปัŒั‚ั€ัƒ ะŸั€ะตะดะผะตั‚ั–ะฒ$(), $(thing)ะคั–ะปัŒั‚ั€ ะขะตะณั–ะฒ ะŸั€ะตะดะผะตั‚ั–ะฒ$(), ั‚ะฐ $(thing)ะžะฑะผะตะถะตะฝะฝั– ะŸั€ะตะดะผะตั‚ะฝั– ะขั€ัƒะฑะธ$()." + "text": "ะ ั–ะทะฝั– ัั€ัƒัะธ ั‚ั€ัƒะฑ ะฟะตั€ะตะผั–ั‰ัƒัŽั‚ัŒ ั€ั–ะทะฝัƒ ะบั–ะปัŒะบั–ัั‚ัŒ ะฟั€ะตะดะผะตั‚ั–ะฒ, ะฐะปะต ะฝะฐะนะดะตัˆะตะฒัˆะพัŽ ะดะปั ะฟะพั‡ะฐั‚ะบัƒ ั” $(item)ะœะฐะปะฐ ะžะปะพะฒ'ัะฝะฐ ะŸั€ะตะดะผะตั‚ะฝะฐ ะขั€ัƒะฑะฐ$().$(br2)ะŸั€ะตะดะผะตั‚ะฝั– ั‚ั€ัƒะฑะธ ะฟะตั€ะตะผั–ั‰ัƒัŽั‚ัŒ ะฟั€ะตะดะผะตั‚ะธ ะผะธั‚ั‚ั”ะฒะพ, ะฝะฐะดะฐัŽั‡ะธ ะฟั€ั–ะพั€ะธั‚ะตั‚ ะฝะฐะนะฑะปะธะถั‡ะธะผ ั–ะฝะฒะตะฝั‚ะฐั€ัะผ. ะ’ะธ ะผะพะถะตั‚ะต ะทั€ะพะฑะธั‚ะธ ั‚ั€ัƒะฑะธ ะพะดะฝะพัั‚ะพั€ะพะฝะฝั–ะผะธ ะทะฐ ะดะพะฟะพะผะพะณะพัŽ $(thing)ะŸะบะผ$(), ะฒะธั‚ัะณั‚ะธ ั—ั… ะทะฐ ะดะพะฟะพะผะพะณะพัŽ $(thing)ะ“ะฐะนะบะพะฒะพะณะพ ะšะปัŽั‡ะฐ$() ัƒ ะฟะพั€ะพะถะฝัŽ ั€ัƒะบัƒ.$(br2)ะ’ะธ ั‚ะฐะบะพะถ ะผะพะถะตั‚ะต ะบะตั€ัƒะฒะฐั‚ะธ ะฟะตั€ะตะผั–ั‰ะตะฝะฝัะผ ะฟั€ะตะดะผะตั‚ั–ะฒ ะทะฐ ะดะพะฟะพะผะพะณะพัŽ $(thing)ะคั–ะปัŒั‚ั€ัƒ ะŸั€ะตะดะผะตั‚ั–ะฒ$(), $(thing)ะคั–ะปัŒั‚ั€ัƒ ะขะตะณั–ะฒ ะŸั€ะตะดะผะตั‚ั–ะฒ$() ั– $(thing)ะžะฑะผะตะถะตะฝั– ะŸั€ะตะดะผะตั‚ะฝั– ะขั€ัƒะฑะธ$()." }, { "type": "patchouli:spotlight", "item": "gtceu:wood_normal_fluid_pipe,gtceu:bronze_normal_fluid_pipe", "title": "ะ ั–ะดะธะฝะฝั– ั‚ั€ัƒะฑะธ", - "text": "$(item)ะ ั–ะดะธะฝะฝั– ะขั€ัƒะฑะธ$() ะฝะต ะดะธะฒะฝะพ, ั‰ะพ ะฒะพะฝะธ ะฟั€ะธะทะฝะฐั‡ะตะฝั– ะดะปั ะฟะตั€ะตะผั–ั‰ะตะฝะฝั ั€ั–ะดะธะฝ. ะะฐ ะฒั–ะดะผั–ะฝัƒ ะฒั–ะด ั‚ั€ัƒะฑ ะดะปั ะฟั€ะตะดะผะตั‚ั–ะฒ, ั€ั–ะดะธะฝะฝั– ั‚ั€ัƒะฑะธ ะฝะต ะฟะตั€ะตะผั–ั‰ัƒัŽั‚ัŒ ั€ั–ะดะธะฝัƒ ะผะธั‚ั‚ั”ะฒะพ, ะฐ \"ะบะพะฒะทะฐัŽั‚ัŒ\" ั‚ัƒะดะธ-ััŽะดะธ, ั‚ะพะผัƒ ะดะพะฑั€ะต ะทั€ะพะฑะธั‚ะธ ั—ั… ะพะดะฝะพัั‚ะพั€ะพะฝะฝั–ะผะธ ะทะฐ ะดะพะฟะพะผะพะณะพัŽ $(thing)ะŸะšะœ$() ะท $(thing)ะ“ะฐะนะบะพะฒะธะผ ะบะปัŽั‡ะตะผ$() ัƒ ะฒั–ะปัŒะฝัƒ ั€ัƒะบัƒ." + "text": "ะะต ะดะธะฒะฝะพ, ั‰ะพ $(item)ะ ั–ะดะธะฝะฝั– ะขั€ัƒะฑะธ$() ะฟั€ะธะทะฝะฐั‡ะตะฝั– ะดะปั ะฟะตั€ะตะผั–ั‰ะตะฝะฝั ั€ั–ะดะธะฝ. ะะฐ ะฒั–ะดะผั–ะฝัƒ ะฒั–ะด ั‚ั€ัƒะฑ ะดะปั ะฟั€ะตะดะผะตั‚ั–ะฒ, ั‚ั€ัƒะฑะธ ะดะปั ั€ั–ะดะธะฝะธ ะฝะต ะฟะตั€ะตะผั–ั‰ัƒัŽั‚ัŒ ั€ั–ะดะธะฝัƒ ะผะธั‚ั‚ั”ะฒะพ, ะฐ ะฑัƒะดัƒั‚ัŒ ยซะบะพะฒะทะฐั‚ะธยป ั‚ัƒะดะธ-ััŽะดะธ, ั‚ะพะผัƒ ะฒะฐั€ั‚ะพ ะทั€ะพะฑะธั‚ะธ ั—ั… ะพะดะฝะพัั‚ะพั€ะพะฝะฝั–ะผะธ ะทะฐ ะดะพะฟะพะผะพะณะพัŽ $(thing)ะŸะšะœ$() ะท $(thing)Wrench$() ัƒ ะฒั–ะปัŒะฝั–ะน ั€ัƒั†ั–." }, { "type": "patchouli:text", - "text": "ะ ั–ะทะฝั– ะฒะธะดะธ ั‚ั€ัƒะฑ ะผะพะถัƒั‚ัŒ ะฒะผั–ั‰ะฐั‚ะธ ั€ั–ะทะฝั– ั€ะตั‡ั–. $(thing)ะ”ะตั€ะตะฒ'ัะฝั– ั‚ั€ัƒะฑะธ$() ะฝะต ะผะพะถัƒั‚ัŒ ัƒั‚ั€ะธะผัƒะฒะฐั‚ะธ ะณะฐะทะธ ั– ะทะณะพั€ัั‚ัŒ, ัะบั‰ะพ ะฒะธ ัะฟั€ะพะฑัƒั”ั‚ะต ะฟะพะบะปะฐัั‚ะธ ะฒ ะฝะธั… ั‰ะพััŒ ะณะฐั€ัั‡ะต. ะ†ะฝัˆั– ะผะตั‚ะฐะปะตะฒั– ั‚ั€ัƒะฑะธ, ั‚ะฐะบั– ัะบ $(thing)ะ‘ั€ะพะฝะทะพะฒั–$() ะผะพะถะต ะฟั€ะฐั†ัŽะฒะฐั‚ะธ ะท ะณะฐั€ัั‡ะธะผะธ ั€ะตั‡ะพะฒะธะฝะฐะผะธ, ั‚ะฐะบะธะผะธ ัะบ ะฟะฐั€ะฐ ั‚ะฐ ะปะฐะฒะฐ, ะฐะปะต ะฝะต ะท ะบะธัะปะพั‚ะฐะผะธ$(br2)ะŸะพั‚ั€ะธะผะฐะนั‚ะต ะบะปะฐะฒั–ัˆัƒ shift ะฝะฐะด ั‚ั€ัƒะฑะพัŽ ะท ั€ั–ะดะธะฝะพัŽ, ั‰ะพะฑ ะฟะพะฑะฐั‡ะธั‚ะธ, ะฝะฐ ั‰ะพ ะฒะพะฝะฐ ะทะดะฐั‚ะฝะฐ." + "text": "ะ ั–ะทะฝั– ั‚ะธะฟะธ ั‚ั€ัƒะฑ ะผะพะถัƒั‚ัŒ ัƒั‚ั€ะธะผัƒะฒะฐั‚ะธ ั€ั–ะทะฝั– ั€ะตั‡ั–. ะะฐะฟั€ะธะบะปะฐะด, $(thing)ะ”ะตั€ะตะฒ'ัะฝั– ะขั€ัƒะฑะธ$() ะฝะต ะผะพะถัƒั‚ัŒ ัƒั‚ั€ะธะผัƒะฒะฐั‚ะธ ะณะฐะทะธ ั– ะทะณะพั€ัั‚ัŒ, ัะบั‰ะพ ะฒะธ ัะฟั€ะพะฑัƒั”ั‚ะต ะฟะพะบะปะฐัั‚ะธ ะฒ ะฝะธั… ั‰ะพััŒ ะณะฐั€ัั‡ะต. ะ†ะฝัˆั– ะผะตั‚ะฐะปะตะฒั– ั‚ั€ัƒะฑะธ, ั‚ะฐะบั– ัะบ $(thing)ะ‘ั€ะพะฝะทะพะฒั–$(), ะผะพะถัƒั‚ัŒ ะฒะธั‚ั€ะธะผะฐั‚ะธ ะดะตัะบั– ะณะฐั€ัั‡ั– ั€ะตั‡ะพะฒะธะฝะธ, ั‚ะฐะบั– ัะบ ะฟะฐั€ะฐ ั– ะปะฐะฒะฐ, ะฐะปะต ะฝะต ะบะธัะปะพั‚ะธ.$(br2)ะฃั‚ั€ะธะผัƒะนั‚ะต shift ะฝะฐะด ั‚ั€ัƒะฑะพัŽ ะท ั€ั–ะดะธะฝะพัŽ, ั‰ะพะฑ ะฟะพะฑะฐั‡ะธั‚ะธ, ั‰ะพ ะฒะพะฝะฐ ะผะพะถะต ะฒะธั‚ั€ะธะผะฐั‚ะธ." } ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/papermaking.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/papermaking.json new file mode 100644 index 000000000..5beabc2a4 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/papermaking.json @@ -0,0 +1,161 @@ +{ + "name": "ะ’ะธะณะพั‚ะพะฒะปะตะฝะฝั ะฟะฐะฟะตั€ัƒ", + "category": "tfc:mechanics", + "icon": "tfc:unrefined_paper", + "pages": [ + { + "type": "patchouli:text", + "text": "$(thing)ะŸะฐะฟั–ั€$() ะฒะธะณะพั‚ะพะฒะปัั”ั‚ัŒัั ะท ะพะฑั€ะพะฑะปะตะฝะธั… ัั‚ะตะฑะตะป $(l:mechanics/crops#papyrus)ะŸะฐะฟั–ั€ัƒััƒ$(), ะท $(l:mechanics/papermaking#parchment)ะจะบัƒั€ ั‚ะฒะฐั€ะธะฝ$(), ะฐะฑะพ $(l:mechanics/papermaking/paperfromwood)ะฒ ั€ะตะทัƒะปัŒั‚ะฐั‚ั– ั‚ั€ะธะฒะฐะปะพะณะพ ะฟั€ะพั†ะตััƒ ะท ะฒะธะบะพั€ะธัั‚ะฐะฝะฝัะผ ะฟะตะฒะฝะธั… ะฒะธะดั–ะฒ ะดะตั€ะตะฒะธะฝะธ$(). ะŸะฐะฟั–ั€ ะบะพั€ะธัะฝะธะน ะดะปั ะฟะธััŒะผะพะฒะธั… ะผะฐั‚ะตั€ั–ะฐะปั–ะฒ, ั‚ะฐะบะธั… ัะบ $(thing)ะšะฝะธะณะธ$() ั– $(thing)ะšะฐั€ั‚ะธ$()." + }, + { + "type": "patchouli:crafting", + "recipe": "tfc:crafting/papyrus_strips", + "text": "ะŸะฐะฟั–ั€ัƒั ะฟะพั‚ั€ั–ะฑะฝะพ ัะฟะพั‡ะฐั‚ะบัƒ ั€ะพะทั€ั–ะทะฐั‚ะธ ะฝะฐ ัะผัƒะถะบะธ ะทะฐ ะดะพะฟะพะผะพะณะพัŽ $(thing)ะะพะถะฐ$()" + }, + { + "type": "tfc:sealed_barrel_recipe", + "recipe": "tfc:barrel/soaked_papyrus_strip", + "text": "ะŸะพั‚ั–ะผ ัะผัƒะถะบะธ ะฟะฐะฟั–ั€ัƒััƒ ะทะฐะฝัƒั€ัŽัŽั‚ัŒัั ัƒ $(l:mechanics/barrels)ะ”ั–ะถะบัƒ$() ะท $(thing)ะ’ะพะดะพัŽ$()." + }, + { + "type": "tfc:loom_recipe", + "recipe": "tfc:loom/unrefined_paper", + "text": "ะŸะพั‚ั–ะผ ะฟั€ะพัะพั‡ะตะฝั– ะฟะฐะฟั–ั€ัƒัะฝั– ัะผัƒะถะบะธ ัะฟะปั–ั‚ะฐัŽั‚ัŒ ะฝะฐ ั‚ะบะฐั†ัŒะบะพะผัƒ ะฒะตั€ัั‚ะฐั‚ั–, ั‰ะพะฑ ะพั‚ั€ะธะผะฐั‚ะธ $(thing)ะะตั€ะฐั„ั–ะฝะพะฒะฐะฝะธะน ะฟะฐะฟั–ั€$(). ะะฐั€ะตัˆั‚ั–, ะนะพะณะพ ะบะปะฐะดัƒั‚ัŒ ะฝะฐ ะบะพะปะพะดัƒ ั– $(l:mechanics/leather_making#scraping)ะจะบั€ัะฑะฐัŽั‚ัŒ$(), ั‰ะพะฑ ะพั‚ั€ะธะผะฐั‚ะธ $(thing)ะŸะฐะฟั–ั€$()." + }, + { + "type": "patchouli:crafting", + "recipe": "tfc:crafting/vanilla/map", + "recipe2": "tfc:crafting/vanilla/name_tag" + }, + { + "type": "patchouli:crafting", + "recipe": "minecraft:writable_book", + "recipe2": "minecraft:book" + }, + { + "type": "patchouli:crafting", + "recipe": "tfc:crafting/wood/pine_lectern", + "recipe2": "tfc:crafting/wood/kapok_bookshelf" + }, + { + "type": "patchouli:text", + "text": "ะŸะตั€ะตะนะดั–ั‚ัŒ ะฝะฐ ะฝะฐัั‚ัƒะฟะฝัƒ ัั‚ะพั€ั–ะฝะบัƒ, ั‰ะพะฑ ะดั–ะทะฝะฐั‚ะธัั ะฟั€ะพ ะฒะธะณะพั‚ะพะฒะปะตะฝะฝั ะฟะฐะฟะตั€ัƒ ะทะฐ ะดะพะฟะพะผะพะณะพัŽ ะฟะตั€ะณะฐะผะตะฝั‚ะฝะพะณะพ ะฟั€ะพั†ะตััƒ." + }, + { + "type": "patchouli:text", + "anchor": "parchment", + "text": "$(thing)ะŸะตั€ะณะฐะผะตะฝั‚ะฝะธะน ะฟะฐะฟั–ั€$() ะฟะพั‡ะธะฝะฐั”ั‚ัŒัั ะท ะฒะธั‡ะธั‰ะตะฝะพั— ัˆะบัƒั€ะธ. ะŸะตั€ะตะณะปัะฝัŒั‚ะต ั€ะพะทะดั–ะป $(l:mechanics/leather_making)ะฒะธั€ะพะฑะปะตะฝะฝั ัˆะบั–ั€ะธ$(), ั‰ะพะฑ ะดั–ะทะฝะฐั‚ะธัั, ัะบ ะนะพะณะพ ะฒะธะณะพั‚ะพะฒะธั‚ะธ. ะŸะตั€ะณะฐะผะตะฝั‚ ะฟะพั‚ั€ั–ะฑะฝะพ ะพะฑั€ะพะฑะธั‚ะธ ะบั–ะปัŒะบะพะผะฐ ั€ั–ะทะฝะธะผะธ ะฟั€ะตะดะผะตั‚ะฐะผะธ. ะŸะพ-ะฟะตั€ัˆะต, ะฟะพั‚ั€ั–ะฑะฝะฐ $(thing)ะŸะตะผะทะฐ$(). ะŸะตะผะทัƒ ะผะพะถะฝะฐ ะทะฝะฐะนั‚ะธ ะฝะฐ ะทะตะผะปั– ะฑั–ะปั $(l:the_world/geology)ะ’ัƒะปะบะฐะฝั–ะฒ$(), ะฐะฑะพ ะท $(l:mechanics/sluices)ะจะปัŽะทั–ะฒ$() ั‡ะธ $(l:mechanics/panning)ะŸะพะฝะฐั€ะพะผะพะฒะฐะฝั–ะธั…$() ะฟะพะบะปะฐะดั–ะฒ ั€ัƒะดะธ ะท ะฐะฝะดะตะทะธั‚ะพะผ, ั€ั–ะพะปั–ั‚ะพะผ ะฐะฑะพ ะดะฐั†ะธั‚ะพะผ.", + "title": "ะŸะตั€ะณะฐะผะตะฝั‚" + }, + { + "type": "patchouli:multiblock", + "multiblock": { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:groundcover/pumice" + } + }, + "name": "ะŸะตะผะทะฐ", + "text": "ะšะฐะผั–ะฝัŒ ะฟะตะผะทะธ, ะฟะพะบะปะฐะดะตะฝะธะน ะฝะฐ ะทะตะผะปัŽ.", + "enable_visualize": false + }, + { + "type": "patchouli:crafting", + "recipe": "tfc:crafting/large_treated_hide", + "text": "ะกั‚ะฒะพั€ะตะฝะฝั ะฟะตะผะทะธ, ะผะพะปะพั‚ะบะฐ ั‚ะฐ ะฒะธัˆะบั€ัะฑะฐะฝะพั— ัˆะบัƒั€ะธ ะดะฐั” ัะตะบั†ั–ั— $(thing)ะžะฑั€ะพะฑะปะตะฝะฐ ัˆะบัƒั€ะฐ$()." + }, + { + "type": "patchouli:crafting", + "recipe": "tfc:crafting/parchment", + "text": "ะžะฑั€ะพะฑะปะตะฝะฐ ัˆะบัƒั€ะฐ, $(l:mechanics/glassworking#lime)ะฒะฐะฟะฝัะฝะธะน ะฟะพั€ะพัˆะพะบ$(), ะฑะพั€ะพัˆะฝะพ ั‚ะฐ ัะฒั–ะถะต ัะนั†ะต ะทะฐะฒะตั€ัˆัƒัŽั‚ัŒ ะฟั€ะพั†ะตั ะพะฑั€ะพะฑะบะธ ะน ะดะฐัŽั‚ัŒ ะฟั€ะธะดะฐั‚ะฝะธะน ะดะปั ะฒะธะบะพั€ะธัั‚ะฐะฝะฝั ะฟะฐะฟั–ั€." + }, + { + "type": "patchouli:text", + "anchor": "paperfromwood", + "text": "$(thing)ะกั‚ะฒะพั€ะตะฝะฝั ะฟะฐะฟะตั€ัƒ ะท ะดะตั€ะตะฒะธะฝะธ$()- ั†ะต ัั‚ะฐั€ะพะดะฐะฒะฝั–ะน ะฟั€ะพั†ะตั, ัะบะธะน ะฟะตั€ะตะดะฑะฐั‡ะฐั” ะพะฑั€ะพะฑะบัƒ ะผั–ั†ะฝะธั… ะฟะพั€ั–ะด ะดะตั€ะตะฒะธะฝะธ ะฝะฐ ะปะธัั‚ะธ, ัะบั– ั€ะพะทะฑะธะฒะฐัŽั‚ัŒ ะฝะฐ ั†ะตะปัŽะปะพะทัƒ, ะฐ ะฟะพั‚ั–ะผ ะฟั€ะตััƒัŽั‚ัŒ, ััƒัˆะฐั‚ัŒ ั– ะทั–ัˆะบั€ั–ะฑะฐัŽั‚ัŒ, ั‰ะพะฑ ะพั‚ั€ะธะผะฐั‚ะธ ะฟะฐะฟั–ั€.$(br2)ะ—ะฒะตั€ะฝั–ั‚ัŒ ัƒะฒะฐะณัƒ, ั‰ะพ ะผ'ัะบั– ะฟะพั€ะพะดะธ ะดะตั€ะตะฒะธะฝะธ ะฝะต ะฟั€ะธะดะฐั‚ะฝั– ะดะปั ะฒะธะณะพั‚ะพะฒะปะตะฝะฝั ะฟะฐะฟะตั€ัƒ", + "title": "ะŸะฐะฟั–ั€ ะท ะดะตั€ะตะฒะฐ" + }, + { + "type": "patchouli:text", + "text": "ะกะฟะพั‡ะฐั‚ะบัƒ ะฟะพั‚ั€ั–ะฑะฝะพ ะทะฝะฐะนั‚ะธ ั‚ะฒะตั€ะดัƒ ะดะตั€ะตะฒะธะฝัƒ:$(br2)ะะบะฐั†ั–ั$(br)ะฏัะตะฝ$(br)ะžัะธะบะฐ$(br)ะ‘ะตั€ะตะทะฐ$(br)ะงะพั€ะฝะต ะดะตั€ะตะฒะพ$(br)ะšะฐัˆั‚ะฐะฝ$(br)ะ“ั–ะบะพั€ั–$(br)ะšะปะตะฝ$(br)ะ”ัƒะฑ$(br)ะŸะฐะปั–ัะฐะฝะดั€$(br)ะฏะฒั–ั€" + }, + { + "type": "patchouli:spotlight", + "title": "ะ—ะฐั‡ะธั‰ะตะฝะฐ ะดะตั€ะตะฒะธะฝะฐ ั‚ะฒะตั€ะดะธั… ะฟะพั€ั–ะด", + "item": { + "tag": "tfg:stripped_hardwood" + }, + "text": "ะŸั€ะพั†ะตั ะฟะพั‡ะธะฝะฐั”ั‚ัŒัั ะทั– ะทะฝัั‚ั‚ั ะบะพั€ะธ ะท $(thing)ะขะฒะตั€ะดะธั… ะฟะพั€ั–ะด ะดะตั€ะตะฒะธะฝะธ$(), ั‰ะพะฑ ะฒั–ะดะบั€ะธั‚ะธ ะฒะฝัƒั‚ั€ั–ัˆะฝั– ะฒะพะปะพะบะฝะฐ ะบะพะปะพะดะธ, ะ’ะธ ะผะพะถะตั‚ะต ะทะฝัั‚ะธ ะบะพั€ัƒ, ะฟะพะบะปะฐะฒัˆะธ ะบะพะปะพะดัƒ ะฒะฝะธะท ั– ะบะปะฐั†ะฝัƒะฒัˆะธ ะฟั€ะฐะฒะพัŽ ะบะฝะพะฟะบะพัŽ ะผะธัˆั– ะฟะพ ะฝั–ะน ัะพะบะธั€ะพัŽ" + }, + { + "type": "patchouli:crafting", + "title": "ะกะผัƒะถะบะฐ ั‚ะฒะตั€ะดะธั… ะฟะพั€ั–ะด", + "recipe": "tfg:crafting/strip_hardwood", + "text": "ะ”ะฐะปั– ะทะฐั‡ะธั‰ะตะฝัƒ ะดะตั€ะตะฒะธะฝัƒ ะพะฑัั‚ั€ัƒะณัƒัŽั‚ัŒ ัะพะบะธั€ะพัŽ, ั‰ะพะฑ ะพั‚ั€ะธะผะฐั‚ะธ $(item)ะกะผัƒะถะบัƒ ะท ั‚ะฒะตั€ะดะธั… ะฟะพั€ั–ะด$(). ะฆะต ะผะพะถะฝะฐ ะทั€ะพะฑะธั‚ะธ ะทะฐ ะดะพะฟะพะผะพะณะพัŽ ัะพะบะธั€ะธ ะฐะฑะพ ัะบะปะฐะดะฝั–ัˆะธั… ะผะตั‚ะพะดั–ะฒ" + }, + { + "type": "tfc:sealed_barrel_recipe", + "title": "ะŸั€ะพัะพั‡ะตะฝะฐ ัะผัƒะถะบะฐ ะท ั‚ะฒะตั€ะดะธั… ะฟะพั€ั–ะด", + "recipe": "tfg:barrel/soak_hardwood_strip", + "text": "ะŸะพั‚ั–ะผ ะพะบั€ะตะผั– ัะผัƒะถะบะธ ะทะฐะฝัƒั€ัŽัŽั‚ัŒัั ัƒ $(l:mechanics/barrels)ะ‘ะพั‡ะบัƒ$() ะท $(thing)ะ’ะพะดะพัŽ$(). ะฆะต $(thing)ั€ัƒะนะฝัƒั” ัั‚ั€ัƒะบั‚ัƒั€ะฝัƒ ั†ั–ะปั–ัะฝั–ัั‚ัŒ$() of the $(thing)ะดะตั€ะตะฒะฐ$(), ั‰ะพะฑ ะนะพะณะพ ะผะพะถะฝะฐ ะฑัƒะปะพ $(thing)ั€ะพะทะฑะธั‚ะธ ะดะฐะปั–$()" + }, + { + "type": "tfc:quern_recipe", + "recipe": "tfg:quern/soaked_hardwood_strip", + "title": "ะฆะตะปัŽะปะพะทะฐ ะท ั‚ะฒะตั€ะดะธั… ะฟะพั€ั–ะด", + "text": "ะŸั–ัะปั ั†ัŒะพะณะพ ะฒะธะบะพั€ะธัั‚ะพะฒัƒะนั‚ะต $(l:mechanics/quern)ะ–ะพั€ะฝะฐ$() ั‰ะพะฑ ั€ะพะทะฑะธั‚ะธ ะทะฐะผะพั‡ะตะฝั– ัะผัƒะถะบะธ ะฝะฐ $(item)ะฆะตะปัŽะปะพะทะฐ ะท ั‚ะฒะตั€ะดะธั… ะฟะพั€ั–ะด$()" + }, + { + "type": "patchouli:crafting", + "recipe": "gtceu:shaped/small_dust_assembling_hardwood", + "title": "ะะฐะณั€ะพะผะฐะดะถะตะฝะฝั ั†ะตะปัŽะปะพะทะธ", + "text": "ะฅะพั‡ะฐ ะถะพั€ะฝะพ ะดะฐั” ะฝะตะฒะตะปะธะบั– ะบัƒะฟะบะธ ะผ'ัะบะพั‚ั–, ะฒะธ ะทะฐั…ะพั‡ะตั‚ะต ะพะฑ'ั”ะดะฝะฐั‚ะธ ั—ั… ั€ะฐะทะพะผ ัƒ $(thing)ะ’ะตั€ัั‚ะฐะบัƒ$(). ะกะบะปะฐะดะฝั–ัˆั– ะผะตั‚ะพะดะธ ะฟะพะดั€ั–ะฑะฝะตะฝะฝั ัะผัƒะถะพะบ ะดะฐัŽั‚ัŒ ะฑั–ะปัŒัˆัƒ ะบั–ะปัŒะบั–ัั‚ัŒ ะผ'ัะบะพั‚ั–" + }, + { + "type": "patchouli:spotlight", + "item": "gtceu:thermochemically_treated_hardwood_dust", + "title": "ะ ะพะทั‰ะตะฟะปะตะฝะฝั ั†ะตะปัŽะปะพะทะธ", + "text": "ะŸะตั€ัˆ ะฝั–ะถ ะฟะตั€ะตั€ะพะฑะปัั‚ะธ ั†ะตะปัŽะปะพะทัƒ ะฝะฐ ะฟะฐะฟั–ั€, ั—ั— ะฟะพั‚ั€ั–ะฑะฝะพ ั€ะพะทั‰ะตะฟะธั‚ะธ ัˆะปัั…ะพะผ $(thing)ะšะธะฟ'ัั‚ั–ะฝะฝั ะท ะปัƒะณะพะผ$() ัƒ $(l:firmalife/oven_appliances#vat)ะงะฐะฝั–$() ะฐะฑะพ $(l:mechanics/pot)ะšะฐัั‚ั€ัŽะปั–$()." + }, + { + "type": "patchouli:empty" + }, + { + "type": "patchouli:spotlight", + "item": "tfg:soaked_unrefined_paper", + "title": "ะŸั€ะตััƒะฒะฐะฝะฝั ั†ะตะปัŽะปะพะทะธ", + "text": "ะŸั–ัะปั ั€ะพะทั‰ะตะฟะปะตะฝะฝั ัˆะปัั…ะพะผ ะบะธะฟ'ัั‚ั–ะฝะฝั ะท ะปัƒะณะพะผ, $(item)ะขะตั€ะผะพั…ั–ะผั–ั‡ะฝะพ ะพะฑั€ะพะฑะปะตะฝะฐ ั†ะตะปัŽะปะพะทะฐ ั‚ะฒะตั€ะดะธั… ะฟะพั€ั–ะด$() ะผะพะถะต ะฑัƒั‚ะธ ัะฟั€ะตัะพะฒะฐะฝะฐ ะฒ ะปะธัั‚ $(item)ะŸั€ะพัะพั‡ะตะฝะพะณะพ ะฝะตั€ะฐั„ั–ะฝะพะฒะฐะฝะพะณะพ ะฟะฐะฟะตั€ัƒ$()" + }, + { + "type": "tfc:anvil_recipe", + "recipe": "tfg:anvil/soaked_unrefined_paper", + "text": "ะ’ะธ ะผะพะถะตั‚ะต ะฒะธะบะพั€ะธัั‚ะฐั‚ะธ $(l:mechanics/anvils)ะะฐะบะพะฒะฐะปัŒะฝัŽ$(), ั‰ะพะฑ ะฒะธะฑะธั‚ะธ ะผ'ัะบัƒัˆ ะฝะฐ ะปะธัั‚" + }, + { + "type": "patchouli:spotlight", + "title": "ะขัƒะฟะพั‚ั–ะฝะฝั ะฒ ะฑะพั‡ั†ั–", + "item": { + "tag": "firmalife:stomping_barrels" + }, + "text": "ะšั€ั–ะผ ั‚ะพะณะพ, ะฒะธ ะผะพะถะตั‚ะต ั€ะพะทั‚ะพะฟั‚ะฐั‚ะธ ั‚ะตั€ะผะพั…ั–ะผั–ั‡ะฝะพ ะพะฑั€ะพะฑะปะตะฝัƒ ั†ะตะปัŽะปะพะทัƒ ะปะธัั‚ัะฝะธั… ะฟะพั€ั–ะด ัƒ ะฑะพั‡ั†ั– ะดะปั $(l:firmalife/wine)ะขัƒะฟะพั‚ั–ะฝะฝั ะฒ ะฑะพั‡ั†ั–$()" + }, + { + "type": "tfc:drying_recipe", + "recipe": "tfg:drying/unrefined_paper", + "text": "ะžัั‚ะฐะฝะฝั–ะผ ะบั€ะพะบะพะผ ั” $(l:firmalife/drying)ะกัƒัˆั–ะฝะฝั$() $(item)ะŸั€ะพัะพั‡ะตะฝะพะณะพ ะฝะตั€ะฐั„ั–ะฝะพะฒะฐะฝะพะณะพ ะฟะฐะฟะตั€ัƒ$() ะดะพ $(item)ะะตั€ะฐั„ั–ะฝะพะฒะฐะฝะพะณะพ ะฟะฐะฟะตั€ัƒ$(), ัะบะธะน ะฟะพั‚ั–ะผ ะผะพะถะฝะฐ ะทั–ัˆะบั€ะตะฑั‚ะธ ะดะพ $(item)ะŸะฐะฟะตั€ัƒ$(), ัะบ ะฟะพะบะฐะทะฐะฝะพ ะฒะธั‰ะต." + }, + { + "type": "patchouli:text", + "title": "ะ—ั€ั–ะทะฐั‚ะธ ะบั€ะพะบะธ...?", + "text": "ะŸั€ะพััƒะฒะฐะฝะฝั ะฟะพ ั‚ะตั…ะฝะพะปะพะณั–ั‡ะฝะพะผัƒ ะดะตั€ะตะฒัƒ ะดะพะทะฒะพะปะธั‚ัŒ ะฒะฐะผ ัั‚ะฒะพั€ัŽะฒะฐั‚ะธ ะฟะฐะฟั–ั€ ะท ะดะตั€ะตะฒะธะฝะธ ะทะฐ ะผะตะฝัˆัƒ ะบั–ะปัŒะบั–ัั‚ัŒ ะบั€ะพะบั–ะฒ, ะฟะตั€ะตะฒั–ั€ั‚ะต $(thing)EMI$(), ั‰ะพะฑ ะดั–ะทะฝะฐั‚ะธัั ะฟั€ะพ ั€ั–ะทะฝั– ะฟั–ะดั…ะพะดะธ, ัะบั– ะฒะธ ะผะพะถะตั‚ะต ะทะฐัั‚ะพััƒะฒะฐั‚ะธ ะดะปั ะฒะธะณะพั‚ะพะฒะปะตะฝะฝั ะฟะฐะฟะตั€ัƒ ะท ะดะตั€ะตะฒะธะฝะธ." + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/pumps.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/pumps.json index 300a7e7fc..dfc89b1ee 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/pumps.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/pumps.json @@ -6,7 +6,7 @@ { "type": "patchouli:text", "title": "ะŸะพั‡ะฐั‚ะพะบ ั€ะพะฑะพั‚ะธ ะท Create", - "text": "ะฃ TerraFirmaGreg, ะฒะปะฐัะฝะฐ ะผะตั…ะฐะฝั–ั‡ะฝะฐ ัะธัั‚ะตะผะฐ ะตะฝะตั€ะณะพะฟะพัั‚ะฐั‡ะฐะฝะฝั TFC ะฑัƒะปะฐ ะทะฐะผั–ะฝะตะฝะฐ ะฝะฐ $(thing)Create$().$(br2)ะ’ะธ ะผะพะถะตั‚ะต ัั‚ะฒะพั€ะธั‚ะธ ะบั–ะปัŒะบะฐ Create, ัะบ ั‚ั–ะปัŒะบะธ ะพั‚ั€ะธะผะฐั”ั‚ะต ะบะพะฒะฐะฝะต ะทะฐะปั–ะทะพ, ะฐะปะต ะฟะพ-ัะฟั€ะฐะฒะถะฝัŒะพะผัƒ ั€ะพะทะฟะพั‡ะฐั‚ะธ ั€ะพะฑะพั‚ัƒ ะผะพะถะฝะฐ ะปะธัˆะต ะฟั–ัะปั ั‚ะพะณะพ, ัะบ ะพั‚ั€ะธะผะฐั”ั‚ะต ะดะพัั‚ัƒะฟ ะดะพ $(l:mechanics/steel)ะกั‚ะฐะปั–$() ั‚ะฐ $(thing)ะŸะฐั€ะพะฒะธั… ะœะฐัˆะธะฝ$().$(br2)ะŸะพ-ะฟะตั€ัˆะต, ะฒะฐะผ ะทะฝะฐะดะพะฑะธั‚ัŒัั ะดะถะตั€ะตะปะพ $(thing)ะœะตั…ะฐะฝั–ั‡ะฝะพั— ะกะธะปะธ$(), ะฐะฑะพ ะฒะพะดัะฝั– ะบะพะปะตัะฐ, ะฐะฑะพ ะฒั–ั‚ั€ัะบะธ, ะฐะฑะพ ะฟะฐั€ะพะฒะธะน ะดะฒะธะณัƒะฝ. ะ— ะฝะธั…, $(thing)ะ’ะพะดัะฝั– ะšะพะปะตัะฐ$() ะฝะฐะนะฟั€ะพัั‚ั–ัˆั– ะดะปั ะฟะพั‡ะฐั‚ะบัƒ, ะฟั€ะพัั‚ะพ ะฟะพัั‚ะฐะฒั‚ะต ั—ั… ัƒ ั€ั–ั‡ะบัƒ!$(br)" + "text": "ะฃ TerraFirmaGreg ะฒะปะฐัะฝัƒ ะผะตั…ะฐะฝั–ั‡ะฝัƒ ัะธัั‚ะตะผัƒ TFC ะทะฐะผั–ะฝะตะฝะพ ะฝะฐ $(thing)Create$().$(br2)ะ’ะธ ะผะพะถะตั‚ะต ัั‚ะฒะพั€ะธั‚ะธ ะบั–ะปัŒะบะฐ ั€ะตั‡ะตะน Create, ะบะพะปะธ ัƒ ะฒะฐั ั” ะšะพะฒะฐะฝะต ะทะฐะปั–ะทะพ, ะฐะปะต ะฟะพ-ัะฟั€ะฐะฒะถะฝัŒะพะผัƒ ะฟะพั‡ะฐั‚ะธ ะผะพะถะฝะฐ ะปะธัˆะต ั‚ะพะดั–, ะบะพะปะธ ัƒ ะฒะฐั ั” ะดะพัั‚ัƒะฟ ะดะพ $(l:mechanics/steel)ะกั‚ะฐะปั–$() ั– $(thing)ะŸะฐั€ะพะฒะธั… ะœะฐัˆะธะฝ$().$(br2)ะŸะพ-ะฟะตั€ัˆะต, ะฒะฐะผ ะทะฝะฐะดะพะฑะธั‚ัŒัั ะดะถะตั€ะตะปะพ $(thing)ะœะตั…ะฐะฝั–ั‡ะฝะพั— ะตะฝะตั€ะณั–ั—$(), ะ’ะพะดัะฝั– ะบะพะปะตัะฐ, ะ’ั–ั‚ั€ัะบะธ ะฐะฑะพ ะŸะฐั€ะพะฒะฐ ะผะฐัˆะธะฝะฐ. ะ— ะฝะธั… ะฝะฐะนะฟั€ะพัั‚ั–ัˆะต ะฟะพั‡ะฐั‚ะธ ะท $(thing)ะ’ะพะดัะฝะธั… ะšะพะปั–ั$(), ะฟั€ะพัั‚ะพ ะฟะพะผั–ัั‚ั–ั‚ัŒ ั—ั… ัƒ ั€ั–ั‡ะบัƒ!$(br)" }, { "type": "patchouli:crafting", @@ -20,15 +20,15 @@ }, { "type": "patchouli:spotlight", - "title": "ะžะฑั€ะพะฑะปะตะฝะธะน ะผ'ัะบัƒัˆ", + "title": "ะžะฑั€ะพะฑะปะตะฝะฐ ะดะตั€ะตะฒะฝะฐ ั†ะตะปัŽะปะพะทะฐ", "item": "gtceu:hp_steam_macerator,gtceu:treated_wood_dust", - "text": "ะŸะพั‚ั–ะผ ะฟะพะบะปะฐะดั–ั‚ัŒ ะพะฑั€ะพะฑะปะตะฝั– ะดะพัˆะบะธ ะฒ $(thing)ะŸะฐั€ะพะฒะธะน ะŸะพะดั€ั–ะฑะฝัŽะฒะฐั‡$(). ะฆะต ัƒั‚ะฒะพั€ะธั‚ัŒ $(thing)ะžะฑั€ะพะฑะปะตะฝัƒ ะผ'ัะบัƒัˆ$()." + "text": "ะ”ะฐะปั– ะฟะพะบะปะฐะดั–ั‚ัŒ ะพะฑั€ะพะฑะปะตะฝั– ะดะพัˆะบะธ ะฒ $(thing)ะŸะฐั€ะพะฒะธะน ะŸะพะดั€ั–ะฑะฝัŽะฒะฐั‡$(). ั€ะตะทัƒะปัŒั‚ะฐั‚ั– ะฒะธ ะพั‚ั€ะธะผะฐั”ั‚ะต $(thing)ะžะฑั€ะพะฑะปะตะฝัƒ ะดะตั€ะตะฒะฝัƒ ั†ะตะปัŽะปะพะทัƒ$()." }, { "type": "patchouli:spotlight", - "title": "ะ”ะตั€ะตะฒ'ัะฝั– ะ”ะพัˆะบะธ, ะžะฑั€ะพะฑะปะตะฝั– ะšั€ะตะพะทะพั‚ะพะผ", + "title": "ะžะฑั€ะพะฑะปะตะฝะฐ ะดะตั€ะตะฒ'ัะฝะฐ ะดะพัˆะบะฐ", "item": "gtceu:hp_steam_compressor,gtceu:treated_wood_plate", - "text": "ะะฐั€ะตัˆั‚ั–, ะฟะพะบะปะฐะฒัˆะธ ะผ'ัะบัƒัˆ ะฒ $(thing)ะŸะฐั€ะพะฒะธะน ะšะพะผะฟั€ะตัะพั€$() ัั‚ะฒะพั€ะธั‚ัŒ $(thing)ะžะฑั€ะพะฑะปะตะฝัƒ ะ”ะตั€ะตะฒ'ัะฝัƒ ะ”ะพัˆะบัƒ$().$(br2)ะŸะพั‚ั–ะผ ะฒะธ ะผะพะถะตั‚ะต ะฒะธะบะพั€ะธัั‚ะพะฒัƒะฒะฐั‚ะธ ั—ั… ะดะปั ัั‚ะฒะพั€ะตะฝะฝั $(item)ะ—ัƒะฑั‡ะฐัั‚ะธั… ะšะพะปะตั$()!" + "text": "ะะฐั€ะตัˆั‚ั–, ะฟะพะผั–ัั‚ะธะฒัˆะธ ั†ะตะปัŽะปะพะทัƒ ัƒ $(thing)ะŸะฐั€ะพะฒะธะน ะšะพะผะฟั€ะตัะพั€$(), ะฒะธ ะพั‚ั€ะธะผะฐั”ั‚ะต$(thing)ะžะฑั€ะพะฑะปะตะฝัƒ ะดะตั€ะตะฒ'ัะฝัƒ ะดะพัˆะบัƒ$().$(br2)ะŸะพั‚ั–ะผ ะฒะธ ะผะพะถะตั‚ะต ะฒะธะบะพั€ะธัั‚ะฐั‚ะธ ั—ั— ะดะปั ะฒะธะณะพั‚ะพะฒะปะตะฝะฝั $(item)ะจะตัั‚ะตั€ะฝั–$()!" }, { "type": "patchouli:crafting", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/deep_sapphire.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/deep_sapphire.json index f2fbc4bc6..5bfbe1a2a 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/deep_sapphire.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/deep_sapphire.json @@ -6,7 +6,7 @@ "pages": [ { "type": "patchouli:text", - "text": "ะ ั–ะดะบั–ัั‚ัŒ: 180$(br)ะฉั–ะปัŒะฝั–ัั‚ัŒ: 0.35$(br)ะขะธะฟ: ะ”ะธัะบะพะฒะฐ ะฒะตะฝะฐ$(br)Y: -64 - 26$(br)ะ ะพะทะผั–ั€: 28$(br)ะ’ะธัะพั‚ะฐ: 8$(br2)ะขะธะฟะธ ะบะฐะผะตะฝัŽ: ะ ั–ะพะปั–ั‚, ะ‘ะฐะทะฐะปัŒั‚, ะะฝะดะตะทะธั‚, ะ”ะฐั†ะธั‚$(br2)ะ†ะฝะดะธะบะฐั‚ะพั€: ะะปะผะฐะดั–ะฝ, ะŸั–ั€ะพะฟ, ะกะฐะฟั„ั–ั€, ะ—ะตะปะตะฝะธะน ะกะฐะฟั„ั–ั€ $(br2)ะฏะบั‰ะพ ะฒะธ ัˆัƒะบะฐั”ั‚ะต $(thing)ะะปัŽะผั–ะฝั–ะน$(), ะทะฝะฐะนะดั–ั‚ัŒ $(l:tfg_ores/normal_bauxite)ะ‘ะพะบัะธั‚ะฝัƒ$() ะฒะตะฝัƒ ะทะฐะผั–ัั‚ัŒ.$(br)" + "text": "ะ ั–ะดะบั–ัั‚ัŒ: 280$(br)ะฉั–ะปัŒะฝั–ัั‚ัŒ: 0.35$(br)ะขะธะฟ: ะ”ะธัะบะพะฒะฐ ะฒะตะฝะฐ$(br)Y: -64 - 26$(br)ะ ะพะทะผั–ั€: 28$(br)ะ’ะธัะพั‚ะฐ: 8$(br2)ะขะธะฟะธ ะบะฐะผะตะฝัŽ: ะ ั–ะพะปั–ั‚, ะ‘ะฐะทะฐะปัŒั‚, ะะฝะดะตะทะธั‚, ะ”ะฐั†ะธั‚$(br2)ะ†ะฝะดะธะบะฐั‚ะพั€: ะะปะผะฐะดั–ะฝ, ะŸั–ั€ะพะฟ, ะกะฐะฟั„ั–ั€, ะ—ะตะปะตะฝะธะน ะกะฐะฟั„ั–ั€ $(br2)ะฏะบั‰ะพ ะฒะธ ัˆัƒะบะฐั”ั‚ะต $(thing)ะะปัŽะผั–ะฝั–ะน$(), ะทะฝะฐะนะดั–ั‚ัŒ $(l:tfg_ores/normal_bauxite)ะ‘ะพะบัะธั‚ะฝัƒ$() ะฒะตะฝัƒ ะทะฐะผั–ัั‚ัŒ.$(br)" }, { "type": "patchouli:multiblock", @@ -87,4 +87,4 @@ "text": "ะ’ั–ะดัะพั‚ะพะบ: 15%$(br)ะ”ะถะตั€ะตะปะพ: ะะปัŽะผั–ะฝั–ัŽ$(br)ะคะพั€ะผัƒะปะฐ: Alโ‚‚Oโ‚ƒ" } ] -} +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/deep_scheelite.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/deep_scheelite.json index 588d7154f..a8909e4a1 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/deep_scheelite.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/deep_scheelite.json @@ -13,7 +13,7 @@ "name": "ะจะตั”ะปั–ั‚", "multiblock": { "mapping": { - "0": "#forge:ores/cooperite" + "0": "#forge:ores/scheelite" }, "pattern": [ [ @@ -66,4 +66,4 @@ "text": "ะ’ั–ะดัะพั‚ะพะบ: 20%$(br)ะ”ะถะตั€ะตะปะพ: ะ›ั–ั‚ั–ัŽ$(br)ะคะพั€ะผัƒะปะฐ: Li" } ] -} \ No newline at end of file +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/normal_saltpeter.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/normal_saltpeter.json index f5995ba99..fd15502a0 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/normal_saltpeter.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/normal_saltpeter.json @@ -10,7 +10,7 @@ }, { "type": "patchouli:multiblock", - "name": "Saltpeter", + "name": "ะกะตะปั–ั‚ั€ะฐ", "multiblock": { "mapping": { "0": "#forge:ores/saltpeter" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/anvil_working_guide.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/anvil_working_guide.json new file mode 100644 index 000000000..fee92d565 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/anvil_working_guide.json @@ -0,0 +1,174 @@ +{ + "name": "ะŸะพัั–ะฑะฝะธะบ ั€ะพะฑะพั‚ะธ ะท ะบะพะฒะฐะดะปะพะผ", + "icon": "gtceu:red_steel_hammer", + "category": "tfc:tfg_tips", + "read_by_default": false, + "priority": false, + "pages": [ + { + "type": "patchouli:text", + "title": "ะ ะพะฑะพั‚ะฐ ะท ะบะพะฒะฐะดะปะฐะผะธ", + "text": "$(l:mechanics/anvils#working)ะ ะพะฑะพั‚ะฐ$() ัƒ $(l:mechanics/anvils)ะšะพะฒะฐะดะปั–$( ั” ะบะปัŽั‡ะพะฒะธะผ ะฟั€ะพั†ะตัะพะผ ัƒ $(thing)TerraFirmaGreg$(), ะพัะบั–ะปัŒะบะธ ะฑั–ะปัŒัˆั–ัั‚ัŒ ะฒะฐัˆะพั— ั€ะพะฑะพั‚ะธ ัƒ $(thing)ะŸะฐั€ะพะฒั–ะน ั‚ะฐ ะœะตั…ะฐะฝั–ั‡ะฝั–ะน ะตะฟะพั…ะฐั…$()ะฒะธะผะฐะณะฐั‚ะธะผะต ะฒะธะบะพั€ะธัั‚ะฐะฝะฝั ะบะพะฒะฐะดะปะฐ.$(br)ะฆะตะน ะฟะพัั–ะฑะฝะธะบ ั€ะพะทะฑะธั‚ะพ ะฝะฐ ะดะฒั– ั‡ะฐัั‚ะธะฝะธ: $(l:tfg_tips/anvil_working_guide#ui_explained)ะ ะพะทัƒะผั–ะฝะฝั ะ†ะฝั‚ะตั€ั„ะตะนััƒ$() ั‚ะฐ $(l:tfg_tips/anvil_working_guide#how_to_perfectly_forge)ะฏะบ ะ”ะพัะบะพะฝะฐะปะพ ะšัƒะฒะฐั‚ะธ$().$(br2)ะœะพะดะฟะฐะบ ะผะฐั” ะฒะปะฐัะฝะธะน $(thing)ะ ะตััƒั€ั ะŸะฐะบ$() ะฟั–ะด ะฝะฐะทะฒะพัŽ $(l:https://www.curseforge.com/minecraft/texture-packs/tfc-anvil-helper)TFC Anvil Helper$(), ัะบะธะน ะฒะฐะผ ะฟะพั‚ั€ั–ะฑะฝะพ ัƒะฒั–ะผะบะฝัƒั‚ะธ, ั‰ะพะฑ ั†ะตะน ะฟะพัั–ะฑะฝะธะบ ะผะฐะฒ ัะตะฝั.$()" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/anvil_working_guide/anvil_ui.png" + ], + "border": false, + "text": "ะ†ะฝั‚ะตั€ั„ะตะนั ะบะพะฒะฐะดะปะฐ ะท ัƒะฒั–ะผะบะฝะตะฝะธะผ ะฟะพะผั–ั‡ะฝะธะบะพะผ TFC Anvil Helper" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/anvil_working_guide/anvil_ui_marked.png" + ], + "border": false, + "anchor": "ui_explained", + "tile": "ะ†ะฝั‚ะตั€ั„ะตะนั ั– ะฒะธ", + "text": "ะ†ะฝั‚ะตั€ั„ะตะนั ะบะพะฒะฐะดะปะฐ ะท ัƒะฒั–ะผะบะฝะตะฝะธะผ ะฟะพะผั–ั‡ะฝะธะบะพะผ TFC Anvil Helper, ะท ะบะพะปัŒะพั€ะพะฒะธะผ ะบะพะดัƒะฒะฐะฝะฝัะผ." + }, + { + "type": "patchouli:text", + "text": "$(#ff0000)1.$() ะ•ะปะตะผะตะฝั‚, ัะบะธะน ะฒะธ ะฒะธะฑั€ะฐะปะธ ะดะปั ัั‚ะฒะพั€ะตะฝะฝั ะฝะฐ ะบะพะฒะฐะดะปั–. ะšะพะถะตะฝ ะตะปะตะผะตะฝั‚ ะผะฐั” ะฟะตะฒะฝะธะน ะฝะฐะฑั–ั€ ะฝะตะพะฑั…ั–ะดะฝะธั… $(#be00ff)ะšั€ะพะบั–ะฒ$() ั‚ะฐ $(#ff6b00)ะžะฑััะณัƒ ะ ะพะฑะพั‚ะธ$() $(br)$(#ff00c6)2.$() ะ’ั…ั–ะดะฝะธะน ะตะปะตะผะตะฝั‚, ะฝะฐะด ัะบะธะผ ะฒะธ ะทะฐั€ะฐะท ะฟั€ะฐั†ัŽั”ั‚ะต. $(br)$(#be00ff)3.$() ะะตะพะฑั…ั–ะดะฝั– ะบั€ะพะบะธ ัƒ ะทะฐะผะพะฒะปะตะฝะฝั–, ัะบั– ะฒะธ ะผะฐั”ั‚ะต ะฒะธะบะพะฝะฐั‚ะธ, ะฟะตั€ัˆ ะฝั–ะถ ะตะปะตะผะตะฝั‚ ะฑัƒะดะต ะฒะฒะฐะถะฐั‚ะธัั ะทะฐะฒะตั€ัˆะตะฝะธะผ. ะ—ะฐะณะฐะปะพะผ ั–ัะฝัƒั” 4 ั€ั–ะทะฝั– ะฟะพัะปั–ะดะพะฒะฝะพัั‚ั– (ะดะธะฒ. ะฝะฐัั‚ัƒะฟะฝัƒ ัั‚ะพั€ั–ะฝะบัƒ):" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/anvil_working_guide/anvil_ui_marked.png" + ], + "border": false + }, + { + "type": "patchouli:text", + "text": "(ะŸั€ะธะผั–ั‚ะบะฐ: X ั” ัะธะผะฒะพะปะพะผ ะฟั–ะดัั‚ะฐะฝะพะฒะบะธ ะดะปั ะฑัƒะดัŒ-ัะบะพะณะพ ั‚ะธะฟัƒ ะบั€ะพะบัƒ)$(br)$(li)x_Any: ะšั€ะพะบ ะผะพะถะต ะทัƒัั‚ั€ั–ั‡ะฐั‚ะธัั ัƒ ะฑัƒะดัŒ-ัะบั–ะน ะท ะพัั‚ะฐะฝะฝั–ั… 3 ะดั–ะน.$()$(li)x_Last:ะœะฐั” ะฑัƒั‚ะธ ะพัั‚ะฐะฝะฝั–ะผ ะฒะธะบะพะฝะฐะฝะธะผ ะบั€ะพะบะพะผ.$()$(li)x_Not Last: ะšั€ะพะบ ะฝะต ะผะพะถะต ะฑัƒั‚ะธ ะพัั‚ะฐะฝะฝั–ะผ ะฒะธะบะพะฝะฐะฝะธะผ ะบั€ะพะบะพะผ.$()$(li)x_Second Last: ะœะฐั” ะฑัƒั‚ะธ ะฟะตั€ะตะดะพัั‚ะฐะฝะฝั–ะผ ะฒะธะบะพะฝะฐะฝะธะผ ะบั€ะพะบะพะผ.$()$(li)x_Third Last: ะœะฐั” ะฑัƒั‚ะธ ะฟะตั€ะตะดะพัั‚ะฐะฝะฝั–ะผ ะฒะธะบะพะฝะฐะฝะธะผ ะบั€ะพะบะพะผ$()" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/anvil_working_guide/anvil_ui_marked.png" + ], + "border": false + }, + { + "type": "patchouli:text", + "text": "$(#2e00ff)4.$() ะขะธะฟะธ ะบั€ะพะบั–ะฒ. ะšะพะถะตะฝ ั‚ะธะฟ ะบั€ะพะบัƒ ะฒั–ะดะฝั–ะผะฐั” ะฐะฑะพ ะดะพะดะฐั” ะดะพ ะฟะพั‚ะพั‡ะฝะพะณะพ ะทะฝะฐั‡ะตะฝะฝั ั€ะพะฑะพั‚ะธ. ะฆะต, ะฒ ะฟะพั€ัะดะบัƒ ะทะปั–ะฒะฐ ะฝะฐะฟั€ะฐะฒะพ, ะทะฒะตั€ั…ัƒ ะฒะฝะธะท:$(li)ะ›ะตะณะบะธะน ัƒะดะฐั€: -3$()$(li)ะฃะดะฐั€: -6$()$(li)ะจั‚ะฐะผะฟัƒะฒะฐั‚ะธ: +2$()$(li)ะ—ั–ะณะฝัƒั‚ะธ: +7$()$(li)ะกะธะปัŒะฝะธะน ัƒะดะฐั€: -9$()$(li)ะŸั€ะพั‚ัะณะฝัƒั‚ะธ: -15$()$(li)ะ’ะธัะฐะดะธั‚ะธ: +13$()$(li)ะ ัƒะฑะฐั‚ะธ: +16$()" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/anvil_working_guide/anvil_ui_marked.png" + ], + "border": false + }, + { + "type": "patchouli:text", + "text": "$(#00a7ff)5.$() ะŸั€ะพั€ั–ะทะธ, ะฒ ัะบั– ะฟะพั‚ั€ะฐะฟะปัั” ะผะพะปะพั‚ะพะบ, ั– ั„ะปัŽั, ัะบั‰ะพ ะฒะธ ะทะฒะฐั€ัŽั”ั‚ะต.$(br)$(#00ff26)6. $()ะŸะพั‚ะพั‡ะฝะฐ ะบั–ะปัŒะบั–ัั‚ัŒ ั€ะพะฑะพั‚ะธ, ัะบัƒ ะผะฐั” ะตะปะตะผะตะฝั‚, ะฒะธะบะพะฝะฐะฝะฝั ั€ั–ะทะฝะธั… ะบั€ะพะบั–ะฒ ะทะฑั–ะปัŒัˆัƒั” ะฐะฑะพ ะทะผะตะฝัˆัƒั” ะบั–ะปัŒะบั–ัั‚ัŒ ั€ะพะฑะพั‚ะธ, ัะบัƒ ะผะฐั” ะตะปะตะผะตะฝั‚.$(br)$(#fff400)7. $()ะ—ะฝะฐั‡ะตะฝะฝั ั†ั–ะปัŒะพะฒะพั— ั€ะพะฑะพั‚ะธ, ะทะฝะฐั‡ะตะฝะฝั $(#00ff26)ะ ะพะฑะพั‚ะธ$() ะผะฐั” ะฑัƒั‚ะธ ะฒะธั€ั–ะฒะฝัะฝะต ะขะžะงะะž ะท ั†ั–ะปัŒะพะฒะพัŽ ั€ะพะฑะพั‚ะพัŽ, ั– $(#ff00c6)ะะตะพะฑั…ั–ะดะฝั– ะบั€ะพะบะธ$() ะผะฐัŽั‚ัŒ ะฑัƒั‚ะธ ะฒะธะบะพะฝะฐะฝั–, ั‰ะพะฑ ะตะปะตะผะตะฝั‚ ะฒะฒะฐะถะฐะฒัั ะทะฐะฒะตั€ัˆะตะฝะธะผ.$(br)$(#ff6b00)8. $()ะกะผัƒะณะฐ ั€ะพะฑะพั‚ะธ, ัะบะฐ ะฒะธะบะพั€ะธัั‚ะพะฒัƒั”ั‚ัŒัั ะดะปั ะฒะธั€ั–ะฒะฝัŽะฒะฐะฝะฝั ะทะฝะฐั‡ะตะฝะฝั ั€ะพะฑะพั‚ะธ ะทั– ะทะฝะฐั‡ะตะฝะฝัะผ ั†ั–ะปัŒะพะฒะพั— ั€ะพะฑะพั‚ะธ." + }, + { + "type": "patchouli:text", + "anchor": "how_to_perfectly_forge", + "title": "ะฏะบ ะดะพัะบะพะฝะฐะปะพ ะบัƒะฒะฐั‚ะธ", + "text": "$(thing)ะ”ะพัะบะพะฝะฐะปะต ะบัƒะฒะฐะฝะฝั$() ะฟั€ะตะดะผะตั‚ะฐ, ัะบะธะน ะผะพะถะต ะทะปะฐะผะฐั‚ะธัั, ะฝะฐะฟั€ะธะบะปะฐะด, $(thing)ะ“ะพะปะพะฒะบะธ ั–ะฝัั‚ั€ัƒะผะตะฝั‚ั–ะฒ$(), $(thing)ะ—ะฑั€ะพั$() ะฐะฑะพ $(thing)ะ‘ั€ะพะฝั$(), ะฟั€ะธะทะฒะพะดะธั‚ัŒ ะดะพ ั‚ะพะณะพ, ั‰ะพ ะฟั€ะตะดะผะตั‚ ะพั‚ั€ะธะผัƒั” ะฑะพะฝัƒัะธ ะดะพ ะผั–ั†ะฝะพัั‚ั– ั‚ะฐ ะทะฐะณะฐะปัŒะฝะพั— ะตั„ะตะบั‚ะธะฒะฝะพัั‚ั–, ะฟั€ะธั‡ะพะผัƒ ั‡ะธะผ ะผะตะฝัˆัƒ ะทะฐะณะฐะปัŒะฝัƒ ะบั–ะปัŒะบั–ัั‚ัŒ ะบั€ะพะบั–ะฒ ะฒะธ ั€ะพะฑะธั‚ะต ะดะปั ะบัƒะฒะฐะฝะฝั ะฟั€ะตะดะผะตั‚ะฐ, ั‚ะธะผ ะฑั–ะปัŒัˆะต ะฑะพะฝัƒัั–ะฒ ะฒั–ะฝ ะพั‚ั€ะธะผะฐั”. ะ—ะฐะฒะตั€ัˆะตะฝะฝั ั€ะพะฑะพั‚ะธ ะฝะฐะด ะฟั€ะตะดะผะตั‚ะพะผ ะทะฐ ะดัƒะถะต ะผะฐะปัƒ ะบั–ะปัŒะบั–ัั‚ัŒ ะบั€ะพะบั–ะฒ ะฟั€ะธะทะฒะพะดะธั‚ัŒ ะดะพ ั‚ะพะณะพ, ั‰ะพ ะฒั–ะฝ ัั‚ะฐั” ะดะพัะบะพะฝะฐะปะพ ะฒะธะบัƒะฒะฐะฝะธะผ, ะฝะต ั‚ั–ะปัŒะบะธ ะดะฐัŽั‡ะธ ะฑะพะฝัƒัะธ ะดะพ ะณะพั‚ะพะฒะพะณะพ ะฟั€ะตะดะผะตั‚ะฐ, ะฐะปะต ะน ะทะผะตะฝัˆัƒัŽั‡ะธ ะทะฐะณะฐะปัŒะฝะธะน ะทะฝะพั ะผะพะปะพั‚ะฐ." + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/anvil_working_guide/perfectly_forged_item.png" + ], + "border": false, + "text": "ะ†ะดะตะฐะปัŒะฝะพ ะฒะธะบัƒะฒะฐะฝะฐ ะณะพะปะพะฒะบะฐ ะบะฐะนะปะฐ ะท ะบะพะฒะบะพะณะพ ะทะฐะปั–ะทะฐ" + }, + { + "type": "patchouli:spotlight", + "title": "ะŸะพัั–ะฑะฝะธะบ ะท ะบัƒะฒะฐะฝะฝั", + "item": "gtceu:wrought_iron_pickaxe_head", + "text": "ะฃ ั†ั–ะน ั‡ะฐัั‚ะธะฝั– ะฟะพัั–ะฑะฝะธะบะฐ ะผะธ ั€ะพะทะฟะพะฒั–ะผะพ, ัะบ ะดะพัะบะพะฝะฐะปะพ ะฒะธะบัƒะฒะฐั‚ะธ ะฑัƒะดัŒ-ั‰ะพ, ะฟะพั‡ะธะฝะฐัŽั‡ะธ ะท ะบะพะฒะฐะฝะพะณะพ ะดะตั€ะถะฐะบะฐ ะบะฐะนะปะฐ.$(br2)$(bold)$(italic)ะ’ะ†ะ”ะœะžะ’ะ ะ’ะ†ะ” ะ’ะ†ะ”ะŸะžะ’ะ†ะ”ะะ›ะฌะะžะกะขะ†:$()$(br)ะฅะพั‡ะฐ ะฝะตะพะฑั…ั–ะดะฝั– ะบั€ะพะบะธ ั‚ะฐ ะทะฐะผะพะฒะปะตะฝะฝั ะดะปั ะฟั€ะตะดะผะตั‚ะฐ ั” ัƒะฝั–ะฒะตั€ัะฐะปัŒะฝะธะผะธ ะดะปั ะฒัั–ั… ัะฒั–ั‚ั–ะฒ ัƒ TerraFirmaGreg, ั†ั–ะปัŒะพะฒะต ะทะฝะฐั‡ะตะฝะฝั ั€ะพะฑะพั‚ะธ ะฒั–ะดั€ั–ะทะฝัั”ั‚ัŒัั, ะพัะบั–ะปัŒะบะธ ะฒะพะฝะพ ะฟะพั…ะพะดะธั‚ัŒ ะฒั–ะด ะะฐัั–ะฝะธะฝะธ ะฒะฐัˆะพะณะพ ัะฒั–ั‚ัƒ, ั‚ะพะผัƒ ะฒ ั†ัŒะพะผัƒ ะฟะพัั–ะฑะฝะธะบัƒ ะŸะ ะ˜ะŸะฃะฉะ•ะะž, ั‰ะพ ั†ั–ะปัŒะพะฒะต ะทะฝะฐั‡ะตะฝะฝั ั€ะพะฑะพั‚ะธ ะดะปั ะบะพะฒะฐะฝะพะณะพ ะดะตั€ะถะฐะบะฐ ะบะธั€ะบะธ ะดะพั€ั–ะฒะฝัŽั” $(bold)83$()" + }, + { + "type": "patchouli:empty" + }, + { + "type": "patchouli:text", + "title": "ะšั€ะพะบ 1", + "text": "ะŸะตั€ัˆะธะผ ะบั€ะพะบะพะผ ัƒ ะฒะฐัˆั–ะน ะบะพะฒะฐะปัŒััŒะบั–ะน ะผะฐะฝะดั€ั–ะฒั†ั– ั” ะพั‚ั€ะธะผะฐะฝะฝั ะทะฝะฐั‡ะตะฝะฝั, ะพั‚ั€ะธะผะฐะฝะพะณะพ ัˆะปัั…ะพะผ ะดะพะดะฐะฒะฐะฝะฝั ะฒัั–ั… ะทะฝะฐั‡ะตะฝัŒ ะฝะตะพะฑั…ั–ะดะฝะธั… ะบั€ะพะบั–ะฒ ั€ะฐะทะพะผ. ะ”ะปั ะณะพะปะพะฒะบะธ ะบะฐะนะปะฐ ะฒะฐะผ ะฟะพั‚ั€ั–ะฑะฝั– ะฝะฐัั‚ัƒะฟะฝั– ะบั€ะพะบะธ:$(li)$(bold)ะจั‚ะฐะผะฟัƒะฒะฐั‚ะธ$() ะžัั‚ะฐะฝั–ะน$()$(li)$(bold)ะ—ั–ะณะฝัƒั‚ะธ$() ะะต ะพัั‚ะฐะฝั–ะน$()$(li)$(bold)ะŸั€ะพั‚ัะณะฝัƒั‚ะธ$() ะะต ะพัั‚ะฐะฝั–ะน$().$(br)ะ”ะพะดะฐะฒัˆะธ ะทะฝะฐั‡ะตะฝะฝั ะฒ ะบั–ะฝั†ั– ะบะพะถะฝะพะณะพ ะบั€ะพะบัƒ, ะผะธ ะพั‚ั€ะธะผะฐั”ะผะพ ะทะฝะฐั‡ะตะฝะฝั, ัะบะต ะผะธ ัˆัƒะบะฐั”ะผะพ. ะะฐะทะฒะตะผะพ ั†ะต ะทะฝะฐั‡ะตะฝะฝั ยซะฝะตะพะฑั…ั–ะดะฝะฐ ั€ะพะฑะพั‚ะฐยป.$(br)$(bold)2 + 7 + (-15) = -6$()" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/anvil_working_guide/steps.png" + ], + "text": "ะšั€ะพะบะธ, ะฝะตะพะฑั…ั–ะดะฝั– ะดะปั ั€ะพะฑะพั‚ะธ ะท ะบะฐะนะปะพะผ" + }, + { + "type": "patchouli:text", + "title": "ะšั€ะพะบ 2", + "text": "ะฅะพั‡ะฐ ะฝะฐัˆะพัŽ ะพัะฝะพะฒะฝะพัŽ ะผะตั‚ะพัŽ ะดะปั ะžะฑััะณัƒ ั€ะพะฑั–ั‚ ั” ัƒะทะณะพะดะถะตะฝะฝั ะนะพะณะพ ะท ะฆั–ะปัŒะพะฒะธะผ ะพะฑััะณะพะผ ั€ะพะฑั–ั‚, ะผะธ ะฟะพะฒะธะฝะฝั– ะฟะตั€ะตะบะพะฝะฐั‚ะธัั, ั‰ะพ ะฒะธะผะพะณะธ ั‚ะฐ ะ•ั‚ะฐะฟะธ ะฒะธะบะพะฝะฐะฝั–, ั‚ะพะผัƒ ะฑะตะทะฟะพัะตั€ะตะดะฝั” ัƒะทะณะพะดะถะตะฝะฝั ะžะฑััะณัƒ ั€ะพะฑั–ั‚ ะท ะฆั–ะปัŒะพะฒะธะผ ะพะฑััะณะพะผ ั€ะพะฑั–ั‚ ะฝะต ะดะฐัั‚ัŒ ะฑะฐะถะฐะฝะธั… ั€ะตะทัƒะปัŒั‚ะฐั‚ั–ะฒ. ะ—ะฐะผั–ัั‚ัŒ ั†ัŒะพะณะพ ะผะธ ะผะพะถะตะผะพ ะพะฑั‡ะธัะปะธั‚ะธ ะทะฝะฐั‡ะตะฝะฝั a, ะพั‚ั€ะธะผะฐะฝะต ะท ะฆั–ะปัŒะพะฒะพั— ั€ะพะฑะพั‚ะธ ั– \"ะฝะตะพะฑั…ั–ะดะฝะพั— ั€ะพะฑะพั‚ะธ\"" + }, + { + "type": "patchouli:text", + "text": "ะฆะต ะทะฝะฐั‡ะตะฝะฝั ะผะพะถะต ะฑัƒั‚ะธ ะพั‚ั€ะธะผะฐะฝะต ะฒ ะทะฐะปะตะถะฝะพัั‚ั– ะฒั–ะด ะทะฝะฐะบัƒ \"ะฝะตะพะฑั…ั–ะดะฝะพั— ั€ะพะฑะพั‚ะธ\" (ั‚ะพะฑั‚ะพ, ัะบั‰ะพ ะทะฝะฐั‡ะตะฝะฝั ะฒั–ะด'ั”ะผะฝะต ะฐะฑะพ ะดะพะดะฐั‚ะฝะต).$(li)ะฏะบั‰ะพ \"ะฝะตะพะฑั…ั–ะดะฝะฐ ะ ะพะฑะพั‚ะฐ\" ะดะพะดะฐั‚ะฝะฐ$()$(li2)ะ’ั–ะดะฝัั‚ะธ ะฐะฑัะพะปัŽั‚ะฝะต ะทะฝะฐั‡ะตะฝะฝั \"ะฝะตะพะฑั…ั–ะดะฝะพั— ะ ะพะฑะพั‚ะธ\" ะฒั–ะด \"ั†ั–ะปัŒะพะฒะพั— ั€ะพะฑะพั‚ะธ\"$()$(li3)83 - 6 == $(bold)77$()$()$(li)ะฏะบั‰ะพ \"ะฝะตะพะฑั…ั–ะดะฝะฐ ะ ะพะฑะพั‚ะฐ\" ะฒั–ะด'ั”ะผะฝะฐ$()$(li2)ะ”ะพะดะฐั‚ะธ ะฐะฑัะพะปัŽั‚ะฝะต ะทะฝะฐั‡ะตะฝะฝั \"ะฝะตะพะฑั…ั–ะดะฝะพั— ะ ะพะฑะพั‚ะธ\" ะดะพ \"ั†ั–ะปัŒะพะฒะพั— ั€ะพะฑะพั‚ะธ\"$()$(li3)83 + 6 = $(bold)89$()$()" + }, + { + "type": "patchouli:text", + "text": "ะžัะบั–ะปัŒะบะธ \"ะฝะตะพะฑั…ั–ะดะฝะพั— ั€ะพะฑะพั‚ะธ\" ะดะปั ะฝะฐัˆะพะณะพ ะตะปะตะผะตะฝั‚ะฐ ะดะพั€ั–ะฒะฝัŽั” -6, ะทะฝะฐั‡ะตะฝะฝั, ัะบะต ะผะธ ัˆัƒะบะฐั”ะผะพ, ะฑัƒะดะต $(bold)89$().$(br)ะœะพะถะปะธะฒะพ, ะฒะฐะผ ั†ั–ะบะฐะฒะพ, ัะบ ะผะพะถะฝะฐ ะพั‚ั€ะธะผะฐั‚ะธ ั‚ะพั‡ะฝั– ั‡ะธัะปะพะฒั– ะทะฝะฐั‡ะตะฝะฝั ะดะปั ะฒะฐัˆะพั— ั†ั–ะปัŒะพะฒะพั— ั€ะพะฑะพั‚ะธ? ะ†ะฝั‚ะตั€ั„ะตะนั Anvil ะฟะพะบะฐะทัƒั” ะฝะฐะผ ั†ะต ะทะฐ ะดะพะฟะพะผะพะณะพัŽ ั€ะพะฑะพั‡ะพั— ะฟะฐะฝะตะปั–. ะ’ะพะฝะฐ ะฟะพะบะฐะทัƒั” ะปะธัˆะต ั‡ะธัะปะฐ, ะบั€ะฐั‚ะฝั– 20, ะฐะปะต ะผะธ ะผะพะถะตะผะพ ะปะตะณะบะพ ะดั–ะทะฝะฐั‚ะธัั ั–ะฝัˆั– ั‡ะธัะปะฐ ะทะฐ ะดะพะฟะพะผะพะณะพัŽ ะบะพะปัŒะพั€ะพะฒะธั… ะปั–ะฝั–ะน:$(li)ะกะฒั–ั‚ะปะพ-ัั–ั€ะธะน: ะฟั€ะตะดัั‚ะฐะฒะปัั” ั‡ะธัะปะพ, ะบั€ะฐั‚ะฝะต 5$()$(li)ะกั–ั€ะธะน: ะฟั€ะตะดัั‚ะฐะฒะปัั” ะฝะตะฟะฐั€ะฝะต ั‡ะธัะปะพ$()$(li)ะขะตะผะฝะพ-ัั–ั€ะธะน: ะฟั€ะตะดัั‚ะฐะฒะปัั” ะฟะฐั€ะฝะต ั‡ะธัะปะพ$()" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/anvil_working_guide/work_bar_numbers.png", + "tfg:textures/gui/field_guide/anvil_working_guide/target_work_for_wrought_iron_pickaxe_head.png" + ] + }, + { + "type": "patchouli:text", + "title": "ะšั€ะพะบ 3", + "text": "ะœะฐัŽั‡ะธ ะทะฝะฐั‡ะตะฝะฝั, ะพั‚ั€ะธะผะฐะฝะต ะท \"ั†ั–ะปัŒะพะฒะพั— ั€ะพะฑะพั‚ะธ\" ั– \"ะฝะตะพะฑั…ั–ะดะฝะพั— ั€ะพะฑะพั‚ะธ, ั‚ะตะฟะตั€ ะฝะฐะผ ะฟะพั‚ั€ั–ะฑะฝะพ ะดะพััะณั‚ะธ ะทะฐะทะฝะฐั‡ะตะฝะพะณะพ ะทะฝะฐั‡ะตะฝะฝั ะ ะพะฑะพั‚ะฐ, ั†ะต ะผะพะถะฝะฐ ะทั€ะพะฑะธั‚ะธ ะฐะฑะพ ะฒั€ัƒั‡ะฝัƒ, ะดะพะดะฐะฒัˆะธ ั‡ะธัะปะฐ, ะดะพะดะฐะฝั– ะดะปั ะบะพะถะฝะพะณะพ ะบั€ะพะบัƒ, ะฐะฑะพ ะทะฐ ะดะพะฟะพะผะพะณะพัŽ ัˆะฟะฐั€ะณะฐะปะบะธ ะฒ ะฟะฐะฝะตะปั– ั–ะฝั‚ะตั€ั„ะตะนััƒ. ะšะพะถะตะฝ ะบะพะปั–ั€ ะฟั€ะตะดัั‚ะฐะฒะปัั” ั‚ะธะฟ ะบั€ะพะบัƒ ะฒ ั–ะฝั‚ะตั€ั„ะตะนัั– ะบะพั€ะธัั‚ัƒะฒะฐั‡ะฐ. $(br)IE: ะงะตั€ะฒะพะฝะธะน == ะ ัƒะฑะฐั‚ะธ (+16)" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/anvil_working_guide/work_bar_cheat_sheet.png" + ], + "text": "16 + 16 + 16 + 16 + 16 + 7 + 2 = 89" + }, + { + "type": "patchouli:text", + "title": "ะšั€ะพะบ 4", + "text": "ะขะตะฟะตั€, ะบะพะปะธ ะผะธ ะทะฝะฐั”ะผะพ ะฝะตะพะฑั…ั–ะดะฝั– ะบั€ะพะบะธ, ะฝะฐัั‚ะฐะฒ ั‡ะฐั ะดะพััะณั‚ะธ ะทะฝะฐั‡ะตะฝะฝั, ะพั‚ั€ะธะผะฐะฝะพะณะพ ะท ยซะฆั–ะปัŒ ะ ะพะฑะพั‚ะธยป ั– ยซะฝะตะพะฑั…ั–ะดะฝะพั— ั€ะพะฑะพั‚ะธยป. ะ”ะปั ะณะพะปะพะฒะบะธ ะบะฐะนะปะฐ, ะดะต ะทะฝะฐั‡ะตะฝะฝั TotalWork ะดะพั€ั–ะฒะฝัŽั” 83, ะฝะฐะผ ะฟะพั‚ั€ั–ะฑะฝะพ ะดะพััะณั‚ะธ 89. ะขะฐะบะธะผ ั‡ะธะฝะพะผ, ะผะธ ั€ะพะฑะธะผะพ: (ะ ัƒะฑะฐั‚ะธ x 5) -> ะ—ั–ะณะฝัƒั‚ะธ -> ะจั‚ะฐะผะฟัƒะฒะฐั‚ะธ.$(br2)ะŸั–ัะปั ั‚ะพะณะพ, ัะบ ะฝะฐัˆะต ะทะฝะฐั‡ะตะฝะฝั Work ะดะพััะณะฝะต ะฑะฐะถะฐะฝะพะณะพ ะทะฝะฐั‡ะตะฝะฝั, ะฟั€ะพัั‚ะพ ะฒะธะบะพะฝะฐะนั‚ะต ะฝะตะพะฑั…ั–ะดะฝั– ะบั€ะพะบะธ, ัะบั– ะดะปั ะณะพะปะพะฒะบะธ ะบะฐะนะปะฐ ั” ั‚ะฐะบะธะผะธ: ะŸั€ะพั‚ัะณะฝัƒั‚ะธ-> ะ—ั–ะณะฝัƒั‚ะธ -> ะจั‚ะฐะผะฟัƒะฒะฐั‚ะธ. ะ† ะฒัƒะฐะปั! ะœะธ ะพั‚ั€ะธะผะฐะปะธ ั–ะดะตะฐะปัŒะฝะพ ะฒะธะบัƒะฒะฐะฝะธะน ะฟั€ะตะดะผะตั‚!" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/anvil_working_guide/wrought_iron_pickaxe_head_no_work.png", + "tfg:textures/gui/field_guide/anvil_working_guide/wrought_iron_pickaxe_head_some_work.png", + "tfg:textures/gui/field_guide/anvil_working_guide/wrought_iron_pickaxe_head_complete.png" + ], + "text": "ะ—ะปะธั‚ะพะบ ะฑะตะท ั€ะพะฑะพั‚ะธ->ะ”ะพััะณะฝัƒั‚ะพ ะฑะฐะถะฐะฝะพะณะพ ะทะฝะฐั‡ะตะฝะฝั ั€ะพะฑะพั‚ะธ->ะ’ะธะบะพะฝัƒั”ะผะพ ะฝะตะพะฑั…ั–ะดะฝั– ะบั€ะพะบะธ ะดะปั ะฝะฐัˆะพะณะพ ะตะปะตะผะตะฝั‚ะฐ." + }, + { + "type": "patchouli:text", + "title": "ะŸั€ะธะบะปะฐะดะธ", + "text": "ะ”ะฐะฒะฐะนั‚ะต ั€ะพะทะณะปัะฝะตะผะพ ั†ะตะน ะฟั€ะพั†ะตั ะฝะฐ ะฟั€ะธะบะปะฐะดั– ั–ะฝัˆะธั… ะฟั€ะตะดะผะตั‚ั–ะฒ, ั‚ะฐะบะธั… ัะบ ะขะฐั€ั–ะปะบะฐ ะฐะฑะพ ะกั‚ั€ะธะถะตะฝัŒ. ะ—ะฝะพะฒัƒ ะถ ั‚ะฐะบะธ, ั†ั–ะปัŒะพะฒะฐ ั€ะพะฑะพั‚ะฐ ะฒั–ะดั€ั–ะทะฝัั”ั‚ัŒัั ะฒั–ะด ัะฒั–ั‚ะพะฒะพะณะพ ะฝะฐัั–ะฝะฝั, ั‚ะพะผัƒ ั—ั…ะฝั– ะทะฝะฐั‡ะตะฝะฝั ะฑัƒะดัƒั‚ัŒ ะฒั–ะดั€ั–ะทะฝัั‚ะธัั ัƒ ะฒะฐัˆะพะผัƒ ัะฒั–ั‚ั–.$(br)ะขะฐั€ั–ะปะบะฐ ะฆั–ะปัŒะพะฒะต ะทะฝะฐั‡ะตะฝะฝั: $(bold)111$()$(br)ะะตะพะฑั…ั–ะดะฝั– ะบั€ะพะบะธ: ะฃะดะฐั€ x 3, ะ‘ัƒะดัŒ-ัะบะธะน ะฟะพั€ัะดะพะบ$(br)\"ะฝะตะพะฑั…ั–ะดะฝะพั— ั€ะพะฑะพั‚ะธ\": -3 x 3 = -9$(br)ะŸะพั…ั–ะดะฝะต ะทะฝะฐั‡ะตะฝะฝั: 111 + 9 = 120.$(br)ะ”ะพััะณะฝะตะฝะฝั ะทะฝะฐั‡ะตะฝะฝั: (ะ ัƒะฑะฐั‚ะธ x 5)->(ะ’ะธัะฐะดะธั‚ะธ x 2)->(ะจั‚ะฐะผะฟัƒะฒะฐั‚ะธ x 2)$(br)ะžั‚ั€ะธะผะฐะฝะฝั ะฟั€ะตะดะผะตั‚ะฐ: 120 - (ะ›ะตะณะบะธะน ัƒะดะฐั€ x 3) == $(bold)111$(). ะžะฑะธะดะฒั– ะฒะธะผะพะณะธ ะฒะธะบะพะฝะฐะฝะพ." + }, + { + "type": "patchouli:text", + "text": "ะฆั–ะปัŒะพะฒะต ะทะฝะฐั‡ะตะฝะฝั ัั‚ั€ะธะถะฝั:: $(bold)78$()$(br)ะะตะพะฑั…ั–ะดะฝั– ะบั€ะพะบะธ: ะŸั€ะพั‚ัะณะฝัƒั‚ะธ->ะŸั€ะพั‚ัะณะฝัƒั‚ะธ->ะ—ั–ะณะฝัƒั‚ะธ$(br)\"ะฝะตะพะฑั…ั–ะดะฝะพั— ั€ะพะฑะพั‚ะธ\": (-15 x 2) + 7 = -23$(br)ะŸะพั…ั–ะดะฝะต ะทะฝะฐั‡ะตะฝะฝั: 78 + 23 = 101.$(br)ะ”ะพััะณะฝะตะฝะฝั ะทะฝะฐั‡ะตะฝะฝั: (ะ ัƒะฑะฐั‚ะธ x 5)->(ะ—ั–ะณะฝัƒั‚ะธ x 3)$(br)ะžั‚ั€ะธะผะฐะฝะฝั ะฟั€ะตะดะผะตั‚ะฐ: 101 - 15 - 15 + 7 = 101." + }, + { + "type": "patchouli:text", + "title": "ะ†ะฝัˆั– ั†ั–ะบะฐะฒะธะฝะบะธ", + "text": "ะฏะบั‰ะพ ะพะดะธะฝ ะท ะพะฑะพะฒ'ัะทะบะพะฒะธั… ะบั€ะพะบั–ะฒ ะฟะพั€ะพะถะฝั–ะน, ั†ะต ะพะทะฝะฐั‡ะฐั”, ั‰ะพ ะฒั–ะฝ ั” ัˆะฐะปะตะฝะพัŽ ะบะฐั€ั‚ะพัŽ, ะผะพะถะฝะฐ ะฒะธะบะพั€ะธัั‚ะพะฒัƒะฒะฐั‚ะธ ะฑัƒะดัŒ-ัะบะธะน ะบั€ะพะบ.$(br2)ะฏะบั‰ะพ ัƒ ะฒะฐั ะฝะต ะฒะธะนัˆะปะพ ะท ั€ะพะทั€ะฐั…ัƒะฝะบะฐะผะธ, ะฒะธ ะทะฐะฒะถะดะธ ะผะพะถะตั‚ะต ั€ะพะทะฟะปะฐะฒะธั‚ะธ ั– ะฒั–ะดะปะธั‚ะธ ะฒะฐัˆ ะฟั€ะตะดะผะตั‚ ะฝะฐะทะฐะด ัƒ ะทะปะธั‚ะพะบ, ั†ะต ะทะฝั–ะผะต ั‚ะตะณ ยซะฟั€ะฐั†ัŽะฒะฐะฒยป ะท ะฟั€ะตะดะผะตั‚ะฐ, ั‰ะพ ะดะพะทะฒะพะปะธั‚ัŒ ะฒะฐะผ ัะฟั€ะพะฑัƒะฒะฐั‚ะธ ั‰ะต ั€ะฐะท, ั‰ะพะฑ ั–ะดะตะฐะปัŒะฝะพ ะฒะธะบัƒะฒะฐั‚ะธ ะนะพะณะพ." + }, + { + "type": "patchouli:empty" + }, + { + "type": "patchouli:empty" + }, + { + "type": "patchouli:text", + "text": "ะ’ั–ั‚ะฐั”ะผะพ ะท ะดะพััะณะฝะตะฝะฝัะผ ะบั–ะฝั†ั, ัะบั‰ะพ ะฒะธ ั” ัƒั‡ะฐัะฝะธะบะพะผ, ัะบะธะน ะฑะฐะถะฐั” ะฟะพะฒั‚ะพั€ะธั‚ะธ ั„ะพั‚ะพะณั€ะฐั„ั–ั— ะฒ ั†ัŒะพะผัƒ ะฟะพัั–ะฑะฝะธะบัƒ, ะฝะฐัั–ะฝะฝั, ะฒะธะบะพั€ะธัั‚ะฐะฝะต ะฟั–ะด ั‡ะฐั ะนะพะณะพ ะฝะฐะฟะธัะฐะฝะฝั - $(bold)-7291708953208913102$(), ะ’ะธ ั‚ะฐะบะพะถ ะผะพะถะตั‚ะต ัั‚ะฒะพั€ะธั‚ะธ ั‚ะฒะพั€ั‡ะธะน ัะฒั–ั‚, ั‰ะพะฑ ะฟั€ะพั‚ะตัั‚ัƒะฒะฐั‚ะธ ะฐะปะณะพั€ะธั‚ะผ ัะฐะผะพัั‚ั–ะนะฝะพ!$(br2)$(br)ะขะฐะบะพะถ... ัะบั‰ะพ ะฒะธ ะฒะถะต ั‚ัƒั‚, ัะบั‰ะพ ะฒะธ ะฝะต ะผะพะถะตั‚ะต ะทั€ะพะฑะธั‚ะธ ะฒัั– ั€ะพะทั€ะฐั…ัƒะฝะบะธ ัะฐะผะพัั‚ั–ะนะฝะพ, ะฒะธ ะทะฐะฒะถะดะธ ะผะพะถะตั‚ะต ัะบะพั€ะธัั‚ะฐั‚ะธัั $(l:https://adrianmiller99.github.io/tfg-anvil-calculator/src/index.html)TFC Anvil Calculator$()..." + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/blast_furnace_tips.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/blast_furnace_tips.json index 503524741..c64373d1e 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/blast_furnace_tips.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/blast_furnace_tips.json @@ -24,12 +24,6 @@ "type": "patchouli:text", "text": "ะฏะบั‰ะพ ะผะตั‚ะฐะป ะณะฐั€ัั‡ะธะน, ะบะพะปะธ ะนะพะณะพ ะดะพะดะฐัŽั‚ัŒ ัƒ ะดะพะผะตะฝะฝัƒ ะฟั–ั‡, ั‚ะพ ะดะปั ะดะพััะณะฝะตะฝะฝั ะฑะปะธัะบัƒั‡ะพั— ะฑั–ะปะธะทะฝะธ ะทะฝะฐะดะพะฑะธั‚ัŒัั ะผะตะฝัˆะต ั‡ะฐััƒ. ะŸะพะดัƒะผะฐะนั‚ะต ะฟั€ะพ ะฝะฐะณั€ั–ะฒะฐะฝะฝั ะผะตั‚ะฐะปัƒ ะฒ $(l:tfc:mechanics/charcoal_forge)ะ’ัƒะณั–ะปัŒะฝั–ะน ะบัƒะทะฝั–$() ะฟะตั€ะตะด ั‚ะธะผ, ัะบ ะฟะพะบะปะฐัั‚ะธ ะนะพะณะพ ะฒ ัƒะถะต ะณะฐั€ัั‡ัƒ ะฟั–ั‡, ั‰ะพะฑ ะทะฐะพั‰ะฐะดะธั‚ะธ ั‡ะฐั, ะพัะพะฑะปะธะฒะพ ะฒ ะฝะตะฒะตะปะธะบะธั… ะดะพะผะตะฝะฝะธั… ะฟะตั‡ะฐั…, ัะบั– ะพะฑั€ะพะฑะปััŽั‚ัŒ ะผะตะฝัˆัƒ ะบั–ะปัŒะบั–ัั‚ัŒ ะผะตั‚ะฐะปัƒ ะทะฐ ะพะดะธะฝ ั€ะฐะท." }, - { - "type": "patchouli:spotlight", - "title": "ะ”ะพะฟัƒัั‚ะธะผะธะน ะ’ั…ั–ะด", - "item": "gtceu:iron_dust", - "text": "ะฃ ะดะพะผะตะฝะฝั–ะน ะฟะตั‡ั– ะฟั€ะธะนะผะฐัŽั‚ัŒัั ะปะธัˆะต ะฟะตะฒะฝั– ัั‚ะฐะดั–ั— ะฟะตั€ะตั€ะพะฑะปะตะฝะธั… ั€ัƒะด. $(thing)ะ ัƒะดะฝะธะน ะŸะธะป$(), $(thing)ะกะธั€ะฐ ะ ัƒะดะฐ$(), ั‚ะฐ $(thing)ะ›ะธั‚ั–/ะšะพะฒะฐะฝั– ะ—ะปะธั‚ะบะธ$() ะฟั€ะฐั†ัŽัŽั‚ัŒ, ั‚ะพะดั– ัะบ $(thing)ะŸะพะดั€ั–ะฑะฝะตะฝะฐ$(), $(thing)ะะตั‡ะธัั‚ะฐ$(), ะฐะฑะพ ั–ะฝัˆั– ัั‚ะฐะดั–ั— ะฟะตั€ะตั€ะพะฑะบะธ - ะฝั–. ะะปะต ะฒะฐะผ ะดั–ะนัะฝะพ ัะปั–ะด $(l:tfc:tfg_ores/ore_basics#processing)ะžะฑั€ะพะฑะธั‚ะธ$() ะฒะฐัˆั– ั€ัƒะดะธ ะฝะฐ ะฟะธะป." - }, { "type": "patchouli:spotlight", "title": "ะะฒั‚ะพะผะฐั‚ะธะทะฐั†ั–ั", @@ -38,11 +32,11 @@ }, { "type": "patchouli:text", - "text": "ะ’ะธ ะผะพะถะตั‚ะต ะฒั–ะดะบะฐั‡ัƒะฒะฐั‚ะธ ั€ั–ะดะธะฝัƒ ะฑะตะทะฟะพัะตั€ะตะดะฝัŒะพ ะท ะดะพะผะตะฝะฝะพั— ะฟะตั‡ั– ะทะฐ ะดะพะฟะพะผะพะณะพัŽ ั„ัƒะฝะบั†ั–ั— Create $(item)ะœะตั…ะฐะฝั–ั‡ะฝะพั— ะฟะพะผะฟะธ$(). ะŸะตั€ะตะบะฐั‡ัƒะนั‚ะต ั€ั–ะดะธะฝัƒ ะฝะฐ $(l:tfc:tfcchannelcasting/channel_casting)ะคะพั€ะผัƒะฒะฐะปัŒะฝะธะน ัั‚ั–ะป$() ั– ะฒะธั‚ัะณัƒะนั‚ะต ะทะปะธั‚ะบะธ ะทะฐ ะดะพะฟะพะผะพะณะพัŽ ะฑัƒะฝะบะตั€ะฐ ะฐะฑะพ ะถะพะปะพะฑะฐ: ะ›ะตะณะบะฐ ะฐะฒั‚ะพะผะฐั‚ะธะทะฐั†ั–ั!$(br2)ะ’ะธ ั‚ะฐะบะพะถ ะผะพะถะตั‚ะต ะฐะฒั‚ะพะผะฐั‚ะธะทัƒะฒะฐั‚ะธ ั€ะพะฑะพั‚ัƒ ะท ัะธะปัŒั„ะพะฝะพะผ ะทะฐ ะดะพะฟะพะผะพะณะพัŽ $(item)ะ ะพะทะณะพั€ั‚ะฐะปัŒะฝะธะบะฐ$()! ะขั–ะปัŒะบะธ ะฑัƒะดัŒั‚ะต ะพะฑะตั€ะตะถะฝั–, ะพัะบั–ะปัŒะบะธ ะฒะธะบะพั€ะธัั‚ะฐะฝะฝั ัะธะปัŒั„ะพะฝั–ะฒ ะฝะฐะดะผั–ั€ะฝะพ ะฒะธั‚ั€ะฐั‡ะฐั” ะฑั–ะปัŒัˆะต ะฟะฐะปะธะฒะฐ ั– ัˆะฒะธะดัˆะต ะปะฐะผะฐั” ะฒะฐัˆัƒ $(thing)ั„ัƒั€ะผัƒ$().$(br2)ะ’ะธ ะผะพะถะตั‚ะต ะพะฑั€ะพะฑะปัั‚ะธ ะพั‚ั€ะธะผะฐะฝะธะน $(item)ะงะฐะฒัƒะฝ$() ั‚ะฐ $(item)ะ’ะธัะพะบะพะฒัƒะณะปะตั†ะตะฒัƒ ัั‚ะฐะปัŒ$() ะทะฐ ะดะพะฟะพะผะพะณะพัŽ $(thing)ะšะพะฒะฐะปัŒััŒะบะพะณะพ ะผะพะปะพั‚ะฐ$()." + "text": "ะ’ะธ ะผะพะถะตั‚ะต ะฒั–ะดะบะฐั‡ัƒะฒะฐั‚ะธ ั€ั–ะดะธะฝัƒ ะฑะตะทะฟะพัะตั€ะตะดะฝัŒะพ ะท ะดะพะผะตะฝะฝะพั— ะฟะตั‡ั– ะทะฐ ะดะพะฟะพะผะพะณะพัŽ ั„ัƒะฝะบั†ั–ั— Create $(item)Mechanical Pump$(). ะŸะตั€ะตะบะฐั‡ัƒะนั‚ะต ั€ั–ะดะธะฝัƒ ะฝะฐ $(l:tfc:tfcchannelcasting/channel_casting)ะคะพั€ะผะฐ ะดะปั ะฒะธะปะธะฒะบัƒ$() ั– ะฒะธะนะผะฐะนั‚ะต ะทะปะธั‚ะบะธ ะทะฐ ะดะพะฟะพะผะพะณะพัŽ ะปั–ะนะบะธ ะฐะฑะพ ะถะพะปะพะฑะฐ: ะ›ะตะณะบะฐ ะฐะฒั‚ะพะผะฐั‚ะธะทะฐั†ั–ั!$(br2)ะ’ะธ ั‚ะฐะบะพะถ ะผะพะถะตั‚ะต ะฐะฒั‚ะพะผะฐั‚ะธะทัƒะฒะฐั‚ะธ ั€ะพะฑะพั‚ัƒ ะท ัะธะปัŒั„ะพะฝะพะผ ะทะฐ ะดะพะฟะพะผะพะณะพัŽ $(item)ะ ะพะทะณะพั€ั‚ะฐะปัŒะฝะธะบะฐ$()! ะขั–ะปัŒะบะธ ะฑัƒะดัŒั‚ะต ะพะฑะตั€ะตะถะฝั–, ะพัะบั–ะปัŒะบะธ ะฒะธะบะพั€ะธัั‚ะฐะฝะฝั ัะธะปัŒั„ะพะฝั–ะฒ ะฝะฐะดะผั–ั€ะฝะพ ัะฟะพะถะธะฒะฐั” ะฑั–ะปัŒัˆะต ะฟะฐะปะธะฒะฐ ั– ัˆะฒะธะดัˆะต ะปะฐะผะฐั” ะฒะฐัˆัƒ $(thing)ั„ัƒั€ะผัƒ$().$(br2)ะ’ะธ ะผะพะถะตั‚ะต ะพะฑั€ะพะฑะปัั‚ะธ ะพั‚ั€ะธะผะฐะฝะธะน $(item)ะงะฐะฒัƒะฝ$() ั– $(item)ะ’ะธัะพะบะพะฒัƒะณะปะตั†ะตะฒัƒ ะกั‚ะฐะปัŒ$() ะทะฐ ะดะพะฟะพะผะพะณะพัŽ $(thing)ะšะพะฒะฐะปัŒััŒะบะพะณะพ ะœะพะปะพั‚ะฐ$()." }, { "type": "patchouli:text", - "text": "ะ’ะธ ะผะพะถะตั‚ะต ะฐะฒั‚ะพะผะฐั‚ะธั‡ะฝะพ ะทะฐะผั–ะฝะธั‚ะธ ะทะปะฐะผะฐะฝั– ั„ัƒั€ะผะธ ะฝะฐ ะฑัƒะฝะบะตั€, ัะฟั€ัะผะพะฒะฐะฝะธะน ะฒ ะดะพะผะตะฝะฝัƒ ะฟั–ั‡." + "text": "ะ’ะธ ะผะพะถะตั‚ะต ะฐะฒั‚ะพะผะฐั‚ะธั‡ะฝะพ ะทะฐะผั–ะฝะธั‚ะธ ะทะปะฐะผะฐะฝั– ั„ัƒั€ะผะธ ะฝะฐ ะปั–ะนั†ั–, ัะฟั€ัะผะพะฒะฐะฝะธะน ะฒ ะดะพะผะตะฝะฝัƒ ะฟั–ั‡." } ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/faqs.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/faqs.json index 3524bdbe8..f28896941 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/faqs.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/faqs.json @@ -41,7 +41,7 @@ }, { "type": "patchouli:text", - "text": "ะะฐะนัˆะฒะธะดัˆะต ะฟั€ะธะณะพั‚ัƒะฒะฐั‚ะธ ะปะฐั‚ะตะบั ัƒ $(l:firmalife/oven_appliances#vat)Vat$().ะŸะพั”ะดะฝัƒะนั‚ะต ะปะฐั‚ะตะบั ะท $(item)ะกั–ั€ะบะพัŽ$() ะฟะธะป ัƒ ั‡ะฐะฝ (ะฟะพะบะปะฐะดั–ั‚ัŒ GregTech ัƒ ะ–ะพั€ะฝะพ, ั‰ะพะฑ ะพั‚ั€ะธะผะฐั‚ะธ TFC), ะดะพะดะฐะนั‚ะต ั‚ะตะฟะปะฐ ั– $(bold)ะทะฐะบั€ะธะนั‚ะต ะบั€ะธัˆะบัƒ$() ะฝะฐ ั‡ะฐะฝั– ะท $(item)$(k:sneak)$() + $(item)$(k:use)$().$(br2)ะ’ะธ ะผะพะถะตั‚ะต ะฐะฒั‚ะพะผะฐั‚ะธะทัƒะฒะฐั‚ะธ ั†ะต ะฟั–ะทะฝั–ัˆะต ะทะฐ ะดะพะฟะพะผะพะณะพัŽ $(thing)LV ะฆะตะฝั‚ั€ะธั„ัƒะณะธ$()." + "text": "ะะฐะนัˆะฒะธะดัˆะต ะฟั€ะธะณะพั‚ัƒะฒะฐั‚ะธ ะปะฐั‚ะตะบั ัƒ $(l:firmalife/oven_appliances#vat)ะงะฐะฝ$().ะŸะพั”ะดะฝัƒะนั‚ะต ะปะฐั‚ะตะบั ะท $(item)ะกั–ั€ะบะพัŽ$() ะฟะธะป ัƒ ั‡ะฐะฝ (ะฟะพะบะปะฐะดั–ั‚ัŒ GregTech ัƒ ะ–ะพั€ะฝะพ, ั‰ะพะฑ ะพั‚ั€ะธะผะฐั‚ะธ TFC), ะดะพะดะฐะนั‚ะต ั‚ะตะฟะปะฐ ั– $(bold)ะทะฐะบั€ะธะนั‚ะต ะบั€ะธัˆะบัƒ$() ะฝะฐ ั‡ะฐะฝั– ะท $(item)$(k:sneak)$() + $(item)$(k:use)$().$(br2)ะ’ะธ ะผะพะถะตั‚ะต ะฐะฒั‚ะพะผะฐั‚ะธะทัƒะฒะฐั‚ะธ ั†ะต ะฟั–ะทะฝั–ัˆะต ะทะฐ ะดะพะฟะพะผะพะณะพัŽ $(thing)LV ะฆะตะฝั‚ั€ะธั„ัƒะณะธ$()." } ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/lv_machines.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/lv_machines.json index 3964824c6..6846629f9 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/lv_machines.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/lv_machines.json @@ -11,68 +11,68 @@ { "type": "patchouli:spotlight", "item": "gtceu:lv_mixer", - "title": "ะ—ะผั–ัˆัƒะฒะฐั‡", + "title": "ะ—ะผั–ัˆัƒะฒะฐั‡(Mixer)", "text": "$(item)ะ—ะผั–ัˆัƒะฒะฐั‡$() ั€ะพะฑะธั‚ัŒ ะบะพะปัŒะพั€ะพะฒัƒ ัั‚ะฐะปัŒ ะฝะฐะฑะฐะณะฐั‚ะพ ะดะตัˆะตะฒัˆะพัŽ.$(br2)ะšั–ะฝะตั‚ะธั‡ะฝะธะน ะทะผั–ัˆัƒะฒะฐั‡ ะฒะธะผะฐะณะฐั” ัะบ SU, ั‚ะฐะบ ั– EU (ะฐ ั‚ะฐะบะพะถ ะผะฐั” ะฒะธัะพะบะธะน ะฒะฟะปะธะฒ ะฝะฐะฟั€ัƒะณะธ ั– ะฟะพะฒะธะฝะตะฝ ะฟั€ะฐั†ัŽะฒะฐั‚ะธ ะฝะฐ 64 ะพะฑ/ั…ะฒ), ะฐะปะต ะฟั€ะฐั†ัŽั” ะฒะดะฒั–ั‡ั– ัˆะฒะธะดัˆะต, ะฝั–ะถ ั‡ะธัั‚ะพ ะตะปะตะบั‚ั€ะธั‡ะฝะธะน.$(br)ะงะธ ะฒะฐั€ั‚ะพ ั†ะต ั‚ะพะณะพ, ะฒะธั€ั–ัˆัƒะฒะฐั‚ะธ ะฒะฐะผ!$(br2)ะฃ ะฝัŒะพะผัƒ ั‚ะฐะบะพะถ ั” ั€ะตั†ะตะฟั‚ ะฟั€ะธะณะพั‚ัƒะฒะฐะฝะฝั $(thing)ะ“ะปะพัƒัั‚ะพัƒะฝ$().$(br)" }, + { + "type": "patchouli:spotlight", + "title": "ะ”ัƒะณะพะฒะฐ ะŸั–ั‡(Arc Furnace)", + "item": "gtceu:lv_arc_furnace", + "text": "$(item)ะ”ัƒะณะพะฒะฐ ะฟั–ั‡$() cะผะพะถะต ะฟะตั€ะตั‚ะฒะพั€ะธั‚ะธ ะฒะฐัˆ ะบะพะปัŒะพั€ะพะฒะธะน ัั‚ะฐะปะตะฒะธะน ะฟะธะป ะท ะผั–ะบัะตั€ะฐ ะฝะฐ ะทะปะธั‚ะบะธ, ั‡ะฐะฒัƒะฝ - ะฝะฐ $(thing)ะšะพะฒะบะต ะ—ะฐะปั–ะทะพ$(), ะฟั–ัะพะบ - ะฝะฐ $(thing)ะกะบะปะพ$(), ะฐ ะผั–ะดัŒ - ะฝะฐ $(thing)ะžะฑะฟะฐะปะตะฝะฐ ะผั–ะดัŒ$(). ะžะดะฝะฐะบ ะดะปั ะฒัั–ั… ั€ะตั†ะตะฟั‚ั–ะฒ ะฟะพั‚ั€ั–ะฑะตะฝ $(thing)ะšะธัะตะฝัŒ$(), ั‚ะพะผัƒ ะฒั–ะฝ ะผะฐั€ะฝะธะน ะฑะตะท $(item)ะ•ะปะตะบั‚ั€ะพะปั–ะทะตั€ะฐ$() ะฐะฑะพ $(item)ะฆะตะฝั‚ั€ะธั„ัƒะณะธ$()." + }, { "type": "patchouli:spotlight", "item": "gtceu:lv_assembler", - "title": "ะ—ะฑะธั€ะฐั‡", - "text": "$(item)ะ—ะฑะธั€ะฐั‡$() ั” ะดัƒะถะต ะดะพั€ะพะณะพัŽ ะผะฐัˆะธะฝะพัŽ, ะฐะปะต ะผะพะถะต ะฒะธะณะพั‚ะพะฒะปัั‚ะธ ะบะพั€ะฟัƒัะธ LV ะปะธัˆะต ะทั– \n 8 ัั‚ะฐะปั–(ั…ะพั‡ะฐ ั†ะต, ะนะผะพะฒั–ั€ะฝะพ, ะทะผั–ะฝะธั‚ัŒัั ะฒ ะผะฐะนะฑัƒั‚ะฝั–ั… ะฒะตั€ัั–ัั…) ั– ะดะตัˆะตะฒัˆั– ะตะปะตะบั‚ั€ะพะฝะฝั– ะบะพะผะฟะพะฝะตะฝั‚ะธ, ั‚ะฐะบั– ัะบ $(thing)ะ’ะฐะบัƒัƒะผะฝั– ะขั€ัƒะฑะบะธ$() ั‚ะฐ $(thing)ะ ะตะทะธัั‚ะพั€ะธ$()." + "title": "ะ—ะฑะธั€ะฐั‡(Assembler)", + "text": "$(item)ะ—ะฑะธั€ะฐั‡$() ั” ะดัƒะถะต ะดะพั€ะพะณะพัŽ ะผะฐัˆะธะฝะพัŽ, ะฐะปะต ะผะพะถะต ัั‚ะฒะพั€ัŽะฒะฐั‚ะธ ะดะตัˆะตะฒัˆั– ะตะปะตะบั‚ั€ะพะฝะฝั– ะบะพะผะฟะพะฝะตะฝั‚ะธ, ั‚ะฐะบั– ัะบ $(thing)ะ’ะฐะบัƒัƒะผะฝั– ะขั€ัƒะฑะบะธ$() ั‚ะฐ $(thing)ะ ะตะทะธัั‚ะพั€ะธ$()." }, { "type": "patchouli:spotlight", "item": "gtceu:lv_bender", - "title": "ะ‘ะตะฝะดะตั€", - "text": "$(item)ะ‘ะตะฝะดะตั€$() ะผะพะถะต ัะบะปะฐัั‚ะธ 1:1 $(thing)ะŸะปะฐัั‚ะธะฝะธ$() ะท ะพะดะฝะพะณะพ ะทะปะธั‚ะบะฐ. ะะฐั€ะตัˆั‚ั–, ะฑั–ะปัŒัˆะต ะฝั–ัะบะธั… ะฐะทะฐั€ั‚ะฝะธั… ั–ะณะพั€ ะท ะผะตั…ะฐะฝั–ั‡ะฝะธะผ ะฟั€ะตัะพะผ!$(br2)ะ’ั–ะฝ ั‚ะฐะบะพะถ ะผะพะถะต ะทั€ะพะฑะธั‚ะธ $(thing)ะขะพะฝะบั– ะปะธัั‚ะธ$() ะดะปั ั‚ะฐะบะธั… ั€ะตั‡ะตะน, ัะบ $(l:tfg_tips/infinite_resources)ะจะบั–ะฒ ะจะปะฐะฝะณะฐ$()." + "title": "ะ‘ะตะฝะดะตั€(Bender)", + "text": "$(item)ะ‘ะตะฝะดะตั€$() ะผะพะถะต ะทั€ะพะฑะธั‚ะธ ะท ะพะดะฝะพะณะพ ะทะปะธั‚ะบะฐ $(thing)ะŸะปะฐัั‚ะธะฝะธ$() ัƒ ะฟั€ะพะฟะพั€ั†ั–ั— 1:1. ะะฐั€ะตัˆั‚ั–, ะฑั–ะปัŒัˆะต ะฝั–ัะบะธั… ะฐะทะฐั€ั‚ะฝะธั… ั–ะณะพั€ ะท ะผะตั…ะฐะฝั–ั‡ะฝะธะผ ะฟั€ะตัะพะผ!$(br2)ะ’ั–ะฝ ั‚ะฐะบะพะถ ะผะพะถะต ั€ะพะฑะธั‚ะธ $(thing)ะขะพะฝะบั– ะ›ะธัั‚ะธ$() ะดะปั ั‚ะฐะบะธั… ั€ะตั‡ะตะน, ัะบ $(l:tfg_tips/infinite_resources)ะจะบั–ะฒ ะดะปั ัˆะปะฐะฝะณะฐ$()." }, { "type": "patchouli:spotlight", "item": "gtceu:lv_wiremill", - "title": "ะ”ั€ะพั‚ัะฝะธะน ะทะฐะฒะพะด", + "title": "ะ—ะฐะฒะพะด ะ”ั€ะพั‚ัƒ(Wiremill)", "text": "$(item)ะ”ั€ะพั‚ัะฝะธะน ะทะฐะฒะพะด$() ะฒะดะฒั–ั‡ั– ะทะผะตะฝัˆัƒั” ะฒะธั‚ั€ะฐั‚ะธ ะฝะฐ $(thing)ะ”ั€ะพั‚ะธ$(). ะขัƒั‚ ะผะฐะปะพ ั‰ะพ ั‰ะต ะผะพะถะฝะฐ ัะบะฐะทะฐั‚ะธ, ะพะบั€ั–ะผ ั‚ะพะณะพ, ั‰ะพ ะฝะต ะฑัƒะฒะฐั” ะทะฐะฑะฐะณะฐั‚ะพ ะผั–ะดะฝะธั… ะดั€ะพั‚ั–ะฒ ั‡ะธ ะพะปะพะฒ'ัะฝะธั… ะบะฐะฑะตะปั–ะฒ." }, { "type": "patchouli:spotlight", - "title": "ะฅั–ะผั–ั‡ะฝะธะน ะ ะตะฐะบั‚ะพั€/ะ—ะฐั‚ะฒะตั€ะดะถัƒะฒะฐั‡", + "title": "ะฅั–ะผ ะ ะตะฐะบั‚ะพั€/ะ—ะฐั‚ะฒะตั€ะดะถัƒะฒะฐั‡\n(Chem Reactor/Solidifer)", "item": "gtceu:lv_chemical_reactor,gtceu:lv_fluid_solidifier", "text": "$(item)ะฅั–ะผั–ั‡ะฝะธะน ั€ะตะฐะบั‚ะพั€$() ั€ะพะฑะธั‚ัŒ ะฝะฐะฑะฐะณะฐั‚ะพ ะดะตัˆะตะฒัˆะต $(thing)ะ“ัƒะผัƒ$() ัะบะธะน $(item)ะ—ะฐั‚ะฒะตั€ะดะถัƒะฒะฐั‡ ั€ั–ะดะธะฝะธ(Fluid Solidifier)$() ะผะพะถะต ะฟะตั€ะตั‚ะฒะพั€ะธั‚ะธัั ะฝะฐ ะดะตัˆะตะฒัˆั– $(thing)ะ“ัƒะผะพะฒั– ะปะธัั‚ะธ$(), ะฐ ั‚ะฐะบะพะถ ะผะพะถะต ะทั€ะพะฑะธั‚ะธ ะดะตัˆะตะฒัˆะต $(thing)ะ ะพั‚ะพั€ะธ$().$(br2)$(item)ะ•ะบัั‚ั€ะฐะบั‚ะพั€$() ั‚ะฐะบะพะถ ะบะพั€ะธัะฝะธะน ัƒ ะฟะพั”ะดะฝะฐะฝะฝั– ะท ั€ั–ะดะธะฝะฝะธะผ ะทะฐั‚ะฒะตั€ะดะถัƒะฒะฐั‡ะตะผ ั– ั” ะทะฝะฐั‡ะฝะธะผ ะฟะพะบั€ะฐั‰ะตะฝะฝัะผ ะฟะพั€ั–ะฒะฝัะฝะพ ะท ะฟะฐั€ะพะฒะธะผ, ะพัะบั–ะปัŒะบะธ ะฒั–ะฝ ะผะพะถะต ะฒะธะณะพั‚ะพะฒะปัั‚ะธ ะผะตั‚ะฐะปะตะฒั– ั€ั–ะดะธะฝะธ." }, { "type": "patchouli:spotlight", - "title": "ะฆะตะฝั‚ั€ะธั„ัƒะณะฐ", + "title": "ะฆะตะฝั‚ั€ะธั„ัƒะณะฐ(Centrifuge)", "item": "gtceu:lv_centrifuge", "text": "$(item)ะฆะตะฝั‚ั€ะธั„ัƒะณะฐ$() ั€ะพะฑะธั‚ัŒ $(thing)ะ›ะธะฟะบัƒ ัะผะพะปัƒ$() ะฑะตะทะฟะพัะตั€ะตะดะฝัŒะพ ะท ะบะพะปะพะด ะ‘ะฐะฒะพะฒะฝัะฝะต ะดะตั€ะตะฒะพ(Kapok), ะฐ ั‚ะฐะบะพะถ ะฝะฐะฑะฐะณะฐั‚ะพ ะดะตัˆะตะฒัˆัƒ $(thing)ะกะธั€ัƒ ะ“ัƒะผัƒ$(). ะ‘ั–ะปัŒัˆะต ะฝั–ัะบะพะณะพ ะปะฐั‚ะตะบััƒ!" }, { "type": "patchouli:spotlight", - "title": "ะะฐะผะฐะณะฝั–ั‡ัƒะฒะฐั‡", + "title": "ะะฐะผะฐะณะฝั–ั‡ัƒะฒะฐั‡(Polarizer)", "item": "gtceu:lv_polarizer", "text": "The $(item)ะะฐะผะฐะณะฝั–ั‡ัƒะฒะฐั‡$() ั€ะพะฑะธั‚ัŒ $(thing)ะœะฐะณะฝั–ั‚ะฝั– ะกั‚ั€ะธะถะฝั–$() ะฟั€ะฐะบั‚ะธั‡ะฝะพ ะฑะตะทะฟะปะฐั‚ะฝะพ. ะฏะบั‰ะพ ะฒะฐะผ ะฝะต ะฒะธัั‚ะฐั‡ะฐั” ั‡ะตั€ะฒะพะฝะพะณะพ ะบะฐะผะตะฝัŽ, ั†ะต ะณะฐั€ะฝะธะน ะฟะตั€ัˆะธะน ะฒะตั€ัั‚ะฐั‚, ะดะพ ั‚ะพะณะพ ะถ ะดัƒะถะต ะดะตัˆะตะฒะธะน." }, { "type": "patchouli:spotlight", - "title": "ะจะฐั…ั‚ะฐั€", + "title": "ะจะฐั…ั‚ะฐั€(Miner)", "item": "gtceu:lv_miner", "text": "ะŸะพัั‚ะฐะฒั‚ะต $(item)ะจะฐั…ั‚ะฐั€$() (ะฐะฑะพ ะบั–ะปัŒะบะฐ!) ะฝะฐะด ั€ัƒะดะฝะพัŽ ะถะธะปะพัŽ, ะฒะทัั‚ะธ ะท ัะพะฑะพัŽ ะบะพั‚ะตะป, ะฟะฐั€ะพะณะตะฝะตั€ะฐั‚ะพั€, ะฒะพะดัƒ ั– ะฟะฐะปะธะฒะพ, ะฐ ะฟะพั‚ั–ะผ ะฟั€ะพัั‚ะพ ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ะนะพะณะพ ั– ะฟั–ั‚ะธ ะณะตั‚ัŒ. ะ‘ั–ะปัŒัˆะต ะฝั–ะบะพะปะธ ะฝะต ะฟะพั‚ั€ั–ะฑะฝะพ ะฑัƒะดะต ะฒะธะดะพะฑัƒะฒะฐั‚ะธ ั€ัƒะดัƒ!" }, { "type": "patchouli:spotlight", - "title": "ะฅั–ะผั–ั‡ะฝะฐ ะ’ะฐะฝะฝะฐ", + "title": "ะฅั–ะผั–ั‡ะฝะฐ ะ’ะฐะฝะฝะฐ\n(Chemical Bath)", "item": "gtceu:lv_chemical_bath", "text": "$(item)ะฅั–ะผั–ั‡ะฝะฐ ะ’ะฐะฝะฝะฐ$() ั€ะพะฑะธั‚ัŒ ะดะตัˆะตะฒัˆะธะน ะฟะฐะฟั–ั€. ะžััŒ ั– ะฒัะต. ะ† ัะบ ั‚ั–ะปัŒะบะธ ะฒะธ ะพั‚ั€ะธะผะฐั”ั‚ะต $(thing)ะ—ะฑะธั€ะฐั‡(Assembler)$() ะฟะฐะฟั–ั€ ะฒะฐะผ ะฒัะต ะพะดะฝะพ ะฑั–ะปัŒัˆะต ะฝะต ะทะฝะฐะดะพะฑะธั‚ัŒัั.$(br2)ะ’ั–ะฝ ั‚ะฐะบะพะถ ะผะพะถะต ะฐะฒั‚ะพะผะฐั‚ะธะทัƒะฒะฐั‚ะธ ะฑั–ะปัŒัˆั–ัั‚ัŒ ะบั€ะพะบั–ะฒ, ั‰ะพะฑ ะทั€ะพะฑะธั‚ะธ $(thing)ะจะบั–ั€ัƒ$() ัะบั‰ะพ ะฒะธ ะฒั‚ะพะผะธะปะธัั ะฒั–ะด ะดั–ะถะพะบ." }, { "type": "patchouli:spotlight", - "title": "ะ”ัƒะณะพะฒะฐ ะŸั–ั‡", - "item": "gtceu:lv_arc_furnace", - "text": "ะฆะต ะฝะต ะฝะฐะนะบั€ะฐั‰ะฐ ะฟะตั€ัˆะฐ ะผะฐัˆะธะฝะฐ, ะฐะปะต $(item)ะ”ัƒะณะพะฒะฐ ะŸั–ั‡$() ะผะพะถะต ะฟะตั€ะตั‚ะฒะพั€ะธั‚ะธ ั‡ะฐะฒัƒะฝ ะฑะตะทะฟะพัะตั€ะตะดะฝัŒะพ ะฒ $(thing)ะšะพะฒะฐะฝะต ะทะฐะปั–ะทะพ$(), ะŸั–ัะพะบ ะฒ $(thing)ะกะบะปะพ$(), ั‚ะฐ ะผั–ะดั– ะฒ $(thing)ะ’ั–ะดะฟะฐะปะตะฝัƒ ะผั–ะดัŒ$(). ะ’ัั– ะนะพะณะพ ั€ะตั†ะตะฟั‚ะธ ะฟะพั‚ั€ะตะฑัƒัŽั‚ัŒ $(thing)ะšะธัะตะฝัŒ$() ะฐะปะต ั†ะต ะผะฐั€ะฝะพ ะฑะตะท $(item)ะ•ะปะตะบั‚ั€ะพะปั–ะทะตั€ะฐ$() ะฐะฑะพ $(item)ะฆะตะฝั‚ั€ะตั„ัƒะณะธ$()." - }, - { - "type": "patchouli:spotlight", - "title": "ะ•ะบัั‚ั€ัƒะดะตั€", + "title": "ะ•ะบัั‚ั€ัƒะดะตั€(Extruder)", "item": "gtceu:lv_extruder", "text": "ะฆะต ะปะธัˆะต ะฟะพะฟะตั€ะตะดะถะตะฝะฝั: ะฝะต ั€ะพะฑั–ั‚ัŒ $(item)ะ•ะบัั‚ั€ัƒะดะตั€$(). ะ„ะดะธะฝะต, ั‰ะพ ะฒั–ะฝ ะผะพะถะต ั€ะพะฑะธั‚ะธ, - ั†ะต ะฒะธะณะพั‚ะพะฒะปัั‚ะธ ั–ะฝัั‚ั€ัƒะผะตะฝั‚ะธ ั‚ะฐ ั‚ะพะฝะบั– ะณัƒะผะพะฒั– ะปะธัั‚ะธ (ั‰ะพ ะผะพะถะต ั€ะพะฑะธั‚ะธ ั‚ะฐะบะพะถ ะฑะตะฝะดะตั€). ะ’ัั– ั…ะพั€ะพัˆั– ั€ะตั†ะตะฟั‚ะธ ะตะบัั‚ั€ัƒะดะตั€ั–ะฒ ะทะฐะบั€ะธั‚ั– ะดะปั $(thing)MV$() ั– ะดะฐะปั–." } ] -} \ No newline at end of file +} diff --git a/kubejs/assets/tfc/textures/gui/knapping/flint.png b/kubejs/assets/tfc/textures/gui/knapping/flint.png new file mode 100644 index 0000000000000000000000000000000000000000..937eb6abec568ecc12eae61607fb4d59875185de GIT binary patch literal 528 zcmV+r0`L8aP)iG&4Xm8S@Wq|Nk$*u%$bQ z9ZRxOsSD~%0%^JX^X|KIM4sm{OH;Jc41OR+P)ebdVqTUAA=uP4&HX(wM*6;I*L48& z#xPMzkxUZYFhGnHMS;AyV6j->oMThhJU%=igrIF(Oy2`woMr!e&t#fqIO|YaGn>r_ zA#indg|+qok1>4@0*ti`!+=T@(zyYxHCib`2$W@c0&lll0De6`za6m_=Nw8YvNT0} zySa_obb8V}W`xJLw_OWBk|bn0r8fqtwI+nXYPI?l4j}-L=@jEELI`A{6nUPr+wIuY z^?zY0CB-bqxVNIkVu4&Pmj_kHoBsumsmh8F0+X)m&ceo7y!Rhq<1AHK0q}LTLasNP zv+$U6%>Y$Zv3-3-J~ho**n3ZsBqwk-odQr41-I)pQcC3O%gfp3QPueNF+5I=F(MJ- zL-VNW{pJyVY8qmU7-JAO*Vobf_3xZRYkly1ytya}0E7?-A=vNtbZv`t&f&fP6t3^? z4j+2&>Dm@!4AKq5LDe+Pu+AcY%P*G*A(+qSeE;#2$EHDRjg%5=E!JALUCSTefI$XP S(>{X$0000U z;ishX@yI{9h3i?Aie4+S=$#JI`I^m|<~HfhciG$9rcU-yn%g|{qwwOHh4a$mir3E* zbO|+HJo938J=@;zA)#@co5Wu2vitse*P{2;ozEXz1cZj}Y+d0oY1J=(NrpMa>3_Dd zhCa3Eo3ret*q_K^rb!-+f@@awH2bzk&dDixE+c%JBkty2CW*F2h6~$t85CL?mSrxP z5*^a3dVJpgM3q_>C8khShLYIukiAJpP4RC(=GQQnT((nue`_f#(8CO#u6{1-oD!M< D-j;mt literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/flint_arrow_head.png b/kubejs/assets/tfg/textures/item/flint_arrow_head.png new file mode 100644 index 0000000000000000000000000000000000000000..856c3a2f0a29e5c853e0250aee6c54c58e878336 GIT binary patch literal 618 zcmV-w0+s!VP)LlTA+(Q51%sGo1*8bl8dQ%3$eG2vQ1(`ae`K{vQ)v z5ko{VVSyh+cbK}?h@cx(C{xlx`~q48LpyD0p`Ffk#k3#^3*P0;Iq!YmbM6(T6z7o+ zFf}!OX5rJx3FSBrx~`*?BAdzZYvZ@*XEoL9b$mV_H*bv+kIxbcbz_=6j6WP}5S-NH zlSj&RT?V3qghJiCel^3}_$=l9eLgMBQ>|7xihj)C!To#6Fbtxx7?GY{UOb;>YipB^ zjt)wt5+kE`nR)q)5AWY0A^>R31|q`2!2wRqAs&B2Y zrxPfpXm4+4HE99xb#ala15r#f!itr^N+ihb?cq2MIXf@^8Dz2<(KJmNhJow43=Rzu z?lxIo{>EB5jizZ_XlbEVt9d=gA^^Cqi`f$)8jE3uBP5d+=~N1Uzq`8xf^T?wSZBwgOx!l#oS}Nt`FBA$50ukZokMD>Gg+hVP3k#HrMfOW2{Dy&u zu%1qP&0}NZjR+f?8&dx`rvkwsZEbD1u1hwX@lajmDnY#6H_Ic)WHVAJm(`^}fO5Hv zCXM+vXKudT+rrU7&d$r9?QIIS&0anyCyP&$ocBBb1H(fE5~y-mHvj+t07*qoM6N<$ Ef&rKhkpKVy literal 0 HcmV?d00001 diff --git a/kubejs/data/kaolinclayze/loot_tables/entities/golem_2.json b/kubejs/data/kaolinclayze/loot_tables/entities/golem_2.json deleted file mode 100644 index 789069143..000000000 --- a/kubejs/data/kaolinclayze/loot_tables/entities/golem_2.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "type": "minecraft:entity", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "gtceu:raw_graphite", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "type": "minecraft:uniform", - "min": 2, - "max": 6 - } - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/kaolinclayze/loot_tables/entities/tfc.json b/kubejs/data/kaolinclayze/loot_tables/entities/tfc.json deleted file mode 100644 index ea694585b..000000000 --- a/kubejs/data/kaolinclayze/loot_tables/entities/tfc.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "type": "minecraft:entity", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfc:kaolin_clay", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "type": "minecraft:uniform", - "min": 2, - "max": 6 - } - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/structures/ocean/ocean_moai_0_3.nbt b/kubejs/data/tfg/structures/ocean/ocean_moai_0_3.nbt index 8e647ff11c6701ed59667bfaa54cd5360b35294d..f9bdc9b31abe802d4b55781826f2f0d224800393 100644 GIT binary patch literal 1009 zcmVo%kvcHp{c$BEOfmD{*! zgd0b;Q7Qky{_8nuQ<}Wj##AYYAt99J=ikS(-%E;5NSAmjx??UOB>nYB`jPqDC9OUe zgKOoRt1Fi@m8P1J?6#W-l`qJD8e|F6z%kA;#wlVN7|#lfvqsCY;BhScxE4IF1rM3~ zuF778aV#*drIu615U2$(2#;&w8DLz<<5}#xXQ5Ta<6u09pJth71*XbR6_11Qcu=cl zp;d)RdD<2{0Mmp#oie5cc>t!3_p-Z;>EL}@z;yBcD%9D>`>U}=E5{VHcJLlt$Kzl; zFYrDs@a)1|pa=KxUardJl>O}C{a%#|@Vtb%fag~*7nljJ@!3+9%eBZ=#p7T+`!E;q zjN}5d1@Y`zoOysj`~WS)511{8pQeQ$fH{DEfEMBh%qZkMw=DL(WwGy7JPyW#d=o+ga!4<#M5VD|EQnf>wStOoMi+#|<&IJlJN#>I%rfW<7h z=u<_x_KANbMZ%e+2nm$Vbgnbs`*lKwIGaI|Rnf#@5#dApPR{^{cW zSSU5^;i!j?jSW}cZM^dKe&vd~S0A<<@tp=iq$3eio^U!~V-{<5X_kFmRjHohv|l!s zos(8yXf4JavNJJ9Lvj&@MyWZZT$zK?rb!PZ|FT}*B-@7S$)euN0-8orl_XG3Z$$a< zUbi)*gY;l}j4ItRjWMFe){eL_D|<2uM|#`JO=ZMJ3+ay1k`{H(@ZNX~=}+t0u7;{l z*izN~S=BikZoTNm?M8yvBI|0AJfzxN%33HgB3nZr&yrR&@$I(G)kEw26m#?TN#^E~ z>bI4u*fXZSt$tM9yZUuEctl;S-r(}nzP`M*h;9(}vFp5av_4~RoN7!tH{B~^^DI%^ z$n+8#Gj20ZTGMR7{dH-i93+N;hGwPesp~1v#>&EC{*s%2knZ68;t4#@$9@f#&r!>n zOBRF--A#WaWOOIY*9X2~tvl%e%(!yIL!vyD`}vE-Gc`XuGSAa|GZwOrbJHaqGr^+N fRQB%>m+btcn*L!@nIT8W?qBi`p1FiugB}0?oQx8j literal 1021 zcmV~j+86VfG~if))o2uXiEl73|Vc1f$x z#o$u;=IW12no3j6NOs#zgvuA>KMk^kY2X-V8RHZ&4UA_6##y7~SnxO&eq0M4*Mf)4 zeOG0#!Z;Qf*HX(VV+hm&7=*{Q@C-06!|Y2V>f;EAS1_O|(S(;|EOgwvkj^Qci*S~V6zk9vy6 zfzl#o=h7J8da6@Am0LrqgKQ7!}E@>x}Gp$+r1I7+m$QoUVYed#5WoQk&Z-6dBW*{jajVK zg<1AxRi%20(|*}lc1~J-p|u!y$j-zZ4ar3q8l~ota%B!mn4$_0^F{*UOG{%S;TRY;)tnA4s9O-QnJw;Kswi>#|fa+hjvDQls~h-?jgJWE>9#Mj$8 zS9h)RL(I+V2br5os$W;CV$YcRw)$RmZ|c|G;1PAcdV|YP`}*?MBDz7?`>ylS(fWkF zajG%p+;p#u&9g*tBhyQ0%(%@sX-%^Qx7VeSvY!|R8k&`=r!J>F8!HQo`Acs8LArzU ziwE#LANw^}K0_^ME?E#VbT|ExkkO4W|32^yYu!l)V8)dr?h@sp+|OSu9;x}+k$Ifv ro3W5}oSQD`m { + registerAdvancedPeripheralsRecyclingRecipes(event); + event.remove({ mod: 'advancedperipherals' }); //Chat Box diff --git a/kubejs/server_scripts/ae2/recipes.js b/kubejs/server_scripts/ae2/recipes.js index 8b25b2eba..c120022b8 100644 --- a/kubejs/server_scripts/ae2/recipes.js +++ b/kubejs/server_scripts/ae2/recipes.js @@ -191,7 +191,7 @@ const registerAE2Recipes = (event) => { ]).id('tfg:crafting/light_detector') // Annihilation Core - event.shaped('ae2:annihilation_core', [ + event.shaped('2x ae2:annihilation_core', [ 'ABA', 'BDB', 'ABA' @@ -202,7 +202,7 @@ const registerAE2Recipes = (event) => { }).id('tfg:crafting/annihilation_core') // Formation Core - event.shaped('ae2:formation_core', [ + event.shaped('2x ae2:formation_core', [ 'ABA', 'BDB', 'ABA' diff --git a/kubejs/server_scripts/afc/recipes.js b/kubejs/server_scripts/afc/recipes.js index 18b5638c4..058a0b0f3 100644 --- a/kubejs/server_scripts/afc/recipes.js +++ b/kubejs/server_scripts/afc/recipes.js @@ -73,6 +73,13 @@ const registerAFCRecipes = (event) => { .bonus(false) .id('afc:anvil/tree_tap') + event.recipes.gtceu.assembler('afc:tree_tap') + .itemInputs('#forge:ingots/copper') + .circuit(3) + .itemOutputs('afc:tree_tap') + .duration(50) + .EUt(7) + // TreeTap Heating event.recipes.tfc.heating('afc:tree_tap', 1080) .resultFluid(Fluid.of('gtceu:copper', 144)) diff --git a/kubejs/server_scripts/cccbridge/recipes.js b/kubejs/server_scripts/cccbridge/recipes.js index d69d64b9d..8c377a7c0 100644 --- a/kubejs/server_scripts/cccbridge/recipes.js +++ b/kubejs/server_scripts/cccbridge/recipes.js @@ -1,6 +1,8 @@ // priority: 0 const registerCccBridgeRecipes = (event) => { + + registerCccBridgeRecyclingRecipes(event); event.remove({not: [ { id: 'cccbridge:to_target_block' }, diff --git a/kubejs/server_scripts/computer_craft/recipes.js b/kubejs/server_scripts/computer_craft/recipes.js index d9accd226..db1a6f95f 100644 --- a/kubejs/server_scripts/computer_craft/recipes.js +++ b/kubejs/server_scripts/computer_craft/recipes.js @@ -2,6 +2,8 @@ const registerComputerCraftRecipes = (event) => { + registerComputerCraftRecyclingRecipes(event); + // ะฃะดะฐะปะตะฝะธะต ั€ะตั†ะตะฟั‚ะพะฒ ะผะพะดะฐ event.remove({ not: [ { id: 'computercraft:printed_pages' }, diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index 747c5d718..bb4dc57e1 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -679,7 +679,7 @@ const registerCreateRecipes = (event) => { B: '#forge:foils/rubber', C: '#forge:tools/wrenches', D: '#forge:tools/knives', - E: 'create:electron_tubes' + E: 'create:electron_tube' }).id('tfg:create/shaped/brass_funnel') event.shaped('2x create:brass_funnel', [ @@ -691,7 +691,7 @@ const registerCreateRecipes = (event) => { B: '#forge:leather', C: '#forge:tools/wrenches', D: '#forge:tools/knives', - E: 'create:electron_tubes' + E: 'create:electron_tube' }).id('tfg:create/shaped/brass_funnel_leather') // ะขัƒะฝะตะปัŒ ะธะท ะถะตะปะตะทะฐ @@ -1517,16 +1517,14 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/contraption_controls') event.shaped('create:wrench', [ - 'FBB', - 'CAD', - 'AE ' + ' BB', + ' C ', + 'AD ' ], { - A: '#forge:rods/treated_wood', + A: '#forge:rods/wooden', B: '#forge:plates/brass', - C: '#forge:small_gears/wood', - D: '#forge:screws', - E: '#forge:tools/screwdrivers', - F: '#forge:tools/hammers' + C: '#tfg:small_cogwheels', + D: '#forge:tools/hammers' }).id('tfg:create/shaped/wrench') event.shaped('create:goggles', [ @@ -1534,11 +1532,11 @@ const registerCreateRecipes = (event) => { 'AEA', 'C C' ], { - A: '#forge:rings/gold', + A: '#forge:rings/brass', B: '#forge:leather', C: 'tfc:lens', - D: '#forge:screws', - E: '#forge:tools/screwdrivers' + D: 'tfc:glue', + E: '#forge:tools/hammers' }).id('tfg:create/shaped/goggles') event.shaped('create:analog_lever', [ @@ -1611,7 +1609,7 @@ const registerCreateRecipes = (event) => { A: 'create:andesite_casing', B: '#minecraft:plates/wrought_iron', C: 'tfc:glue', - D: '#tfg:cogwheels', + D: '#tfg:small_cogwheels', E: '#forge:tools/wrenches' }).id('tfg:create/shaped/mechanical_bearing') diff --git a/kubejs/server_scripts/endermanoverhaul/recipes.js b/kubejs/server_scripts/endermanoverhaul/recipes.js new file mode 100644 index 000000000..5701fa39f --- /dev/null +++ b/kubejs/server_scripts/endermanoverhaul/recipes.js @@ -0,0 +1,7 @@ +// priority: 0 + +function registerEndermanOverhaulRecipes(event) { + + event.remove({ id: 'endermanoverhaul:corrupted_shield' }) + +} \ No newline at end of file diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index 24ad4009e..e5f80d51b 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -47,6 +47,7 @@ const registerFirmaLifeRecipes = (event) => { event.remove({ id: 'firmalife:heating/metal/chromium_block_stairs' }) // - Stainless Steel + event.remove({ id: 'firmalife:alloy/stainless_steel' }) // Ingot event.remove({ id: 'firmalife:casting/stainless_steel_ingot' }) @@ -67,10 +68,10 @@ const registerFirmaLifeRecipes = (event) => { // Rod event.remove({ id: 'firmalife:anvil/stainless_steel_rod' }) - event.remove({ id: 'firmalife:heating/metal/stainless_steel_rod' }) + event.remove({ id: 'firmalife:heating/stainless_steel_rod' }) // Jar lid - event.remove({ id: 'firmalife:heating/metal/stainless_steel_jar_lid' }) + event.remove({ id: 'firmalife:heating/stainless_steel_jar_lid' }) // Plated Blocks event.remove({ id: 'firmalife:crafting/crafting/metal/block/stainless_steel' }) @@ -111,13 +112,32 @@ const registerFirmaLifeRecipes = (event) => { }).id('firmalife:crafting/vat') // Jar Lid - event.recipes.gtceu.assembler(`tfg:firmalife/jar_lid`) - .itemInputs('#forge:ingots/tin') - .circuit(7) - .itemOutputs('16x tfc:jar_lid') + event.recipes.gtceu.fluid_solidifier(`tfg:firmalife/jar_lid`) + .inputFluids(Fluid.of('gtceu:tin', 9)) + .notConsumable('gtceu:cylinder_casting_mold') + .itemOutputs('tfc:jar_lid') .duration(50) .EUt(7) + event.recipes.gtceu.extractor('tfc:jar_lid_extraction') + .itemInputs('tfc:jar_lid') + .outputFluids(Fluid.of('gtceu:tin', 9)) + .duration(50) + .EUt(2) + + event.recipes.gtceu.fluid_solidifier(`firmalife:firmalife/stainless_steel_jar_lid`) + .inputFluids(Fluid.of('gtceu:stainless_steel', 9)) + .notConsumable('gtceu:cylinder_casting_mold') + .itemOutputs('firmalife:stainless_steel_jar_lid') + .duration(50) + .EUt(7) + + event.recipes.gtceu.extractor('firmalife:stainless_steel_jar_extraction') + .itemInputs('firmalife:stainless_steel_jar_lid') + .outputFluids(Fluid.of('gtceu:stainless_steel', 9)) + .duration(50) + .EUt(2) + // Pineapple Fiber event.recipes.gtceu.assembler(`tfg:firmalife/pineapple_fiber`) .itemInputs('firmalife:food/pineapple') @@ -552,6 +572,9 @@ const registerFirmaLifeRecipes = (event) => { event.recipes.tfc.quern('4x firmalife:food/cocoa_powder', 'gtceu:cocoa_dust') .id(`tfg:quern/cocoa_powder`) + event.recipes.tfc.quern('gtceu:cocoa_dust', 'firmalife:food/roasted_cocoa_beans') + .id('tfg:quern/cocoa_dust'); + // Chocolate Ice Cream event.recipes.gtceu.mixer('firmalife:food/chocolate_ice_cream') .itemInputs('firmalife:food/vanilla_ice_cream') @@ -771,6 +794,8 @@ const registerFirmaLifeRecipes = (event) => { // #endregion + // #region Smashed food + event.recipes.gtceu.forge_hammer('firmalife:soybean_paste') .itemInputs('firmalife:food/dehydrated_soybeans') .itemOutputs('firmalife:food/soybean_paste') @@ -788,4 +813,13 @@ const registerFirmaLifeRecipes = (event) => { .itemOutputs('firmalife:food/smashed_white_grapes') .duration(20) .EUt(7) + + // #endregion + + // #region Drying mat alternatives + + event.shaped('firmalife:drying_mat', ['AAA'], { A: 'tfc:plant/leafy_kelp' }).id('tfg:shaped/drying_mat_leafy_kelp') + event.shaped('firmalife:drying_mat', ['AAA'], { A: 'tfc:plant/winged_kelp' }).id('tfg:shaped/drying_mat_winged_kelp') + + // #endregion } diff --git a/kubejs/server_scripts/framed_blocks/recipes.js b/kubejs/server_scripts/framed_blocks/recipes.js index c67e6c838..237152eee 100644 --- a/kubejs/server_scripts/framed_blocks/recipes.js +++ b/kubejs/server_scripts/framed_blocks/recipes.js @@ -510,4 +510,33 @@ const registerFramedBlocksRecipes = (event) => { } }).id('framedblocks:framing_saw/framed_stone_button') + // Lever + + event.shapeless( + Item.of('framedblocks:framed_lever', 1), + [ + 'framedblocks:framed_cube', + 'minecraft:redstone', + '#forge:rods/wooden', + ] + ).id('framedblocks:framed_lever') + + event.custom({ + type: "framedblocks:frame", + additives: [ + { + "count": 1, + "ingredient": { tag: "forge:rods/wooden" } + }, + { + "count": 1, + "ingredient": { item: "minecraft:redstone" } + } + ], + material: 6144, + result: { + item: "framedblocks:framed_lever", + count: 4 + } + }).id('framedblocks:framing_saw/framed_lever') } diff --git a/kubejs/server_scripts/ftb_quests/CustomQuests.js b/kubejs/server_scripts/ftb_quests/CustomQuests.js new file mode 100644 index 000000000..df613051f --- /dev/null +++ b/kubejs/server_scripts/ftb_quests/CustomQuests.js @@ -0,0 +1,41 @@ +// Handles the quest for drinking water. The drinking water quest checks if the player has this stage. +ItemEvents.firstRightClicked(evt => +{ + const FORGE_CAPS = "ForgeCaps"; + const TFC_PLAYERDATA = "tfc:player_data"; + const FOOD = "food"; + const THIRST = "thirst"; + const PREVIOUS_THIRST = "previous_thirst"; + const STAGE = "tfg.stages.quests.drank_fresh_water_with_hand"; + const {player, level} = evt; + + if(evt.target.block == null) + return; + + //We reach for the "food" compound tag, that contains the tfc thirst. + let forgecaps = player.nbt.getCompound(FORGE_CAPS); + let tfc_playerdata = forgecaps.getCompound(TFC_PLAYERDATA); + let food = tfc_playerdata.getCompound(FOOD); + let thirstValue = food.getFloat(THIRST); + + //Do we already keep track of the previous thirst value? if not, put it and then return. + let customData = getTFGPersistentDataRoot(player); + let containsPreviousThirst = customData.contains(PREVIOUS_THIRST); + if(!containsPreviousThirst) + { + customData.putFloat(PREVIOUS_THIRST, thirstValue); + return; + } + + let previousThirstValue = customData.getFloat(PREVIOUS_THIRST); + + //As long as our new thirst is greater than our previous, it means we hydrated ourselves. OFC we need to make sure the block clicked was potable. + let blockID = evt.target.block.id; + let isFreshWater = blockID == "minecraft:water" || blockID == "tfc:fluid/river_water"; + if(isFreshWater && thirstValue > previousThirstValue && !player.stages.has(STAGE)) + { + player.stages.add(STAGE); + } + //Put it back in. + customData.putFloat(PREVIOUS_THIRST, thirstValue); +}) \ No newline at end of file diff --git a/kubejs/server_scripts/greate/recipes.js b/kubejs/server_scripts/greate/recipes.js index dd8769393..dab57c9cb 100644 --- a/kubejs/server_scripts/greate/recipes.js +++ b/kubejs/server_scripts/greate/recipes.js @@ -252,31 +252,33 @@ function registerGreateRecipes(event) { F: '#forge:tools/wrenches' }).id('greate:shaped/aluminium_mechanical_saw') - event.shaped('greate:stainless_steel_mechanical_saw', [ - 'ABA', - 'CDC', - 'FE ' - ], { - A: '#gtceu:circuits/hv', - B: 'gtceu:red_steel_buzz_saw_blade', - C: 'gtceu:hv_electric_motor', - D: 'gtceu:hv_machine_casing', - E: 'greate:stainless_steel_shaft', - F: '#forge:tools/wrenches' - }).id('greate:shaped/stainless_steel_mechanical_saw') + // Removed while we wait for a fix so recipes don't work without being in a Cleanroom - Important for Wafer + + // event.shaped('greate:stainless_steel_mechanical_saw', [ + // 'ABA', + // 'CDC', + // 'FE ' + // ], { + // A: '#gtceu:circuits/hv', + // B: 'gtceu:red_steel_buzz_saw_blade', + // C: 'gtceu:hv_electric_motor', + // D: 'gtceu:hv_machine_casing', + // E: 'greate:stainless_steel_shaft', + // F: '#forge:tools/wrenches' + // }).id('greate:shaped/stainless_steel_mechanical_saw') - event.shaped('greate:titanium_mechanical_saw', [ - 'ABA', - 'CDC', - 'FE ' - ], { - A: '#gtceu:circuits/ev', - B: 'gtceu:ultimet_buzz_saw_blade', - C: 'gtceu:ev_electric_motor', - D: 'gtceu:ev_machine_casing', - E: 'greate:titanium_shaft', - F: '#forge:tools/wrenches' - }).id('greate:shaped/titanium_mechanical_saw') + // event.shaped('greate:titanium_mechanical_saw', [ + // 'ABA', + // 'CDC', + // 'FE ' + //], { + // A: '#gtceu:circuits/ev', + // B: 'gtceu:ultimet_buzz_saw_blade', + // C: 'gtceu:ev_electric_motor', + // D: 'gtceu:ev_machine_casing', + // E: 'greate:titanium_shaft', + // F: '#forge:tools/wrenches' + //}).id('greate:shaped/titanium_mechanical_saw') // #endregion @@ -408,4 +410,4 @@ function registerGreateRecipes(event) { }) // #endregion -} \ No newline at end of file +} diff --git a/kubejs/server_scripts/greate/recipes.removes.js b/kubejs/server_scripts/greate/recipes.removes.js index bd60e3c7b..06c457246 100644 --- a/kubejs/server_scripts/greate/recipes.removes.js +++ b/kubejs/server_scripts/greate/recipes.removes.js @@ -15,9 +15,13 @@ function removeGreateRecipes(event) { event.remove({ id: 'greate:shapeless/large_stainless_steel_cogwheel_from_little' }) event.remove({ id: 'greate:shapeless/large_titanium_cogwheel_from_little' }) + // Until we got a fix from Greate for recipes in a cleanroom + event.remove({ id: 'greate:shaped/stainless_steel_mechanical_saw' }) + event.remove({ id: 'greate:shaped/titanium_mechanical_saw' }) + event.remove({ id: 'greate:splashing/dough' }) event.remove({ mod: 'greate', type: 'create:deploying' }); event.remove({ mod: 'greate', type: 'create:sequenced_assembly' }); event.remove({ mod: 'greate', type: 'gtceu:assembler' }); -} \ No newline at end of file +} diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 024b8dba2..e03eebeef 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -7,6 +7,9 @@ const registerGTCEURecipes = (event) => { registerGTCEUMetalRecipes(event) + registerGTCEURecyclingRecipes(event) + registerGTCEuTFCMetalsRecipes(event) + registerGTCEuMachineRecipes(event) removeGTCEURecipes(event) @@ -66,6 +69,17 @@ const registerGTCEURecipes = (event) => { //#endregion + event.recipes.gtceu.centrifuge('tfg:beets_to_sugar') + .itemInputs('5x tfc:food/beet') + .inputFluids(Fluid.of('tfc:salt_water', 1000)) + .itemOutputs('3x minecraft:sugar', '3x gtceu:plant_ball', '1x #forge:dusts/salt') + .outputFluids(Fluid.of('minecraft:water', 1000)) + .duration(800) + .EUt(7) + .circuit(3) + + event.smelting('4x tfc:powder/wood_ash', '1x #minecraft:logs_that_burn').id('tfg:wood_ash') + //#region ะ’ั‹ั…ะพะด: ะกะพะปะตะฝะฐั ะฟั‹ะปัŒ + ะ’ะพะดะฐ // ะ”ะตะบั€ะฐั„ั‚ ะฒ ั†ะตะฝั‚ั€ะธั„ัƒะณะต @@ -75,6 +89,7 @@ const registerGTCEURecipes = (event) => { .outputFluids(Fluid.of('minecraft:water', 1000)) .duration(51) .EUt(30) + .circuit(1) // ะ”ะตะบั€ะฐั„ั‚ ะฒ ัะปะตะบั‚ั€ะพะปะฐะนะทะตั€ะต event.recipes.gtceu.electrolyzer('electrolyze_tfc_salt_water') @@ -83,6 +98,7 @@ const registerGTCEURecipes = (event) => { .outputFluids(Fluid.of('gtceu:chlorine', 500), Fluid.of('gtceu:hydrogen', 500)) .duration(720) .EUt(30) + .circuit(2) //#endregion @@ -126,6 +142,13 @@ const registerGTCEURecipes = (event) => { .itemOutput('gtceu:sticky_resin') .id('tfg:pot/sticky_resin_from_conifer_pitch') + event.recipes.gtceu.fluid_solidifier('tfg:fluid_solidifier/latex_heating') + .duration(24*20) + .EUt(30) + .itemInputs('tfc:powder/sulfur') + .itemOutputs('gtceu:sticky_resin') + .inputFluids(Fluid.of('tfg:latex', 1000)) + //#region ะ’ั‹ั…ะพะด: ะ ะฐัั‚ะธั‚ะตะปัŒะฝั‹ะน ัˆะฐั€ะธะบ // 8x ะ’ะฐะฝะธะปัŒะฝะฐั ั€ะฐัั‚ะธั‚ะตะปัŒะฝะพัั‚ัŒ -> Plant Ball (Compressor) @@ -258,6 +281,49 @@ const registerGTCEURecipes = (event) => { 'concrete_from_calcite' ) + //GT light/dark concrete recipe fix + + event.remove({ id: 'gtceu:fluid_solidifier/solidify_concrete_block' }) + event.remove({ id: 'gtceu:chemical_bath/light_to_dark_concrete' }) + + event.recipes.gtceu.fluid_solidifier('gtceu:fluid_solidifier/solidify_light_concrete') + .inputFluids(Fluid.of('gtceu:concrete', 144)) + .notConsumable('1x gtceu:block_casting_mold') + .itemOutputs('1x gtceu:light_concrete') + .duration(98) + .EUt(7) + + event.recipes.gtceu.chemical_bath('gtceu:chemical_bath/dark_concrete') + .inputFluids(Fluid.of('tfc:black_dye', 18)) + .itemInputs('1x gtceu:light_concrete') + .itemOutputs('1x gtceu:dark_concrete') + .duration(20) + .EUt(7) + + event.recipes.gtceu.extractor('gtceu:extractor/extract_light_concrete') + .itemInputs('1x gtceu:light_concrete') + .outputFluids(Fluid.of('gtceu:concrete', 144)) + .duration(98) + .EUt(30) + + event.stonecutting('gtceu:light_concrete_bricks', 'gtceu:light_concrete').id('tfg:stonecutting/light_concrete_bricks') + event.stonecutting('gtceu:chiseled_light_concrete', 'gtceu:light_concrete').id('tfg:stonecutting/chiseled_light_concrete') + event.stonecutting('gtceu:light_concrete_tile', 'gtceu:light_concrete').id('tfg:stonecutting/light_concrete_tile') + event.stonecutting('gtceu:light_concrete_small_tile', 'gtceu:light_concrete').id('tfg:stonecutting/light_concrete_small_tile') + event.stonecutting('gtceu:light_concrete_windmill_a', 'gtceu:light_concrete').id('tfg:stonecutting/light_concrete_windmill_a') + event.stonecutting('gtceu:light_concrete_windmill_b', 'gtceu:light_concrete').id('tfg:stonecutting/light_concrete_windmill_b') + event.stonecutting('gtceu:small_light_concrete_bricks', 'gtceu:light_concrete').id('tfg:stonecutting/small_light_concrete_bricks') + event.stonecutting('gtceu:square_light_concrete_bricks', 'gtceu:light_concrete').id('tfg:stonecutting/square_light_concrete_bricks') + + event.stonecutting('gtceu:dark_concrete_bricks', 'gtceu:dark_concrete').id('tfg:stonecutting/dark_concrete_bricks') + event.stonecutting('gtceu:chiseled_dark_concrete', 'gtceu:dark_concrete').id('tfg:stonecutting/chiseled_dark_concrete') + event.stonecutting('gtceu:dark_concrete_tile', 'gtceu:dark_concrete').id('tfg:stonecutting/dark_concrete_tile') + event.stonecutting('gtceu:dark_concrete_small_tile', 'gtceu:dark_concrete').id('tfg:stonecutting/dark_concrete_small_tile') + event.stonecutting('gtceu:dark_concrete_windmill_a', 'gtceu:dark_concrete').id('tfg:stonecutting/dark_concrete_windmill_a') + event.stonecutting('gtceu:dark_concrete_windmill_b', 'gtceu:dark_concrete').id('tfg:stonecutting/dark_concrete_windmill_b') + event.stonecutting('gtceu:small_dark_concrete_bricks', 'gtceu:dark_concrete').id('tfg:stonecutting/small_dark_concrete_bricks') + event.stonecutting('gtceu:square_dark_concrete_bricks', 'gtceu:dark_concrete').id('tfg:stonecutting/square_dark_concrete_bricks') + //#endregion //#region ะ’ั‹ั…ะพะด: ะ‘ัƒั€ะธะปัŒะฝะฐั ะถะธะดะบะพัั‚ัŒ @@ -289,424 +355,14 @@ const registerGTCEURecipes = (event) => { //#region ะ’ั‹ั…ะพะด: ะŸั‹ะปัŒ ะบะฐะบะฐะพ-ะฑะพะฑะพะฒ - event.recipes.gtceu.assembler('macerate_cocoa') - .itemInputs('firmalife:food/cocoa_beans') + event.recipes.gtceu.macerator('macerate_cocoa') + .itemInputs('firmalife:food/roasted_cocoa_beans') .itemOutputs('gtceu:cocoa_dust') - .duration(400) + .duration(100) .EUt(2) //#endregion - //#region ะ’ั‹ั…ะพะด: Filter Casing - - event.shaped('gtceu:filter_casing', [ - 'AAA', - 'BBB', - 'CDE' - ], { - A: '#tfg:metal_bars', - B: 'gtceu:item_filter', - C: 'gtceu:mv_electric_motor', - D: 'gtceu:steel_frame', - E: '#forge:rotors/steel' - }).id('gtceu:shaped/filter_casing') - - //#endregion - - //#region ะ’ั‹ั…ะพะด: Assembly Line Grating - - event.shaped('2x gtceu:assembly_line_grating', [ - 'ABA', - 'ACA', - 'ADA' - ], { - A: '#tfg:metal_bars', - B: '#forge:rotors/steel', - C: 'gtceu:steel_frame', - D: 'gtceu:mv_electric_motor' - }).id('gtceu:shaped/casing_grate_casing') - - //#endregion - - //#region Gas Collectors - - event.shaped('gtceu:lv_gas_collector', [ - 'ABA', - 'CEC', - 'ADA' - ], { - A: '#tfg:metal_bars', - B: 'gtceu:fluid_filter', - C: 'gtceu:lv_electric_pump', - D: '#gtceu:circuits/lv', - E: 'gtceu:lv_machine_hull' - }).id('gtceu:shaped/lv_gas_collector') - - event.shaped('gtceu:mv_gas_collector', [ - 'ABA', - 'CEC', - 'ADA' - ], { - A: '#tfg:metal_bars', - B: 'gtceu:fluid_filter', - C: 'gtceu:mv_electric_pump', - D: '#gtceu:circuits/mv', - E: 'gtceu:mv_machine_hull' - }).id('gtceu:shaped/mv_gas_collector') - - event.shaped('gtceu:hv_gas_collector', [ - 'ABA', - 'CEC', - 'ADA' - ], { - A: '#tfg:metal_bars', - B: 'gtceu:fluid_filter', - C: 'gtceu:hv_electric_pump', - D: '#gtceu:circuits/hv', - E: 'gtceu:hv_machine_hull' - }).id('gtceu:shaped/hv_gas_collector') - - event.shaped('gtceu:ev_gas_collector', [ - 'ABA', - 'CEC', - 'ADA' - ], { - A: '#tfg:metal_bars', - B: 'gtceu:fluid_filter', - C: 'gtceu:ev_electric_pump', - D: '#gtceu:circuits/ev', - E: 'gtceu:ev_machine_hull' - }).id('gtceu:shaped/ev_gas_collector') - - event.shaped('gtceu:iv_gas_collector', [ - 'ABA', - 'CEC', - 'ADA' - ], { - A: '#tfg:metal_bars', - B: 'gtceu:fluid_filter', - C: 'gtceu:iv_electric_pump', - D: '#gtceu:circuits/iv', - E: 'gtceu:iv_machine_hull' - }).id('gtceu:shaped/iv_gas_collector') - - event.shaped('gtceu:luv_gas_collector', [ - 'ABA', - 'CEC', - 'ADA' - ], { - A: '#tfg:metal_bars', - B: 'gtceu:fluid_filter', - C: 'gtceu:luv_electric_pump', - D: '#gtceu:circuits/luv', - E: 'gtceu:luv_machine_hull' - }).id('gtceu:shaped/luv_gas_collector') - - event.shaped('gtceu:zpm_gas_collector', [ - 'ABA', - 'CEC', - 'ADA' - ], { - A: '#tfg:metal_bars', - B: 'gtceu:fluid_filter', - C: 'gtceu:zpm_electric_pump', - D: '#gtceu:circuits/zpm', - E: 'gtceu:zpm_machine_hull' - }).id('gtceu:shaped/zpm_gas_collector') - - event.shaped('gtceu:uv_gas_collector', [ - 'ABA', - 'CEC', - 'ADA' - ], { - A: '#tfg:metal_bars', - B: 'gtceu:fluid_filter', - C: 'gtceu:uv_electric_pump', - D: '#gtceu:circuits/uv', - E: 'gtceu:uv_machine_hull' - }).id('gtceu:shaped/uv_gas_collector') - - //#endregion - - //#region Forge Hammers - - event.shaped('gtceu:lv_forge_hammer', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: 'gtceu:tin_single_cable', - B: 'gtceu:lv_electric_piston', - C: '#gtceu:circuits/lv', - D: 'gtceu:lv_machine_hull', - E: 'tfc:metal/anvil/steel', - }).id('gtceu:shaped/lv_forge_hammer') - - event.shaped('gtceu:mv_forge_hammer', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: 'gtceu:copper_single_cable', - B: 'gtceu:mv_electric_piston', - C: '#gtceu:circuits/mv', - D: 'gtceu:mv_machine_hull', - E: 'tfc:metal/anvil/steel', - }).id('gtceu:shaped/mv_forge_hammer') - - event.shaped('gtceu:hv_forge_hammer', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: 'gtceu:gold_single_cable', - B: 'gtceu:hv_electric_piston', - C: '#gtceu:circuits/hv', - D: 'gtceu:hv_machine_hull', - E: 'tfc:metal/anvil/steel', - }).id('gtceu:shaped/hv_forge_hammer') - - event.shaped('gtceu:ev_forge_hammer', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: 'gtceu:aluminium_single_cable', - B: 'gtceu:ev_electric_piston', - C: '#gtceu:circuits/ev', - D: 'gtceu:ev_machine_hull', - E: 'tfc:metal/anvil/black_steel', - }).id('gtceu:shaped/ev_forge_hammer') - - event.shaped('gtceu:iv_forge_hammer', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: 'gtceu:platinum_single_cable', - B: 'gtceu:iv_electric_piston', - C: '#gtceu:circuits/iv', - D: 'gtceu:iv_machine_hull', - E: 'tfc:metal/anvil/black_steel', - }).id('gtceu:shaped/iv_forge_hammer') - - event.shaped('gtceu:luv_forge_hammer', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: 'gtceu:niobium_titanium_single_cable', - B: 'gtceu:luv_electric_piston', - C: '#gtceu:circuits/luv', - D: 'gtceu:luv_machine_hull', - E: 'tfc:metal/anvil/black_steel', - }).id('gtceu:shaped/luv_forge_hammer') - - event.shaped('gtceu:zpm_forge_hammer', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: 'gtceu:vanadium_gallium_single_cable', - B: 'gtceu:zpm_electric_piston', - C: '#gtceu:circuits/zpm', - D: 'gtceu:zpm_machine_hull', - E: '#tfc:red_or_blue_anvil', - }).id('gtceu:shaped/zpm_forge_hammer') - - event.shaped('gtceu:uv_forge_hammer', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: 'gtceu:yttrium_barium_cuprate_single_cable', - B: 'gtceu:uv_electric_piston', - C: '#gtceu:circuits/uv', - D: 'gtceu:uv_machine_hull', - E: '#tfc:red_or_blue_anvil', - }).id('gtceu:shaped/uv_forge_hammer') - - //#endregion - - //#region CokeOven - - // Coke Oven - event.shaped('gtceu:coke_oven', [ - 'ABA', - 'BCB', - 'ABA' - ], { - A: 'gtceu:coke_oven_bricks', - B: '#forge:plates/wrought_iron', - C: '#forge:tools/wrenches' - }).id('gtceu:shaped/coke_oven') - - // Coke Oven Hatch - event.recipes.tfc.no_remainder_shaped_crafting( - event.shaped('gtceu:coke_oven_hatch', [ - 'AB' - ], { - A: 'gtceu:coke_oven_bricks', - B: '#tfc:barrels' - }) - ).id('gtceu:shaped/coke_oven_hatch') - - //#endregion - - // High Pressure Steam Miner - event.replaceInput({ id: 'gtceu:shaped/steam_miner_steel' }, - 'gtceu:lp_steam_miner', 'gtceu:steel_brick_casing') - - //#region ะ’ั‹ั…ะพะด: ะกั‚ะฐะปัŒะฝั‹ะต ะผะฐัˆะธะฝั‹ - - // HP Steam Boilers - event.shaped('gtceu:hp_steam_solid_boiler', [ - 'AEA', - 'ADA', - 'BCB' - ], { - A: '#forge:plates/steel', - B: 'gtceu:tin_alloy_small_fluid_pipe', - C: 'gtceu:steel_brick_casing', - D: 'tfc:crucible', - E: '#forge:rods/black_steel' - }).id('gtceu:shaped/steam_boiler_coal_steel') - - event.shaped('gtceu:hp_steam_liquid_boiler', [ - 'AEA', - 'ADA', - 'BCB' - ], { - A: '#forge:plates/steel', - B: 'gtceu:tin_alloy_small_fluid_pipe', - C: 'gtceu:steel_brick_casing', - D: '#forge:glass', - E: '#forge:rods/black_steel' - }).id('gtceu:shaped/steam_boiler_lava_steel') - - event.shaped('gtceu:hp_steam_solar_boiler', [ - 'AAA', - 'BCB', - 'EDE' - ], { - A: '#forge:glass_panes', - B: '#forge:double_plates/silver', - C: '#forge:rods/black_steel', - D: 'gtceu:steel_brick_casing', - E: 'gtceu:tin_alloy_small_fluid_pipe', - }).id('gtceu:shaped/steam_boiler_solar_steel') - - // ะญะบัั‚ั€ะฐะบั‚ะพั€ - event.shaped('gtceu:hp_steam_extractor', [ - 'BEB', - 'CAC', - 'DFD' - ], { - A: 'gtceu:steel_brick_casing', - B: 'gtceu:tin_alloy_small_fluid_pipe', - C: '#forge:plates/steel', - D: '#forge:plates/wrought_iron', - E: '#forge:glass_panes', - F: '#forge:rings/black_steel' - }).id('gtceu:shaped/steam_extractor_steel') - - // ะ”ั€ะพะฑะธั‚ะตะปัŒ - event.shaped('gtceu:hp_steam_macerator', [ - 'BFB', - 'CAC', - 'DED' - ], { - A: 'gtceu:steel_brick_casing', - B: '#forge:small_gears/wrought_iron', - C: '#forge:plates/steel', - D: '#forge:rods/black_steel', - E: 'gtceu:tin_alloy_small_fluid_pipe', - F: '#forge:raw_materials/diamond' - }).id('gtceu:shaped/steam_macerator_steel') - - // ะšะพะผะฟั€ะตััะพั€ - event.shaped('gtceu:hp_steam_compressor', [ - 'BCB', - 'EAE', - 'DFD' - ], { - A: 'gtceu:steel_brick_casing', - B: 'gtceu:tin_alloy_small_fluid_pipe', - C: '#forge:plates/steel', - D: '#forge:plates/wrought_iron', - E: 'minecraft:piston', - F: '#forge:rods/black_steel' - }).id('gtceu:shaped/steam_compressor_steel') - - // ะœะพะปะพั‚ - event.shaped('gtceu:hp_steam_forge_hammer', [ - 'DFD', - 'BEB', - 'CAC' - ], { - A: 'gtceu:steel_brick_casing', - B: 'gtceu:tin_alloy_small_fluid_pipe', - C: '#forge:plates/steel', - D: '#forge:plates/wrought_iron', - E: '#forge:ingots/black_steel', - F: 'minecraft:piston' - }).id('gtceu:shaped/steam_hammer_steel') - - // ะŸะตั‡ัŒ - event.shaped('gtceu:hp_steam_furnace', [ - 'BCB', - 'DAD', - 'FFF' - ], { - A: 'gtceu:steel_brick_casing', - B: 'gtceu:tin_alloy_small_fluid_pipe', - C: '#forge:plates/steel', - D: '#forge:plates/wrought_iron', - F: '#forge:rods/black_steel' - }).id('gtceu:shaped/steam_furnace_steel') - - // ะกะฟะปะฐะฒั‰ะธะบ - event.shaped('gtceu:hp_steam_alloy_smelter', [ - 'FCF', - 'DAD', - 'CBC' - ], { - A: 'gtceu:steel_brick_casing', - B: 'gtceu:tin_alloy_small_fluid_pipe', - C: '#forge:plates/steel', - D: '#forge:plates/wrought_iron', - F: '#forge:rods/black_steel' - }).id('gtceu:shaped/steam_alloy_smelter_steel') - - // ะ‘ะปะพะบะพ-ะปะพะผะฐั‚ะตะปัŒ - event.shaped('gtceu:hp_steam_rock_crusher', [ - 'ECE', - 'BAB', - 'DDD' - ], { - A: 'gtceu:steel_brick_casing', - B: 'gtceu:tin_alloy_small_fluid_pipe', - C: '#forge:drill_heads', - D: '#forge:rods/wrought_iron', - E: '#forge:screws/wrought_iron' - }).id('gtceu:shaped/steam_rock_breaker_steel') - - // Miner - event.shaped('gtceu:hp_steam_miner', [ - 'EFE', - 'BAB', - 'DCD' - ], { - A: 'gtceu:steel_brick_casing', - B: 'gtceu:tin_alloy_small_fluid_pipe', - C: '#forge:drill_heads', - D: '#forge:rods/steel', - E: '#forge:plates/wrought_iron', - F: '#gtceu:circuits/ulv' - }).id('gtceu:shaped/steam_miner_steel') - - //#endregion - //#region ะกั‚ะตะบะปะพะดัƒะฒะบะฐ // Glass Tube @@ -761,18 +417,6 @@ const registerGTCEURecipes = (event) => { C: 'tfc:glue' }).id('gtceu:shaped/gear_wood') - // ะšะพะฝั‚ั€ะพะปะปะตั€ ั‚ะตะฟะปะธั†ั‹ - event.shaped('gtceu:greenhouse', [ - 'ABA', - 'CDC', - 'BCB' - ], { - A: '#gtceu:circuits/mv', - B: 'gtceu:copper_single_cable', - C: '#gtceu:circuits/mv', - D: 'gtceu:solid_machine_casing' - }).id('tfg:shaped/greenhouse') - // Compressed Coke Clay event.shaped('gtceu:compressed_coke_clay', [ 'AAA', @@ -870,274 +514,6 @@ const registerGTCEURecipes = (event) => { //#endregion - //#region Long Distance Pipelines - - event.remove({ id: 'gtceu:assembler/long_distance_item_pipe' }) - event.recipes.gtceu.assembler('long_distance_item_pipe') - .itemInputs( - '1x gtceu:tin_large_item_pipe', - '4x #forge:plates/steel') - .inputFluids(Fluid.of('gtceu:soldering_alloy', 144 / 4)) - .itemOutputs('32x gtceu:long_distance_item_pipeline') - .circuit(2) - .duration(300) - .EUt(24) - - event.remove({ id: 'gtceu:assembler/long_distance_fluid_pipe' }) - event.recipes.gtceu.assembler('long_distance_fluid_pipe') - .itemInputs( - '1x gtceu:bronze_large_fluid_pipe', - '4x #forge:plates/steel') - .inputFluids(Fluid.of('gtceu:soldering_alloy', 144 / 4)) - .itemOutputs('32x gtceu:long_distance_fluid_pipeline') - .circuit(2) - .duration(300) - .EUt(24) - - //#endregion - - //#region LV hull - - event.replaceInput('gtceu:shaped/lv_machine_hull', '#forge:plates/wrought_iron', '#forge:plates/red_steel') - - //#endregion - - //#region make colored steel a bit easier to compensate - - event.recipes.gtceu.arc_furnace('tfg:black_steel_dust_to_ingot') - .itemInputs('gtceu:black_steel_dust') - .itemOutputs('tfc:metal/ingot/black_steel') - .inputFluids(Fluid.of('gtceu:oxygen', 72)) - .duration(500) - .EUt(24) - - event.recipes.gtceu.arc_furnace('tfg:red_steel_dust_to_ingot') - .itemInputs('gtceu:red_steel_dust') - .itemOutputs('tfc:metal/ingot/red_steel') - .inputFluids(Fluid.of('gtceu:oxygen', 72)) - .duration(700) - .EUt(32) - - event.recipes.gtceu.arc_furnace('tfg:blue_steel_dust_to_ingot') - .itemInputs('gtceu:blue_steel_dust') - .itemOutputs('tfc:metal/ingot/blue_steel') - .inputFluids(Fluid.of('gtceu:oxygen', 72)) - .duration(700) - .EUt(32) - - //#endregion - - //#region add regular furnace recipes for other tfc alloys - - event.remove({ id: 'gtceu:electric_blast_furnace/blast_bismuth_bronze' }) - event.remove({ id: 'gtceu:electric_blast_furnace/blast_bismuth_bronze_gas' }) - event.remove({ id: 'gtceu:electric_blast_furnace/blast_black_bronze' }) - event.remove({ id: 'gtceu:electric_blast_furnace/blast_black_bronze_gas' }) - event.remove({ id: 'gtceu:vacuum_freezer/cool_hot_black_bronze_ingot' }) - event.remove({ id: 'gtceu:vacuum_freezer/black_bronze' }) - event.remove({ id: 'gtceu:electric_blast_furnace/blast_sterling_silver' }) - event.remove({ id: 'gtceu:electric_blast_furnace/blast_sterling_silver_gas' }) - event.remove({ id: 'gtceu:electric_blast_furnace/blast_rose_gold' }) - event.remove({ id: 'gtceu:electric_blast_furnace/blast_rose_gold_gas' }) - - event.smelting('gtceu:bismuth_bronze_ingot', 'gtceu:bismuth_bronze_dust') - event.smelting('gtceu:black_bronze_ingot', 'gtceu:black_bronze_dust') - event.smelting('gtceu:sterling_silver_ingot', 'gtceu:sterling_silver_dust') - event.smelting('gtceu:rose_gold_ingot', 'gtceu:rose_gold_dust') - - //#endregion - - // Add circuit to assembler recipe for redstone lamp. - // Avoids conflict with AE2 smart cables. - event.remove({ id: 'gtceu:assembler/redstone_lamp' }) - event.recipes.gtceu.assembler('redstone_lamp') - .itemInputs('4x #forge:dusts/redstone', '4x #forge:dusts/glowstone') - .itemOutputs('1x minecraft:redstone_lamp') - .circuit(1) - .duration(100) - .EUt(1) - - // Clear NBT on tanks with shapeless crafts. - const TANK_NAMES = [ - "lv_super", - "mv_super", - "hv_super", - "ev_super", - "iv_quantum", - "luv_quantum", - "zpm_quantum", - "uv_quantum", - "uhv_quantum", - ] - - TANK_NAMES.forEach(prefix => { - // Craft super tanks to remove their NBT data. - event.shapeless(`gtceu:${prefix}_tank`, [`gtceu:${prefix}_tank`]) - // Craft super chests to remove their NBT data. - event.shapeless(`gtceu:${prefix}_chest`, [`gtceu:${prefix}_chest`]) - }) - - // red alloy, because crucible always makes 4+1=5 - - event.remove({ id: 'gtceu:mixer/red_alloy' }) - event.recipes.gtceu.mixer('tfg:red_alloy_mixer') - .itemInputs('1x gtceu:copper_dust', '4x minecraft:redstone') - .itemOutputs('5x gtceu:red_alloy_dust') - .circuit(2) - .duration(100) - .EUt(7) - - event.remove({ id: 'gtceu:centrifuge/red_alloy_separation' }) - event.recipes.gtceu.centrifuge('tfg:red_alloy_separation') - .itemInputs('5x gtceu:red_alloy_dust') - .itemOutputs('1x gtceu:copper_dust', '4x minecraft:redstone') - .duration(900) - .EUt(30) - - event.remove({ id: 'gtceu:alloy_smelter/copper_dust_and_redstone_dust_into_red_alloy' }) - event.recipes.gtceu.alloy_smelter('tfg:copper_dust_and_redstone_dust_into_red_alloy') - .itemInputs('1x gtceu:copper_dust', '4x minecraft:redstone') - .itemOutputs('5x gtceu:red_alloy_ingot') - .duration(50) - .EUt(16) - - event.remove({ id: 'gtceu:alloy_smelter/annealed_copper_dust_and_redstone_dust_into_red_alloy' }) - event.recipes.gtceu.alloy_smelter('tfg:annealed_copper_dust_and_redstone_dust_into_red_alloy') - .itemInputs('1x gtceu:annealed_copper_dust', '4x minecraft:redstone') - .itemOutputs('5x gtceu:red_alloy_ingot') - .duration(50) - .EUt(16) - - event.remove({ id: 'gtceu:alloy_smelter/copper_ingot_and_redstone_dust_into_red_alloy' }) - event.recipes.gtceu.alloy_smelter('tfg:copper_ingot_and_redstone_dust_into_red_alloy') - .itemInputs('1x minecraft:copper_ingot', '4x minecraft:redstone') - .itemOutputs('5x gtceu:red_alloy_ingot') - .duration(50) - .EUt(16) - - event.remove({ id: 'gtceu:alloy_smelter/annealed_copper_ingot_and_redstone_dust_into_red_alloy' }) - event.recipes.gtceu.alloy_smelter('tfg:annealed_copper_ingot_and_redstone_dust_into_red_alloy') - .itemInputs('1x gtceu:annealed_copper_ingot', '4x minecraft:redstone') - .itemOutputs('5x gtceu:red_alloy_ingot') - .duration(50) - .EUt(16) - - // steam machines - - event.remove({ id: 'gtceu:arc_furnace/arc_hp_steam_forge_hammer' }) - event.recipes.gtceu.arc_furnace('tfg:arc_hp_steam_forge_hammer') - .itemInputs('1x gtceu:hp_steam_forge_hammer') - .itemOutputs('8x gtceu:wrought_iron_ingot', '3x gtceu:steel_ingot', '2x gtceu:tin_alloy_ingot') - .duration(3310) - .EUt(30) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - - event.remove({ id: 'gtceu:macerator/macerate_hp_steam_forge_hammer' }) - event.recipes.gtceu.macerator('tfg:macerate_hp_steam_forge_hammer') - .itemInputs('1x gtceu:hp_steam_forge_hammer') - .itemOutputs('8x gtceu:iron_dust', '3x gtceu:steel_dust', '2x gtceu:tin_alloy_dust', '12x gtceu:brick_dust') - .duration(3254) - .EUt(8) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - event.remove({ id: 'gtceu:arc_furnace/arc_hp_steam_extractor' }) - event.recipes.gtceu.arc_furnace('tfg:arc_hp_steam_extractor') - .itemInputs('1x gtceu:hp_steam_extractor') - .itemOutputs('7x gtceu:wrought_iron_ingot', '2x gtceu:steel_ingot', '3x gtceu:tin_alloy_ingot') - .duration(3310) - .EUt(30) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - - event.remove({ id: 'gtceu:macerator/macerate_hp_steam_extractor' }) - event.recipes.gtceu.macerator('tfg:macerate_hp_steam_extractor') - .itemInputs('1x gtceu:hp_steam_extractor') - .itemOutputs('7x gtceu:iron_dust', '2x gtceu:steel_dust', '3x gtceu:tin_alloy_dust', '12x gtceu:brick_dust') - .duration(3254) - .EUt(8) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - event.remove({ id: 'gtceu:arc_furnace/arc_hp_steam_macerator' }) - event.recipes.gtceu.arc_furnace('tfg:arc_hp_steam_macerator') - .itemInputs('1x gtceu:hp_steam_macerator') - .itemOutputs('8x gtceu:wrought_iron_ingot', '3x gtceu:steel_ingot', '2x gtceu:tin_alloy_ingot') - .duration(3310) - .EUt(30) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - - event.remove({ id: 'gtceu:macerator/macerate_hp_steam_macerator' }) - event.recipes.gtceu.macerator('tfg:macerate_hp_steam_macerator') - .itemInputs('1x gtceu:hp_steam_macerator') - .itemOutputs('8x gtceu:iron_dust', '3x gtceu:steel_dust', '2x gtceu:tin_alloy_dust', '12x gtceu:brick_dust') - .duration(3254) - .EUt(8) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - event.remove({ id: 'gtceu:arc_furnace/arc_hp_steam_compressor' }) - event.recipes.gtceu.arc_furnace('tfg:arc_hp_steam_compressor') - .itemInputs('1x gtceu:hp_steam_compressor') - .itemOutputs('7x gtceu:wrought_iron_ingot', '1x gtceu:steel_ingot', '5x gtceu:tin_alloy_ingot') - .duration(3310) - .EUt(30) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - - event.remove({ id: 'gtceu:macerator/macerate_hp_steam_compressor' }) - event.recipes.gtceu.macerator('tfg:macerate_hp_steam_compressor') - .itemInputs('1x gtceu:hp_steam_compressor') - .itemOutputs('7x gtceu:iron_dust', '1x gtceu:steel_dust', '5x gtceu:tin_alloy_dust', '12x gtceu:brick_dust') - .duration(3254) - .EUt(8) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - event.remove({ id: 'gtceu:arc_furnace/arc_hp_steam_furnace' }) - event.recipes.gtceu.arc_furnace('tfg:arc_hp_steam_furnace') - .itemInputs('1x gtceu:hp_steam_furnace') - .itemOutputs('7x gtceu:wrought_iron_ingot', '2x gtceu:steel_ingot', '4x gtceu:tin_alloy_ingot') - .duration(3310) - .EUt(30) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - - event.remove({ id: 'gtceu:macerator/macerate_hp_steam_furnace' }) - event.recipes.gtceu.macerator('tfg:macerate_hp_steam_furnace') - .itemInputs('1x gtceu:hp_steam_furnace') - .itemOutputs('7x gtceu:iron_dust', '2x gtceu:steel_dust', '4x gtceu:tin_alloy_dust', '12x gtceu:brick_dust') - .duration(3254) - .EUt(8) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - event.remove({ id: 'gtceu:arc_furnace/arc_hp_steam_alloy_smelter' }) - event.recipes.gtceu.arc_furnace('tfg:arc_hp_steam_alloy_smelter') - .itemInputs('1x gtceu:hp_steam_alloy_smelter') - .itemOutputs('11x gtceu:wrought_iron_ingot', '1x gtceu:steel_ingot', '1x gtceu:tin_alloy_ingot') - .duration(3310) - .EUt(30) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - - event.remove({ id: 'gtceu:macerator/macerate_hp_steam_alloy_smelter' }) - event.recipes.gtceu.macerator('tfg:macerate_hp_steam_alloy_smelter') - .itemInputs('1x gtceu:hp_steam_alloy_smelter') - .itemOutputs('11x gtceu:iron_dust', '1x gtceu:steel_dust', '1x gtceu:tin_alloy_dust', '12x gtceu:brick_dust') - .duration(3254) - .EUt(8) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - event.remove({ id: 'gtceu:arc_furnace/arc_hp_steam_rock_crusher' }) - event.recipes.gtceu.arc_furnace('tfg:arc_hp_steam_rock_crusher') - .itemInputs('1x gtceu:hp_steam_rock_crusher') - .itemOutputs('10x gtceu:wrought_iron_ingot', '1x gtceu:steel_ingot', '2x gtceu:tin_alloy_ingot') - .duration(3310) - .EUt(30) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - - event.remove({ id: 'gtceu:macerator/macerate_hp_steam_rock_crusher' }) - event.recipes.gtceu.macerator('tfg:macerate_hp_steam_rock_crusher') - .itemInputs('1x gtceu:hp_steam_rock_crusher') - .itemOutputs('10x gtceu:iron_dust', '1x gtceu:steel_dust', '2x gtceu:tin_alloy_dust', '12x gtceu:brick_dust') - .duration(3254) - .EUt(8) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - //#endregion - //#region Quantum mainframe stack fix. // // Quantum Mainframes need 48x annealed copper wire but @@ -1312,43 +688,130 @@ const registerGTCEURecipes = (event) => { .duration(288) .EUt(96) .circuit(2) + + event.recipes.gtceu.coke_oven("tfg:raw_coal_to_coke") + .itemInputs('gtceu:raw_coal') + .itemOutputs('2x gtceu:coke_gem') + .outputFluids(Fluid.of('gtceu:creosote', 2000)) + .duration(1710) + + event.recipes.gtceu.pyrolyse_oven("tfg:raw_coal_to_tar") + .itemInputs('6x gtceu:raw_coal') + .chancedOutput('gtceu:dark_ash_dust', 5000, 0) + .outputFluids(Fluid.of('gtceu:coal_tar', 3000)) + .duration(288) + .EUt(96) + .circuit(8) + + event.recipes.gtceu.pyrolyse_oven("tfg:raw_coal_to_coke_creosote") + .itemInputs('8x gtceu:raw_coal') + .itemOutputs('16x gtceu:coke_gem') + .outputFluids(Fluid.of('gtceu:creosote', 8000)) + .duration(576) + .EUt(64) + .circuit(1) + + event.recipes.gtceu.pyrolyse_oven("tfg:raw_coal_to_coal_gas") + .itemInputs('8x gtceu:raw_coal') + .itemOutputs('16x gtceu:coke_gem') + .inputFluids(Fluid.of('gtceu:steam')) + .outputFluids(Fluid.of('gtceu:coal_gas', 4000)) + .duration(288) + .EUt(96) + .circuit(22) + + event.recipes.gtceu.pyrolyse_oven("tfg:raw_coal_to_coke_creosote_nitrogen") + .itemInputs('8x gtceu:raw_coal') + .itemOutputs('16x gtceu:coke_gem') + .inputFluids(Fluid.of('gtceu:nitrogen')) + .outputFluids(Fluid.of('gtceu:creosote', 8000)) + .duration(288) + .EUt(96) + .circuit(2) + // #endregion // #region Fix TFC hanging sign metal dupe for Macerator and Arc Furnace const SIGN_METALS = [ - "copper", - "bronze", - "black_bronze", - "bismuth_bronze", - "wrought_iron", - "steel", - "black_steel", - "red_steel", - "blue_steel" + GTMaterials.Copper, + GTMaterials.Bronze, + GTMaterials.BlackBronze, + GTMaterials.BismuthBronze, + GTMaterials.WroughtIron, + GTMaterials.Steel, + GTMaterials.BlackSteel, + GTMaterials.RedSteel, + GTMaterials.BlueSteel ]; SIGN_METALS.forEach(metal => { + // Arc furnace global.TFC_WOOD_TYPES.forEach(wood => { - event.remove(`gtceu:macerator/macerate_wood/hanging_sign/${metal}/${wood}`) - event.recipes.gtceu.macerator(`gtceu:macerator/macerate_wood/hanging_sign/${metal}/${wood}`) - .itemInputs(`tfc:wood/hanging_sign/${metal}/${wood}`) - .itemOutputs('gtceu:wood_dust') - .chancedOutput(`gtceu:tiny_${metal}_dust`, 3750, 0) - .duration(108) - .EUt(8) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - event.remove(`gtceu:arc_furnace/arc_wood/hanging_sign/${metal}/${wood}`) - event.recipes.gtceu.arc_furnace(`gtceu:arc_furnace/macerate_wood/hanging_sign/${metal}/${wood}`) - .itemInputs(`tfc:wood/hanging_sign/${metal}/${wood}`) + event.remove(`gtceu:arc_furnace/arc_wood/hanging_sign/${metal.getName()}/${wood}`) + event.recipes.gtceu.arc_furnace(`gtceu:arc_furnace/macerate_wood/hanging_sign/${metal.getName()}/${wood}`) + .itemInputs(`tfc:wood/hanging_sign/${metal.getName()}/${wood}`) .itemOutputs('gtceu:tiny_ash_dust') - .chancedOutput(`gtceu:${metal}_nugget`, 3750, 0) + .chancedOutput(ChemicalHelper.get(TagPrefix.nugget, metal, 1), 3750, 0) .inputFluids(Fluid.of('gtceu:oxygen', 12)) .duration(12) .EUt(30) .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) }) + + global.AFC_WOOD_TYPES.forEach(wood => { + event.recipes.gtceu.arc_furnace(`gtceu:arc_furnace/macerate_wood/hanging_sign/${metal.getName()}/${wood}`) + .itemInputs(`afc:wood/hanging_sign/${metal.getName()}/${wood}`) + .itemOutputs('gtceu:tiny_ash_dust') + .chancedOutput(ChemicalHelper.get(TagPrefix.nugget, metal, 1), 3750, 0) + .inputFluids(Fluid.of('gtceu:oxygen', 12)) + .duration(12) + .EUt(30) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + }) + + // Macerator + global.TFC_HARDWOOD_TYPES.forEach(wood => { + event.remove(`gtceu:macerator/macerate_wood/hanging_sign/${metal.getName()}/${wood}`) + event.recipes.gtceu.macerator(`gtceu:macerator/macerate_wood/hanging_sign/${metal.getName()}/${wood}`) + .itemInputs(`tfc:wood/hanging_sign/${metal.getName()}/${wood}`) + .itemOutputs('gtceu:hardwood_dust') + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, metal, 1), 3750, 0) + .duration(108) + .EUt(8) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + }) + + global.TFC_SOFTWOOD_TYPES.forEach(wood => { + event.remove(`gtceu:macerator/macerate_wood/hanging_sign/${metal.getName()}/${wood}`) + event.recipes.gtceu.macerator(`gtceu:macerator/macerate_wood/hanging_sign/${metal.getName()}/${wood}`) + .itemInputs(`tfc:wood/hanging_sign/${metal.getName()}/${wood}`) + .itemOutputs('gtceu:wood_dust') + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, metal, 1), 3750, 0) + .duration(108) + .EUt(8) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + }) + + global.AFC_HARDWOOD_TYPES.forEach(wood => { + event.recipes.gtceu.macerator(`gtceu:macerator/macerate_wood/hanging_sign/${metal.getName()}/${wood}`) + .itemInputs(`afc:wood/hanging_sign/${metal.getName()}/${wood}`) + .itemOutputs('gtceu:hardwood_dust') + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, metal, 1), 3750, 0) + .duration(108) + .EUt(8) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + }) + + global.AFC_SOFTWOOD_TYPES.forEach(wood => { + event.recipes.gtceu.macerator(`gtceu:macerator/macerate_wood/hanging_sign/${metal.getName()}/${wood}`) + .itemInputs(`afc:wood/hanging_sign/${metal.getName()}/${wood}`) + .itemOutputs('gtceu:wood_dust') + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, metal, 1), 3750, 0) + .duration(108) + .EUt(8) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + }) }) // #endregion @@ -1476,30 +939,30 @@ const registerGTCEURecipes = (event) => { //#region Steam Bloomery event.recipes.gtceu.steam_bloomery('steam_raw_iron_bloom_coal') - .itemInputs('#forge:ingots/iron', '#tfc:steam_bloomery_basic_fuels') - .itemOutputs('tfc:raw_iron_bloom') - .duration(2400) - .EUt(GTValues.VEX[GTValues.ULV]) + .itemInputs('#forge:ingots/iron', '#tfc:steam_bloomery_basic_fuels') + .itemOutputs('tfc:raw_iron_bloom') + .duration(2400) + .EUt(GTValues.VEX[GTValues.ULV]) event.recipes.gtceu.steam_bloomery('steam_raw_iron_bloom_coalcoke') - .itemInputs('2x #forge:ingots/iron', '#tfc:blast_furnace_fuel') - .itemOutputs('2x tfc:raw_iron_bloom') - .duration(2400) - .EUt(GTValues.VEX[GTValues.ULV]) + .itemInputs('2x #forge:ingots/iron', '#tfc:blast_furnace_fuel') + .itemOutputs('2x tfc:raw_iron_bloom') + .duration(2400) + .EUt(GTValues.VEX[GTValues.ULV]) GTMaterialRegistry.getRegisteredMaterials().forEach(material => { const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) if (tfcProperty == null) return; - + if (tfcProperty.getOutputMaterial() == GTMaterials.Iron) { event.recipes.gtceu.steam_bloomery(`steam_raw_iron_bloom_coal_${material.getName()}`) .itemInputs(ChemicalHelper.get(TagPrefix.dust, material, 1), '#tfc:steam_bloomery_basic_fuels') .itemOutputs('tfc:raw_iron_bloom') .duration(2400) .EUt(GTValues.VEX[GTValues.ULV]) - + event.recipes.gtceu.steam_bloomery(`steam_raw_iron_bloom_coalcoke_${material.getName()}`) .itemInputs(ChemicalHelper.get(TagPrefix.dust, material, 2), '#tfc:blast_furnace_fuel') .itemOutputs('2x tfc:raw_iron_bloom') @@ -1507,18 +970,9 @@ const registerGTCEURecipes = (event) => { .EUt(GTValues.VEX[GTValues.ULV]) } }) - + //#endregion - - event.shaped('4x minecraft:ladder', [ - 'A A', - 'AAA', - 'A A' - ], { - A: '#forge:rods/wooden' - }).id('gtceu:shaped/ladder') - - + // TODO: Greate again... event.shapeless('gtceu:red_alloy_single_cable', ['gtceu:red_alloy_single_wire', '#forge:plates/rubber']) .id('tfg:shapeless/red_alloy_single_cable') diff --git a/kubejs/server_scripts/gregtech/recipes.machines.js b/kubejs/server_scripts/gregtech/recipes.machines.js new file mode 100644 index 000000000..1b655e940 --- /dev/null +++ b/kubejs/server_scripts/gregtech/recipes.machines.js @@ -0,0 +1,694 @@ +๏ปฟ// priority: 0 + +function registerGTCEuMachineRecipes(event) { + //#region ะ’ั‹ั…ะพะด: Filter Casing + + event.shaped('gtceu:filter_casing', [ + 'AAA', + 'BBB', + 'CDE' + ], { + A: '#tfg:metal_bars', + B: 'gtceu:item_filter', + C: 'gtceu:mv_electric_motor', + D: 'gtceu:steel_frame', + E: '#forge:rotors/steel' + }).id('gtceu:shaped/filter_casing') + + //#endregion + + //#region ะ’ั‹ั…ะพะด: Assembly Line Grating + + event.shaped('2x gtceu:assembly_line_grating', [ + 'ABA', + 'ACA', + 'ADA' + ], { + A: '#tfg:metal_bars', + B: '#forge:rotors/steel', + C: 'gtceu:steel_frame', + D: 'gtceu:mv_electric_motor' + }).id('gtceu:shaped/casing_grate_casing') + + //#endregion + + //#region Gas Collectors + + event.shaped('gtceu:lv_gas_collector', [ + 'ABA', + 'CEC', + 'ADA' + ], { + A: '#tfg:metal_bars', + B: 'gtceu:fluid_filter', + C: 'gtceu:lv_electric_pump', + D: '#gtceu:circuits/lv', + E: 'gtceu:lv_machine_hull' + }).id('gtceu:shaped/lv_gas_collector') + + event.shaped('gtceu:mv_gas_collector', [ + 'ABA', + 'CEC', + 'ADA' + ], { + A: '#tfg:metal_bars', + B: 'gtceu:fluid_filter', + C: 'gtceu:mv_electric_pump', + D: '#gtceu:circuits/mv', + E: 'gtceu:mv_machine_hull' + }).id('gtceu:shaped/mv_gas_collector') + + event.shaped('gtceu:hv_gas_collector', [ + 'ABA', + 'CEC', + 'ADA' + ], { + A: '#tfg:metal_bars', + B: 'gtceu:fluid_filter', + C: 'gtceu:hv_electric_pump', + D: '#gtceu:circuits/hv', + E: 'gtceu:hv_machine_hull' + }).id('gtceu:shaped/hv_gas_collector') + + event.shaped('gtceu:ev_gas_collector', [ + 'ABA', + 'CEC', + 'ADA' + ], { + A: '#tfg:metal_bars', + B: 'gtceu:fluid_filter', + C: 'gtceu:ev_electric_pump', + D: '#gtceu:circuits/ev', + E: 'gtceu:ev_machine_hull' + }).id('gtceu:shaped/ev_gas_collector') + + event.shaped('gtceu:iv_gas_collector', [ + 'ABA', + 'CEC', + 'ADA' + ], { + A: '#tfg:metal_bars', + B: 'gtceu:fluid_filter', + C: 'gtceu:iv_electric_pump', + D: '#gtceu:circuits/iv', + E: 'gtceu:iv_machine_hull' + }).id('gtceu:shaped/iv_gas_collector') + + event.shaped('gtceu:luv_gas_collector', [ + 'ABA', + 'CEC', + 'ADA' + ], { + A: '#tfg:metal_bars', + B: 'gtceu:fluid_filter', + C: 'gtceu:luv_electric_pump', + D: '#gtceu:circuits/luv', + E: 'gtceu:luv_machine_hull' + }).id('gtceu:shaped/luv_gas_collector') + + event.shaped('gtceu:zpm_gas_collector', [ + 'ABA', + 'CEC', + 'ADA' + ], { + A: '#tfg:metal_bars', + B: 'gtceu:fluid_filter', + C: 'gtceu:zpm_electric_pump', + D: '#gtceu:circuits/zpm', + E: 'gtceu:zpm_machine_hull' + }).id('gtceu:shaped/zpm_gas_collector') + + event.shaped('gtceu:uv_gas_collector', [ + 'ABA', + 'CEC', + 'ADA' + ], { + A: '#tfg:metal_bars', + B: 'gtceu:fluid_filter', + C: 'gtceu:uv_electric_pump', + D: '#gtceu:circuits/uv', + E: 'gtceu:uv_machine_hull' + }).id('gtceu:shaped/uv_gas_collector') + + //#endregion + + //#region Forge Hammers + + event.shaped('gtceu:lv_forge_hammer', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: 'gtceu:tin_single_cable', + B: 'gtceu:lv_electric_piston', + C: '#gtceu:circuits/lv', + D: 'gtceu:lv_machine_hull', + E: 'tfc:metal/anvil/steel', + }).id('gtceu:shaped/lv_forge_hammer') + + event.shaped('gtceu:mv_forge_hammer', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: 'gtceu:copper_single_cable', + B: 'gtceu:mv_electric_piston', + C: '#gtceu:circuits/mv', + D: 'gtceu:mv_machine_hull', + E: 'tfc:metal/anvil/steel', + }).id('gtceu:shaped/mv_forge_hammer') + + event.shaped('gtceu:hv_forge_hammer', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: 'gtceu:gold_single_cable', + B: 'gtceu:hv_electric_piston', + C: '#gtceu:circuits/hv', + D: 'gtceu:hv_machine_hull', + E: 'tfc:metal/anvil/steel', + }).id('gtceu:shaped/hv_forge_hammer') + + event.shaped('gtceu:ev_forge_hammer', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: 'gtceu:aluminium_single_cable', + B: 'gtceu:ev_electric_piston', + C: '#gtceu:circuits/ev', + D: 'gtceu:ev_machine_hull', + E: 'tfc:metal/anvil/black_steel', + }).id('gtceu:shaped/ev_forge_hammer') + + event.shaped('gtceu:iv_forge_hammer', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: 'gtceu:platinum_single_cable', + B: 'gtceu:iv_electric_piston', + C: '#gtceu:circuits/iv', + D: 'gtceu:iv_machine_hull', + E: 'tfc:metal/anvil/black_steel', + }).id('gtceu:shaped/iv_forge_hammer') + + event.shaped('gtceu:luv_forge_hammer', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: 'gtceu:niobium_titanium_single_cable', + B: 'gtceu:luv_electric_piston', + C: '#gtceu:circuits/luv', + D: 'gtceu:luv_machine_hull', + E: 'tfc:metal/anvil/black_steel', + }).id('gtceu:shaped/luv_forge_hammer') + + event.shaped('gtceu:zpm_forge_hammer', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: 'gtceu:vanadium_gallium_single_cable', + B: 'gtceu:zpm_electric_piston', + C: '#gtceu:circuits/zpm', + D: 'gtceu:zpm_machine_hull', + E: '#tfc:red_or_blue_anvil', + }).id('gtceu:shaped/zpm_forge_hammer') + + event.shaped('gtceu:uv_forge_hammer', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: 'gtceu:yttrium_barium_cuprate_single_cable', + B: 'gtceu:uv_electric_piston', + C: '#gtceu:circuits/uv', + D: 'gtceu:uv_machine_hull', + E: '#tfc:red_or_blue_anvil', + }).id('gtceu:shaped/uv_forge_hammer') + + //#endregion + + //#region CokeOven + + // Coke Oven + event.shaped('gtceu:coke_oven', [ + 'ABA', + 'BCB', + 'ABA' + ], { + A: 'gtceu:coke_oven_bricks', + B: '#forge:plates/wrought_iron', + C: '#forge:tools/wrenches' + }).id('gtceu:shaped/coke_oven') + + // Coke Oven Hatch + event.recipes.tfc.no_remainder_shaped_crafting( + event.shaped('gtceu:coke_oven_hatch', [ + 'AB' + ], { + A: 'gtceu:coke_oven_bricks', + B: '#tfc:barrels' + }) + ).id('gtceu:shaped/coke_oven_hatch') + + //#endregion + + // High Pressure Steam Miner + event.replaceInput({ id: 'gtceu:shaped/steam_miner_steel' }, + 'gtceu:lp_steam_miner', 'gtceu:steel_brick_casing') + + //#region ะ’ั‹ั…ะพะด: ะกั‚ะฐะปัŒะฝั‹ะต ะผะฐัˆะธะฝั‹ + + // HP Steam Boilers + event.shaped('gtceu:hp_steam_solid_boiler', [ + 'AEA', + 'ADA', + 'BCB' + ], { + A: '#forge:plates/steel', + B: 'gtceu:tin_alloy_small_fluid_pipe', + C: 'gtceu:steel_brick_casing', + D: 'tfc:crucible', + E: '#forge:rods/black_steel' + }).id('gtceu:shaped/steam_boiler_coal_steel') + + event.shaped('gtceu:hp_steam_liquid_boiler', [ + 'AEA', + 'ADA', + 'BCB' + ], { + A: '#forge:plates/steel', + B: 'gtceu:tin_alloy_small_fluid_pipe', + C: 'gtceu:steel_brick_casing', + D: '#forge:glass', + E: '#forge:rods/black_steel' + }).id('gtceu:shaped/steam_boiler_lava_steel') + + event.shaped('gtceu:hp_steam_solar_boiler', [ + 'AAA', + 'BCB', + 'EDE' + ], { + A: '#forge:glass_panes', + B: '#forge:double_plates/silver', + C: '#forge:rods/black_steel', + D: 'gtceu:steel_brick_casing', + E: 'gtceu:tin_alloy_small_fluid_pipe', + }).id('gtceu:shaped/steam_boiler_solar_steel') + + // ะญะบัั‚ั€ะฐะบั‚ะพั€ + event.shaped('gtceu:hp_steam_extractor', [ + 'BEB', + 'CAC', + 'DFD' + ], { + A: 'gtceu:steel_brick_casing', + B: 'gtceu:tin_alloy_small_fluid_pipe', + C: '#forge:plates/steel', + D: '#forge:plates/wrought_iron', + E: '#forge:glass_panes', + F: '#forge:rings/black_steel' + }).id('gtceu:shaped/steam_extractor_steel') + + // ะ”ั€ะพะฑะธั‚ะตะปัŒ + event.shaped('gtceu:hp_steam_macerator', [ + 'BFB', + 'CAC', + 'DED' + ], { + A: 'gtceu:steel_brick_casing', + B: '#forge:small_gears/wrought_iron', + C: '#forge:plates/steel', + D: '#forge:rods/black_steel', + E: 'gtceu:tin_alloy_small_fluid_pipe', + F: '#forge:raw_materials/diamond' + }).id('gtceu:shaped/steam_macerator_steel') + + // ะšะพะผะฟั€ะตััะพั€ + event.shaped('gtceu:hp_steam_compressor', [ + 'BCB', + 'EAE', + 'DFD' + ], { + A: 'gtceu:steel_brick_casing', + B: 'gtceu:tin_alloy_small_fluid_pipe', + C: '#forge:plates/steel', + D: '#forge:plates/wrought_iron', + E: 'minecraft:piston', + F: '#forge:rods/black_steel' + }).id('gtceu:shaped/steam_compressor_steel') + + // ะœะพะปะพั‚ + event.shaped('gtceu:hp_steam_forge_hammer', [ + 'DFD', + 'BEB', + 'CAC' + ], { + A: 'gtceu:steel_brick_casing', + B: 'gtceu:tin_alloy_small_fluid_pipe', + C: '#forge:plates/steel', + D: '#forge:plates/wrought_iron', + E: '#forge:ingots/black_steel', + F: 'minecraft:piston' + }).id('gtceu:shaped/steam_hammer_steel') + + // ะŸะตั‡ัŒ + event.shaped('gtceu:hp_steam_furnace', [ + 'BCB', + 'DAD', + 'FFF' + ], { + A: 'gtceu:steel_brick_casing', + B: 'gtceu:tin_alloy_small_fluid_pipe', + C: '#forge:plates/steel', + D: '#forge:plates/wrought_iron', + F: '#forge:rods/black_steel' + }).id('gtceu:shaped/steam_furnace_steel') + + // ะกะฟะปะฐะฒั‰ะธะบ + event.shaped('gtceu:hp_steam_alloy_smelter', [ + 'FCF', + 'DAD', + 'CBC' + ], { + A: 'gtceu:steel_brick_casing', + B: 'gtceu:tin_alloy_small_fluid_pipe', + C: '#forge:plates/steel', + D: '#forge:plates/wrought_iron', + F: '#forge:rods/black_steel' + }).id('gtceu:shaped/steam_alloy_smelter_steel') + + // ะ‘ะปะพะบะพ-ะปะพะผะฐั‚ะตะปัŒ + event.shaped('gtceu:hp_steam_rock_crusher', [ + 'ECE', + 'BAB', + 'DDD' + ], { + A: 'gtceu:steel_brick_casing', + B: 'gtceu:tin_alloy_small_fluid_pipe', + C: '#forge:drill_heads', + D: '#forge:rods/wrought_iron', + E: '#forge:screws/wrought_iron' + }).id('gtceu:shaped/steam_rock_breaker_steel') + + // Miner + event.shaped('gtceu:hp_steam_miner', [ + 'EFE', + 'BAB', + 'DCD' + ], { + A: 'gtceu:steel_brick_casing', + B: 'gtceu:tin_alloy_small_fluid_pipe', + C: '#forge:drill_heads', + D: '#forge:rods/steel', + E: '#forge:plates/wrought_iron', + F: '#gtceu:circuits/ulv' + }).id('gtceu:shaped/steam_miner_steel') + + //#endregion + + //#region passthrough hatches + event.recipes.shaped('gtceu:lv_item_passthrough_hatch', [ + ' A ', + 'BCB', + ' D ' + ], { + A: 'gtceu:lv_conveyor_module', + B: 'gtceu:small_wrought_iron_gear', + C: 'gtceu:lv_machine_hull', + D: '#tfg:default_chests' + }).id('gtceu:shaped/passthrough_hatch_item_lv') + + event.recipes.shaped('gtceu:mv_item_passthrough_hatch', [ + ' A ', + 'BCB', + ' D ' + ], { + A: 'gtceu:mv_conveyor_module', + B: 'gtceu:small_bronze_gear', + C: 'gtceu:mv_machine_hull', + D: '#tfg:default_chests' + }).id('gtceu:shaped/passthrough_hatch_item_mv') + + event.recipes.shaped('gtceu:ev_item_passthrough_hatch', [ + ' A ', + 'BCB', + ' D ' + ], { + A: 'gtceu:ev_conveyor_module', + B: 'gtceu:small_titanium_gear', + C: 'gtceu:ev_machine_hull', + D: '#tfg:default_chests' + }).id('gtceu:shaped/passthrough_hatch_item_ev') + + event.recipes.shaped('gtceu:iv_item_passthrough_hatch', [ + ' A ', + 'BCB', + ' D ' + ], { + A: 'gtceu:iv_conveyor_module', + B: 'gtceu:small_tungsten_steel_gear', + C: 'gtceu:iv_machine_hull', + D: '#tfg:default_chests' + }).id('gtceu:shaped/passthrough_hatch_item_iv') + + event.recipes.shaped('gtceu:luv_item_passthrough_hatch', [ + ' A ', + 'BCB', + ' D ' + ], { + A: 'gtceu:luv_conveyor_module', + B: 'gtceu:small_hsss_gear', + C: 'gtceu:luv_machine_hull', + D: '#tfg:default_chests' + }).id('gtceu:shaped/passthrough_hatch_item_luv') + + event.recipes.shaped('gtceu:zpm_item_passthrough_hatch', [ + ' A ', + 'BCB', + ' D ' + ], { + A: 'gtceu:zpm_conveyor_module', + B: 'gtceu:small_osmiridium_gear', + C: 'gtceu:zpm_machine_hull', + D: '#tfg:default_chests' + }).id('gtceu:shaped/passthrough_hatch_item_zpm') + + event.recipes.shaped('gtceu:uv_item_passthrough_hatch', [ + ' A ', + 'BCB', + ' D ' + ], { + A: 'gtceu:uv_conveyor_module', + B: 'gtceu:small_naquadah_alloy_gear', + C: 'gtceu:uv_machine_hull', + D: '#tfg:default_chests' + }).id('gtceu:shaped/passthrough_hatch_item_uv') + + event.recipes.shaped('gtceu:lv_fluid_passthrough_hatch', [ + ' A ', + 'BCB', + ' D ' + ], { + A: 'gtceu:lv_electric_pump', + B: 'gtceu:bronze_small_fluid_pipe', + C: 'gtceu:lv_machine_hull', + D: '#forge:glass' + }).id('gtceu:shaped/passthrough_hatch_fluid_lv') + + event.recipes.shaped('gtceu:mv_fluid_passthrough_hatch', [ + ' A ', + 'BCB', + ' D ' + ], { + A: 'gtceu:mv_electric_pump', + B: 'gtceu:steel_small_fluid_pipe', + C: 'gtceu:mv_machine_hull', + D: '#forge:glass' + }).id('gtceu:shaped/passthrough_hatch_fluid_mv') + + event.remove('gtceu:shaped/passthrough_hatch_fluid') + + event.recipes.shaped('gtceu:hv_fluid_passthrough_hatch', [ + ' A ', + 'BCB', + ' D ' + ], { + A: 'gtceu:hv_electric_pump', + B: 'gtceu:stainless_steel_small_fluid_pipe', + C: 'gtceu:hv_machine_hull', + D: 'gtceu:tempered_glass' + }).id('gtceu:shaped/passthrough_hatch_fluid_hv') + + event.recipes.shaped('gtceu:ev_fluid_passthrough_hatch', [ + ' A ', + 'BCB', + ' D ' + ], { + A: 'gtceu:ev_electric_pump', + B: 'gtceu:titanium_small_fluid_pipe', + C: 'gtceu:ev_machine_hull', + D: 'gtceu:tempered_glass' + }).id('gtceu:shaped/passthrough_hatch_fluid_ev') + + event.recipes.shaped('gtceu:iv_fluid_passthrough_hatch', [ + ' A ', + 'BCB', + ' D ' + ], { + A: 'gtceu:iv_electric_pump', + B: 'gtceu:tungsten_steel_small_fluid_pipe', + C: 'gtceu:iv_machine_hull', + D: 'gtceu:laminated_glass' + }).id('gtceu:shaped/passthrough_hatch_fluid_iv') + + event.recipes.shaped('gtceu:luv_fluid_passthrough_hatch', [ + ' A ', + 'BCB', + ' D ' + ], { + A: 'gtceu:luv_electric_pump', + B: 'gtceu:niobium_titanium_small_fluid_pipe', + C: 'gtceu:luv_machine_hull', + D: 'gtceu:laminated_glass' + }).id('gtceu:shaped/passthrough_hatch_fluid_luv') + + event.recipes.shaped('gtceu:zpm_fluid_passthrough_hatch', [ + ' A ', + 'BCB', + ' D ' + ], { + A: 'gtceu:zpm_electric_pump', + B: 'gtceu:polybenzimidazole_small_fluid_pipe', + C: 'gtceu:zpm_machine_hull', + D: 'gtceu:fusion_glass' + }).id('gtceu:shaped/passthrough_hatch_fluid_zpm') + + event.recipes.shaped('gtceu:uv_fluid_passthrough_hatch', [ + ' A ', + 'BCB', + ' D ' + ], { + A: 'gtceu:uv_electric_pump', + B: 'gtceu:naquadah_small_fluid_pipe', + C: 'gtceu:uv_machine_hull', + D: 'gtceu:fusion_glass' + }).id('gtceu:shaped/passthrough_hatch_fluid_uv') + + //#endregion + + //#region Long Distance Pipelines + + event.remove({ id: 'gtceu:assembler/long_distance_item_pipe' }) + event.recipes.gtceu.assembler('long_distance_item_pipe') + .itemInputs( + '1x gtceu:tin_large_item_pipe', + '4x #forge:plates/steel') + .inputFluids(Fluid.of('gtceu:soldering_alloy', 144 / 4)) + .itemOutputs('32x gtceu:long_distance_item_pipeline') + .circuit(2) + .duration(300) + .EUt(24) + + event.remove({ id: 'gtceu:assembler/long_distance_fluid_pipe' }) + event.recipes.gtceu.assembler('long_distance_fluid_pipe') + .itemInputs( + '1x gtceu:bronze_large_fluid_pipe', + '4x #forge:plates/steel') + .inputFluids(Fluid.of('gtceu:soldering_alloy', 144 / 4)) + .itemOutputs('32x gtceu:long_distance_fluid_pipeline') + .circuit(2) + .duration(300) + .EUt(24) + + //#endregion + + // ะšะพะฝั‚ั€ะพะปะปะตั€ ั‚ะตะฟะปะธั†ั‹ + event.shaped('gtceu:greenhouse', [ + 'ABA', + 'CDC', + 'BCB' + ], { + A: '#gtceu:circuits/mv', + B: 'gtceu:copper_single_cable', + C: '#gtceu:circuits/mv', + D: 'gtceu:solid_machine_casing' + }).id('tfg:shaped/greenhouse') + + // Drums + const DRUMS_AND_CRATES = [ + 'bismuth_bronze', + 'black_bronze' + ] + + DRUMS_AND_CRATES.forEach(material => { + event.shapeless(`gtceu:${material}_drum`, [`gtceu:${material}_drum`]).id(`tfg:shapeless/drum_nbt_${material}`) + + event.shaped(`gtceu:${material}_drum`, [ + ' A ', + 'BCB', + 'BCB' + ], { + A: '#forge:tools/hammers', + B: `#forge:plates/${material}`, + C: `#forge:rods/long/${material}` + }).id(`tfg:shaped/${material}_drum`) + + event.shaped(`gtceu:${material}_crate`, [ + 'CBC', + 'BAB', + 'CBC' + ], { + A: '#forge:tools/hammers', + B: `#forge:plates/${material}`, + C: `#forge:rods/long/${material}` + }).id(`tfg:shaped/${material}_crate`) + + event.recipes.gtceu.assembler(`gtceu:${material}_drum`) + .itemInputs(`4x #forge:plates/${material}`, `2x #forge:rods/long/${material}`) + .itemOutputs(`gtceu:${material}_drum`) + .duration(200) + .EUt(16) + .circuit(2) + + event.recipes.gtceu.assembler(`gtceu:${material}_crate`) + .itemInputs(`4x #forge:plates/${material}`, `4x #forge:rods/long/${material}`) + .itemOutputs(`gtceu:${material}_crate`) + .duration(200) + .EUt(16) + .circuit(1) + + event.recipes.gtceu.macerator(`gtceu:${material}_drum`) + .itemInputs(`gtceu:${material}_drum`) + .itemOutputs(`6x #forge:dusts/${material}`) + .duration(456) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + event.recipes.gtceu.macerator(`gtceu:${material}_crate`) + .itemInputs(`gtceu:${material}_crate`) + .itemOutputs(`8x #forge:dusts/${material}`) + .duration(608) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + event.recipes.gtceu.arc_furnace(`gtceu:${material}_drum`) + .itemInputs(`gtceu:${material}_drum`) + .itemOutputs(`6x #forge:ingots/${material}`) + .duration(456) + .EUt(30) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + + event.recipes.gtceu.arc_furnace(`gtceu:${material}_crate`) + .itemInputs(`gtceu:${material}_crate`) + .itemOutputs(`8x #forge:ingots/${material}`) + .duration(608) + .EUt(30) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + }) + +} \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/recipes.materials.js b/kubejs/server_scripts/gregtech/recipes.materials.js index 1b06f8800..7f72b3cc4 100644 --- a/kubejs/server_scripts/gregtech/recipes.materials.js +++ b/kubejs/server_scripts/gregtech/recipes.materials.js @@ -9,16 +9,10 @@ function registerGTCEUMetalRecipes(event) { const toolHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) if (toolHeadItem.isEmpty()) return - if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { - event.shapeless(toolItem, [ - '#forge:rods/wooden', - toolHeadItem - ]).id(`gtceu:shaped/${toolType.name}_${material.getName()}`) - } - else { - event.recipes.tfc.advanced_shapeless_crafting(TFC.itemStackProvider.of(toolItem).copyForgingBonus(), ['#forge:rods/wooden', toolHeadItem]) - .id(`gtceu:shaped/${toolType.name}_${material.getName()}`) - } + event.recipes.tfc.advanced_shapeless_crafting( + TFC.itemStackProvider.of(toolItem).copyForgingBonus().copyHeat(), + [toolHeadItem, '#forge:rods/wooden'], toolHeadItem) + .id(`gtceu:shaped/${toolType.name}_${material.getName()}`) processToolHead(headTagPrefix, extruderMold, cirucitMeta, material) } @@ -281,11 +275,17 @@ function registerGTCEUMetalRecipes(event) { const processPoorRawOre = (tagPrefix, material) => { const poorOreItem = ChemicalHelper.get(tagPrefix, material, 2) - const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) + const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, Math.max(material.getProperty(PropertyKey.ORE).getOreMultiplier() / 2.0, 1)) if (poorOreItem != null && crushedOreItem != null) { + event.recipes.tfc.quern(crushedOreItem, poorOreItem) .id(`tfg:quern/${material.getName()}_crushed_ore_from_poor_raw_ore`) + + // TODO: Remove when Greate fixes its chanced output bug + + event.shapeless(crushedOreItem, [poorOreItem, '#forge:tools/hammers']) + .id(`tfg:greate_workaround_crushed_${material.getName()}`) } } diff --git a/kubejs/server_scripts/gregtech/recipes.recycling.js b/kubejs/server_scripts/gregtech/recipes.recycling.js new file mode 100644 index 000000000..bb34d453d --- /dev/null +++ b/kubejs/server_scripts/gregtech/recipes.recycling.js @@ -0,0 +1,122 @@ +// priority: 0 + +function registerGTCEURecyclingRecipes(event) { + + // Tantalum Capacitor + event.recipes.gtceu.macerator('gtceu:macerator/recycling/tantulum_capacitor') + .itemInputs('gtceu:tantalum_capacitor') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Tantalum, 1), + ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Polyethylene, 1) + ) + .duration(GTMaterials.Tantalum.getMass() * 1) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('gtceu:arc_furnace/recycling/tantulum_capacitor') + .itemInputs('gtceu:tantalum_capacitor') + .itemOutputs( + ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Tantalum, 1), + ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Ash, 1) + ) + .duration(GTMaterials.Tantalum.getMass() * 1) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // Capacitor + event.recipes.gtceu.macerator('gtceu:macerator/recycling/capacitor') + .itemInputs('gtceu:capacitor') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Polyethylene, 1) + ) + .duration(GTMaterials.Polyethylene.getMass() * 1) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('gtceu:arc_furnace/recycling/capacitor') + .itemInputs('gtceu:capacitor') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Ash, 1) + ) + .duration(GTMaterials.Ash.getMass() * 1) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // Empty Tier I Capacitor + event.recipes.gtceu.macerator('gtceu:macerator/recycling/empty_tier_i_battery') + .itemInputs('gtceu:empty_tier_i_battery') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Ultimet, 6) + ) + .duration(GTMaterials.Ultimet.getMass() * 6) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('gtceu:arc_furnace/recycling/empty_tier_i_battery') + .itemInputs('gtceu:empty_tier_i_battery') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Ultimet, 6) + ) + .duration(GTMaterials.Ultimet.getMass() * 6) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.extractor('gtceu:extractor/recycling/empty_tier_i_battery') + .itemInputs('gtceu:empty_tier_i_battery') + .outputFluids(Fluid.of('gtceu:ultimet', 864)) + .duration(GTMaterials.Ultimet.getMass() * 6) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // Empty Tier II Capacitor + event.recipes.gtceu.macerator('gtceu:macerator/recycling/empty_tier_ii_battery') + .itemInputs('gtceu:empty_tier_ii_battery') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Ruridit, 6) + ) + .duration(GTMaterials.Ruridit.getMass() * 6) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('gtceu:arc_furnace/recycling/empty_tier_ii_battery') + .itemInputs('gtceu:empty_tier_ii_battery') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Ruridit, 6) + ) + .duration(GTMaterials.Ruridit.getMass() * 6) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.extractor('gtceu:extractor/recycling/empty_tier_ii_battery') + .itemInputs('gtceu:empty_tier_ii_battery') + .outputFluids(Fluid.of('gtceu:ruridit', 864)) + .duration(GTMaterials.Ruridit.getMass() * 6) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + // Empty Tier III Capacitor + event.recipes.gtceu.macerator('gtceu:macerator/recycling/empty_tier_iii_battery') + .itemInputs('gtceu:empty_tier_iii_battery') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Neutronium, 6) + ) + .duration(GTMaterials.Neutronium.getMass() * 6) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.arc_furnace('gtceu:arc_furnace/recycling/empty_tier_iii_battery') + .itemInputs('gtceu:empty_tier_iii_battery') + .itemOutputs( + ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Neutronium, 6) + ) + .duration(GTMaterials.Neutronium.getMass() * 6) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.extractor('gtceu:extractor/recycling/empty_tier_iii_battery') + .itemInputs('gtceu:empty_tier_iii_battery') + .outputFluids(Fluid.of('gtceu:neutronium', 864)) + .duration(GTMaterials.Neutronium.getMass() * 6) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) +} \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index da3844ec4..efeca1f05 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -583,5 +583,8 @@ function removeGTCEURecipes(event) { event.remove({ id: 'gtceu:assembler/treated_trapdoor_steel' }) event.remove({ id: 'gtceu:assembler/treated_door' }) event.remove({ id: 'gtceu:assembler/barrel' }) + event.remove({ id: 'gtceu:assembler/book_from_leather' }) + event.remove({ id: 'gtceu:assembler/name_tag' }) + event.remove({ id: 'gtceu:chemical_reactor/ghast_tear_separation' }) } diff --git a/kubejs/server_scripts/gregtech/recipes.tfcmetals.js b/kubejs/server_scripts/gregtech/recipes.tfcmetals.js new file mode 100644 index 000000000..84388d6bb --- /dev/null +++ b/kubejs/server_scripts/gregtech/recipes.tfcmetals.js @@ -0,0 +1,310 @@ +// priority: 0 + +function registerGTCEuTFCMetalsRecipes(event) +{ + //#region LV hull + + event.replaceInput('gtceu:shaped/lv_machine_hull', '#forge:plates/wrought_iron', '#forge:plates/red_steel') + + //#endregion + + //#region make colored steel a bit easier to compensate + + event.recipes.gtceu.arc_furnace('tfg:black_steel_dust_to_ingot') + .itemInputs('gtceu:black_steel_dust') + .itemOutputs('tfc:metal/ingot/black_steel') + .inputFluids(Fluid.of('gtceu:oxygen', 72)) + .duration(500) + .EUt(24) + + event.recipes.gtceu.arc_furnace('tfg:red_steel_dust_to_ingot') + .itemInputs('gtceu:red_steel_dust') + .itemOutputs('tfc:metal/ingot/red_steel') + .inputFluids(Fluid.of('gtceu:oxygen', 72)) + .duration(700) + .EUt(32) + + event.recipes.gtceu.arc_furnace('tfg:blue_steel_dust_to_ingot') + .itemInputs('gtceu:blue_steel_dust') + .itemOutputs('tfc:metal/ingot/blue_steel') + .inputFluids(Fluid.of('gtceu:oxygen', 72)) + .duration(700) + .EUt(32) + + //#endregion + + //#region add regular furnace recipes for other tfc alloys + + event.remove({ id: 'gtceu:electric_blast_furnace/blast_bismuth_bronze' }) + event.remove({ id: 'gtceu:electric_blast_furnace/blast_bismuth_bronze_gas' }) + event.remove({ id: 'gtceu:electric_blast_furnace/blast_black_bronze' }) + event.remove({ id: 'gtceu:electric_blast_furnace/blast_black_bronze_gas' }) + event.remove({ id: 'gtceu:vacuum_freezer/cool_hot_black_bronze_ingot' }) + event.remove({ id: 'gtceu:vacuum_freezer/black_bronze' }) + event.remove({ id: 'gtceu:electric_blast_furnace/blast_sterling_silver' }) + event.remove({ id: 'gtceu:electric_blast_furnace/blast_sterling_silver_gas' }) + event.remove({ id: 'gtceu:electric_blast_furnace/blast_rose_gold' }) + event.remove({ id: 'gtceu:electric_blast_furnace/blast_rose_gold_gas' }) + + event.smelting('gtceu:bismuth_bronze_ingot', 'gtceu:bismuth_bronze_dust') + event.smelting('gtceu:black_bronze_ingot', 'gtceu:black_bronze_dust') + event.smelting('gtceu:sterling_silver_ingot', 'gtceu:sterling_silver_dust') + event.smelting('gtceu:rose_gold_ingot', 'gtceu:rose_gold_dust') + + //#endregion + + // Add circuit to assembler recipe for redstone lamp. + // Avoids conflict with AE2 smart cables. + event.remove({ id: 'gtceu:assembler/redstone_lamp' }) + event.recipes.gtceu.assembler('redstone_lamp') + .itemInputs('4x #forge:dusts/redstone', '4x #forge:dusts/glowstone') + .itemOutputs('1x minecraft:redstone_lamp') + .circuit(1) + .duration(100) + .EUt(1) + + // Clear NBT on tanks with shapeless crafts. + const TANK_NAMES = [ + "lv_super", + "mv_super", + "hv_super", + "ev_super", + "iv_quantum", + "luv_quantum", + "zpm_quantum", + "uv_quantum", + "uhv_quantum", + ] + + TANK_NAMES.forEach(prefix => { + // Craft super tanks to remove their NBT data. + event.shapeless(`gtceu:${prefix}_tank`, [`gtceu:${prefix}_tank`]) + // Craft super chests to remove their NBT data. + event.shapeless(`gtceu:${prefix}_chest`, [`gtceu:${prefix}_chest`]) + }) + + // red alloy, because crucible always makes 4+1=5 + + event.remove({ id: 'gtceu:mixer/red_alloy' }) + event.recipes.gtceu.mixer('tfg:red_alloy_mixer') + .itemInputs('1x gtceu:copper_dust', '4x minecraft:redstone') + .itemOutputs('5x gtceu:red_alloy_dust') + .circuit(2) + .duration(100) + .EUt(7) + + event.remove({ id: 'gtceu:centrifuge/red_alloy_separation' }) + event.recipes.gtceu.centrifuge('tfg:red_alloy_separation') + .itemInputs('5x gtceu:red_alloy_dust') + .itemOutputs('1x gtceu:copper_dust', '4x minecraft:redstone') + .duration(900) + .EUt(30) + + event.remove({ id: 'gtceu:alloy_smelter/copper_dust_and_redstone_dust_into_red_alloy' }) + event.recipes.gtceu.alloy_smelter('tfg:copper_dust_and_redstone_dust_into_red_alloy') + .itemInputs('1x gtceu:copper_dust', '4x minecraft:redstone') + .itemOutputs('5x gtceu:red_alloy_ingot') + .duration(50) + .EUt(16) + + event.remove({ id: 'gtceu:alloy_smelter/annealed_copper_dust_and_redstone_dust_into_red_alloy' }) + event.recipes.gtceu.alloy_smelter('tfg:annealed_copper_dust_and_redstone_dust_into_red_alloy') + .itemInputs('1x gtceu:annealed_copper_dust', '4x minecraft:redstone') + .itemOutputs('5x gtceu:red_alloy_ingot') + .duration(50) + .EUt(16) + + event.remove({ id: 'gtceu:alloy_smelter/copper_ingot_and_redstone_dust_into_red_alloy' }) + event.recipes.gtceu.alloy_smelter('tfg:copper_ingot_and_redstone_dust_into_red_alloy') + .itemInputs('1x minecraft:copper_ingot', '4x minecraft:redstone') + .itemOutputs('5x gtceu:red_alloy_ingot') + .duration(50) + .EUt(16) + + event.remove({ id: 'gtceu:alloy_smelter/annealed_copper_ingot_and_redstone_dust_into_red_alloy' }) + event.recipes.gtceu.alloy_smelter('tfg:annealed_copper_ingot_and_redstone_dust_into_red_alloy') + .itemInputs('1x gtceu:annealed_copper_ingot', '4x minecraft:redstone') + .itemOutputs('5x gtceu:red_alloy_ingot') + .duration(50) + .EUt(16) + + // steam machines + + event.remove({ id: 'gtceu:arc_furnace/arc_hp_steam_forge_hammer' }) + event.recipes.gtceu.arc_furnace('tfg:arc_hp_steam_forge_hammer') + .itemInputs('1x gtceu:hp_steam_forge_hammer') + .itemOutputs('7x gtceu:wrought_iron_ingot', '2x gtceu:steel_ingot', '2x gtceu:tin_alloy_ingot', '1x #forge:ingots/black_steel') + .duration(3310) + .EUt(30) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + + event.remove({ id: 'gtceu:macerator/macerate_hp_steam_forge_hammer' }) + event.recipes.gtceu.macerator('tfg:macerate_hp_steam_forge_hammer') + .itemInputs('1x gtceu:hp_steam_forge_hammer') + .itemOutputs('7x gtceu:wrought_iron_dust', '2x gtceu:steel_dust', '2x gtceu:tin_alloy_dust', '12x gtceu:brick_dust', '1x #forge:dusts/black_steel') + .duration(3254) + .EUt(8) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + event.remove({ id: 'gtceu:arc_furnace/arc_hp_steam_extractor' }) + event.recipes.gtceu.arc_furnace('tfg:arc_hp_steam_extractor') + .itemInputs('1x gtceu:hp_steam_extractor') + .itemOutputs('7x gtceu:wrought_iron_ingot', '2x gtceu:steel_ingot', '2x gtceu:tin_alloy_ingot') + .duration(3310) + .EUt(30) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + + event.remove({ id: 'gtceu:macerator/macerate_hp_steam_extractor' }) + event.recipes.gtceu.macerator('tfg:macerate_hp_steam_extractor') + .itemInputs('1x gtceu:hp_steam_extractor') + .itemOutputs('7x gtceu:wrought_iron_dust', '2x gtceu:steel_dust', '2x gtceu:tin_alloy_dust', '12x gtceu:brick_dust') + .duration(3254) + .EUt(8) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + event.remove({ id: 'gtceu:arc_furnace/arc_hp_steam_macerator' }) + event.recipes.gtceu.arc_furnace('tfg:arc_hp_steam_macerator') + .itemInputs('1x gtceu:hp_steam_macerator') + .itemOutputs('7x gtceu:wrought_iron_ingot', '2x gtceu:steel_ingot', '1x #forge:ingots/black_steel', '1x gtceu:tin_alloy_ingot') + .duration(3310) + .EUt(30) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + + event.remove({ id: 'gtceu:macerator/macerate_hp_steam_macerator' }) + event.recipes.gtceu.macerator('tfg:macerate_hp_steam_macerator') + .itemInputs('1x gtceu:hp_steam_macerator') + .itemOutputs('7x gtceu:wrought_iron_dust', '2x gtceu:steel_dust', '1x #forge:dusts/black_steel', '1x gtceu:tin_alloy_dust', '12x gtceu:brick_dust') + .duration(3254) + .EUt(8) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + event.remove({ id: 'gtceu:arc_furnace/arc_hp_steam_compressor' }) + event.recipes.gtceu.arc_furnace('tfg:arc_hp_steam_compressor') + .itemInputs('1x gtceu:hp_steam_compressor') + .itemOutputs('8x gtceu:wrought_iron_ingot', '1x gtceu:steel_ingot', '2x gtceu:tin_alloy_ingot') + .duration(3310) + .EUt(30) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + + event.remove({ id: 'gtceu:macerator/macerate_hp_steam_compressor' }) + event.recipes.gtceu.macerator('tfg:macerate_hp_steam_compressor') + .itemInputs('1x gtceu:hp_steam_compressor') + .itemOutputs('8x gtceu:wrought_iron_dust', '1x gtceu:steel_dust', '2x gtceu:tin_alloy_dust', '12x gtceu:brick_dust') + .duration(3254) + .EUt(8) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + event.remove({ id: 'gtceu:arc_furnace/arc_hp_steam_furnace' }) + event.recipes.gtceu.arc_furnace('tfg:arc_hp_steam_furnace') + .itemInputs('1x gtceu:hp_steam_furnace') + .itemOutputs('7x gtceu:wrought_iron_ingot', '2x gtceu:tin_alloy_ingot', '1x gtceu:steel_ingot', '1x #forge:ingots/black_steel') + .duration(3310) + .EUt(30) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + + event.remove({ id: 'gtceu:macerator/macerate_hp_steam_furnace' }) + event.recipes.gtceu.macerator('tfg:macerate_hp_steam_furnace') + .itemInputs('1x gtceu:hp_steam_furnace') + .itemOutputs('7x gtceu:wrought_iron_dust', '2x gtceu:tin_alloy_dust', '1x gtceu:steel_dust', '1x #forge:dusts/black_steel', '12x gtceu:brick_dust') + .duration(3254) + .EUt(8) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + event.remove({ id: 'gtceu:arc_furnace/arc_hp_steam_alloy_smelter' }) + event.recipes.gtceu.arc_furnace('tfg:arc_hp_steam_alloy_smelter') + .itemInputs('1x gtceu:hp_steam_alloy_smelter') + .itemOutputs('7x gtceu:wrought_iron_ingot', '3x gtceu:steel_ingot', '1x gtceu:tin_alloy_ingot', '1x #forge:ingots/black_steel') + .duration(3310) + .EUt(30) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + + event.remove({ id: 'gtceu:macerator/macerate_hp_steam_alloy_smelter' }) + event.recipes.gtceu.macerator('tfg:macerate_hp_steam_alloy_smelter') + .itemInputs('1x gtceu:hp_steam_alloy_smelter') + .itemOutputs('7x gtceu:wrought_iron_dust', '3x gtceu:steel_dust', '1x gtceu:tin_alloy_dust', '1x #forge:dusts/black_steel', '12x gtceu:brick_dust') + .duration(3254) + .EUt(8) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + event.remove({ id: 'gtceu:arc_furnace/arc_hp_steam_rock_crusher' }) + event.recipes.gtceu.arc_furnace('tfg:arc_hp_steam_rock_crusher') + .itemInputs('1x gtceu:hp_steam_rock_crusher') + .itemOutputs('6x gtceu:wrought_iron_ingot', '2x gtceu:tin_alloy_ingot') + .duration(3310) + .EUt(30) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + + event.remove({ id: 'gtceu:macerator/macerate_hp_steam_rock_crusher' }) + event.recipes.gtceu.macerator('tfg:macerate_hp_steam_rock_crusher') + .itemInputs('1x gtceu:hp_steam_rock_crusher') + .itemOutputs('6x gtceu:wrought_iron_dust', '2x gtceu:tin_alloy_dust', '12x gtceu:brick_dust') + .duration(3254) + .EUt(8) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + event.remove({ id: 'gtceu:arc_furnace/arc_hp_steam_miner' }) + event.recipes.gtceu.arc_furnace('tfg:arc_hp_steam_miner') + .itemInputs('1x gtceu:hp_steam_miner') + .itemOutputs('7x gtceu:wrought_iron_ingot', '2x gtceu:tin_alloy_ingot', '1x #forge:ingots/steel') + .duration(3310) + .EUt(30) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + + event.remove({ id: 'gtceu:macerator/macerate_hp_steam_miner' }) + event.recipes.gtceu.macerator('tfg:macerate_hp_steam_miner') + .itemInputs('1x gtceu:hp_steam_miner') + .itemOutputs('7x gtceu:wrought_iron_dust', '2x gtceu:tin_alloy_dust', '1x #forge:dusts/steel', '12x gtceu:brick_dust') + .duration(3254) + .EUt(8) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + event.remove({ id: 'gtceu:arc_furnace/arc_hp_steam_solid_boiler' }) + event.recipes.gtceu.arc_furnace('tfg:arc_hp_steam_solid_boiler') + .itemInputs('1x gtceu:hp_steam_solid_boiler') + .itemOutputs('5x gtceu:wrought_iron_ingot', '4x #forge:ingots/steel', '2x gtceu:tin_alloy_ingot') + .duration(3310) + .EUt(30) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + + event.remove({ id: 'gtceu:macerator/macerate_hp_steam_solid_boiler' }) + event.recipes.gtceu.macerator('tfg:macerate_hp_steam_solid_boiler') + .itemInputs('1x gtceu:hp_steam_solid_boiler') + .itemOutputs('5x gtceu:wrought_iron_dust', '4x #forge:dusts/steel', '2x gtceu:tin_alloy_dust', '12x gtceu:brick_dust') + .duration(3254) + .EUt(8) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + event.remove({ id: 'gtceu:arc_furnace/arc_hp_steam_liquid_boiler' }) + event.recipes.gtceu.arc_furnace('tfg:arc_hp_steam_liquid_boiler') + .itemInputs('1x gtceu:hp_steam_liquid_boiler') + .itemOutputs('5x gtceu:wrought_iron_ingot', '4x #forge:ingots/steel', '2x gtceu:tin_alloy_ingot') + .duration(3310) + .EUt(30) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + + event.remove({ id: 'gtceu:macerator/macerate_hp_steam_liquid_boiler' }) + event.recipes.gtceu.macerator('tfg:macerate_hp_steam_liquid_boiler') + .itemInputs('1x gtceu:hp_steam_liquid_boiler') + .itemOutputs('5x gtceu:wrought_iron_dust', '4x #forge:dusts/steel', '2x gtceu:tin_alloy_dust', '12x gtceu:brick_dust') + .duration(3254) + .EUt(8) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + event.remove({ id: 'gtceu:arc_furnace/arc_hp_steam_solar_boiler' }) + event.recipes.gtceu.arc_furnace('tfg:arc_hp_steam_solar_boiler') + .itemInputs('1x gtceu:hp_steam_solar_boiler') + .itemOutputs('5x gtceu:wrought_iron_ingot', '4x #forge:ingots/silver', '2x gtceu:tin_alloy_ingot') + .duration(3310) + .EUt(30) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + + event.remove({ id: 'gtceu:macerator/macerate_hp_steam_solar_boiler' }) + event.recipes.gtceu.macerator('tfg:macerate_hp_steam_solar_boiler') + .itemInputs('1x gtceu:hp_steam_solar_boiler') + .itemOutputs('5x gtceu:wrought_iron_dust', '4x #forge:dusts/silver', '2x gtceu:tin_alloy_dust', '12x gtceu:brick_dust') + .duration(3254) + .EUt(8) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + //#endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index f15a867fa..09d0b8039 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -57,6 +57,12 @@ const registerGTCEUItemTags = (event) => { { event.remove('ae2:p2p_attunements/fluid_p2p_tunnel', `gtceu:${dyeName}_dye_bucket`) }) + + // Piglin loved + event.add('minecraft:piglin_loved', 'gtceu:tiny_pyrite_dust') + event.add('minecraft:piglin_loved', 'gtceu:poor_raw_pyrite') + event.add('minecraft:piglin_loved', 'gtceu:raw_pyrite') + event.add('minecraft:piglin_loved', 'gtceu:rich_raw_pyrite') } const registerGTCEUBlockTags = (event) => { diff --git a/kubejs/server_scripts/gregtech/utility.js b/kubejs/server_scripts/gregtech/utility.js index 8e3c2da48..6962606ec 100644 --- a/kubejs/server_scripts/gregtech/utility.js +++ b/kubejs/server_scripts/gregtech/utility.js @@ -59,42 +59,106 @@ const getFillingNBT = (material, amount) => { } function generatePlatedBlockRecipe(event, material) { + // firmaciv plated blocks don't have this property + let tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) + let outputMaterial = (tfcProperty == null || tfcProperty.getOutputMaterial() == null) ? material : tfcProperty.getOutputMaterial() + let plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1); let platedBlock = ChemicalHelper.get(TFGTagPrefix.blockPlated, material, 1); let platedSlab = ChemicalHelper.get(TFGTagPrefix.slabPlated, material, 1); let platedStair = ChemicalHelper.get(TFGTagPrefix.stairPlated, material, 1); + let tfcMetalName = material.getName(); + if (tfcMetalName == "iron") + tfcMetalName = "cast_iron"; + event.recipes.create.item_application(platedBlock, ['#forge:stone_bricks', plateItem]) .id(`tfg:item_application/${material.getName()}_plated_block`) event.recipes.createDeploying(platedBlock, ['#forge:stone_bricks', plateItem]) .id(`tfg:deploying/${material.getName()}_plated_block`) - event.recipes.gtceu.assembler(`tfg:assembler/${material.getName()}_plated_block`) + event.recipes.gtceu.assembler(`tfg:${material.getName()}_plated_block`) .itemInputs('#forge:stone_bricks', plateItem) .itemOutputs(platedBlock) .circuit(10) .duration(50) - .EUt(4) + .EUt(GTValues.VA[GTValues.ULV]) + + if (tfcProperty != null) { + event.recipes.tfc.heating(platedBlock, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${tfcMetalName}_block`) + } + event.recipes.gtceu.macerator(`tfg:${material.getName()}_plated_block`) + .itemInputs(platedBlock) + .itemOutputs(ChemicalHelper.get(TagPrefix.dust, material, 1), 'gtceu:stone_dust') + .duration(material.getMass()) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + event.recipes.gtceu.arc_furnace(`tfg:${material.getName()}_plated_block`) + .itemInputs(platedBlock) + .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, material, 1), 'gtceu:ash_dust') + .duration(material.getMass()) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + event.recipes.create.item_application(platedSlab, ['#tfg:brick_slabs', plateItem]) .id(`tfg:item_application/${material.getName()}_plated_slab`) event.recipes.createDeploying(platedSlab, ['#tfg:brick_slabs', plateItem]) .id(`tfg:deploying/${material.getName()}_plated_slab`) - event.recipes.gtceu.assembler(`tfg:assembler/${material.getName()}_plated_slab`) + event.recipes.gtceu.assembler(`tfg:${material.getName()}_plated_slab`) .itemInputs('#tfg:brick_slabs', plateItem) .itemOutputs(platedSlab) .circuit(10) .duration(50) - .EUt(4) + .EUt(GTValues.VA[GTValues.ULV]) + + if (tfcProperty != null) { + event.recipes.tfc.heating(platedSlab, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${tfcMetalName}_block_slab`) + } + event.recipes.gtceu.macerator(`tfg:${material.getName()}_plated_slab`) + .itemInputs(platedSlab) + .itemOutputs(ChemicalHelper.get(TagPrefix.dust, material, 1), 'gtceu:small_stone_dust') + .duration(material.getMass()) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + event.recipes.gtceu.arc_furnace(`tfg:${material.getName()}_plated_slab`) + .itemInputs(platedSlab) + .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, material, 1), 'gtceu:small_ash_dust') + .duration(material.getMass()) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) + event.recipes.create.item_application(platedStair, ['#tfg:brick_stairs', plateItem]) .id(`tfg:item_application/${material.getName()}_plated_stair`) event.recipes.createDeploying(platedStair, ['#tfg:brick_stairs', plateItem]) .id(`tfg:deploying/${material.getName()}_plated_stair`) - event.recipes.gtceu.assembler(`tfg:assembler/${material.getName()}_plated_stair`) + event.recipes.gtceu.assembler(`tfg:${material.getName()}_plated_stair`) .itemInputs('#tfg:brick_stairs', plateItem) .itemOutputs(platedStair) .circuit(10) .duration(50) - .EUt(4) + .EUt(GTValues.VA[GTValues.ULV]) + + if (tfcProperty != null) { + event.recipes.tfc.heating(platedStair, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${tfcMetalName}_block_stairs`) + } + event.recipes.gtceu.macerator(`tfg:${material.getName()}_plated_stair`) + .itemInputs(platedStair) + .itemOutputs(ChemicalHelper.get(TagPrefix.dust, material, 1), 'gtceu:stone_dust') + .duration(material.getMass()) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + event.recipes.gtceu.arc_furnace(`tfg:${material.getName()}_plated_stair`) + .itemInputs(platedStair) + .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, material, 1), 'gtceu:ash_dust') + .duration(material.getMass()) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .EUt(GTValues.VA[GTValues.LV]) } \ No newline at end of file diff --git a/kubejs/server_scripts/handglider/recipes.js b/kubejs/server_scripts/handglider/recipes.js index f8713697e..fd10175b8 100644 --- a/kubejs/server_scripts/handglider/recipes.js +++ b/kubejs/server_scripts/handglider/recipes.js @@ -1,16 +1,28 @@ // priority: 0 - + const registerHandGliderRecipes = (event) => { - + + event.remove({id: 'hangglider:glider_framework'}) + // Glider Framework event.shaped('hangglider:glider_framework', [ 'AAA', 'BCB', 'DCD' ], { - A: '#forge:rods/wrought_iron', - B: '#forge:rods/long/wrought_iron', + A: ChemicalHelper.get(TagPrefix.rod, GTMaterials.WroughtIron, 1), + B: ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.WroughtIron, 1), C: '#forge:screws', D: '#forge:rings' - }).id('hangglider:glider_framework') + }).id('hangglider:shaped/glider_framework') + + event.shaped('hangglider:glider_wing', [ + ' C', + ' BA', + 'BAA' + ], { + A: '#forge:cloth', + B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.WroughtIron, 1), + C: '#forge:rings' + }).id('hangglider:shaped/glider_wing') } \ No newline at end of file diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 0229542f2..5ea97b213 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -132,6 +132,8 @@ TFCEvents.data(event => { LootJS.modifiers((event) => { registerGTCEULoots(event) registerLootrLoots(event) + registerPrimitiveCreatesLoots(event) + registerTFCLoots(event) }); /** @@ -148,7 +150,6 @@ GTCEuServerEvents.oreVeins(event => { */ ServerEvents.recipes(event => { registerAdvancedPeripheralsRecipes(event) - registerAdvancedPeripheralsRecyclingRecipes(event) registerAlekishipsRecipes(event) registerAE2Recipes(event) registerAFCRecipes(event) @@ -162,9 +163,7 @@ ServerEvents.recipes(event => { registerChiselAndBitsRecipes(event) registerComfortsRecipes(event); registerComputerCraftRecipes(event) - registerComputerCraftRecyclingRecipes(event) registerCccBridgeRecipes(event) - registerCccBridgeRecyclingRecipes(event) registerConstructionwandRecipes(event) registerCreateRecipes(event) registerCreateAdditionsRecipes(event) @@ -173,6 +172,7 @@ ServerEvents.recipes(event => { registerCreateHorsePowerBlockRecipes(event) registerDiggerHelmetRecipes(event) registerDomumOrnamentumRecipes(event) + registerEndermanOverhaulRecipes(event) registerEveryCompatRecipes(event) registerExtendedAE2Recipes(event) registerExposureRecipes(event) @@ -183,7 +183,7 @@ ServerEvents.recipes(event => { registerFTBQuestsRecipes(event) registerGrapplingHookRecipes(event); registerGreateRecipes(event) - registerGTCEURecipes(event) + registerGTCEURecipes(event); registerHandGliderRecipes(event) registerHotOrNotRecipes(event) registerImmersiveAircraftRecipes(event) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 3f5a24b2e..063b83570 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -164,7 +164,7 @@ const registerMinecraftRecipes = (event) => { event.recipes.gtceu.centrifuge('sugar_from_sugarcane') .itemInputs('tfc:food/sugarcane') .inputFluids(Fluid.of('minecraft:water', 600)) - .itemOutputs('minecraft:sugar') + .itemOutputs('minecraft:sugar', 'gtceu:plant_ball') .duration(800) .EUt(6) @@ -227,6 +227,15 @@ const registerMinecraftRecipes = (event) => { .resultItem('minecraft:sponge') .id('tfg:minecraft/heating/sponge') + event.recipes.gtceu.chemical_reactor('minecraft:gtceu/chemical_reactor/sponge') + .itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.SodiumBisulfate, 1)) + .inputFluids(Fluid.of('gtceu:polyethylene', 144), Fluid.of('minecraft:water', 250)) + .itemOutputs('2x minecraft:sponge') + .outputFluids(Fluid.of('gtceu:sodium_persulfate', 35)) + .duration(80) + .EUt(GTValues.VA[GTValues.LV]) + + //#endregion //#region ะ’ั‹ั…ะพะด: ะขะพะฝะธั€ะพะฒะฐะฝะฝะพะต ัั‚ะตะบะปะพ @@ -252,8 +261,27 @@ const registerMinecraftRecipes = (event) => { //#region ะ’ั‹ั…ะพะด: ะšะฝะธะณะฐ event.shapeless('minecraft:book', [ - 'minecraft:paper', 'minecraft:paper', 'minecraft:paper', '#forge:leather' - ]).id('minecraft:book') + '#forge:paper', '#forge:paper', '#forge:paper', '#forge:leather', 'tfc:glue' + ]).id('minecraft:book_from_glue') + + event.shapeless('minecraft:book', [ + '#forge:paper', '#forge:paper', '#forge:paper', '#forge:leather', 'gtceu:sticky_resin' + ]).id('minecraft:book_from_sticky_resin') + + event.recipes.gtceu.assembler('tfg:assembler/book_from_leather') + .itemInputs('3x #forge:paper', '#forge:leather') + .itemOutputs('minecraft:book') + .inputFluids(Fluid.of('gtceu:glue', 50)) + .EUt(7).duration(30) + + //#endregion + + //#region + + event.recipes.gtceu.assembler('tfg:assembler/name_tag') + .itemInputs('5x #forge:string', '#forge:paper') + .itemOutputs('minecraft:name_tag') + .EUt(7).duration(100) //#endregion @@ -842,8 +870,19 @@ const registerMinecraftRecipes = (event) => { event.shapeless('minecraft:redstone_torch', ['#forge:rods/wooden', 'minecraft:redstone']) .id('tfg:shapeless/redstone_torch') + event.shapeless('minecraft:lever', ['#forge:rods/wooden', 'minecraft:redstone', '#forge:cobblestone']) + .id('tfg:shapeless/lever') + generateCutterRecipe(event, '#forge:double_plates/wrought_iron', 'minecraft:iron_door', 400, GTValues.VA[GTValues.LV], 'iron_door') + event.shaped('4x minecraft:ladder', [ + 'A A', + 'AAA', + 'A A' + ], { + A: '#forge:rods/wooden' + }).id('gtceu:shaped/ladder') + // #endregion // #region Calcite @@ -861,4 +900,36 @@ const registerMinecraftRecipes = (event) => { ).id('tfg:shapeless/calcite_from_rich_raw') // #endregion + + //#region ะšะพะถะฐ ะธะท ะบะพะถะฐะฝั‹ั… ะฟั€ะตะดะผะตั‚ะพะฒ + event.recipes.gtceu.macerator('tfg:leather_from_boots') + .itemInputs('minecraft:leather_boots') + .itemOutputs('minecraft:leather') + .EUt(7).duration(80) + + event.recipes.gtceu.macerator('tfg:leather_from_saddle') + .itemInputs('minecraft:saddle') + .itemOutputs('minecraft:leather') + .EUt(7).duration(80) + + event.recipes.gtceu.macerator('tfg:leather_from_horse_armor') + .itemInputs('minecraft:leather_horse_armor') + .itemOutputs('minecraft:leather') + .EUt(7).duration(80) + + event.recipes.gtceu.macerator('tfg:leather_from_helmet') + .itemInputs('minecraft:leather_helmet') + .itemOutputs('minecraft:leather') + .EUt(7).duration(80) + + event.recipes.gtceu.macerator('tfg:leather_from_leggings') + .itemInputs('minecraft:leather_leggings') + .itemOutputs('minecraft:leather') + .EUt(7).duration(80) + + event.recipes.gtceu.macerator('tfg:leather_from_chestplate') + .itemInputs('minecraft:leather_chestplate') + .itemOutputs('minecraft:leather') + .EUt(7).duration(80) + //#endregion } diff --git a/kubejs/server_scripts/minecraft/recipes.removes.js b/kubejs/server_scripts/minecraft/recipes.removes.js index a16efbff0..6f4752edc 100644 --- a/kubejs/server_scripts/minecraft/recipes.removes.js +++ b/kubejs/server_scripts/minecraft/recipes.removes.js @@ -911,6 +911,9 @@ function removeMinecraftRecipes(event) { event.remove({ id: 'minecraft:warped_hyphae' }) event.remove({ id: 'minecraft:stripped_crimson_hyphae' }) event.remove({ id: 'minecraft:crimson_hyphae' }) + + event.remove({ id: 'minecraft:arrow' }) + event.remove({ output: 'minecraft:tipped_arrow' }) //#endregion diff --git a/kubejs/server_scripts/minecraft/tags.js b/kubejs/server_scripts/minecraft/tags.js index 07d08f575..298790c65 100644 --- a/kubejs/server_scripts/minecraft/tags.js +++ b/kubejs/server_scripts/minecraft/tags.js @@ -54,7 +54,6 @@ const registerMinecraftItemTags = (event) => { event.add('tfc:rock/raw', 'minecraft:blackstone') event.add('tfc:rock/raw', 'minecraft:dripstone_block') - event.add('forge:cloth', 'minecraft:phantom_membrane') event.add('tfc:sewing_dark_cloth', 'minecraft:phantom_membrane') event.remove('forge:gems', 'minecraft:charcoal') diff --git a/kubejs/server_scripts/primitive_creatures/loot.js b/kubejs/server_scripts/primitive_creatures/loot.js new file mode 100644 index 000000000..8693dd669 --- /dev/null +++ b/kubejs/server_scripts/primitive_creatures/loot.js @@ -0,0 +1,10 @@ +// priority: 0 + +function registerPrimitiveCreatesLoots(event) { + + event.addEntityLootModifier('kaolinclayze:tfc') + .addWeightedLoot([7,15], ['tfc:kaolin_clay', 'minecraft:clay_ball']) + + event.addEntityLootModifier('kaolinclayze:golem_2') + .addWeightedLoot([7,15], ['gtceu:poor_raw_graphite', 'gtceu:raw_graphite', 'gtceu:rich_raw_graphite']) +} \ No newline at end of file diff --git a/kubejs/server_scripts/railways/gpedia_locometal_integration.js b/kubejs/server_scripts/railways/gpedia_locometal_integration.js index 4548a0a31..6ccac5a9f 100644 --- a/kubejs/server_scripts/railways/gpedia_locometal_integration.js +++ b/kubejs/server_scripts/railways/gpedia_locometal_integration.js @@ -30,6 +30,7 @@ const railwaysLocometalIntegration = (event) => { .itemOutputs(Item.of(`railways:${locometal}`)) .duration(20) .EUt(24) + .category(GTRecipeCategories.CHEM_DYES) } event.recipes.create.item_application(`railways:iron_wrapped_locometal`, [`#railways:palettes/cycle_groups/base`, '#forge:plates/wrought_iron']); @@ -41,19 +42,50 @@ const railwaysLocometalIntegration = (event) => { .inputFluids(Fluid.of(`gtceu:chlorine`, 18)) .itemOutputs(`railways:brass_wrapped_locometal`) .duration(20) - .EUt(24); + .EUt(24) + .category(GTRecipeCategories.CHEM_DYES); event.recipes.gtceu.chemical_bath(`gpedia:undying/copper_wrapped_locometal`) .itemInputs('#railways:palettes/dye_groups/copper_wrapped_slashed') .inputFluids(Fluid.of(`gtceu:chlorine`, 18)) .itemOutputs(`railways:copper_wrapped_locometal`) .duration(20) - .EUt(24); + .EUt(24) + .category(GTRecipeCategories.CHEM_DYES); event.recipes.gtceu.chemical_bath(`gpedia:undying/iron_wrapped_locometal`) .itemInputs('#railways:palettes/dye_groups/iron_wrapped_slashed') .inputFluids(Fluid.of(`gtceu:chlorine`, 18)) .itemOutputs(`railways:iron_wrapped_locometal`) .duration(20) .EUt(24) + .category(GTRecipeCategories.CHEM_DYES) + event.recipes.gtceu.chemical_bath('tfg:undying/boiler') + .itemInputs('#railways:palettes/dye_groups/boiler') + .inputFluids(Fluid.of(`gtceu:chlorine`, 72)) + .itemOutputs(`railways:locometal_boiler`) + .duration(20) + .EUt(24) + .category(GTRecipeCategories.CHEM_DYES) + event.recipes.gtceu.chemical_bath(`tfg:undying/brass_wrapped_boiler`) + .itemInputs('#railways:palettes/dye_groups/brass_wrapped_boiler') + .inputFluids(Fluid.of(`gtceu:chlorine`, 72)) + .itemOutputs(`railways:brass_wrapped_locometal_boiler`) + .duration(20) + .EUt(24) + .category(GTRecipeCategories.CHEM_DYES) + event.recipes.gtceu.chemical_bath(`tfg:undying/copper_wrapped_boiler`) + .itemInputs('#railways:palettes/dye_groups/copper_wrapped_boiler') + .inputFluids(Fluid.of(`gtceu:chlorine`, 72)) + .itemOutputs(`railways:copper_wrapped_locometal_boiler`) + .duration(20) + .EUt(24) + .category(GTRecipeCategories.CHEM_DYES) + event.recipes.gtceu.chemical_bath(`tfg:undying/iron_wrapped_boiler`) + .itemInputs('#railways:palettes/dye_groups/iron_wrapped_boiler') + .inputFluids(Fluid.of(`gtceu:chlorine`, 72)) + .itemOutputs(`railways:iron_wrapped_locometal_boiler`) + .duration(20) + .EUt(24) + .category(GTRecipeCategories.CHEM_DYES) global.MINECRAFT_DYE_NAMES.forEach(dye => { for (var locometal in locometalBase) { @@ -62,35 +94,93 @@ const railwaysLocometalIntegration = (event) => { .inputFluids(Fluid.of(`tfc:${dye}_dye`, 18)) .itemOutputs(Item.of(`railways:${dye}_${locometal}`)) .duration(20) - .EUt(24); - event.shapeless( - Item.of(`railways:${dye}_${locometal}`, 8), - [ - Item.of(locometalDyeGroups[`${locometal}`], 8), - `1x #forge:dyes/${dye}_dye` - ] - ) + .EUt(24) + .category(GTRecipeCategories.CHEM_DYES); }; event.recipes.create.item_application(`railways:${dye}_iron_wrapped_locometal`, [`#railways:palettes/cycle_groups/${dye}`, '#forge:plates/wrought_iron']); event.recipes.create.item_application(`railways:${dye}_copper_wrapped_locometal`, [`#railways:palettes/cycle_groups/${dye}`, '#forge:plates/copper']); event.recipes.create.item_application(`railways:${dye}_brass_wrapped_locometal`, [`#railways:palettes/cycle_groups/${dye}`, '#forge:plates/brass']); + event.recipes.gtceu.chemical_bath(`gpedia:brass_locometal_bathing/${dye}`) .itemInputs('#railways:palettes/dye_groups/brass_wrapped_slashed') .inputFluids(Fluid.of(`tfc:${dye}_dye`, 18)) .itemOutputs(`railways:${dye}_brass_wrapped_locometal`) .duration(20) - .EUt(24); + .EUt(24) + .category(GTRecipeCategories.CHEM_DYES); event.recipes.gtceu.chemical_bath(`gpedia:copper_locometal_bathing/${dye}`) .itemInputs('#railways:palettes/dye_groups/copper_wrapped_slashed') .inputFluids(Fluid.of(`tfc:${dye}_dye`, 18)) .itemOutputs(`railways:${dye}_copper_wrapped_locometal`) .duration(20) - .EUt(24); + .EUt(24) + .category(GTRecipeCategories.CHEM_DYES); event.recipes.gtceu.chemical_bath(`gpedia:locometal_bathing/${dye}`) .itemInputs('#railways:palettes/dye_groups/iron_wrapped_slashed') .inputFluids(Fluid.of(`tfc:${dye}_dye`, 18)) .itemOutputs(`railways:${dye}_iron_wrapped_locometal`) .duration(20) - .EUt(24); + .EUt(24) + .category(GTRecipeCategories.CHEM_DYES); + event.recipes.gtceu.chemical_bath(`tfg:railways/locometal_boiler/color/${dye}`) + .itemInputs('#railways:palettes/dye_groups/boiler') + .inputFluids(Fluid.of(`tfc:${dye}_dye`, 72)) + .itemOutputs(`railways:${dye}_locometal_boiler`) + .duration(300) + .EUt(4) + .category(GTRecipeCategories.CHEM_DYES) + event.recipes.gtceu.chemical_bath(`tfg:railways/brass_wrapped_locometal_boiler/color/${dye}`) + .itemInputs('#railways:palettes/dye_groups/brass_wrapped_boiler') + .inputFluids(Fluid.of(`tfc:${dye}_dye`, 72)) + .itemOutputs(`railways:${dye}_brass_wrapped_locometal_boiler`) + .duration(300) + .EUt(4) + .category(GTRecipeCategories.CHEM_DYES) + event.recipes.gtceu.chemical_bath(`tfg:railways/copper_wrapped_locometal_boiler/color/${dye}`) + .itemInputs('#railways:palettes/dye_groups/copper_wrapped_boiler') + .inputFluids(Fluid.of(`tfc:${dye}_dye`, 72)) + .itemOutputs(`railways:${dye}_copper_wrapped_locometal_boiler`) + .duration(300) + .EUt(4) + .category(GTRecipeCategories.CHEM_DYES) + event.recipes.gtceu.chemical_bath(`tfg:railways/iron_wrapped_locometal_boiler/color/${dye}`) + .itemInputs('#railways:palettes/dye_groups/iron_wrapped_boiler') + .inputFluids(Fluid.of(`tfc:${dye}_dye`, 72)) + .itemOutputs(`railways:${dye}_iron_wrapped_locometal_boiler`) + .duration(300) + .EUt(4) + .category(GTRecipeCategories.CHEM_DYES) }) + + // Locometal Boiler + event.recipes.gtceu.assembler(`tfg:railways/locometal_boiler`) + .itemInputs('#railways:palettes/cycle_groups/base', `create:fluid_tank`) + .circuit(1) + .itemOutputs(`railways:locometal_boiler`) + .duration(200) + .EUt(28) + + // Brass Wrapped Locometal Boiler + event.recipes.gtceu.assembler(`tfg:railways/brass_wrapped_locometal_boiler`) + .itemInputs(`railways:brass_wrapped_locometal`, `create:fluid_tank`) + .circuit(1) + .itemOutputs(`railways:brass_wrapped_locometal_boiler`) + .duration(200) + .EUt(28) + + // Copper Wrapped Locometal Boiler + event.recipes.gtceu.assembler(`tfg:railways/copper_wrapped_locometal_boiler`) + .itemInputs(`railways:copper_wrapped_locometal`, `create:fluid_tank`) + .circuit(1) + .itemOutputs(`railways:copper_wrapped_locometal_boiler`) + .duration(200) + .EUt(28) + + // Iron Wrapped Locometal Boiler + event.recipes.gtceu.assembler(`tfg:railways/iron_wrapped_locometal_boiler`) + .itemInputs(`railways:iron_wrapped_locometal`, `create:fluid_tank`) + .circuit(1) + .itemOutputs(`railways:iron_wrapped_locometal_boiler`) + .duration(200) + .EUt(28) } \ No newline at end of file diff --git a/kubejs/server_scripts/railways/recipes.js b/kubejs/server_scripts/railways/recipes.js index ba3035089..55924e895 100644 --- a/kubejs/server_scripts/railways/recipes.js +++ b/kubejs/server_scripts/railways/recipes.js @@ -47,6 +47,44 @@ const registerRailWaysRecipes = (event) => { .duration(200) .EUt(28) + //#region Couplers and Buffers + event.recipes.gtceu.assembler(`tfg:railways/screwlink_coupler`) + .itemInputs(`minecraft:tripwire_hook`, `#forge:plates/steel`, '#forge:screws/steel') + .circuit(1) + .itemOutputs(`railways:screwlink_coupler`) + .duration(200) + .EUt(28) + + event.recipes.gtceu.assembler(`tfg:railways/copycat_headstock_screwlink_coupler`) + .itemInputs(`railways:screwlink_coupler`, `create:copycat_panel`) + .circuit(1) + .itemOutputs(`railways:copycat_headstock_screwlink_coupler`) + .duration(200) + .EUt(28) + + event.recipes.gtceu.assembler(`tfg:railways/buffer`) + .itemInputs(`6x #forge:rods/long/steel`, `2x railways:small_buffer`) + .circuit(1) + .itemOutputs(`railways:buffer`) + .duration(200) + .EUt(28) + + event.recipes.gtceu.assembler(`tfg:railways/small_buffer`) + .itemInputs(`railways:screwlink_coupler`, `#forge:ingots/steel`) + .circuit(1) + .itemOutputs(`railways:small_buffer`) + .duration(200) + .EUt(28) + + event.recipes.gtceu.assembler(`tfg:railways/big_buffer`) + .itemInputs(`railways:small_buffer`, `#forge:ingots/steel`) + .circuit(1) + .itemOutputs(`railways:big_buffer`) + .duration(200) + .EUt(28) + + //#endregion + // ะŸะตั€ะตะบะปัŽั‡ะฐั‚ะตะปัŒ ะฟัƒั‚ะธ ะฟะพะตะทะดะฐ ะธะท ะฐะฝะดะตะทะธั‚ะฐ event.shaped('railways:track_switch_andesite', [ 'BAB', diff --git a/kubejs/server_scripts/tfc/data.js b/kubejs/server_scripts/tfc/data.js index ca249ec15..24b811262 100644 --- a/kubejs/server_scripts/tfc/data.js +++ b/kubejs/server_scripts/tfc/data.js @@ -177,6 +177,7 @@ const registerTFCFertilizers = (event) => { //#region registerTFCKnappingTypes const registerTFCKnappingTypes = (event) => { + event.knappingType('minecraft:flint', 1, 1, 'tfc:item.knapping.stone', true, false, true, 'minecraft:flint', 'tfg:flint') // event.knappingType('gtceu:rubber_plate', 1, 5, 'tfc:item.knapping.leather', true, false, true, 'gtceu:rubber_plate', 'tfg:rubber') // event.knappingType('gtceu:styrene_butadiene_rubber_plate', 1, 5, 'tfc:item.knapping.leather', true, false, true, 'gtceu:styrene_butadiene_rubber_plate', 'tfg:styrene_butadiene_rubber_plate') // event.knappingType('gtceu:silicone_rubber_plate', 1, 5, 'tfc:item.knapping.leather', true, false, true, 'gtceu:silicone_rubber_plate', 'tfg:silicone_rubber_plate') @@ -198,14 +199,8 @@ const registerTFCItemSize = (event) => { event.itemSize('tfg:decorative_vase', 'normal', 'medium', 'decorative_vase') event.itemSize('tfg:decorative_vase/unfired', 'normal', 'medium', 'decorative_vase/unfired') - event.itemSize('man_of_many_planes:scarlet_biplane', 'huge', 'very_heavy') - event.itemSize('man_of_many_planes:economy_plane', 'huge', 'very_heavy') - event.itemSize('immersive_aircraft:airship', 'huge', 'very_heavy') - event.itemSize('immersive_aircraft:cargo_airship', 'huge', 'very_heavy') - event.itemSize('immersive_aircraft:warship', 'huge', 'very_heavy') - event.itemSize('immersive_aircraft:biplane', 'huge', 'very_heavy') - event.itemSize('immersive_aircraft:gyrodyne', 'huge', 'very_heavy') - event.itemSize('immersive_aircraft:quadrocopter', 'very_large', 'very_heavy') + event.itemSize('#tfc:ore_pieces', 'very_small', 'very_light', 'tfc_ores') + } //#endregion diff --git a/kubejs/server_scripts/tfc/loot.js b/kubejs/server_scripts/tfc/loot.js new file mode 100644 index 000000000..8e27b403d --- /dev/null +++ b/kubejs/server_scripts/tfc/loot.js @@ -0,0 +1,61 @@ +// priority: 0 + +function registerTFCLoots(event) +{ + event.addEntityLootModifier('tfc:black_bear') + .addWeightedLoot([8,12], ['tfc:food/bear']) + + event.addEntityLootModifier('tfc:grizzly_bear') + .addWeightedLoot([10,16], ['tfc:food/bear']) + + event.addEntityLootModifier('tfc:polar_bear') + .addWeightedLoot([14,20], ['tfc:food/bear']) + .addWeightedLoot([2,5], ['tfc:blubber']) + + event.addEntityLootModifier('tfc:cougar') + .addWeightedLoot([6,10], ['tfc:food/gran_feline']) + + event.addEntityLootModifier('tfc:panther') + .addWeightedLoot([6,10], ['tfc:food/gran_feline']) + + event.addEntityLootModifier('tfc:sabertooth') + .addWeightedLoot([9,14], ['tfc:food/gran_feline']) + + event.addEntityLootModifier('tfc:lion') + .addWeightedLoot([9,14], ['tfc:food/gran_feline']) + + event.addEntityLootModifier('tfc:tiger') + .addWeightedLoot([9,14], ['tfc:food/gran_feline']) + + event.addEntityLootModifier('tfc:ocelot') + .addWeightedLoot([2,5], ['tfc:food/gran_feline']) + + event.addEntityLootModifier('tfc:cat') + .addWeightedLoot([2,5], ['tfc:food/gran_feline']) + + event.addEntityLootModifier('tfc:sabertooth') + .addWeightedLoot([9,14], ['tfc:food/gran_feline']) + + event.addEntityLootModifier('tfc:dog') + .addWeightedLoot([5,9], ['tfc:food/wolf']) + + event.addEntityLootModifier('tfc:wolf') + .addWeightedLoot([5,9], ['tfc:food/wolf']) + + event.addEntityLootModifier('tfc:direwolf') + .addWeightedLoot([10,15], ['tfc:food/wolf']) + + event.addEntityLootModifier('tfc:wolf') + .addWeightedLoot([5,9], ['tfc:food/wolf']) + + event.addEntityLootModifier('tfc:hyena') + .addWeightedLoot([5,9], ['tfc:food/hyena']) + + event.addEntityLootModifier('tfc:fox') + .addWeightedLoot([5,9], ['tfc:food/fox']) + + + event.addEntityLootModifier('tfc:crocodile') + .addWeightedLoot([5,10], ['tfc:food/bluegill', 'tfc:food/crappie', 'tfc:food/lake_trout', 'tfc:food/rainbow_trout', 'tfc:food/frog_legs']) + .addSequenceLoot(LootEntry.of('tfc:metal/fish_hook/copper').when(c => c.randomChance(0.2))) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index c54793e3b..4e560b4ff 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -161,12 +161,15 @@ const registerTFCRecipes = (event) => { .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) // ะขั‹ะบะฒะฐ -> ะšัƒัะพั‡ะบะธ ั‚ั‹ะบะฒั‹ - event.recipes.minecraft.crafting_shaped('5x tfc:food/pumpkin_chunks', [ - 'AB' - ], { - A: '#tfc:knives', - B: 'tfc:pumpkin' - }) + event.recipes.tfc.advanced_shapeless_crafting( + TFC.itemStackProvider.of('5x tfc:food/pumpkin_chunks').copyFood(), + [TFC.ingredient.notRotten('tfc:pumpkin'), '#forge:tools/hammers'], 'tfc:pumpkin') + .id(`tfc:crafting/pumpkin_chunks_hammer`) + + event.recipes.tfc.advanced_shapeless_crafting( + TFC.itemStackProvider.of('5x tfc:food/pumpkin_chunks').copyFood(), + [TFC.ingredient.notRotten('tfc:pumpkin'), '#tfc:knives'], 'tfc:pumpkin') + .id(`tfc:crafting/pumpkin_chunks_knife`) // Lime event.smelting('tfc:powder/lime', 'tfc:powder/flux') @@ -177,8 +180,17 @@ const registerTFCRecipes = (event) => { .id('tfg:smelting/kaolinite_clay') // Fire Brick - //event.smelting('tfc:ceramic/fire_brick', 'gtceu:compressed_fireclay') - // .id('tfg:smelting/fireclay_brick') + event.recipes.gtceu.alloy_smelter('tfg:cheaper_fire_brick') + .itemInputs('#forge:dusts/graphite', 'tfc:kaolin_clay') + .itemOutputs('tfc:fire_clay') + .duration(600) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.alloy_smelter('tfg:oops_i_smelted_all_my_kaolin') + .itemInputs('5x minecraft:clay_ball', 'tfc:powder/kaolinite') + .itemOutputs('5x tfc:kaolin_clay') + .duration(600) + .EUt(GTValues.VA[GTValues.ULV]) // ะ’ั‹ะฟะฐั€ะธะฒะฐะฝะธะต ัะพะปะธ event.recipes.tfc.pot([], Fluid.of('tfc:salt_water', 625), 300, 100) diff --git a/kubejs/server_scripts/tfc/recipes.machines.js b/kubejs/server_scripts/tfc/recipes.machines.js index 577f57db4..c8b943e01 100644 --- a/kubejs/server_scripts/tfc/recipes.machines.js +++ b/kubejs/server_scripts/tfc/recipes.machines.js @@ -279,6 +279,7 @@ function registerTFCMachineRecipes(event) { event.recipes.gtceu.fermenter(`tfg:fermenter/cream_from_${milk.id.replace(':', '_')}`) .inputFluids(Fluid.of(milk.id, 1000)) .outputFluids(Fluid.of('firmalife:cream')) + .circuit(6) .duration(1200) .EUt(24) }) @@ -332,13 +333,32 @@ function registerTFCMachineRecipes(event) { .EUt(2) // Empty Jar - event.recipes.gtceu.assembler(`tfg:tfc/glass_jar`) + event.recipes.gtceu.alloy_smelter('tfc:jar_alloying') .itemInputs('#tfc:glass_batches_tier_2') - .circuit(2) + .notConsumable('gtceu:cylinder_casting_mold') .itemOutputs('tfc:empty_jar') .duration(100) .EUt(2) + event.recipes.gtceu.fluid_solidifier('tfc:jar_solidification') + .inputFluids(Fluid.of('gtceu:glass', 144)) + .notConsumable('gtceu:cylinder_casting_mold') + .itemOutputs('tfc:empty_jar') + .duration(100) + .EUt(2) + + event.recipes.gtceu.extractor('tfc:jar_extraction') + .itemInputs('#tfc:jars') + .outputFluids(Fluid.of('gtceu:glass', 144)) + .duration(50) + .EUt(2) + + event.recipes.gtceu.extractor('tfc:glass_batch_extraction') + .itemInputs('#tfc:glass_batches') + .outputFluids(Fluid.of('gtceu:glass', 144)) + .duration(50) + .EUt(2) + // Wool Yarn event.recipes.gtceu.macerator('macerate_wool') .itemInputs('#minecraft:wool') diff --git a/kubejs/server_scripts/tfc/recipes.materials.js b/kubejs/server_scripts/tfc/recipes.materials.js index bf433b977..9ef8ab5f6 100644 --- a/kubejs/server_scripts/tfc/recipes.materials.js +++ b/kubejs/server_scripts/tfc/recipes.materials.js @@ -1056,7 +1056,7 @@ function registerTFCMaterialsRecipes(event) { // ะ”ะตะบั€ะฐั„ั‚ ะฑะปะพะบะฐ ะฒ ะถะธะดะบะพัั‚ัŒ event.recipes.tfc.heating(`#forge:storage_blocks/${material.getName()}`, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 1296)) - .id(`tfc:heating/metal/${material.getName()}_block`) + .id(`tfc:heating/metal/${material.getName()}_storage_block`) } diff --git a/kubejs/server_scripts/tfc/recipes.metals.js b/kubejs/server_scripts/tfc/recipes.metals.js index 5aed8261d..a8617193c 100644 --- a/kubejs/server_scripts/tfc/recipes.metals.js +++ b/kubejs/server_scripts/tfc/recipes.metals.js @@ -84,70 +84,70 @@ function registerTFCMetalsRecipes(event) { event.recipes.gtceu.forge_hammer('tfg/refined_bloom') .itemInputs('tfc:raw_iron_bloom') .itemOutputs('tfc:refined_iron_bloom') - .duration(1000) + .duration(400) .EUt(4) // ะฃะบั€ะตะฟะปะตะฝะฝะฐั ะบั€ะธั†ะฐ -> ะกะปะธั‚ะพะบ ะบะพะฒะฐะฝะฝะพะณะพ ะถะตะปะตะทะฐ event.recipes.gtceu.forge_hammer('tfg/wrought_iron_ingot') .itemInputs('tfc:refined_iron_bloom') .itemOutputs('gtceu:wrought_iron_ingot') - .duration(1000) + .duration(400) .EUt(4) // ะงัƒะณัƒะฝ -> ะ’ั‹ัะพะบะพัƒะณะปะตั€ะพะดะฝะฐั ัั‚ะฐะปัŒ event.recipes.gtceu.forge_hammer('tfg/high_carbon_steel') .itemInputs('tfc:metal/ingot/pig_iron') .itemOutputs('tfc:metal/ingot/high_carbon_steel') - .duration(700) + .duration(500) .EUt(4) // ะ’ั‹ัะพะบะพัƒะณะปะตั€ะพะดะฝะฐั ัั‚ะฐะปัŒ -> Cั‚ะฐะปัŒ event.recipes.gtceu.forge_hammer('tfg/steel') .itemInputs('tfc:metal/ingot/high_carbon_steel') .itemOutputs('gtceu:steel_ingot') - .duration(700) + .duration(500) .EUt(4) // ะ’ั‹ัะพะบะพัƒะณะปะตั€ะพะดะฝะฐั ั‡ะตั€ะฝะฐั ัั‚ะฐะปัŒ -> ั‡ะตั€ะฝะฐั ัั‚ะฐะปัŒ event.recipes.gtceu.forge_hammer('tfg/black_steel') .itemInputs('tfc:metal/ingot/high_carbon_black_steel') .itemOutputs('tfc:metal/ingot/black_steel') - .duration(900) + .duration(600) .EUt(4) // ะ’ั‹ัะพะบะพัƒะณะปะตั€ะพะดะฝะฐั ัะธะฝัั ัั‚ะฐะปัŒ -> ัะธะฝัั ัั‚ะฐะปัŒ event.recipes.gtceu.forge_hammer('tfg/blue_steel') .itemInputs('tfc:metal/ingot/high_carbon_blue_steel') .itemOutputs('tfc:metal/ingot/blue_steel') - .duration(1000) + .duration(700) .EUt(4) // ะ’ั‹ัะพะบะพัƒะณะปะตั€ะพะดะฝะฐั ะบั€ะฐัะฝะฐั ัั‚ะฐะปัŒ -> ะบั€ะฐัะฝะฐั ัั‚ะฐะปัŒ event.recipes.gtceu.forge_hammer('tfg/red_steel') .itemInputs('tfc:metal/ingot/high_carbon_red_steel') .itemOutputs('tfc:metal/ingot/red_steel') - .duration(1000) + .duration(700) .EUt(4) // ะกะปะฐะฑะฐั ัั‚ะฐะปัŒ + ะงัƒะณัƒะฝ -> ะ’ั‹ัะพะบะพัƒะณะปะตั€ะพะดะฝะฐั ั‡ะตั€ะฝะฐั ัั‚ะฐะปัŒ event.recipes.gtceu.alloy_smelter('tfg/high_carbon_black_steel') .itemInputs('tfc:metal/ingot/weak_steel', 'tfc:metal/ingot/pig_iron') .itemOutputs('2x tfc:metal/ingot/high_carbon_black_steel') - .duration(1000) + .duration(600) .EUt(4) // ะกะปะฐะฑะฐั ัะธะฝัั ัั‚ะฐะปัŒ + ะงะตั€ะฝะฐั ัั‚ะฐะปัŒ -> ะ’ั‹ัะพะบะพัƒะณะปะตั€ะพะดะฝะฐั ัะธะฝัั ัั‚ะฐะปัŒ event.recipes.gtceu.alloy_smelter('tfg/high_carbon_blue_steel') .itemInputs('tfc:metal/ingot/weak_blue_steel', 'tfc:metal/ingot/black_steel') .itemOutputs('2x tfc:metal/ingot/high_carbon_blue_steel') - .duration(1000) + .duration(700) .EUt(4) // ะกะปะฐะฑะฐั ะบั€ะฐัะฝะฐั ัั‚ะฐะปัŒ + ะงะตั€ะฝะฐั ัั‚ะฐะปัŒ -> ะ’ั‹ัะพะบะพัƒะณะปะตั€ะพะดะฝะฐั ะบั€ะฐัะฝะฐั ัั‚ะฐะปัŒ event.recipes.gtceu.alloy_smelter('tfg/high_carbon_red_steel') .itemInputs('tfc:metal/ingot/weak_red_steel', 'tfc:metal/ingot/black_steel') .itemOutputs('2x tfc:metal/ingot/high_carbon_red_steel') - .duration(1000) + .duration(700) .EUt(4) const TFC_INTERMEDIATE_METALS = @@ -248,50 +248,67 @@ function registerTFCMetalsRecipes(event) { .id(`tfc:anvil/iron_door`) // Bloom -> Wrought Iron Ingot - event.recipes.tfc.anvil('gtceu:wrought_iron_ingot', 'tfc:refined_iron_bloom', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(2) + event.recipes.tfc.anvil('gtceu:wrought_iron_ingot', 'tfc:refined_iron_bloom', ['hit_last', 'hit_second_last', 'hit_third_last']) + .tier(2) .id('tfc:anvil/wrought_iron_from_bloom') // High Carbon Steel Ingot -> Steel Ingot - event.recipes.tfc.anvil('gtceu:steel_ingot', 'tfc:metal/ingot/high_carbon_steel', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(3) + event.recipes.tfc.anvil('gtceu:steel_ingot', 'tfc:metal/ingot/high_carbon_steel', ['hit_last', 'hit_second_last', 'hit_third_last']) + .tier(3) .id('tfc:anvil/steel_ingot') // High Carbon Black Steel Ingot -> Black Steel Ingot - event.recipes.tfc.anvil('tfc:metal/ingot/black_steel', 'tfc:metal/ingot/high_carbon_black_steel', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(4) + event.recipes.tfc.anvil('tfc:metal/ingot/black_steel', 'tfc:metal/ingot/high_carbon_black_steel', ['hit_last', 'hit_second_last', 'hit_third_last']) + .tier(4) .id('tfc:anvil/black_steel_ingot') // High Carbon Red Steel Ingot -> Red Steel Ingot - event.recipes.tfc.anvil('tfc:metal/ingot/red_steel', 'tfc:metal/ingot/high_carbon_red_steel', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(5) + event.recipes.tfc.anvil('tfc:metal/ingot/red_steel', 'tfc:metal/ingot/high_carbon_red_steel', ['hit_last', 'hit_second_last', 'hit_third_last']) + .tier(5) .id('tfc:anvil/red_steel_ingot') // High Carbon Blue Steel Ingot -> Blue Steel Ingot - event.recipes.tfc.anvil('tfc:metal/ingot/blue_steel', 'tfc:metal/ingot/high_carbon_blue_steel', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(5) + event.recipes.tfc.anvil('tfc:metal/ingot/blue_steel', 'tfc:metal/ingot/high_carbon_blue_steel', ['hit_last', 'hit_second_last', 'hit_third_last']) + .tier(5) .id('tfc:anvil/blue_steel_ingot') // Gears - event.recipes.tfc.anvil('gtceu:bronze_gear', '#forge:double_plates/bronze', ['punch_last', 'shrink_any', 'draw_any']).tier(2) + event.recipes.tfc.anvil('gtceu:bronze_gear', '#forge:double_plates/bronze', ['punch_last', 'shrink_any', 'draw_any']) + .tier(2) .id('tfc:anvil/bronze_gear') - event.recipes.tfc.anvil('gtceu:black_bronze_gear', '#forge:double_plates/black_bronze', ['punch_last', 'shrink_any', 'draw_any']).tier(2) + event.recipes.tfc.anvil('gtceu:black_bronze_gear', '#forge:double_plates/black_bronze', ['punch_last', 'shrink_any', 'draw_any']) + .tier(2) .id('tfc:anvil/black_bronze_gear') - event.recipes.tfc.anvil('gtceu:bismuth_bronze_gear', '#forge:double_plates/bismuth_bronze', ['punch_last', 'shrink_any', 'draw_any']).tier(2) + event.recipes.tfc.anvil('gtceu:bismuth_bronze_gear', '#forge:double_plates/bismuth_bronze', ['punch_last', 'shrink_any', 'draw_any']) + .tier(2) .id('tfc:anvil/bismuth_bronze_gear') - event.recipes.tfc.anvil('gtceu:wrought_iron_gear', '#forge:double_plates/wrought_iron', ['punch_last', 'shrink_any', 'draw_any']).tier(3) + event.recipes.tfc.anvil('gtceu:wrought_iron_gear', '#forge:double_plates/wrought_iron', ['punch_last', 'shrink_any', 'draw_any']) + .tier(3) .id('tfc:anvil/wrought_iron_gear') - event.recipes.tfc.anvil('gtceu:steel_gear', '#forge:double_plates/steel', ['punch_last', 'shrink_any', 'draw_any']).tier(4) + event.recipes.tfc.anvil('gtceu:steel_gear', '#forge:double_plates/steel', ['punch_last', 'shrink_any', 'draw_any']) + .tier(4) .id('tfc:anvil/steel_gear') - event.recipes.tfc.anvil('gtceu:black_steel_gear', '#forge:double_plates/black_steel', ['punch_last', 'shrink_any', 'draw_any']).tier(5) + event.recipes.tfc.anvil('gtceu:black_steel_gear', '#forge:double_plates/black_steel', ['punch_last', 'shrink_any', 'draw_any']) + .tier(5) .id('tfc:anvil/black_steel_gear') - event.recipes.tfc.anvil('gtceu:red_steel_gear', '#forge:double_plates/red_steel', ['punch_last', 'shrink_any', 'draw_any']).tier(6) + event.recipes.tfc.anvil('gtceu:red_steel_gear', '#forge:double_plates/red_steel', ['punch_last', 'shrink_any', 'draw_any']) + .tier(6) .id('tfc:anvil/red_steel_gear') - event.recipes.tfc.anvil('gtceu:blue_steel_gear', '#forge:double_plates/blue_steel', ['punch_last', 'shrink_any', 'draw_any']).tier(6) + event.recipes.tfc.anvil('gtceu:blue_steel_gear', '#forge:double_plates/blue_steel', ['punch_last', 'shrink_any', 'draw_any']) + .tier(6) .id('tfc:anvil/blue_steel_gear') - event.recipes.tfc.anvil('gtceu:small_wrought_iron_gear', '#forge:ingots/wrought_iron', ['shrink_last', 'shrink_second_last', 'upset_third_last']).tier(3) + event.recipes.tfc.anvil('gtceu:small_wrought_iron_gear', '#forge:ingots/wrought_iron', ['hit_last', 'shrink_second_last', 'draw_third_last']) + .tier(3) .id('tfc:anvil/small_wrought_iron_gear') - event.recipes.tfc.anvil('gtceu:small_steel_gear', '#forge:ingots/steel', ['shrink_last', 'shrink_second_last', 'upset_third_last']).tier(4) + event.recipes.tfc.anvil('gtceu:small_steel_gear', '#forge:ingots/steel', ['hit_last', 'shrink_second_last', 'draw_third_last']) + .tier(4) .id('tfc:anvil/small_steel_gear') - event.recipes.tfc.anvil('gtceu:small_brass_gear', '#forge:ingots/brass', ['shrink_last', 'shrink_second_last', 'upset_third_last']).tier(2) + event.recipes.tfc.anvil('gtceu:small_brass_gear', '#forge:ingots/brass', ['hit_last', 'shrink_second_last', 'draw_third_last']) + .tier(2) .id('tfc:anvil/small_brass_gear') - event.recipes.tfc.anvil('gtceu:small_bronze_gear', '#forge:ingots/bronze', ['shrink_last', 'shrink_second_last', 'upset_third_last']).tier(2) + event.recipes.tfc.anvil('gtceu:small_bronze_gear', '#forge:ingots/bronze', ['hit_last', 'shrink_second_last', 'draw_third_last']) + .tier(2) .id('tfc:anvil/small_bronze_gear') // Cast iron -> Raw Iron Bloom diff --git a/kubejs/server_scripts/tfc/recipes.stone.js b/kubejs/server_scripts/tfc/recipes.stone.js index c74b8bfb1..b914b647e 100644 --- a/kubejs/server_scripts/tfc/recipes.stone.js +++ b/kubejs/server_scripts/tfc/recipes.stone.js @@ -70,6 +70,21 @@ function registerTFCStoneRecipes(event) { `4x tfc:rock/gravel/${stone}` ]).id(`tfc:shapeless/gravel_to_loose_${stone}`) + // Cobble Unpacking + event.recipes.gtceu.packer(`tfc:gtceu/packer/unpacking_mossy_${stone}_cobble_into_loose`) + .itemInputs(`1x tfc:rock/mossy_cobble/${stone}`) + .circuit(1) + .itemOutputs(`4x tfc:rock/mossy_loose/${stone}`) + .duration(20) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.packer(`tfc:gtceu/packer/unpacking_${stone}_cobble_into_loose`) + .itemInputs(`1x tfc:rock/cobble/${stone}`) + .circuit(1) + .itemOutputs(`4x tfc:rock/loose/${stone}`) + .duration(20) + .EUt(GTValues.VA[GTValues.ULV]) + //#endregion // #region Stonecutting @@ -186,7 +201,7 @@ function registerTFCStoneRecipes(event) { event.recipes.gtceu.assembler(`bricks_${stone}`) .itemInputs(`5x tfc:brick/${stone}`) - .circuit(0) + .circuit(1) .inputFluids(Fluid.of('gtceu:concrete', 72)) .itemOutputs(`4x tfc:rock/bricks/${stone}`) .duration(50) @@ -262,7 +277,7 @@ function registerTFCStoneRecipes(event) { event.recipes.gtceu.assembler(`aqueduct_${stone}`) .itemInputs(`3x tfc:brick/${stone}`) - .circuit(1) + .circuit(0) .inputFluids(Fluid.of('gtceu:concrete', 16)) .itemOutputs(`tfc:rock/aqueduct/${stone}`) .duration(50) diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 7330c3d47..a59e09a0e 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -258,6 +258,13 @@ const registerTFCItemTags = (event) => { event.add('forge:cloth', 'tfc:burlap_cloth') event.add('forge:cloth', 'tfc:wool_cloth') event.add('forge:cloth', 'tfc:silk_cloth') + event.add('forge:cloth', 'minecraft:phantom_membrane') + + // Piglin loved + event.add('minecraft:piglin_loved', 'tfc:ore/small_native_gold') + event.add('minecraft:piglin_loved', 'tfc:ore/poor_native_gold') + event.add('minecraft:piglin_loved', 'tfc:ore/normal_native_gold') + event.add('minecraft:piglin_loved', 'tfc:ore/rich_native_gold') } const registerTFCBlockTags = (event) => { diff --git a/kubejs/server_scripts/tfg/events.js b/kubejs/server_scripts/tfg/events.js index 91f924648..98eccb9d0 100644 --- a/kubejs/server_scripts/tfg/events.js +++ b/kubejs/server_scripts/tfg/events.js @@ -83,35 +83,49 @@ salvo_event.forEach(salvo_event => { }); }); - ItemEvents.rightClicked(event => { - const {item,server,player,player:{x,y,z,username}} = event - if (item.id != `tfg:absorption_salvo`) return - item.count-- - player.addItemCooldown(item, 200) - player.runCommandSilent(`effect give ${username} minecraft:absorption 480 4 true`) - server.runCommandSilent(`playsound minecraft:item.glow_ink_sac.use player ${username} ${x} ${y} ${z} 10 2 1`) - }); +ItemEvents.rightClicked(event => { + const {item,server,player,player:{x,y,z,username}} = event + if (item.id != `tfg:absorption_salvo`) return + item.count-- + player.addItemCooldown(item, 200) + player.runCommandSilent(`effect give ${username} minecraft:absorption 480 4 true`) + server.runCommandSilent(`playsound minecraft:item.glow_ink_sac.use player ${username} ${x} ${y} ${z} 10 2 1`) +}); - ItemEvents.rightClicked(event => { - const {item,server,player,player:{x,y,z,username}} = event - if (item.id != `tfg:instant_health_salvo`) return - item.count-- - player.addItemCooldown(item, 100) - player.runCommandSilent(`effect give ${username} minecraft:instant_health 1 1 true`) - server.runCommandSilent(`playsound minecraft:item.glow_ink_sac.use player ${username} ${x} ${y} ${z} 10 2 1`) - }); +ItemEvents.rightClicked(event => { + const {item,server,player,player:{x,y,z,username}} = event + if (item.id != `tfg:instant_health_salvo`) return + item.count-- + player.addItemCooldown(item, 100) + player.runCommandSilent(`effect give ${username} minecraft:instant_health 1 1 true`) + server.runCommandSilent(`playsound minecraft:item.glow_ink_sac.use player ${username} ${x} ${y} ${z} 10 2 1`) +}); // Vase Sounds - global.MINECRAFT_DYE_NAMES.forEach(color => { - BlockEvents.rightClicked(event => { - const {block,server,player,player:{x,y,z,username}} = event - if (block.id != `tfg:decorative_vase/${color}`) {return}{ - server.runCommandSilent(`playsound tfc:block.quern.drag block ${username} ${block.x} ${block.y} ${block.z} 0.3 2.0 0.1`) - }}) - }); - +global.MINECRAFT_DYE_NAMES.forEach(color => { BlockEvents.rightClicked(event => { const {block,server,player,player:{x,y,z,username}} = event - if (block.id != 'tfg:decorative_vase') {return}{ + if (block.id != `tfg:decorative_vase/${color}`) {return}{ server.runCommandSilent(`playsound tfc:block.quern.drag block ${username} ${block.x} ${block.y} ${block.z} 0.3 2.0 0.1`) - }}); \ No newline at end of file + }}) +}); + +BlockEvents.rightClicked(event => { + const {block,server,player,player:{x,y,z,username}} = event + if (block.id != 'tfg:decorative_vase') {return}{ + server.runCommandSilent(`playsound tfc:block.quern.drag block ${username} ${block.x} ${block.y} ${block.z} 0.3 2.0 0.1`) +}}); + +/** + * + * @param {Internal.Player} player + * @returns {Internal.CompoundTag} + */ +function getTFGPersistentDataRoot(player) +{ + if(!player.persistentData.contains("tfg:custom_data")) + { + player.persistentData.put("tfg:custom_data", {}); + } + return player.persistentData.getCompound("tfg:custom_data") +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.medicine.js b/kubejs/server_scripts/tfg/recipes.medicine.js index bad5b1954..d30597abe 100644 --- a/kubejs/server_scripts/tfg/recipes.medicine.js +++ b/kubejs/server_scripts/tfg/recipes.medicine.js @@ -5,441 +5,472 @@ function registerTFGMedicineRecipes(event) { //#region Antipoison event.recipes.firmalife.mixing_bowl() - .ingredients(['#forge:wax', '#tfg:antipoison_ingredients', 'gtceu:tricalcium_phosphate_dust'], Fluid.of('tfc:spring_water', 250)) + .ingredients(['#forge:wax', '#tfg:antipoison_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)], Fluid.of('tfc:spring_water', 250)) .outputItem('1x tfg:antipoison_pill') .id(`tfg:mixing_bowl/pill_antipoison`) - event.recipes.create.mixing( - '1x tfg:antipoison_pill', - ['#forge:wax', '#tfg:antipoison_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('tfc:spring_water', 250)]) - .id(`tfg:create/mixer/spring_water/pill_antipoison`) - event.recipes.create.mixing( - '1x tfg:antipoison_pill', - ['#forge:wax', '#tfg:antipoison_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('gtceu:distilled_water', 50)]) - .id(`tfg:create/mixer/distilled_water/pill_antipoison`) - event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/pill_antipoison`) .circuit(4) .inputFluids(Fluid.of('tfc:spring_water', 250)) .itemOutputs('2x tfg:antipoison_pill') - .itemInputs('#forge:wax', '#tfg:antipoison_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('#forge:wax', '#tfg:antipoison_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/pill_antipoison`) .circuit(4) .inputFluids(Fluid.of('gtceu:distilled_water', 50)) .itemOutputs('2x tfg:antipoison_pill') - .itemInputs('#forge:wax', '#tfg:antipoison_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('#forge:wax', '#tfg:antipoison_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/tablet_antipoison`) .circuit(4) .inputFluids(Fluid.of('tfc:spring_water', 250)) .itemOutputs('2x tfg:antipoison_tablet') .notConsumable('gtceu:pill_casting_mold') - .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:antipoison_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:antipoison_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/tablet_antipoison`) .circuit(4) .inputFluids(Fluid.of('gtceu:distilled_water', 50)) .itemOutputs('2x tfg:antipoison_tablet') .notConsumable('gtceu:pill_casting_mold') - .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:antipoison_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:antipoison_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) //#endregion //#region Poison event.recipes.firmalife.mixing_bowl() - .ingredients(['#forge:wax', '#tfg:poison_ingredients', 'tfc:powder/sulfur'], Fluid.of('tfc:spring_water', 250)) + .ingredients(['#forge:wax', '#tfg:poison_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1)], Fluid.of('tfc:spring_water', 250)) .outputItem('1x tfg:poison_pill') .id(`tfg:mixing_bowl/pill_poison`) - - event.recipes.create.mixing( - '1x tfg:poison_pill', - ['#forge:wax', '#tfg:poison_ingredients', 'tfc:powder/sulfur', Fluid.of('tfc:spring_water', 250)]) - .id(`tfg:create/mixer/spring_water/pill_poison`) - event.recipes.create.mixing( - '1x tfg:poison_pill', - ['#forge:wax', '#tfg:poison_ingredients', 'tfc:powder/sulfur', Fluid.of('gtceu:distilled_water', 50)]) - .id(`tfg:create/mixer/distilled_water/pill_poison`) event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/pill_poison`) .circuit(4) .inputFluids(Fluid.of('tfc:spring_water', 250)) .itemOutputs('2x tfg:poison_pill') - .itemInputs('#forge:wax', '#tfg:poison_ingredients', 'tfc:powder/sulfur') + .itemInputs('#forge:wax', '#tfg:poison_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/pill_poison`) .circuit(4) .inputFluids(Fluid.of('gtceu:distilled_water', 50)) .itemOutputs('2x tfg:poison_pill') - .itemInputs('#forge:wax', '#tfg:poison_ingredients', 'tfc:powder/sulfur') + .itemInputs('#forge:wax', '#tfg:poison_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/tablet_poison`) .circuit(4) .inputFluids(Fluid.of('tfc:spring_water', 250)) .itemOutputs('2x tfg:poison_tablet') .notConsumable('gtceu:pill_casting_mold') - .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:poison_ingredients', 'tfc:powder/sulfur') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:poison_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/tablet_poison`) .circuit(4) .inputFluids(Fluid.of('gtceu:distilled_water', 50)) .itemOutputs('2x tfg:poison_tablet') .notConsumable('gtceu:pill_casting_mold') - .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:poison_ingredients', 'tfc:powder/sulfur') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:poison_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) + + // Arrow + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/arrow/poison_1`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:ethanol', 25)) + .itemOutputs(Item.of('16x minecraft:tipped_arrow', '{Potion:"minecraft:poison"}')) + .itemInputs('16x minecraft:arrow', 'tfg:poison_pill') + .duration(200) + .EUt(GTValues.VA[GTValues.MV]) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/arrow/poison_2`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:ethanol', 25)) + .itemOutputs(Item.of('16x minecraft:tipped_arrow', '{Potion:"minecraft:long_poison"}')) + .itemInputs('16x minecraft:arrow', 'tfg:poison_tablet') + .duration(200) + .EUt(GTValues.VA[GTValues.MV]) //#endregion //#region Regeneration event.recipes.firmalife.mixing_bowl() - .ingredients(['#forge:wax', '#tfg:regeneration_ingredients', 'gtceu:tricalcium_phosphate_dust'], Fluid.of('tfc:spring_water', 250)) + .ingredients(['#forge:wax', '#tfg:regeneration_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)], Fluid.of('tfc:spring_water', 250)) .outputItem('1x tfg:regeneration_pill') .id(`tfg:mixing_bowl/pill_regeneration`) - event.recipes.create.mixing( - '1x tfg:regeneration_pill', - ['#forge:wax', '#tfg:regeneration_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('tfc:spring_water', 250)]) - .id(`tfg:create/mixer/spring_water/pill_regeneration`) - event.recipes.create.mixing( - '1x tfg:regeneration_pill', - ['#forge:wax', '#tfg:regeneration_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('gtceu:distilled_water', 50)]) - .id(`tfg:create/mixer/distilled_water/pill_regeneration`) - event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/pill_regeneration`) .circuit(4) .inputFluids(Fluid.of('tfc:spring_water', 250)) .itemOutputs('2x tfg:regeneration_pill') - .itemInputs('#forge:wax', '#tfg:regeneration_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('#forge:wax', '#tfg:regeneration_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/pill_regeneration`) .circuit(4) .inputFluids(Fluid.of('gtceu:distilled_water', 50)) .itemOutputs('2x tfg:regeneration_pill') - .itemInputs('#forge:wax', '#tfg:regeneration_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('#forge:wax', '#tfg:regeneration_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/tablet_regeneration`) .circuit(4) .inputFluids(Fluid.of('tfc:spring_water', 250)) .itemOutputs('2x tfg:regeneration_tablet') .notConsumable('gtceu:pill_casting_mold') - .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:regeneration_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:regeneration_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/tablet_regeneration`) .circuit(4) .inputFluids(Fluid.of('gtceu:distilled_water', 50)) .itemOutputs('2x tfg:regeneration_tablet') .notConsumable('gtceu:pill_casting_mold') - .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:regeneration_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:regeneration_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) + + // Arrow + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/arrow/regeneration_1`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:ethanol', 25)) + .itemOutputs(Item.of('16x minecraft:tipped_arrow', '{Potion:"minecraft:regeneration"}')) + .itemInputs('16x minecraft:arrow', 'tfg:regeneration_pill') + .duration(200) + .EUt(GTValues.VA[GTValues.MV]) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/arrow/regeneration_2`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:ethanol', 25)) + .itemOutputs(Item.of('16x minecraft:tipped_arrow', '{Potion:"minecraft:long_regeneration"}')) + .itemInputs('16x minecraft:arrow', 'tfg:regeneration_tablet') + .duration(200) + .EUt(GTValues.VA[GTValues.MV]) //#endregion //#region Speed event.recipes.firmalife.mixing_bowl() - .ingredients(['#forge:wax', '#tfg:speed_ingredients', 'gtceu:tricalcium_phosphate_dust'], Fluid.of('tfc:spring_water', 250)) + .ingredients(['#forge:wax', '#tfg:speed_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)], Fluid.of('tfc:spring_water', 250)) .outputItem('1x tfg:speed_pill') .id(`tfg:mixing_bowl/pill_speed`) - event.recipes.create.mixing( - '1x tfg:speed_pill', - ['#forge:wax', '#tfg:speed_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('tfc:spring_water', 250)]) - .id(`tfg:create/mixer/spring_water/pill_speed`) - event.recipes.create.mixing( - '1x tfg:speed_pill', - ['#forge:wax', '#tfg:speed_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('gtceu:distilled_water', 50)]) - .id(`tfg:create/mixer/distilled_water/pill_speed`) - event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/pill_speed`) .circuit(4) .inputFluids(Fluid.of('tfc:spring_water', 250)) .itemOutputs('2x tfg:speed_pill') - .itemInputs('#forge:wax', '#tfg:speed_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('#forge:wax', '#tfg:speed_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/pill_speed`) .circuit(4) .inputFluids(Fluid.of('gtceu:distilled_water', 50)) .itemOutputs('2x tfg:speed_pill') - .itemInputs('#forge:wax', '#tfg:speed_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('#forge:wax', '#tfg:speed_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/tablet_speed`) .circuit(4) .inputFluids(Fluid.of('tfc:spring_water', 250)) .itemOutputs('2x tfg:speed_tablet') .notConsumable('gtceu:pill_casting_mold') - .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:speed_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:speed_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/tablet_speed`) .circuit(4) .inputFluids(Fluid.of('gtceu:distilled_water', 50)) .itemOutputs('2x tfg:speed_tablet') .notConsumable('gtceu:pill_casting_mold') - .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:speed_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:speed_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) + + // Arrow + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/arrow/swiftness_1`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:ethanol', 25)) + .itemOutputs(Item.of('16x minecraft:tipped_arrow', '{Potion:"minecraft:swiftness"}')) + .itemInputs('16x minecraft:arrow', 'tfg:speed_pill') + .duration(200) + .EUt(GTValues.VA[GTValues.MV]) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/arrow/swiftness_2`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:ethanol', 25)) + .itemOutputs(Item.of('16x minecraft:tipped_arrow', '{Potion:"minecraft:long_swiftness"}')) + .itemInputs('16x minecraft:arrow', 'tfg:speed_tablet') + .duration(200) + .EUt(GTValues.VA[GTValues.MV]) //#endregion //#region Slowness event.recipes.firmalife.mixing_bowl() - .ingredients(['#forge:wax', '#tfg:slowness_ingredients', 'tfc:powder/sulfur'], Fluid.of('tfc:spring_water', 250)) + .ingredients(['#forge:wax', '#tfg:slowness_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1)], Fluid.of('tfc:spring_water', 250)) .outputItem('1x tfg:slowness_pill') .id(`tfg:mixing_bowl/pill_slowness`) - event.recipes.create.mixing( - '1x tfg:slowness_pill', - ['#forge:wax', '#tfg:slowness_ingredients', 'tfc:powder/sulfur', Fluid.of('tfc:spring_water', 250)]) - .id(`tfg:create/mixer/spring_water/pill_slowness`) - event.recipes.create.mixing( - '1x tfg:slowness_pill', - ['#forge:wax', '#tfg:slowness_ingredients', 'tfc:powder/sulfur', Fluid.of('gtceu:distilled_water', 50)]) - .id(`tfg:create/mixer/distilled_water/pill_slowness`) - event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/pill_slowness`) .circuit(4) .inputFluids(Fluid.of('tfc:spring_water', 250)) .itemOutputs('2x tfg:slowness_pill') - .itemInputs('#forge:wax', '#tfg:slowness_ingredients', 'tfc:powder/sulfur') + .itemInputs('#forge:wax', '#tfg:slowness_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/pill_slowness`) .circuit(4) .inputFluids(Fluid.of('gtceu:distilled_water', 50)) .itemOutputs('2x tfg:slowness_pill') - .itemInputs('#forge:wax', '#tfg:slowness_ingredients', 'tfc:powder/sulfur') + .itemInputs('#forge:wax', '#tfg:slowness_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/tablet_slowness`) .circuit(4) .inputFluids(Fluid.of('tfc:spring_water', 250)) .itemOutputs('2x tfg:slowness_tablet') .notConsumable('gtceu:pill_casting_mold') - .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:slowness_ingredients', 'tfc:powder/sulfur') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:slowness_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/tablet_slowness`) .circuit(4) .inputFluids(Fluid.of('gtceu:distilled_water', 50)) .itemOutputs('2x tfg:slowness_tablet') .notConsumable('gtceu:pill_casting_mold') - .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:slowness_ingredients', 'tfc:powder/sulfur') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:slowness_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) + + // Arrow + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/arrow/slowness_1`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:ethanol', 25)) + .itemOutputs(Item.of('16x minecraft:tipped_arrow', '{Potion:"minecraft:slowness"}')) + .itemInputs('16x minecraft:arrow', 'tfg:slowness_pill') + .duration(200) + .EUt(GTValues.VA[GTValues.MV]) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/arrow/slowness_2`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:ethanol', 25)) + .itemOutputs(Item.of('16x minecraft:tipped_arrow', '{Potion:"minecraft:long_slowness"}')) + .itemInputs('16x minecraft:arrow', 'tfg:slowness_tablet') + .duration(200) + .EUt(GTValues.VA[GTValues.MV]) //#endregion //#region Weakness event.recipes.firmalife.mixing_bowl() - .ingredients(['#forge:wax', '#tfg:weakness_ingredients', 'tfc:powder/sulfur'], Fluid.of('tfc:spring_water', 250)) + .ingredients(['#forge:wax', '#tfg:weakness_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1)], Fluid.of('tfc:spring_water', 250)) .outputItem('1x tfg:weakness_pill') .id(`tfg:mixing_bowl/pill_weakness`) - event.recipes.create.mixing( - '1x tfg:weakness_pill', - ['#forge:wax', '#tfg:weakness_ingredients', 'tfc:powder/sulfur', Fluid.of('tfc:spring_water', 250)]) - .id(`tfg:create/mixer/spring_water/pill_weakness`) - event.recipes.create.mixing( - '1x tfg:weakness_pill', - ['#forge:wax', '#tfg:weakness_ingredients', 'tfc:powder/sulfur', Fluid.of('gtceu:distilled_water', 50)]) - .id(`tfg:create/mixer/distilled_water/pill_weakness`) - event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/pill_weakness`) .circuit(4) .inputFluids(Fluid.of('tfc:spring_water', 250)) .itemOutputs('2x tfg:weakness_pill') - .itemInputs('#forge:wax', '#tfg:weakness_ingredients', 'tfc:powder/sulfur') + .itemInputs('#forge:wax', '#tfg:weakness_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/pill_weakness`) .circuit(4) .inputFluids(Fluid.of('gtceu:distilled_water', 50)) .itemOutputs('2x tfg:weakness_pill') - .itemInputs('#forge:wax', '#tfg:weakness_ingredients', 'tfc:powder/sulfur') + .itemInputs('#forge:wax', '#tfg:weakness_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/tablet_weakness`) .circuit(4) .inputFluids(Fluid.of('tfc:spring_water', 250)) .itemOutputs('2x tfg:weakness_tablet') .notConsumable('gtceu:pill_casting_mold') - .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:weakness_ingredients', 'tfc:powder/sulfur') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:weakness_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/tablet_weakness`) .circuit(4) .inputFluids(Fluid.of('gtceu:distilled_water', 50)) .itemOutputs('2x tfg:weakness_tablet') .notConsumable('gtceu:pill_casting_mold') - .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:weakness_ingredients', 'tfc:powder/sulfur') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:weakness_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sulfur, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) + + // Arrow + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/arrow/weakness_1`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:ethanol', 25)) + .itemOutputs(Item.of('16x minecraft:tipped_arrow', '{Potion:"minecraft:weakness"}')) + .itemInputs('16x minecraft:arrow', 'tfg:weakness_pill') + .duration(200) + .EUt(GTValues.VA[GTValues.MV]) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/arrow/weakness_2`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:ethanol', 25)) + .itemOutputs(Item.of('16x minecraft:tipped_arrow', '{Potion:"minecraft:long_weakness"}')) + .itemInputs('16x minecraft:arrow', 'tfg:weakness_tablet') + .duration(200) + .EUt(GTValues.VA[GTValues.MV]) //#endregion //#region Haste event.recipes.firmalife.mixing_bowl() - .ingredients(['#forge:wax', '#tfg:haste_ingredients', 'gtceu:tricalcium_phosphate_dust'], Fluid.of('tfc:spring_water', 250)) + .ingredients(['#forge:wax', '#tfg:haste_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)], Fluid.of('tfc:spring_water', 250)) .outputItem('1x tfg:haste_pill') .id(`tfg:mixing_bowl/pill_haste`) - event.recipes.create.mixing( - '1x tfg:haste_pill', - ['#forge:wax', '#tfg:haste_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('tfc:spring_water', 250)]) - .id(`tfg:create/mixer/spring_water/pill_haste`) - event.recipes.create.mixing( - '1x tfg:haste_pill', - ['#forge:wax', '#tfg:haste_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('gtceu:distilled_water', 50)]) - .id(`tfg:create/mixer/distilled_water/pill_haste`) - event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/pill_haste`) .circuit(4) .inputFluids(Fluid.of('tfc:spring_water', 250)) .itemOutputs('2x tfg:haste_pill') - .itemInputs('#forge:wax', '#tfg:haste_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('#forge:wax', '#tfg:haste_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/pill_haste`) .circuit(4) .inputFluids(Fluid.of('gtceu:distilled_water', 50)) .itemOutputs('2x tfg:haste_pill') - .itemInputs('#forge:wax', '#tfg:haste_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('#forge:wax', '#tfg:haste_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/tablet_haste`) .circuit(4) .inputFluids(Fluid.of('tfc:spring_water', 250)) .itemOutputs('2x tfg:haste_tablet') .notConsumable('gtceu:pill_casting_mold') - .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:haste_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:haste_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/tablet_haste`) .circuit(4) .inputFluids(Fluid.of('gtceu:distilled_water', 50)) .itemOutputs('2x tfg:haste_tablet') .notConsumable('gtceu:pill_casting_mold') - .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:haste_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:haste_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) //#endregion //#region Water Breathing event.recipes.firmalife.mixing_bowl() - .ingredients(['#forge:wax', '#tfg:water_breathing_ingredients', 'gtceu:tricalcium_phosphate_dust'], Fluid.of('tfc:spring_water', 250)) + .ingredients(['#forge:wax', '#tfg:water_breathing_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)], Fluid.of('tfc:spring_water', 250)) .outputItem('1x tfg:water_breathing_pill') .id(`tfg:mixing_bowl/pill_water_breathing`) - event.recipes.create.mixing( - '1x tfg:water_breathing_pill', - ['#forge:wax', '#tfg:water_breathing_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('tfc:spring_water', 250)]) - .id(`tfg:create/mixer/spring_water/pill_water_breathing`) - event.recipes.create.mixing( - '1x tfg:water_breathing_pill', - ['#forge:wax', '#tfg:water_breathing_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('gtceu:distilled_water', 50)]) - .id(`tfg:create/mixer/distilled_water/pill_water_breathing`) - event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/pill_water_breathing`) .circuit(4) .inputFluids(Fluid.of('tfc:spring_water', 250)) .itemOutputs('2x tfg:water_breathing_pill') - .itemInputs('#forge:wax', '#tfg:water_breathing_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('#forge:wax', '#tfg:water_breathing_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/pill_water_breathing`) .circuit(4) .inputFluids(Fluid.of('gtceu:distilled_water', 50)) .itemOutputs('2x tfg:water_breathing_pill') - .itemInputs('#forge:wax', '#tfg:water_breathing_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('#forge:wax', '#tfg:water_breathing_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/tablet_water_breathing`) .circuit(4) .inputFluids(Fluid.of('tfc:spring_water', 250)) .itemOutputs('2x tfg:water_breathing_tablet') .notConsumable('gtceu:pill_casting_mold') - .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:water_breathing_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:water_breathing_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/tablet_water_breathing`) .circuit(4) .inputFluids(Fluid.of('gtceu:distilled_water', 50)) .itemOutputs('2x tfg:water_breathing_tablet') .notConsumable('gtceu:pill_casting_mold') - .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:water_breathing_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:water_breathing_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) + + // Arrow + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/arrow/water_breathing_1`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:ethanol', 25)) + .itemOutputs(Item.of('16x minecraft:tipped_arrow', '{Potion:"minecraft:water_breathing"}')) + .itemInputs('16x minecraft:arrow', 'tfg:water_breathing_pill') + .duration(200) + .EUt(GTValues.VA[GTValues.MV]) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/arrow/water_breathing_2`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:ethanol', 25)) + .itemOutputs(Item.of('16x minecraft:tipped_arrow', '{Potion:"minecraft:long_water_breathing"}')) + .itemInputs('16x minecraft:arrow', 'tfg:water_breathing_tablet') + .duration(200) + .EUt(GTValues.VA[GTValues.MV]) //#endregion //#region Night Vision event.recipes.firmalife.mixing_bowl() - .ingredients(['#forge:wax', '#tfg:night_vision_ingredients', 'gtceu:tricalcium_phosphate_dust'], Fluid.of('tfc:spring_water', 250)) + .ingredients(['#forge:wax', '#tfg:night_vision_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)], Fluid.of('tfc:spring_water', 250)) .outputItem('1x tfg:night_vision_pill') .id(`tfg:mixing_bowl/pill_night_vision`) - event.recipes.create.mixing( - '1x tfg:night_vision_pill', - ['#forge:wax', '#tfg:night_vision_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('tfc:spring_water', 250)]) - .id(`tfg:create/mixer/spring_water/pill_night_vision`) - event.recipes.create.mixing( - '1x tfg:night_vision_pill', - ['#forge:wax', '#tfg:night_vision_ingredients', 'gtceu:tricalcium_phosphate_dust', Fluid.of('gtceu:distilled_water', 50)]) - .id(`tfg:create/mixer/distilled_water/pill_night_vision`) - event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/pill_night_vision`) .circuit(4) .inputFluids(Fluid.of('tfc:spring_water', 250)) .itemOutputs('2x tfg:night_vision_pill') - .itemInputs('#forge:wax', '#tfg:night_vision_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('#forge:wax', '#tfg:night_vision_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/pill_night_vision`) .circuit(4) .inputFluids(Fluid.of('gtceu:distilled_water', 50)) .itemOutputs('2x tfg:night_vision_pill') - .itemInputs('#forge:wax', '#tfg:night_vision_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('#forge:wax', '#tfg:night_vision_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer(`tfg:gtceu/mixer/spring_water/tablet_night_vision`) .circuit(4) .inputFluids(Fluid.of('tfc:spring_water', 250)) .itemOutputs('2x tfg:night_vision_tablet') .notConsumable('gtceu:pill_casting_mold') - .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:night_vision_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:night_vision_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer(`tfg:gtceu/mixer/distilled_water/tablet_night_vision`) .circuit(4) .inputFluids(Fluid.of('gtceu:distilled_water', 50)) .itemOutputs('2x tfg:night_vision_tablet') .notConsumable('gtceu:pill_casting_mold') - .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:night_vision_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('gtceu:sodium_bicarbonate_dust', 'gtceu:lactose_dust', '#tfg:night_vision_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) + + // Arrow + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/arrow/night_vision_1`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:ethanol', 25)) + .itemOutputs(Item.of('16x minecraft:tipped_arrow', '{Potion:"minecraft:night_vision"}')) + .itemInputs('16x minecraft:arrow', 'tfg:night_vision_pill') + .duration(200) + .EUt(GTValues.VA[GTValues.MV]) + event.recipes.gtceu.mixer(`tfg:gtceu/mixer/arrow/night_vision_2`) + .circuit(4) + .inputFluids(Fluid.of('gtceu:ethanol', 25)) + .itemOutputs(Item.of('16x minecraft:tipped_arrow', '{Potion:"minecraft:long_night_vision"}')) + .itemInputs('16x minecraft:arrow', 'tfg:night_vision_tablet') + .duration(200) + .EUt(GTValues.VA[GTValues.MV]) //#endregion @@ -449,9 +480,9 @@ function registerTFGMedicineRecipes(event) { .circuit(4) .inputFluids(Fluid.of('gtceu:aminophenol', 250)) .itemOutputs('1x tfg:invisibility_salvo') - .itemInputs('gtceu:sticky_resin', '#tfg:invisibility_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('gtceu:sticky_resin', '#tfg:invisibility_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) //#endregion @@ -461,9 +492,9 @@ function registerTFGMedicineRecipes(event) { .circuit(4) .inputFluids(Fluid.of('gtceu:aminophenol', 250)) .itemOutputs('1x tfg:fire_resistance_salvo') - .itemInputs('gtceu:sticky_resin', '#tfg:fire_resistance_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('gtceu:sticky_resin', '#tfg:fire_resistance_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) //#endregion @@ -473,9 +504,9 @@ function registerTFGMedicineRecipes(event) { .circuit(4) .inputFluids(Fluid.of('gtceu:aminophenol', 250)) .itemOutputs('1x tfg:resistance_salvo') - .itemInputs('gtceu:sticky_resin', '#tfg:resistance_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('gtceu:sticky_resin', '#tfg:resistance_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) //#endregion @@ -485,9 +516,9 @@ function registerTFGMedicineRecipes(event) { .circuit(4) .inputFluids(Fluid.of('gtceu:aminophenol', 250)) .itemOutputs('1x tfg:instant_health_salvo') - .itemInputs('gtceu:sticky_resin', '#tfg:instant_health_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('gtceu:sticky_resin', '#tfg:instant_health_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) //#endregion @@ -497,9 +528,9 @@ function registerTFGMedicineRecipes(event) { .circuit(4) .inputFluids(Fluid.of('gtceu:aminophenol', 250)) .itemOutputs('1x tfg:absorption_salvo') - .itemInputs('gtceu:sticky_resin', '#tfg:absorption_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('gtceu:sticky_resin', '#tfg:absorption_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) //#endregion @@ -509,9 +540,9 @@ function registerTFGMedicineRecipes(event) { .circuit(4) .inputFluids(Fluid.of('gtceu:phenol', 250)) .itemOutputs('1x tfg:luck_salvo') - .itemInputs('gtceu:sticky_resin', '#tfg:luck_ingredients', 'gtceu:tricalcium_phosphate_dust') + .itemInputs('gtceu:sticky_resin', '#tfg:luck_ingredients', ChemicalHelper.get(TagPrefix.dust, GTMaterials.TricalciumPhosphate, 1)) .duration(200) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) //#endregion diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index eb7e78b55..f59886b12 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -27,11 +27,11 @@ function registerTFGMiscellaneousRecipes(event) { //paraffin event.recipes.gtceu.chemical_reactor('tfg:paraffin_wax_from_lubricant') .circuit(7) - .itemOutputs('2x tfg:paraffin_wax') + .itemOutputs('6x tfg:paraffin_wax') .outputFluids(Fluid.of('gtceu:oil_light', 25)) .inputFluids(Fluid.of('gtceu:lubricant', 250), Fluid.of('gtceu:acetone', 25)) .duration(500) - .EUt(21) + .EUt(GTValues.VA[GTValues.LV]) // Rosin event.recipes.firmalife.vat() @@ -50,7 +50,7 @@ function registerTFGMiscellaneousRecipes(event) { .inputFluids(Fluid.of(`tfc:${color}_dye`, 25)) .itemOutputs(`tfg:decorative_vase/unfired/${color}`) .duration(80) - .EUt(20) + .EUt(GTValues.VA[GTValues.ULV]) .category(GTRecipeCategories.CHEM_DYES) event.recipes.tfc.heating(`tfg:decorative_vase/unfired/${color}`, 1399) @@ -74,7 +74,7 @@ function registerTFGMiscellaneousRecipes(event) { .inputFluids(Fluid.of('gtceu:chlorine', 72)) .itemOutputs('tfg:decorative_vase/unfired') .duration(80) - .EUt(20) + .EUt(GTValues.VA[GTValues.ULV]) .category(GTRecipeCategories.CHEM_DYES) event.smelting( @@ -107,7 +107,7 @@ function registerTFGMiscellaneousRecipes(event) { .itemOutputs('1x gtceu:lactose_dust') .outputFluids(Fluid.of('tfc:curdled_milk', 1000)) .duration(300) - .EUt(30) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer('lactose_milk_yak') .circuit(1) @@ -115,7 +115,7 @@ function registerTFGMiscellaneousRecipes(event) { .itemOutputs('1x gtceu:lactose_dust') .outputFluids(Fluid.of('firmalife:curdled_yak_milk', 1000)) .duration(300) - .EUt(30) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer('lactose_milk_goat') .circuit(1) @@ -123,7 +123,7 @@ function registerTFGMiscellaneousRecipes(event) { .itemOutputs('1x gtceu:lactose_dust') .outputFluids(Fluid.of('firmalife:curdled_goat_milk', 1000)) .duration(300) - .EUt(30) + .EUt(GTValues.VA[GTValues.LV]) //Scaffolding Frame event.shaped('tfg:scaffolding_frame', @@ -141,7 +141,7 @@ function registerTFGMiscellaneousRecipes(event) { .itemInputs('8x #forge:rods/wood', '#forge:cloth') .itemOutputs('tfg:scaffolding_frame') .duration(10) - .EUt(2); + .EUt(GTValues.VA[GTValues.ULV]); //Airship Hull event.shaped('tfg:airship_hull', [ @@ -158,7 +158,7 @@ function registerTFGMiscellaneousRecipes(event) { .itemOutputs('tfg:airship_hull') .duration(40) .circuit(1) - .EUt(10); + .EUt(GTValues.VA[GTValues.ULV]); //Airship Balloon event.shaped('tfg:airship_balloon', [ @@ -175,7 +175,7 @@ function registerTFGMiscellaneousRecipes(event) { .itemOutputs('tfg:airship_balloon') .duration(40) .circuit(1) - .EUt(10) + .EUt(GTValues.VA[GTValues.ULV]) // Steam bloomery event.shaped('gtceu:steam_bloomery', [ @@ -189,4 +189,48 @@ function registerTFGMiscellaneousRecipes(event) { D: '#forge:screws/wrought_iron', E: '#forge:tools/wrenches' }) + + // Arrow Parts + event.recipes.tfc.knapping( + '4x tfg:flint_arrow_head', + 'tfg:flint', + [ + ' XXX', + ' XXXX', + 'XXXXX', + ' XXX ', + ' X ' + ] + ).outsideSlotRequired(false) + .id('tfg:knapping/flint_arrow_head') + + event.recipes.gtceu.assembler('tfg:assembler/flint_arrow_head') + .itemInputs('1x minecraft:flint') + .itemOutputs('4x tfg:flint_arrow_head') + .duration(20) + .circuit(4) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.tfc.damage_inputs_shapeless_crafting( + event.shapeless('4x tfg:fletching', [ + 'minecraft:feather', + '#forge:tools/knives' + ]).id('tfg:shapeless/fletching')) + + event.recipes.gtceu.assembler('tfg:assembler/fletching') + .itemInputs('1x minecraft:feather') + .itemOutputs('4x tfg:fletching') + .duration(20) + .circuit(4) + .EUt(GTValues.VA[GTValues.ULV]) + + event.shaped('4x minecraft:arrow', [ + ' A ', + ' B ', + ' C ' + ],{ + A: 'tfg:flint_arrow_head', + B: '#forge:rods/wooden', + C: 'tfg:fletching' + }).id('tfg:shaped/arrow') } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.supports.js b/kubejs/server_scripts/tfg/recipes.supports.js index 4d304b6b2..4d1cfd342 100644 --- a/kubejs/server_scripts/tfg/recipes.supports.js +++ b/kubejs/server_scripts/tfg/recipes.supports.js @@ -18,14 +18,14 @@ function registerTFGSupportRecipes(event) { .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.chemical_bath('tfg:gtceu/chemical_bath/reinforced_dark_concrete_support') - .inputFluids(Fluid.of('minecraft:water', 100)) + .inputFluids(Fluid.of('tfc:black_dye', 10)) .itemOutputs('1x tfg:reinforced_dark_concrete_support') .itemInputs('1x tfg:reinforced_light_concrete_support') .duration(60) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.chemical_bath('tfg:gtceu/chemical_bath/dark_concrete_support') - .inputFluids(Fluid.of('minecraft:water', 100)) + .inputFluids(Fluid.of('tfc:black_dye', 10)) .itemOutputs('1x tfg:dark_concrete_support') .itemInputs('1x tfg:light_concrete_support') .duration(60) diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 8670bb590..9a0480460 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -8,6 +8,9 @@ const registerTFGItemTags = (event) => { }) event.add('tfg:decorative_vases', 'tfg:decorative_vase') event.add('tfg:decorative_vases/unfired', 'tfg:decorative_vase/unfired') + + //Knapping + event.add('tfc:any_knapping', 'minecraft:flint') // #region Paper from wood @@ -25,6 +28,8 @@ const registerTFGItemTags = (event) => { event.add('forge:wax', 'firmalife:beeswax') event.add('forge:wax', 'tfg:conifer_rosin') + event.add('tfc:fluxstone', 'tfg:loose/dripstone') + // #endregion // #region Medicines diff --git a/kubejs/server_scripts/vintage_improvements/recipes.js b/kubejs/server_scripts/vintage_improvements/recipes.js index cc9e09706..89407e247 100644 --- a/kubejs/server_scripts/vintage_improvements/recipes.js +++ b/kubejs/server_scripts/vintage_improvements/recipes.js @@ -562,10 +562,13 @@ function registerVintageImprovementsRecipes(event) { ingredients: inputs, results: outputs, processingTime: r.duration * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/centrifuge/${recipe.getId().split(':')[1]}`) + }).id(`tfg:vi/${recipe.getId().split(':')[1]}`) } ) + // Fix weird inconsistency + event.replaceOutput({ id: 'tfg:vi/centrifuge/sticky_resin_separation' }, 'gtceu:raw_rubber_dust', 'gtceu:carbon_dust') + // #endregion // #region Vacuum diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index 523ee73e3..e2c80c853 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -47,6 +47,8 @@ global.GTCEU_DISABLED_ITEMS = [ 'gtceu:stone_buzz_saw_blade', 'gtceu:stone_wrench_tip', + 'gtceu:treated_wood_hanging_sign', + 'gtceu:rubber_sapling', 'gtceu:rubber_log', 'gtceu:rubber_leaves', diff --git a/kubejs/startup_scripts/gtceu/machines.js b/kubejs/startup_scripts/gtceu/machines.js index 482fff2a7..e3077c496 100644 --- a/kubejs/startup_scripts/gtceu/machines.js +++ b/kubejs/startup_scripts/gtceu/machines.js @@ -3,6 +3,11 @@ //#region Greenhouse const registerGTCEuMachines = (event) => { + + GTMachineUtils.registerCrate(GTMaterials.BismuthBronze, 54, "Bismuth Bronze Crate"); + GTMachineUtils.registerCrate(GTMaterials.BlackBronze, 54, "Black Bronze Crate"); + GTMachineUtils.registerDrum(GTMaterials.BismuthBronze, 32000, "Bismuth Bronze Drum"); + GTMachineUtils.registerDrum(GTMaterials.BlackBronze, 32000, "Black Bronze Drum"); const $SteamMulti = Java.loadClass('com.gregtechceu.gtceu.common.machine.multiblock.steam.SteamParallelMultiblockMachine'); const $Tags = Java.loadClass("dev.latvian.mods.kubejs.util.Tags") diff --git a/kubejs/startup_scripts/gtceu/materials.js b/kubejs/startup_scripts/gtceu/materials.js index 24294ed39..e8105d667 100644 --- a/kubejs/startup_scripts/gtceu/materials.js +++ b/kubejs/startup_scripts/gtceu/materials.js @@ -37,7 +37,8 @@ const registerGTCEuMaterialModification = (event) => { GENERATE_SMALL_GEAR, GENERATE_GEAR, GENERATE_FRAME, - GENERATE_PLATE + GENERATE_PLATE, + GENERATE_RING } = $MATERIAL_FLAGS var metalTooling = [ @@ -182,7 +183,7 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.BismuthBronze.addFlags(GENERATE_FRAME); GTMaterials.Wood.addFlags(GENERATE_SMALL_GEAR); - GTMaterials.Brass.addFlags(GENERATE_SMALL_GEAR); + GTMaterials.Brass.addFlags(GENERATE_SMALL_GEAR, GENERATE_RING); GTMaterials.BismuthBronze.addFlags(GENERATE_GEAR); GTMaterials.Nickel.addFlags(GENERATE_ROD, GENERATE_LONG_ROD); @@ -237,13 +238,19 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Chromite.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.SKIN_CONTACT, GTMedicalConditions.CARCINOGEN, 1, false)); // Color Adjustments - GTMaterials.BismuthBronze.setMaterialARGB(0x8CDCB6) - GTMaterials.BlackBronze.setMaterialARGB(0xB681CE) - GTMaterials.RedSteel.setMaterialARGB(0xc8575d) - GTMaterials.RedSteel.setMaterialSecondaryARGB(0x560307) - GTMaterials.BlueSteel.setMaterialARGB(0x7a87b7) - GTMaterials.BlueSteel.setMaterialSecondaryARGB(0x283467) - + GTMaterials.BismuthBronze.setMaterialARGB(0x5A966E) + GTMaterials.BismuthBronze.setMaterialSecondaryARGB(0x203E2A) + GTMaterials.BlackBronze.setMaterialARGB(0x9D789D) + GTMaterials.BlackBronze.setMaterialSecondaryARGB(0x5B425B) + GTMaterials.Steel.setMaterialARGB(0x9AA9AB) + GTMaterials.SteelMagnetic.setMaterialARGB(0x9AA9AB) + GTMaterials.RedSteel.setMaterialARGB(0xDE7B80) + GTMaterials.RedSteel.setMaterialSecondaryARGB(0xE12323) + GTMaterials.BlueSteel.setMaterialARGB(0xA0B6EC) + GTMaterials.BlueSteel.setMaterialSecondaryARGB(0x2B5CD8) + + GTMaterials.Bismuth.setMaterialARGB(0x66847E) + GTMaterials.Bismuth.setMaterialSecondaryARGB(0x25465B) GTMaterials.Iron.setMaterialARGB(0x503d32) GTMaterials.Iron.setMaterialSecondaryARGB(0x131212) GTMaterials.IronMagnetic.setMaterialARGB(0x503d32) diff --git a/kubejs/startup_scripts/minecraft/constants.js b/kubejs/startup_scripts/minecraft/constants.js index c0c1eb955..4abb73568 100644 --- a/kubejs/startup_scripts/minecraft/constants.js +++ b/kubejs/startup_scripts/minecraft/constants.js @@ -671,7 +671,6 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:compass', 'minecraft:iron_bars', 'minecraft:honeycomb', - 'minecraft:tipped_arrow', 'minecraft:grindstone', 'minecraft:fermented_spider_eye', diff --git a/kubejs/startup_scripts/tfg/blocks.js b/kubejs/startup_scripts/tfg/blocks.js index 4d4e08405..115994f46 100644 --- a/kubejs/startup_scripts/tfg/blocks.js +++ b/kubejs/startup_scripts/tfg/blocks.js @@ -271,6 +271,7 @@ const registerTFGBlocks = (event) => { horizontal.resistance(16) horizontal.mapColor('color_orange') horizontal.tagBlock('minecraft:mineable/pickaxe') + horizontal.tagBlock('minecraft:climbable') horizontal.requiresTool(true) horizontal.renderType('cutout') horizontal.opaque(false) @@ -280,6 +281,7 @@ const registerTFGBlocks = (event) => { .resistance(16) .mapColor('color_orange') .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('minecraft:climbable') .requiresTool(true) .renderType('cutout') .opaque(false) diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index 578a31c60..1ec58c60a 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -140,6 +140,14 @@ const registerTFGItems = (event) => { .translationKey('item.tfg.conifer_rosin') //#endregion + //#region Arrow Parts + event.create('tfg:flint_arrow_head') + .translationKey('item.tfg.flint_arrow_head') + + event.create('tfg:fletching') + .translationKey('item.tfg.fletching') + //#endregion + //#region Immersive Aircraft Impl event.create('tfg:scaffolding_frame') .translationKey('item.tfg.scaffolding_frame') diff --git a/mods b/mods index c44b868e3..ffeea9861 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit c44b868e396f111ff0a98ef1c89b769a1a23c50f +Subproject commit ffeea9861f4266858a98d7be602b11eb3b8df073 diff --git a/pakku-lock.json b/pakku-lock.json index 1c37e2bac..cd965bf5b 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -288,22 +288,49 @@ ] }, { - "pakku_id": "2rBnljVR3chx8FKt", + "pakku_id": "MFD6jxruLpyHffUA", "pakku_links": [ - "jkz20XWDUGHwlZxp", - "HlauzHpOCumhX2AQ" + "EcBglfhqCOZSw5D9" ], "type": "MOD", + "side": "BOTH", "slug": { + "modrinth": "advancedperipherals", "curseforge": "advanced-peripherals" }, "name": { + "modrinth": "Advanced Peripherals", "curseforge": "Advanced Peripherals" }, "id": { + "modrinth": "SOw6jD6x", "curseforge": "431725" }, "files": [ + { + "type": "modrinth", + "file_name": "AdvancedPeripherals-1.20.1-0.7.41r.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/SOw6jD6x/versions/n4Npq89k/AdvancedPeripherals-1.20.1-0.7.41r.jar", + "id": "n4Npq89k", + "parent_id": "SOw6jD6x", + "hashes": { + "sha512": "feca2def6dcb82a9f9b99f9788f9e79a8eb2ed889bb782d34ef1dc7bcc79ec18f37e863f8955c737efd59992be1dbb9188d7f48708ec701872dfaaf0ae454f66", + "sha1": "e1040428e13272a318c06257ad9b1c6706f5ed1d" + }, + "required_dependencies": [ + "gu7yAYhd" + ], + "size": 875103, + "date_published": "2024-10-21T12:22:41.567033Z" + }, { "type": "curseforge", "file_name": "AdvancedPeripherals-1.20.1-0.7.41r.jar", @@ -434,25 +461,52 @@ ] }, { - "pakku_id": "cVlajuXjdGCDgeWt", + "pakku_id": "5jZ5lBj3SWftxKqq", "pakku_links": [ "UOjZxqemtQFAP9R8" ], "type": "MOD", "side": "CLIENT", "slug": { + "modrinth": "ambientsounds", "curseforge": "ambientsounds" }, "name": { + "modrinth": "AmbientSounds", "curseforge": "AmbientSounds 6" }, "id": { + "modrinth": "fM515JnW", "curseforge": "254284" }, "files": [ + { + "type": "modrinth", + "file_name": "AmbientSounds_FORGE_v6.1.8_mc1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/fM515JnW/versions/PDmfRznc/AmbientSounds_FORGE_v6.1.8_mc1.20.1.jar", + "id": "PDmfRznc", + "parent_id": "fM515JnW", + "hashes": { + "sha512": "10b8e34696583a6354c857ff00a15f7fa8978686a0dab4301bfc8cf11d24661ac296af9d481642f18145f21c241876eb40189b095b0505818fe44769ab63b665", + "sha1": "cf86d8e1f8de7fd9450a05d8cded6f5763849794" + }, + "required_dependencies": [ + "OsZiaDHq" + ], + "size": 83885939, + "date_published": "2025-04-08T22:11:03.624331Z" + }, { "type": "curseforge", - "file_name": "AmbientSounds_FORGE_v6.1.6_mc1.20.1.jar", + "file_name": "AmbientSounds_FORGE_v6.1.8_mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -461,18 +515,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6189/864/AmbientSounds_FORGE_v6.1.6_mc1.20.1.jar", - "id": "6189864", + "url": "https://edge.forgecdn.net/files/6400/880/AmbientSounds_FORGE_v6.1.8_mc1.20.1.jar", + "id": "6400880", "parent_id": "254284", "hashes": { - "sha1": "1ac6f734ca821508816c77736e15f6190c710a6b", - "md5": "8a13e5db399335fb9ec1596abd97385c" + "sha1": "cf86d8e1f8de7fd9450a05d8cded6f5763849794", + "md5": "aeabd3a86153a2af1231a7b857627dd0" }, "required_dependencies": [ "257814" ], - "size": 83885823, - "date_published": "2025-02-13T17:51:31.067Z" + "size": 83885939, + "date_published": "2025-04-08T22:10:36.207Z" } ] }, @@ -744,7 +798,11 @@ ] }, { - "pakku_id": "sf9L67gxwAfPdeEL", + "pakku_id": "Zx7AtIkZXpAMvXML", + "pakku_links": [ + "F6H99cZ4H6jZRpEK", + "sJVhKa7MFrt5HBXJ" + ], "type": "MOD", "side": "BOTH", "slug": { @@ -760,6 +818,31 @@ "modrinth": "Q7dNt3PU" }, "files": [ + { + "type": "curseforge", + "file_name": "TFCAstikorCarts-1.20.1-1.1.8.3.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5797/400/TFCAstikorCarts-1.20.1-1.1.8.3.jar", + "id": "5797400", + "parent_id": "844019", + "hashes": { + "sha1": "1a64a638d83e7b33d1f4c589ac0bc3005ffec34f", + "md5": "892642af7cbd0dddf82c19117c35382d" + }, + "required_dependencies": [ + "302973", + "916493" + ], + "size": 532048, + "date_published": "2024-10-09T14:37:43.363Z" + }, { "type": "modrinth", "file_name": "TFCAstikorCarts-1.20.1-1.1.8.3.jar", @@ -784,28 +867,6 @@ ], "size": 532048, "date_published": "2024-10-09T14:39:04.045371Z" - }, - { - "type": "curseforge", - "file_name": "TFCAstikorCarts-1.20.1-1.1.8.2.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/5645/573/TFCAstikorCarts-1.20.1-1.1.8.2.jar", - "id": "5645573", - "parent_id": "844019", - "hashes": { - "sha1": "d054e2587e8087d2884f6f880c2aee1249c85f44", - "md5": "3a00e2f249272af3a8ed7ebf1cad10c0" - }, - "required_dependencies": [], - "size": 530830, - "date_published": "2024-08-20T00:11:52.793Z" } ] }, @@ -1127,18 +1188,44 @@ ] }, { - "pakku_id": "CBSBD7u2DdsFEaoX", + "pakku_id": "Cix71vVsxRXjcO0Z", "type": "MOD", + "side": "BOTH", "slug": { + "modrinth": "balm", "curseforge": "balm" }, "name": { + "modrinth": "Balm", "curseforge": "Balm" }, "id": { + "modrinth": "MBAkmtvl", "curseforge": "531761" }, "files": [ + { + "type": "modrinth", + "file_name": "balm-forge-1.20.1-7.3.25-all.jar", + "mc_versions": [ + "1.20", + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/MBAkmtvl/versions/hk6Zuxrh/balm-forge-1.20.1-7.3.25-all.jar", + "id": "hk6Zuxrh", + "parent_id": "MBAkmtvl", + "hashes": { + "sha512": "47bf74e27686abe0aabdd19075dbcf3bd67d08c112d21b9000ba077dd8aea652de25294db01437a190fc006c192a46ad387f5a8fe65ae312d568a21a5cafdbd8", + "sha1": "9ea708714bae53e9aac894f034fd7d37840a8ced" + }, + "required_dependencies": [], + "size": 473917, + "date_published": "2025-03-24T07:57:06.335261Z" + }, { "type": "curseforge", "file_name": "balm-forge-1.20.1-7.3.25-all.jar", @@ -1443,22 +1530,53 @@ ] }, { - "pakku_id": "kP9ZUvWn1P5khogc", + "pakku_id": "aKG6d4VDjrpXsgOv", "pakku_links": [ "IqPkca9cWhZ2JxDJ", + "YrMPVh28ndtUkLsq", "hEH6ly65CC6Sw1pf" ], "type": "MOD", + "side": "BOTH", "slug": { + "modrinth": "betterp2p", "curseforge": "betterp2p" }, "name": { + "modrinth": "Better P2P", "curseforge": "Better P2P" }, "id": { + "modrinth": "9DDxOvTJ", "curseforge": "538092" }, "files": [ + { + "type": "modrinth", + "file_name": "betterp2p-1.5.0-forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/9DDxOvTJ/versions/9fICjMvt/betterp2p-1.5.0-forge.jar", + "id": "9fICjMvt", + "parent_id": "9DDxOvTJ", + "hashes": { + "sha512": "ced1cd946fe0d0e8fef94ee4afad88f7f4e10f94a04b9c08a2fbd709b9d1b0a0b1b2af57d0607c779ef11f66e0ca631bb8dfdd992ed2a5a6cf20701274bbddbc", + "sha1": "ee1a5e156b230474db0a57ce78174fcb1cd351e2" + }, + "required_dependencies": [ + "ordsPcFz", + "lhGA9TYQ", + "XxWD5pD3" + ], + "size": 262299, + "date_published": "2024-12-23T06:40:12.557938Z" + }, { "type": "curseforge", "file_name": "betterp2p-1.5.0-forge.jar", @@ -1909,18 +2027,48 @@ ] }, { - "pakku_id": "NZANIGIK8HPdr4i7", + "pakku_id": "WvU533IgjamjCFtT", + "pakku_links": [ + "3B5EGC3hh54PlLuy" + ], "type": "MOD", + "side": "BOTH", "slug": { + "modrinth": "carpeted-stairs", "curseforge": "carpeted-stairs" }, "name": { + "modrinth": "Carpeted Stairs & Slabs", "curseforge": "Carpeted Stairs & Slabs" }, "id": { + "modrinth": "Ogzlp7me", "curseforge": "720848" }, "files": [ + { + "type": "modrinth", + "file_name": "carpeted-1.20-1.4.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/Ogzlp7me/versions/5v8AkQ8d/carpeted-1.20-1.4.jar", + "id": "5v8AkQ8d", + "parent_id": "Ogzlp7me", + "hashes": { + "sha512": "4c9932e314ed8b9db1947e5a1174d84261e2b1258224ec1583fe84c4b8451fa34e750a660113abd19a4866b06f48bc80dd266167a247a0b743afddc4e3a80d5c", + "sha1": "5f177a96a08454572723cf31fee9187c6bc1140e" + }, + "required_dependencies": [ + "twkfQtEc" + ], + "size": 81717, + "date_published": "2023-07-20T22:42:01.926447Z" + }, { "type": "curseforge", "file_name": "carpeted-1.20-1.4.jar", @@ -2072,6 +2220,67 @@ } ] }, + { + "pakku_id": "M4PNTNZvxOW9zDWV", + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "chalk", + "modrinth": "chalk-mod" + }, + "name": { + "curseforge": "Chalk", + "modrinth": "Chalk" + }, + "id": { + "curseforge": "533748", + "modrinth": "YWGP4Y1d" + }, + "files": [ + { + "type": "modrinth", + "file_name": "chalk-1.20.1-1.6.5.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/YWGP4Y1d/versions/HA8yrJaB/chalk-1.20.1-1.6.5.jar", + "id": "HA8yrJaB", + "parent_id": "YWGP4Y1d", + "hashes": { + "sha512": "49220d73636378eae9f55d3dbeedaddcc2afa8949dc656d1ea2c64625aeda210bee3d28e7f704d0ec652020173025235a1d6fd0ef94797409c08defac622fe57", + "sha1": "e4dee75dfe5f8ca8ec21f89ff877d3564bd5c9df" + }, + "required_dependencies": [], + "size": 321480, + "date_published": "2024-12-10T13:00:12.908950Z" + }, + { + "type": "curseforge", + "file_name": "chalk-1.20.1-1.6.5.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5979/807/chalk-1.20.1-1.6.5.jar", + "id": "5979807", + "parent_id": "533748", + "hashes": { + "sha1": "e4dee75dfe5f8ca8ec21f89ff877d3564bd5c9df", + "md5": "cd1b8ce2f43d8dd29935778f3575d4f0" + }, + "required_dependencies": [], + "size": 321480, + "date_published": "2024-12-10T12:59:38.420Z" + } + ] + }, { "pakku_id": "uNx0hefaZ7i6Gtgo", "type": "MOD", @@ -2270,22 +2479,49 @@ ] }, { - "pakku_id": "2wmaTBMHkCmjJgHW", + "pakku_id": "QIcI3nCuFqWs7vYX", "pakku_links": [ - "CBSBD7u2DdsFEaoX" + "Cix71vVsxRXjcO0Z" ], "type": "MOD", "side": "CLIENT", "slug": { + "modrinth": "client-tweaks", "curseforge": "client-tweaks" }, "name": { + "modrinth": "Client Tweaks", "curseforge": "Client Tweaks" }, "id": { + "modrinth": "vPNqo58Q", "curseforge": "251407" }, "files": [ + { + "type": "modrinth", + "file_name": "clienttweaks-forge-1.20.1-11.1.3.jar", + "mc_versions": [ + "1.20", + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/vPNqo58Q/versions/pUepqrFU/clienttweaks-forge-1.20.1-11.1.3.jar", + "id": "pUepqrFU", + "parent_id": "vPNqo58Q", + "hashes": { + "sha512": "104c13b316c959ec5d9305c30faecdd48a9b4684187821c72fffebc501486bdbc24f17e42137a5b8f2a0e82bc5897277733b325afe7eecfb26efdffc49a0361b", + "sha1": "a607891a764722166715b0656bb6c2430e254316" + }, + "required_dependencies": [ + "MBAkmtvl" + ], + "size": 131625, + "date_published": "2025-02-23T10:22:48.430643Z" + }, { "type": "curseforge", "file_name": "clienttweaks-forge-1.20.1-11.1.3.jar", @@ -2377,18 +2613,43 @@ ] }, { - "pakku_id": "od9yjKETa58AwHsT", + "pakku_id": "xneofl9iTTnXmuy8", "type": "MOD", + "side": "BOTH", "slug": { + "modrinth": "clumps", "curseforge": "clumps" }, "name": { + "modrinth": "Clumps", "curseforge": "Clumps" }, "id": { + "modrinth": "Wnxd13zP", "curseforge": "256717" }, "files": [ + { + "type": "modrinth", + "file_name": "Clumps-forge-1.20.1-12.0.0.4.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/Wnxd13zP/versions/nAHGB5ls/Clumps-forge-1.20.1-12.0.0.4.jar", + "id": "nAHGB5ls", + "parent_id": "Wnxd13zP", + "hashes": { + "sha512": "ffd8ff2438e9f9d260d3926ccdd0cccc4772c6f99f29715690aed4f6e97a76035f3aeaa78168e2a458bc4cccf521e97ebdb6e0b61c819facb04af9ebb3638383", + "sha1": "8809c7aa6c71389e9c59abfe5def52c1cb8d4f1c" + }, + "required_dependencies": [], + "size": 20300, + "date_published": "2024-04-21T05:04:09.708311Z" + }, { "type": "curseforge", "file_name": "Clumps-forge-1.20.1-12.0.0.4.jar", @@ -2604,22 +2865,49 @@ ] }, { - "pakku_id": "GzdI0oHwJrRp9mrA", + "pakku_id": "fnzD4XLIcTV4FXFa", "pakku_links": [ - "yTR90RtnmEyMuFnr" + "yTR90RtnmEyMuFnr", + "gZs5XcDoMcVHtrQT" ], "type": "MOD", "side": "CLIENT", "slug": { + "modrinth": "controlling", "curseforge": "controlling" }, "name": { + "modrinth": "Controlling", "curseforge": "Controlling" }, "id": { + "modrinth": "xv94TkTM", "curseforge": "250398" }, "files": [ + { + "type": "modrinth", + "file_name": "Controlling-forge-1.20.1-12.0.2.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/xv94TkTM/versions/LH6Bi6Am/Controlling-forge-1.20.1-12.0.2.jar", + "id": "LH6Bi6Am", + "parent_id": "xv94TkTM", + "hashes": { + "sha512": "3945bf3f6d843957f13584dfc70bede253d1e48f0dcb96f647fbcc6fcd3d1748a0dd9c6ca5c882e07a41f98eb84057934f51e43ab6023ed0a19695de2e6fe9f5", + "sha1": "6195a3d1464f8fb641d7e165163aea1a857ce08e" + }, + "required_dependencies": [ + "fuuu3xnx" + ], + "size": 115280, + "date_published": "2023-07-16T04:39:30.644589Z" + }, { "type": "curseforge", "file_name": "Controlling-forge-1.20.1-12.0.2.jar", @@ -2646,18 +2934,43 @@ ] }, { - "pakku_id": "w2JoHfVDhChSvfRK", + "pakku_id": "9I12ezSTzqMVFO4v", "type": "MOD", + "side": "BOTH", "slug": { + "modrinth": "corpse", "curseforge": "corpse" }, "name": { + "modrinth": "Corpse", "curseforge": "Corpse" }, "id": { + "modrinth": "WrpuIfhw", "curseforge": "316582" }, "files": [ + { + "type": "modrinth", + "file_name": "corpse-forge-1.20.1-1.0.20.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/WrpuIfhw/versions/COpemDNs/corpse-forge-1.20.1-1.0.20.jar", + "id": "COpemDNs", + "parent_id": "WrpuIfhw", + "hashes": { + "sha512": "c2bbc5dcaa456a711d03550d7ca60cef71c28915b756c86ab6fd6b7838661cede06c6f5f0955c2f79ba587a68e5aef8a8549554f8f11fdfa679132d831d2d6f8", + "sha1": "0c99a369d3e0fb20a1da625edf30668642539690" + }, + "required_dependencies": [], + "size": 244995, + "date_published": "2025-01-24T21:54:05.638822Z" + }, { "type": "curseforge", "file_name": "corpse-forge-1.20.1-1.0.20.jar", @@ -2718,20 +3031,24 @@ ] }, { - "pakku_id": "dlZbve45rug8rUxr", + "pakku_id": "3za1aAMas06ht7mW", + "pakku_links": [ + "YieRg0J67mnZSA2F", + "YNN9MQRUOE5bQByi" + ], "type": "MOD", "side": "CLIENT", "slug": { - "curseforge": "craftpresence", - "modrinth": "craftpresence" + "modrinth": "craftpresence", + "curseforge": "craftpresence" }, "name": { - "curseforge": "CraftPresence", - "modrinth": "CraftPresence" + "modrinth": "CraftPresence", + "curseforge": "CraftPresence" }, "id": { - "curseforge": "297038", - "modrinth": "DFqQfIBR" + "modrinth": "DFqQfIBR", + "curseforge": "297038" }, "files": [ { @@ -2761,7 +3078,7 @@ }, { "type": "curseforge", - "file_name": "CraftPresence-2.5.0+1.20.1-forge.jar", + "file_name": "CraftPresence-2.5.3+1.20.1-forge.jar", "mc_versions": [ "1.20.1", "1.20" @@ -2771,37 +3088,65 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5608/316/CraftPresence-2.5.0+1.20.1-forge.jar", - "id": "5608316", + "url": "https://edge.forgecdn.net/files/6088/518/CraftPresence-2.5.3+1.20.1-forge.jar", + "id": "6088518", "parent_id": "297038", "hashes": { - "sha1": "dcc9436dd798fe92f755645c87bf652117eec07f", - "md5": "bf85197680ba5c372745cb7ce029e465" + "sha1": "7a350de8adcfff12b8606f1ab0de8422974d7e52", + "md5": "b08827d5e8a3ecfa580a7e660ec4a1f6" }, "required_dependencies": [ "1056812" ], - "size": 1905153, - "date_published": "2024-08-08T16:47:51.400Z" + "size": 2032016, + "date_published": "2025-01-15T02:17:23.247Z" } ] }, { - "pakku_id": "7BDiKQxTw2I9CY1A", + "pakku_id": "Iz1bBbjortNsh5sd", "pakku_links": [ - "CBSBD7u2DdsFEaoX" + "Cix71vVsxRXjcO0Z" ], "type": "MOD", + "side": "BOTH", "slug": { + "modrinth": "crafting-tweaks", "curseforge": "crafting-tweaks" }, "name": { + "modrinth": "Crafting Tweaks", "curseforge": "Crafting Tweaks" }, "id": { + "modrinth": "DMu0oBKf", "curseforge": "233071" }, "files": [ + { + "type": "modrinth", + "file_name": "craftingtweaks-forge-1.20.1-18.2.5.jar", + "mc_versions": [ + "1.20", + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/DMu0oBKf/versions/toAiSZzl/craftingtweaks-forge-1.20.1-18.2.5.jar", + "id": "toAiSZzl", + "parent_id": "DMu0oBKf", + "hashes": { + "sha512": "397f4faa63baf736c2fccb07182e5d0507116aaa506027311b7130e5047fd029bcc8e8f39353c1d1eb2bf9a6f1a12946d1ca2a4ccae74d082b8e517820da4d0b", + "sha1": "3c4bc369c16bdeb00782b2c141eeb6aecbbbcd0a" + }, + "required_dependencies": [ + "MBAkmtvl" + ], + "size": 221276, + "date_published": "2024-08-13T07:07:48.482441Z" + }, { "type": "curseforge", "file_name": "craftingtweaks-forge-1.20.1-18.2.5.jar", @@ -2975,24 +3320,23 @@ ] }, { - "pakku_id": "O2HUJjfNXeKh9X5t", + "pakku_id": "Rbhrcjz5hs1PW3Ep", "pakku_links": [ - "84mP4zIfFqgjbn47", "qb27I6RFmY1EfXWL" ], "type": "MOD", "side": "BOTH", "slug": { - "curseforge": "createaddition", - "modrinth": "createaddition" + "modrinth": "createaddition", + "curseforge": "createaddition" }, "name": { - "curseforge": "Create Crafts & Additions", - "modrinth": "Create Crafts & Additions" + "modrinth": "Create Crafts & Additions", + "curseforge": "Create Crafts & Additions" }, "id": { - "curseforge": "439890", - "modrinth": "kU1G12Nn" + "modrinth": "kU1G12Nn", + "curseforge": "439890" }, "files": [ { @@ -3020,7 +3364,7 @@ }, { "type": "curseforge", - "file_name": "createaddition-1.20.1-1.2.4c.jar", + "file_name": "createaddition-1.20.1-1.2.5.jar", "mc_versions": [ "1.20.1" ], @@ -3028,18 +3372,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5473/648/createaddition-1.20.1-1.2.4c.jar", - "id": "5473648", + "url": "https://edge.forgecdn.net/files/6084/982/createaddition-1.20.1-1.2.5.jar", + "id": "6084982", "parent_id": "439890", "hashes": { - "sha1": "167bc7a5a3c09b4ba4a1aae8d4206bcdaa0f531b", - "md5": "975b4217b7fdc17ddfc41b879dd14793" + "sha1": "956186484bab4eeee5eb0250e5509f1e01ad5094", + "md5": "76ba80eb6c017d3b8703581af4928895" }, - "required_dependencies": [ - "328085" - ], - "size": 1516454, - "date_published": "2024-06-25T17:03:25.453Z" + "required_dependencies": [], + "size": 1531985, + "date_published": "2025-01-13T23:07:52.247Z" } ] }, @@ -3178,26 +3520,49 @@ ] }, { - "pakku_id": "nETOAiekqVCbz6uw", + "pakku_id": "QADvVaNv0cDdMbxA", "pakku_links": [ - "84mP4zIfFqgjbn47", "qb27I6RFmY1EfXWL" ], "type": "MOD", "side": "BOTH", "slug": { - "curseforge": "create-connected", - "modrinth": "create-connected" + "modrinth": "create-connected", + "curseforge": "create-connected" }, "name": { - "curseforge": "Create: Connected", - "modrinth": "Create: Connected" + "modrinth": "Create: Connected", + "curseforge": "Create: Connected" }, "id": { - "curseforge": "947914", - "modrinth": "Vg5TIO6d" + "modrinth": "Vg5TIO6d", + "curseforge": "947914" }, "files": [ + { + "type": "modrinth", + "file_name": "create_connected-0.9.3-mc1.20.1-all.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "beta", + "url": "https://cdn.modrinth.com/data/Vg5TIO6d/versions/82iCuwFZ/create_connected-0.9.3-mc1.20.1-all.jar", + "id": "82iCuwFZ", + "parent_id": "Vg5TIO6d", + "hashes": { + "sha512": "8ae94384582025eb60f97cbee78e2a9bbc1fa71760715afa11764da5531356e4d9301999b33dd5ff711d096e4ee7e3e6619e6999e32cbfcf29aacc194e6a2173", + "sha1": "ad03c16cc9459c1d4fde5a17e28f4c73b7bd08c4" + }, + "required_dependencies": [ + "LNytGWDc" + ], + "size": 6231008, + "date_published": "2025-01-01T05:20:52.639879Z" + }, { "type": "curseforge", "file_name": "create_connected-0.9.3-mc1.20.1-all.jar", @@ -3221,52 +3586,27 @@ ], "size": 6231008, "date_published": "2025-01-01T05:18:51.580Z" - }, - { - "type": "modrinth", - "file_name": "create_connected-0.8.2-mc1.20.1-all.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "beta", - "url": "https://cdn.modrinth.com/data/Vg5TIO6d/versions/gKrm9DLf/create_connected-0.8.2-mc1.20.1-all.jar", - "id": "gKrm9DLf", - "parent_id": "Vg5TIO6d", - "hashes": { - "sha512": "1fa0d819cd22bc9bf155f28d3e056ffff8086748e31ccf1aa1d75e54c4f4b21033f6c7b0ae519f2d0347a3c93df1b8aa65d8b8eb18002aec04188bbcefd8ac07", - "sha1": "9eeb02a46197635ac926e8302aa536ad191ddf02" - }, - "required_dependencies": [ - "LNytGWDc" - ], - "size": 6145362, - "date_published": "2024-05-29T15:36:20.552670Z" } ] }, { - "pakku_id": "nx6J4hVPORC7FHih", + "pakku_id": "SfTaM1HeaJTzJKuK", "pakku_links": [ - "JJEMwzpSHmXvtGNL", - "84mP4zIfFqgjbn47", "qb27I6RFmY1EfXWL" ], "type": "MOD", "side": "BOTH", "slug": { - "curseforge": "create-steam-n-rails", - "modrinth": "create-steam-n-rails" + "modrinth": "create-steam-n-rails", + "curseforge": "create-steam-n-rails" }, "name": { - "curseforge": "Create: Steam 'n' Rails", - "modrinth": "Create: Steam 'n' Rails" + "modrinth": "Create: Steam 'n' Rails", + "curseforge": "Create: Steam 'n' Rails" }, "id": { - "curseforge": "688231", - "modrinth": "ZzjhlDgM" + "modrinth": "ZzjhlDgM", + "curseforge": "688231" }, "files": [ { @@ -3295,7 +3635,7 @@ }, { "type": "curseforge", - "file_name": "Steam_Rails-1.6.4+forge-mc1.20.1.jar", + "file_name": "Steam_Rails-1.6.7+forge-mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -3304,18 +3644,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5331/300/Steam_Rails-1.6.4+forge-mc1.20.1.jar", - "id": "5331300", + "url": "https://edge.forgecdn.net/files/5840/17/Steam_Rails-1.6.7+forge-mc1.20.1.jar", + "id": "5840017", "parent_id": "688231", "hashes": { - "sha1": "1fa6261d8bcde2feb200886e2ff6cfcbbdb53e17", - "md5": "a166aa861a8c584c89271731d882a45e" + "sha1": "7449e9cbaae6a23a31127a3cf0886899c28639dc", + "md5": "32a83dba6630165e1415f9e78d4aaf2e" }, "required_dependencies": [ "328085" ], - "size": 9096035, - "date_published": "2024-05-09T22:45:15.623Z" + "size": 9997801, + "date_published": "2024-10-23T21:20:27.887Z" } ] }, @@ -3455,20 +3795,20 @@ ] }, { - "pakku_id": "L53Ef9uBsLUPAXf6", + "pakku_id": "jJtncbBh6avvM7Pi", "type": "MOD", "side": "BOTH", "slug": { - "curseforge": "cucumber", - "modrinth": "cucumber" + "modrinth": "cucumber", + "curseforge": "cucumber" }, "name": { - "curseforge": "Cucumber Library", - "modrinth": "Cucumber Library" + "modrinth": "Cucumber Library", + "curseforge": "Cucumber Library" }, "id": { - "curseforge": "272335", - "modrinth": "Rw1NrDzF" + "modrinth": "Rw1NrDzF", + "curseforge": "272335" }, "files": [ { @@ -3494,7 +3834,7 @@ }, { "type": "curseforge", - "file_name": "Cucumber-1.20.1-7.0.12.jar", + "file_name": "Cucumber-1.20.1-7.0.13.jar", "mc_versions": [ "1.20.1" ], @@ -3502,16 +3842,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5714/571/Cucumber-1.20.1-7.0.12.jar", - "id": "5714571", + "url": "https://edge.forgecdn.net/files/5857/370/Cucumber-1.20.1-7.0.13.jar", + "id": "5857370", "parent_id": "272335", "hashes": { - "sha1": "3346991a0cd78ff438ec38583f9f3e9d2c7aea10", - "md5": "8e7877d561e131a3515a41b7e19f18d9" + "sha1": "e2987306d878745a1ea926bdee07f8d320bfa848", + "md5": "9526fd88bd6ce8f5e1d50181f4f46b04" }, "required_dependencies": [], - "size": 269587, - "date_published": "2024-09-11T19:32:39.850Z" + "size": 269589, + "date_published": "2024-10-29T16:55:57.013Z" } ] }, @@ -3655,21 +3995,49 @@ ] }, { - "pakku_id": "LdL5SyxWFRXcqOzw", + "pakku_id": "IglMnIORa9sn78lZ", "pakku_links": [ - "CBSBD7u2DdsFEaoX" + "Cix71vVsxRXjcO0Z" ], "type": "MOD", + "side": "CLIENT", "slug": { + "modrinth": "default-options", "curseforge": "default-options" }, "name": { + "modrinth": "Default Options", "curseforge": "Default Options" }, "id": { + "modrinth": "WEg59z5b", "curseforge": "232131" }, "files": [ + { + "type": "modrinth", + "file_name": "defaultoptions-forge-1.20-18.0.1.jar", + "mc_versions": [ + "1.20", + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/WEg59z5b/versions/CKNINccT/defaultoptions-forge-1.20-18.0.1.jar", + "id": "CKNINccT", + "parent_id": "WEg59z5b", + "hashes": { + "sha512": "41ab37f580a1cbcb063958b7ec6034c9bea729aecb5452e5982a21d068617a818e78d31f03e76fc4e06dbf73f066f576d9dd6566f70d4912f29b595ba5c54079", + "sha1": "73af2309627a68a7bff3e53e02ea22fb5c4651e5" + }, + "required_dependencies": [ + "MBAkmtvl" + ], + "size": 87942, + "date_published": "2023-07-10T20:42:17.439457Z" + }, { "type": "curseforge", "file_name": "defaultoptions-forge-1.20-18.0.1.jar", @@ -3759,25 +4127,30 @@ ] }, { - "pakku_id": "j8Ir2JRnUYQEZNvJ", + "pakku_id": "cIGIb7l5Z53WuqqQ", "pakku_links": [ - "uCACXyPoJ4iKQzNG" + "uCACXyPoJ4iKQzNG", + "Wp4bimC12ZfUWRDW", + "F6H99cZ4H6jZRpEK" ], "type": "MOD", "side": "BOTH", "slug": { - "modrinth": "digger-helmet" + "modrinth": "digger-helmet", + "curseforge": "digger-helmet" }, "name": { - "modrinth": "Digger Helmet" + "modrinth": "Digger Helmet", + "curseforge": "Digger Helmet" }, "id": { - "modrinth": "8Aatj9Zy" + "modrinth": "8Aatj9Zy", + "curseforge": "1243596" }, "files": [ { "type": "modrinth", - "file_name": "diggerhelmet-1.20.1-1.0.0.16.jar", + "file_name": "diggerhelmet-1.20.1-1.0.0.18.jar", "mc_versions": [ "1.20.1" ], @@ -3786,19 +4159,46 @@ "neoforge" ], "release_type": "alpha", - "url": "https://cdn.modrinth.com/data/8Aatj9Zy/versions/5rweNw1h/diggerhelmet-1.20.1-1.0.0.16.jar", - "id": "5rweNw1h", + "url": "https://cdn.modrinth.com/data/8Aatj9Zy/versions/F1OxL4u7/diggerhelmet-1.20.1-1.0.0.18.jar", + "id": "F1OxL4u7", "parent_id": "8Aatj9Zy", "hashes": { - "sha512": "c0e63e74fb7154a0fbad9244cf8a6f69b5f57f1157e5c0824864e11f9652391ee4825d8f6000baf8a65f8b0b0be69b64596797a42f897f165dd2a16c8718b2ec", - "sha1": "674235b35ed08dc16906603043c010f3a2a9485d" + "sha512": "6fccff7666420fef07997f56d2951465f7c58b1ec4c6de144f643ba0c9365ed47bc2c0636d92d97c457d2a1a7df4a25adf1492ab91954f92ee3aec15e5b441e1", + "sha1": "2020d274cfb18c26c1ee079bf45673e781a6bae5" }, "required_dependencies": [ + "8BmcQJ2H", "vvuO3ImH", - "8BmcQJ2H" + "JaCEZUhg" ], - "size": 109514, - "date_published": "2025-03-31T05:56:20.625415Z" + "size": 163250, + "date_published": "2025-04-16T13:26:55.189626Z" + }, + { + "type": "curseforge", + "file_name": "diggerhelmet-1.20.1-1.0.0.18.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "beta", + "url": "https://edge.forgecdn.net/files/6429/110/diggerhelmet-1.20.1-1.0.0.18.jar", + "id": "6429110", + "parent_id": "1243596", + "hashes": { + "sha1": "2020d274cfb18c26c1ee079bf45673e781a6bae5", + "md5": "fa685357a3a22e9b946d00d3f5ad1c65" + }, + "required_dependencies": [ + "302973", + "388172", + "309927" + ], + "size": 163250, + "date_published": "2025-04-16T13:29:52.010Z" } ] }, @@ -4104,7 +4504,7 @@ "uCACXyPoJ4iKQzNG" ], "type": "MOD", - "side": "CLIENT", + "side": "BOTH", "slug": { "curseforge": "enderman-overhaul", "modrinth": "enderman-overhaul" @@ -4303,20 +4703,16 @@ ] }, { - "pakku_id": "qaC8dEXb3M46wC0R", + "pakku_id": "6YCX6n9EgxxL8O3f", "type": "MOD", - "side": "BOTH", "slug": { - "curseforge": "etched", - "modrinth": "etched" + "curseforge": "etched" }, "name": { - "curseforge": "Etched", - "modrinth": "Etched" + "curseforge": "Etched" }, "id": { - "curseforge": "491890", - "modrinth": "zi3Fnfmc" + "curseforge": "491890" }, "files": [ { @@ -4340,28 +4736,6 @@ "required_dependencies": [], "size": 611496, "date_published": "2024-12-17T19:34:14.223Z" - }, - { - "type": "modrinth", - "file_name": "etched-3.0.2.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/zi3Fnfmc/versions/M178L4Do/etched-3.0.2.jar", - "id": "M178L4Do", - "parent_id": "zi3Fnfmc", - "hashes": { - "sha512": "d932c4fb13b62e92f33dbad0d826e3f08f338d05e166421bf997101176b468f23792931b2c6f154e3b2d1c6fde5012a3ae5a98aa7711da5eb41184523d834046", - "sha1": "792f055e76eb7a13efe26552cbccad66c2585860" - }, - "required_dependencies": [], - "size": 610871, - "date_published": "2024-05-14T23:44:35.498485Z" } ] }, @@ -4431,7 +4805,7 @@ ] }, { - "pakku_id": "0IwFEbZILbvIn5s3", + "pakku_id": "ZnPhLZ65YNJrpOON", "type": "MOD", "side": "BOTH", "slug": { @@ -4447,6 +4821,27 @@ "modrinth": "hB899VmG" }, "files": [ + { + "type": "curseforge", + "file_name": "exposure-1.20.1-1.7.10-forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6304/406/exposure-1.20.1-1.7.10-forge.jar", + "id": "6304406", + "parent_id": "871755", + "hashes": { + "sha1": "a8595144c369937987152ba3661f04c821443c4d", + "md5": "b7772ed21e7a5422c5d6d85991aba2bc" + }, + "required_dependencies": [], + "size": 1333973, + "date_published": "2025-03-14T19:42:36.340Z" + }, { "type": "modrinth", "file_name": "exposure-1.20.1-1.7.10-forge.jar", @@ -4467,28 +4862,6 @@ "required_dependencies": [], "size": 1333973, "date_published": "2025-03-14T19:42:36.029110Z" - }, - { - "type": "curseforge", - "file_name": "exposure-1.20.1-1.7.7-forge.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/5751/145/exposure-1.20.1-1.7.7-forge.jar", - "id": "5751145", - "parent_id": "871755", - "hashes": { - "sha1": "eda99c8659c675f2b3a9362129a061c4c11f7b2f", - "md5": "e0f1386d5e62a60f8a577dcaec3ebd1e" - }, - "required_dependencies": [], - "size": 1326106, - "date_published": "2024-09-24T02:18:53.903Z" } ] }, @@ -5357,24 +5730,48 @@ ] }, { - "pakku_id": "gANtU2y5hTCQgmzw", + "pakku_id": "RwppJL578CgU7lki", "pakku_links": [ - "7G8CAYj7aYbcj9DY", - "54GBXX5SRvwVuWAF", "Bulb4DSBYe5vmmM4" ], "type": "MOD", "side": "BOTH", "slug": { + "curseforge": "firmacivplus", "modrinth": "firmacivplus" }, "name": { + "curseforge": "FirmaCivPlus", "modrinth": "FirmaCivPlus" }, "id": { + "curseforge": "1243743", "modrinth": "h1WsEaNH" }, "files": [ + { + "type": "curseforge", + "file_name": "firmacivplus-1.0.0-1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6426/37/firmacivplus-1.0.0-1.20.1.jar", + "id": "6426037", + "parent_id": "1243743", + "hashes": { + "sha1": "9bdb54e464ca7ad507242d9f2d12c1b8c0761625", + "md5": "8d57bbca2c9c48353fbedcef674387a1" + }, + "required_dependencies": [ + "714158" + ], + "size": 7027607, + "date_published": "2025-04-15T15:21:19.367Z" + }, { "type": "modrinth", "file_name": "firmacivplus-1.0.0-1.20.1.jar", @@ -5468,7 +5865,7 @@ ] }, { - "pakku_id": "GnwWaOqj3PsROaDV", + "pakku_id": "pFU4Ma0J92JfoKnW", "type": "MOD", "side": "CLIENT", "slug": { @@ -5485,6 +5882,27 @@ }, "redistributable": false, "files": [ + { + "type": "curseforge", + "file_name": "firstperson-forge-2.4.8-mc1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "beta", + "url": "https://edge.forgecdn.net/files/6011/928/firstperson-forge-2.4.8-mc1.20.1.jar", + "id": "6011928", + "parent_id": "333287", + "hashes": { + "sha1": "1ab303f2e074acf090bb150b929d0d5737dc1183", + "md5": "c1c1281332086f06f3906774f36503ed" + }, + "required_dependencies": [], + "size": 126470, + "date_published": "2024-12-21T23:24:09.477Z" + }, { "type": "modrinth", "file_name": "firstperson-forge-2.4.8-mc1.20.1.jar", @@ -5505,27 +5923,6 @@ "required_dependencies": [], "size": 126470, "date_published": "2024-12-21T23:24:11.155518Z" - }, - { - "type": "curseforge", - "file_name": "firstperson-forge-2.4.5-mc1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "beta", - "url": "https://edge.forgecdn.net/files/5729/167/firstperson-forge-2.4.5-mc1.20.1.jar", - "id": "5729167", - "parent_id": "333287", - "hashes": { - "sha1": "84f0f568482a83dc6d412efc31ca4e2b243a2bb1", - "md5": "7be7c503155f33dd6320ccef00e4219b" - }, - "required_dependencies": [], - "size": 126229, - "date_published": "2024-09-16T17:25:30.727Z" } ] }, @@ -5833,7 +6230,7 @@ { "pakku_id": "uCACXyPoJ4iKQzNG", "type": "MOD", - "side": "CLIENT", + "side": "BOTH", "slug": { "curseforge": "geckolib", "modrinth": "geckolib" @@ -6055,27 +6452,43 @@ ] }, { - "pakku_id": "j6fA0JbUIMVAq3q2", + "pakku_id": "JYHQVYwIGQYRij0G", "type": "MOD", + "side": "BOTH", "slug": { - "github": "GreateBeyondTheHorizon/Greate" + "modrinth": "greate" }, "name": { - "github": "Greate" + "modrinth": "Greate" }, "id": { - "github": "673422318" + "modrinth": "8wDcQuht" }, "files": [ { - "type": "github", + "type": "modrinth", "file_name": "greate-0.0.38.jar", - "release_type": "release", - "url": "https://github.com/GreateBeyondTheHorizon/Greate/releases/download/0.0.38/greate-0.0.38.jar", - "id": "227638684", - "parent_id": "673422318", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "alpha", + "url": "https://cdn.modrinth.com/data/8wDcQuht/versions/jfXaHhi2/greate-0.0.38.jar", + "id": "jfXaHhi2", + "parent_id": "8wDcQuht", + "hashes": { + "sha512": "53a5d9985b31660cac20a708ceb13b1855ae5c3f948c9adf242c37fa6f19b9f03b51a3f566696a922039ecad2a7d6afce962f40f1bae181032d972aca0779d44", + "sha1": "4b3cde954b102e5f5c4b940a42220c2979a5eb70" + }, + "required_dependencies": [ + "7tG215v7", + "LNytGWDc" + ], "size": 1514248, - "date_published": "2025-02-09T16:31:16Z" + "date_published": "2025-02-09T16:31:14.824605Z" } ] }, @@ -6692,6 +7105,9 @@ }, { "pakku_id": "qfmfJ9pcWlHX4gSC", + "pakku_links": [ + "K1CxjpiwXqtWrxdd" + ], "type": "MOD", "side": "CLIENT", "slug": { @@ -6756,7 +7172,10 @@ ] }, { - "pakku_id": "tZFjpbX8SGeJ4S26", + "pakku_id": "NhIPVu8RDHYHrFcw", + "pakku_links": [ + "UOjZxqemtQFAP9R8" + ], "type": "MOD", "side": "CLIENT", "slug": { @@ -6772,6 +7191,30 @@ "modrinth": "OuyCgP8t" }, "files": [ + { + "type": "curseforge", + "file_name": "ItemPhysicLite_FORGE_v1.6.6_mc1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6045/994/ItemPhysicLite_FORGE_v1.6.6_mc1.20.1.jar", + "id": "6045994", + "parent_id": "270441", + "hashes": { + "sha1": "4fc87af53afb8610e77710b30340783fc6bd0ccf", + "md5": "83c19033092e5eab8c00e0ab056a783a" + }, + "required_dependencies": [ + "257814" + ], + "size": 19487, + "date_published": "2025-01-02T15:19:28.153Z" + }, { "type": "modrinth", "file_name": "ItemPhysicLite_FORGE_v1.6.6_mc1.20.1.jar", @@ -6795,35 +7238,14 @@ ], "size": 19487, "date_published": "2025-01-02T15:19:25.955410Z" - }, - { - "type": "curseforge", - "file_name": "ItemPhysicLite_FORGE_v1.6.5_mc1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/5739/352/ItemPhysicLite_FORGE_v1.6.5_mc1.20.1.jar", - "id": "5739352", - "parent_id": "270441", - "hashes": { - "sha1": "ae7c975384abced013c7a040393a60715bb5000b", - "md5": "a274f504b0127d0a18fc5f7906480e57" - }, - "required_dependencies": [ - "257814" - ], - "size": 19472, - "date_published": "2024-09-20T08:53:31.590Z" } ] }, { - "pakku_id": "Tz2azrcPXrKQzzPe", + "pakku_id": "9QhYmcgAPjE21AZN", + "pakku_links": [ + "7QIRhUwYRTKZoPpd" + ], "type": "MOD", "side": "BOTH", "slug": { @@ -6839,6 +7261,31 @@ "modrinth": "xuDOzCLy" }, "files": [ + { + "type": "curseforge", + "file_name": "JadeAddons-1.20.1-Forge-5.3.1.jar", + "mc_versions": [ + "1.20.1", + "1.20" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5693/124/JadeAddons-1.20.1-Forge-5.3.1.jar", + "id": "5693124", + "parent_id": "583345", + "hashes": { + "sha1": "140a393ae43519bcb9018a7e00c300f930d659dc", + "md5": "41662ef8645177cc3f90fc34007563df" + }, + "required_dependencies": [ + "324717" + ], + "size": 77839, + "date_published": "2024-09-04T19:28:49.377Z" + }, { "type": "modrinth", "file_name": "JadeAddons-1.20.1-Forge-5.3.1.jar", @@ -6863,31 +7310,6 @@ ], "size": 77839, "date_published": "2024-09-04T19:28:53.887177Z" - }, - { - "type": "curseforge", - "file_name": "JadeAddons-1.20.1-forge-5.2.2.jar", - "mc_versions": [ - "1.20.1", - "1.20" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/4925/840/JadeAddons-1.20.1-forge-5.2.2.jar", - "id": "4925840", - "parent_id": "583345", - "hashes": { - "sha1": "74b567a2b23bf34cd37ee4c02059318f8cc702d7", - "md5": "2f1d72f5d532e421b360ecf8f8b31ba5" - }, - "required_dependencies": [ - "324717" - ], - "size": 58529, - "date_published": "2023-12-04T11:50:51.590Z" } ] }, @@ -7834,9 +8256,11 @@ ] }, { - "pakku_id": "allFEHgIxsCYE7PD", + "pakku_id": "0V3RchpzHxX7JWSb", "pakku_links": [ - "r5vLdsJ3IXx8Mfse" + "YrMPVh28ndtUkLsq", + "r5vLdsJ3IXx8Mfse", + "qDUpAZkCcYB6JdyI" ], "type": "MOD", "side": "BOTH", @@ -7853,6 +8277,30 @@ "modrinth": "umyGl7zF" }, "files": [ + { + "type": "curseforge", + "file_name": "kubejs-forge-2001.6.5-build.16.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5853/326/kubejs-forge-2001.6.5-build.16.jar", + "id": "5853326", + "parent_id": "238086", + "hashes": { + "sha1": "93fcf0eacc5dc08a4f719eaaed1dc93f0dc80f66", + "md5": "f4c6924bef764748d26ee51e4d4c0b00" + }, + "required_dependencies": [ + "419699", + "416294" + ], + "size": 1654660, + "date_published": "2024-10-28T09:20:33.537Z" + }, { "type": "modrinth", "file_name": "kubejs-forge-2001.6.5-build.16.jar", @@ -7871,36 +8319,11 @@ "sha1": "93fcf0eacc5dc08a4f719eaaed1dc93f0dc80f66" }, "required_dependencies": [ - "lhGA9TYQ", - "sk9knFPE" + "sk9knFPE", + "lhGA9TYQ" ], "size": 1654660, "date_published": "2024-10-28T09:20:35.912552Z" - }, - { - "type": "curseforge", - "file_name": "kubejs-forge-2001.6.5-build.14.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/5454/840/kubejs-forge-2001.6.5-build.14.jar", - "id": "5454840", - "parent_id": "238086", - "hashes": { - "sha1": "3a40e639a6b7576deeb1f9e5379beaba85c15280", - "md5": "b23faa10b06f01809ad4e5bf28da453c" - }, - "required_dependencies": [ - "419699", - "416294" - ], - "size": 1654724, - "date_published": "2024-06-21T18:29:12.720Z" } ] }, @@ -7909,7 +8332,8 @@ "pakku_links": [ "allFEHgIxsCYE7PD", "84mP4zIfFqgjbn47", - "qb27I6RFmY1EfXWL" + "qb27I6RFmY1EfXWL", + "0V3RchpzHxX7JWSb" ], "type": "MOD", "side": "BOTH", @@ -7979,7 +8403,8 @@ { "pakku_id": "achY0mkmvpvIZtNh", "pakku_links": [ - "F6H99cZ4H6jZRpEK" + "F6H99cZ4H6jZRpEK", + "0V3RchpzHxX7JWSb" ], "type": "MOD", "side": "BOTH", @@ -8248,39 +8673,66 @@ ] }, { - "pakku_id": "m3etmMcwwpwqRadD", + "pakku_id": "BCuKijcfFLKJoJgq", "type": "MOD", + "side": "BOTH", "slug": { - "curseforge": "lootr" + "curseforge": "lootr", + "modrinth": "lootr" }, "name": { - "curseforge": "Lootr (Forge & NeoForge)" + "curseforge": "Lootr (Forge & NeoForge)", + "modrinth": "Lootr" }, "id": { - "curseforge": "361276" + "curseforge": "361276", + "modrinth": "EltpO5cN" }, "files": [ { "type": "curseforge", - "file_name": "lootr-forge-1.20-0.7.34.89.jar", + "file_name": "lootr-forge-1.20-0.7.35.90.jar", "mc_versions": [ "1.20.1", "1.20" ], "loaders": [ + "neoforge", "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5636/598/lootr-forge-1.20-0.7.34.89.jar", - "id": "5636598", + "url": "https://edge.forgecdn.net/files/5976/109/lootr-forge-1.20-0.7.35.90.jar", + "id": "5976109", "parent_id": "361276", "hashes": { - "sha1": "4f6fb612fee28f82b798723e76de5752636c4eea", - "md5": "268721ef907b1d9f9a42e36d370c6c90" + "sha1": "919a1e75d8fac3081743c9dcbe6679a28c867ec9", + "md5": "570d8e000bf17cc71eb0b26cfd4dc7a6" }, "required_dependencies": [], - "size": 347913, - "date_published": "2024-08-17T02:26:34.983Z" + "size": 457647, + "date_published": "2024-12-09T01:59:08.480Z" + }, + { + "type": "modrinth", + "file_name": "lootr-forge-1.20-0.7.35.90.jar", + "mc_versions": [ + "1.20", + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/EltpO5cN/versions/uZTpIy1Z/lootr-forge-1.20-0.7.35.90.jar", + "id": "uZTpIy1Z", + "parent_id": "EltpO5cN", + "hashes": { + "sha512": "57830390a8d3fb59b0950aa0a422d31e3d18eeff09a77175548876d322e2f395a69a2720d988f256cfdebde26ec54f1cf1e1c35b6b3ae3aea42855906b816421", + "sha1": "919a1e75d8fac3081743c9dcbe6679a28c867ec9" + }, + "required_dependencies": [], + "size": 457647, + "date_published": "2024-12-09T02:01:02.658171Z" } ] }, @@ -8496,18 +8948,44 @@ ] }, { - "pakku_id": "7kwz7sGb5cZCf3kp", + "pakku_id": "c8G3t46sMPikEB2L", "type": "MOD", + "side": "BOTH", "slug": { + "modrinth": "measurements", "curseforge": "measurements" }, "name": { + "modrinth": "Measurements", "curseforge": "Measurements" }, "id": { + "modrinth": "wLINU2AB", "curseforge": "478559" }, "files": [ + { + "type": "modrinth", + "file_name": "Measurements-forge-1.20.1-2.0.0.jar", + "mc_versions": [ + "1.20", + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/wLINU2AB/versions/EHwSQ3lX/Measurements-forge-1.20.1-2.0.0.jar", + "id": "EHwSQ3lX", + "parent_id": "wLINU2AB", + "hashes": { + "sha512": "f6d3f38f37f205edefd765392c3548ab9550722c5209a0eb81d5e22bd00cba27927e273709cabb49b83e3b5230d32daef8277cd07a27d87abd38ce68779064c4", + "sha1": "9d630242698067214d354ee6f1059d4ea56c36dd" + }, + "required_dependencies": [], + "size": 43447, + "date_published": "2023-06-14T16:52:45.729170Z" + }, { "type": "curseforge", "file_name": "Measurements-forge-1.20.1-2.0.0.jar", @@ -9445,23 +9923,23 @@ ] }, { - "pakku_id": "GAki1Arlsgajcu08", + "pakku_id": "K1CxjpiwXqtWrxdd", "pakku_links": [ "PGG5IiciynuRNWMz" ], "type": "MOD", "side": "CLIENT", "slug": { - "curseforge": "oculus", - "modrinth": "oculus" + "modrinth": "oculus", + "curseforge": "oculus" }, "name": { - "curseforge": "Oculus", - "modrinth": "Oculus" + "modrinth": "Oculus", + "curseforge": "Oculus" }, "id": { - "curseforge": "581495", - "modrinth": "GchcoXML" + "modrinth": "GchcoXML", + "curseforge": "581495" }, "files": [ { @@ -9490,7 +9968,7 @@ }, { "type": "curseforge", - "file_name": "oculus-mc1.20.1-1.7.0.jar", + "file_name": "oculus-mc1.20.1-1.8.0.jar", "mc_versions": [ "1.20.1" ], @@ -9499,36 +9977,34 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5299/671/oculus-mc1.20.1-1.7.0.jar", - "id": "5299671", + "url": "https://edge.forgecdn.net/files/6020/952/oculus-mc1.20.1-1.8.0.jar", + "id": "6020952", "parent_id": "581495", "hashes": { - "sha1": "27410903d3af950378776106b76503cfebe7ea3a", - "md5": "45b96133bb46cc61dd9778bd4fca741d" + "sha1": "984f774e71790deaec674c7587bd24e0711871b2", + "md5": "1dd891634ac21591b5a692471f112572" }, - "required_dependencies": [ - "908741" - ], - "size": 2831148, - "date_published": "2024-04-28T21:22:38.047Z" + "required_dependencies": [], + "size": 2851119, + "date_published": "2024-12-24T23:33:51.040Z" } ] }, { - "pakku_id": "4jSDms54eHIMArhs", + "pakku_id": "6PXFYlWK80AHRStw", "type": "MOD", "side": "BOTH", "slug": { - "curseforge": "open-parties-and-claims", - "modrinth": "open-parties-and-claims" + "modrinth": "open-parties-and-claims", + "curseforge": "open-parties-and-claims" }, "name": { - "curseforge": "Open Parties and Claims", - "modrinth": "Open Parties and Claims" + "modrinth": "Open Parties and Claims", + "curseforge": "Open Parties and Claims" }, "id": { - "curseforge": "636608", - "modrinth": "gF3BGWvG" + "modrinth": "gF3BGWvG", + "curseforge": "636608" }, "files": [ { @@ -9555,7 +10031,7 @@ }, { "type": "curseforge", - "file_name": "open-parties-and-claims-forge-1.20.1-0.23.2.jar", + "file_name": "open-parties-and-claims-forge-1.20.1-0.23.7.jar", "mc_versions": [ "1.20.1", "1.20" @@ -9564,16 +10040,16 @@ "forge" ], "release_type": "beta", - "url": "https://edge.forgecdn.net/files/5556/895/open-parties-and-claims-forge-1.20.1-0.23.2.jar", - "id": "5556895", + "url": "https://edge.forgecdn.net/files/6055/478/open-parties-and-claims-forge-1.20.1-0.23.7.jar", + "id": "6055478", "parent_id": "636608", "hashes": { - "sha1": "17f769e0779e302882c3143a3d0e0fed7737f1a2", - "md5": "901132f5ea46d4e6afc4a7db2677fcfb" + "sha1": "8f59207176cdc2fe53e5f7e65debc08a7dca3882", + "md5": "29b434029c7960a57ea1b70cb73bf7a9" }, "required_dependencies": [], - "size": 1244599, - "date_published": "2024-07-23T09:58:07.120Z" + "size": 1245092, + "date_published": "2025-01-05T08:54:48.380Z" } ] }, @@ -9867,7 +10343,7 @@ { "pakku_id": "nZjo5dxgrxl4zm2b", "type": "MOD", - "side": "CLIENT", + "side": "BOTH", "slug": { "curseforge": "particular-reforged", "modrinth": "particular-reforged" @@ -10093,23 +10569,23 @@ ] }, { - "pakku_id": "mwuJTllnFzTiipMp", + "pakku_id": "Q05ngAFjkXSxr7W2", "pakku_links": [ "UOjZxqemtQFAP9R8" ], "type": "MOD", "side": "BOTH", "slug": { - "curseforge": "playerrevive", - "modrinth": "playerrevive" + "modrinth": "playerrevive", + "curseforge": "playerrevive" }, "name": { - "curseforge": "PlayerRevive", - "modrinth": "PlayerRevive" + "modrinth": "PlayerRevive", + "curseforge": "PlayerRevive" }, "id": { - "curseforge": "266890", - "modrinth": "ABIMzABM" + "modrinth": "ABIMzABM", + "curseforge": "266890" }, "files": [ { @@ -10138,7 +10614,7 @@ }, { "type": "curseforge", - "file_name": "PlayerRevive_FORGE_v2.0.27_mc1.20.1.jar", + "file_name": "PlayerRevive_FORGE_v2.0.31_mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -10147,18 +10623,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5647/65/PlayerRevive_FORGE_v2.0.27_mc1.20.1.jar", - "id": "5647065", + "url": "https://edge.forgecdn.net/files/6048/921/PlayerRevive_FORGE_v2.0.31_mc1.20.1.jar", + "id": "6048921", "parent_id": "266890", "hashes": { - "sha1": "fe335d6680b86aad9ff95e1858b572244b168ff7", - "md5": "afe26f328a86df83c3ddc8bad3839226" + "sha1": "84c039f20b8f048c835c429c2c4a9fd82a5e65f6", + "md5": "e07fc42680a0163c99c21cfa9afb9816" }, "required_dependencies": [ "257814" ], - "size": 5297306, - "date_published": "2024-08-20T14:18:52.990Z" + "size": 5298162, + "date_published": "2025-01-03T12:43:44.657Z" } ] }, @@ -10230,7 +10706,7 @@ { "pakku_id": "pITFJNUBx59dBitK", "type": "MOD", - "side": "CLIENT", + "side": "BOTH", "slug": { "curseforge": "primitive-creatures" }, @@ -10266,6 +10742,9 @@ }, { "pakku_id": "jq9QGlgfAvlRlyEk", + "pakku_links": [ + "0V3RchpzHxX7JWSb" + ], "type": "MOD", "slug": { "curseforge": "probejs" @@ -10533,7 +11012,7 @@ { "pakku_id": "J5CyvX6hIaMAyzVK", "type": "MOD", - "side": "CLIENT", + "side": "BOTH", "slug": { "curseforge": "resourceful-config", "modrinth": "resourceful-config" @@ -10594,7 +11073,7 @@ { "pakku_id": "cxgo5IyMJwtpohRH", "type": "MOD", - "side": "CLIENT", + "side": "BOTH", "slug": { "curseforge": "resourceful-lib", "modrinth": "resourceful-lib" @@ -10653,20 +11132,20 @@ ] }, { - "pakku_id": "r5vLdsJ3IXx8Mfse", + "pakku_id": "qDUpAZkCcYB6JdyI", "type": "MOD", "side": "BOTH", "slug": { - "curseforge": "rhino", - "modrinth": "rhino" + "modrinth": "rhino", + "curseforge": "rhino" }, "name": { - "curseforge": "Rhino", - "modrinth": "Rhino" + "modrinth": "Rhino", + "curseforge": "Rhino" }, "id": { - "curseforge": "416294", - "modrinth": "sk9knFPE" + "modrinth": "sk9knFPE", + "curseforge": "416294" }, "files": [ { @@ -10692,7 +11171,7 @@ }, { "type": "curseforge", - "file_name": "rhino-forge-2001.2.2-build.18.jar", + "file_name": "rhino-forge-2001.2.3-build.6.jar", "mc_versions": [ "1.20.1" ], @@ -10700,16 +11179,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/4944/325/rhino-forge-2001.2.2-build.18.jar", - "id": "4944325", + "url": "https://edge.forgecdn.net/files/5655/836/rhino-forge-2001.2.3-build.6.jar", + "id": "5655836", "parent_id": "416294", "hashes": { - "sha1": "0a631b4e8235a777d08bd53d4f49dba388205cad", - "md5": "d0ee9715edfcb029f59687a08fb88a53" + "sha1": "0c91c1710d7338f139b7cb3465f00590e210139e", + "md5": "c6f376b91e330b5e220541aab5edd92f" }, "required_dependencies": [], - "size": 1782275, - "date_published": "2023-12-09T21:19:49.103Z" + "size": 1796600, + "date_published": "2024-08-23T12:53:18.240Z" } ] }, @@ -10848,19 +11327,43 @@ ] }, { - "pakku_id": "yTR90RtnmEyMuFnr", + "pakku_id": "gZs5XcDoMcVHtrQT", "type": "MOD", "side": "CLIENT", "slug": { + "modrinth": "searchables", "curseforge": "searchables" }, "name": { + "modrinth": "Searchables", "curseforge": "Searchables" }, "id": { + "modrinth": "fuuu3xnx", "curseforge": "858542" }, "files": [ + { + "type": "modrinth", + "file_name": "Searchables-forge-1.20.1-1.0.3.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/fuuu3xnx/versions/PM9yAW1G/Searchables-forge-1.20.1-1.0.3.jar", + "id": "PM9yAW1G", + "parent_id": "fuuu3xnx", + "hashes": { + "sha512": "185617d6d446f3d4ef6c7d5c6ee4e2fb731a89f7495157313b21292ec6b8e3dbcc10c0379ab49ecb2d0c64d0a78df74750d7f7336d5e6c43516a7c92f278c0a2", + "sha1": "5b976f6e76ec74cdef21865e31f56bcb11558db7" + }, + "required_dependencies": [], + "size": 77732, + "date_published": "2024-04-23T06:56:56.381361Z" + }, { "type": "curseforge", "file_name": "Searchables-forge-1.20.1-1.0.3.jar", @@ -10982,20 +11485,23 @@ ] }, { - "pakku_id": "mPWICCEoWgyvHKRu", + "pakku_id": "KpzdKnY6YAD1r6O5", + "pakku_links": [ + "t1tp4uchU5FgbL7A" + ], "type": "MOD", "side": "CLIENT", "slug": { - "curseforge": "dynamiclights-reforged", - "modrinth": "sodium-dynamic-lights" + "modrinth": "sodium-dynamic-lights", + "curseforge": "dynamiclights-reforged" }, "name": { - "curseforge": "Sodium/Embeddium Dynamic Lights", - "modrinth": "Sodium Dynamic Lights" + "modrinth": "Sodium Dynamic Lights", + "curseforge": "Sodium/Embeddium Dynamic Lights" }, "id": { - "curseforge": "551736", - "modrinth": "PxQSWIcD" + "modrinth": "PxQSWIcD", + "curseforge": "551736" }, "files": [ { @@ -11024,25 +11530,27 @@ }, { "type": "curseforge", - "file_name": "dynamiclightsreforged-1.20.1_v1.6.0.jar", + "file_name": "sodiumdynamiclights-forge-1.0.10-1.20.1.jar", "mc_versions": [ - "1.20.1" + "1.20.1", + "1.20" ], "loaders": [ - "neoforge", "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/4731/947/dynamiclightsreforged-1.20.1_v1.6.0.jar", - "id": "4731947", + "url": "https://edge.forgecdn.net/files/6044/481/sodiumdynamiclights-forge-1.0.10-1.20.1.jar", + "id": "6044481", "parent_id": "551736", "hashes": { - "sha1": "323498a94ba91e24417c0ae1bc34bb4b461c0a3a", - "md5": "f8f506d864082aa61b3e38d249542f40" + "sha1": "d27524e85bed0f0af83c03be46f9ca3eb02a1be9", + "md5": "687c18cefa558ca8101ef97914d9ba6b" }, - "required_dependencies": [], - "size": 94614, - "date_published": "2023-09-01T06:29:32.573Z" + "required_dependencies": [ + "1103431" + ], + "size": 511601, + "date_published": "2025-01-02T01:22:43.027Z" } ] }, @@ -11190,18 +11698,50 @@ ] }, { - "pakku_id": "oJGHQ159WfLFe4FX", + "pakku_id": "ip59rRTnFCeSEOfS", + "pakku_links": [ + "rGWvsBlQF5Fc28FG", + "kMLNnIpCUuhCjkjE" + ], "type": "MOD", + "side": "BOTH", "slug": { + "modrinth": "sophisticated-backpacks", "curseforge": "sophisticated-backpacks" }, "name": { + "modrinth": "Sophisticated Backpacks", "curseforge": "Sophisticated Backpacks" }, "id": { + "modrinth": "TyCTlI4b", "curseforge": "422301" }, "files": [ + { + "type": "modrinth", + "file_name": "sophisticatedbackpacks-1.20.1-3.23.6.1211.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/TyCTlI4b/versions/8JrTml7x/sophisticatedbackpacks-1.20.1-3.23.6.1211.jar", + "id": "8JrTml7x", + "parent_id": "TyCTlI4b", + "hashes": { + "sha512": "23a7fd927792ac1ddbc6d3429aac7ef404893842be708168d929ac7f73dc160ec7e8be38fa5397c4efc650eb547f05d0fc29a49f16fc198e84d8ea07aace8741", + "sha1": "569878ad7744fb342b2c6a3e11284b0c8162dd60" + }, + "required_dependencies": [ + "nmoqTijg" + ], + "size": 897035, + "date_published": "2025-03-14T15:01:31.550861Z" + }, { "type": "curseforge", "file_name": "sophisticatedbackpacks-1.20.1-3.23.6.1211.jar", @@ -11229,18 +11769,44 @@ ] }, { - "pakku_id": "rGWvsBlQF5Fc28FG", + "pakku_id": "kMLNnIpCUuhCjkjE", "type": "MOD", + "side": "BOTH", "slug": { + "modrinth": "sophisticated-core", "curseforge": "sophisticated-core" }, "name": { + "modrinth": "Sophisticated Core", "curseforge": "Sophisticated Core" }, "id": { + "modrinth": "nmoqTijg", "curseforge": "618298" }, "files": [ + { + "type": "modrinth", + "file_name": "sophisticatedcore-1.20.1-1.2.23.902.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/nmoqTijg/versions/AzoouH2L/sophisticatedcore-1.20.1-1.2.23.902.jar", + "id": "AzoouH2L", + "parent_id": "nmoqTijg", + "hashes": { + "sha512": "d8cc6527b49c963ce4bcaee10afc79387b7b9c99e56185700961c68eb4e28d8f2d2e11c504b09dd296cb3690250eeb6a249bec9f31aa147da22dda57d302a65b", + "sha1": "d037282fd366b709a3dcf90470baf3dea6a44a0f" + }, + "required_dependencies": [], + "size": 1170980, + "date_published": "2025-03-17T21:45:24.895497Z" + }, { "type": "curseforge", "file_name": "sophisticatedcore-1.20.1-1.2.23.902.jar", @@ -11266,19 +11832,43 @@ ] }, { - "pakku_id": "miNW6LK45leMJEgY", + "pakku_id": "YR358HoXW63JCt6e", "type": "MOD", "side": "CLIENT", "slug": { + "modrinth": "sound-physics-remastered", "curseforge": "sound-physics-remastered" }, "name": { + "modrinth": "Sound Physics Remastered", "curseforge": "Sound Physics Remastered" }, "id": { + "modrinth": "qyVF9oeo", "curseforge": "535489" }, "files": [ + { + "type": "modrinth", + "file_name": "sound-physics-remastered-forge-1.20.1-1.4.5.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "beta", + "url": "https://cdn.modrinth.com/data/qyVF9oeo/versions/AGRkYn5p/sound-physics-remastered-forge-1.20.1-1.4.5.jar", + "id": "AGRkYn5p", + "parent_id": "qyVF9oeo", + "hashes": { + "sha512": "c4008e53e87992bfe08fef277426c12e495ed77eadca17149b1a798a026a0372a1ac8e478200794c588452bdead8ea4b8903ad13acb4fcd26043b65bc0d02e43", + "sha1": "3110f2ebf08d512e362c4397388144d8f75a0f7b" + }, + "required_dependencies": [], + "size": 196564, + "date_published": "2024-07-12T07:24:07.691359Z" + }, { "type": "curseforge", "file_name": "sound-physics-remastered-forge-1.20.1-1.4.5.jar", @@ -11431,20 +12021,20 @@ ] }, { - "pakku_id": "zu0Crvp2wYk8qQux", + "pakku_id": "w7z5mj89SVpZaWVs", "type": "MOD", "side": "BOTH", "slug": { - "curseforge": "supermartijn642s-core-lib", - "modrinth": "supermartijn642s-core-lib" + "modrinth": "supermartijn642s-core-lib", + "curseforge": "supermartijn642s-core-lib" }, "name": { - "curseforge": "SuperMartijn642's Core Lib", - "modrinth": "SuperMartijn642's Core Lib" + "modrinth": "SuperMartijn642's Core Lib", + "curseforge": "SuperMartijn642's Core Lib" }, "id": { - "curseforge": "454372", - "modrinth": "rOUBggPv" + "modrinth": "rOUBggPv", + "curseforge": "454372" }, "files": [ { @@ -11471,7 +12061,7 @@ }, { "type": "curseforge", - "file_name": "supermartijn642corelib-1.1.17-forge-mc1.20.1.jar", + "file_name": "supermartijn642corelib-1.1.18-forge-mc1.20.1.jar", "mc_versions": [ "1.20.1", "1.20" @@ -11480,16 +12070,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5102/258/supermartijn642corelib-1.1.17-forge-mc1.20.1.jar", - "id": "5102258", + "url": "https://edge.forgecdn.net/files/6034/718/supermartijn642corelib-1.1.18-forge-mc1.20.1.jar", + "id": "6034718", "parent_id": "454372", "hashes": { - "sha1": "f2c3d1aa0bef8663700b9438f789c15cfd72137d", - "md5": "d1ac18092ea0b1b513edcd8c3999e1bd" + "sha1": "d37e1148b512c67cee704635b4f07d1f9ea8c31c", + "md5": "6559d43627646f16fbe02de085e98d5c" }, "required_dependencies": [], - "size": 512069, - "date_published": "2024-02-12T16:18:57.807Z" + "size": 515362, + "date_published": "2024-12-29T22:15:09.800Z" } ] }, @@ -11531,44 +12121,22 @@ ] }, { - "pakku_id": "4gtgWhFu0zLNFoiE", + "pakku_id": "u4SXwEzPZTFYdxU9", "type": "MOD", "side": "BOTH", "slug": { - "curseforge": "tfc-ambiental-second-edition", - "modrinth": "tfc-ambiental-second-edition" + "modrinth": "tfc-ambiental-second-edition", + "curseforge": "tfc-ambiental-second-edition" }, "name": { - "curseforge": "TFC Ambiental - Second edition", - "modrinth": "TFC Ambiental: Second edition" + "modrinth": "TFC Ambiental: Second edition", + "curseforge": "TFC Ambiental - Second edition" }, "id": { - "curseforge": "940350", - "modrinth": "K7eNiRnX" + "modrinth": "K7eNiRnX", + "curseforge": "940350" }, "files": [ - { - "type": "curseforge", - "file_name": "tfcambiental-1.20.1-3.3.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/5655/440/tfcambiental-1.20.1-3.3.1.jar", - "id": "5655440", - "parent_id": "940350", - "hashes": { - "sha1": "0837547febfc05c18e224fd8b3f9ed4eef8eb9de", - "md5": "f057f8e13adacf35c50ae52cf312ee38" - }, - "required_dependencies": [], - "size": 640068, - "date_published": "2024-08-23T09:41:25.543Z" - }, { "type": "modrinth", "file_name": "tfcambiental-1.20.1-3.3.0.jar", @@ -11590,6 +12158,28 @@ "required_dependencies": [], "size": 640033, "date_published": "2024-05-05T01:41:06.190734Z" + }, + { + "type": "curseforge", + "file_name": "tfcambiental-1.20.1-3.3.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5313/702/tfcambiental-1.20.1-3.3.0.jar", + "id": "5313702", + "parent_id": "940350", + "hashes": { + "sha1": "e1bc92959d8cbfb1d8f16dc124a14a0709d6aba6", + "md5": "e3a22bddd9fc54081ac5a9ca6bdf1cc7" + }, + "required_dependencies": [], + "size": 640033, + "date_published": "2024-05-03T21:24:47.150Z" } ] }, @@ -11820,20 +12410,23 @@ ] }, { - "pakku_id": "jTFJiriG6OqMgTuz", + "pakku_id": "Ow50cg4XqY9SJlpC", + "pakku_links": [ + "F6H99cZ4H6jZRpEK" + ], "type": "MOD", "side": "BOTH", "slug": { - "curseforge": "tfc-hot-or-not", - "modrinth": "tfc-hot-or-not" + "modrinth": "tfc-hot-or-not", + "curseforge": "tfc-hot-or-not" }, "name": { - "curseforge": "TFC Hot or Not", - "modrinth": "TFC Hot or Not" + "modrinth": "TFC Hot or Not", + "curseforge": "TFC Hot or Not" }, "id": { - "curseforge": "499096", - "modrinth": "6fOyWxrE" + "modrinth": "6fOyWxrE", + "curseforge": "499096" }, "files": [ { @@ -11862,7 +12455,7 @@ }, { "type": "curseforge", - "file_name": "TFCHotOrNot-1.20.1-1.0.4.jar", + "file_name": "TFCHotOrNot-1.20.1-1.0.13.jar", "mc_versions": [ "1.20.1" ], @@ -11871,16 +12464,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5224/988/TFCHotOrNot-1.20.1-1.0.4.jar", - "id": "5224988", + "url": "https://edge.forgecdn.net/files/6047/294/TFCHotOrNot-1.20.1-1.0.13.jar", + "id": "6047294", "parent_id": "499096", "hashes": { - "sha1": "e14da2835e8194aa60ecdb8cfb8b2acab75d4d36", - "md5": "e873757565b7a5f2c73d0ebd7812b4d5" + "sha1": "383507ce61eaa1fe9368915536de8b3685517728", + "md5": "b246317dee8a8789f3cdb13f70cb2391" }, - "required_dependencies": [], - "size": 448456, - "date_published": "2024-03-31T15:46:58.620Z" + "required_dependencies": [ + "302973" + ], + "size": 464173, + "date_published": "2025-01-02T23:13:06.400Z" } ] }, @@ -12032,7 +12627,8 @@ "pakku_links": [ "Wp4bimC12ZfUWRDW", "4gtgWhFu0zLNFoiE", - "F6H99cZ4H6jZRpEK" + "F6H99cZ4H6jZRpEK", + "u4SXwEzPZTFYdxU9" ], "type": "MOD", "side": "BOTH", @@ -12378,7 +12974,7 @@ { "pakku_id": "xiwzCRvkCtCl2GLq", "type": "MOD", - "side": "CLIENT", + "side": "BOTH", "slug": { "curseforge": "tfcgenviewer", "modrinth": "tfcgenviewer" @@ -12510,7 +13106,7 @@ ] }, { - "pakku_id": "3mAI0v5307Nirnd5", + "pakku_id": "2h0D3pYylEr3vTVs", "pakku_links": [ "F6H99cZ4H6jZRpEK", "apqasFnXUkYXZUFj" @@ -12519,43 +13115,40 @@ "side": "BOTH", "slug": { "curseforge": "terrafirmagreg-core", - "modrinth": "terrafirmagreg-core", - "github": "TerraFirmaGreg-Team/Core-Modern" + "modrinth": "terrafirmagreg-core" }, "name": { "curseforge": "TerraFirmaGreg-Core", - "modrinth": "TerraFirmaGreg-Core", - "github": "Core-Modern" + "modrinth": "TerraFirmaGreg-Core" }, "id": { "curseforge": "513402", - "modrinth": "lNttW2Xl", - "github": "668983056" + "modrinth": "lNttW2Xl" }, "files": [ { "type": "curseforge", - "file_name": "TFG-Core-Modern-0.6.0.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.6.1.jar", "mc_versions": [ "1.20.1" ], "loaders": [ - "neoforge", "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5853/918/TFG-Core-Modern-0.6.0.jar", - "id": "5853918", + "url": "https://edge.forgecdn.net/files/6424/600/TerraFirmaGreg-Core-Modern-0.6.1.jar", + "id": "6424600", "parent_id": "513402", "hashes": { - "sha1": "9dbf0f12c3447744a9100e404ffea51b798138f3", - "md5": "22d927266923bccd7f7a4a06bd96824a" + "sha1": "5c23bc9e7d5948142b1d45ad8fca91e6a9467bf3", + "md5": "61d52e9c8fe1f38b3b327498c9d37128" }, "required_dependencies": [ - "302973" + "302973", + "890405" ], - "size": 325760, - "date_published": "2024-10-28T14:40:10.317Z" + "size": 241598, + "date_published": "2025-04-15T03:58:23.103Z" }, { "type": "modrinth", @@ -12575,21 +13168,11 @@ "sha1": "5c23bc9e7d5948142b1d45ad8fca91e6a9467bf3" }, "required_dependencies": [ - "7tG215v7", - "JaCEZUhg" + "JaCEZUhg", + "7tG215v7" ], "size": 241598, "date_published": "2025-04-15T03:58:27.227420Z" - }, - { - "type": "github", - "file_name": "TFG-Core-Modern-0.6.0.jar", - "release_type": "release", - "url": "https://github.com/TerraFirmaGreg-Team/Core-Modern/releases/download/0.6.0/TerraFirmaGreg-Core-Modern-0.6.0.jar", - "id": "230462996", - "parent_id": "668983056", - "size": 325760, - "date_published": "2024-10-28T14:40:14Z" } ] }, @@ -12730,20 +13313,20 @@ ] }, { - "pakku_id": "J4nF31dyH7uEbdl5", + "pakku_id": "P26ygLyf3axdY6l8", "type": "MOD", "side": "BOTH", "slug": { - "curseforge": "u-team-core", - "modrinth": "u-team-core" + "modrinth": "u-team-core", + "curseforge": "u-team-core" }, "name": { - "curseforge": "U Team Core", - "modrinth": "U Team Core" + "modrinth": "U Team Core", + "curseforge": "U Team Core" }, "id": { - "curseforge": "273744", - "modrinth": "g2FGQs4R" + "modrinth": "g2FGQs4R", + "curseforge": "273744" }, "files": [ { @@ -12769,7 +13352,7 @@ }, { "type": "curseforge", - "file_name": "u_team_core-forge-1.20.1-5.1.4.312.jar", + "file_name": "u_team_core-forge-1.20.1-5.1.4.346.jar", "mc_versions": [ "1.20.1" ], @@ -12777,34 +13360,34 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5523/168/u_team_core-forge-1.20.1-5.1.4.312.jar", - "id": "5523168", + "url": "https://edge.forgecdn.net/files/6050/182/u_team_core-forge-1.20.1-5.1.4.346.jar", + "id": "6050182", "parent_id": "273744", "hashes": { - "sha1": "688e67c279c113165bc6ea8fe5b06789d5202227", - "md5": "cb0f6e6d4617b98d5d56be9b4ba96867" + "sha1": "56082ef86ba5513656bf6e555239ad050d07e1df", + "md5": "caa53c17a04f92025d147b8e6556fcd1" }, "required_dependencies": [], - "size": 587610, - "date_published": "2024-07-11T14:10:54.473Z" + "size": 587603, + "date_published": "2025-01-03T19:56:09.753Z" } ] }, { - "pakku_id": "YieRg0J67mnZSA2F", + "pakku_id": "YNN9MQRUOE5bQByi", "type": "MOD", "side": "CLIENT", "slug": { - "curseforge": "unilib", - "modrinth": "unilib" + "modrinth": "unilib", + "curseforge": "unilib" }, "name": { - "curseforge": "UniLib", - "modrinth": "UniLib" + "modrinth": "UniLib", + "curseforge": "UniLib" }, "id": { - "curseforge": "1056812", - "modrinth": "nT86WUER" + "modrinth": "nT86WUER", + "curseforge": "1056812" }, "files": [ { @@ -12832,7 +13415,7 @@ }, { "type": "curseforge", - "file_name": "UniLib-1.0.2+1.20.1-forge.jar", + "file_name": "UniLib-1.0.5+1.20.1-forge.jar", "mc_versions": [ "1.20.1", "1.20" @@ -12842,16 +13425,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5656/688/UniLib-1.0.2+1.20.1-forge.jar", - "id": "5656688", + "url": "https://edge.forgecdn.net/files/6087/784/UniLib-1.0.5+1.20.1-forge.jar", + "id": "6087784", "parent_id": "1056812", "hashes": { - "sha1": "d368058d79a5c206ac9c38e4269a6008b0ccf814", - "md5": "3429c71ea848d3be911ede914374f098" + "sha1": "1ffef0d813d911d44105ea9e63dde970edee018e", + "md5": "a5a75873d8138aa46decbdd733b3c244" }, "required_dependencies": [], - "size": 967088, - "date_published": "2024-08-23T18:23:36.150Z" + "size": 1045910, + "date_published": "2025-01-14T21:30:24.660Z" } ] }, @@ -12984,20 +13567,20 @@ ] }, { - "pakku_id": "2WAorntfIAO5NqBR", + "pakku_id": "bBjUilwaMDGLoB2G", "type": "MOD", "side": "CLIENT", "slug": { - "curseforge": "xaeros-world-map", - "modrinth": "xaeros-world-map" + "modrinth": "xaeros-world-map", + "curseforge": "xaeros-world-map" }, "name": { - "curseforge": "Xaero's World Map", - "modrinth": "Xaero's World Map" + "modrinth": "Xaero's World Map", + "curseforge": "Xaero's World Map" }, "id": { - "curseforge": "317780", - "modrinth": "NcUtCpym" + "modrinth": "NcUtCpym", + "curseforge": "317780" }, "files": [ { @@ -13024,7 +13607,7 @@ }, { "type": "curseforge", - "file_name": "XaerosWorldMap_1.39.0_Forge_1.20.jar", + "file_name": "XaerosWorldMap_1.39.2_Forge_1.20.jar", "mc_versions": [ "1.20.1", "1.20" @@ -13033,16 +13616,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5658/224/XaerosWorldMap_1.39.0_Forge_1.20.jar", - "id": "5658224", + "url": "https://edge.forgecdn.net/files/5987/149/XaerosWorldMap_1.39.2_Forge_1.20.jar", + "id": "5987149", "parent_id": "317780", "hashes": { - "sha1": "33704b6dd2ee6fbf1da0cffcf2001bf7f1c3dea4", - "md5": "56bacc411ba41fbe016e9c53dbc283e6" + "sha1": "75fa377a33128aa0f294b310838032ddd697810f", + "md5": "d052e96d54415b5073acec65ae548245" }, "required_dependencies": [], - "size": 930284, - "date_published": "2024-08-24T07:16:45.560Z" + "size": 931860, + "date_published": "2024-12-13T08:18:53.190Z" } ] }, @@ -13108,20 +13691,20 @@ ] }, { - "pakku_id": "yboEuX1TbDM7Nuo9", + "pakku_id": "0mjbuVeJOxjC3sru", "type": "MOD", "side": "BOTH", "slug": { - "curseforge": "yacl", - "modrinth": "yacl" + "modrinth": "yacl", + "curseforge": "yacl" }, "name": { - "curseforge": "YetAnotherConfigLib", - "modrinth": "YetAnotherConfigLib (YACL)" + "modrinth": "YetAnotherConfigLib (YACL)", + "curseforge": "YetAnotherConfigLib" }, "id": { - "curseforge": "667299", - "modrinth": "1eAoo2KR" + "modrinth": "1eAoo2KR", + "curseforge": "667299" }, "files": [ { @@ -13150,26 +13733,27 @@ }, { "type": "curseforge", - "file_name": "YetAnotherConfigLib-3.5.0+1.20.1-forge.jar", + "file_name": "YetAnotherConfigLib-3.6.2+1.20.1-forge.jar", "mc_versions": [ - "1.20.1" + "1.20.1", + "1.20" ], "loaders": [ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5424/136/YetAnotherConfigLib-3.5.0+1.20.1-forge.jar", - "id": "5424136", + "url": "https://edge.forgecdn.net/files/5963/252/YetAnotherConfigLib-3.6.2+1.20.1-forge.jar", + "id": "5963252", "parent_id": "667299", "hashes": { - "sha1": "e2f450a47ef4d81705175cd18ba36d1782948908", - "md5": "3f5606d396044b5e67229a6fa075fc1c" + "sha1": "044fe3b2bd50d2a00d07bd44a2cbdd677617786e", + "md5": "e8bb7648a2bc6f0108e363f6826f77b8" }, "required_dependencies": [ "306612" ], - "size": 1151778, - "date_published": "2024-06-13T16:08:25.923Z" + "size": 1111897, + "date_published": "2024-12-04T21:02:45.487Z" } ] }, diff --git a/pakku.json b/pakku.json index 04c2a8bc9..7448f7674 100644 --- a/pakku.json +++ b/pakku.json @@ -190,23 +190,35 @@ "dynamiclights-reforged": { "side": "CLIENT" }, - "resourceful-config": { + "rainboows": { "side": "CLIENT" }, + "resourceful-config": { + "side": "BOTH" + }, "resourceful-lib": { - "side": "CLIENT" + "side": "BOTH" }, "enderman-overhaul": { - "side": "CLIENT" + "side": "BOTH" }, "primitive-creatures": { - "side": "CLIENT" + "side": "BOTH" }, "geckolib": { - "side": "CLIENT" + "side": "BOTH" }, "detected-setblock-be-gone": { "side": "CLIENT" + }, + "tfcgenviewer": { + "side": "BOTH" + }, + "tfc-hot-or-not": { + "side": "BOTH" + }, + "particular-reforged": { + "side": "BOTH" } } } \ No newline at end of file