diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 468bc64fe..aaeb5b66b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -152,7 +152,7 @@ jobs: - 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.5.0 + uses: actions/upload-artifact@v4.6.0 with: name: Mods-diff path: PROJECTS_DIFF.md @@ -212,7 +212,7 @@ jobs: mv *.zip $(basename -s .zip *.zip)-curseforge.zip - name: 🚀 Upload artifact CurseForge - uses: actions/upload-artifact@v4.5.0 + uses: actions/upload-artifact@v4.6.0 with: name: ${{ needs.info.outputs.project_full_name }}-curseforge path: ./build/curseforge/${{ needs.info.outputs.project_full_name }}-curseforge.zip @@ -224,7 +224,7 @@ jobs: mv *.mrpack $(basename -s .mrpack *.mrpack)-modrinth.mrpack - name: 🚀 Upload artifact modrinth - uses: actions/upload-artifact@v4.5.0 + uses: actions/upload-artifact@v4.6.0 with: name: ${{ needs.info.outputs.project_full_name }}-modrinth path: ./build/modrinth/${{ needs.info.outputs.project_full_name }}-modrinth.mrpack @@ -267,7 +267,7 @@ jobs: mv *.zip $(basename -s .zip *.zip)-serverpack.zip - name: 🚀 Upload artifact server - uses: actions/upload-artifact@v4.5.0 + uses: actions/upload-artifact@v4.6.0 with: name: ${{ needs.info.outputs.project_full_name }}-serverpack path: ./build/serverpack/${{ needs.info.outputs.project_full_name }}-serverpack.zip @@ -317,7 +317,7 @@ jobs: zip -r ${{ needs.info.outputs.project_full_name }}-multimc.zip icon.png mmc-pack.json instance.cfg .minecraft/ flame/ - name: 🚀 Upload zip multimc - uses: actions/upload-artifact@v4.5.0 + uses: actions/upload-artifact@v4.6.0 with: name: ${{ needs.info.outputs.project_full_name }}-multimc path: .pakku/multimc-overrides/${{ needs.info.outputs.project_full_name }}-multimc.zip diff --git a/CHANGELOG.md b/CHANGELOG.md index 226cdcc76..bfe432dfc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,29 @@ ### Changes - Added ore index, started work on other TFC info category (Pyritie). - Changed the AE2 network analyzer to HV instead of IV (Pyritie). +- Fixed a typo in salt water boiling recipe's temperature for small salt pile - 1000 > 100 (8oyNextDoor). +- Fix sprinklers + fix bread and yeast starter recipe conflict (Pyritie). +- Added recipes for create glass, more windows, fixed tinted glass recipe conflict (Pyritie). +- Added missing recipe for nether brick (Pyritie). +- Added armor trims (Pyritie). +- Add blast furnace tips entry (CaptainGold1). +- Allows stick bundles to be used in the coke oven (CaptainGold1). +- Allows all colors of glass to be macerated/hammered to dust (CaptainGold1). +- Add alternate papermaking quests using treated hide (CaptainGold1). +- Fix dupes via recycling firmaciv items (Egogorka). +- Create fluxstone recipes in macerator and forge hammer (KorGgenT). +- Fixes fertilizer recipe and modifies some mixer recipes relating to dirt (CaptainGold1). +- Changed train tracks to be cheaper (Pyritie). +- Create Sails: Recipe Improvements (Nebby1999) +### New mods +- Inventory Tweaks Refoxed 1.1 +- EveryCompat +- MemoryLeakFix +### Updated mods +- FirmaLife ? -> 2.1.15 +- Moonlight ? -> ? +### Removed mods +- Inventory Sorter ## [0.7.16] - 12.01.2025 ### Changes diff --git a/config/ftbquests/quests/chapters/primitive_age.snbt b/config/ftbquests/quests/chapters/primitive_age.snbt index 6037e186f..be2e360b5 100644 --- a/config/ftbquests/quests/chapters/primitive_age.snbt +++ b/config/ftbquests/quests/chapters/primitive_age.snbt @@ -3782,7 +3782,11 @@ y: 3.0d } { - dependencies: ["7E8F9F6F35614B13"] + dependencies: [ + "7E8F9F6F35614B13" + "25C1C646790CFB6E" + ] + dependency_requirement: "one_completed" id: "2658E7679CD42ACD" tasks: [{ id: "5D95FC92B930ACC0" @@ -5228,6 +5232,32 @@ x: 24.5d y: 24.0d } + { + dependencies: [ + "0988DE53C9217CE6" + "332C0086D53DDAA3" + ] + id: "25C1C646790CFB6E" + tasks: [{ + id: "7ACE2BE9075B650E" + item: "tfc:treated_hide" + type: "item" + }] + x: 24.5d + y: -7.0d + } + { + dependencies: ["76EF4D00586A8B74"] + hide_dependency_lines: true + id: "332C0086D53DDAA3" + tasks: [{ + id: "322DF9A30CFE57CE" + item: "tfc:groundcover/pumice" + type: "item" + }] + x: 27.0d + y: -7.0d + } ] title: "Primitive Age" } diff --git a/defaultconfigs/firmalife-server.toml b/defaultconfigs/firmalife-server.toml new file mode 100644 index 000000000..95913fda2 --- /dev/null +++ b/defaultconfigs/firmalife-server.toml @@ -0,0 +1,6 @@ + +[general] + #If true, the tumbler and the pumping station work magically with a redstone signal and no power required. + mechanicalPowerCheatMode = true + #If true, sprinkler will not accept firmalife pipes and will instead require something that exposes a fluid capability, eg. a barrel. + usePipesForSprinklers = false diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/firmalife/irrigation.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/firmalife/irrigation.json new file mode 100644 index 000000000..33bbc83fd --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/firmalife/irrigation.json @@ -0,0 +1,62 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "name": "Irrigation", + "category": "tfc:firmalife", + "icon": "firmalife:sprinkler", + "pages": [ + { + "type": "patchouli:text", + "text": "The $(thing)Sprinkler$() is a device that sprinkles water in a 5x6x5 area centered on the block below the sprinkler block. You know it is working when it drips out water particles. Sprinklers placed facing up irrigate the same 5x6x5 area above." + }, + { + "type": "tfc:anvil_recipe", + "recipe": "firmalife:anvil/sprinkler", + "text": "The sprinkler is made with a $(thing)Copper Plate$()." + }, + { + "type": "patchouli:text", + "text": "Sprinklers must be connected to a system of pipes that feed it water in order to work. This is done by connecting a series of $(thing)Copper Pipes$() to them. Copper Pipes transport water up to 32 blocks to a sprinkler. They are connected to $(thing)Pumping Stations$()." + }, + { + "type": "tfc:anvil_recipe", + "recipe": "firmalife:anvil/copper_pipe", + "text": "The copper pipe is made with a plate." + }, + { + "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": "Pumping stations must be above a source block of water in order to work. Activate them with a redstone signal." + }, + { + "type": "patchouli:crafting", + "recipe": "firmalife:crafting/oxidized_copper_pipe", + "text": "Oxidized pipes are the same as regular copper pipes, except they do not connect to the other kind of pipe." + }, + { + "type": "patchouli:crafting", + "recipe": "firmalife:crafting/greenhouse/iron_greenhouse_port", + "text": "Greenhouse ports have a single pipe inside of them. They can be used to pass water through the walls of greenhouses!" + } + ], + "read_by_default": true, + "sortnum": 8 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/blast_furnace_tips.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/blast_furnace_tips.json new file mode 100644 index 000000000..e0b4b5245 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/blast_furnace_tips.json @@ -0,0 +1,49 @@ +{ + "name": "Blast Furnace Tips", + "icon": "tfc:blast_furnace", + "category": "tfc:tfg_tips", + "read_by_default": true, + "pages": + [ + { + "type": "patchouli:text", + "title": "TerraFirmaCraft Blast Furnace Tips", + "text": "So, you finally found that $(item)Kaolinite$() and are probably feeling pretty excited about making a 5-level $(thing)Blast Furnace$(). Here are some tips before you go wild!" + }, + { + "type": "patchouli:spotlight", + "item": "gtceu:compressed_fireclay", + "text": "Before you use all your fire clay on 20 fire bricks, note that once you get into the steam age, you can create fire bricks out of only clay, through $(item)Compressed Fireclay$() (you'll need steam machines for the clay dust). This allows you to save $(item)Kaolinite$() and $(item)Graphite$() for $(thing)Casting Tables$()." + }, + { + "type": "patchouli:spotlight", + "title": "Preheating Metal", + "item": "tfc:firepit", + "text": "To convert the iron to steel, the blast furnace must heat the iron inside to $(thing)Brilliant White$(). On the first operation, the metal warms up along with the blast furnace. However, subsequent operations will take a similar amount of time despite the furnace being at temp already, as it needs to heat the metal from cold." + }, + { + "type": "patchouli:text", + "text": "If the metal is hot when added into the blast furnace, it will take less time to reach brilliant white. Consider heating your metal in a $(l:tfc:mechanics/charcoal_forge)Charcoal Forge$() before putting it into an already-hot furnace to save time, especially with smaller blast furnaces that process less at a time." + }, + { + "type": "patchouli:spotlight", + "title": "Valid Inputs", + "item": "gtceu:iron_dust", + "text": "Only certain processing stages of ores are accepted in the blast furnace. $(thing)Ore Dusts$(), $(thing)Raw Ores$(), and $(thing)Cast/Wrought Iron Ingots$() work, while $(thing)Crushed$(), $(thing)Impure$(), or other stages of processing will not. But you really should $(l:tfc:tfg_ores/ore_basics#processing)Process$() your ores to dust." + }, + { + "type": "patchouli:spotlight", + "title": "Automation", + "item": "create:mechanical_pump", + "text": "You'll need lots of $(item)Steel$() for the $(thing)Steam$() and $(thing)LV$() ages. Lots of steel. The $(thing)Electric Blast Furnace$() is far off, so maybe think about optimizing your steel production." + }, + { + "type": "patchouli:text", + "text": "You can pump liquid directly out of the blast furnace using a Create $(item)Mechanical Pump$(). Pump into a $(l:tfc:tfcchannelcasting/channel_casting)Mold Table$() and extract the ingots with a hopper or chute: Easy automation!$(br2)You can automate the bellows with a $(item)Deployer$() too! Just be careful, as using the bellows excessively consumes more fuel and breaks your $(thing)tuyere$() faster.$(br2)You can process the resulting $(item)Pig Iron$() and $(item)High Carbon Steel$() in a $(thing)Forge Hammer$()." + }, + { + "type": "patchouli:text", + "text": "You can automatically replace broken tuyeres with a hopper facing into the blast furnace." + } + ] +} \ No newline at end of file diff --git a/kubejs/data/minecraft/tags/items/trim_materials.json b/kubejs/data/minecraft/tags/items/trim_materials.json new file mode 100644 index 000000000..92c745e4b --- /dev/null +++ b/kubejs/data/minecraft/tags/items/trim_materials.json @@ -0,0 +1,18 @@ +{ + "values": [ + "minecraft:amethyst_shard", + "gtceu:bismuth_ingot", + "minecraft:diamond", + "minecraft:emerald", + "minecraft:gold_ingot", + "minecraft:lapis_lazuli", + "gtceu:opal_gem", + "gtceu:raw_pyrite", + "gtceu:rose_gold_ingot", + "gtceu:ruby_gem", + "gtceu:sapphire_gem", + "gtceu:silver_ingot", + "gtceu:sterling_silver_ingot", + "gtceu:topaz_gem" + ] +} diff --git a/kubejs/data/minecraft/trim_material/amethyst.json b/kubejs/data/minecraft/trim_material/amethyst.json new file mode 100644 index 000000000..85226bf80 --- /dev/null +++ b/kubejs/data/minecraft/trim_material/amethyst.json @@ -0,0 +1,9 @@ +{ + "asset_name": "amethyst_tfc", + "description": { + "color": "#9A5CC6", + "translate": "trim_material.tfc.amethyst" + }, + "ingredient": "minecraft:amethyst_shard", + "item_model_index": 0 +} \ No newline at end of file diff --git a/kubejs/data/minecraft/trim_material/bismuth.json b/kubejs/data/minecraft/trim_material/bismuth.json new file mode 100644 index 000000000..3bda00884 --- /dev/null +++ b/kubejs/data/minecraft/trim_material/bismuth.json @@ -0,0 +1,9 @@ +{ + "asset_name": "bismuth_tfc", + "description": { + "color": "#8bbbc4", + "translate": "trim_material.tfc.bismuth" + }, + "ingredient": "gtceu:bismuth_ingot", + "item_model_index": 1 +} \ No newline at end of file diff --git a/kubejs/data/minecraft/trim_material/diamond.json b/kubejs/data/minecraft/trim_material/diamond.json new file mode 100644 index 000000000..c2b9a7a78 --- /dev/null +++ b/kubejs/data/minecraft/trim_material/diamond.json @@ -0,0 +1,9 @@ +{ + "asset_name": "diamond_tfc", + "description": { + "color": "#6EECD2", + "translate": "trim_material.tfc.diamond" + }, + "ingredient": "minecraft:diamond", + "item_model_index": 0.1 +} \ No newline at end of file diff --git a/kubejs/data/minecraft/trim_material/emerald.json b/kubejs/data/minecraft/trim_material/emerald.json new file mode 100644 index 000000000..f068f749c --- /dev/null +++ b/kubejs/data/minecraft/trim_material/emerald.json @@ -0,0 +1,9 @@ +{ + "asset_name": "emerald_tfc", + "description": { + "color": "#11A036", + "translate": "trim_material.tfc.emerald" + }, + "ingredient": "minecraft:emerald", + "item_model_index": 0.2 +} \ No newline at end of file diff --git a/kubejs/data/minecraft/trim_material/gold.json b/kubejs/data/minecraft/trim_material/gold.json new file mode 100644 index 000000000..61d5d90e4 --- /dev/null +++ b/kubejs/data/minecraft/trim_material/gold.json @@ -0,0 +1,9 @@ +{ + "asset_name": "gold_tfc", + "description": { + "color": "#DEB12D", + "translate": "trim_material.tfc.gold" + }, + "ingredient": "minecraft:gold_ingot", + "item_model_index": 0.9 +} \ No newline at end of file diff --git a/kubejs/data/minecraft/trim_material/lapis.json b/kubejs/data/minecraft/trim_material/lapis.json new file mode 100644 index 000000000..cf00d9059 --- /dev/null +++ b/kubejs/data/minecraft/trim_material/lapis.json @@ -0,0 +1,9 @@ +{ + "asset_name": "lapis", + "description": { + "color": "#416E97", + "translate": "trim_material.minecraft.lapis" + }, + "ingredient": "tfc:gem/lapis_lazuli", + "item_model_index": 0.9 +} \ No newline at end of file diff --git a/kubejs/data/minecraft/trim_material/lapis_lazuli.json b/kubejs/data/minecraft/trim_material/lapis_lazuli.json new file mode 100644 index 000000000..e44b3674e --- /dev/null +++ b/kubejs/data/minecraft/trim_material/lapis_lazuli.json @@ -0,0 +1,9 @@ +{ + "asset_name": "lapis_lazuli_tfc", + "description": { + "color": "#416E97", + "translate": "trim_material.tfc.lapis_lazuli" + }, + "ingredient": "minecraft:lapis_lazuli", + "item_model_index": 0.3 +} \ No newline at end of file diff --git a/kubejs/data/minecraft/trim_material/opal.json b/kubejs/data/minecraft/trim_material/opal.json new file mode 100644 index 000000000..86c8e32cc --- /dev/null +++ b/kubejs/data/minecraft/trim_material/opal.json @@ -0,0 +1,9 @@ +{ + "asset_name": "opal_tfc", + "description": { + "color": "#75e7eb", + "translate": "trim_material.tfc.opal" + }, + "ingredient": "gtceu:opal_gem", + "item_model_index": 0.4 +} \ No newline at end of file diff --git a/kubejs/data/minecraft/trim_material/pyrite.json b/kubejs/data/minecraft/trim_material/pyrite.json new file mode 100644 index 000000000..c1b699a37 --- /dev/null +++ b/kubejs/data/minecraft/trim_material/pyrite.json @@ -0,0 +1,9 @@ +{ + "asset_name": "pyrite_tfc", + "description": { + "color": "#e6c44c", + "translate": "trim_material.tfc.pyrite" + }, + "ingredient": "gtceu:raw_pyrite", + "item_model_index": 0.4 +} \ No newline at end of file diff --git a/kubejs/data/minecraft/trim_material/rose_gold.json b/kubejs/data/minecraft/trim_material/rose_gold.json new file mode 100644 index 000000000..a00816ab4 --- /dev/null +++ b/kubejs/data/minecraft/trim_material/rose_gold.json @@ -0,0 +1,9 @@ +{ + "asset_name": "rose_gold_tfc", + "description": { + "color": "#fcdd86", + "translate": "trim_material.tfc.rose_gold" + }, + "ingredient": "gtceu:rose_gold_ingot", + "item_model_index": 0.95 +} \ No newline at end of file diff --git a/kubejs/data/minecraft/trim_material/ruby.json b/kubejs/data/minecraft/trim_material/ruby.json new file mode 100644 index 000000000..02729ff7d --- /dev/null +++ b/kubejs/data/minecraft/trim_material/ruby.json @@ -0,0 +1,9 @@ +{ + "asset_name": "ruby_tfc", + "description": { + "color": "#971607", + "translate": "trim_material.tfc.ruby" + }, + "ingredient": "gtceu:ruby_gem", + "item_model_index": 0.5 +} \ No newline at end of file diff --git a/kubejs/data/minecraft/trim_material/sapphire.json b/kubejs/data/minecraft/trim_material/sapphire.json new file mode 100644 index 000000000..4d7661b8a --- /dev/null +++ b/kubejs/data/minecraft/trim_material/sapphire.json @@ -0,0 +1,9 @@ +{ + "asset_name": "sapphire_tfc", + "description": { + "color": "#183dde", + "translate": "trim_material.tfc.sapphire" + }, + "ingredient": "gtceu:sapphire_gem", + "item_model_index": 0.6 +} \ No newline at end of file diff --git a/kubejs/data/minecraft/trim_material/silver.json b/kubejs/data/minecraft/trim_material/silver.json new file mode 100644 index 000000000..bea687bed --- /dev/null +++ b/kubejs/data/minecraft/trim_material/silver.json @@ -0,0 +1,9 @@ +{ + "asset_name": "silver_tfc", + "description": { + "color": "#edeadf", + "translate": "trim_material.tfc.silver" + }, + "ingredient": "gtceu:silver_ingot", + "item_model_index": 0.8 +} \ No newline at end of file diff --git a/kubejs/data/minecraft/trim_material/sterling_silver.json b/kubejs/data/minecraft/trim_material/sterling_silver.json new file mode 100644 index 000000000..de8d2dd4d --- /dev/null +++ b/kubejs/data/minecraft/trim_material/sterling_silver.json @@ -0,0 +1,9 @@ +{ + "asset_name": "sterling_silver_tfc", + "description": { + "color": "#ccc7b6", + "translate": "trim_material.tfc.sterling_silver" + }, + "ingredient": "gtceu:sterling_silver_ingot", + "item_model_index": 0.85 +} \ No newline at end of file diff --git a/kubejs/data/minecraft/trim_material/topaz.json b/kubejs/data/minecraft/trim_material/topaz.json new file mode 100644 index 000000000..5438319e3 --- /dev/null +++ b/kubejs/data/minecraft/trim_material/topaz.json @@ -0,0 +1,9 @@ +{ + "asset_name": "topaz_tfc", + "description": { + "color": "#c27a0e", + "translate": "trim_material.tfc.topaz" + }, + "ingredient": "gtceu:topaz_gem", + "item_model_index": 0.7 +} \ No newline at end of file diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index 1dc6a808d..bde528de3 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -35,8 +35,6 @@ const registerCreateRecipes = (event) => { { id: 'create:crafting/kinetics/deployer' }, { id: 'create:crafting/kinetics/portable_storage_interface' }, { id: 'create:crafting/kinetics/mechanical_roller' }, - { id: 'create:crafting/kinetics/sail_framefrom_conversion' }, - { id: 'create:crafting/kinetics/white_sailfrom_conversion' }, { id: 'create:crafting/kinetics/sequenced_gearshift' }, { id: 'create:crafting/kinetics/rotation_speed_controller' }, { id: 'create:crafting/kinetics/track_signal' }, @@ -590,16 +588,28 @@ const registerCreateRecipes = (event) => { .duration(200) .EUt(20) - // Парус ветряной мельницы - event.shaped('2x create:white_sail', [ - 'AB', - 'BC' + // Create sail creation using custom sail items. + + event.shaped('8x create:sail_frame',[ + 'ABA', + 'BCB', + 'ABA' ], { - A: '#minecraft:wool', - B: '#forge:rods/wooden', - C: '#forge:screws/wrought_iron' + A: '#forge:screws/wrought_iron', + B: '#tfc:lumber', + C: '' + }).id('tfg:create/shaped/sail_frame') + + event.shaped('8x create:white_sail', [ + 'AAA', + 'ABA', + 'AAA' + ], { + A: 'create:sail_frame', + B: '#tfg:usable_in_sail_frame' }).id('tfg:create/shaped/white_sail') + // Андезитовый корпус event.recipes.createItemApplication(['create:andesite_casing'], ['#minecraft:logs', '#forge:plates/wrought_iron']) .id('tfg:create/item_application/andesite_casing') @@ -1037,7 +1047,7 @@ const registerCreateRecipes = (event) => { .EUt(20) // Деталь рельса - event.shaped('create:metal_girder', [ + event.shaped('3x create:metal_girder', [ 'AAA', 'BBB' ], { @@ -1217,4 +1227,96 @@ const registerCreateRecipes = (event) => { .EUt(20) //#endregion + + // #region So-called "Shit Glass" + + event.shaped('4x create:framed_glass', + [ + 'AA', + 'AA' + ], { + A: 'minecraft:glass' + }).id('tfg:create/framed_glass') + + event.shaped('4x create:tiled_glass', + [ + 'A A', + ' ', + 'A A' + ], { + A: 'minecraft:glass' + }).id('tfg:create/tiled_glass') + + event.shaped('4x create:horizontal_framed_glass', + [ + 'AA', + ' ', + 'AA' + ], { + A: 'minecraft:glass' + }).id('tfg:create/horizontal_framed_glass') + + event.shaped('4x create:vertical_framed_glass', + [ + 'A A', + 'A A' + ], { + A: 'minecraft:glass' + }).id('tfg:create/vertical_framed_glass') + + const CREATE_FRAMED_GLASS_WINDOWS = + [ + 'framed_glass', + 'tiled_glass', + 'horizontal_framed_glass', + 'vertical_framed_glass' + ] + + CREATE_FRAMED_GLASS_WINDOWS.forEach(x => { + event.shapeless(`2x create:${x}_pane`, + [ + `create:${x}`, + '#forge:tools/saws' + ]) + .id(`tfg:create/shapeless/${x}_pane`) + + event.recipes.gtceu.cutter(`tfg:create/${x}_pane`) + .itemInputs(`3x create:${x}`) + .itemOutputs(`8x create:${x}_pane`) + .duration(40) + .EUt(20) + }) + + const CREATE_OTHER_GLASS_WINDOWS = + [ + [ 'dark_oak', 'tfc:wood/lumber/hickory' ], + [ 'mangrove', 'tfc:wood/lumber/mangrove' ], + [ 'ornate_iron', 'gtceu:wrought_iron_rod' ] + ] + + CREATE_OTHER_GLASS_WINDOWS.forEach(x => { + event.shaped(`2x create:${x[0]}_window`, + [ + ' B ', + 'BAB' + ], { + A: 'minecraft:glass', + B: x[1] + }).id(`tfg:create/shaped/${x[0]}_window`) + + event.shapeless(`2x create:${x[0]}_window_pane`, + [ + `create:${x[0]}_window`, + '#forge:tools/saws' + ]) + .id(`tfg:create/shapeless/${x[0]}_window_pane`) + + event.recipes.gtceu.cutter(`tfg:create/${x[0]}_window_pane`) + .itemInputs(`3x create:${x[0]}_window`) + .itemOutputs(`8x create:${x[0]}_window_pane`) + .duration(40) + .EUt(20) + }) + + // #endregion } diff --git a/kubejs/server_scripts/create/tags.js b/kubejs/server_scripts/create/tags.js index e3225c1d9..67df0c8c6 100644 --- a/kubejs/server_scripts/create/tags.js +++ b/kubejs/server_scripts/create/tags.js @@ -14,6 +14,15 @@ const registerCreateItemTags = (event) => { if (dye != 'white') event.add('tfg:colored_seats', `create:${dye}_seat`) }) + + // Add "cloth" items so sails can be created with any kind of cloth instead of wool blocks + event.add('tfg:usable_in_sail_frame', 'tfc:burlap_cloth') + event.add('tfg:usable_in_sail_frame', 'tfc:wool_cloth') + event.add('tfg:usable_in_sail_frame', "tfc:silk_cloth") + + event.add('minecraft:trimmable_armor', 'create:copper_diving_helmet') + event.add('minecraft:trimmable_armor', 'create:copper_diving_boots') + } const registerCreateBlockTags = (event) => { @@ -41,4 +50,4 @@ const registerCreateFluidTags = (event) => { // Добавляем тег для скрытия в EMI event.add('c:hidden_from_recipe_viewers', 'create:chocolate') event.add('c:hidden_from_recipe_viewers', 'create:honey') -} \ No newline at end of file +} diff --git a/kubejs/server_scripts/create_connected/tags.js b/kubejs/server_scripts/create_connected/tags.js new file mode 100644 index 000000000..211e84e54 --- /dev/null +++ b/kubejs/server_scripts/create_connected/tags.js @@ -0,0 +1,7 @@ +const registerCreateConnectedItemTags = (event) => { + // Removes tags from the Cherry and Bamboo wooden panes added by Create Connected + event.removeAllTagsFrom("create_connected:cherry_window_pane") + event.add("c:hidden_from_recipe_viewers", "create_connected:cherry_window_pane") + event.removeAllTagsFrom("create_connected:bamboo_window_pane") + event.add("c:hidden_from_recipe_viewers", "create_connected:bamboo_window_pane") +} \ No newline at end of file diff --git a/kubejs/server_scripts/every_compat/recipes.js b/kubejs/server_scripts/every_compat/recipes.js new file mode 100644 index 000000000..f6dfc5885 --- /dev/null +++ b/kubejs/server_scripts/every_compat/recipes.js @@ -0,0 +1,22 @@ +// priority: 0 + +const registerEveryCompatRecipes = (event) => { + + global.TFC_WOOD_TYPES.forEach(wood => + { + event.remove({ id: `everycomp:c/tfc/${wood}_window_pane` }) + + event.shapeless(`2x everycomp:c/tfc/${wood}_window_pane`, + [ + `everycomp:c/tfc/${wood}_window`, + '#forge:tools/saws' + ]) + .id(`tfg:everycompat/shapeless/${wood}_window_pane`) + + event.recipes.gtceu.cutter(`tfg:everycompat/shapeless/${wood}_window_pane`) + .itemInputs(`3x everycomp:c/tfc/${wood}_window`) + .itemOutputs(`8x everycomp:c/tfc/${wood}_window_pane`) + .duration(40) + .EUt(20) + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/every_compat/tags.js b/kubejs/server_scripts/every_compat/tags.js new file mode 100644 index 000000000..f23cd60e8 --- /dev/null +++ b/kubejs/server_scripts/every_compat/tags.js @@ -0,0 +1,9 @@ +// priority: 0 + +const registerEveryCompatItemTags = (event) => { + + event.removeAllTagsFrom('everycomp:c/gtceu/rubber_window') + event.removeAllTagsFrom('everycomp:c/gtceu/rubber_window_pane') + event.add('c:hidden_from_recipe_viewers', 'everycomp:c/gtceu/rubber_window') + event.add('c:hidden_from_recipe_viewers', 'everycomp:c/gtceu/rubber_window_pane') +} \ No newline at end of file diff --git a/kubejs/server_scripts/firmaciv/recipes.js b/kubejs/server_scripts/firmaciv/recipes.js index e4cc05dd6..1a3dbea3d 100644 --- a/kubejs/server_scripts/firmaciv/recipes.js +++ b/kubejs/server_scripts/firmaciv/recipes.js @@ -33,6 +33,16 @@ const registerFirmaCivRecipes = (event) => { event.recipes.tfc.heating('firmaciv:unfinished_nav_clock', 930) .resultFluid(Fluid.of('gtceu:brass', 288)) .id(`firmaciv:heating/unfinished_nav_clock`) + + event.replaceOutput( // This problem would come each time there's a double-plate recipe in an anvil. Dunno how to fix it other than that. + 'gtceu:arc_furnace/arc_unfinished_nav_clock', + 'gtceu:brass_ingot', + '2x gtceu:brass_ingot') + + event.replaceOutput( + 'gtceu:macerator/macerate_unfinished_nav_clock', + 'gtceu:brass_dust', + '2x gtceu:brass_dust') //#endregion //#region Navigator Timepiece @@ -114,6 +124,16 @@ const registerFirmaCivRecipes = (event) => { event.recipes.tfc.heating('firmaciv:anchor', 1535) .resultFluid(Fluid.of('gtceu:steel', 288)) .id(`firmaciv:heating/anchor`) + + event.replaceOutput( + 'gtceu:arc_furnace/arc_anchor', + 'gtceu:steel_ingot', + '2x gtceu:steel_ingot') + + event.replaceOutput( + 'gtceu:macerator/macerate_anchor', + 'gtceu:steel_dust', + '2x gtceu:steel_dust') //#endregion //#region Cannon Barrel @@ -140,6 +160,16 @@ const registerFirmaCivRecipes = (event) => { event.recipes.tfc.heating('firmaciv:cannonball', 1535) .resultFluid(Fluid.of('gtceu:iron', 288)) .id(`firmaciv:heating/cannonball`) + + event.replaceOutput( + 'gtceu:arc_furnace/arc_cannon_barrel', + 'gtceu:wrought_iron_ingot', + '2x gtceu:wrought_iron_ingot') + + event.replaceOutput( + 'gtceu:macerator/macerate_cannon_barrel', + 'gtceu:iron_dust', + '2x gtceu:iron_dust') //#endregion //#region Cannon @@ -147,4 +177,4 @@ const registerFirmaCivRecipes = (event) => { .resultFluid(Fluid.of('gtceu:iron', 1872)) .id(`firmaciv:heating/cannon`) //#endregion -} \ No newline at end of file +} diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index 0f45f300b..d113b1c53 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -134,6 +134,56 @@ const registerFirmaLifeRecipes = (event) => { //#region Рецепты теплиц //#region Медная + + event.shaped('firmalife:pumping_station', + [ + ' B ', + 'ACA', + ' D ' + ], { + A: 'firmalife:copper_pipe', + B: 'gtceu:bronze_plate', + C: '#tfc:barrels', + D: 'create:mechanical_pump' + }).id('tfg:shaped/pumping_station') + + event.shaped('firmalife:pumping_station', + [ + ' B ', + 'ACA', + ' D ' + ], { + A: 'firmalife:copper_pipe', + B: 'gtceu:black_bronze_plate', + C: '#tfc:barrels', + D: 'create:mechanical_pump' + }).id('tfg:shaped/pumping_station2') + + event.shaped('firmalife:pumping_station', + [ + ' B ', + 'ACA', + ' D ' + ], { + A: 'firmalife:copper_pipe', + B: 'gtceu:bismuth_bronze_plate', + C: '#tfc:barrels', + D: 'create:mechanical_pump' + }).id('tfg:shaped/pumping_station3') + + event.recipes.gtceu.bender('tfg:firmalife/copper_pipe') + .itemInputs('gtceu:copper_plate') + .itemOutputs('8x firmalife:copper_pipe') + .circuit(3) + .duration(40) + .EUt(8) + + event.recipes.gtceu.bender('tfg:firmalife/sprinkler') + .itemInputs('gtceu:copper_plate') + .itemOutputs('firmalife:sprinkler') + .circuit(4) + .duration(60) + .EUt(8) // Стена event.shaped('8x firmalife:copper_greenhouse_wall', [ @@ -204,7 +254,7 @@ const registerFirmaLifeRecipes = (event) => { }).id('firmalife:crafting/greenhouse/copper_greenhouse_door') // Порт - event.shaped('8x firmalife:copper_greenhouse_port', [ + event.shaped('firmalife:copper_greenhouse_port', [ 'AA', 'BC', 'AA' @@ -287,7 +337,7 @@ const registerFirmaLifeRecipes = (event) => { }).id('firmalife:crafting/greenhouse/iron_greenhouse_door') // Порт - event.shaped('8x firmalife:iron_greenhouse_port', [ + event.shaped('firmalife:iron_greenhouse_port', [ 'AA', 'BC', 'AA' @@ -367,6 +417,7 @@ const registerFirmaLifeRecipes = (event) => { .itemOutputs(element.output) .duration(300) .EUt(16) + .circuit(2) }) //#endregion @@ -411,6 +462,7 @@ const registerFirmaLifeRecipes = (event) => { .itemOutputs('firmalife:food/pumpkin_pie_dough') .duration(300) .EUt(16) + .circuit(2) event.recipes.create.mixing('firmalife:food/pumpkin_pie_dough', ['#tfc:sweetener', '#forge:eggs', '2x tfc:food/pumpkin_chunks', '#tfc:foods/flour', Fluid.of('minecraft:water', 1000)] ).id('firmalife:create/mixer/food/pumpkin_pie_dough') @@ -433,6 +485,7 @@ const registerFirmaLifeRecipes = (event) => { .itemOutputs('firmalife:food/pie_dough') .duration(300) .EUt(16) + .circuit(2) event.recipes.create.mixing('firmalife:food/pie_dough', ['#tfc:sweetener', 'firmalife:food/butter', '#tfc:foods/flour', Fluid.of('minecraft:water', 1000)]) .id('firmalife:create/mixer/food/pie_dough') @@ -454,6 +507,7 @@ const registerFirmaLifeRecipes = (event) => { .itemOutputs('4x firmalife:food/hardtack_dough') .duration(300) .EUt(16) + .circuit(2) event.recipes.create.mixing('4x firmalife:food/hardtack_dough', ['tfc:powder/salt', '#tfc:foods/flour', Fluid.of('minecraft:water', 1000)]) .id('firmalife:create/mixer/food/hardtack_dough') @@ -465,6 +519,7 @@ const registerFirmaLifeRecipes = (event) => { .outputFluids('firmalife:yeast_starter', 600) .duration(1200) .EUt(8) + .circuit(1) event.recipes.create.mixing(Fluid.of('firmalife:yeast_starter', 600), ['#tfc:foods/flour', Fluid.of('firmalife:yeast_starter', 100)]) .id('firmalife:create/mixer/yeast_starter') diff --git a/kubejs/server_scripts/firmalife/tags.js b/kubejs/server_scripts/firmalife/tags.js index 49e685f98..a22373f97 100644 --- a/kubejs/server_scripts/firmalife/tags.js +++ b/kubejs/server_scripts/firmalife/tags.js @@ -13,6 +13,8 @@ const registerFirmaLifeItemTags = (event) => { event.add('c:hidden_from_recipe_viewers', item) }) + event.add('minecraft:trimmable_armor', '#firmalife:beekeeper_armor') + // Удаление тегов у руд event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/") } @@ -38,4 +40,4 @@ const registerFirmaLifeFluidTags = (event) => { const registerFirmaLifePlacedFeatures = (event) => { event.remove('tfc:in_biome/veins', 'firmalife:vein/normal_chromite') event.remove('tfc:in_biome/veins', 'firmalife:vein/deep_chromite') -} \ No newline at end of file +} diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 72cdadc1b..0b1eb5562 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -50,6 +50,18 @@ const registerGTCEURecipes = (event) => { //#endregion + event.recipes.gtceu.macerator('flux') + .itemInputs('#tfc:fluxstone') + .itemOutputs('2x tfc:powder/flux') + .duration(30) + .EUt(2) + + event.recipes.gtceu.forge_hammer('flux') + .itemInputs('#tfc:fluxstone') + .itemOutputs('2x tfc:powder/flux') + .duration(30) + .EUt(2) + //#region Выход: Диоксид силикона event.recipes.gtceu.electrolyzer('sand_electrolysis') @@ -1833,4 +1845,29 @@ const registerGTCEURecipes = (event) => { .EUt(480) // #endregion + + // #region Add all glass colors to macerator/hammer + event.remove({id: "gtceu:macerator/macerate_glass"}); + event.recipes.gtceu.macerator("gtceu:macerator/macerate_glass") + .itemInputs( + "#forge:glass" + ) + .itemOutputs("gtceu:glass_dust") + .duration(20) + .EUt(2); + + event.remove({id: "gtceu:macerator/macerate_glass_pane"}); + event.recipes.gtceu.macerator("gtceu:macerator/macerate_glass_pane") + .itemInputs( + "#forge:glass_panes" + ) + .itemOutputs("3x gtceu:tiny_glass_dust") + .duration(6) + .EUt(2) + + event.replaceInput({id: "gtceu:shaped/glass_dust_hammer"}, + "minecraft:glass", + "#forge:glass" + ); + // #endregion } diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index 6917a4e25..b40435892 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -12,6 +12,10 @@ const registerGTCEUItemTags = (event) => { event.add('c:hidden_from_recipe_viewers', item) }) + global.GTCEU_ARMORS.forEach(item => { + event.add('minecraft:trimmable_armor', item) + }) + // Добавление тега EMI для скрытия всех руд event.add('c:hidden_from_recipe_viewers', '#forge:ores') diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 5adb7f640..22338e50d 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -10,6 +10,8 @@ ServerEvents.tags('item', event => { registerComputerCraftItemTags(event) registerCreateItemTags(event) registerCreateAdditionsItemTags(event) + registerCreateConnectedItemTags(event) + registerEveryCompatItemTags(event) registerExtendedAE2ItemTags(event) registerFirmaCivItemTags(event) registerFirmaLifeItemTags(event) @@ -22,6 +24,7 @@ ServerEvents.tags('item', event => { registerHotOrNotItemTags(event) registerRailWaysItemTags(event) registerSophisticatedBackpacksItemTags(event) + registerTFCAmbientalItemTags(event) registerTFCItemTags(event) }) @@ -118,6 +121,7 @@ ServerEvents.recipes(event => { registerCreateRecipes(event) registerCreateAdditionsRecipes(event) registerCreateConnectedRecipes(event) + registerEveryCompatRecipes(event) registerExtendedAE2Recipes(event) registerExposureRecipes(event) registerEtchedRecipes(event) @@ -140,4 +144,4 @@ ServerEvents.recipes(event => { registerToolBeltRecipes(event) registerTreeTapRecipes(event) registerWaterFlasksRecipes(event) -}) \ No newline at end of file +}) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 0aa85775f..dad20c8a7 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -2206,9 +2206,8 @@ const registerMinecraftRecipes = (event) => { //#region Выход: Тонированное стекло - event.recipes.gtceu.chemical_bath('tfg:minecraft/tinted_glass') - .itemInputs('minecraft:glass') - .inputFluids(Fluid.of('gtceu:black_dye', 144)) + event.recipes.gtceu.alloy_smelter('tfg:minecraft/tinted_glass') + .itemInputs('minecraft:glass', 'tfc:powder/amethyst') .itemOutputs('minecraft:tinted_glass') .duration(260) .EUt(16) @@ -2337,27 +2336,6 @@ const registerMinecraftRecipes = (event) => { //#endregion - //#region Шаблоны брони - - event.remove({id: 'minecraft:wild_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:wayfinder_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:ward_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:vex_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:tide_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:spire_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:snout_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:silence_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:shaper_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:sentry_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:rib_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:raiser_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:host_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:eye_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:dune_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:coast_armor_trim_smithing_template_smithing_trim'}) - - //#endregion - //#region Кольчуга event.remove({id: 'gtceu:shaped/chainmail_boots'}) @@ -2506,28 +2484,6 @@ const registerMinecraftRecipes = (event) => { //#endregion - //#region Выход: Шаблоны брони - - event.remove({ id: 'minecraft:coast_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:vex_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:host_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:rib_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:spire_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:tide_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:eye_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:raiser_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:wild_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:shaper_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:snout_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:dune_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:netherite_upgrade_smithing_template' }) - event.remove({ id: 'minecraft:wayfinder_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:ward_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:silence_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:sentry_armor_trim_smithing_template' }) - - //#endregion - //#region Выход: Компаратор event.remove({id: 'minecraft:comparator'}) @@ -3270,4 +3226,8 @@ const registerMinecraftRecipes = (event) => { .EUt(32) //#endregion + + // Nether Brick + + event.smelting('minecraft:nether_brick', 'minecraft:netherrack') } diff --git a/kubejs/server_scripts/railways/recipes.js b/kubejs/server_scripts/railways/recipes.js index 62709ddc9..6aa225daa 100644 --- a/kubejs/server_scripts/railways/recipes.js +++ b/kubejs/server_scripts/railways/recipes.js @@ -241,9 +241,8 @@ const registerRailWaysRecipes = (event) => { // Монорельс event.recipes.createSequencedAssembly([ - '6x railways:track_monorail', + '4x railways:track_monorail', ], 'create:metal_girder', [ - event.recipes.createDeploying('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail', 'create:metal_bracket']), event.recipes.createDeploying('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail', '#forge:plates/wrought_iron']), event.recipes.createPressing('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail']), event.recipes.createDeploying('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail', '#forge:plates/wrought_iron']), @@ -252,122 +251,113 @@ const registerRailWaysRecipes = (event) => { event.recipes.gtceu.assembler('railways/monorail') .itemInputs('create:metal_girder', '2x #forge:plates/wrought_iron') - .itemOutputs('6x railways:track_monorail') + .itemOutputs('4x railways:track_monorail') .duration(250) .EUt(32) // Железнодорожное полотно (Узкое) event.recipes.createSequencedAssembly([ - 'railways:track_create_andesite_narrow', + '8x railways:track_create_andesite_narrow', ], '#tfg:rock_slabs', [ - event.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', 'gtceu:steel_nugget']), - event.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', 'gtceu:steel_nugget']), - event.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', 'gtceu:steel_nugget']), - event.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', 'gtceu:steel_nugget']), + event.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', 'gtceu:steel_rod']), + event.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', '#tfc:mortar']), event.recipes.createPressing('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow']), - ]).transitionalItem('railways:track_incomplete_create_andesite_narrow').loops(1).id('tfg:railways/sequenced_assembly/track_create_andesite_narrow_from_steel') + ]).transitionalItem('railways:track_incomplete_create_andesite_narrow').loops(2).id('tfg:railways/sequenced_assembly/track_create_andesite_narrow_from_steel') - event.recipes.gtceu.assembler('railways/track_create_andesite_narrow_from_steel') - .itemInputs('#tfg:rock_slabs', '4x gtceu:steel_nugget') - .itemOutputs('railways:track_create_andesite_narrow') + event.recipes.gtceu.assembler('railways/track_create_andesite_narrow_from_steel') + .itemInputs('#tfg:rock_slabs', '2x gtceu:steel_rod') + .inputFluids(Fluid.of('gtceu:concrete', 144)) + .itemOutputs('8x railways:track_create_andesite_narrow') .duration(800) - .EUt(32) + .EUt(16) + .circuit(1) // Железнодорожное полотно (Нормальное) event.recipes.createSequencedAssembly([ - 'create:track', - ], 'railways:track_create_andesite_narrow', [ - event.recipes.createCutting('create:incomplete_track', 'create:incomplete_track').processingTime(100), + '8x create:track', + ], '#tfg:rock_slabs', [ event.recipes.createDeploying('create:incomplete_track', ['create:incomplete_track', '#tfg:rock_slabs']), + event.recipes.createDeploying('create:incomplete_track', ['create:incomplete_track', 'gtceu:steel_rod']), event.recipes.createDeploying('create:incomplete_track', ['create:incomplete_track', '#tfc:mortar']), event.recipes.createPressing('create:incomplete_track', ['create:incomplete_track']), - ]).transitionalItem('create:incomplete_track').loops(1).id('tfg:railways/sequenced_assembly/track_create_andesite') + ]).transitionalItem('create:incomplete_track').loops(2).id('tfg:railways/sequenced_assembly/track_create_andesite') - event.recipes.gtceu.assembler('railways/track') - .itemInputs('railways:track_create_andesite_narrow') + event.recipes.gtceu.assembler('railways/track') + .itemInputs('3x #tfg:rock_slabs', '2x gtceu:steel_rod') .inputFluids(Fluid.of('gtceu:concrete', 144)) - .itemOutputs('create:track') + .itemOutputs('8x create:track') .duration(800) .EUt(16) + .circuit(2) // Железнодорожное полотно (Широкое) event.recipes.createSequencedAssembly([ - 'railways:track_create_andesite_wide', - ], 'create:track', [ - event.recipes.createCutting('railways:track_incomplete_create_andesite_wide', 'railways:track_incomplete_create_andesite_wide').processingTime(100), - event.recipes.createDeploying('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide', '#tfg:rock_slabs']), + '8x railways:track_create_andesite_wide', + ], '#tfg:rock_slabs', [ + event.recipes.createDeploying('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide', '#forge:stone']), + event.recipes.createDeploying('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide', 'gtceu:steel_rod']), event.recipes.createDeploying('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide', '#tfc:mortar']), event.recipes.createPressing('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide']), - ]).transitionalItem('railways:track_incomplete_create_andesite_wide').loops(1).id('tfg:railways/sequenced_assembly/track_create_andesite_wide') + ]).transitionalItem('railways:track_incomplete_create_andesite_wide').loops(2).id('tfg:railways/sequenced_assembly/track_create_andesite_wide') - event.recipes.gtceu.assembler('railways/track_create_andesite_wide') - .itemInputs('create:track') + event.recipes.gtceu.assembler('railways/track_create_andesite_wide') + .itemInputs('5x #tfg:rock_slabs', '2x gtceu:steel_rod') .inputFluids(Fluid.of('gtceu:concrete', 144)) - .itemOutputs('railways:track_create_andesite_wide') + .itemOutputs('8x railways:track_create_andesite_wide') .duration(800) .EUt(16) + .circuit(3) // Железнодородные полотна из дерева global.TFC_WOOD_TYPES.forEach(woodType => { // Узкое event.recipes.createSequencedAssembly([ - `railways:track_tfc_${woodType}_narrow`, + `8x railways:track_tfc_${woodType}_narrow`, ], `tfc:wood/planks/${woodType}_slab`, [ - event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, 'gtceu:steel_nugget']), - event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, 'gtceu:steel_nugget']), - event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, 'gtceu:steel_nugget']), - event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, 'gtceu:steel_nugget']), - event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, '4x #forge:screws']), + event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, 'gtceu:steel_rod']), + event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, '#forge:screws']), event.recipes.createPressing(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`]), - ]).transitionalItem(`railways:track_incomplete_tfc_${woodType}_narrow`).loops(1).id(`tfg:railways/sequenced_assembly/track_create_${woodType}_narrow`) + ]).transitionalItem(`railways:track_incomplete_tfc_${woodType}_narrow`).loops(2).id(`tfg:railways/sequenced_assembly/track_create_${woodType}_narrow`) - event.recipes.gtceu.assembler(`railways/track_create_${woodType}_narrow`) - .itemInputs(`tfc:wood/planks/${woodType}_slab`, '4x gtceu:steel_nugget', '4x #forge:screws') - .itemOutputs(`railways:track_tfc_${woodType}_narrow`) + event.recipes.gtceu.assembler(`railways/track_create_${woodType}_narrow`) + .itemInputs(`tfc:wood/planks/${woodType}_slab`, '2x gtceu:steel_rod', '2x #forge:screws') + .itemOutputs(`8x railways:track_tfc_${woodType}_narrow`) .duration(800) - .EUt(32) + .EUt(16) + .circuit(1) // Нормальное event.recipes.createSequencedAssembly([ - `railways:track_tfc_${woodType}`, - ], `railways:track_tfc_${woodType}_narrow`, [ - event.recipes.createCutting(`railways:track_incomplete_tfc_${woodType}`, `railways:track_incomplete_tfc_${woodType}`).processingTime(100), - event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, `tfc:wood/planks/${woodType}_slab`]), - event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, '4x #forge:screws']), - event.recipes.createPressing(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`]), - ]).transitionalItem(`railways:track_incomplete_tfc_${woodType}`).loops(1).id(`tfg:railways/sequenced_assembly/track_create_${woodType}`) + `8x railways:track_tfc_${woodType}`, + ], `tfc:wood/planks/${woodType}_slab`, [ + event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, `tfc:wood/lumber/${woodType}`]), + event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, 'gtceu:steel_rod']), + event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, '#forge:screws']), + event.recipes.createPressing(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`]), + ]).transitionalItem(`railways:track_incomplete_tfc_${woodType}`).loops(2).id(`tfg:railways/sequenced_assembly/track_create_${woodType}`) - event.recipes.gtceu.assembler(`railways/track_${woodType}`) - .itemInputs(`railways:track_tfc_${woodType}_narrow`, '4x #forge:screws') - .itemOutputs(`railways:track_tfc_${woodType}`) + event.recipes.gtceu.assembler(`railways/track_${woodType}`) + .itemInputs(`tfc:wood/planks/${woodType}_slab`, `2x tfc:wood/lumber/${woodType}`, '2x gtceu:steel_rod', '2x #forge:screws') + .itemOutputs(`8x railways:track_tfc_${woodType}`) .duration(800) .EUt(16) + .circuit(2) // Широкое event.recipes.createSequencedAssembly([ - `railways:track_tfc_${woodType}_wide`, - ], `railways:track_tfc_${woodType}`, [ - event.recipes.createCutting(`railways:track_incomplete_tfc_${woodType}_wide`, `railways:track_incomplete_tfc_${woodType}_wide`).processingTime(100), + `8x railways:track_tfc_${woodType}_wide`, + ], `tfc:wood/planks/${woodType}_slab`, [ event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`, `tfc:wood/planks/${woodType}_slab`]), - event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`, '4x #forge:screws']), - event.recipes.createPressing(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`]), - ]).transitionalItem(`railways:track_incomplete_tfc_${woodType}_wide`).loops(1).id(`tfg:railways/sequenced_assembly/track_create_${woodType}_wide`) + event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`, `gtceu:steel_rod`]), + event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`, '#forge:screws']), + event.recipes.createPressing(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`]) + ]).transitionalItem(`railways:track_incomplete_tfc_${woodType}_wide`).loops(2).id(`tfg:railways/sequenced_assembly/track_create_${woodType}_wide`) - event.recipes.gtceu.assembler(`railways/track_${woodType}_wide`) - .itemInputs(`railways:track_tfc_${woodType}`, '4x #forge:screws') - .itemOutputs(`railways:track_tfc_${woodType}_wide`) + event.recipes.gtceu.assembler(`railways/track_${woodType}_wide`) + .itemInputs(`3x tfc:wood/planks/${woodType}_slab`, '2x gtceu:steel_rod', '2x #forge:screws') + .itemOutputs(`8x railways:track_tfc_${woodType}_wide`) .duration(800) .EUt(16) + .circuit(3) }); } - - -/* - -event.recipes.gtceu.assembler('') - .itemInputs('') - .itemOutputs('') - .duration() - .EUt() - -*/ \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 2e35f8952..5e938b8b3 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -1579,49 +1579,28 @@ const registerTFCRecipes = (event) => { //#region Земля // Loam + Silt -> Silty Loam (Миксер) - event.recipes.gtceu.mixer('silty_loam_dirt') + event.recipes.gtceu.mixer('silty_loam_dirt') .itemInputs('tfc:dirt/loam', 'tfc:dirt/silt') .itemOutputs('tfc:dirt/silty_loam') - .duration(1600) - .EUt(12) - - // Silty Loam + Sticks -> Rooted Silty Loam (Миксер) - event.recipes.gtceu.mixer('rooted_silty_loam_dirt') - .itemInputs('tfc:dirt/silty_loam', '#tfc:can_be_lit_on_torch') - .itemOutputs('tfc:rooted_dirt/silty_loam') - .duration(1600) - .EUt(12) + .duration(200) + .EUt(16) // Loam + Sand -> Sandy Loam (Миксер) event.recipes.gtceu.mixer('sandy_loam_dirt') .itemInputs('tfc:dirt/loam', '#forge:sand') + .circuit(3) .itemOutputs('tfc:dirt/sandy_loam') - .duration(1600) - .EUt(12) + .duration(200) + .EUt(16) - // Loam + Silt -> Silty Loam (Create Миксер) - event.recipes.gtceu.create_mixer('silty_loam_dirt') - .itemInputs('tfc:dirt/loam', 'tfc:dirt/silt') - .itemOutputs('tfc:dirt/silty_loam') - .duration(1600) - .EUt(12) - .rpm(60) - - // Silty Loam + Sticks -> Rooted Silty Loam (Create Миксер) - event.recipes.gtceu.create_mixer('rooted_silty_loam_dirt') - .itemInputs('tfc:dirt/silty_loam', '#tfc:can_be_lit_on_torch') - .itemOutputs('tfc:rooted_dirt/silty_loam') - .duration(1600) - .EUt(12) - .rpm(60) - - // Loam + Sand -> Sandy Loam (Create Миксер) - event.recipes.gtceu.create_mixer('sandy_loam_dirt') - .itemInputs('tfc:dirt/loam', '#forge:sand') - .itemOutputs('tfc:dirt/sandy_loam') - .duration(1600) - .EUt(12) - .rpm(60) + // Dirt + Sticks -> Rooted Dirt + global.TFC_MUD_TYPES.forEach(mud => { + event.recipes.gtceu.mixer(`${mud}_to_rooted`) + .itemInputs(`tfc:dirt/${mud}`, "#tfc:can_be_lit_on_torch") + .itemOutputs(`tfc:rooted_dirt/${mud}`) + .duration(200) + .EUt(16) + }) global.TFC_MUD_TYPES.forEach(mud => { event.smelting(`tfc:dirt/${mud}`, `tfc:mud/${mud}`) @@ -1637,6 +1616,7 @@ const registerTFCRecipes = (event) => { event.recipes.gtceu.mixer(`${mud}_grass_to_mud`) .itemInputs(`tfc:dirt/${mud}`) .inputFluids(Fluid.of('minecraft:water', 100)) + .circuit(2) .itemOutputs(`tfc:mud/${mud}`) .duration(200) .EUt(16) @@ -3001,6 +2981,7 @@ const registerTFCRecipes = (event) => { .itemOutputs(element.output) .duration(300) .EUt(16) + .circuit(3) }) //#endregion diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 9b9f50d93..65671d769 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -54,6 +54,9 @@ const registerTFCItemTags = (event) => { event.add('minecraft:logs_that_burn', `#tfc:${woodType}_logs`) }) + // Allows TFC stick bundles to be burned in the coke/pyrolyse ovens + event.add("minecraft:logs_that_burn", "tfc:stick_bundle"); + // Определеяет какое оружие может появиться у зомбя/скелета в руках // Мечи event.add('tfc:mob_mainhand_weapons', 'gtceu:bismuth_bronze_sword') diff --git a/kubejs/server_scripts/tfcambiental/tags.js b/kubejs/server_scripts/tfcambiental/tags.js new file mode 100644 index 000000000..b87eeef63 --- /dev/null +++ b/kubejs/server_scripts/tfcambiental/tags.js @@ -0,0 +1,21 @@ +// priority: 0 + +const registerTFCAmbientalItemTags = (event) => { + + event.add('minecraft:trimmable_armor', 'tfcambiental:wool_hat') + event.add('minecraft:trimmable_armor', 'tfcambiental:wool_sweater') + event.add('minecraft:trimmable_armor', 'tfcambiental:wool_pants') + event.add('minecraft:trimmable_armor', 'tfcambiental:wool_boots') + event.add('minecraft:trimmable_armor', 'tfcambiental:silk_cowl') + event.add('minecraft:trimmable_armor', 'tfcambiental:silk_shirt') + event.add('minecraft:trimmable_armor', 'tfcambiental:silk_pants') + event.add('minecraft:trimmable_armor', 'tfcambiental:silk_shoes') + event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_cowl') + event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_shirt') + event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_pants') + event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_shoes') + event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_hat') + event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_tunic') + event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_pants') + event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_boots') +} \ No newline at end of file diff --git a/kubejs/startup_scripts/create/constants.js b/kubejs/startup_scripts/create/constants.js index 7e1358b06..90ab66cdb 100644 --- a/kubejs/startup_scripts/create/constants.js +++ b/kubejs/startup_scripts/create/constants.js @@ -322,33 +322,20 @@ global.CREATE_DISABLED_ITEMS = [ 'create:granite_pillar', // Shit Glass - 'create:tiled_glass', - 'create:framed_glass', - 'create:horizontal_framed_glass', - 'create:vertical_framed_glass', - 'create:tiled_glass_pane', - 'create:horizontal_framed_glass_pane', - 'create:vertical_framed_glass_pane', + 'create:crimson_window', + 'create:warped_window', 'create:oak_window', 'create:spruce_window', 'create:birch_window', 'create:jungle_window', 'create:acacia_window', - 'create:dark_oak_window', - 'create:mangrove_window', - 'create:crimson_window', - 'create:warped_window', - 'create:ornate_iron_window', 'create:oak_window_pane', 'create:spruce_window_pane', 'create:birch_window_pane', 'create:jungle_window_pane', 'create:acacia_window_pane', - 'create:dark_oak_window_pane', - 'create:mangrove_window_pane', - 'create:crimson_window_pane', + 'create:crimson_window_pane', 'create:warped_window_pane', - 'create:ornate_iron_window_pane', // Blocks 'create:zinc_block', @@ -468,6 +455,5 @@ global.CREATE_DISABLED_ITEMS = [ 'create:empty_blaze_burner', 'create:minecart_contraption', 'create:furnace_minecart_contraption', - 'create:chest_minecart_contraption', - 'create:framed_glass_pane' -]; \ No newline at end of file + 'create:chest_minecart_contraption' +]; diff --git a/kubejs/startup_scripts/firmalife/constants.js b/kubejs/startup_scripts/firmalife/constants.js index 27b131cf2..1d0e310b0 100644 --- a/kubejs/startup_scripts/firmalife/constants.js +++ b/kubejs/startup_scripts/firmalife/constants.js @@ -33,8 +33,7 @@ global.FIRMALIFE_DISABLED_ITEMS = [ 'firmalife:metal/block/stainless_steel_slab', // Other - 'firmalife:compost_tumbler', - 'firmalife:pumping_station' + 'firmalife:compost_tumbler' ]; global.FIRMALIFE_HIDED_ITEMS = [ @@ -130,4 +129,4 @@ global.FIRMALIFE_FURNACE_FLATBREAD_RECIPE_COMPONENTS = [ { input: 'tfc:food/rice_dough', output: 'firmalife:food/rice_flatbread', name: 'rice_flatbread' }, { input: 'tfc:food/wheat_dough', output: 'firmalife:food/wheat_flatbread', name: 'wheat_flatbread' }, { input: 'firmalife:food/masa', output: 'firmalife:food/corn_tortilla', name: 'corn_tortilla' }, -]; \ No newline at end of file +]; diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index 95da95dae..625436f6b 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -52,4 +52,22 @@ global.GTCEU_HIDED_ITEMS = [ 'gtceu:netherrack_dust', 'gtceu:small_netherrack_dust', 'gtceu:tiny_netherrack_dust' -]; \ No newline at end of file +]; + +global.GTCEU_ARMORS = [ + 'gtceu:hazmat_chestpiece', + 'gtceu:hazmat_leggings', + 'gtceu:hazmat_boots', + 'gtceu:hazmat_headpiece', + 'gtceu:nanomuscle_chestplate', + 'gtceu:nanomuscle_leggings', + 'gtceu:nanomuscle_boots', + 'gtceu:nanomuscle_helmet', + // typo in gtceu + 'gtceu:avanced_nanomuscle_chestplate', + 'gtceu:quarktech_chestplate', + 'gtceu:quarktech_leggings', + 'gtceu:quarktech_boots', + 'gtceu:quarktech_helmet', + 'gtceu:advanced_quarktech_chestplate' +]; diff --git a/kubejs/startup_scripts/minecraft/constants.js b/kubejs/startup_scripts/minecraft/constants.js index ca7218bb3..c0aee03a0 100644 --- a/kubejs/startup_scripts/minecraft/constants.js +++ b/kubejs/startup_scripts/minecraft/constants.js @@ -491,23 +491,7 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:burn_pottery_sherd', // Шаблоны брони - /*'minecraft:wayfinder_armor_trim_smithing_template', - 'minecraft:dune_armor_trim_smithing_template', - 'minecraft:snout_armor_trim_smithing_template', - 'minecraft:shaper_armor_trim_smithing_template', - 'minecraft:coast_armor_trim_smithing_template', - 'minecraft:vex_armor_trim_smithing_template', - 'minecraft:host_armor_trim_smithing_template', - 'minecraft:rib_armor_trim_smithing_template', - 'minecraft:silence_armor_trim_smithing_template', - 'minecraft:spire_armor_trim_smithing_template', - 'minecraft:tide_armor_trim_smithing_template', - 'minecraft:eye_armor_trim_smithing_template', - 'minecraft:raiser_armor_trim_smithing_template', - 'minecraft:wild_armor_trim_smithing_template', - 'minecraft:sentry_armor_trim_smithing_template', - 'minecraft:ward_armor_trim_smithing_template',*/ - 'minecraft:netherite_upgrade_smithing_template', + 'minecraft:netherite_upgrade_smithing_template', // Свечи 'minecraft:candle', diff --git a/kubejs/startup_scripts/railways/constants.js b/kubejs/startup_scripts/railways/constants.js index 845e8b116..3b232b34a 100644 --- a/kubejs/startup_scripts/railways/constants.js +++ b/kubejs/startup_scripts/railways/constants.js @@ -22,6 +22,9 @@ global.RAIL_WAYS_DISABLED_ITEMS = [ 'railways:track_ender', 'railways:track_phantom', 'railways:track_mangrove', + 'railways:track_cherry', + 'railways:track_bamboo', + 'railways:track_stripped_bamboo', 'railways:track_oak_wide', 'railways:track_warped_wide', 'railways:track_spruce_wide', @@ -33,10 +36,16 @@ global.RAIL_WAYS_DISABLED_ITEMS = [ 'railways:track_jungle_wide', 'railways:track_mangrove_wide', 'railways:track_crimson_wide', + 'railways:track_cherry_wide', + 'railways:track_bamboo_wide', + 'railways:track_stripped_bamboo_wide', 'railways:track_oak_narrow', 'railways:track_spruce_narrow', 'railways:track_warped_narrow', 'railways:track_acacia_narrow', + 'railways:track_cherry_narrow', + 'railways:track_bamboo_narrow', + 'railways:track_stripped_bamboo_narrow', // Возможно включим позже 'railways:track_tieless', 'railways:track_tieless_narrow', @@ -62,6 +71,9 @@ global.RAIL_WAYS_DISABLED_ITEMS = [ 'railways:track_incomplete_ender', 'railways:track_incomplete_phantom', 'railways:track_incomplete_mangrove', + 'railways:track_incomplete_cherry', + 'railways:track_incomplete_bamboo', + 'railways:track_incomplete_stripped_bamboo', 'railways:track_incomplete_oak_wide', 'railways:track_incomplete_warped_wide', 'railways:track_incomplete_spruce_wide', @@ -73,10 +85,16 @@ global.RAIL_WAYS_DISABLED_ITEMS = [ 'railways:track_incomplete_jungle_wide', 'railways:track_incomplete_mangrove_wide', 'railways:track_incomplete_crimson_wide', + 'railways:track_incomplete_cherry_wide', + 'railways:track_incomplete_bamboo_wide', + 'railways:track_incomplete_stripped_bamboo_wide', 'railways:track_incomplete_oak_narrow', 'railways:track_incomplete_spruce_narrow', 'railways:track_incomplete_warped_narrow', 'railways:track_incomplete_acacia_narrow', + 'railways:track_incomplete_cherry_narrow', + 'railways:track_incomplete_bamboo_narrow', + 'railways:track_incomplete_stripped_bamboo_narrow', // Возможно включим позже 'railways:track_incomplete_tieless', 'railways:track_incomplete_tieless_narrow', @@ -122,4 +140,4 @@ global.RAIL_WAYS_DISABLED_ITEMS = [ 'railways:conductor_vent', 'railways:jukeboxcart', 'railways:benchcart' -]; \ No newline at end of file +];