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 000000000..013102b57 Binary files /dev/null and b/kubejs/assets/minecraft/textures/block/sponge.png differ 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 000000000..18c768f49 Binary files /dev/null and b/kubejs/assets/minecraft/textures/block/wet_sponge.png differ 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 000000000..937eb6abe Binary files /dev/null and b/kubejs/assets/tfc/textures/gui/knapping/flint.png differ diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 2471c28ca..c118df0f4 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -60,13 +60,6 @@ "block.tfg.decorative_vase.generated.orange": "Orange Loot Vase", "block.tfg.decorative_vase.generated.red": "Red Loot Vase", "block.tfg.decorative_vase.generated.brown": "Brown Loot Vase", - "block.tfg.rock.hardened_deepslate": "Hardened Migmatite", - "block.tfg.rock.hardened_blackstone": "Hardened Pyroxenite", - "block.tfg.rock.hardened_dripstone": "Hardened Travertine", - "block.tfg.spike.deepslate_spike": "Migmatite Spike", - "block.tfg.spike.blackstone_spike": "Pyroxenite Spike", - "block.tfg.spike.dripstone_spike": "Travertine Spike", - "block.tfg.light_concrete_support": "Light Concrete Support", "block.tfg.light_concrete_support_horizontal": "Light Concrete Horizontal Support", "block.tfg.dark_concrete_support": "Dark Concrete Support", @@ -125,10 +118,14 @@ "block.tfg.migmatite_support": "Migmatite Support", "block.tfg.travertine_support_horizontal": "Travertine Horizontal Support", "block.tfg.travertine_support": "Travertine Support", - - "block.tfg.loose.deepslate": "Loose Migmatite", - "block.tfg.loose.dripstone": "Loose Travertine", - + "block.tfg.rock.hardened_deepslate": "Hardened Migmatite", + "block.tfg.rock.hardened_blackstone": "Hardened Pyroxenite", + "block.tfg.rock.hardened_dripstone": "Hardened Travertine", + "block.tfg.spike.deepslate_spike": "Migmatite Spike", + "block.tfg.spike.blackstone_spike": "Pyroxenite Spike", + "block.tfg.spike.dripstone_spike": "Travertine Spike", + "block.tfg.loose.deepslate": "Loose Migmatite Rock", + "block.tfg.loose.dripstone": "Loose Travertine Rock", "item.tfg.antipoison_pill": "Antipoison Pill", "item.tfg.haste_pill": "Haste Pill", "item.tfg.night_vision_pill": "Night Vision Pill", @@ -154,6 +151,8 @@ "item.tfg.luck_salvo": "Luck Salvo", "item.tfg.resistance_salvo": "Resistance Salvo", "item.tfg.paraffin_wax": "Paraffin Wax", + "item.tfg.flint_arrow_head": "Flint Arrow Head", + "item.tfg.fletching": "Fletching", "item.tfg.conifer_rosin": "Conifer Rosin", "item.tfg.hardwood_strip": "Hardwood Strip", "item.tfg.soaked_hardwood_strip": "Soaked Hardwood Strip", @@ -204,6 +203,7 @@ "material.gtceu.hardwood": "Hardwood", "tfg.disabled_portal": "Portal magic seems to be blocked by an unknown force, try reaching another dimension by going down or up", "item.treetap.tap": "Deprecated Item, Craft to Upgrade", + "tfc.jei.flint_knapping": "Flint Knapping", "item.gtceu.zinc_ingot": "Deprecated Item, Craft to Upgrade", "item.gtceu.brass_ingot": "Deprecated Item, Craft to Upgrade", "item.gtceu.vanadium_ingot": "Deprecated Item, Craft to Upgrade", @@ -484,6 +484,9 @@ "quests.low_voltage.lv_machine_hull.subtitle": "It's time to get into electricity", "quests.low_voltage.lv_machine_hull.desc.1": "That's it you are getting real close to your &6first LV Machine&r and the begining of the electric age. Crafting this hull will cost you quite a lot of &4Red Steel&r but you will get &6new ways&r to improve your production.\n\nThis is the Gregtech approach: &6the further you progress, the better the new recipes become&r.\n\nTry to make at least 3 or 4 casings to begin.", "quests.low_voltage.lv_machine_hull.desc.2": "For some players reaching a new tier is making the &6circuit&r, for others it's the &6machine hull&r and for me it's the &6energy hatch&r. At the end of the day you do you.", + "quests.low_voltage.lv_machine_casing.title": "LV Machine Casing for Create?", + "quests.low_voltage.lv_machine_casing.subtitle": "An infinite amount of possibilities", + "quests.low_voltage.lv_machine_casing.desc": "Usually now would be time to go full Gregtech but &5TFG&r offers you the possibility to use &6Create&r machines to basically do the job of some usual &6Gregtech&r machines.\n\nWe introduced them &6last chapter&r, just know that in this chapter if there is an alternative to a Gregtech machine, you will have the choice within the quest.", "quests.low_voltage.lv_motor.title": "The First of Many Motors", "quests.low_voltage.lv_motor.subtitle": "Low Voltage beckons...", "quests.low_voltage.lv_motor.desc": "Remember that &2JEI is your friend&r if recipes are getting overwhelming.\n\nGetting back on topic, set yourself up for &7LV&r by crafting six &aLV Electric Motors&r! This may seem like a lot, but that's the bare minimum required to get to the good stuff in &7LV&r.", @@ -497,7 +500,7 @@ "quests.low_voltage.lv_steam_turbine.desc.2": "If you're using a single &3Steam Turbine&r, you only need &a1x Tin Cables&r. On the other hand, if you upgrade to &32 Steam Turbines&r, you should use &a2x Tin Cables&r - else they may end up &cburning&r.\n\nThis is because of the &9Amperage&r mechanic... but that will be explained later so you can enjoy playing. Don't worry!", "quests.low_voltage.lbb.title": "Large Bronze Boiler", "quests.low_voltage.lbb.subtitle": "Boom, boom, boom, boom", - "quests.low_voltage.lbb.desc.1": "&oThe &3Large Boiler&r is an &6optional&r big-boy variant of the Small Boilers. It runs off solid or liquid fuel.\n\nIf you want Steam-based power production, this will be your first port-of-call. Other power options are listed in the &bMV&r chapter.\n\n&cImportant:&r This Boiler &lCAN&r also &cexplode&r similarly to the regular Boilers! Usually, the explosion can be rather devastating...", + "quests.low_voltage.lbb.desc.1": "Be wary this one explodes if running when you load your world, waiting for a fix from GTm devs/n&oThe &3Large Boiler&r is an &6optional&r big-boy variant of the Small Boilers. It runs off solid or liquid fuel.\n\nIf you want Steam-based power production, this will be your first port-of-call. Other power options are listed in the &bMV&r chapter.\n\n&cImportant:&r This Boiler &lCAN&r also &cexplode&r similarly to the regular Boilers! Usually, the explosion can be rather devastating...", "quests.low_voltage.lbb.desc.2": "&cWater supply is &lcrucial&r&r. Dedicate a system only for it.\n\nOnce fully heated up, the &3LBB&r produces 800 Steam per tick, which is &d400EU/t&r after conversion, or 12.5 Basic Steam Turbines. Such (relatively!) immense power comes at the cost of &la lot&r of burnable fuel. In TerraFirmaGreg we advise &8Creosote&r or &cLava&r. You can use Create to bring that if needed...", "quests.low_voltage.lbb.desc.3": "&5With this in consideration&r, the GUI lets you &9throttle&r the Boiler down to 25% power for 200 Steam per tick. That's &d100EU/t&r, or slightly above 3 Basic Steam Turbines.\n\n&9Note:&r An in-depth tutorial about Multiblocks is given after you get the &3Electric Blast Furnace&r. We recommend you aim for that first.", "quests.low_voltage.lv_polariser.title": "Basic Polariser", @@ -520,13 +523,16 @@ "quests.low_voltage.lv_wiremill.subtitle": "No more painful wires!", "quests.low_voltage.lv_wiremill.desc.1": "You could make any other &7LV&r Machine, but it would be easiest to start with the most useful one. We know, we know... you wanna make some of the crazier stuff first, but trust us, this is the best starting point.\n\nThe Wiremill lets you make &6two Wires from one Ingot&r. That should be three times cheaper than what you were doing up until now!\n\nTo the right of this Quest, you'll find some important machines which will grant you cheaper intermediates.", "quests.low_voltage.lv_wiremill.desc.2": "&9Note:&r Recipes inside &3LV Machines&r go up to a maximum usage of &a32 EU/t (LV)&r. Anything higher than that and you will need a &bMV&r (or better) Machine. Needless to say, we aren't quite there yet.\n\nYou will need a &dProgrammed Circuit&r for certain recipes. We're sure you don't want to spend a precious Circuit to craft one, so &6read the dedicated quest for important details&r.\n\nWith this machine safely crafted - welcome to the age of all things electric!", + "quests.low_voltage.lv_wiremill.task": "Any of these", "quests.low_voltage.lv_bender.title": "Basic Bender", "quests.low_voltage.lv_bender.subtitle": "The Bender bends!", "quests.low_voltage.lv_bender.desc": "Arguably the second best &7LV&r machine to craft, but we're down if you want to argue otherwise.\n\nThis unlocks the ability to convert one &6Ingot into one Plate&r, which is a better ratio than the Forge Hammer.", + "quests.low_voltage.lv_bender.task": "Any of these", "quests.low_voltage.lv_lathe.title": "Basic Lathe", "quests.low_voltage.lv_lathe.subtitle": "Get rid of your archaic tech", "quests.low_voltage.lv_lathe.desc.1": "The Lathe is an important machine to help shape metals. Thanks to it, you can turn &6one Ingot into two Rods&r, and &6one Bolt into one screw&r. That's twice the efficiency on those recipes as opposed to crafting by hand.", "quests.low_voltage.lv_lathe.desc.2": "&l&3Lore:&r&o The GregTech 5 Lathe produces one Rod and 2 small piles of Dust per Ingot. We also have a setting for this in GTCEu, but it's turned off by default.\n\n&oThe GT6 Lathe acts like GT5's, but Bolts lathe into one Screw and 1/72 of a pile of Dust. Disgusting!", + "quests.low_voltage.lv_lathe.task": "Any of these", "quests.low_voltage.universal_cell.title": "Better bucket", "quests.low_voltage.universal_cell.subtitle": "You can see inside not like these drums...", "quests.low_voltage.universal_cell.desc.1": "Cells are an alternative form of Fluid storage. All Cell types with the same type and amount of Fluid inside them &6stack&r. They can be automatically filled with a &3Canning Machine&r.\n\nCells hold &done bucket&r of Fluid.", @@ -603,6 +609,7 @@ "quests.low_voltage.lv_mixer.title": "Basic Mixer", "quests.low_voltage.lv_mixer.subtitle": "Mixer is for mixing", "quests.low_voltage.lv_mixer.desc": "Using the mixer will &6significantly speed up&r the process of making colored steel, especially for &4red steel&r. Even if you don't think you need it now, you'll find it &6essential&r later on.", + "quests.low_voltage.lv_mixer.task": "From Create or Gregtech", "quests.low_voltage.soldering_alloy.title": "Soldering Alloy", "quests.low_voltage.soldering_alloy.subtitle": "I got soul but I'm not a solder", "quests.low_voltage.soldering_alloy.desc": "&aSoldering Alloy&r is used solely as a &9Fluid&r, and in most cases is &dinterchangeable&r in circuit recipes as a cheaper alternative to Tin&r.\n\nThe choice is yours. Save more materials? Make Soldering Alloy. Spend less time crafting materials? Tin is the way to go.", @@ -639,6 +646,7 @@ "quests.low_voltage.lv_cutter.title": "Basic Cutter", "quests.low_voltage.lv_cutter.subtitle": "The Cutter... cuts...", "quests.low_voltage.lv_cutter.desc": "For now, you should use &9Water&r for its recipes instead of trying to acquire Lubricant.\n\nThe &3Cutting Machine&r additionally unlocks converting &6Rods into four Bolts&r.\n\nThis machine is the only way to obtain &dGem Plates&r, which are needed to craft Filters, and by extension, the &3Gas Collector&r.", + "quests.low_voltage.lv_cutter.task": "Any cutter", "quests.low_voltage.lv_gas_collector.title": "Basic Gas Collector", "quests.low_voltage.lv_gas_collector.subtitle": "Don't stand to close to it you could finish within the machine", "quests.low_voltage.lv_gas_collector.desc": "The Gas Collector collects Air that can then be centrifuged into &aOxygen&r and &aNitrogen&r.\n\n&l&3Lore:&r&o GregTech 5 players remember when they had to use a Compressor with IC2 cells to get Compressed Air... here, cell chemistry is no more.", @@ -694,6 +702,10 @@ "quests.low_voltage.aluminium_ingot.title": "Your first Aluminium Ingot", "quests.low_voltage.aluminium_ingot.subtitle": "We're basically in MV now, right?", "quests.low_voltage.aluminium_ingot.desc": "Well... can you show us an &bMV&r Circuit as well?\n\n&aAluminium&r is the main ingredient for &bMV&r machinery. Get ready to need a lot of it.\n\nThe process of smelting Aluminium can be cut down by about a third with &9Nitrogen&r, which is obtained by centrifuging &9Air&r from a &3Gas Collector&r.\n\n&6You will still need MV Circuits in order to make MV machines!&r", + "quests.low_voltage.mv_hull.title": "Your third machine hull", + "quests.low_voltage.mv_hull.subtitle": "This is going quite well, only 7 to go!", + "quests.low_voltage.mv_hull.desc1": "Good job, you now have your &bMV Machine Hull&r, your first &bMV Circuit&r and your first &6Circuit Assembler&r.\n\nThis is the gist of &6Gregtech&r, every tier you are going to need to do new &6machines&r using new &6materials&r and &6chemicals&r. You are going to have so &5much fun&r, we are kinda jealous.", + "quests.low_voltage.mv_hull.desc2": "Before going further into &bMV&r remember that in &6TFG&r you can use &6Create&r to reinforce your infrastruce if you don't want to use too much of Gregtech.", "quests.metal_age": "Metallurgy Age", "quests.metal_age.subtitle": "Your First Technological Advancements.", "quests.metal_age.weld_bronze_ingots.title": "Welding Bronze", @@ -759,73 +771,73 @@ "quests.metal_age.graphite.task": "Any form of Graphite", "quests.metal_age.fire_clay.title": "Fire Clay", "quests.metal_age.fire_clay.subtitle": "At last", - "quests.metal_age.fire_clay.desc": "Heat up Kaolin Clay to get Kaolinite Powder, you can use a Firepit or your Forge with vessels to mass-heat the Kaolin Clay.\n\nFor the Graphite, simply pass it thru a Quern or a Millstone to get Graphite Powder\n\nFinally, combine 4 Graphite Powder, 4 Kaolinite and a piece of Clay to create Fire Clay.", + "quests.metal_age.fire_clay.desc": "Heat up Kaolin Clay to get Kaolinite Powder. You can use a Forge to heat them individually, but cooking big batches inside small vessels in a Pit Kiln may be faster.\n\nFor the Graphite, process the ore as normal, then crush the Graphite Dust again to get Graphite Powder.\n\nFinally, combine 4 Graphite Powder, 4 Kaolinite Powder, and 1 Clay to create Fire Clay.", "quests.metal_age.fire_clay_products.title": "Fire Clay products", "quests.metal_age.fire_clay_products.subtitle": "Extremely Heat Resistant Clay", - "quests.metal_age.fire_clay_products.desc": "Just like regular Clay, Fire Clay can be Knapped to create unfired pieces of Clay, Notably Fire Clay can be used to create the Crucible and Fire Clay Bricks, which are required for the Blast Furnace.\n\nYou'll also unlock the Fire Ingot, which has a 90% chance to not be destroyed when you get the Ingot out of the Mold.\n\nYou'll also be able to create a Mold Table and Casting Channels, which lets you cast multiple molds at once.", + "quests.metal_age.fire_clay_products.desc": "Just like regular Clay, Fire Clay can be Knapped to create things that you'll then need to fire. Most importantly, Fire Clay is used to create the Crucible and Fire Clay Bricks, both of which are required for the Blast Furnace.\n\nYou'll also be able to create a Mold Table and Casting Channels, which lets you cast your metal from the crucible into multiple molds at once.\n\nLastly, there's Fire Ingot Molds, which only have a 1% chance of breaking instead of regular clay's 10%.", "quests.metal_age.crucible.title": "Crucible", - "quests.metal_age.crucible.subtitle": "Melt metals, like a pro.", - "quests.metal_age.crucible.desc": "The Crucible is an advanced block that can be placed on top of a Forge, Crucibles being heated by a Forge heat up considerably faster, they have 9 inventory slots and can hold up to 4 buckets of Molten Metal. Crucibles can also be emptied out utilizing Casting Channels, They are required for the Blast Furnace to work.", + "quests.metal_age.crucible.subtitle": "Melt metals like a pro", + "quests.metal_age.crucible.desc": "The Crucible is placed on top of a Forge. It comes with 9 inventory slots and has a capacity for 4000mB of fluid, including an interface to check your alloying ratios. They also retain their contents when broken. They can also collect Pig Iron when placed below a Blast Furnace.\n\nKeep in mind that the crucible WILL try to alloy everything inside it - it does not keep metals separate like a TC Smeltery - so it's a good idea to keep it clean when you aren't using it.", "quests.metal_age.fire_bricks.title": "Fire Bricks", "quests.metal_age.fire_bricks.subtitle": "For the Blast Furnace", "quests.metal_age.fire_bricks.desc": "Fire Bricks are used in the construction of the Blast Furnace, you need at the very least 4 Bricks to make the furnace.\n\nThe Bricks will require insulation to make sure the process of making steel is effective, you can either place 3 Wrought Iron Sheets around the Fire Bricks, or use Blast Furnace Insulation", "quests.metal_age.fully_stacked_blast_furnace.title": "Fully Stacked Blast Furnace", "quests.metal_age.fully_stacked_blast_furnace.subtitle": "The completed Blast Furnace", - "quests.metal_age.fully_stacked_blast_furnace.desc": "The completed Blast Furnace can melt and create a lot of Steel. You should seek to complete it as you'll need a lot of steel for the future.\n\nIt is worth mentioning that in the future, you'll be able to produce both Brick Dust and Clay Dust, mixing these dusts together can be used as a cheap method of creating more Fire Bricks.", + "quests.metal_age.fully_stacked_blast_furnace.desc": "A full size Blast Furnace is able to melt and process large amounts of iron at once. It's a good idea to make it bigger when you can, because you'll need a lot of steel for the future.\n\nAfter you've got your first Steel Millstone, you'll be able to create more Fire Bricks more cheaply.", "quests.metal_age.blast_furnace_fuel.title": "Fuel for the Blast Furnace", "quests.metal_age.blast_furnace_fuel.subtitle": "Hope you followed the tips in the previous quests...", - "quests.metal_age.blast_furance_fuel.desc": "Regular Charcoal is not hot enough to be able to create Steel, you will need either Coke or Anthracite.\n\nCoke can be created inside a Coke Oven by utilizing Coal instead of Logs, it produces considerably more Creosote as well.\n\nAnthracite is a type of fuel found in the Beneath.", + "quests.metal_age.blast_furance_fuel.desc": "Regular Charcoal is not hot enough to be able to create Steel. You will need either Coke or Anthracite.\n\nCoke can be created by putting Coal into a Coke Oven, while Anthracite can be used as-is after being dug up from the Beneath.", "quests.metal_age.blast_furnace.title": "Blast Furnace", - "quests.metal_age.blast_furnace.subtitle": "I'm Blastin", - "quests.metal_age.blast_furnace.desc": "The BlastFurnace is a Multiblock form TerraFirmaCraft that allows you to create Steel. Placing a combination of Iron, Flux and Charcoal inside the Blast Furnace produces Pig Iron, which can be worked into Steel.\n\nTo get the Blast Furnace to properly melt down the ingredients, you'll require a Bellows to feed the Blast Furnace with Air, for the Blast Furnace to even accept the Air you'll require a Tuyere.\n\nThe Field Guide contains an entry on how the Blast Furnace works.", + "quests.metal_age.blast_furnace.subtitle": "Then I started Blastin'", + "quests.metal_age.blast_furnace.desc": "The Blast Furnace is a multiblock structure that allows you to create Pig Iron. Placing a combination of Iron, Flux and fuel (see the adjacent quest) inside the Blast Furnace produces Pig Iron, which can be worked into Steel.\n\nIn order for the Blast Furnace to reach its required high temperatures, it will need its own Bellows, used to force air through a Tuyere which you place inside the blast furnace.\n\nThe Field Guide contains an entry on how the Blast Furnace works and how to build one.", "quests.metal_age.weld_steel_ingots.title": "Welding Steel", "quests.metal_age.weld_steel_ingots.subtitle": "Again?", - "quests.metal_age.weld_steel_ingots.desc": "You should know the drill by this point, Create 14 Steel Ingots, then Weld them to get 7 Double Steel Ingots.\n\nThis will be the last quest where we'll ask you to do this, since every single other Anvil requires the same setup.", + "quests.metal_age.weld_steel_ingots.desc": "You know the drill by this point. Create 14 Steel Ingots, then weld them to get 7 Double Steel Ingots. We'll stop reminding you about this now.\n\nDid you know that the Helve Hammer can also process your pig iron into steel?", "quests.metal_age.steel_anvil.title": "T4 Anvil: Steel", - "quests.metal_age.steel_anvil.subtitle": "Encased Fans, Crushing Wheels, Mechanical Pumps and More", - "quests.metal_age.steel_anvil.desc": "With the Steel Anvil you'll be able to work Steel Ingots into different items.\n\nUnlocking access to the Steel Anvil enables new quests in the Industrial Age, related to new processing machinery, and the Mechanical Pump.\n\nThe next anvil will unlock the very beginnings of GregTech's Steam Machinery.", + "quests.metal_age.steel_anvil.subtitle": "A huge leap from wrought iron", + "quests.metal_age.steel_anvil.desc": "With the Steel Anvil, you'll be able to work Steel Ingots into different forms.\n\nSteel tools and equipment have a significant boost over their bronze and wrought iron counterparts, so they're worth making if your existing ones are about to break. You'll be needing to create a lot of alloys soon, so some new mining equipment would be a wise investment.", "quests.metal_age.steel_goodies.title": "Steel level Mechanical Power", - "quests.metal_age.steel_goodies.subtitle": "Blow, Crush and Pipe", + "quests.metal_age.steel_goodies.subtitle": "Blow, Crush, and Pipe", "quests.metal_age.steel_goodies.desc": "Steel unlocks a new Greate tier, with increased maximum stress capacity! You can now also make things like the Encased Fan, which can automate ore washing, and the Mechanical Pump, which gives you much more access to fluid logistics.\n\nThe Mechanical Pump is especially useful, as with some smarts, you can easily automate the Blast Furnace.", "quests.metal_age.weak_steel.title": "Weak Steel Ingredients", - "quests.metal_age.weak_steel.subtitle": "Hope you like Alloying", - "quests.metal_age.weak_steel.desc": "Weak Steel is one part of the necesary metals to create Black Steel, it's made by utilizing 2 parts Steel, 1 part Nickel and 1 part Black Bronze.\n\nYou can check the liquid weak steel's recipe for more precise alloying percentage rates.", + "quests.metal_age.weak_steel.subtitle": "Hope you like math", + "quests.metal_age.weak_steel.desc": "Weak Steel is one part of the necessary metals to create Black Steel. You can alloy it with 2 parts Steel, 1 part Nickel and 1 part Black Bronze.\n\nYou can check the liquid weak steel's recipe for more precise alloying percentage rates.", "quests.metal_age.highcarb_black_steel.title": "Black Steel Ingredients", - "quests.metal_age.highcarb_black_steel.subtitle": "Conservation of Matter does not apply", - "quests.metal_age.highcarb_black_steel.desc": "The last two anvils are made out of complex Alloys that will require a lot of metal to be created. Black Steel first starts as High Carbon Black Steel, which is made by welding Weak Steel and Pig Iron. It the needs to be worked on the Anvil to turn it into Black Steel", + "quests.metal_age.highcarb_black_steel.subtitle": "Conservation of matter does not apply", + "quests.metal_age.highcarb_black_steel.desc": "The final two anvils are made out of complex alloys that will require a lot of metal to be created. Weak Steel and Pig Iron can be welded to create High Carbon Black Steel, which can then be worked on an anvil into Black Steel.", "quests.metal_age.black_steel_anvil.title": "T5 Anvil: Black Steel", - "quests.metal_age.black_steel_anvil.subtitle": "Steam is at your Grasp", - "quests.metal_age.black_steel_anvil.desc": "With the Black Steel Anvil you'll be able to work Black Steel Ingots into different items.\n\nUnlocking access to the Black Steel Anvil enables new quests in the Industrial Age, related to Steam Power. From both the Steam Engine and the High Pressure Steam Boilers.\n\nOnly one more tier to go.", + "quests.metal_age.black_steel_anvil.subtitle": "Steam power is within your grasp", + "quests.metal_age.black_steel_anvil.desc": "With the Black Steel Anvil you'll now be able to work Black Steel Ingots into different items.\n\nYou've also now opened up a massive new section in the Early Automation chapter related to Steam Power!\n\nFrom here, you can either dive straight into industrialization or finish up the last tier of anvils if you'd like. You can't avoid colored steel forever, though!", "quests.metal_age.black_steel_goodies.title": "Black Steel level Mechanical Power", "quests.metal_age.black_steel_goodies.subtitle": "The Industrial Revolution and its consequences", - "quests.metal_age.black_steel_goodies.desc": "With Black Steel comes Steam Power! With GregTech's Boilers, you'll be able to produce Steam, and with it, power Steam Machinery and work your way to proper machines and your first electronics.", + "quests.metal_age.black_steel_goodies.desc": "With Black Steel comes Steam Power! Start with small steam boilers and work your way up to a powerful steam engine, fuelling new machines to craft your first electronics.", "quests.metal_age.red_blu.title": "Red and Blue Steel", "quests.metal_age.red_blu.subtitle": "Some of the oldest modded Minecraft fantasy steels", - "quests.metal_age.red_blu.desc": "The final tier of Anvil, T6, is made by utilizing Red or Blue steel, both are complex alloys of Steel and multiple different metals.\n\nRed and Blue steel are known for their exceptional durability, heat resistance, and overall power. The following anvil creation can be made by either using Blue or Red Steel.", + "quests.metal_age.red_blu.desc": "The final tier of anvil can be made out of either Red or Blue Steel. Both are complex alloys of Steel and multiple different metals.\n\nBlue Steel is prized for its exceptional heat resistance and tool speed, while Red Steel boasts huge amounts of strength and durability.", "quests.metal_age.weak_red_steel.title": "Weak Red Steel Ingredients", "quests.metal_age.weak_red_steel.subtitle": "This is getting a little ridiculous", - "quests.metal_age.weak_red_steel.desc": "Weak Red Steel is one part of the necesary metals to create Red Steel, it's made by utilizing 4 parts Black Steel, 2 parts Steel, 1 part Brass and 1 part Rose Gold.\n\nYou can check the liquid weak red steel's recipe for more precise alloying percentage rates.", + "quests.metal_age.weak_red_steel.desc": "Like before, Weak Red Steel is the first step of Red Steel's creation. Its alloy is made from 4 parts Black Steel, 2 parts Steel, 1 part Brass, and 1 part Rose Gold.\n\nYou can check the liquid Weak Red Steel's recipe for more precise alloying percentage rates.", "quests.metal_age.weak_blu_steel.title": "Weak Blue Steel Ingredients", "quests.metal_age.weak_blu_steel.subtitle": "This is getting out of hand.", - "quests.metal_age.weak_blu_steel.desc": "Weak Blue Steel is one part of necesary metals to create Blue Steel, it's made by utilizing 4 parts Black Steel, 2 parts Steel, 1 part Bismuth Bronze and 1 part Sterling Silver.\n\bYou can check the liquid weak blue steel's recipe for more precise alloying percentage rates.", + "quests.metal_age.weak_blu_steel.desc": "Like before, Weak Blue Steel is the first step of Blue Steel's creation. Its alloy is made from 4 parts Black Steel, 2 parts Steel, 1 part Bismuth Bronze, and 1 part Sterling Silver.\n\bYou can check the liquid Weak Blue Steel's recipe for more precise alloying percentage rates.", "quests.metal_age.highcarb_red_steel.title": "Red Steel Ingredients", - "quests.metal_age.highcarb_red_steel.subtitle": "If you think about it the fact that one half of the ingot disappears would mean there's a lot of energy being released, probably higher than the Tsar Bomba... oh well it's just a modpack.", + "quests.metal_age.highcarb_red_steel.subtitle": "Could deleting matter like this power a nuclear bomb?", "quests.metal_age.highcarb_red_steel.desc": "Red Steel first starts as High Carbon Red Steel, which is made by welding Weak Red Steel and Black Steel. It needs to be worked on the Anvil to turn it into Red Steel", "quests.metal_age.highcarb_blu_steel.title": "Blue Steel Ingredients", "quests.metal_age.highcarb_blu_steel.subtitle": "Lavoisier is rolling in his grave", "quests.metal_age.highcarb_blu_steel.desc": "Blue Steel first starts as High Carbon Blue Steel, whcih is made by welding Weak Blue Steel and Black Steel. It needs to be worked on the Anvil to turn it into Blue Steel", "quests.metal_age.redblu_anvil.title": "T6 Anvil: Red or Blue Steel", "quests.metal_age.redblu_anvil.subtitle": "It's over", - "quests.metal_age.redblu_anvil.desc": "The final tier of Anvil, with the Tier 6 Anvil you'll be able to work both Red and Blue Steel Ingots into different items.\n\nThis marks the End of the regular TerraFirmaCraft progression, now it's time to finish the Industrial Age and create your very first Low Voltage circuitry.", + "quests.metal_age.redblu_anvil.desc": "The final tier of Anvil! With the Tier 6 Anvil you'll be able to work both Red and Blue Steel Ingots into different items.\n\nThis marks the end of TerraFirmaCraft's progression. Now it's time to finish the Industrial Age and create your very first Low Voltage circuitry.", "quests.metal_age.red_steel_flask.title": "Red Steel Flask", "quests.metal_age.red_steel_flask.subtitle": "This got nothing on the Iron Flask", - "quests.metal_age.red_steel_flask.desc": "The Red Steel Flask is the best Flask in the game, it may hold the same amount of liquid as an Iron Flask, but the Red Steel Flask never breaks.", + "quests.metal_age.red_steel_flask.desc": "The Red Steel Flask is the best Flask available. It may hold the same amount of liquid as an Iron Flask, but the Red Steel Flask never breaks.", "quests.metal_age.redblu_buckets.title": "Bucket Components", - "quests.metal_age.redblu_buckets.subtitle": "Not quite the bucket", - "quests.metal_age.redblu_buckets.desc": "The ending of the regular progression of the Metallurgy Age is creating a Bucket. The Bucket can be used to hold lava and other hot liquids without having it melt in your hands.", - "quests.metal_age.this_is_a_bucket.title": "This, is a Bucket.", + "quests.metal_age.redblu_buckets.subtitle": "Bucket Fusion Reactor", + "quests.metal_age.redblu_buckets.desc": "The final task in the Metallurgy Age is creating a Bucket. Unlike the wooden bucket and other fluid containers you've been using until now, the Bucket can be used to carry Lava and move around source blocks of other fluids.", + "quests.metal_age.this_is_a_bucket.title": "This... is a Bucket.", "quests.metal_age.this_is_a_bucket.subtitle": "Dear God...", - "quests.metal_age.this_is_a_bucket.desc": "Congratulations on crafting the Bucket. The Metallurgy Age is officially over.\n\nGo and start working on those Low Voltage components.", + "quests.metal_age.this_is_a_bucket.desc": "Congratulations on crafting the Bucket. The Metallurgy Age is officially over.\n\nGo and start working on those Low Voltage components!", "quests.steam_age": "Early Automation", "quests.steam_age.subtitle": "From Primitive Machines to Steam Power", "quests.steam_age.basic_greate.title": "Basics of Greate", @@ -833,7 +845,7 @@ "quests.steam_age.basic_greate.desc": "Greate is a fusion of &3Create&r and &3GregTech&r that has different tiered versions of Create's machines. It also introduces stress limits on Shafts and Cogwheels, so you'll have to plan more about how you power your machinery!\n\nGenerally speaking, you'll want smaller setups with their own individual power sources, instead of doing the usual Create thing of having a blob of water wheels connected into a single Shaft into your base.", "quests.steam_age.create_tools.title": "Tools of the Trade", "quests.steam_age.create_tools.subtitle": "These may be useful", - "quests.steam_age.create_tools.desc": "A wrench will let you quickly pick up Create blocks by Sneak + Right-Clicking on them, though an axe or pickaxe will still work too. The goggles will let you see much more detailed information about your machines, such as how much stress they're producing or consuming.\n\nBoth of these are optional for now, but will prove to be very useful, and you'll definitely want them later.", + "quests.steam_age.create_tools.desc": "A wrench will let you quickly pick up Create blocks by Sneak + Right-Clicking on them, though an axe or pickaxe will still work too. The goggles will let you see much more detailed information about your machines, such as how much stress they're producing or consuming.\n\nBoth of these are optional for now, but will prove to be very useful, and you'll definitely want them later.\n\nCheck the TFG Tips chapter for help on glassblowing. Did you know that breaking cobblestone with a hammer will turn it into gravel, and breaking that again will turn it into sand...?", "quests.steam_age.basic_millstone.title": "Automatic Ore Processing", "quests.steam_age.basic_millstone.subtitle": "No more querning", "quests.steam_age.basic_millstone.desc": "The &3Millstone&r is an automatic version of the Quern. You can throw whatever you'd like into the top, and then right-click to take your crushed items back out. It's pretty slow if you connect it directly to your Horse Crank, but you can use gear ratios to increase its speed.\n\nYou will only receive the output in the first slot. The other slots are part of a GregTech mechanic that won't be relevant until much later (&6HV&r).", @@ -997,27 +1009,27 @@ "quests.steam_age.resistors.subtitle": "The more... resistant... component for circuits", "quests.steam_age.resistors.desc": "Resistors are components that will be used to make your first Circuit.\n\nIt wouldn't be unwise to prioritise the recipes that use &aFine Wires&r, as they'll save you more materials in the long run.\n\nWires may be expensive right now, but they'll get a lot cheaper if you make the &3Coiling Machine&r down below or the &3Wiremill&r in &7LV&r.", "quests.steam_age.coiling_machine.title": "Coiling Machine", - "quests.steam_age.coiling_machine.subtitle": "ULV Wiremill", + "quests.steam_age.coiling_machine.subtitle": "An LV Wiremill strapped to half of the LV Bender!", "quests.steam_age.coiling_machine.desc": "The &3Coiling Machine&r is similar to a LV Wiremill, though it lacks the option to directly output different wire sizes. Still, this is a very worthwhile invesment to make your wires significantly cheaper.\n\nThis machine can also make cheaper springs, too!", "quests.steam_age.curving_press.title": "Curving Press", - "quests.steam_age.curving_press.subtitle": "ULV Extruder", + "quests.steam_age.curving_press.subtitle": "Just as niche as the LV Extruder", "quests.steam_age.curving_press.desc": "The &3Curving Press&r can do all the same recipes as an LV Extruder. Unfortunately, neither can do very much, as the extruder is only useful once you get to MV. Still, if you find yourself wanting to craft a lot of tool heads in bulk, this machine can do it for you.", "quests.steam_age.vibrating_table.title": "Vibrating Table", - "quests.steam_age.vibrating_table.subtitle": "ULV Sifter", + "quests.steam_age.vibrating_table.subtitle": "Identical to the LV Sifter", "quests.steam_age.vibrating_table.desc": "The &3Vibrating Table&r can process gem ores (including coal) in a different way, yielding much more output than anything else you have access to right now. As a bonus, it can also process any gravel ore deposits you may still have. No more sluicing!", "quests.steam_age.lathe.title": "Lathe", - "quests.steam_age.lathe.subtitle": "ULV... Lathe", + "quests.steam_age.lathe.subtitle": "You're not gonna believe which LV machine this is the same as", "quests.steam_age.lathe.desc": "The &3Lathe&r can automatically turn a single ingot into two rods, and single bolts into screws. If you're making a lot of those, and you will be, this machine will be a good investment.", "quests.steam_age.steel_saw.title": "Steel Mechanical Saw", - "quests.steam_age.steel_saw.subtitle": "ULV Cutter", - "quests.steam_age.steel_saw.desc": "It's an upgrade to your Basic Mechanical Saw that can also process some metal recipes, like turning rods into four bolts, and cutting blocks into plates. These recipes will all require a fluid to work, but you only have access to water at the moment.", + "quests.steam_age.steel_saw.subtitle": "A stonecutter and LV Cutter in one!", + "quests.steam_age.steel_saw.desc": "It's an upgrade to your Basic Mechanical Saw that can also process some metal recipes, like turning rods into four bolts, and cutting blocks into plates. These recipes will all require a fluid to work, but you can just use water for now.", "quests.steam_age.rolling_mill.title": "Rolling Mill", - "quests.steam_age.rolling_mill.subtitle": "ULV Bender", - "quests.steam_age.rolling_mill.desc.1": "Of all the ULV machines you could make, the &3Rolling Mill&r is one of the best, for the simple reason that it makes single plates out of single ingots. It can also make thin sheets cheaper than by hand, as a bonus!", + "quests.steam_age.rolling_mill.subtitle": "The other half of the LV Bender", + "quests.steam_age.rolling_mill.desc.1": "Of all the steam age machines you could make, the &3Rolling Mill&r is one of the best, for the simple reason that it makes single plates out of single ingots. It can also make thin sheets cheaper than by hand, as a bonus!", "quests.steam_age.rolling_mill.desc.2": "&l&3Lore:&r &oThis machine existed in older versions of TFG, but it made rods instead of plates, and your best plate-making option before the LV bender had a 20% chance of failure!&r", "quests.steam_age.steel_mixer.title": "Steel Mechanical Mixer", - "quests.steam_age.steel_mixer.subtitle": "ULV Mixer", - "quests.steam_age.steel_mixer.desc": "The &3Steel Mechanical Mixer&r is the other best ULV machine you can make -- it can mix together your colored steel dusts at a much more efficient rate than the Crucible! It can do a large number of other recipes too, including some that involve gases... don't think about it too much.\n\nYou can use either a Charcoal Forge or a Blaze Burner for the recipes that require heating, and a Mechanical Arm can automatically refuel either.", + "quests.steam_age.steel_mixer.subtitle": "An earlier LV Mixer", + "quests.steam_age.steel_mixer.desc": "The &3Steel Mechanical Mixer&r is the other best steam age machine you can make -- it can mix together your colored steel dusts at a much more efficient rate than the Crucible! It can do a large number of other recipes too, including some that involve gases... don't think about it too much.\n\nYou can use either a Charcoal Forge or a Blaze Burner for the recipes that require heating, and a Mechanical Arm can automatically refuel either.", "quests.steam_age.potin.title": "Potin Seller...", "quests.steam_age.potin.subtitle": "...I'm going into battle, and I need only your finest Potin.", "quests.steam_age.potin.desc.1": "&dPotin Fluid Pipes&r have a &avery high throughput&r for the material tier and cost. You may want to look into making some of these to aid with fluid logistics.\n\nTo get &dPotin&r, you should start by crafting its &eDust&r form.\n\nThis quest calls for either the small or normal pipe. Get either size to complete it.", @@ -1034,7 +1046,7 @@ "quests.steam_age.lv_circuit.desc": "The recipe for these may look intimidating at first, but if you've spent an appropriate amount of time in the Steam Age, everything should be easily automatable. You'll be making a lot of these for a while, but your next few electic machines will help make them even cheaper until you get your hands on a Circuit Assembler late into LV.", "quests.steam_age.what_next.title": "What Next?", "quests.steam_age.what_next.subtitle": "Y'know, besides \"more GregTech\"", - "quests.steam_age.what_next.desc": "If you rushed straight here, we suggest machines like the LV Bender, Wiremill, or Mixer first.\nOtherwise, if you made the ULV machines below, we suggest the Assembler, Arc Furnace, Chemical Reactor, or Polarizer.", + "quests.steam_age.what_next.desc": "If you rushed straight here, we suggest machines like the LV Bender, Wiremill, or Mixer first.\nOtherwise, if you made the kinetic machines below, we suggest the Assembler, Arc Furnace, Chemical Reactor, or Polarizer.", "quests.steam_age.alternator.title": "Alternators", "quests.steam_age.alternator.subtitle": "Turning stress into power", "quests.steam_age.alternator.desc.1": "If you've got a big steam age set up, you probably don't want to immediately scrap it all just to go back to some boilers and LV Steam Turbines. Instead, the &3Alternator&r will convert the SU from your steam engines into electricity. Each steam engine + alternator should give you 1A of LV! Unfortunately, alternators convert stress into a different electricity system than the one GregTech uses, so you'll need an Energy Converter to turn it into usable LV energy.", @@ -1064,8 +1076,8 @@ "quests.stone_age.garlic_bread.task": "1024 slices of Garlic Bread", "quests.stone_age.find_potable_water.title": "Thirsty?", "quests.stone_age.find_potable_water.subtitle": "Remember to drink water!", - "quests.stone_age.find_potable_water.desc": "Thirst is represented by the blue bar above your hunger. You can and will die of dehydration if you dont keep your thirst meter filled! The easiest way to have a drink is by drinking from natural ponds in the wild, by right-clicking on them with an empty hand.\n\nYou don't have to worry about purifying water here, though Salt Water will just make you more thirsty.", - "quests.stone_age.find_potable_water.task": "A source of fresh Water", + "quests.stone_age.find_potable_water.desc": "Thirst is represented by the blue bar above your hunger. You can and will die of dehydration if you dont keep your thirst meter filled! The easiest way to have a drink is by drinking from natural ponds in the wild, by right-clicking on them with an empty hand.\nTo complete this quest, you need to drink a Potable source of water, can be regular or river water. You may need to drink multiple times so the quest completes properly\n\nYou don't have to worry about purifying water here, though Salt Water will just make you more thirsty.", + "quests.stone_age.find_potable_water.task": "Drink from a Water Source with your Hand. (Not Salty or Hot)", "quests.stone_age.hydration.title": "Mechanic: Hydration", "quests.stone_age.hydration.subtitle": "Yet another bar to keep full...", "quests.stone_age.hydration.desc": "Water is an important resource, not just for staying hydrated! Setting up a base near a fresh lake or river is recommended, so you have easy access to the stuff. Other items can quench your thirst, such as certain types of food or drinks.\n\nWater won't always be available when you go exploring, however, so here are some ways to carry drinks around with you. Drinking consumes 100mB from the container.", @@ -1231,114 +1243,117 @@ "quests.metal_age.copper_anvil.subtitle": "It's all been building up to this!", "quests.metal_age.copper_anvil.desc": "Congratulations! You've officially finished the Stone Age and entered the Metallurgy Age! With your Copper Anvil, the next step is to climb up the Anvil Tiers, and each time you unlock a new Tier, new tools and possibilities will be available to make your life progressively easier. Now go and become a master smith!", "quests.tfg": "TerraFirmaGreg - Modern", - "quests.tfg.subtitle": "Welcome to TerraFirmaGreg - Modern!", - "quests.tfg.welcome.title": "Welcome to TerraFirmaGreg - Modern!", + "quests.tfg.subtitle": "Welcome to TerraFirmaGreg!", + "quests.tfg.welcome.title": "Welcome to TerraFirmaGreg!", "quests.tfg.welcome.subtitle": "Survival Modpack As It Should've Been", - "quests.tfg.welcome.desc": "Thank you for playing TerraFirmaGreg Modern!\n\nIn TerraFirmaGreg - Modern, you will be put to the test to take control of a world hostile to unprepared life, and bring it to an Industrial Wonderland. Start from humble beginning picking up rocks, and end traversing interstellar space!", + "quests.tfg.welcome.desc": "Thank you for starting TerraFirmaGreg Modern!\n\nIn 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!", "quests.tfg.create_team.title": "How to create a team?", - "quests.tfg.create_team.subtitle": "Do you play with friends? Surprising...", - "quests.tfg.create_team.desc": "You can create a team to complete quests together. To do this, open your inventory, then in the upper left corner select the button where 3 colorful people are drawn, then an interface will open in which you can create a team, use the ยงaCreate a teamยงr button, then give it a name and possibly some other parameters, after successful creating a team, you can invite other players to it using the plus button in the green circle in the upper right corner, in the future your quests will be synchronized and any team member will be able to complete them. Good luck!", + "quests.tfg.create_team.subtitle": "Do you play with friends?", + "quests.tfg.create_team.desc": "You can create a team to complete quests together. To do this, open your inventory, then in the upper left corner select the button where 3 colorful people are drawn, then an interface will open in which you can create a team. Click the ยงaCreate a teamยงr button, then give it a name and possibly some other parameters, and after successfully creating a team, you can invite other players to it using the plus button in the green circle in the upper right corner. From this point onwards, your quests will be synchronized and any team member will be able to complete them. Good luck!", "quests.tfg.capture_territory.title": "How to capture territory?", - "quests.tfg.capture_territory.subtitle": "Or how to load chunks in your territory", - "quests.tfg.capture_territory.desc": "You can private the chunks you want if you play on a server, for example. How to do it? Use the button to open the mini-map, then select the chunks that you want to capture, then by clicking on the right mouse button, select ยงaCapture territoryยงr from the list, it seems to be the third item from the bottom, voila, you have captured the territory. Attention: your teammates will be able to break blocks in your region, which is logical.", + "quests.tfg.capture_territory.subtitle": "And how to load chunks in your territory", + "quests.tfg.capture_territory.desc": "If you play on a server, you might want to claim your territory so other players can't interfere. Use the Open Map key (default \"M\") to open the map, then right-click the chunk you want to claim, and select Claim Chunk. There is a limit to this, so you can't claim everything. You can right-click on a chunk again to Forceload (aka \"chunk load\") it. Claiming chunks will include your whole team, if you're using one.", "quests.tfg.field_guide.title": "Important information about quests!", "quests.tfg.field_guide.subtitle": "I need to read more?", - "quests.tfg.field_guide.desc": "The quests are still in development, more descriptions and more will be added in the future. You can partially use the TFC book to find the information you need. &cFull quests in each branch with translation will appear in update 1.0.0, since now the developers have very little time.&r\n\nRemember that both JEI and the Field Guide are your friends, and you should verify the information in the field guide alongside the quests.\n\nIf you ever loose your Field Guide, you can always access it in your inventory.", + "quests.tfg.field_guide.desc": "The quests are still in development, and we're always working on improving them! A lot of information about specific mechanics are also in your Field Guide, accessible via the Book tab in your inventory.\n\nRemember that both JEI and the Field Guide are your friends, as not everything will be explained through quests.", "quests.tfg.quest_shapes.title": "Information about Quest Shapes.", "quests.tfg.quest_shapes.subtitle": "Turns out shapes help understand these quests.", - "quests.tfg.quest_shapes.desc": "In TerraFirmaGreg most of the custom quests follow a strict set of rules regarding how they look, predominantly their shapes and sizes.\n\n&lGears&r: Gear shaped quests are the biggest in each quest category, they represent the Start and End of questlines. You can consider these as major end goals.\n&lHearts&r: Heart shaped quests are &ooptional&r, they're not necesary for progression and mostly serve for completionist type players. Some optional quests may be a bit silly...\n&lOctagons:&r Octagons are important marks on certain quests, they represent milestones.\n&lSizes:&r The bigger the size of the icon, the more important it is in the overall progression.", + "quests.tfg.quest_shapes.desc": "&lGears&r: Gear shaped quests are the biggest in each quest category, they represent the Start and End of questlines. You can consider these as major end goals.\n\n&lHearts&r: Heart shaped quests are &ooptional&r, they're not necesary for progression and mostly serve for completionist type players. Some optional quests may be a bit silly...\n\n&lOctagons:&r Octagons are important marks on certain quests, they represent milestones.", "quests.tfg_tips": "TerraFirmaGreg Tips", "quests.tfg_tips.subtitle": "Tips and Tricks to make your life slightly easier.", "quests.tfg_tips.begining.title": "Tips and Tricks be here!", "quests.tfg_tips.begining.subtitle": "Dear god thats a lot of branches...", - "quests.tfg_tips.begining.desc": "This questline looks into giving you a lot, &o(and i do mean a lot)&r of tips to make your survival situation a bit easier.\n\nEach teeth of this Gear represents a major mod in TerraFirmaGreg, with tips on how to use the mod and get the most out of it. ALL the quests here are not necesary for progression, although some &omay&r be locked behind main questline tasks.", + "quests.tfg_tips.begining.desc": "This quest chapter gives you a lot, &o(and we do mean a lot)&r of tips on how to survive and thrive.\n\nEach branch of this quest tree represents a major mod in TerraFirmaGreg, with tips on how to use the mod and get the most out of it. None of the quests here are necesary for progression, although some &omay&r be locked behind main questline tasks.", "quests.tfg_tips.portable_storage.title": "Portable Storage Solutions", "quests.tfg_tips.portable_storage.subtitle": "Turns out your inventory is quite small.", - "quests.tfg_tips.portable_storage.desc": "In TerraFirmaGreg you may end up exploring a &olot&r of land. During your exploration you're bound to end up picking up a lot of junk. This quest branch looks into making inventory management on the go easier.", + "quests.tfg_tips.portable_storage.desc": "In your travels, you may end up exploring a &olot&r, and you're bound to end up picking up a lot of junk. This quest branch provides several options for expanding your on-the-go inventory.", "quests.tfg_tips.toolbelt.title": "Toolbelt and Pouches", - "quests.tfg_tips.toolbelt.subtitle": "Those tools sure take a lot of space, lets fix that.", - "quests.tfg_tips.toolbelt.desc": "With a Toolbelt, you'll be able to easily manage multiple tools in a single inventory slot, simply swap them around and store them in your toolbelt when necesary! By default it contains 2 slots, but more can be added by crafting &oBelt Pouches&r.\n\nYou're going to need to know how to work Leather and some intermediary metalworking knowledge to craft these items. Check the dependencies!", + "quests.tfg_tips.toolbelt.subtitle": "Those tools sure take up a lot of space, lets fix that!", + "quests.tfg_tips.toolbelt.desc": "With a Toolbelt, you'll be able to easily manage multiple tools without taking up an inventory slot! This handy item can go into a special toolbelt slot in your Curios menu, and you can insert and retrieve tools with a keybind. It starts with only two slots, but more can be added by crafting &oBelt Pouches&r.\n\nDue to a bug with this mod, it's not possible to upgrade your pouch if it's been dyed or has tools inside.", "quests.tfg_tips.maxed_out_toolbelt.title": "ALL THE TOOLS", "quests.tfg_tips.maxed_out_toolbelt.subtitle": "That belt must be very heavy at this point...", - "quests.tfg_tips.maxed_out_toolbelt.desc": "A toolbelt can hold 7 extra pouches, thats 7 extra tools in one belt!", + "quests.tfg_tips.maxed_out_toolbelt.desc": "A toolbelt can hold 7 extra pouches, thats 9 tools in one belt!", "quests.tfg_tips.maxed_out_toolbelt.task": "Obtain a maxed out toolbelt.", "quests.tfg_tips.vessels.title": "Large and Small Vessels", "quests.tfg_tips.vessels.subtitle": "Clay can be quite useful.", - "quests.tfg_tips.vessels.desc": "With some Clay, Wood and Time you can create Vessels, Small vessels have 4 inventory slots while Large Vessels have 9! The Vessel not only lets you store items, but its a great way to melt basic metals to create alloys.", + "quests.tfg_tips.vessels.desc": "With some Clay, Fire, and Time you can create Vessels. Small vessels have 4 inventory slots while Large Vessels have 9! The Small Vessel is not just for item storage, but is also necessary for melting basic metals. The Large Vessel is heavier to carry, but is great for preserving food.", "quests.tfg_tips.portable_cells.title": "Portable Item and Fluid Cells", - "quests.tfg_tips.portable_cells.subtitle": "Isn't this too advanced for this?", - "quests.tfg_tips.portable_cells.desc": "With Applied Energistics 2, you can create Portable Item and Fluid Cells, which allows you to store large amounts of items as pure raw data. Sadly, Applied Energistics 2 is locked behind High Voltage, so it might be a while until you can create these.", + "quests.tfg_tips.portable_cells.subtitle": "Isn't this too advanced?", + "quests.tfg_tips.portable_cells.desc": "With Applied Energistics 2, you can create Portable Item and Fluid Cells, which allow you to store large amounts of items and fluids as pure raw data. Sadly, Applied Energistics 2 is locked behind High Voltage, so it might be a while until you can create these.", "quests.tfg_tips.256m_portable_cells.title": "MEGA Portable Item and Fluid Cells", - "quests.tfg_tips.256m_portable_cells.subtitle": "When Kilobytes isnt enough.", - "quests.tfg_tips.256m_portable_cells.desc": "With MEGA Cells, you can create well, Mega Cells! These cells have LUDICROUS amounts of data storage and as such can be used to store INSANE amounts of items.\n\nFun Fact! A single 256M Portable Item Cell can store up to &lOne Billion&r of a single item type! That's enough to fill over 58 thousand chests!", + "quests.tfg_tips.256m_portable_cells.subtitle": "When Kilobytes aren't enough", + "quests.tfg_tips.256m_portable_cells.desc": "With MEGA Cells, you can create cells with LUDICROUS amounts of data storage!\n\nFun Fact! A single 256M Portable Item Cell can store up to &lOne Billion&r of a single item type! That's enough to fill over 58 thousand chests!", "quests.tfg_tips.backpack_materials.title": "Materials for a Backpack", - "quests.tfg_tips.backpack_materials.subtitle": "Maps not included", - "quests.tfg_tips.backpack_materials.desc": "A Sophisticated Backpack, as the name suggests, its a backpack that can be used to store items. Not only can it store items, but it can also store items that are <oo big&r for regular chests... Don't ask how that works.\n\nAlso, Sophisticated Backpacks can be upgraded to both increase their capacity and add extra functionalities to them!", + "quests.tfg_tips.backpack_materials.subtitle": "Sleeping bag not included", + "quests.tfg_tips.backpack_materials.desc": "A Sophisticated Backpack is the primary way to expand your portable inventory size. The first one will double your normal inventory, and further upgrades increase it even more! It also comes with a wide variety of upgrades to add even more functionality, and different parts of it can be dyed different colors!", "quests.tfg_tips.first_backpack.title": "Your First Backpack", "quests.tfg_tips.first_backpack.subtitle": "No, the map won't magically appear.", - "quests.tfg_tips.first_backpack.desc": "This is your First Sophisticated Backpack. It has a total of 27 inventory slots and 1 slot of a regular backpack upgrade. Check the two branches after this to learn about inventory upgrades and backpack upgrades.", + "quests.tfg_tips.first_backpack.desc": "This is your first Sophisticated Backpack. It has a total of 27 inventory slots and can hold one upgrade. Check the two branches after this to learn about inventory and backpack upgrades.", "quests.tfg_tips.red_steel_backpack.title": "Red Steel Backpack", - "quests.tfg_tips.red_steel_backpack.subtitle": "No, Blue Steel Backpacks don't exist, sorry!", - "quests.tfg_tips.red_steel_backpack.desc": "A Red Steel Backpack is your first proper backpack inventory upgrade, It has a total slot count of 54 and contains 2 slots for regular backpack upgrades such as Crafting or Void upgrades.", + "quests.tfg_tips.red_steel_backpack.subtitle": "Cooler than a Blue Steel Backpack", + "quests.tfg_tips.red_steel_backpack.desc": "A Red Steel Backpack is your first proper backpack inventory upgrade. It has a total slot count of 54 and can hold two upgrades.", "quests.tfg_tips.aluminium_backpack.title": "Aluminium Steel Backpack", "quests.tfg_tips.aluminium_backpack.subtitle": "Is it Aluminum or Aluminium?", - "quests.tfg_tips.aluminium_backpack.desc": "An Aluminium Backpack is your second proper backpack inventory upgrade, It has a total slot count of 81 and contains 3 slots for regular backpack upgrades such as Crafting or Void upgrades.", + "quests.tfg_tips.aluminium_backpack.desc": "An Aluminium Backpack is your second proper backpack inventory upgrade. It has a total slot count of 81 and can hold three upgrades.", "quests.tfg_tips.titanium_backpack.title": "Titanium Backpack", "quests.tfg_tips.titanium_backpack.subtitle": "Almost titanic.", - "quests.tfg_tips.titanium_backpack.desc": "A Titanium Backpack is your third proper backpack inventory upgrade, It has a total slot count of 108 and contains 5 slots for regular backpack upgrades such as Crafting or Void upgrades.", + "quests.tfg_tips.titanium_backpack.desc": "A Titanium Backpack is your third proper backpack inventory upgrade. It has a total slot count of 108 and can hold five upgrades.", "quests.tfg_tips.tungstensteel_backpack.title": "Tungstensteel Backpack", "quests.tfg_tips.tungstensteel_backpack.subtitle": "The ultimate backpack.", - "quests.tfg_tips.tungstensteel_backpack.desc": "The Tungstensteel Backpack is the final backpack inventory upgrade, It has a total slot count of 120 and contains 7 slots for regular backpack upgrades such as Crafting or Void upgrades.", + "quests.tfg_tips.tungstensteel_backpack.desc": "The Tungstensteel Backpack is the final backpack inventory upgrade. It has a whopping slot count of 120 and can hold seven upgrades!", "quests.tfg_tips.backpack_upgrades.title": "Backpack Upgrades", - "quests.tfg_tips.backpack_upgrades.subtitle": "When Inventory Slots just don't cut it.", - "quests.tfg_tips.backpack_upgrades.desc": "Backpack Upgrades can be installed in your Sophisticated Backpacks, giving your backpack new abilities and utilities.\n\nYou'll need a Blast Furnace to be able to craft these upgrade bases.", + "quests.tfg_tips.backpack_upgrades.subtitle": "More than just a backpack", + "quests.tfg_tips.backpack_upgrades.desc": "Backpack Upgrades can be installed in your Sophisticated Backpacks, giving your backpack new abilities and utilities.\n\nYou'll need access to Steel to be able to craft these upgrade bases.", "quests.tfg_tips.crafting_upgrade.title": "Crafting Upgrade", "quests.tfg_tips.crafting_upgrade.subtitle": "A Workbench on the go!", - "quests.tfg_tips.crafting_upgrade.desc": "The Crafting Upgrade lets you carry a WorkBench in your backpack wherever you go, its pretty much mandatory.", + "quests.tfg_tips.crafting_upgrade.desc": "The Crafting Upgrade lets you carry a Workbench in your backpack wherever you go. You'll wonder how you lived without it!", "quests.tfg_tips.advanced_upgrades.title": "Advanced Upgrades", - "quests.tfg_tips.advanced_upgrades.subtitle": "When the regular just doesn't cut it.", - "quests.tfg_tips.advanced_upgrades.desc": "Certain upgrades for your backpack can be upgraded to advanced upgrades. Advanced upgrades contain more utilities overall and improve the functionality of the original version. Try crafting a Filter and Advnaced Filter upgrade to complete this quest.", + "quests.tfg_tips.advanced_upgrades.subtitle": "Upgrades but yellow", + "quests.tfg_tips.advanced_upgrades.desc": "Certain upgrades for your backpack can be upgraded to advanced upgrades. Advanced upgrades have more functionality than their base versions, such as allowing extra filter types or being more configurable. Try crafting a Filter and Advanaced Filter upgrade to complete this quest.", "quests.tfg_tips.all_backpack_upgrades.title": "ALL THE UPGRADES", - "quests.tfg_tips.all_backpack_upgrades.subtitle": "You can't even fit all of these in a single backpack tho...", + "quests.tfg_tips.all_backpack_upgrades.subtitle": "You can't even fit all of these in a single backpack...", "quests.tfg_tips.all_backpack_upgrades.desc": "These are all the backpack upgrades Sophisticated Backpacks have to offer. Can you craft them all?", "quests.tfg_tips.gt.title": "GregTech", "quests.tfg_tips.gt.subtitle": "One third of the modpack's name, after all.", "quests.tfg_tips.gt.desc": "GregTech can be quite intimidating, this quest branch should help you out.", - "quests.tfg_tips.terrafirmacraft.title": "TerraFirmaCraft", - "quests.tfg_tips.terrafirmacraft.subtitle": "Its two thirds of the modpack's name after all.", - "quests.tfg_tips.terrafirmacraft.desc": "TerraFirmaCraft is one of the main mods for TerraFirmaGreg. This branch mostly helps out in letting you know about specific &lAdd-Ons&r the modpack has. Such as Aged Alcohol and Canes.", + "quests.tfg_tips.terrafirmacraft.title": "TerraFirmaCraft Addons", + "quests.tfg_tips.terrafirmacraft.subtitle": "The other two thirds of the modpack's name", + "quests.tfg_tips.terrafirmacraft.desc": "TerraFirmaCraft is one of the main mods for TerraFirmaGreg. This branch mostly focuses on some of its survival features and other &lAdd-Ons&r the modpack has, such as Aged Alcohol and Canes.", "quests.tfg_tips.cane.title": "Walking Canes", - "quests.tfg_tips.cane.subtitle": "You can even whack people with it!", - "quests.tfg_tips.cane.desc": "A Walking Cane allows you to completely overcome any walk-thru block's slow down effects, such as snow and leaf litters. As long as you're holding one in one of your hands that is.", + "quests.tfg_tips.cane.subtitle": "You can even whack people with them!", + "quests.tfg_tips.cane.desc": "A Walking Cane allows you to completely ignore any block that slows your movement, such as snow and leaf litter, as long as you're carrying it in your main or off-hand.", "quests.tfg_tips.cane.task": "Any Cane", "quests.tfg_tips.glassblowing.title": "Glassblowing", "quests.tfg_tips.glassblowing.subtitle": "Realistic Glaswsworking!", - "quests.tfg_tips.glassblowing.desc": "In TerraFirmaCraft, to work with Glass items you need to create a Glassblowing station.\n\nThe Glassblowing station will require some sort of Blowpipe, and a small platform made out of Kaolin Clay to pour the molten glass. You'll need this station to be able to achieve Low Voltage, So it's a good idea to start working on this as soon as possible.\n\nTip: A BlowPipe can be used as a Tong to avoid burning yourself when picking up hot items, handy!", - "quests.tfg_tips.glassblowing.task.1": "At least 9x Kaolin Clay Blocks.", + "quests.tfg_tips.glassblowing.desc": "In TerraFirmaCraft, to create any sort of glass pane or block, you'll need to create a Glassblowing station.\n\nGlassblowing will require some sort of Blowpipe, and a small platform made out of glassblowing blocks to pour the molten glass. Check out the field guide for more information on the shape of the platform and what blocks are valid to use. You'll have access to glassblowing as soon as you can shape Brass!", + "quests.tfg_tips.glassblowing.task.1": "Any glassblowing blocks.", "quests.tfg_tips.glassblowing_tools.title": "Glassblowing Tools", - "quests.tfg_tips.glassblowing_tools.subtitle": "Tools for the Trade.", - "quests.tfg_tips.glassblowing_tools.desc": "To work with glass you'll need different tools for each task.\n\n&lPaddle&r: Performs flatten, Mainly used for creating Glass Panes and Lamp Glasses.\n&lGem Saw&r: A saw utilizing precious gems which can cut thru the glass. Not only is this used in recipes, but you can use it to break glass blocks and you'll get the block back instead of shattering the block!\n&lJacks&r: Used to pinch glasses, mostly used for containers such as glass bottles.\n&lWool Cloth&r: Used for rolling glass, used for lenses and jars.", + "quests.tfg_tips.glassblowing_tools.subtitle": "Tools of the Trade", + "quests.tfg_tips.glassblowing_tools.desc": "To work with glass, you'll need different tools for each task.\n\n&lPaddle&r: Performs flatten, Mainly used for creating Glass Panes and Lamp Glasses.\n&lGem Saw&r: A saw that can safely cut glass without breaking it. This isn't just used in recipes, but can be used to pick up glass and gem buds in-world as well!\n&lJacks&r: Used to pinch glass, mostly used for containers such as glass bottles.\n&lWool Cloth&r: Used for rolling glass, used for lenses and jars.", "quests.tfg_tips.glass_blocks.title": "Glass Blocks", "quests.tfg_tips.glass_blocks.subtitle": "Get yourself some windows.", - "quests.tfg_tips.glass_blocks.desc": "You may have noticed that depending with what type of sand you use to create the glass batch, your glasses will have different colors. Check out the Field Guide's section on Glassblowing to learn different ways to make specific colors. In the future you'll be able to use liquids such as Chlorine to bleach any kind of glass into regular glass.\n\nTip: If you're looking to make a lot of glass dust, try using glass panes and then macerating them, with a big enough Kaolin Clay platform you'll end up getting far more glass dust than what you'd obtain via just macerating a single block.", + "quests.tfg_tips.glass_blocks.desc": "Depending on the type of sand you use to create the glass batch, your glass will have different colors. Check out the Field Guide's section on Glassblowing to learn different ways to make specific colors. Later on, you'll be able to use chemicals to dye glass more easily.\n\nTip: If you're looking to make a lot of Glass Blocks and have access to an Alloy Smelter, it's more efficient to make glass panes and then macerate them, since one batch can make up to 16 at a time!", "quests.tfg_tips.lamps.title": "Lamps", "quests.tfg_tips.lamps.subtitle": "These are pretty.", - "quests.tfg_tips.lamps.desc": "Just like in regular Minecraft, Lamps can be hung down from the ceiling or placed on top of a block and give out a moderate amount of light. Lamps consume different kinds of fluid to keep themselves lit, some fuels last indefinetly but require particularly sturdy lamps.", + "quests.tfg_tips.lamps.desc": "Just like in regular Minecraft, Lamps can be hung down from the ceiling or placed on top of a block and give out light. Lamps consume different kinds of fuels to keep themselves lit. Some fuels can last indefinitely, but require particularly sturdy lamps.", "quests.tfg_tips.creosote.title": "Lamp Fuel: Creosote", - "quests.tfg_tips.creosote.subtitle": "If you have a bunch of it laying around...", - "quests.tfg_tips.creosote.desc": "Creosote from GregTech can be utilized as a lamp fuel, a full lamp of the stuff lasts for 1 month and 2 days.", + "quests.tfg_tips.creosote.subtitle": "If you have a bunch of it lying around...", + "quests.tfg_tips.creosote.desc": "Creosote can be used as a lamp fuel, but a full lamp of the stuff only lasts for 10 days.", "quests.tfg_tips.creosote.task": "A Bucket of Creosote", "quests.tfg_tips.tallow.title": "Lamp Fuel: Tallow", "quests.tfg_tips.tallow.subtitle": "Animal Fat", - "quests.tfg_tips.tallow.desc": "Tallow can be utilized as lamp fuel, a full lamp of the stuff lasts for 2 months and 2 days.", + "quests.tfg_tips.tallow.desc": "Tallow can be used as lamp fuel. A full lamp of it will last 18 days.", "quests.tfg_tips.tallow.task": "A Bucket of Tallow", "quests.tfg_tips.olive_oil.title": "Lamp Fuel: Olive Oil", "quests.tfg_tips.olive_oil.subtitle": "Lilbito'liveoil", - "quests.tfg_tips.olive_oil.desc": "Olive Oil can be utilized as lamp fuel, while a bit expensive and tedious to craft, a full lamp of the stuff lasts for 10 months and 3 days.", + "quests.tfg_tips.olive_oil.desc": "Olive Oil can be used as lamp fuel, and while it's more difficult to craft than the others, a full lamp of it lasts for 83 days!", "quests.tfg_tips.olive_oil.task": "A Bucket of Olive Oil", "quests.tfg_tips.lava_lamp.title": "Lamp Fuel: Lava?", "quests.tfg_tips.lava_lamp.subtitle": "Not as mesmerizing as the real deal", - "quests.tfg_tips.lava_lamp.desc": "With a very heat resistant metal such as Blue Steel, you can create a Blue Steel Lamp. The Blue Steel Lamp can be filled with Lava, giving you an indefinite source of light.\n\nCareful handling a filled lava lamp, its very hot.", + "quests.tfg_tips.lava_lamp.desc": "With the very heat resistant metal known as Blue Steel, you can create a Blue Steel Lamp. The Blue Steel Lamp can be filled with Lava, giving you an indefinite source of light.\n\nCareful handling a filled lava lamp, it's very hot.", + "quests.tfg_tips.glowstone_lamp.title": "Lamp Fuel: Glowstone", + "quests.tfg_tips.glowstone_lamp.subtitle": "The best lamp fuel", + "quests.tfg_tips.glowstone_lamp.desc": "You'll need access to electricity in order to liquefy glowstone, but if you like the look of the lamps, you can use Liquid Glowstone to fuel them indefinitely. This can be used in any of the lamp types, and isn't hot either!", "quests.tfg_tips.charcoal_pile.title": "Charcoal Pile", "quests.tfg_tips.charcoal_pile.subtitle": "You're going to need this", "quests.tfg_tips.charcoal_pile.desc.1": "Charcoal Piles are a multiblock structure that can be built in the early game to generate large quantities of Charcoal. You're going to need &oa lot&r of Charcoal if you want to succeed in TerraFirmaGreg, as it's key for working with metals, creating Wrought Iron and creating Steel.\n\nBegin by digging down a pit.", diff --git a/kubejs/assets/tfg/textures/item/fletching.png b/kubejs/assets/tfg/textures/item/fletching.png new file mode 100644 index 000000000..1d9422fdc Binary files /dev/null and b/kubejs/assets/tfg/textures/item/fletching.png differ 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 000000000..856c3a2f0 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/flint_arrow_head.png differ 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 8e647ff11..f9bdc9b31 100644 Binary files a/kubejs/data/tfg/structures/ocean/ocean_moai_0_3.nbt and b/kubejs/data/tfg/structures/ocean/ocean_moai_0_3.nbt differ diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/clay_patch.json b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/clay_patch.json index 7704f454c..2be36b86c 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/clay_patch.json +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/clay_patch.json @@ -21,8 +21,8 @@ "xz_radius": { "type": "minecraft:uniform", "value": { - "max_inclusive": 4, - "min_inclusive": 2 + "max_inclusive": 5, + "min_inclusive": 3 } } } diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/clay_patch_kaolin.json b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/clay_patch_kaolin.json index 66176b00b..1beeb8f75 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/clay_patch_kaolin.json +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/clay_patch_kaolin.json @@ -17,12 +17,12 @@ "feature": "tfg:nether/terrain/clay_patch_kaolin_vegetation", "placement": [] }, - "vertical_range": 2, + "vertical_range": 3, "xz_radius": { "type": "minecraft:uniform", "value": { - "max_inclusive": 5, - "min_inclusive": 3 + "max_inclusive": 6, + "min_inclusive": 4 } } } diff --git a/kubejs/server_scripts/advancedperipherals/recipes.js b/kubejs/server_scripts/advancedperipherals/recipes.js index b2f9be3f5..cb4249129 100644 --- a/kubejs/server_scripts/advancedperipherals/recipes.js +++ b/kubejs/server_scripts/advancedperipherals/recipes.js @@ -2,6 +2,8 @@ const registerAdvancedPeripheralsRecipes = (event) => { + 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