diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index 614ae60a1..38fd2ace2 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -33,20 +33,20 @@ linked_quest: "0CA5B715B76E4A5B" shape: "diamond" x: 13.0d - y: 1.5d + y: 1.0d } { id: "6058CD9466BE0852" linked_quest: "00202200344F3456" - x: 12.5d - y: 3.0d + x: 13.0d + y: 2.0d } { id: "49FB3507B0FB3000" linked_quest: "155F421FC2F39C3C" shape: "diamond" - x: 11.5d - y: 1.5d + x: 10.0d + y: 2.0d } { id: "7FDAA0AA0D463A49" @@ -372,7 +372,7 @@ type: "item" }] x: 14.5d - y: 0.0d + y: -1.0d } { dependencies: ["4EA8888B12D75BF1"] @@ -433,7 +433,7 @@ item: "gtceu:rtm_alloy_coil_block" type: "item" }] - x: 10.0d + x: 8.5d y: 3.0d } { @@ -488,8 +488,8 @@ } ] title: "{quests.extreme_voltage.gcym_alloys.title}" - x: 10.0d - y: 0.0d + x: 8.5d + y: -1.0d } { dependencies: ["7B2EE67E37809269"] @@ -537,7 +537,7 @@ type: "item" }] x: 17.5d - y: 0.0d + y: -1.0d } { dependencies: [ @@ -1218,7 +1218,7 @@ ] title: "{quests.extreme_voltage.ostrum_harvester.title}" x: 14.5d - y: 1.5d + y: 1.0d } { dependencies: ["017019EB38F7A18C"] @@ -2015,8 +2015,8 @@ type: "item" }] title: "{quests.extreme_voltage.large_miner.title}" - x: 9.5d - y: -4.5d + x: 7.0d + y: -6.0d } { dependencies: ["2979AFD231E5B37B"] @@ -2250,8 +2250,8 @@ type: "item" }] title: "{quests.extreme_voltage.advanced_fluid_rig.title}" - x: 7.0d - y: -6.0d + x: 9.75d + y: -4.5d } { dependencies: ["5CF58F7CBE255585"] @@ -2278,7 +2278,7 @@ type: "item" }] title: "{quests.extreme_voltage.large_generators.title}" - x: 2.0d + x: 3.0d y: 4.5d } { @@ -2400,7 +2400,7 @@ } ] title: "{quests.extreme_voltage.nichromium_iode.title}" - x: 11.5d + x: 10.0d y: 3.0d } { @@ -2418,6 +2418,185 @@ x: 1.5d y: 8.5d } + { + dependencies: ["5EC5566546591DEE"] + icon: { + Count: 1 + id: "gtceu:ev_tungsten_carbide_drill" + tag: { + Charge: 2147483647L + Damage: 0 + DisallowContainerItem: 0b + GT.Behaviours: { + AoEColumn: 3 + AoELayer: 6 + AoERow: 3 + MaxAoEColumn: 3 + MaxAoELayer: 6 + MaxAoERow: 3 + TorchPlacing: 1b + } + GT.Tool: { + DefaultEnchantments: [ ] + HarvestLevel: 4 + MaxDamage: 6143 + ToolSpeed: 36.0f + } + HideFlags: 2 + MaxCharge: 2147483647L + } + } + id: "77126BE617215A17" + optional: true + shape: "heart" + tasks: [ + { + id: "639039222D6F4B30" + item: "gtceu:tungsten_carbide_ingot" + type: "item" + } + { + id: "3B578E54D11D2CA5" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:ev_tungsten_carbide_drill)item(gtceu:ev_tungsten_carbide_screwdriver)item(gtceu:ev_tungsten_carbide_wrench)item(gtceu:ev_tungsten_carbide_chainsaw)item(gtceu:ev_tungsten_carbide_buzzsaw)item(gtceu:ev_tungsten_carbide_wire_cutter))" + } + } + optional_task: true + type: "item" + } + ] + x: 5.5d + y: -5.5d + } + { + dependencies: ["7F4E529627AD9148"] + icon: { + Count: 1 + id: "gtceu:turbine_rotor" + tag: { + GT.PartStats: { + Material: "tfg:tungsten_bismuth_oxide_composite" + } + } + } + id: "4C5311FA9B46D115" + optional: true + shape: "heart" + tasks: [ + { + id: "4D980D7F2A4B5731" + item: "tfg:tungsten_bismuth_oxide_composite_ingot" + type: "item" + } + { + id: "23C3B067A4087DA2" + item: { + Count: 1 + id: "gtceu:turbine_rotor" + tag: { + GT.PartStats: { + Material: "tfg:tungsten_bismuth_oxide_composite" + } + } + } + optional_task: true + type: "item" + } + ] + x: 8.5d + y: 4.5d + } + { + dependencies: ["5FA09DA68D309548"] + icon: { + Count: 1 + id: "gtceu:ev_ostrum_iodide_wrench" + tag: { + Charge: 2147483647L + Damage: 0 + DisallowContainerItem: 0b + GT.Behaviours: { + Mode: 2b + } + GT.Tool: { + DefaultEnchantments: [ ] + HarvestLevel: 4 + MaxDamage: 3095 + ToolSpeed: 94.0f + } + HideFlags: 2 + MaxCharge: 2147483647L + } + } + id: "21A1AB93A5B6F729" + optional: true + shape: "heart" + tasks: [ + { + id: "5E09DBF8B5973CA6" + item: "gtceu:ostrum_iodide_ingot" + type: "item" + } + { + id: "318864D5687CE68B" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:ev_ostrum_iodide_drill)item(gtceu:ev_ostrum_iodide_screwdriver)item(gtceu:ev_ostrum_iodide_wrench)item(gtceu:ev_ostrum_iodide_chainsaw)item(gtceu:ev_ostrum_iodide_buzzsaw)item(gtceu:ev_ostrum_iodide_wire_cutter))" + } + } + type: "item" + } + ] + x: 13.0d + y: 3.0d + } + { + dependencies: ["52AB0BDC64293253"] + id: "2DA61F29B0CB6141" + optional: true + shape: "heart" + tasks: [{ + id: "62FB9023A96410C3" + item: { + Count: 1 + id: "gtceu:turbine_rotor" + tag: { + GT.PartStats: { + Material: "gtceu:rocket_alloy_t2" + } + } + } + type: "item" + }] + x: -5.5d + y: 4.5d + } + { + dependencies: ["691A36800DC755C1"] + id: "65B835976B0AA1E9" + optional: true + shape: "heart" + tasks: [{ + id: "3080CD336ACCEE9E" + item: { + Count: 1 + id: "gtceu:turbine_rotor" + tag: { + GT.PartStats: { + Material: "tfg:mo_si_b" + } + } + } + type: "item" + }] + x: 23.5d + y: 4.5d + } ] subtitle: ["{quests.extreme_voltage.subtitle}"] title: "{quests.extreme_voltage}" diff --git a/config/ftbquests/quests/chapters/gregtech_energy.snbt b/config/ftbquests/quests/chapters/gregtech_energy.snbt index 85be931fc..a4ce3596f 100644 --- a/config/ftbquests/quests/chapters/gregtech_energy.snbt +++ b/config/ftbquests/quests/chapters/gregtech_energy.snbt @@ -815,8 +815,8 @@ dependencies: [ "109C57B63EE95E35" "5826EC76931359B8" - "00A2566109144D7F" "4D0ADC66D2CF09B1" + "670FC89E34D70E3C" ] dependency_requirement: "one_completed" description: [ diff --git a/config/ftbquests/quests/chapters/hv__high_voltage.snbt b/config/ftbquests/quests/chapters/hv__high_voltage.snbt index 9c349efe9..26d281730 100644 --- a/config/ftbquests/quests/chapters/hv__high_voltage.snbt +++ b/config/ftbquests/quests/chapters/hv__high_voltage.snbt @@ -10,19 +10,19 @@ { id: "2583D0B64E51FAC8" linked_quest: "5063FDFFBE3E4855" - x: 2.5d - y: -8.5d + x: 0.0d + y: -11.0d } { id: "308E11BE764398A1" linked_quest: "7C1FD81C5DCFB74E" - x: -8.0d + x: 23.0d y: -8.5d } { id: "33D3C2A9337335D2" linked_quest: "493D733A5438DD7E" - x: 10.0d + x: 11.0d y: 0.0d } { @@ -30,34 +30,35 @@ linked_quest: "396E85A39FF414CF" shape: "gear" size: 2.0d - x: 13.0d + x: 14.0d y: -6.0d } { id: "4A902B3F8AE331AC" linked_quest: "5D188F6C46EA9ED0" - x: -6.0d - y: -3.0d + shape: "heart" + x: 21.5d + y: 8.5d } { id: "513464FBE4A87CB7" linked_quest: "3A2E442E4D84C891" shape: "octagon" size: 2.0d - x: 0.0d + x: 2.5d y: -11.0d } { id: "1B29194F9C306CFE" linked_quest: "36B9B5024356C53C" - x: 0.0d - y: -13.0d + x: 5.0d + y: -11.0d } { id: "3274381865E7D011" linked_quest: "0585527D1854628B" - x: 14.0d - y: 1.5d + x: 19.5d + y: -6.0d } ] quests: [ @@ -74,7 +75,7 @@ type: "item" }] title: "{quests.high_voltage.energium_crystals.title}" - x: -3.0d + x: -3.5d y: -4.0d } { @@ -91,7 +92,7 @@ type: "item" }] title: "{quests.high_voltage.autoclave.title}" - x: -2.0d + x: -2.5d y: -4.0d } { @@ -108,8 +109,8 @@ type: "item" }] title: "{quests.high_voltage.chem_bath.title}" - x: -2.0d - y: 0.0d + x: -2.5d + y: 0.5d } { dependencies: ["52AD30F04DD5A812"] @@ -136,7 +137,7 @@ } ] title: "{quests.high_voltage.maintenance_hatches.title}" - x: -2.0d + x: -2.5d y: -3.0d } { @@ -188,7 +189,7 @@ } ] title: "{quests.high_voltage.hv_components.title}" - x: -2.0d + x: -2.5d y: -2.0d } { @@ -235,8 +236,8 @@ } ] title: "{quests.high_voltage.lenses.title}" - x: -2.0d - y: 1.5d + x: -2.5d + y: 2.0d } { dependencies: ["6975F16F5B50F17F"] @@ -250,8 +251,8 @@ type: "item" }] title: "{quests.high_voltage.ulv_circuits.title}" - x: -3.5d - y: 1.5d + x: -4.0d + y: 2.0d } { dependencies: [ @@ -261,6 +262,8 @@ description: ["{quests.high_voltage.hv_energy_hatch.desc}"] icon: "gtceu:hv_energy_input_hatch" id: "5DBBD9B1F5B01F4E" + shape: "octagon" + size: 1.5d subtitle: "{quests.high_voltage.hv_energy_hatch.subtitle}" tasks: [ { @@ -306,14 +309,22 @@ shape: "square" size: 1.0d subtitle: "{quests.high_voltage.rutile_loop.subtitle}" - tasks: [{ - id: "5593109F3592A432" - item: "gtceu:rutile_dust" - type: "item" - }] + tasks: [ + { + id: "5593109F3592A432" + item: "gtceu:rutile_dust" + type: "item" + } + { + id: "11062B6B87452CE0" + item: "gtceu:bauxite_slurry_bucket" + optional_task: true + type: "item" + } + ] title: "{quests.high_voltage.rutile_loop.title}" - x: -7.0d - y: 3.0d + x: 2.0d + y: 7.0d } { dependencies: [ @@ -343,8 +354,8 @@ } ] title: "{quests.high_voltage.rutile_loop_2.title}" - x: -5.0d - y: 3.0d + x: 3.5d + y: 7.0d } { dependencies: ["6B08799BCFD01D3D"] @@ -360,11 +371,16 @@ type: "item" }] title: "{quests.high_voltage.superconductors.title}" - x: -8.0d - y: -11.0d + x: 22.5d + y: -2.5d } { - dependencies: ["7E755297E9685374"] + dependencies: [ + "7E755297E9685374" + "578ECB10B30A77C7" + "2F77122B74877BED" + "09C63B0E303AD8FD" + ] description: [ "{quests.high_voltage.nichrome_coils.desc.1}" "{@pagebreak}" @@ -372,7 +388,8 @@ ] icon: "gtceu:nichrome_coil_block" id: "6B08799BCFD01D3D" - size: 1.0d + shape: "octagon" + size: 1.5d subtitle: "{quests.high_voltage.nichrome_coils.subtitle}" tasks: [{ count: 16L @@ -381,13 +398,13 @@ type: "item" }] title: "{quests.high_voltage.nichrome_coils.title}" - x: -6.5d - y: -11.0d + x: 21.0d + y: -2.0d } { dependencies: [ - "6958029B5514D4EC" "727075AAF9F91FAE" + "6B08799BCFD01D3D" ] description: ["{quests.high_voltage.titanium.desc}"] icon: "gtceu:titanium_ingot" @@ -400,8 +417,8 @@ type: "item" }] title: "{quests.high_voltage.titanium.title}" - x: -5.0d - y: -2.0d + x: 21.0d + y: 7.0d } { dependencies: ["6A451F43F3D7A671"] @@ -417,26 +434,9 @@ type: "item" }] title: "{quests.high_voltage.vacuum_freezer.title}" - x: -5.0d + x: 21.0d y: -8.5d } - { - dependencies: ["124B32A0583A636A"] - description: ["{quests.high_voltage.mv_superconductors.desc}"] - icon: "gtceu:magnesium_diboride_double_wire" - id: "72F0DFAF5CC6D0FE" - optional: true - shape: "heart" - size: 1.0d - tasks: [{ - id: "4CCBDA5AC16CBB48" - item: "gtceu:magnesium_diboride_single_wire" - type: "item" - }] - title: "{quests.high_voltage.mv_superconductors.title}" - x: -3.5d - y: 0.0d - } { dependencies: ["41D32C5178760F47"] description: ["{quests.high_voltage.circuit_assembler.desc}"] @@ -451,8 +451,8 @@ type: "item" }] title: "{quests.high_voltage.circuit_assembler.title}" - x: 10.0d - y: 2.0d + x: 9.0d + y: 3.0d } { dependencies: [ @@ -470,8 +470,8 @@ type: "item" }] title: "{quests.high_voltage.vitrified_pearl.title}" - x: 6.0d - y: 2.0d + x: 6.5d + y: 3.0d } { dependencies: ["52AD30F04DD5A812"] @@ -543,8 +543,8 @@ type: "item" }] title: "{quests.high_voltage.prospector.title}" - x: 7.0d - y: 1.0d + x: 7.5d + y: 2.0d } { description: ["{quests.high_voltage.fluorine.desc}"] @@ -566,8 +566,8 @@ } ] title: "{quests.high_voltage.fluorine.title}" - x: 1.5d - y: 4.0d + x: -1.0d + y: 5.0d } { dependencies: [ @@ -625,7 +625,7 @@ } ] title: "{quests.high_voltage.nitrobenzene.title}" - x: -3.5d + x: -4.5d y: 6.0d } { @@ -688,7 +688,7 @@ }] title: "{quests.high_voltage.tnt.title}" x: 3.5d - y: 3.5d + y: 4.5d } { dependencies: [ @@ -717,7 +717,7 @@ ] title: "{quests.high_voltage.ender_pearls.title}" x: 3.5d - y: 2.0d + y: 3.0d } { dependencies: ["3568BC9742092FC5"] @@ -739,7 +739,7 @@ } ] title: "{quests.high_voltage.boules.title}" - x: -2.0d + x: -2.5d y: -6.0d } { @@ -754,7 +754,7 @@ }] title: "{quests.high_voltage.implosion_compressor.title}" x: 2.0d - y: 2.0d + y: 3.0d } { dependencies: [ @@ -785,7 +785,7 @@ } ] title: "{quests.high_voltage.nitric_acid.title}" - x: -2.0d + x: -2.5d y: 7.0d } { @@ -811,7 +811,7 @@ } ] title: "{quests.high_voltage.cetane_diesel.title}" - x: -3.5d + x: -4.5d y: 8.0d } { @@ -888,7 +888,7 @@ }] title: "{quests.high_voltage.hv_macerator.title}" x: 2.0d - y: 0.0d + y: 0.5d } { dependencies: ["390E59F05132FCB8"] @@ -910,7 +910,7 @@ } ] title: "{quests.high_voltage.ammonia.title}" - x: -2.0d + x: -2.5d y: 4.5d } { @@ -948,8 +948,8 @@ type: "item" }] title: "{quests.high_voltage.blue_alloy.title}" - x: 1.0d - y: -7.5d + x: -1.5d + y: -10.0d } { dependencies: [ @@ -1004,8 +1004,8 @@ type: "item" }] title: "{quests.high_voltage.nichrome.title}" - x: -5.0d - y: -11.0d + x: 21.0d + y: -6.0d } { dependencies: [ @@ -1039,7 +1039,7 @@ type: "item" }] title: "{quests.high_voltage.rocket_t1.title}" - x: 8.0d + x: 9.0d y: -2.0d } { @@ -1085,7 +1085,7 @@ item: "ad_astra:rocket_nose_cone" type: "item" }] - x: 6.0d + x: 6.5d y: -1.0d } { @@ -1101,8 +1101,8 @@ type: "item" }] title: "{quests.high_voltage.ev_machine_hull.title}" - x: -9.0d - y: -2.0d + x: 24.0d + y: 2.0d } { dependencies: ["56D337E264A4154F"] @@ -1116,7 +1116,7 @@ type: "item" }] title: "Rocket Fins" - x: 6.0d + x: 6.5d y: -2.0d } { @@ -1129,7 +1129,7 @@ item: "ad_astra:steel_engine" type: "item" }] - x: 6.0d + x: 6.5d y: -3.0d } { @@ -1144,7 +1144,7 @@ type: "item" }] title: "{quests.high_voltage.rocket_fuel.title}" - x: 10.0d + x: 11.0d y: -2.0d } { @@ -1171,7 +1171,7 @@ type: "dimension" }] title: "{quests.high_voltage.welcome_moon.title}" - x: 13.0d + x: 14.0d y: -2.0d } { @@ -1245,7 +1245,7 @@ } ] title: "{quests.high_voltage.space_suit.title}" - x: 10.0d + x: 11.0d y: -1.0d } { @@ -1259,7 +1259,7 @@ item: "ad_astra:launch_pad" type: "item" }] - x: 10.0d + x: 11.0d y: -3.0d } { @@ -1282,7 +1282,7 @@ type: "checkmark" }] title: "{quests.high_voltage.linked_quest_energy.title}" - x: -5.0d + x: -6.5d y: 7.0d } { @@ -1297,8 +1297,8 @@ type: "item" }] title: "{quests.high_voltage.kaolinite_powder.title}" - x: 6.0d - y: 3.5d + x: 6.5d + y: 4.5d } { dependencies: ["3FBDC8552F7D8008"] @@ -1375,7 +1375,7 @@ } ] title: "{quests.high_voltage.gun.title}" - x: 10.0d + x: 9.0d y: -4.0d } { @@ -1391,7 +1391,7 @@ }] title: "{quests.high_voltage.space_survival.title}" x: 12.0d - y: 1.5d + y: -4.0d } { dependencies: ["00A2566109144D7F"] @@ -1406,31 +1406,24 @@ type: "item" }] title: "{quests.high_voltage.moon_harvester.title}" - x: 16.0d - y: -2.0d + x: 14.0d + y: 3.0d } { - dependencies: ["6A21CCAEB1FDF38E"] + dependencies: ["00A2566109144D7F"] description: ["{quests.high_voltage.regolith_vapor.desc}"] icon: "gtceu:regolith_vapor_bucket" id: "578ECB10B30A77C7" subtitle: "{quests.high_voltage.regolith_vapor.subtitle}" - tasks: [ - { - id: "0FF209271DB58067" - item: "gtceu:regolith_vapor_bucket" - optional_task: true - type: "item" - } - { - id: "32E19F49E3A2D54B" - title: "{quests.high_voltage.regolith_vapor.task}" - type: "checkmark" - } - ] + tasks: [{ + id: "0FF209271DB58067" + item: "gtceu:regolith_vapor_bucket" + optional_task: true + type: "item" + }] title: "{quests.high_voltage.regolith_vapor.title}" - x: 17.5d - y: -2.5d + x: 18.0d + y: -1.0d } { dependencies: ["6A21CCAEB1FDF38E"] @@ -1460,8 +1453,8 @@ } ] title: "{quests.high_voltage.regolith_dust.title}" - x: 17.5d - y: -1.5d + x: 16.0d + y: 3.0d } { dependencies: [ @@ -1484,13 +1477,16 @@ type: "item" }] title: "{quests.high_voltage.dusty_ores.title}" - x: 18.5d - y: -2.0d + x: 18.0d + y: 3.0d } { dependencies: ["5807400FD1F0998A"] description: ["{quests.high_voltage.final_dust.desc}"] id: "36FE3DDBCB535639" + optional: true + shape: "heart" + size: 1.25d subtitle: "{quests.high_voltage.final_dust.subtitle}" tasks: [ { @@ -1561,8 +1557,8 @@ } ] title: "{quests.high_voltage.final_dust.title}" - x: 19.5d - y: -2.0d + x: 18.0d + y: 5.0d } { dependencies: ["396E85A39FF414CF"] @@ -1583,8 +1579,8 @@ type: "item" }] title: "{quests.high_voltage.wand.title}" - x: 14.5d - y: -7.5d + x: 16.0d + y: -6.0d } { dependencies: ["396E85A39FF414CF"] @@ -1606,8 +1602,8 @@ } ] title: "{quests.high_voltage.hypertubes.title}" - x: 11.5d - y: -7.5d + x: 12.0d + y: -6.0d } { dependencies: ["16B735F9C391D260"] @@ -1665,8 +1661,8 @@ } ] title: "{quests.high_voltage.titanium_greate.title}" - x: -6.0d - y: -1.0d + x: 20.5d + y: 8.5d } { dependencies: ["36B9B5024356C53C"] @@ -1685,8 +1681,8 @@ type: "item" }] title: "{quests.gregtech_energy.reformate_gas.title}" - x: -1.5d - y: -13.0d + x: 6.5d + y: -11.0d } { dependencies: ["6A451F43F3D7A671"] @@ -1709,8 +1705,8 @@ type: "item" }] title: "{quests.high_voltage.pisciculture.title}" - x: -2.25d - y: -11.0d + x: -2.0d + y: -8.5d } { dependencies: ["41D32C5178760F47"] @@ -1724,8 +1720,214 @@ item: "gtceuterminal:multi_structure_manager" type: "item" }] + x: 5.5d + y: 2.0d + } + { + dependencies: ["05ABC370D7153350"] + description: ["{quest.high_voltage.ultimet.desc}"] + icon: "gtceu:ultimet_ingot" + id: "4C25552DC291F49A" + subtitle: "{quest.high_voltage.ultimet.subtitle}" + tasks: [ + { + id: "5C9F46F926EC071B" + item: "gtceu:ultimet_dust" + type: "item" + } + { + id: "27A6C576F7AFFB67" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:hv_ultimet_drill)item(gtceu:hv_ultimet_buzzsaw)item(gtceu:hv_ultimet_screwdriver)item(gtceu:hv_ultimet_wire_cutter)item(gtceu:hv_ultimet_chainsaw)item(gtceu:hv_ultimet_wrench))" + } + } + optional_task: true + title: "{quest.high_voltage.ultimet.task}" + type: "item" + } + { + id: "6B62C1679EE0757A" + item: { + Count: 1 + id: "gtceu:turbine_rotor" + tag: { + GT.PartStats: { + Material: "gtceu:ultimet" + } + } + } + optional_task: true + type: "item" + } + ] + title: "{quest.high_voltage.ultimet.title}" + x: 3.5d + y: -3.0d + } + { + dependencies: ["6958029B5514D4EC"] + description: ["{quests.high_voltage.boron_tools.desc}"] + icon: { + Count: 1 + id: "tfg:hv_boron_carbide_screwdriver" + tag: { + Damage: 0 + GT.Behaviours: { } + GT.Tool: { + AttackDamage: 8.0f + AttackSpeed: 3.0f + DefaultEnchantments: [ ] + MaxDamage: 3678 + } + } + } + id: "09DEA21F91BE054E" + optional: true + shape: "heart" + subtitle: "{quests.high_voltage.boron_tools.subtitle}" + tasks: [ + { + id: "2018B029C5FDC092" + item: "tfg:boron_carbide_dust" + type: "item" + } + { + id: "31F5C6763E32046A" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(tfg:hv_boron_carbide_drill)item(tfg:hv_boron_carbide_buzzsaw)item(tfg:hv_boron_carbide_screwdriver)item(tfg:hv_boron_carbide_wire_cutter)item(tfg:hv_boron_carbide_chainsaw)item(tfg:hv_boron_carbide_wrench))" + } + } + optional_task: true + title: "{quests.high_voltage.boron_tools.task}" + type: "item" + } + ] + title: "{quests.high_voltage.boron_tools.title}" + x: 21.0d + y: -11.0d + } + { + dependencies: ["56D337E264A4154F"] + description: ["{quest.high_voltage.r_alumino_rotor.desc}"] + id: "27EDE5F476EA628D" + optional: true + shape: "heart" + subtitle: "{quest.high_voltage.r_alumino_rotor.subtitle}" + tasks: [{ + id: "78E2E00B6BBBCB6D" + item: { + Count: 1 + id: "gtceu:turbine_rotor" + tag: { + GT.PartStats: { + Material: "gtceu:rocket_alloy_t1" + } + } + } + type: "item" + }] x: 5.0d - y: 1.0d + y: -1.0d + } + { + dependencies: [ + "00A2566109144D7F" + "670FC89E34D70E3C" + ] + description: ["{quest.high_voltage.desh_blue_foils.desc}"] + id: "09C63B0E303AD8FD" + subtitle: "{quest.high_voltage.desh_blue_foils.subtitle}" + tasks: [{ + id: "0940FA8EC1C38BC3" + item: "tfg:blue_alloy_desh_foil" + type: "item" + }] + x: 18.0d + y: -3.0d + } + { + dependencies: ["00A2566109144D7F"] + description: ["{quest.high_voltage.chorus_insulation.desc}"] + icon: "tfg:fired_chorus_ceramic_insulation" + id: "2F77122B74877BED" + subtitle: "{quest.high_voltage.chorus_insulation.subtitle}" + tasks: [ + { + id: "5AF6BCBF6039F43F" + item: "tfg:chorus_ceramic_insulation" + optional_task: true + type: "item" + } + { + id: "1279C5E1F2563A60" + item: "tfg:fired_chorus_ceramic_insulation" + type: "item" + } + ] + x: 18.0d + y: -2.0d + } + { + dependencies: [ + "00A2566109144D7F" + "6958029B5514D4EC" + ] + description: ["{quest.high_voltage.desh_ingot.desc}"] + icon: "ad_astra:desh_ingot" + id: "670FC89E34D70E3C" + subtitle: "{quest.high_voltage.desh_ingot.subtitle}" + tasks: [ + { + id: "1AF2669CD2F3DCAA" + item: "ad_astra:desh_ingot" + type: "item" + } + { + id: "257AD0E5DBC1F3CE" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:poor_raw_desh)item(ad_astra:raw_desh)item(gtceu:rich_raw_desh))" + } + } + optional_task: true + title: "{quest.high_voltage.desh_ingot.task}" + type: "item" + } + ] + title: "{quest.high_voltage.desh_ingot.title}" + x: 18.0d + y: -6.0d + } + { + dependencies: ["6B08799BCFD01D3D"] + description: ["{quest.high_voltage.inconel_rotor.desc}"] + id: "661D2E50F56EA5AD" + optional: true + shape: "heart" + subtitle: "{quest.high_voltage.inconel_rotor.subtitle}" + tasks: [{ + id: "05CAAD3F517F551D" + item: { + Count: 1 + id: "gtceu:turbine_rotor" + tag: { + GT.PartStats: { + Material: "tfg:inconel_718" + } + } + } + type: "item" + }] + x: 22.5d + y: -1.5d } ] subtitle: ["{quests.high_voltage.subtitle}"] diff --git a/config/ftbquests/quests/chapters/lv__low_voltage.snbt b/config/ftbquests/quests/chapters/lv__low_voltage.snbt index 15cb9ec5a..84abcfab0 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -54,11 +54,31 @@ y: 2.0d } { + icon: { + Count: 1 + id: "gtceu:lv_blue_steel_wrench" + tag: { + Charge: 2147483647L + Damage: 0 + DisallowContainerItem: 0b + GT.Behaviours: { + Mode: 2b + } + GT.Tool: { + DefaultEnchantments: [ ] + HarvestLevel: 3 + MaxDamage: 803 + ToolSpeed: 18.0f + } + HideFlags: 2 + MaxCharge: 2147483647L + } + } id: "343F16805E04BFBE" linked_quest: "2D2CB8104E40E808" shape: "heart" x: 7.0d - y: 5.5d + y: 4.5d } ] quests: [ @@ -378,6 +398,7 @@ dependencies: [ "6E186F9C57155BFA" "46FA9DD4755A5548" + "3D8174C64DDC268B" ] dependency_requirement: "one_completed" description: [ @@ -1369,7 +1390,7 @@ type: "item" }] x: 7.0d - y: 4.5d + y: 5.5d } { dependencies: ["7FA1525D681C4B4A"] diff --git a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt index e1a07236d..26c3b7476 100644 --- a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt +++ b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt @@ -287,7 +287,7 @@ type: "item" }] title: "{quests.medium_voltage.mv_stainless.title}" - x: 1.0d + x: 0.0d y: 7.5d } { @@ -425,7 +425,7 @@ type: "item" }] title: "{quests.medium_voltage.mv_steel_alloy.title}" - x: 8.0d + x: 10.0d y: 1.0d } { @@ -434,7 +434,7 @@ icon: "gtceu:mv_cutter" id: "5CBBBFD1FBBE95CE" shape: "octagon" - size: 2.0d + size: 1.5d subtitle: "{quests.medium_voltage.mv_cutter.subtitle}" tasks: [{ id: "01D8E995ED40F6CF" @@ -449,13 +449,14 @@ type: "item" }] title: "{quests.medium_voltage.mv_cutter.title}" - x: 8.0d - y: 4.0d + x: 10.0d + y: 3.75d } { dependencies: [ - "5CBBBFD1FBBE95CE" "71412502C81F21C1" + "738E8E10951E17C6" + "71F82DEEBDBBD4AC" ] description: ["{quests.medium_voltage.mv_laser_engraver.desc}"] icon: "gtceu:mv_laser_engraver" @@ -470,7 +471,7 @@ }] title: "{quests.medium_voltage.mv_laser_engraver.title}" x: 8.0d - y: 8.0d + y: 10.0d } { dependencies: [ @@ -490,7 +491,7 @@ }] title: "{quests.medium_voltage.mv_energy_hatch.title}" x: 3.0d - y: 9.0d + y: 7.5d } { dependencies: ["22E462070F8B027A"] @@ -514,13 +515,15 @@ "2AD44111B9B39C90" "4058958C4743E522" "1646BF9194100E57" + "02D2A2FFAB2AB0F1" + "3B34F995B31D4C5B" ] description: ["{quests.medium_voltage.mv_kanthal_coil.desc}"] hide_dependency_lines: false icon: "gtceu:kanthal_coil_block" id: "1C55AE6AD5BDE304" - shape: "square" - size: 1.0d + shape: "octagon" + size: 1.5d subtitle: "{quests.medium_voltage.mv_kanthal_coil.subtitle}" tasks: [{ count: 16L @@ -529,7 +532,7 @@ type: "item" }] title: "{quests.medium_voltage.mv_kanthal_coil.title}" - x: 1.0d + x: 3.0d y: 10.0d } { @@ -550,8 +553,8 @@ type: "item" }] title: "{quests.medium_voltage.mv_first_hv.title}" - x: 3.0d - y: 16.5d + x: 1.5d + y: 18.0d } { dependencies: ["315169840E06110F"] @@ -581,7 +584,7 @@ ] title: "{quests.medium_voltage.mv_ram.title}" x: 8.0d - y: 10.0d + y: 13.5d } { dependencies: ["6F6D2829FC42F21C"] @@ -602,7 +605,7 @@ }] title: "{quests.medium_voltage.mv_more_lv.title}" x: 3.0d - y: 12.0d + y: 13.5d } { dependencies: ["5C17BF90DA2AAEEE"] @@ -619,13 +622,10 @@ }] title: "{quests.medium_voltage.mv_more_mv.title}" x: 3.0d - y: 14.0d + y: 15.0d } { - dependencies: [ - "1E9BE8D3F8A602DC" - "3DB03EA806B2D8A1" - ] + dependencies: ["738E8E10951E17C6"] description: ["{quests.medium_voltage.mv_silicon_boule.desc}"] icon: "gtceu:silicon_boule" id: "71412502C81F21C1" @@ -647,7 +647,7 @@ ] title: "{quests.medium_voltage.mv_silicon_boule.title}" x: 10.0d - y: 8.0d + y: 10.0d } { dependencies: ["26394C1290D70AB6"] @@ -664,7 +664,7 @@ }] title: "{quests.medium_voltage.mv_circuit_assembler.title}" x: 0.0d - y: 14.0d + y: 15.0d } { dependencies: ["26394C1290D70AB6"] @@ -681,7 +681,7 @@ }] title: "{quests.medium_voltage.mv_multi_smelter.title}" x: 6.0d - y: 16.5d + y: 18.0d } { dependencies: [ @@ -691,8 +691,9 @@ description: ["{quests.medium_voltage.mv_best_lv.desc}"] icon: "gtceu:microchip_processor" id: "5E76D4C24026157D" - shape: "octagon" - size: 1.5d + optional: true + shape: "heart" + size: 1.0d subtitle: "{quests.medium_voltage.mv_best_lv.subtitle}" tasks: [{ id: "4E076080D7B23372" @@ -700,8 +701,8 @@ type: "item" }] title: "{quests.medium_voltage.mv_best_lv.title}" - x: -3.0d - y: 12.0d + x: 0.0d + y: 13.0d } { dependencies: [ @@ -721,10 +722,13 @@ }] title: "{quests.medium_voltage.mv_best_mv.title}" x: -3.0d - y: 14.0d + y: 15.0d } { - dependencies: ["38DE506FF5B32031"] + dependencies: [ + "38DE506FF5B32031" + "3DFFA8F91452C62A" + ] description: ["{quests.medium_voltage.mv_second_hv.desc}"] icon: "gtceu:micro_processor_assembly" id: "5063FDFFBE3E4855" @@ -738,7 +742,7 @@ }] title: "{quests.medium_voltage.mv_second_hv.title}" x: -3.0d - y: 16.5d + y: 18.0d } { dependencies: ["10FB27DD3C7BEC2F"] @@ -754,8 +758,8 @@ type: "item" }] title: "{quests.medium_voltage.mv_inductor.title}" - x: -10.5d - y: 12.0d + x: -5.5d + y: 15.0d } { dependencies: ["6BB98D128822730E"] @@ -765,18 +769,26 @@ shape: "gear" size: 3.0d subtitle: "{quests.medium_voltage.mv_polyethylene.subtitle}" - tasks: [{ - id: "1605293EDC9EAFCB" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(nbt(fuzzy:{fluid:{FluidName:\"gtceu:polyethylene\"}})nbt(fuzzy:{Fluid:{FluidName:\"gtceu:polyethylene\"}})item(gtceu:polyethylene_bucket))" + tasks: [ + { + id: "1605293EDC9EAFCB" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(nbt(fuzzy:{fluid:{FluidName:\"gtceu:polyethylene\"}})nbt(fuzzy:{Fluid:{FluidName:\"gtceu:polyethylene\"}})item(gtceu:polyethylene_bucket))" + } } + optional_task: true + title: "{material.gtceu.polyethylene}" + type: "item" } - title: "{material.gtceu.polyethylene}" - type: "item" - }] + { + id: "0BED85C5B7E4B5AF" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + } + ] title: "{quests.medium_voltage.mv_polyethylene.title}" x: -10.0d y: 10.0d @@ -802,13 +814,14 @@ type: "item" }] title: "{quests.medium_voltage.mv_pvc.title}" - x: -9.5d - y: 12.0d + x: -10.0d + y: 13.0d } { dependencies: [ "4353AB0E20601AEC" "10FB27DD3C7BEC2F" + "3B34F995B31D4C5B" ] description: ["{quests.medium_voltage.mv_boards.desc}"] icon: "gtceu:plastic_printed_circuit_board" @@ -817,9 +830,16 @@ size: 1.0d subtitle: "{quests.medium_voltage.mv_boards.subtitle}" tasks: [ + { + id: "076F358571035951" + item: "tfg:mo_activated_sic_substrate" + optional_task: true + type: "item" + } { id: "68B5E2667EDAE895" item: "gtceu:plastic_circuit_board" + optional_task: true type: "item" } { @@ -829,8 +849,8 @@ } ] title: "{quests.medium_voltage.mv_boards.title}" - x: -7.0d - y: 12.0d + x: -3.0d + y: 13.0d } { dependencies: [ @@ -854,7 +874,7 @@ tasks: [ { id: "118468CD578081CF" - item: "gtceu:sodium_persulfate_bucket" + item: "tfg:redstone_tri_p_toluenesulfonate_bucket" optional_task: true type: "item" } @@ -871,8 +891,8 @@ } ] title: "{quests.medium_voltage.mv_sodium_iron.title}" - x: -7.0d - y: 14.0d + x: -3.0d + y: 11.0d } { dependencies: [ @@ -1249,8 +1269,8 @@ } ] title: "{quests.medium_voltage.mv_ic.title}" - x: 6.0d - y: 10.0d + x: 6.5d + y: 13.5d } { dependencies: ["315169840E06110F"] @@ -1281,7 +1301,7 @@ ] title: "{quests.medium_voltage.mv_ulpic.title}" x: 6.0d - y: 8.0d + y: 7.5d } { dependencies: ["75F38905DEA60F15"] @@ -1309,6 +1329,7 @@ dependencies: [ "10FB27DD3C7BEC2F" "1C55AE6AD5BDE304" + "561385A0B977CFAD" ] description: ["{quests.medium_voltage.mv_electronic_components.desc}"] id: "5DD01CBADFFF3571" @@ -1332,7 +1353,7 @@ } ] title: "{quests.medium_voltage.mv_electronic_components.title}" - x: -0.5d + x: 1.5d y: 10.0d } { @@ -1466,7 +1487,10 @@ y: 1.0d } { - dependencies: ["1E9BE8D3F8A602DC"] + dependencies: [ + "1E9BE8D3F8A602DC" + "28111275F2315FF7" + ] description: [ "{quests.medium_voltage.mv_kanthal_ingot.desc.1}" "{@pagebreak}" @@ -1487,15 +1511,10 @@ optional_task: true type: "item" } - { - id: "1C6FECE08B6DC1B8" - item: "gtceu:mv_chemical_bath" - type: "item" - } ] title: "{quests.medium_voltage.mv_kanthal_ingot.title}" - x: 1.0d - y: 11.0d + x: 4.5d + y: 10.0d } { dependencies: ["22E462070F8B027A"] @@ -1525,8 +1544,8 @@ type: "item" }] title: "{quests.medium_voltage.mv_silicon.title}" - x: 10.0d - y: 6.0d + x: 12.0d + y: 7.5d } { dependencies: [ @@ -1548,7 +1567,7 @@ }] title: "{quests.medium_voltage.lsb.title}" x: 0.0d - y: 16.5d + y: 18.0d } { dependencies: ["315169840E06110F"] @@ -1574,8 +1593,8 @@ } ] title: "{quests.medium_voltage.mv_cpu.title}" - x: 10.0d - y: 10.0d + x: 9.5d + y: 13.5d } { dependencies: ["5D9D01EF219A31C5"] @@ -1620,7 +1639,7 @@ ] title: "{quests.medium_voltage.stainless_greate.title}" x: 0.0d - y: 6.5d + y: 5.5d } { dependencies: ["54A255C1C6E33165"] @@ -1693,6 +1712,264 @@ x: 1.5d y: 5.5d } + { + dependencies: ["28111275F2315FF7"] + description: ["{quests.medium_voltage.rene_41.desc}"] + id: "02D2A2FFAB2AB0F1" + subtitle: "{quests.medium_voltage.rene_41.subtitle}" + tasks: [{ + id: "4DDAAC598858DDAE" + item: "tfg:rene_41_ingot" + type: "item" + }] + x: 4.5d + y: 9.0d + } + { + dependencies: ["28111275F2315FF7"] + description: [ + "{quests.medium_voltage.silicon_carbide.desc.1}" + "{@pagebreak}" + "{quests.medium_voltage.silicon_carbide.desc.2}" + ] + id: "3B34F995B31D4C5B" + subtitle: "{quests.medium_voltage.silicon_carbide.subtitle}" + tasks: [{ + id: "30ED727F2636666F" + item: "tfg:silicon_carbide_ingot" + type: "item" + }] + x: 4.5d + y: 11.0d + } + { + dependencies: ["79E8DC4D9B5F6B97"] + description: ["{quests.medium_voltage.silicon_rubber.desc}"] + hide_dependency_lines: true + icon: "gtceu:silicone_rubber_plate" + id: "561385A0B977CFAD" + subtitle: "{quests.medium_voltage.silicon_rubber.subtitle}" + tasks: [ + { + id: "47BDB7C5480316A3" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + } + { + id: "48DB830F406C4AB0" + item: "gtceu:silicone_rubber_bucket" + optional_task: true + type: "item" + } + ] + title: "{quests.medium_voltage.silicon_rubber.title}" + x: 0.0d + y: 11.0d + } + { + dependencies: ["22E462070F8B027A"] + description: ["{quests.medium_voltage.chemical_bath.desc}"] + hide_dependency_lines: true + id: "28111275F2315FF7" + shape: "octagon" + size: 1.25d + subtitle: "{quests.medium_voltage.chemical_bath.subtitle}" + tasks: [{ + id: "088325FB8E770571" + item: "gtceu:mv_chemical_bath" + type: "item" + }] + x: 6.0d + y: 10.0d + } + { + dependencies: [ + "3DB03EA806B2D8A1" + "5CBBBFD1FBBE95CE" + ] + description: [ + "{quests.medium_voltage.htpf.desc.1}" + "{@pagebreak}" + "{quests.medium_voltage.htpf.desc.2}" + ] + id: "738E8E10951E17C6" + shape: "octagon" + size: 2.0d + subtitle: "{quests.medium_voltage.htpf.subtitle}" + tasks: [{ + id: "15531745870DB404" + item: "tfg:high_temp_precision_fabricator" + type: "item" + }] + x: 10.0d + y: 7.5d + } + { + dependencies: ["738E8E10951E17C6"] + description: [ + "{quests.medium_voltage.gem_lens.desc.1}" + "{@pagebreak}" + "{quests.medium_voltage.gem_lens.desc.2}" + ] + id: "71F82DEEBDBBD4AC" + subtitle: "{quests.medium_voltage.gem_lens.subtitle}" + tasks: [ + { + id: "76613B2F87AA3C63" + item: "gtceu:ruby_lens" + type: "item" + } + { + id: "7B8AB218BFF3D3BC" + item: "gtceu:sapphire_lens" + type: "item" + } + { + id: "23A321B34394DBB3" + item: "gtceu:emerald_lens" + type: "item" + } + { + id: "60020347A3A4132B" + item: "gtceu:diamond_lens" + type: "item" + } + { + id: "64A48763F18FD4EE" + item: "tfg:worked_optical_borosilicate_blank" + optional_task: true + type: "item" + } + ] + title: "{quests.medium_voltage.gem_lens.title}" + x: 8.0d + y: 7.5d + } + { + dependencies: ["682C26579EDDCA76"] + description: ["{quests.medium_voltage.vanadium_tools.desc}"] + icon: { + Count: 1 + id: "gtceu:mv_vanadium_steel_wrench" + tag: { + Charge: 2147483647L + Damage: 0 + DisallowContainerItem: 0b + GT.Behaviours: { + Mode: 2b + } + GT.Tool: { + DefaultEnchantments: [ ] + HarvestLevel: 3 + MaxDamage: 2047 + ToolSpeed: 19.0f + } + HideFlags: 2 + MaxCharge: 2147483647L + } + } + id: "4F639F0169C56641" + optional: true + shape: "heart" + subtitle: "{quests.medium_voltage.vanadium_tools.subtitle}" + tasks: [{ + id: "2089A49DEBDB9A7C" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:mv_vanadium_steel_drill)item(gtceu:mv_vanadium_steel_wrench)item(gtceu:mv_vanadium_steel_screwdriver)item(gtceu:mv_vanadium_steel_buzzsaw)item(gtceu:mv_vanadium_steel_wire_cutter)item(gtceu:mv_vanadium_steel_chainsaw)item(gtceu:vanadium_steel_knife)item(gtceu:vanadium_steel_hoe)item(gtceu:vanadium_steel_scythe)item(gtceu:vanadium_steel_hammer)item(gtceu:vanadium_steel_file)item(gtceu:vanadium_steel_sword)item(gtceu:vanadium_steel_butchery_knife)item(gtceu:vanadium_steel_crowbar))" + } + } + title: "{quests.medium_voltage.vanadium_tools.task}" + type: "item" + }] + title: "{quests.medium_voltage.vanadium_tools.title}" + x: 10.0d + y: -0.5d + } + { + dependencies: ["3B34F995B31D4C5B"] + description: ["{quests.medium_voltage.sic_sic_rotor.desc}"] + id: "044089A612080F9B" + optional: true + shape: "heart" + subtitle: "{quests.medium_voltage.sic_sic_rotor.subtitle}" + tasks: [{ + id: "07B75D91B06F1941" + item: { + Count: 1 + id: "gtceu:turbine_rotor" + tag: { + GT.PartStats: { + Material: "tfg:silicon_carbide_silicon_carbide" + } + } + } + type: "item" + }] + x: 4.5d + y: 12.0d + } + { + dependencies: ["71F82DEEBDBBD4AC"] + description: ["{quests.medium_voltage.gem_slurry.desc}"] + icon: "gtceu:exquisite_ruby_gem" + id: "7343272F65129211" + shape: "heart" + subtitle: "{quests.medium_voltage.gem_slurry.subtitle}" + tasks: [ + { + id: "0FA476E1DEC280C5" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + } + { + id: "118FA3A7CBE11B2B" + item: "tfg:dirty_ruby_slurry_bucket" + optional_task: true + type: "item" + } + { + id: "377A9A3E156D5421" + item: "tfg:dirty_diamond_slurry_bucket" + optional_task: true + type: "item" + } + { + id: "2C05EBE2496806AF" + item: "tfg:dirty_sapphire_slurry_bucket" + optional_task: true + type: "item" + } + { + id: "0CADBE570823AC5F" + item: "tfg:dirty_emerald_slurry_bucket" + optional_task: true + type: "item" + } + ] + title: "{quests.medium_voltage.gem_slurry.title}" + x: 8.0d + y: 6.0d + } + { + dependencies: ["28111275F2315FF7"] + description: ["{quests.high_voltage.mv_superconductors.desc}"] + icon: "gtceu:magnesium_diboride_double_wire" + id: "7A184101B8426F52" + optional: true + shape: "heart" + size: 1.0d + tasks: [{ + id: "37A969C42A1B74FD" + item: "gtceu:magnesium_diboride_single_wire" + type: "item" + }] + title: "{quests.high_voltage.mv_superconductors.title}" + x: 6.0d + y: 11.5d + } ] subtitle: ["{quests.medium_voltage.subtitle}"] title: "{quests.medium_voltage}" diff --git a/config/ftbquests/quests/chapters/tips__tools.snbt b/config/ftbquests/quests/chapters/tips__tools.snbt index 6aed25787..0ecd6667f 100644 --- a/config/ftbquests/quests/chapters/tips__tools.snbt +++ b/config/ftbquests/quests/chapters/tips__tools.snbt @@ -598,13 +598,19 @@ { id: "34DEDF3B7F0DB3BC" item: "gtceu:item_tag_filter" + optional_task: true type: "item" } { id: "35CAF01644B8D9A2" item: "gtceu:fluid_tag_filter" + optional_task: true type: "item" } + { + id: "45C7E66106E323A2" + type: "checkmark" + } ] title: "{quests.high_voltage.250_iq.title}" x: 10.0d @@ -806,25 +812,25 @@ ] icon: { Count: 1 - id: "gtceu:iv_copper_drill" + id: "gtceu:lv_blue_steel_drill" tag: { Charge: 2147483647L Damage: 0 DisallowContainerItem: 0b GT.Behaviours: { - AoEColumn: 4 - AoELayer: 8 - AoERow: 4 - MaxAoEColumn: 4 - MaxAoELayer: 8 - MaxAoERow: 4 + AoEColumn: 1 + AoELayer: 0 + AoERow: 1 + MaxAoEColumn: 1 + MaxAoELayer: 0 + MaxAoERow: 1 TorchPlacing: 1b } GT.Tool: { DefaultEnchantments: [ ] - HarvestLevel: 2 - MaxDamage: 5543 - ToolSpeed: 6.0f + HarvestLevel: 3 + MaxDamage: 2411 + ToolSpeed: 11.0f } HideFlags: 2 MaxCharge: 2147483647L diff --git a/config/gtmutils.yaml b/config/gtmutils.yaml new file mode 100644 index 000000000..d66366c5a --- /dev/null +++ b/config/gtmutils.yaml @@ -0,0 +1,64 @@ +features: + # Whether the Sterile Cleaning Maintenance Hatch is enabled. + sterileHatchEnabled: true + + # Whether the 64A energy converters are enabled. + converters64aEnabled: false + + # Whether the Omni-breaker is enabled. + omnibreakerEnabled: true + + # What tier the Omni-breaker is, if enabled. (ULV = 0, LV = 1, MV = 2, ...) + # (Unless the default recipe is overridden, can only support LV to IV!) + omnibreakerTier: 6 + + # The energy capacity of the Omni-breaker. + omnibreakerEnergyCapacity: 40960000 + + # Whether the Wireless Active Transformer is enabled. + pterbEnabled: true + + # Base amount of WAT coolant to drain every second. + # (Setting both this amount and the IO multiplier to 0 disables the coolant mechanic.) + pterbCoolantBaseDrain: 10 + + # Multiplier over IO amount for additional coolant drain. + # (Setting both this and the base drain amount to 0 disables the coolant mechanic.) + pterbCoolantIOMultiplier: 0.0 + + # Whether the coins/credits are enabled. + coinsEnabled: false + + # Whether the custom MV tools are enabled. + customMVToolsEnabled: true + + # Whether the custom HV tools are enabled. + customHVToolsEnabled: true + + # Whether the custom EV tools are enabled. + customEVToolsEnabled: true + + # Whether the custom IV tools are enabled. + customIVToolsEnabled: true + + # Whether the custom LuV tools are enabled. + customLuVToolsEnabled: true + + # Whether the custom ZPM tools are enabled. + customZPMToolsEnabled: true + + # Whether the Auto Turbo Chargers are enabled. + autoChargersEnabled: true + + # Whether the Expanded Pattern Buffer and Expanded Pattern Buffer Proxy are enabled. If AE2 is not loaded, this config will not load the machines regardless. + expandedBuffersEnabled: true + + # Whether the Enlarged Stocking Bus/Hatch are enabled. If AE2 is not loaded, this config will not load the machines regardless. + enlargedStockingEnabled: true + + # How many rows the Enlarged Stocking Input Bus/Hatch should have, max is 64 rows for 512 slots. (each row is 8 slots in size) + enlargedStockingSizeRows: 8 + + # Whether the Tag Stocking Input Bus/Hatch are enabled. If AE2 is not loaded, this config will not load the machines regardless. + tagStockingEnabled: true + diff --git a/kubejs/assets/forge/models/tag/item/tools/files.json b/kubejs/assets/forge/models/tag/item/tools/files.json new file mode 100644 index 000000000..c3dd1ff90 --- /dev/null +++ b/kubejs/assets/forge/models/tag/item/tools/files.json @@ -0,0 +1,3 @@ +{ + "parent": "gtceu:item/tools/file" +} \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/tools/hammers.json b/kubejs/assets/forge/models/tag/item/tools/hammers.json new file mode 100644 index 000000000..f10ef508f --- /dev/null +++ b/kubejs/assets/forge/models/tag/item/tools/hammers.json @@ -0,0 +1,3 @@ +{ + "parent": "gtceu:item/tools/hammer" +} \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/tools/knives.json b/kubejs/assets/forge/models/tag/item/tools/knives.json new file mode 100644 index 000000000..d4a831dbd --- /dev/null +++ b/kubejs/assets/forge/models/tag/item/tools/knives.json @@ -0,0 +1,3 @@ +{ + "parent": "gtceu:item/tools/knife" +} \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/tools/screwdrivers.json b/kubejs/assets/forge/models/tag/item/tools/screwdrivers.json new file mode 100644 index 000000000..c81fa4d17 --- /dev/null +++ b/kubejs/assets/forge/models/tag/item/tools/screwdrivers.json @@ -0,0 +1,3 @@ +{ + "parent": "gtceu:item/tools/screwdriver" +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/models/item/plastic_circuit_board.json b/kubejs/assets/gtceu/models/item/plastic_circuit_board.json new file mode 100644 index 000000000..8b8b4b231 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/plastic_circuit_board.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfg:item/ceramic_circuit_board" + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/models/item/plastic_printed_circuit_board.json b/kubejs/assets/gtceu/models/item/plastic_printed_circuit_board.json new file mode 100644 index 000000000..83ff8de4a --- /dev/null +++ b/kubejs/assets/gtceu/models/item/plastic_printed_circuit_board.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfg:item/ceramic_printed_circuit_board" + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.iron_iii_chloride.png b/kubejs/assets/gtceu/textures/block/fluids/fluid.iron_iii_chloride.png new file mode 100644 index 000000000..cdc9a00fc Binary files /dev/null and b/kubejs/assets/gtceu/textures/block/fluids/fluid.iron_iii_chloride.png differ diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.iron_iii_chloride.png.mcmeta b/kubejs/assets/gtceu/textures/block/fluids/fluid.iron_iii_chloride.png.mcmeta new file mode 100644 index 000000000..c5d457f93 --- /dev/null +++ b/kubejs/assets/gtceu/textures/block/fluids/fluid.iron_iii_chloride.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.sodium_persulfate.png b/kubejs/assets/gtceu/textures/block/fluids/fluid.sodium_persulfate.png new file mode 100644 index 000000000..c456b5f49 Binary files /dev/null and b/kubejs/assets/gtceu/textures/block/fluids/fluid.sodium_persulfate.png differ diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.sodium_persulfate.png.mcmeta b/kubejs/assets/gtceu/textures/block/fluids/fluid.sodium_persulfate.png.mcmeta new file mode 100644 index 000000000..c5d457f93 --- /dev/null +++ b/kubejs/assets/gtceu/textures/block/fluids/fluid.sodium_persulfate.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.soldering_alloy.png b/kubejs/assets/gtceu/textures/block/fluids/fluid.soldering_alloy.png new file mode 100644 index 000000000..a4721c78a Binary files /dev/null and b/kubejs/assets/gtceu/textures/block/fluids/fluid.soldering_alloy.png differ diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.soldering_alloy.png.mcmeta b/kubejs/assets/gtceu/textures/block/fluids/fluid.soldering_alloy.png.mcmeta new file mode 100644 index 000000000..c5d457f93 --- /dev/null +++ b/kubejs/assets/gtceu/textures/block/fluids/fluid.soldering_alloy.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.tin.png b/kubejs/assets/gtceu/textures/block/fluids/fluid.tin.png new file mode 100644 index 000000000..d0bb6b3d7 Binary files /dev/null and b/kubejs/assets/gtceu/textures/block/fluids/fluid.tin.png differ diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.tin.png.mcmeta b/kubejs/assets/gtceu/textures/block/fluids/fluid.tin.png.mcmeta new file mode 100644 index 000000000..c5d457f93 --- /dev/null +++ b/kubejs/assets/gtceu/textures/block/fluids/fluid.tin.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfc/models/tag/item/saws.json b/kubejs/assets/tfc/models/tag/item/saws.json new file mode 100644 index 000000000..0fe1fac49 --- /dev/null +++ b/kubejs/assets/tfc/models/tag/item/saws.json @@ -0,0 +1,3 @@ +{ + "parent": "gtceu:item/tools/saw" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 1fe9797dc..c5b6ed363 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -2848,7 +2848,7 @@ "quests.high_voltage.chem_reactor.desc": "The &3HV Chemical Reactor&r unlocks a ton of new recipes. Ah, who doesn't love the ever-growing demand on more advanced Chemistry?\n\n&9Note:&r We've actually unlocked a ton of new content by reaching &6HV&r. However, not every processing line or item is crucial right now. It'd make the &6HV&r chapter far too dense if we included everything!\n\nYou could still check out the &5EV&r Chapter if you want to push yourself.", "quests.high_voltage.rutile_loop.title": "Almost Titanium", "quests.high_voltage.rutile_loop.subtitle": "...means it WASN'T Titanium!", - "quests.high_voltage.rutile_loop.desc": "Titanium requires a slightly more &binvolved&r process than the previous materials to process. To get started, you'll need &aRutile&r, which can be obtained by processing &aBauxite&r, &aIlmenite&r, &aAluminium&r, &aArmalcolite&r and &aDesh&r, which can only be found on &dThe Moon&r.\n\nOnce you've gotten enough &5Rutile&r, your journey to &6Titanium&r continues in the next quest. There's no need to rush things.\n\n&9Tip:&r Ore processing for &aBauxite&r is ridiculously good! Including the &3Thermal Centrifuge&r step easily &6triples&r your &aRutile&r yield.", + "quests.high_voltage.rutile_loop.desc": "Titanium requires a slightly more &binvolved&r process than the previous materials to process. To get started, you'll need &aRutile&r, which can be obtained by processing &aIlmenite&r that you can get from &aBauxite&r, &aAluminium&r, &aArmalcolite&r and &aDesh&r, which can be found in massive quantities on &dThe Moon&r.\n\nOnce you've gotten enough &5Rutile&r, your journey to &6Titanium&r continues in the next quest. There's no need to rush things.\n\n&9Tip:&r Ore processing for &aBauxite&r is ridiculously good! Including the &3Thermal Centrifuge&r step easily &6triples&r your &aRutile&r yield.", "quests.high_voltage.rutile_loop_2.title": "Almost Titanium²", "quests.high_voltage.rutile_loop_2.subtitle": "Is it titanium yet?", "quests.high_voltage.rutile_loop_2.desc.1": "To get your grubby hands on some Titanium, &aRutile&r must first be reduced to &aTitanium Tetrachloride&r in an &3HV Chemical Reactor&r, then reduced again in an &3EBF&r with &dMagnesium&r to finally arrive at Titanium.\n\nThe &dCarbon&r, &dChlorine&r, &dOxygen&r, and &dMagnesium&r used in the process can be &6perfectly recovered&r from the byproduct &dCarbon Monoxide&r and &dMagnesium Chloride&r with no loss. If you set up a system to recover them, &athe only material&r that you'll need to provide for Titanium is &dRutile&r!", @@ -2857,7 +2857,7 @@ "quests.high_voltage.superconductors.desc": "By this point, normal Cables have such insignificant loss that superconductors aren't a requirement. That being said, they're still useful for being able to split and combine cables on the fly, and these ones are half oxygen so they're cheap too!\n\nSuperconductors are still required to craft &aField Generators&r.", "quests.high_voltage.nichrome_coils.title": "Nichrome Coils", "quests.high_voltage.nichrome_coils.subtitle": "A long way to go before we beat the Sun", - "quests.high_voltage.nichrome_coils.desc.1": "&3Nichrome Heating Coils&r increase the temperature of your &3Blast Furnace&r to &d3,600K&r.\n\nDespite not being required &oyet&r, it still is a good idea to upgrade your primary &3EBF&r for those sweet, sweet &6Coil bonuses&r.", + "quests.high_voltage.nichrome_coils.desc.1": "&3Nichrome Heating Coils&r increase the temperature of your &3Blast Furnace&r to &d3,600K&r.\n\nThese will be required to upgrade your primary &3EBF&r so you can make &6Titanium&r.", "quests.high_voltage.nichrome_coils.desc.2": "&l&3Lore:&r&o In the original GregTech 5, there were only three types of coils. This was the last tier.", "quests.high_voltage.titanium.title": "Titanium", "quests.high_voltage.titanium.desc": "&aTitanium&r has the highest corrosion resistance and strength-to-density ratio of any metallic element, so it's only natural that we'll be using it as the main material in our &5EV&r machinery.\n\nConfirm that your closed loop for &aRutile&r is up to standard, and prepare to run a dedicated &3EBF&r for hours.\n\nA quick aside - now we're at &5EV&r, single block generators are about to fall out of style! You'll need to run several &3HV Generators&r to keep up - later, upgrades to Multiblock Generators will be required.\n\nWhile Multiblock generators are much more expensive, you'll find them to be much more energy efficient! Have a look at the &dEnergy Chapter&r for more infos!", @@ -2967,7 +2967,7 @@ "quests.high_voltage.space_alloy.title": "R-Aluminosteel", "quests.high_voltage.space_alloy.subtitle": "We made this one up", "quests.high_voltage.space_alloy.desc.1": "To make your first &6Rocket Alloy&r, you will need to put &7Aluminium&r, &7Stainless Steel&r and &cLiquid Red Steel&r into your new &6HV&r Mixer.\n\nThe recipe takes some time, so expect to have your mixer fully dedicated to this step.\n\nAfter that, your dust will need to be smelted in your EBF at &bMV&r. If you already have &6Nichrome Coils&r and your EBF is running at &6HV&r, you will be able to &aPerfect Overclock&r the recipe! (check the GregTech Energy chapter if you don't understand)", - "quests.high_voltage.space_alloy.desc.2": "You can cool the ingots down with a &9Chemical Bath&r or, if you already have one, a &9Vacuum Freezer&r for a shorter processing time.\n\n&7144mb equals 1 ingot&r, so make sure not to extract too much &cRed Steel&r.\n\nYou will need &685 Rocket Alloy&r ingots total, which means:\n- &760 Aluminium&r\n- &720 Stainless Steel&r\n- &710 Red Steel&r\n\n&aNothing too bad!&r", + "quests.high_voltage.space_alloy.desc.2": "You can cool the ingots down with a &9Chemical Bath&r or, if you already have one, a &9Vacuum Freezer&r for a shorter processing time.\n\n&7144mb equals 1 ingot&r, so make sure not to extract too much &cRed Steel&r.\n\nYou will need &6189 Rocket Alloy&r ingots total, which means:\n- &7126 Aluminium&r\n- &756 Stainless Steel&r\n- &721 Red Steel&r\n\n&aNothing too bad!&r", "quests.high_voltage.steel_engine.subtitle": "Blue Steel is back, baby", "quests.high_voltage.steel_engine.desc": "The &6Steel Engine&r is required so your rocket can &atravel to the Moon&r.\n\nThe recipe isn't too bad — we assume you're ready to tackle each part.\n\nTo get &91152mb of Liquid Blue Steel&r, you will need &78 ingots&r.", "quests.high_voltage.rocket_fins.subtitle": "So you reach the right destination", @@ -5234,5 +5234,115 @@ "quests.tfg_tips.tools_tips.brick_roads.desc": "These materials—when applied to base course—form roads which give a &b&l20%%&r&r boost to walking speed.", "quests.tfg_tips.tools_tips.concrete_roads.title": "Concrete Roads", "quests.tfg_tips.tools_tips.concrete_roads.subtitle": "Almost worth all the effort.", - "quests.tfg_tips.tools_tips.concrete_roads.desc": "&6Wet concrete mix&r can be applied to base course to create roads which give a &b&l30%%&r&r bonus to movement speed. \n\n&4Be careful&r when creating concrete roads. There are a lot of rules to follow to make sure you don't end up with cracked or ruined surfaces. Consult the &3Field Guide&r for detailed instructions." + "quests.tfg_tips.tools_tips.concrete_roads.desc": "&6Wet concrete mix&r can be applied to base course to create roads which give a &b&l30%%&r&r bonus to movement speed. \n\n&4Be careful&r when creating concrete roads. There are a lot of rules to follow to make sure you don't end up with cracked or ruined surfaces. Consult the &3Field Guide&r for detailed instructions.", + "material.tfg.mo_si_b": "Mo-Si-B", + "material.tfg.weak_mo_si_b": "Weak Mo-Si-B", + "material.tfg.mo_50_re": "Mo-50 Re", + "material.tfg.diamond_tipped_mo_50_re": "Diamond Tipped Mo-50 Re", + "material.tfg.rough_silicon_carbide": "Rough Silicon Carbide", + "material.tfg.rene_41": "Rene-41", + "material.tfg.homogenized_mo_si_b": "Homogenized Mo-Si-B", + "material.tfg.inconel_718": "Inconel-718", + "material.tfg.worked_mo_si_b": "Worked Mo-Si-B", + "material.tfg.weak_inconel_718": "Weak Inconel-718", + "material.tfg.silicon_carbide": "Silicon Carbide", + "material.tfg.activated_mo_si_b": "Activated Mo-Si-B", + "material.tfg.homogenized_inconel_718": "Homogenized Inconel-718", + "material.tfg.medium_temperature_off_gas": "Medium Temperature Off-Gas", + "material.tfg.dirty_spessartine_slurry": "Dirty Spessartine Slurry", + "material.tfg.reducing_process_gas": "Reducing Process Gas", + "material.tfg.inert_furnace_atmosphere": "Inert Furnace Atmosphere", + "material.tfg.hydroxide_decomposition_off_gas": "Hydroxide Decomposition Off-Gas", + "material.tfg.highly_active_off_gas": "Highly Active Off-Gas", + "material.tfg.argon_enriched_atmosphere": "Argon Enriched Atmosphere", + "material.tfg.dirty_diamond_slurry": "Dirty Diamond Slurry", + "material.tfg.dirty_apatite_slurry": "Dirty Apatite Slurry", + "material.tfg.furnace_exhaust_gas": "Furnace Exhaust Gas", + "material.tfg.dirty_ruby_slurry": "Dirty Ruby Slurry", + "material.tfg.linac_activated_gas": "Linac Activated Gas", + "material.tfg.metal_desorption_gas": "Metal Desorption Gas", + "material.tfg.dirty_emerald_slurry": "Dirty Emerald Slurry", + "material.tfg.dirty_sapphire_slurry": "Dirty Sapphire Slurry", + "material.tfg.mo_si_b_off_gas": "Mo-Si Off-Gas", + "material.tfg.dirty_mo_si_b": "Dirty Mo-Si-B", + "item.gtceu.plastic_circuit_board": "Ceramic Circuit Board", + "item.gtceu.plastic_printed_circuit_board": "Ceramic Printed Circuit Board", + "material.tfg.basalt_fiber": "Basalt Fiber", + "material.tfg.woods_metal": "Woods Metal", + "material.tfg.lorandite": "Lorandite", + "material.tfg.bi_pb_sn_cd_in_tl": "Bi-Pb-Cn-Cd-In-Tl", + "material.tfg.thallium_sulfate": "Thallium Sulfate", + "material.tfg.alumina": "Alumina", + "material.tfg.zinc_sulfate": "Zinc Sulfate", + "material.tfg.aluminium_sulfate": "Aluminium Sulfate", + "material.tfg.aluminium_hydroxide": "Aluminium Hydroxide", + "material.tfg.sodium_sulfate": "Sodium Sulfate", + "material.tfg.dichloropropane": "Dichloropropane", + "material.tfg.aminopropyl_chlorosilane": "Aminopropyl Chlorosilane", + "material.tfg.aminopropyltriethoxysilane": "Aminopropyltriethoxysilane", + "material.tfg.chloropropylamine": "Chloropropylamine", + "material.tfg.silicon_carbide_silicon_carbide": "SiC-SiC", + "material.tfg.3_aminopropyltriethoxysilane": "3-Aminopropyltriethoxysilane", + "material.tfg.3_chloropropylamine": "3-Chloropropylamine", + "quests.medium_voltage.htpf.subtitle": "Mr Clean", + "quests.medium_voltage.htpf.desc.1": "The &6High Temperature Precision Fabricator&r (HTPF) is your new clean multiblock designed to produce &bLenses&r and &eSilicon Boules&r; it operates similarly to the &eElectric Blast Furnace&r, using improved &6Coils&r that allow &aPerfect Overclocking&r and requiring specific temperature levels to run certain recipes.\n\nUnlike the &eElectric Blast Furnace&r, it does not have a &7Muffler Hatch&r, which means you will be able to integrate it into your &bCleanroom&r once unlocked; this allows some recipes to run faster, while others will be gated behind operating inside a &bCleanroom&r.\n\n&oLook inside while it crafts!&r", + "quests.medium_voltage.htpf.desc.2": "&l&3Lore&r:&r &oNormally, you would use an &eEBF&r &ofor these recipes, but in &aTerrafirmaGreg&r&r &owe wanted a dedicated multiblock that could properly fit inside a &bCleanroom&r&r; &othis led to the creation of the &6High Temperature Precision Fabricator&r, which also comes with a unique visual renderer.&r&r", + + "quests.medium_voltage.gem_lens.title": "Optical Lenses", + "quests.medium_voltage.gem_lens.subtitle": "Made from gems", + "quests.medium_voltage.gem_lens.desc.1": "Every &bLens&r you craft will require &dGem Slurry&r mixed with a &7Blank Lens&r inside the &6HTPF&r; you will need a running &5Liquefaction Tower&r and enough gems to meet your demand. Keep in mind that higher-quality gems produce significantly more slurry, so you are strongly advised to process them using a &aSifter&r.\n\nTo obtain the &7Blank Lens&r, you will need to bring back your &eArtisan Table&r, so hopefully you did not discard it earlier.\n\nBe aware that higher-tier gems may require more advanced slurry processing and different types of &7Blank Lenses&r, though this will only become relevant later in the modpack.", + "quests.medium_voltage.gem_lens.desc.2": "&3&lLore:&r&r &oIn &bGTceu&r&r, &oa single exquisite gem was enough to craft lenses, and later the process became even simpler using liquid dye and a glass lens; however, this felt redundant, and since &aTerrafirmaGreg&r features a wide variety of gems, the team decided it was more fitting to make proper use of them instead of relying on dyes.&r", + + "quests.medium_voltage.gem_slurry.title": "Gem slurries", + "quests.medium_voltage.gem_slurry.subtitle": "New ore processing", + "quests.medium_voltage.gem_slurry.desc": "While you are setting this up, note that processing gems through a &5Liquefaction Tower&r to produce &dGem Slurry&r also unlocks a unique ore processing line that is roughly six times more efficient than the standard methods you are used to.\n\nThis dedicated line can also provide exclusive by-products that cannot be obtained through other processing routes.\n\n&l&cNote&r:&r Many gems do not yet have access to this unique line, and additional implementations will be added progressively during development.", + + "quests.medium_voltage.silicon_carbide.subtitle": "Silicon will get under your skin", + "quests.medium_voltage.silicon_carbide.desc.1": "The process of crafting &bSilicon Carbide&r is significantly more complex than what you have done so far, but do not be discouraged; as always, take your time while browsing EMI and try to batch-craft as much as possible. You should have learned by now that in &bGregTech&r, you should never be afraid of producing too much.", + "quests.medium_voltage.silicon_carbide.desc.2": "We will guide you step by step through this quest, as the process is somewhat unique. First, run your &eQuartz&r gems through a &aSifter&r to obtain the highest quality gems possible, as this will drastically reduce the amount of &8Graphite&r required; once you have produced the &6Hot Rough Silicon Carbide Ingots&r, you can cool them using a &dChemical Bath&r until you later unlock the &bVacuum Freezer&r.\n\nThe next step is slightly unusual: you will need to macerate the ingots into &7Dust&r, which must then be processed in a &dChemical Bath&r with &aHydrochloric Acid&r; if you do not already have this acid, refer to the quests at the top left of this chapter; electrolyzing seawater and processing the resulting materials is your best option to obtain an infinite supply of &aHydrochloric Acid&r.", + + "quests.medium_voltage.chemical_bath.subtitle": "Cooling ingots for the lowlife", + "quests.medium_voltage.chemical_bath.desc": "The &dChemical Bath&r is a versatile machine primarily used to dye various materials, but until you reach the &6HV&r chapter and unlock the &bVacuum Freezer&r, it will mainly serve to cool your hot ingots; later on, it will also be required for specific dipping recipes.", + + "quests.medium_voltage.rene_41.subtitle": "Is that an alloy or the whole alphabet", + "quests.medium_voltage.rene_41.desc": "&bRene-41&r is a high-performance alloy with excellent resistance to high temperatures, making it essential for crafting your new advanced &6Coils&r; the catch is that it requires many different materials to be combined together.\n\nTo craft 16 &6Coils&r, you will need 32 &bRene-41 Ingots&r, so plan ahead carefully, as producing a larger batch may be wise to sustain the numerous &eKanthal Coils&r you will rely on until the next tier becomes available.", + + "quests.medium_voltage.silicon_rubber.title": "Silicon Rubber", + "quests.medium_voltage.silicon_rubber.subtitle": "Silicon, silicon, silicon everywhere", + "quests.medium_voltage.silicon_rubber.desc": "&bSilicon Rubber&r is essentially an improved version of regular rubber; as you progress through &bGregTech&r, you will unlock better substitutes for older materials, and this is one of them. It can be used to coat your &eWires&r at a lower cost, but more importantly, it is mandatory for crafting the components of your new &aCircuits&r.\n\nIf you are struggling to obtain enough &fLatex&r from trees, this material will solve the issue, as it is produced from &eSilicon&r, &aChlorine&r, and &7Methane&r, resources that you can easily generate infinitely at this stage.", + + "quests.medium_voltage.sic_sic_rotor.subtitle": "Is this sick or am I sick of you?", + "quests.medium_voltage.sic_sic_rotor.desc": "The &bSiC-SiC Rotor&r is what we refer to as an exotic &eTurbine Rotor&r in &aTFG&r; its stats can be considered either extreme or simply poor, and this particular model suffers from very low efficiency and durability, meaning that if you plan to use it, you should set up a passive production line to replace it whenever it breaks.\n\nIf you are not a fan of &aCreate&r or do not heavily rely on steam power, this rotor will likely be a waste of resources, so feel free to skip it.", + + "quests.medium_voltage.vanadium_tools.title": "Vanadium Steel Tools", + "quests.medium_voltage.vanadium_tools.subtitle": "A whole new set of stool", + "quests.medium_voltage.vanadium_tools.desc": "Each new tier unlocks additional materials used to craft an entirely new set of &eTools&r; while you may not want to replace your full set every time, it is still worth reviewing their stats, as some provide higher mining speed while others offer greater durability, and there is no absolute best choice. It ultimately depends on your priorities.\n\n&bVanadium Tools&r provide higher durability than &cRed Steel&r with only a slight increase in speed; if raw speed is your main goal, you may want to consider &dDiamond-Tipped Tools&r instead.", + "quests.medium_voltage.vanadium_tools.task": "All the Vanadium Tools", + + "quest.high_voltage.desh_ingot.title": "Desh", + "quest.high_voltage.desh_ingot.subtitle": "Lunar Ore", + "quest.high_voltage.desh_ingot.desc": "The &7Moon&r features a wide variety of veins and new ores, but &6Desh&r should be your main priority during your first visit. First, it allows you to craft the &eLarge Solar Array Mk1&r, which is far cheaper than you might expect and can sustain a solid amount of power without having to spam &eAd Astra Solar Panels&r.\n\nThe second point, just as important—if not more—for your progression is the ability to craft &bBlue Alloy Desh Foils&r, which are required for &6Nichrome Coils&r and therefore necessary to reach the &5EV&r chapter.\n\nAlso keep in mind that processing &6Desh Ores&r with &dSodium Persulfate&r can yield &aRhenium Dust&r, which becomes extremely important to build or expand your &bCleanroom&r.", + "quest.high_voltage.desh_ingot.task": "Any Desh Ore", + + "quests.high_voltage.boron_tools.title": "Boron Carbide Tools", + "quests.high_voltage.boron_tools.subtitle": "Durability to its peak", + "quests.high_voltage.boron_tools.desc": "&Boron Carbide Tools&r provide higher durability than &cever&r with a terrible speed; if raw speed is your main goal, you may want to consider &dUltimet Tools&r instead. But these ones can be quite good a screwdriver for example.", + "quests.high_voltage.boron_tools.task": "All the Boron Carbide Tools", + + "quest.high_voltage.desh_blue_foils.subtitle": "It's not a sandwich", + "quest.high_voltage.desh_blue_foils.desc": "The &bBlue Alloy Desh Foils&r should bring back memories of the good old days when you had no machines and had to use &eFluix&r to craft your anvils; be prepared for nostalgia, because you will need a large quantity of them.\n\nEach set of 16 &6Coils&r requires 64 &6Desh&r and &bBlue Alloy&r Ingots, but as you can probably assume by now, you will likely want to batch-craft much more than that.\n\nAt this stage, it is highly recommended to establish a base on the &7Moon&r and take the opportunity to set up your &dAE2 Factory&r—though of course, no one is forcing you to do so.", + + "quest.high_voltage.chorus_insulation.subtitle": "Pop it not with a microwave but wiw TNT", + "quest.high_voltage.chorus_insulation.desc": "You will find &dChorus Fruits&r on the &7Moon&r in their own distinct biomes; they are hard to miss, especially with shaders, as they appear quite majestic. You can also grow them on the &7Moon&r within an &aElectric Greenhouse&r if you prefer not to spend time searching for them.\n\nThe rest is fairly straightforward: &bAsurine&r can be found in large blue meteorites and can be mass-produced using the &eRock-Crusher&r, while &7Perlite&r can be obtained either from &fFelsic Rocks&r or from any leftover &8Obsidian&r you may have.", + + "quest.high_voltage.inconel_rotor.subtitle": "Best rewards should be harder to get", + "quest.high_voltage.inconel_rotor.desc": "The &bInconel-718&r is an extremely powerful &eTurbine Rotor&r, but it will be quite challenging to obtain. We will not provide further details, as this is entirely optional and meant as a personal challenge—you only pursue it if you want, and it is not required at any point to progress in the modpack.\n\nYou will encounter better rotors than this one as you advance into the &5EV&r chapter, so if you prefer, you can safely skip this challenge.", + + "quest.high_voltage.r_alumino_rotor.subtitle": "Rocket Rotor", + "quest.high_voltage.r_alumino_rotor.desc": "This &eRotor&r offers excellent &cPower&r and &aDurability&r, but falls slightly short in &bEfficiency&r. It is up to you to decide whether you prefer this model compared to the &dUltimet&r; it may also be more difficult to produce, so the choice is yours to make.", + + "quest.high_voltage.ultimet.title": "Ultimet", + "quest.high_voltage.ultimet.subtitle": "Ultimet was the ultimate best", + "quest.high_voltage.ultimet.desc": "The &dUltimet&r is a high-performance material, providing excellent &eSpeed&r for your &bDrill&r or &bWrench&r and making a &eTurbine Rotor&r with very good &bEfficiency&r, especially if you are not producing large amounts of fuel or want to build additional &eSteam Turbines&r.\n\nThis alloy is also mandatory for progressing toward your new &aCircuits&r, so even if you do not intend to craft the tools, you will still need to produce it. Keep in mind that &dUltimet&r ingots can be cooled using a &dChemical Bath&r.", + "quest.high_voltage.ultimet.task": "Ultimate tools set" } \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/casings/sterling_silver_casing.png b/kubejs/assets/tfg/textures/block/casings/sterling_silver_casing.png index 0d13e27d7..6b852a58c 100644 Binary files a/kubejs/assets/tfg/textures/block/casings/sterling_silver_casing.png and b/kubejs/assets/tfg/textures/block/casings/sterling_silver_casing.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/sterling_silver_casing2.png b/kubejs/assets/tfg/textures/block/casings/sterling_silver_casing2.png new file mode 100644 index 000000000..0d13e27d7 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/sterling_silver_casing2.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/sterling_silver_casing2.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/sterling_silver_casing2.png.mcmeta new file mode 100644 index 000000000..d53b006e8 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/sterling_silver_casing2.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/sterling_silver_casing_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/sterling_silver_casing2_ctm.png b/kubejs/assets/tfg/textures/block/casings/sterling_silver_casing2_ctm.png new file mode 100644 index 000000000..c08a08882 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/sterling_silver_casing2_ctm.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/sterling_silver_casing_ctm.png b/kubejs/assets/tfg/textures/block/casings/sterling_silver_casing_ctm.png index c08a08882..9b24d32b7 100644 Binary files a/kubejs/assets/tfg/textures/block/casings/sterling_silver_casing_ctm.png and b/kubejs/assets/tfg/textures/block/casings/sterling_silver_casing_ctm.png differ diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.bi_pb_sn_cd_in_tl.png b/kubejs/assets/tfg/textures/block/fluids/fluid.bi_pb_sn_cd_in_tl.png new file mode 100644 index 000000000..467ba39ce Binary files /dev/null and b/kubejs/assets/tfg/textures/block/fluids/fluid.bi_pb_sn_cd_in_tl.png differ diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.bi_pb_sn_cd_in_tl.png.mcmeta b/kubejs/assets/tfg/textures/block/fluids/fluid.bi_pb_sn_cd_in_tl.png.mcmeta new file mode 100644 index 000000000..c5d457f93 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/fluids/fluid.bi_pb_sn_cd_in_tl.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.redstone_tri_p_toluenesulfonate.png b/kubejs/assets/tfg/textures/block/fluids/fluid.redstone_tri_p_toluenesulfonate.png new file mode 100644 index 000000000..1366366fd Binary files /dev/null and b/kubejs/assets/tfg/textures/block/fluids/fluid.redstone_tri_p_toluenesulfonate.png differ diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.redstone_tri_p_toluenesulfonate.png.mcmeta b/kubejs/assets/tfg/textures/block/fluids/fluid.redstone_tri_p_toluenesulfonate.png.mcmeta new file mode 100644 index 000000000..c5d457f93 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/fluids/fluid.redstone_tri_p_toluenesulfonate.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.woods_metal.png b/kubejs/assets/tfg/textures/block/fluids/fluid.woods_metal.png new file mode 100644 index 000000000..f1432ffcc Binary files /dev/null and b/kubejs/assets/tfg/textures/block/fluids/fluid.woods_metal.png differ diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.woods_metal.png.mcmeta b/kubejs/assets/tfg/textures/block/fluids/fluid.woods_metal.png.mcmeta new file mode 100644 index 000000000..c5d457f93 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/fluids/fluid.woods_metal.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/gui/artisan_table/glass_border.png b/kubejs/assets/tfg/textures/gui/artisan_table/glass_border.png new file mode 100644 index 000000000..b2f68933b Binary files /dev/null and b/kubejs/assets/tfg/textures/gui/artisan_table/glass_border.png differ diff --git a/kubejs/assets/tfg/textures/gui/artisan_table/glass_chipped.png b/kubejs/assets/tfg/textures/gui/artisan_table/glass_chipped.png new file mode 100644 index 000000000..8a53b8edd Binary files /dev/null and b/kubejs/assets/tfg/textures/gui/artisan_table/glass_chipped.png differ diff --git a/kubejs/assets/tfg/textures/gui/progress_bar/progress_bar_boule.png b/kubejs/assets/tfg/textures/gui/progress_bar/progress_bar_boule.png new file mode 100644 index 000000000..921d3c1cd Binary files /dev/null and b/kubejs/assets/tfg/textures/gui/progress_bar/progress_bar_boule.png differ diff --git a/kubejs/assets/tfg/textures/item/blue_alloy_desh_foil.png b/kubejs/assets/tfg/textures/item/blue_alloy_desh_foil.png new file mode 100644 index 000000000..cdda49195 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/blue_alloy_desh_foil.png differ diff --git a/kubejs/assets/tfg/textures/item/ceramic_circuit_board.png b/kubejs/assets/tfg/textures/item/ceramic_circuit_board.png new file mode 100644 index 000000000..4d93ddda9 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/ceramic_circuit_board.png differ diff --git a/kubejs/assets/tfg/textures/item/ceramic_printed_circuit_board.png b/kubejs/assets/tfg/textures/item/ceramic_printed_circuit_board.png new file mode 100644 index 000000000..d88dfbd56 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/ceramic_printed_circuit_board.png differ diff --git a/kubejs/assets/tfg/textures/item/chorus_ceramic_insulation.png b/kubejs/assets/tfg/textures/item/chorus_ceramic_insulation.png new file mode 100644 index 000000000..5b30dac0b Binary files /dev/null and b/kubejs/assets/tfg/textures/item/chorus_ceramic_insulation.png differ diff --git a/kubejs/assets/tfg/textures/item/chromium_bonded_beo_pcb.png b/kubejs/assets/tfg/textures/item/chromium_bonded_beo_pcb.png new file mode 100644 index 000000000..5be29a6f3 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/chromium_bonded_beo_pcb.png differ diff --git a/kubejs/assets/tfg/textures/item/copper_bonded_al2o3_pcb.png b/kubejs/assets/tfg/textures/item/copper_bonded_al2o3_pcb.png new file mode 100644 index 000000000..f002ac2f1 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/copper_bonded_al2o3_pcb.png differ diff --git a/kubejs/assets/tfg/textures/item/fired_chorus_ceramic_insulation.png b/kubejs/assets/tfg/textures/item/fired_chorus_ceramic_insulation.png new file mode 100644 index 000000000..603021eac Binary files /dev/null and b/kubejs/assets/tfg/textures/item/fired_chorus_ceramic_insulation.png differ diff --git a/kubejs/assets/tfg/textures/item/mo_activated_sic_substrate.png b/kubejs/assets/tfg/textures/item/mo_activated_sic_substrate.png new file mode 100644 index 000000000..cc804fa6f Binary files /dev/null and b/kubejs/assets/tfg/textures/item/mo_activated_sic_substrate.png differ diff --git a/kubejs/assets/tfg/textures/item/optical_borosilicate_blank.png b/kubejs/assets/tfg/textures/item/optical_borosilicate_blank.png new file mode 100644 index 000000000..0730a13a0 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/optical_borosilicate_blank.png differ diff --git a/kubejs/assets/tfg/textures/item/silicon_seed_crystal.png b/kubejs/assets/tfg/textures/item/silicon_seed_crystal.png new file mode 100644 index 000000000..93ac8051c Binary files /dev/null and b/kubejs/assets/tfg/textures/item/silicon_seed_crystal.png differ diff --git a/kubejs/assets/tfg/textures/item/worked_optical_borosilicate_blank.png b/kubejs/assets/tfg/textures/item/worked_optical_borosilicate_blank.png new file mode 100644 index 000000000..01aa732ba Binary files /dev/null and b/kubejs/assets/tfg/textures/item/worked_optical_borosilicate_blank.png differ diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 4a4f171b0..ce06f1847 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -138,6 +138,14 @@ const registerTooltips = (event) => { text.add(2, Text.translate('tfg.tooltip.machine.smt_2')); text.add(3, Text.translate('tfg.tooltip.machine.smt_3')); }) + event.addAdvanced(['tfg:high_temp_precision_fabricator'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.machine.high_temp_precision_fabricator_1')); + text.add(2, Text.translate('tfg.tooltip.machine.high_temp_precision_fabricator_2')); + text.add(3, Text.translate('gtceu.machine.electric_blast_furnace.tooltip.0')); + text.add(4, Text.translate('gtceu.machine.electric_blast_furnace.tooltip.1')); + text.add(5, Text.translate('gtceu.machine.electric_blast_furnace.tooltip.2')); + text.add(6, Text.translate('tfg.tooltip.machine.two_energy_hatches')); + }) event.addAdvanced(['deafission:fission_reactor_mk1'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.machine.fission_reactor_mk1_1')); text.add(2, Text.translate('tfg.tooltip.machine.fission_reactor_mk1_2')); @@ -517,9 +525,9 @@ const registerTooltips = (event) => { event.addAdvanced(['tfg:vintage_sake_bucket'], (item, advanced, text) => { text.add(1, Text.translate("effect.minecraft.resistance").append(Text.of(" II (08:00)")).blue()); }) - event.addAdvanced(['tfg:vintage_vodka_bucket'], (item, advanced, text) => { - text.add(1, Text.translate("effect.minecraft.resistance").append(Text.of(" III (04:00)")).blue()); - }) + event.addAdvanced(['tfg:vintage_vodka_bucket'], (item, advanced, text) => { + text.add(1, Text.translate("effect.minecraft.resistance").append(Text.of(" III (04:00)")).blue()); + }) event.addAdvanced(['tfg:vintage_whiskey_bucket'], (item, advanced, text) => { text.add(1, Text.translate("effect.minecraft.haste").append(Text.of(" III (04:00)")).blue()); }) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 01a0a1c43..77662caeb 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -17,71 +17,7 @@ const registerGTCEURecipes = (event) => { generateMixerRecipe(event, ['2x #tfg:stone_dusts'], ['gtceu:lubricant 20', "#tfg:clean_water 4000"], [], null, Fluid.of('gtceu:drilling_fluid', 5000), 40, 16, 64, 'drilling_fluid') - //#region Quantum mainframe stack fix. - // - // Quantum Mainframes need 48x annealed copper wire but - // the stacking limit is 32 so instead allow 24x 2x. - // - // Frustratingly event.replaceInput doesn't allow for - // changing item counts, only types. - event.remove(/gtceu:circuit_assembler\/quantum_mainframe_zpm.*/) - event.recipes.gtceu.circuit_assembler('quantum_mainframe_zpm') - .itemInputs( - '2x gtceu:hssg_frame', - '2x gtceu:quantum_processor_computer', - '48x gtceu:smd_capacitor', - '24x gtceu:smd_inductor', - '24x gtceu:ram_chip', - '24x gtceu:annealed_copper_double_wire') - .inputFluids(Fluid.of('gtceu:tin', 576)) - .itemOutputs('gtceu:quantum_processor_mainframe') - .duration(800) - .EUt(7680) - - event.recipes.gtceu.circuit_assembler('quantum_mainframe_zpm_soldering_alloy') - .itemInputs( - '2x gtceu:hssg_frame', - '2x gtceu:quantum_processor_computer', - '48x gtceu:smd_capacitor', - '24x gtceu:smd_inductor', - '24x gtceu:ram_chip', - '24x gtceu:annealed_copper_double_wire') - .inputFluids(Fluid.of('gtceu:soldering_alloy', 288)) - .itemOutputs('gtceu:quantum_processor_mainframe') - .duration(800) - .EUt(7680) - - event.recipes.gtceu.circuit_assembler('quantum_mainframe_zpm_asmd') - .itemInputs( - '2x gtceu:hssg_frame', - '2x gtceu:quantum_processor_computer', - '12x gtceu:advanced_smd_capacitor', - '6x gtceu:advanced_smd_inductor', - '24x gtceu:ram_chip', - '24x gtceu:annealed_copper_double_wire') - .inputFluids(Fluid.of('gtceu:tin', 576)) - .itemOutputs('gtceu:quantum_processor_mainframe') - .duration(800) - .EUt(7680) - - event.recipes.gtceu.circuit_assembler('quantum_mainframe_zpm_asmd_soldering_alloy') - .itemInputs( - '2x gtceu:hssg_frame', - '2x gtceu:quantum_processor_computer', - '12x gtceu:advanced_smd_capacitor', - '6x gtceu:advanced_smd_inductor', - '24x gtceu:ram_chip', - '24x gtceu:annealed_copper_double_wire') - .inputFluids(Fluid.of('gtceu:soldering_alloy', 288)) - .itemOutputs('gtceu:quantum_processor_mainframe') - .duration(800) - .EUt(7680) - //#endregion - - - // #region Superconductor - - // Move MV superconductor to mid-late MV instead of post-vac freezer + // #region Move MV superconductor to mid-late MV instead of post-vac freezer event.remove({ id: 'gtceu:shaped/mv_chemical_bath' }) event.shaped('gtceu:mv_chemical_bath', [ diff --git a/kubejs/server_scripts/gregtech/recipes.machines.js b/kubejs/server_scripts/gregtech/recipes.machines.js index 6c879b488..1743d31a6 100644 --- a/kubejs/server_scripts/gregtech/recipes.machines.js +++ b/kubejs/server_scripts/gregtech/recipes.machines.js @@ -648,7 +648,7 @@ function registerGTCEuMachineRecipes(event) { //#region Long distance pipes event.recipes.gtceu.assembler('long_distance_item_pipe') - .itemInputs('1x #forge:large_item_pipes/polyvinyl_chloride', '4x #forge:plates/vanadium_steel') + .itemInputs('1x #forge:large_item_pipes/polyvinyl_chloride', '4x #forge:plates/stainless_steel') .inputFluids(Fluid.of('gtceu:soldering_alloy', 72)) .itemOutputs('32x gtceu:long_distance_item_pipeline') .EUt(GTValues.VA[GTValues.HV]) @@ -656,7 +656,7 @@ function registerGTCEuMachineRecipes(event) { .duration(300) event.recipes.gtceu.assembler('long_distance_fluid_pipe') - .itemInputs('1x #forge:large_fluid_pipes/vanadium_steel', '4x #forge:plates/polyvinyl_chloride') + .itemInputs('1x #forge:large_fluid_pipes/stainless_steel', '4x #forge:plates/polyvinyl_chloride') .inputFluids(Fluid.of('gtceu:soldering_alloy', 72)) .itemOutputs('32x gtceu:long_distance_fluid_pipeline') .EUt(GTValues.VA[GTValues.HV]) @@ -664,7 +664,7 @@ function registerGTCEuMachineRecipes(event) { .duration(300) event.recipes.gtceu.assembler('long_distance_item_endpoint') - .itemInputs('2x #forge:large_item_pipes/polyvinyl_chloride', '8x #forge:plates/vanadium_steel', '2x #forge:gears/stainless_steel') + .itemInputs('2x #forge:large_item_pipes/polyvinyl_chloride', '8x #forge:plates/stainless_steel', '2x #forge:gears/stainless_steel') .inputFluids(Fluid.of('gtceu:soldering_alloy', 144)) .itemOutputs('2x gtceu:long_distance_item_pipeline_endpoint') .EUt(GTValues.VA[GTValues.HV]) @@ -673,7 +673,7 @@ function registerGTCEuMachineRecipes(event) { .addMaterialInfo(true, true) event.recipes.gtceu.assembler('long_distance_fluid_endpoint') - .itemInputs('2x #forge:large_fluid_pipes/vanadium_steel', '8x #forge:plates/polyvinyl_chloride', '2x #forge:gears/stainless_steel') + .itemInputs('2x #forge:large_fluid_pipes/stainless_steel', '8x #forge:plates/polyvinyl_chloride', '2x #forge:gears/stainless_steel') .inputFluids(Fluid.of('gtceu:soldering_alloy', 144)) .itemOutputs('2x gtceu:long_distance_fluid_pipeline_endpoint') .EUt(GTValues.VA[GTValues.HV]) diff --git a/kubejs/server_scripts/gtmoderntuilities/recipes.js b/kubejs/server_scripts/gtmoderntuilities/recipes.js new file mode 100644 index 000000000..cba2f617f --- /dev/null +++ b/kubejs/server_scripts/gtmoderntuilities/recipes.js @@ -0,0 +1,27 @@ +"use strict"; + +const registerGTModernUtilitiesRecipes = (event) => { + + event.remove({ + not: [ + { id: 'gtmutils:shaped/ulv_auto_charger_4x' }, + { id: 'gtmutils:shaped/lv_auto_charger_4x' }, + { id: 'gtmutils:shaped/mv_auto_charger_4x' }, + { id: 'gtmutils:shaped/hv_auto_charger_4x' }, + { id: 'gtmutils:shaped/ev_auto_charger_4x' }, + { id: 'gtmutils:shaped/iv_auto_charger_4x' }, + { id: 'gtmutils:shaped/luv_auto_charger_4x' }, + { id: 'gtmutils:shaped/zpm_auto_charger_4x' }, + { id: 'gtmutils:shaped/uv_auto_charger_4x' }, + { id: 'gtmutils:shaped/uhv_auto_charger_4x' }, + { id: 'gtceu:assembler/omnibreaker' }, + { id: 'gtceu:shaped/luv_power_unit_lapotronic_energy_orb_cluster' }, + { id: 'gtceu:shaped/zpm_power_unit_energy_module' }, + ], mod: 'gtmutils' + }); + + global.GTM_UTILITIES_DISABLED_ITEMS.forEach(item => { + event.remove({ output : item }) + }) + +} diff --git a/kubejs/server_scripts/gtmoderntuilities/tags.js b/kubejs/server_scripts/gtmoderntuilities/tags.js new file mode 100644 index 000000000..afd59d1ae --- /dev/null +++ b/kubejs/server_scripts/gtmoderntuilities/tags.js @@ -0,0 +1,19 @@ +// priority: 0 +"use strict"; + +const registerGTModernUtilitiesItemTags = (event) => { + + // Удаление тегов у отключенных предметов + global.GTM_UTILITIES_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }) +} + +const registerGTModernUtilitiesBlockTags = (event) => { + + // Удаление тегов у отключенных предметов + global.GTM_UTILITIES_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + }) +} \ 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 15b128fde..b8e2f3b65 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -37,6 +37,7 @@ ServerEvents.tags('item', event => { registerFTBQuestsItemTags(event) registerGrapplemodItemTags(event) registerGreateItemTags(event) + registerGTModernUtilitiesItemTags(event) registerGTCEUItemTags(event) registerImmersiveAircraftItemTags(event) registerMacawsForTFCItemTags(event) @@ -85,6 +86,7 @@ ServerEvents.tags('block', event => { registerFTBQuestsBlockTags(event) registerGreateBlockTags(event) registerGTCEUBlockTags(event) + registerGTModernUtilitiesBlockTags(event) registerMegaCellsBlockTags(event) registerMinecraftBlockTags(event) registerMoreRedBlockTags(event) @@ -264,6 +266,7 @@ ServerEvents.recipes(event => { registerGreateRecipes(event) registerGTCEURecipes(event); registerGTCEUTerminalRecipes(event) + registerGTModernUtilitiesRecipes(event) registerHandGliderRecipes(event) registerHotOrNotRecipes(event) registerImmersiveAircraftRecipes(event) @@ -297,6 +300,7 @@ ServerEvents.recipes(event => { registerWaterFlasksRecipes(event) registerWABRecipes(event) registerTFCScrapingKnivesRecipes(event) + registerTFGCircuitBoardsRecipes(event) }) TaCZServerEvents.gunIndexLoad((event) => { diff --git a/kubejs/server_scripts/tacz/recipes.attach.js b/kubejs/server_scripts/tacz/recipes.attach.js index 4ffab3aa5..3439f08ea 100644 --- a/kubejs/server_scripts/tacz/recipes.attach.js +++ b/kubejs/server_scripts/tacz/recipes.attach.js @@ -94,13 +94,13 @@ function registerTACZAttachRecipes(event){ //Muzzles event.recipes.gtceu.assembler('tfg_tacz:ca_large_tank') - .itemInputs('2x gtceu:red_steel_tiny_fluid_pipe', '2x gtceu:steel_fluid_cell', '8x #forge:rings/silicone_rubber', + .itemInputs('2x gtceu:potin_tiny_fluid_pipe', '2x gtceu:steel_fluid_cell', '8x #forge:rings/silicone_rubber', '4x #forge:rings/stainless_steel', '#forge:plates/stainless_steel', '8x #forge:screws/stainless_steel') .itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"create_armorer:muzzle_refit_bigger_cylinder"}')) .EUt(GTValues.VA[GTValues.MV]) .duration(20) event.recipes.gtceu.assembler('tfg_tacz:ca_lava_tube') - .itemInputs('4x gtceu:blue_steel_tiny_fluid_pipe', 'gtceu:steel_fluid_cell', '4x gtceu:tempered_glass', + .itemInputs('4x gtceu:steel_tiny_fluid_pipe', 'gtceu:steel_fluid_cell', '4x gtceu:tempered_glass', '4x #forge:rings/stainless_steel', '#forge:plates/rose_gold', '8x #forge:screws/stainless_steel') .inputFluids(Fluid.of('minecraft:lava', 2000)) .itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"create_armorer:muzzle_refit_lava_perfusion_bottle"}')) @@ -108,26 +108,26 @@ function registerTACZAttachRecipes(event){ .duration(20) event.recipes.gtceu.assembler('tfg_tacz:aa_compensator') - .itemInputs('gtceu:tungsten_small_fluid_pipe') + .itemInputs('gtceu:tungsten_steel_small_fluid_pipe') .itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"applied_armorer:muzzle_bs_mod4"}')) .circuit(1) .EUt(GTValues.VA[GTValues.EV]) .duration(20) event.recipes.gtceu.assembler('tfg_tacz:aa_commander') - .itemInputs('gtceu:tungsten_small_fluid_pipe') + .itemInputs('gtceu:tungsten_steel_small_fluid_pipe') .itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"applied_armorer:muzzle_commander"}')) .circuit(2) .EUt(GTValues.VA[GTValues.EV]) .duration(20) event.recipes.gtceu.assembler('tfg_tacz:aa_silencer') - .itemInputs('gtceu:tungsten_small_fluid_pipe') + .itemInputs('gtceu:tungsten_steel_small_fluid_pipe') .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 288)) .itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"applied_armorer:muzzle_ns_1"}')) .circuit(3) .EUt(GTValues.VA[GTValues.EV]) .duration(20) event.recipes.gtceu.assembler('tfg_tacz:aa_thick_silencer') - .itemInputs('gtceu:tungsten_small_fluid_pipe') + .itemInputs('gtceu:tungsten_steel_small_fluid_pipe') .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 576)) .itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"applied_armorer:muzzle_classic"}')) .circuit(4) diff --git a/kubejs/server_scripts/tacz/recipes.guns.js b/kubejs/server_scripts/tacz/recipes.guns.js index 93a60512b..e737190b2 100644 --- a/kubejs/server_scripts/tacz/recipes.guns.js +++ b/kubejs/server_scripts/tacz/recipes.guns.js @@ -10,7 +10,7 @@ function registerTACZGunRecipes(event){ ], { A: '#forge:tools/files', B: 'tfg:flintlock_mechanism', - C: 'gtceu:lead_small_fluid_pipe', + C: 'gtceu:tin_alloy_small_fluid_pipe', D: '#firmaciv:hard_wood', E: '#forge:tools/saws', F: '#forge:ingots/brass', @@ -235,7 +235,7 @@ function registerTACZGunRecipes(event){ .duration(240) event.recipes.gtceu.assembler('tfg_tacz:ca_cannon') - .itemInputs('2x gtceu:tungsten_large_fluid_pipe', '2x gtceu:tungsten_normal_fluid_pipe', '10x #forge:ingots/titanium', + .itemInputs('2x gtceu:tungsten_steel_large_fluid_pipe', '2x gtceu:tungsten_steel_normal_fluid_pipe', '10x #forge:ingots/titanium', '4x #forge:ingots/tungsten', '10x #forge:plates/brass', 'create:gantry_shaft', '4x gtceu:treated_wood_planks', '30x #forge:screws/tungsten', '3x tfg:advanced_clockwork_mechanism') .inputFluids(Fluid.of('gtceu:soldering_alloy', 3024)) diff --git a/kubejs/server_scripts/tfg/data.js b/kubejs/server_scripts/tfg/data.js index 728c185d4..9bf8ab910 100644 --- a/kubejs/server_scripts/tfg/data.js +++ b/kubejs/server_scripts/tfg/data.js @@ -101,6 +101,7 @@ function registerTFGItemSize(event) { event.itemSize("tfg:trowel", "large", "medium", "trowel"); event.itemSize("tfg:railgun_ammo_shell", "large", "light", "railgun_ammo_shell"); + event.itemSize("tfg:quartz_crucible", "large", "very_heavy", "quartz_crucible"); event.itemSize("tfg:harvest_basket", "large", "medium", "harvest_basket"); event.itemSize("tfg:aluminium_harvest_basket", "large", "medium", "aluminium_harvest_basket"); diff --git a/kubejs/server_scripts/tfg/hv_rework/material.recipes.js b/kubejs/server_scripts/tfg/hv_rework/material.recipes.js new file mode 100644 index 000000000..221c8ade9 --- /dev/null +++ b/kubejs/server_scripts/tfg/hv_rework/material.recipes.js @@ -0,0 +1,214 @@ +function registerTFGHVMaterialRecipes(event) { + + event.recipes.gtceu.mixer('tfg:mo_50_re_dust') + .itemInputs( + Item.of('gtceu:rhenium_dust', 1), + Item.of('gtceu:molybdenum_dust', 1)) + .itemOutputs(Item.of('tfg:mo_50_re_dust', 2)) + .duration(20 * 10) + .EUt(GTValues.VA[GTValues.MV]) + .circuit(1) + + // Modify Electronic Component to require Silicon Rubber + + event.replaceInput({ id: 'gtceu:shaped/filter_casing' }, Item.of('gtceu:steel_frame'), Item.of('tfg:mo_50_re_frame')) + event.remove({ id: 'gtceu:assembler/plascrete'}) + event.remove({ id: 'gtceu:assembler/cleanroom_glass'}) + + event.recipes.gtceu.assembler('tfg:plascrete') + .itemInputs( + Item.of('tfg:mo_50_re_frame', 1), + Item.of('gtceu:polyethylene_plate', 6), + Item.of('gtceu:steel_plate', 2)) + .inputFluids(Fluid.of('gtceu:concrete', 144)) + .itemOutputs(Item.of('gtceu:plascrete', 2)) + .duration(20 * 10) + .EUt(GTValues.VA[GTValues.MV]) + .addMaterialInfo(true, true) + + event.recipes.gtceu.assembler('tfg:cleanroom_glass') + .itemInputs( + Item.of('tfg:mo_50_re_frame', 1), + Item.of('gtceu:polyethylene_plate', 6), + Item.of('gtceu:steel_plate', 2)) + .inputFluids(Fluid.of('gtceu:glass', 144)) + .itemOutputs(Item.of('gtceu:cleanroom_glass', 2)) + .duration(20 * 10) + .EUt(GTValues.VA[GTValues.MV]) + .addMaterialInfo(true, true) + + // Allow HV Cutter at HV (Ultimet) + + event.recipes.gtceu.chemical_bath('tfg:ultimet_cool_down') + .itemInputs(Item.of('#forge:hot_ingots/ultimet', 1)) + .inputFluids(Fluid.of('minecraft:water', 100)) + .itemOutputs(Item.of('#forge:ingots/ultimet', 1)) + .duration(20*36) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.chemical_bath('tfg:ultimet_cool_down_distilled_water') + .itemInputs(Item.of('#forge:hot_ingots/ultimet', 1)) + .inputFluids(Fluid.of('gtceu:distilled_water', 100)) + .itemOutputs(Item.of('#forge:ingots/ultimet', 1)) + .duration(20*21) + .EUt(GTValues.VA[GTValues.MV]) + + // Rutile changes + + event.remove({ id: 'gtceu:chemical_reactor/titanium_tetrachloride'}) + event.remove({ id: 'gtceu:large_chemical_reactor/titanium_tetrachloride'}) + event.recipes.gtceu.chemical_reactor('tfg:titanium_tetrachloride') + .itemInputs(Item.of('gtceu:carbon_dust', 2), Item.of('gtceu:rutile_dust', 3)) + .inputFluids(Fluid.of('gtceu:chlorine', 4000)) + .outputFluids(Fluid.of('gtceu:carbon_monoxide', 2000), Fluid.of('gtceu:titanium_tetrachloride', 1000)) + .duration(20*20) + .EUt(GTValues.VA[GTValues.HV]) + + event.remove({ id: 'gtceu:electrolyzer/bauxite_electrolysis'}) + event.recipes.gtceu.electrolyzer('tfg:bauxite_electrolysis') + .itemInputs(Item.of('gtceu:bauxite_dust', 15)) + .itemOutputs(Item.of('gtceu:aluminium_dust', 6)) + .outputFluids(Fluid.of('gtceu:oxygen', 9000)) + .duration(20*13.5) + .EUt(GTValues.VA[GTValues.MV]) + + //#region Stone dust stuffs + + // Perlite + + event.remove({ id: 'gtceu:extractor/extract_igneous_felsic_dust'}) + event.recipes.gtceu.coal_liquefaction_tower('tfg:molten_felsic_silicate') + .itemInputs(Item.of('tfg:igneous_felsic_dust', 16)) + .perTick(true) + .chancedFluidInput(Fluid.of('gtceu:hydrogen', 1), 1000, 0) + .perTick(false) + .outputFluids(Fluid.of('tfg:igneous_felsic', 144*16)) + .duration(20 * 50) + .EUt(GTValues.VA[GTValues.LV]); + + event.recipes.gtceu.mixer('tfg:obsidian_dust') + .inputFluids(Fluid.of('tfg:igneous_felsic', 144), Fluid.of('gtceu:ice', 1000)) + .itemOutputs(Item.of('gtceu:obsidian_dust', 1)) + .duration(20 * 28) + .EUt(GTValues.VA[GTValues.LV]); + + event.recipes.gtceu.gas_pressurizer('tfg:obsidian_dust') + .itemInputs(Item.of('gtceu:obsidian_dust', 1)) + .inputFluids(Fluid.of('gtceu:steam', 1000)) + .itemOutputs(Item.of('gtceu:perlite_dust', 1)) + .duration(20 * 16) + .EUt(GTValues.VA[GTValues.HV]); + + // Alumina + + event.recipes.gtceu.chemical_reactor('tfg:aluminium_sulfate') + .itemInputs(Item.of('tfg:igneous_felsic_dust', 1)) + .inputFluids(Fluid.of('gtceu:sulfuric_acid', 1000)) + .itemOutputs(Item.of('tfg:aluminium_sulfate_dust', 1), Item.of('gtceu:potassium_sulfate_dust', 1), Item.of('gtceu:silicon_dioxide_dust')) + .outputFluids(Fluid.of('water', 1000)) + .duration(20 * 84) + .EUt(GTValues.VA[GTValues.LV]) + .circuit(2) + + event.recipes.gtceu.chemical_bath('tfg:aluminium_hydroxide_dust') + .itemInputs(Item.of('tfg:aluminium_sulfate_dust', 1)) + .inputFluids(Fluid.of('tfc:lye', 2000)) + .itemOutputs(Item.of('tfg:aluminium_hydroxide_dust', 2), Item.of('tfg:sodium_sulfate_dust', 1)) + .duration(20 * 16) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.arc_furnace('tfg:alumina_dust') + .itemInputs(Item.of('tfg:aluminium_hydroxide_dust', 2)) + .inputFluids(Fluid.of('gtceu:oxygen', 100)) + .itemOutputs(Item.of('tfg:alumina_dust', 1)) + .duration(20 * 8) + .EUt(GTValues.VA[GTValues.HV]) + + // Perlite is also a water purifier irl! + event.recipes.gtceu.distillery('tfg:distilled_water_perlite') + .itemInputs('#forge:dusts/perlite') + .inputFluids(Fluid.of('minecraft:water', 2000)) + .outputFluids(Fluid.of('gtceu:distilled_water', 2000)) + .duration(20*5) + .EUt(GTValues.VA[GTValues.LV]) + + // Change Titanium to require Nichrome Coils + + event.remove({ id: 'gtceu:electric_blast_furnace/titanium_from_tetrachloride'}) + event.recipes.gtceu.electric_blast_furnace('tfg:titanium_from_tetrachloride') + .itemInputs(Item.of('gtceu:magnesium_dust', 2)) + .inputFluids(Fluid.of('gtceu:titanium_tetrachloride', 1000)) + .itemOutputs(Item.of('gtceu:hot_titanium_ingot', 1), Item.of('gtceu:magnesium_chloride_dust', 6)) + .duration(20 * 30) + .blastFurnaceTemp(2750) + .EUt(GTValues.VA[GTValues.HV]) + + // Let's also do NaqLine here + event.remove({ id: 'gtceu:electric_blast_furnace/titanium_trifluoride_separation'}) + event.recipes.gtceu.electric_blast_furnace('tfg:titanium_trifluoride_separation') + .itemInputs(Item.of('gtceu:titanium_trifluoride_dust', 4)) + .inputFluids(Fluid.of('gtceu:hydrogen', 3000)) + .itemOutputs(Item.of('gtceu:hot_titanium_ingot', 1)) + .outputFluids(Fluid.of('gtceu:hydrofluoric_acid', 3000)) + .duration(20 * 30) + .blastFurnaceTemp(2750) + .EUt(GTValues.VA[GTValues.HV]) + + //#endregion + + //#region Inconel Line + + event.recipes.gtceu.vacuum_freezer('tfg:inert_furnace_atmosphere_dumb') + .itemInputs(Item.of('tfc:pure_nitrogen', 64)) + .inputFluids(Fluid.of('gtceu:argon', 32000), Fluid.of('gtceu:hydrogen', 64000)) + .outputFluids(Fluid.of('tfg:inert_furnace_atmosphere', 600)) + .duration(20 * 200) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.mixer('tfg:weak_inconel_718') + .inputFluids(Fluid.of('tfg:inert_furnace_atmosphere', 1200)) + .itemInputs( + Item.of('gtceu:nickel_dust', 5), + Item.of('gtceu:chromium_dust', 2), + Item.of('gtceu:molybdenum_dust', 2), + Item.of('gtceu:niobium_dust', 1), + Item.of('gtceu:aluminium_dust', 1), + Item.of('gtceu:titanium_dust', 1)) + .itemOutputs(Item.of('tfg:weak_inconel_718_dust', 12)) + .outputFluids(Fluid.of('tfg:metal_desorption_gas', 12000)) + .duration(20 * 48) + .EUt(GTValues.VA[GTValues.HV]) + .circuit(4) + + event.recipes.gtceu.chemical_reactor('tfg:homogenized_inconel_718') + .inputFluids(Fluid.of('tfg:metal_desorption_gas', 1000)) + .itemInputs(Item.of('tfg:weak_inconel_718_ingot', 1)) + .itemOutputs(Item.of('tfg:homogenized_inconel_718_ingot', 1)) + .outputFluids(Fluid.of('tfg:reducing_process_gas', 1000)) + .duration(20 * 16) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.electric_blast_furnace('tfg:homogenized_inconel_718') + .inputFluids(Fluid.of('tfg:reducing_process_gas', 1000)) + .itemInputs(Item.of('tfg:homogenized_inconel_718_ingot', 1)) + .itemOutputs(Item.of('tfg:hot_inconel_718_ingot', 1)) + .blastFurnaceTemp(2810) + .duration(20 * 40) + .EUt(GTValues.VA[GTValues.EV]) + /* + event.forEachRecipe( + { id: 'gtceu:vacuum_freezer/cool_hot_inconel_718_ingot' }, + recipe => {recipe.outputFluids(Fluid.of('tfg:inert_furnace_atmosphere', 1000))}) + */ + + event.remove({ id: 'gtceu:vacuum_freezer/cool_hot_inconel_718_ingot' }) + + event.recipes.gtceu.vacuum_freezer('tfg:cool_hot_inconel_718_ingot') + .itemInputs('tfg:hot_inconel_718_ingot') + .itemOutputs('tfg:inconel_718_ingot') + .outputFluids(Fluid.of('tfg:inert_furnace_atmosphere', 100)) + .duration(20 * 9.15) + .EUt(GTValues.VA[GTValues.MV]) + + // #endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/machines/recipes.boules.js b/kubejs/server_scripts/tfg/machines/recipes.boules.js new file mode 100644 index 000000000..46ae12925 --- /dev/null +++ b/kubejs/server_scripts/tfg/machines/recipes.boules.js @@ -0,0 +1,128 @@ +// priority: 0 +"use strict"; + +function registerTFGBouleRecipes(event) { + + // Silicon seed crystal + + event.recipes.gtceu.chemical_reactor('tfg:chlorosilanes') + .itemInputs('4x #forge:dusts/silicon') + .inputFluids('gtceu:hydrochloric_acid 6000', 'gtceu:hydrogen 4000') + .outputFluids('tfg:chlorosilane 3000', 'tfg:trichlorosilane 1000') + .circuit(1) + .duration(3 * 20) + .EUt(GTValues.VHA[GTValues.MV]) + + event.recipes.gtceu.chemical_reactor('tfg:silane') + .inputFluids('tfg:chlorosilane 3000', 'tfg:trichlorosilane 1000') + .outputFluids('tfg:dichlorosilane 3000', 'tfg:silane 1000') + .duration(3 * 20) + .EUt(GTValues.VHA[GTValues.MV]) + + event.recipes.gtceu.large_chemical_reactor('tfg:silane_shortcut') + .itemInputs('4x #forge:dusts/silicon') + .inputFluids('gtceu:hydrochloric_acid 6000', 'gtceu:hydrogen 4000') + .outputFluids('tfg:dichlorosilane 3000', 'tfg:silane 1000') + .circuit(2) + .duration(5 * 20) + .EUt(GTValues.VHA[GTValues.HV]) + + event.recipes.gtceu.electrolyzer('tfg:silane_decomp') + .inputFluids('tfg:silane 1000') + .outputFluids('gtceu:hydrogen 4000') + .itemOutputs('#forge:dusts/polysilicon') + .duration(3 * 20) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.autoclave('tfg:silicon_seed_crystal') + .itemInputs('#forge:dusts/polysilicon') + .inputFluids('minecraft:water 250') + .chancedOutput('tfg:silicon_seed_crystal', 7500, 0) + .duration(30 * 20) + .EUt(24) + + event.recipes.gtceu.autoclave('tfg:silicon_seed_crystal_distilled') + .itemInputs('#forge:dusts/polysilicon') + .inputFluids('gtceu:distilled_water 50') + .itemOutputs('tfg:silicon_seed_crystal') + .duration(15 * 20) + .EUt(24) + + // Crucible + + event.recipes.gtceu.arc_furnace('tfg:quartz_crucible') + .itemInputs('5x #forge:dusts/quartzite') + .notConsumable('tfc:crucible') + .itemOutputs('tfg:quartz_crucible') + .duration(20 * 20) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.arc_furnace('tfg:quartz_crucible_nether') + .itemInputs('5x #forge:dusts/nether_quartz') + .notConsumable('tfc:crucible') + .itemOutputs('tfg:quartz_crucible') + .duration(20 * 20) + .EUt(GTValues.VA[GTValues.MV]) + + // Boules + + event.recipes.gtceu.high_temperature_precision_fabricator('tfg:silicon_boule') + .chancedInput('tfg:quartz_crucible', 500, 0) // 5% chance + .itemInputs('1x tfg:silicon_seed_crystal', '#forge:small_dusts/gallium_arsenide', '#tfg:precision_fabricator_holder_rods') + .inputFluids(Fluid.of('tfg:polysilicon', 32 * 144)) + .itemOutputs('gtceu:silicon_boule') + .circuit(1) + .duration(450 * 20) + .addData("ebf_temp", 1784) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.high_temperature_precision_fabricator('tfg:silicon_boule_cleanroom') + .chancedInput('tfg:quartz_crucible', 500, 0) // 5% chance + .itemInputs('1x tfg:silicon_seed_crystal', '#forge:small_dusts/gallium_arsenide', '#tfg:precision_fabricator_holder_rods') + .inputFluids(Fluid.of('tfg:polysilicon', 32 * 144)) + .itemOutputs('gtceu:silicon_boule') + .circuit(2) + // Duration discount if in a cleanroom + .cleanroom(CleanroomType.CLEANROOM) + .duration(300 * 20) + .addData("ebf_temp", 1784) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.high_temperature_precision_fabricator('tfg:phosphorus_boule') + .chancedInput('tfg:quartz_crucible', 2000, 0) // 20% chance + .itemInputs('4x tfg:silicon_seed_crystal', '8x #forge:dusts/phosphorus', '2x #forge:small_dusts/gallium_arsenide', '#tfg:precision_fabricator_holder_rods') + .inputFluids(Fluid.of('tfg:polysilicon', 64 * 144), 'gtceu:nitrogen 8000') + .itemOutputs('gtceu:phosphorus_boule') + .circuit(3) + .cleanroom(CleanroomType.CLEANROOM) + .duration(600 * 20) + .addData("ebf_temp", 2484) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.high_temperature_precision_fabricator('tfg:naquadah_boule') + .chancedInput('tfg:quartz_crucible', 5000, 0) // 50% chance + .itemInputs('8x tfg:silicon_seed_crystal', '#forge:dusts/gallium_arsenide', '#tfg:precision_fabricator_holder_rods') + .inputFluids(Fluid.of('tfg:polysilicon', 128 * 144), 'gtceu:naquadah 144', 'gtceu:argon 8000') + .itemOutputs('gtceu:naquadah_boule') + .circuit(4) + .cleanroom(CleanroomType.CLEANROOM) + .duration(750 * 20) + .addData("ebf_temp", 5400) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.high_temperature_precision_fabricator('tfg:neutronium_boule') + .chancedInput('tfg:quartz_crucible', 9900, 0) // 99% chance + .itemInputs('tfg:silicon_seed_crystal', '2x #forge:dusts/gallium_arsenide', '#tfg:precision_fabricator_holder_rods') + .inputFluids(Fluid.of('tfg:polysilicon', 256 * 144), Fluid.of('gtceu:neutronium', 144 * 4), 'gtceu:xenon 8000') + .itemOutputs('gtceu:neutronium_boule') + .circuit(5) + .cleanroom(CleanroomType.CLEANROOM) + .duration(900 * 20) + .addData("ebf_temp", 6484) + .EUt(GTValues.VA[GTValues.IV]) + + event.remove({ id: 'gtceu:electric_blast_furnace/silicon_boule' }) + event.remove({ id: 'gtceu:electric_blast_furnace/phosphorus_boule' }) + event.remove({ id: 'gtceu:electric_blast_furnace/naquadah_boule' }) + event.remove({ id: 'gtceu:electric_blast_furnace/neutronium_boule' }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/machines/recipes.casings.js b/kubejs/server_scripts/tfg/machines/recipes.casings.js index 8e3318e24..f7b522070 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.casings.js +++ b/kubejs/server_scripts/tfg/machines/recipes.casings.js @@ -9,6 +9,25 @@ function registerTFGCasingRecipes(event) { .duration(2.5 * 20) .EUt(16) + event.shaped('2x tfg:casings/sterling_silver_casing', [ + 'ABA', + 'ACA', + 'ADA' + ], { + A: '#forge:plates/sterling_silver', + B: '#forge:tools/hammers', + C: '#forge:frames/invar', + D: '#forge:tools/wrenches' + }).id('tfg:shaped/sterling_silver_casing') + + event.recipes.gtceu.assembler('sterling_silver_casing') + .itemInputs('6x #forge:plates/sterling_silver', '#forge:frames/invar') + .itemOutputs('2x tfg:casings/sterling_silver_casing') + .circuit(6) + .duration(2.5 * 20) + .EUt(16) + .addMaterialInfo(true) + // Railgun global.GTCEU_SUPERCONDUCTORS.forEach((type, index) => { const multiplier = index + 1 @@ -51,6 +70,7 @@ function registerTFGCasingRecipes(event) { .circuit(4) .duration(800) .EUt(GTValues.VA[GTValues.MV]) + .addMaterialInfo(true) event.recipes.gtceu.assembler('tfg:assembler/machine_casing_aluminium_plated_steel') .itemInputs( @@ -62,6 +82,7 @@ function registerTFGCasingRecipes(event) { .circuit(6) .duration(20 * (2.5)) .EUt(GTValues.VH[GTValues.LV]) + .addMaterialInfo(true, true) // Solar event.recipes.gtceu.assembler('basic_solar_casing') @@ -118,6 +139,7 @@ function registerTFGCasingRecipes(event) { .circuit(6) .duration(2.5 * 20) .EUt(16) + .addMaterialInfo(true) // Evaporation event.recipes.gtceu.assembler('tfg:casings/machine_casing_stainless_evaporation') @@ -127,6 +149,7 @@ function registerTFGCasingRecipes(event) { .circuit(6) .duration(2.5 * 20) .EUt(GTValues.VA[GTValues.HV]) + .addMaterialInfo(true, true) // Ostrum Linear Acclerator event.recipes.gtceu.assembler('tfg:casings/machine_casing_mars') @@ -136,6 +159,7 @@ function registerTFGCasingRecipes(event) { .circuit(6) .duration(2.5 * 20) .EUt(GTValues.VA[GTValues.HV]) + .addMaterialInfo(true, true) event.recipes.gtceu.assembler('gtceu:atomic_casing') .itemInputs('4x #forge:dense_plates/lead', '2x #forge:plates/rtm_alloy', '#forge:frames/titanium') @@ -144,6 +168,7 @@ function registerTFGCasingRecipes(event) { .circuit(6) .duration(2.5 * 20) .EUt(GTValues.VA[GTValues.HV]) + .addMaterialInfo(true, true) // Heat Battery deafission:battery_heat_port_ev @@ -154,6 +179,7 @@ function registerTFGCasingRecipes(event) { //.circuit(6) .duration(2.5 * 20) .EUt(GTValues.VA[GTValues.EV]) + .addMaterialInfo(true, true) event.recipes.gtceu.assembler('tfg:heat_input_hatch_ev') .itemInputs(Item.of('gtceu:ev_machine_hull', 1), Item.of('gtceu:rtm_alloy_coil_block'), Item.of('gtceu:beryllium_plate', 6)) @@ -162,6 +188,7 @@ function registerTFGCasingRecipes(event) { //.circuit(6) .duration(2.5 * 20) .EUt(GTValues.VA[GTValues.EV]) + .addMaterialInfo(true, true) // Small Modular Turbine @@ -172,6 +199,7 @@ function registerTFGCasingRecipes(event) { .circuit(6) .duration(2.5 * 20) .EUt(GTValues.VA[GTValues.HV]) + .addMaterialInfo(true, true) event.recipes.gtceu.assembler('tfg:uv_smr_fluid_import_hatch') .itemInputs('4x #forge:dense_plates/desh', '2x #forge:dense_plates/lead', Item.of('gtceu:iv_input_hatch', 1)) @@ -180,6 +208,7 @@ function registerTFGCasingRecipes(event) { //.circuit(6) .duration(2.5 * 20) .EUt(GTValues.VA[GTValues.EV]) + .addMaterialInfo(true, true) // Vacuum Intake event.shaped('tfg:casings/machine_casing_vacuum_engine_intake', [ @@ -203,6 +232,7 @@ function registerTFGCasingRecipes(event) { .duration(50) .EUt(GTValues.VH[GTValues.LV]) .circuit(2) + .addMaterialInfo(true) event.recipes.gtceu.assembler('tfg:casings/machine_casing_power_casing') .itemInputs('gtceu:ostrum_frame', '4x #forge:plates/titanium_tungsten_carbide', '16x #forge:fine_wires/copper', @@ -212,4 +242,5 @@ function registerTFGCasingRecipes(event) { .circuit(6) .duration(2.5 * 20) .EUt(GTValues.VA[GTValues.EV]) + .addMaterialInfo(true, true) } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/machines/recipes.circuit_board.js b/kubejs/server_scripts/tfg/machines/recipes.circuit_board.js new file mode 100644 index 000000000..a15b9ca77 --- /dev/null +++ b/kubejs/server_scripts/tfg/machines/recipes.circuit_board.js @@ -0,0 +1,167 @@ +function registerTFGCircuitBoardsRecipes(event) { + + //event.remove({ input: 'gtceu:plastic_printed_circuit_board' }, Item.of('gtceu:plastic_printed_circuit_board'), Item.of('tfg:ceramic_printed_circuit_board')) + + const toRemove = [ + 'gtceu:chemical_reactor/plastic_board_pbi', + 'gtceu:chemical_reactor/plastic_board_polyethylene', + 'gtceu:chemical_reactor/plastic_board_ptfe', + 'gtceu:chemical_reactor/plastic_board_pvc', + 'gtceu:large_chemical_reactor/plastic_board_pbi', + 'gtceu:large_chemical_reactor/plastic_board_polyethylene', + 'gtceu:large_chemical_reactor/plastic_board_pvc', + 'gtceu:large_chemical_reactor/plastic_board_ptfe', + 'gtceu:chemical_reactor/plastic_circuit_board_iron3', + 'gtceu:chemical_reactor/plastic_circuit_board_persulfate', + 'gtceu:large_chemical_reactor/plastic_circuit_board_iron3', + 'gtceu:large_chemical_reactor/plastic_circuit_board_persulfate' + ]; + toRemove.forEach(id => event.remove({ id: id })); + + event.recipes.gtceu.arc_furnace('tfg:mo_activated_sic_substrate') + .itemInputs(Item.of('tfg:silicon_carbide_plate'), Item.of('gtceu:molybdenum_foil', 4)) + .inputFluids(Fluid.of('gtceu:oxygen', 1000)) + .itemOutputs(Item.of('tfg:mo_activated_sic_substrate')) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.chemical_bath('tfg:ceramic_circuit_board') + .itemInputs(Item.of('tfg:mo_activated_sic_substrate'), Item.of('gtceu:nickel_dust', 1)) + .inputFluids(Fluid.of('gtceu:sulfuric_acid', 250)) + .itemOutputs(Item.of('gtceu:plastic_circuit_board', 4)) + .duration(20 * 25) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.chemical_bath('tfg:ceramic_circuit_board_t3') + .itemInputs(Item.of('tfg:chromium_bonded_beo_pcb'), Item.of('gtceu:nickel_dust', 1)) + .inputFluids(Fluid.of('gtceu:sulfuric_acid', 250)) + .itemOutputs(Item.of('gtceu:plastic_circuit_board', 12)) + .duration(20 * 25) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.chemical_reactor('tfg:ceramic_printed_circuit_board_iron_iii_chloride') + .itemInputs(Item.of('gtceu:plastic_circuit_board'), Item.of('gtceu:annealed_copper_foil', 6)) + .inputFluids(Fluid.of('gtceu:iron_iii_chloride', 500)) + .itemOutputs(Item.of('gtceu:plastic_printed_circuit_board')) + .duration(20 * 30) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.chemical_reactor('tfg:ceramic_printed_circuit_board_redstone_tri_p_toluenesulfonate') + .itemInputs(Item.of('gtceu:plastic_circuit_board'), Item.of('gtceu:annealed_copper_foil', 6)) + .inputFluids(Fluid.of('tfg:redstone_tri_p_toluenesulfonate', 250)) + .itemOutputs(Item.of('gtceu:plastic_printed_circuit_board')) + .duration(20 * 30) + .EUt(GTValues.VA[GTValues.LV]) + + // Alumina Copper Bonded Circuit Boards + + event.recipes.gtceu.arc_furnace('tfg:copper_bonded_al2o3_pcb') + .itemInputs(Item.of('tfg:alumina_plate'), Item.of('gtceu:cupronickel_foil', 4)) + .inputFluids(Fluid.of('gtceu:oxygen', 1000)) + .itemOutputs(Item.of('tfg:copper_bonded_al2o3_pcb')) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.chemical_bath('tfg:ceramic_circuit_board_t2') + .itemInputs(Item.of('tfg:copper_bonded_al2o3_pcb'), Item.of('gtceu:nickel_dust', 1)) + .inputFluids(Fluid.of('gtceu:sulfuric_acid', 250)) + .itemOutputs(Item.of('gtceu:plastic_circuit_board', 8)) + .duration(20 * 25) + .EUt(GTValues.VA[GTValues.LV]) + + // Lenses + + event.recipes.gtceu.alloy_smelter('tfg:optical_borosilicate_blank') + .itemInputs(Item.of('gtceu:borosilicate_glass_dust', 1)) + .notConsumable(Item.of('gtceu:cylinder_casting_mold')) + .itemOutputs(Item.of('tfg:optical_borosilicate_blank', 1)) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.MV]) + + function lensPolishing(event, fluid, colour, temp) { + event.recipes.gtceu.high_temperature_precision_fabricator(`tfg:lens_${fluid}_${colour}`) + .itemInputs('tfg:worked_optical_borosilicate_blank', '#tfg:precision_fabricator_holder_rods') + .inputFluids(Fluid.of(`tfg:dirty_${fluid}_slurry`, 1000)) + .itemOutputs(Item.of(`#forge:lenses/${colour}`, 1)) + .addData("ebf_temp", temp) + .duration(20 * 120) + .EUt(GTValues.VA[GTValues.MV]); + } + + const LENS_POLISHING = [ + ['emerald', 'green', 1530], + ['sapphire', 'blue', 1530], + ['ruby', 'red', 1530], + ['diamond', 'light_blue', 1530], + ['apatite', 'cyan', 1810], + ['spessartine', 'orange', 1810], + ]; + + LENS_POLISHING.forEach(([fluid, colour]) => event.remove({ output: `#forge:lenses/${colour}` })); + LENS_POLISHING.forEach(([fluid, colour, temp]) => lensPolishing(event, fluid, colour, temp)); + + // Printed Circuit boards + + const FLUID_REPLACEMENTS = { + + // Minimal T4 - EV + "advanced_circuit_board_persulfate": { + input: "gtceu:sodium_persulfate", + replacement: "gtceu:iron_iii_chloride" + }, + // Best T4 - EV + "advanced_circuit_board_iron3": { + input: "gtceu:iron_iii_chloride", + replacement: "tfg:redstone_tri_p_toluenesulfonate" + }, + // Minimal T5 - IV + "extreme_circuit_board_persulfate": { + input: "gtceu:sodium_persulfate", + replacement: "tfg:redstone_tri_p_toluenesulfonate" + }, + // Best T5 - IV + "extreme_circuit_board_iron3": { + input: "gtceu:iron_iii_chloride", + replacement: undefined + }, + // Minimal T6 - LuV + "elite_circuit_board_persulfate": { + input: "gtceu:sodium_persulfate", + replacement: "tfg:redstone_tri_p_toluenesulfonate" // Redstone Etching + }, + // Best T6 - LuV + "elite_circuit_board_iron3": { + input: "gtceu:iron_iii_chloride", + replacement: undefined // New when Venus is Out + }, + // Minimal T7 - ZPM + "wetware_circuit_board_persulfate": { + input: "gtceu:sodium_persulfate", + replacement: "tfg:redstone_tri_p_toluenesulfonate" // New when Venus is Out + }, + // Best T7 - ZPM + "wetware_circuit_board_iron3": { + input: "gtceu:iron_iii_chloride", + replacement: undefined // New when ZPM Planet is Out + }, + } + + const REACTOR_PREFIXES = [ + "gtceu:chemical_reactor", + "gtceu:large_chemical_reactor" + ] + + Object.keys(FLUID_REPLACEMENTS).forEach(recipeName => { + const { input, replacement } = FLUID_REPLACEMENTS[recipeName] + + REACTOR_PREFIXES.forEach(prefix => { + const recipeId = `${prefix}/${recipeName}` + + if (replacement) { + event.replaceInput({ id: recipeId }, Fluid.of(input), Fluid.of(replacement)) + } else { + event.remove({ id: recipeId }) + } + }) + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/machines/recipes.circuits.js b/kubejs/server_scripts/tfg/machines/recipes.circuits.js new file mode 100644 index 000000000..70a3f9d6a --- /dev/null +++ b/kubejs/server_scripts/tfg/machines/recipes.circuits.js @@ -0,0 +1,281 @@ +"use strict"; + +const TIN_REPLACEMENT = "tin_replacement" +const SOLDER_REPLACEMENT = "solder_replacement" + +/** @global */ +global.SOLDER_TIERS = /** @type {const} */ { + "mv": { + "tin_replacement": "gtceu:soldering_alloy", + "solder_replacement": "tfg:woods_metal" + }, + "hv": { + "tin_replacement": "gtceu:soldering_alloy", + "solder_replacement": "tfg:woods_metal" + }, + "ev": { + "tin_replacement": "tfg:woods_metal", + "solder_replacement": "tfg:bi_pb_sn_cd_in_tl" + }, + "iv": { + "tin_replacement": "tfg:woods_metal", + "solder_replacement": "tfg:bi_pb_sn_cd_in_tl" + }, + "luv": { + "tin_replacement": "tfg:woods_metal", + "solder_replacement": "tfg:bi_pb_sn_cd_in_tl" + }, + "zpm": { + "tin_replacement": "tfg:woods_metal", + "solder_replacement": "tfg:bi_pb_sn_cd_in_tl" + }, + "uv": { + "tin_replacement": "tfg:woods_metal", + "solder_replacement": "tfg:bi_pb_sn_cd_in_tl" + } +} + +function registerTFGCircuitRecipes(event) { + + //#region Microprocessor mainframe requires nano chips + + event.remove({ id: 'gtceu:circuit_assembler/mainframe_iv_asmd_soldering_alloy'}) + event.remove({ id: 'gtceu:circuit_assembler/mainframe_iv'}) + event.remove({ id: 'gtceu:circuit_assembler/mainframe_iv_soldering_alloy'}) + event.remove({ id: 'gtceu:circuit_assembler/mainframe_iv_asmd'}) + + event.recipes.gtceu.circuit_assembler('tfg:mainframe_iv') + .itemInputs('2x gtceu:aluminium_frame', '2x gtceu:micro_processor_computer', '8x #gtceu:inductors', '16x #gtceu:capacitors', 'gtceu:nano_cpu_chip', '16x gtceu:annealed_copper_single_wire') + .inputFluids(Fluid.of(global.SOLDER_TIERS["hv"][TIN_REPLACEMENT], 576)) + .itemOutputs('gtceu:micro_processor_mainframe') + .duration(20 * 40) + .EUt(GTValues.VA[GTValues.HV]) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.circuit_assembler('tfg:mainframe_iv_soldering_alloy') + .itemInputs('2x gtceu:aluminium_frame', '2x gtceu:micro_processor_computer', '8x #gtceu:inductors', '16x #gtceu:capacitors', 'gtceu:nano_cpu_chip', '16x gtceu:annealed_copper_single_wire') + .inputFluids(Fluid.of(global.SOLDER_TIERS["hv"][SOLDER_REPLACEMENT], 288)) + .itemOutputs('gtceu:micro_processor_mainframe') + .duration(20 * 40) + .EUt(GTValues.VA[GTValues.HV]) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.circuit_assembler('tfg:mainframe_iv_asmd') + .itemInputs('2x gtceu:aluminium_frame', '2x gtceu:micro_processor_computer', '2x gtceu:advanced_smd_inductor', '4x gtceu:advanced_smd_capacitor', 'gtceu:nano_cpu_chip', '16x gtceu:annealed_copper_single_wire') + .inputFluids(Fluid.of(global.SOLDER_TIERS["hv"][TIN_REPLACEMENT], 576)) + .itemOutputs('gtceu:micro_processor_mainframe') + .duration(20 * 20) + .EUt(GTValues.VA[GTValues.HV]) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.circuit_assembler('tfg:mainframe_iv_asmd_soldering_alloy') + .itemInputs('2x gtceu:aluminium_frame', '2x gtceu:micro_processor_computer', '2x gtceu:advanced_smd_inductor', '4x gtceu:advanced_smd_capacitor', 'gtceu:nano_cpu_chip', '16x gtceu:annealed_copper_single_wire') + .inputFluids(Fluid.of(global.SOLDER_TIERS["hv"][SOLDER_REPLACEMENT], 288)) + .itemOutputs('gtceu:micro_processor_mainframe') + .duration(20 * 20) + .EUt(GTValues.VA[GTValues.HV]) + .cleanroom(CleanroomType.CLEANROOM) + + //#endregion + + //#region Replace solders + + // Circuit assembler recipes + + const CIRCUIT_ASSEMBLER_RECIPE_TIERS = { + "gtceu:circuit_assembler/integrated_circuit_lv": "mv", + "gtceu:circuit_assembler/integrated_circuit_mv": "mv", + "gtceu:circuit_assembler/integrated_circuit_hv": "mv", + + "gtceu:circuit_assembler/nand_chip_ulv_good_board": "hv", + "gtceu:circuit_assembler/nand_chip_ulv_plastic_board": "hv", + "gtceu:circuit_assembler/microprocessor_lv": "hv", + "gtceu:circuit_assembler/microprocessor_lv_soc": "hv", + "gtceu:circuit_assembler/processor_mv": "hv", + "gtceu:circuit_assembler/processor_mv_soc": "hv", + "gtceu:circuit_assembler/processor_assembly_hv": "hv", + "gtceu:circuit_assembler/workstation_ev": "hv", + // Microprocessor mainframes handled above + "gtceu:circuit_assembler/data_stick": "hv", + + "gtceu:circuit_assembler/nano_processor_hv": "ev", + "gtceu:circuit_assembler/nano_processor_hv_asmd": "ev", + "gtceu:circuit_assembler/nano_processor_hv_soc": "ev", + "gtceu:circuit_assembler/nano_processor_assembly_ev": "ev", + "gtceu:circuit_assembler/nano_processor_assembly_ev_asmd": "ev", + "gtceu:circuit_assembler/nano_computer_iv": "ev", + "gtceu:circuit_assembler/nano_computer_iv_asmd": "ev", + "gtceu:circuit_assembler/nano_mainframe_luv": "ev", + "gtceu:circuit_assembler/nano_mainframe_luv_asmd": "ev", + "gtceu:circuit_assembler/lapotronic_energy_orb": "ev", + "gtceu:circuit_assembler/data_orb": "ev", + + "gtceu:circuit_assembler/quantum_processor_ev": "iv", + "gtceu:circuit_assembler/quantum_processor_ev_asmd": "iv", + "gtceu:circuit_assembler/quantum_processor_ev_soc": "iv", + "gtceu:circuit_assembler/quantum_assembly_iv": "iv", + "gtceu:circuit_assembler/quantum_assembly_iv_asmd": "iv", + "gtceu:circuit_assembler/quantum_computer_luv": "iv", + "gtceu:circuit_assembler/quantum_computer_luv_asmd": "iv", + "gtceu:circuit_assembler/quantum_mainframe_zpm": "iv", + "gtceu:circuit_assembler/quantum_mainframe_zpm_asmd": "iv", + + "gtceu:circuit_assembler/crystal_processor_iv": "luv", + "gtceu:circuit_assembler/crystal_processor_iv_soc": "luv", + "gtceu:circuit_assembler/crystal_assembly_luv": "luv", + "gtceu:circuit_assembler/crystal_computer_zpm": "luv", + + "gtceu:circuit_assembler/wetware_processor_luv": "zpm", + "gtceu:circuit_assembler/wetware_processor_luv_soc": "zpm", + "gtceu:circuit_assembler/wetware_processor_assembly_zpm": "zpm", + "gtceu:circuit_assembler/wetware_processor_luv_soc": "zpm", + "gtceu:circuit_assembler/data_module": "zpm" + } + + Object.keys(CIRCUIT_ASSEMBLER_RECIPE_TIERS).forEach(recipe => { + if (global.SOLDER_TIERS[CIRCUIT_ASSEMBLER_RECIPE_TIERS[recipe]][TIN_REPLACEMENT]) { + event.replaceInput({ id: recipe }, Fluid.of("gtceu:tin"), Fluid.of(global.SOLDER_TIERS[CIRCUIT_ASSEMBLER_RECIPE_TIERS[recipe]][TIN_REPLACEMENT])) + } else { + event.remove({ id: recipe }) + } + + if (global.SOLDER_TIERS[CIRCUIT_ASSEMBLER_RECIPE_TIERS[recipe]][SOLDER_REPLACEMENT]) { + event.replaceInput({ id: `${recipe}_soldering_alloy` }, Fluid.of("gtceu:soldering_alloy"), Fluid.of(global.SOLDER_TIERS[CIRCUIT_ASSEMBLER_RECIPE_TIERS[recipe]][SOLDER_REPLACEMENT])) + } else { + event.remove({ id: `${recipe}_soldering_alloy` }) + } + }) + + // Assembly line recipes + + const ASSEMBLY_LINE_RECIPE_TIERS = { + "gtceu:assembly_line/crystal_mainframe_uv": "luv", + "gtceu:assembly_line/lapotronic_energy_orb_cluster": "luv", + "gtceu:assembly_line/electric_motor_luv": "luv", + "gtceu:assembly_line/electric_pump_luv": "luv", + "gtceu:assembly_line/conveyor_module_luv": "luv", + "gtceu:assembly_line/electric_piston_luv": "luv", + "gtceu:assembly_line/robot_arm_luv": "luv", + "gtceu:assembly_line/field_generator_luv": "luv", + "gtceu:assembly_line/emitter_luv": "luv", + "gtceu:assembly_line/sensor_luv": "luv", + "gtceu:assembly_line/energy_hatch_luv": "luv", + "gtceu:assembly_line/dynamo_hatch_luv": "luv", + "gtceu:assembly_line/me_pattern_buffer": "luv", + "gtceu:assembly_line/advanced_data_access_hatch": "luv", + "gtceu:assembly_line/fusion_reactor_mk1": "luv", + + "gtceu:assembly_line/wetware_super_computer_uv": "zpm", + "gtceu:assembly_line/energy_module": "zpm", + "gtceu:assembly_line/electric_motor_zpm": "zpm", + "gtceu:assembly_line/electric_pump_zpm": "zpm", + "gtceu:assembly_line/conveyor_module_zpm": "zpm", + "gtceu:assembly_line/electric_piston_zpm": "zpm", + "gtceu:assembly_line/robot_arm_zpm": "zpm", + "gtceu:assembly_line/field_generator_zpm": "zpm", + "gtceu:assembly_line/emitter_zpm": "zpm", + "gtceu:assembly_line/sensor_zpm": "zpm", + "gtceu:assembly_line/energy_hatch_zpm": "zpm", + "gtceu:assembly_line/dynamo_hatch_zpm": "zpm", + "gtceu:assembly_line/object_holder": "zpm", + "gtceu:assembly_line/data_bank": "zpm", + "gtceu:assembly_line/high_performance_computing_array": "zpm", + "gtceu:assembly_line/network_switch": "zpm", + "gtceu:assembly_line/research_station": "zpm", + "gtceu:assembly_line/fusion_reactor_mk2": "zpm", + + "gtceu:assembly_line/wetware_mainframe_uhv": "uv", + "gtceu:assembly_line/energy_cluster": "uv", + "gtceu:assembly_line/ultimate_battery": "uv", + "gtceu:assembly_line/electric_motor_uv": "uv", + "gtceu:assembly_line/electric_pump_uv": "uv", + "gtceu:assembly_line/conveyor_module_uv": "uv", + "gtceu:assembly_line/electric_piston_uv": "uv", + "gtceu:assembly_line/robot_arm_uv": "uv", + "gtceu:assembly_line/field_generator_uv": "uv", + "gtceu:assembly_line/emitter_uv": "uv", + "gtceu:assembly_line/sensor_uv": "uv", + "gtceu:assembly_line/energy_hatch_uv": "uv", + "gtceu:assembly_line/energy_hatch_uhv": "uv", + "gtceu:assembly_line/dynamo_hatch_uv": "uv", + "gtceu:assembly_line/dynamo_hatch_uhv": "uv", + "gtceu:assembly_line/fusion_reactor_mk3": "uv" + } + + Object.keys(ASSEMBLY_LINE_RECIPE_TIERS).forEach(recipe => { + if (global.SOLDER_TIERS[ASSEMBLY_LINE_RECIPE_TIERS[recipe]][SOLDER_REPLACEMENT]) { + event.replaceInput({ id: recipe }, Fluid.of("gtceu:soldering_alloy"), Fluid.of(global.SOLDER_TIERS[ASSEMBLY_LINE_RECIPE_TIERS[recipe]][SOLDER_REPLACEMENT])) + } else if (global.SOLDER_TIERS[ASSEMBLY_LINE_RECIPE_TIERS[recipe]][TIN_REPLACEMENT]) { + // Use tin replacement instead if the solder replacement is undefined + event.replaceInput({ id: recipe }, Fluid.of("gtceu:soldering_alloy"), Fluid.of(global.SOLDER_TIERS[ASSEMBLY_LINE_RECIPE_TIERS[recipe]][TIN_REPLACEMENT])) + } else { + event.remove({ id: recipe }) + } + }) + + //#endregion + + //#region Solder recipes + + // Woods metal + + event.remove({ id: 'gtceu:extractor/extract_woods_metal_dust' }) + event.remove({ id: 'gtceu:extractor/extract_woods_metal_ingot' }) + event.remove({ id: 'gtceu:extractor/extract_woods_metal_nugget' }) + event.remove({ id: 'gtceu:extractor/extract_woods_metal_block' }) + + event.recipes.gtceu.mixer('tfg:woods_metal') + .itemInputs('4x #forge:dusts/bismuth', '2x #forge:dusts/lead', '1x #forge:dusts/tin', '1x #forge:dusts/cadmium') + .itemOutputs('8x #forge:dusts/woods_metal') + .duration(20 * 10) + .circuit(3) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.pyrolyse_oven('tfg:liquid_woods_metal') + .itemInputs('8x #forge:dusts/woods_metal') + .outputFluids(Fluid.of('tfg:woods_metal', 1152)) + .duration(20 * 96) + .circuit(1) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.pyrolyse_oven('tfg:liquid_woods_metal_boosted') + .itemInputs('8x #forge:dusts/woods_metal') + .inputFluids(Fluid.of('gtceu:nitrogen', 1000)) + .outputFluids(Fluid.of('tfg:woods_metal', 1152)) + .duration(20 * 48) + .circuit(2) + .EUt(GTValues.VA[GTValues.MV]) + + // BiPbSnCdInTl + + event.recipes.gtceu.large_chemical_reactor('tfg:lorandite_to_thallium_sulfate') + .itemInputs('8x #forge:dusts/lorandite') + .inputFluids(Fluid.of('gtceu:sulfuric_acid', 2000)) + .itemOutputs('7x #forge:dusts/thallium_sulfate', '5x #forge:dusts/arsenic_trioxide', '4x #forge:dusts/sulfur') + .outputFluids(Fluid.of('minecraft:water', 1000), Fluid.of('gtceu:hydrogen_sulfide', 1000)) + .duration(20 * 20) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.chemical_reactor('tfg:thallium_sulfate_to_zinc_sulfate') + .itemInputs('7x #forge:dusts/thallium_sulfate', '1x #forge:dusts/zinc') + .itemOutputs('2x #forge:dusts/thallium', '6x #forge:dusts/zinc_sulfate') + .duration(20 * 20) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.alloy_blast_smelter('tfg:bi_pb_sn_cd_in_tl') + .itemInputs('8x #forge:dusts/bismuth', '4x #forge:dusts/lead', '2x #forge:dusts/tin', '3x #forge:dusts/indium', '2x #forge:dusts/cadmium', '1x #forge:dusts/thallium') + .outputFluids(Fluid.of('tfg:bi_pb_sn_cd_in_tl', 2880)) + .duration(20 * 480) + .blastFurnaceTemp(3700) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.alloy_blast_smelter('tfg:bi_pb_sn_cd_in_tl_boosted') + .itemInputs('8x #forge:dusts/bismuth', '4x #forge:dusts/lead', '2x #forge:dusts/tin', '3x #forge:dusts/indium', '2x #forge:dusts/cadmium', '1x #forge:dusts/thallium') + .inputFluids(Fluid.of('gtceu:helium', 2000)) + .outputFluids(Fluid.of('tfg:bi_pb_sn_cd_in_tl', 2880)) + .duration(20 * 321.6) + .blastFurnaceTemp(3700) + .EUt(GTValues.VA[GTValues.EV]) + + //#endregion +} diff --git a/kubejs/server_scripts/tfg/machines/recipes.coils.js b/kubejs/server_scripts/tfg/machines/recipes.coils.js index 72567d715..3dff18619 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.coils.js +++ b/kubejs/server_scripts/tfg/machines/recipes.coils.js @@ -75,11 +75,77 @@ function registerTFGCoilRecipes(event) { // #endregion + // #region Kanthal Coil + + event.remove({ id: 'gtceu:assembler/coil_kanthal' }) + event.recipes.gtceu.assembler('tfg:coil_kanthal') + .itemInputs('8x #forge:double_wires/kanthal', '8x #forge:foils/rene_41', '1x #forge:ingots/silicon_carbide') + .inputFluids('gtceu:cobalt 144') + .itemOutputs('gtceu:kanthal_coil_block') + .duration(20 * 15) + .EUt(GTValues.VA[GTValues.MV]) + .addMaterialInfo(true, true) + + // #endregion + + // #region Nichrome Coil + + event.recipes.gtceu.gas_pressurizer('tfg:blue_alloy_desh_foil') + .itemInputs('2x #forge:foils/desh', '2x #forge:foils/blue_alloy', 'tfc:powder/flux') + .inputFluids('gtceu:regolith_vapor 1000') + .itemOutputs('tfg:blue_alloy_desh_foil') + .duration(10 * 20) + .EUt(GTValues.VA[GTValues.HV]) + + TFGHelpers.registerMaterialInfo('tfg:blue_alloy_desh_foil', [GTMaterials.BlueAlloy, 0.5, GTMaterials.get('gtceu:desh'), 0.25]) + + event.recipes.gtceu.implosion_compressor('tfg:chorus_ceramic_insulation_dynamite') + .itemInputs('ae2:sky_dust', '#forge:dusts/perlite', '#forge:dusts/kaolinite', 'minecraft:popped_chorus_fruit', '2x gtceu:dynamite') + .itemOutputs('tfg:chorus_ceramic_insulation') + .chancedOutput('#forge:dusts/dark_ash', 2500, 0) + .duration(20) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.implosion_compressor('tfg:chorus_ceramic_insulation_powderbarrel') + .itemInputs('ae2:sky_dust', '#forge:dusts/perlite', '#forge:dusts/kaolinite', 'minecraft:popped_chorus_fruit', '8x gtceu:powderbarrel') + .itemOutputs('tfg:chorus_ceramic_insulation') + .chancedOutput('#forge:dusts/dark_ash', 2500, 0) + .duration(20) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.implosion_compressor('tfg:chorus_ceramic_insulation_tnt') + .itemInputs('ae2:sky_dust', '#forge:dusts/perlite', '#forge:dusts/kaolinite', 'minecraft:popped_chorus_fruit', '4x minecraft:tnt') + .itemOutputs('tfg:chorus_ceramic_insulation') + .chancedOutput('#forge:dusts/dark_ash', 2500, 0) + .duration(20) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.implosion_compressor('tfg:chorus_ceramic_insulation_itnt') + .itemInputs('ae2:sky_dust', '#forge:dusts/perlite', '#forge:dusts/kaolinite', 'minecraft:popped_chorus_fruit', 'gtceu:industrial_tnt') + .itemOutputs('tfg:chorus_ceramic_insulation') + .chancedOutput('#forge:dusts/dark_ash', 2500, 0) + .duration(20) + .EUt(GTValues.VA[GTValues.LV]) + + event.smelting('tfg:fired_chorus_ceramic_insulation', 'tfg:chorus_ceramic_insulation') + .id('tfg:smelting/chorus_ceramic_insulation') + + event.remove({ id: 'gtceu:assembler/coil_nichrome' }) + event.recipes.gtceu.assembler('tfg:coil_nichrome') + .itemInputs('8x #forge:double_wires/nichrome', '8x tfg:blue_alloy_desh_foil', '4x tfg:fired_chorus_ceramic_insulation') + .inputFluids(Fluid.of('gtceu:magnalium', 144 * 4)) + .itemOutputs('gtceu:nichrome_coil_block') + .duration(20 * 15) + .EUt(GTValues.VA[GTValues.HV]) + .addMaterialInfo(true, true) + + // #endregion + // #region RTM Coil event.remove({ id : 'gtceu:assembler/coil_rtm_alloy' }) event.recipes.gtceu.assembler('tfg:coil_rtm_alloy') - .itemInputs('8x #forge:double_wires/rtm_alloy', '8x #forge:foils/vanadium_steel', '4x #forge:insulation_t2/sheet') + .itemInputs('8x #forge:double_wires/rtm_alloy', '8x #forge:foils/ostrum', '4x #forge:insulation_t2/sheet') .inputFluids('tfg:nichromium_iodomethylate 244') .itemOutputs('gtceu:rtm_alloy_coil_block') .duration(20 * 25) @@ -98,7 +164,9 @@ function registerTFGCoilRecipes(event) { event.remove({ id : 'gtceu:assembler/coil_hssg' }) event.recipes.gtceu.assembler('tfg:coil_hssg') - .itemInputs('8x #forge:double_wires/hssg', '8x #forge:foils/tungsten_carbide', '2x #forge:insulation_t3/sheet') + // TODO: Replace the tungsten carbide foil with zirconium diboride + .itemInputs('8x #forge:double_wires/hssg', '8x #forge:foils/tungsten_carbide', '#forge:insulation_t3/sheet') + // TODO: Replace tungsten liquid with something else from venus .inputFluids('gtceu:tungsten 144') .itemOutputs('gtceu:hssg_coil_block') .duration(20 * 30) diff --git a/kubejs/server_scripts/tfg/machines/recipes.components.js b/kubejs/server_scripts/tfg/machines/recipes.components.js index 1d5a0aa27..17cdb79d8 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.components.js +++ b/kubejs/server_scripts/tfg/machines/recipes.components.js @@ -171,44 +171,6 @@ function registerTFGElectronicComponentsRecipes(event) { .EUt(GTValues.VA[GTValues.EV]) .cleanroom(CleanroomType.CLEANROOM) - // Change components of IV mainframe to nano chip - event.remove({ id: 'gtceu:circuit_assembler/mainframe_iv_asmd_soldering_alloy'}) - event.remove({ id: 'gtceu:circuit_assembler/mainframe_iv'}) - event.remove({ id: 'gtceu:circuit_assembler/mainframe_iv_soldering_alloy'}) - event.remove({ id: 'gtceu:circuit_assembler/mainframe_iv_asmd'}) - - event.recipes.gtceu.circuit_assembler('tfg:circuit_assembler/mainframe_iv') - .itemInputs('2x gtceu:aluminium_frame', '2x gtceu:micro_processor_computer', '8x #gtceu:inductors', '16x #gtceu:capacitors', 'gtceu:nano_cpu_chip', '16x gtceu:annealed_copper_single_wire') - .inputFluids(Fluid.of('gtceu:tin', 576)) - .itemOutputs('gtceu:micro_processor_mainframe') - .duration(20 * 40) - .EUt(GTValues.VA[GTValues.HV]) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.circuit_assembler('tfg:circuit_assembler/mainframe_iv_soldering_alloy') - .itemInputs('2x gtceu:aluminium_frame', '2x gtceu:micro_processor_computer', '8x #gtceu:inductors', '16x #gtceu:capacitors', 'gtceu:nano_cpu_chip', '16x gtceu:annealed_copper_single_wire') - .inputFluids(Fluid.of('gtceu:soldering_alloy', 288)) - .itemOutputs('gtceu:micro_processor_mainframe') - .duration(20 * 40) - .EUt(GTValues.VA[GTValues.HV]) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.circuit_assembler('tfg:circuit_assembler/mainframe_iv_asmd') - .itemInputs('2x gtceu:aluminium_frame', '2x gtceu:micro_processor_computer', '2x gtceu:advanced_smd_inductor', '4x gtceu:advanced_smd_capacitor', 'gtceu:nano_cpu_chip', '16x gtceu:annealed_copper_single_wire') - .inputFluids(Fluid.of('gtceu:tin', 576)) - .itemOutputs('gtceu:micro_processor_mainframe') - .duration(20 * 20) - .EUt(GTValues.VA[GTValues.HV]) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.circuit_assembler('tfg:circuit_assembler/mainframe_iv_asmd_soldering_alloy') - .itemInputs('2x gtceu:aluminium_frame', '2x gtceu:micro_processor_computer', '2x gtceu:advanced_smd_inductor', '4x gtceu:advanced_smd_capacitor', 'gtceu:nano_cpu_chip', '16x gtceu:annealed_copper_single_wire') - .inputFluids(Fluid.of('gtceu:soldering_alloy', 288)) - .itemOutputs('gtceu:micro_processor_mainframe') - .duration(20 * 20) - .EUt(GTValues.VA[GTValues.HV]) - .cleanroom(CleanroomType.CLEANROOM) - // Quantum Eye event.replaceInput({ id: 'gtceu:assembler/field_generator_ev' }, 'minecraft:nether_star', 'gtceu:quantum_eye') diff --git a/kubejs/server_scripts/tfg/machines/recipes.etching.js b/kubejs/server_scripts/tfg/machines/recipes.etching.js new file mode 100644 index 000000000..f888817de --- /dev/null +++ b/kubejs/server_scripts/tfg/machines/recipes.etching.js @@ -0,0 +1,65 @@ +// priority: 0 +"use strict"; + +function registerTFGEtchingRecipes(event) { + + //#region Redstone Etching Fluids + event.recipes.gtceu.chemical_bath('tfg:redstone_nitrate') + .itemInputs(Item.of('minecraft:redstone', 1)) + .inputFluids(Fluid.of('gtceu:nitric_acid', 3000)) + .outputFluids(Fluid.of('gtceu:hydrogen', 3000)) + .itemOutputs(Item.of('tfg:redstone_nitrate_dust', 1)) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.chemical_reactor('tfg:redstone_chloride') + .itemInputs(Item.of('tfg:redstone_nitrate_dust', 1)) + .itemInputs(Item.of('gtceu:salt_dust', 3)) + .itemOutputs(Item.of('tfg:sodium_nitrate_dust', 3)) + .outputFluids(Fluid.of('tfg:redstone_chloride', 1000)) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.chemical_reactor('tfg:redstone_tri_p_toluenesulfonate') + .inputFluids(Fluid.of('tfg:redstone_chloride', 1000)) + .inputFluids(Fluid.of('tfg:p_toluenesulfonic_acid', 3000)) + .outputFluids(Fluid.of('gtceu:chlorine', 3000)) + .outputFluids(Fluid.of('tfg:redstone_tri_p_toluenesulfonate', 1000)) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.large_chemical_reactor('tfg:p_toluenesulfonic_acid') + .inputFluids(Fluid.of('gtceu:toluene', 1000)) + .inputFluids(Fluid.of('tfg:thionyl_chloride', 1000)) + .inputFluids(Fluid.of('gtceu:sulfuric_acid', 1000)) + .outputFluids(Fluid.of('tfg:p_toluenesulfonic_acid', 1000)) + .outputFluids(Fluid.of('gtceu:sulfur_dioxide', 1000)) + .outputFluids(Fluid.of('gtceu:hydrochloric_acid', 2000)) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.chemical_reactor('tfg:thionyl_chloride') + .inputFluids(Fluid.of('gtceu:sulfur_trioxide', 1000)) + .inputFluids(Fluid.of('tfg:sulfur_dichloride', 1000)) + .outputFluids(Fluid.of('gtceu:sulfur_dioxide', 1000)) + .outputFluids(Fluid.of('tfg:thionyl_chloride', 1000)) + .duration(20 * 3) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.chemical_reactor('tfg:sulfur_dichloride') + .itemInputs(Item.of('gtceu:sulfur_dust', 1)) + .inputFluids(Fluid.of('gtceu:chlorine', 2000)) + .outputFluids(Fluid.of('tfg:sulfur_dichloride', 1000)) + .duration(20 * 3) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.chemical_reactor('tfg:sodium_nitrate_to_nitric_acid') + .itemInputs(Item.of('tfg:sodium_nitrate_dust', 1)) + .inputFluids(Fluid.of('gtceu:hydrochloric_acid', 1000)) + .outputFluids(Fluid.of('gtceu:nitric_acid', 1000)) + .itemOutputs(Item.of('gtceu:salt_dust', 1)) + .duration(30) + .EUt(GTValues.VA[GTValues.HV]) + + //#endregion +} diff --git a/kubejs/server_scripts/tfg/machines/recipes.multiblocks.js b/kubejs/server_scripts/tfg/machines/recipes.multiblocks.js index b5a1d9298..ca0fb5d3b 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.multiblocks.js +++ b/kubejs/server_scripts/tfg/machines/recipes.multiblocks.js @@ -259,6 +259,19 @@ function registerTFGMultiblockRecipes(event) { F: 'gtceu:mv_electric_piston' }).addMaterialInfo().id('gtceu:shaped/coal_liquefaction_tower') + event.recipes.gtceu.shaped('tfg:high_temp_precision_fabricator', [ + 'BEB', + 'CAC', + 'DFD' + ], { + A: 'gtceu:mv_machine_hull', + B: 'gtceu:mv_robot_arm', + C: '#gtceu:circuits/mv', + D: '#forge:double_wires/cupronickel', + E: '#forge:single_cables/copper', + F: 'tfg:casings/sterling_silver_casing' + }).addMaterialInfo().id('tfg:shaped/high_temp_precision_fabricator') + event.remove({output: 'gtceu:active_transformer'}) event.recipes.gtceu.assembler('tfg:active_power_transformer') diff --git a/kubejs/server_scripts/tfg/mars/recipes.ostrum.js b/kubejs/server_scripts/tfg/mars/recipes.ostrum.js index bf4ff9dbc..4a1b8c664 100644 --- a/kubejs/server_scripts/tfg/mars/recipes.ostrum.js +++ b/kubejs/server_scripts/tfg/mars/recipes.ostrum.js @@ -200,6 +200,17 @@ function registerTFGMarsOstrumRecipes(event) { .duration(20 * 240) .EUt(GTValues.VA[GTValues.LuV]) + event.recipes.gtceu.ostrum_linear_accelerator('tfg:lorandite_ola') + .perTick(true) + .inputFluids(Fluid.of('gtceu:residual_radioactive_concoction', 1)) + .perTick(false) + .inputFluids(Fluid.of('gtceu:dense_ostrum_vapor', 1000), Fluid.of('gtceu:martian_sludge', 16000)) + .itemOutputs(Item.of('tfg:dusty_raw_lorandite', 16)) + .input($HeatRecipeCapability.CAP, new $HeatIngredient(500, 500)) + .dimension('ad_astra:mars') + .duration(20 * 300) + .EUt(GTValues.VA[GTValues.IV]) + event.recipes.gtceu.ostrum_linear_accelerator('tfg:tbu_232_rod_ola') .perTick(true) .inputFluids(Fluid.of('gtceu:residual_radioactive_concoction', 1)) diff --git a/kubejs/server_scripts/tfg/mv_rework/material.recipes.js b/kubejs/server_scripts/tfg/mv_rework/material.recipes.js new file mode 100644 index 000000000..c91f2e8f1 --- /dev/null +++ b/kubejs/server_scripts/tfg/mv_rework/material.recipes.js @@ -0,0 +1,151 @@ +function registerTFGMVMaterialRecipes(event) { + + // SiC + + event.remove({ id: 'gtceu:electric_blast_furnace/blast_rough_silicon_carbide' }) + event.remove({ id: 'gtceu:electric_blast_furnace/blast_rough_silicon_carbide_gas' }) + event.remove({ id: 'gtceu:alloy_smelter/alloy_smelt_silicon_carbide_to_nugget' }) + + event.recipes.gtceu.electric_blast_furnace('tfg:rough_sic_gem') + .itemInputs(Item.of('gtceu:quartzite_gem', 9), Item.of('gtceu:graphite_dust', 27)) + .itemOutputs(Item.of('tfg:hot_rough_silicon_carbide_ingot', 1)) + .outputFluids(Fluid.of('gtceu:carbon_monoxide', 18000)) + .blastFurnaceTemp(1760) + .duration(20 * 180) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.electric_blast_furnace('tfg:flawless_rough_sic_gem') + .itemInputs(Item.of('gtceu:flawless_quartzite_gem', 9), Item.of('gtceu:graphite_dust', 27)) + .itemOutputs(Item.of('tfg:hot_rough_silicon_carbide_ingot', 5)) + .outputFluids(Fluid.of('gtceu:carbon_monoxide', 18000)) + .blastFurnaceTemp(1760) + .duration(20 * 140) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.electric_blast_furnace('tfg:exquisite_rough_sic_gem') + .itemInputs(Item.of('gtceu:exquisite_quartzite_gem', 9), Item.of('gtceu:graphite_dust', 27)) + .itemOutputs(Item.of('tfg:hot_rough_silicon_carbide_ingot', 9)) + .outputFluids(Fluid.of('gtceu:carbon_monoxide', 18000)) + .blastFurnaceTemp(1760) + .duration(20 * 100) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.chemical_bath('tfg:silicon_carbide') + .itemInputs(Item.of('tfg:rough_silicon_carbide_dust',1)) + .inputFluids(Fluid.of('gtceu:hydrochloric_acid', 1000)) + .itemOutputs(Item.of('tfg:silicon_carbide_ingot', 1)) + .duration(20*16) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.chemical_bath('tfg:silicon_carbide_cool_down') + .itemInputs(Item.of('#forge:hot_ingots/rough_silicon_carbide', 1)) + .inputFluids(Fluid.of('minecraft:water', 100)) + .itemOutputs(Item.of('#forge:ingots/rough_silicon_carbide', 1)) + .duration(20*36) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.chemical_bath('tfg:silicon_carbide_cool_down_distilled_water') + .itemInputs(Item.of('#forge:hot_ingots/rough_silicon_carbide', 1)) + .inputFluids(Fluid.of('gtceu:distilled_water', 100)) + .itemOutputs(Item.of('#forge:ingots/rough_silicon_carbide', 1)) + .duration(20*21) + .EUt(GTValues.VA[GTValues.MV]) + + // Rene 41 + + event.recipes.gtceu.mixer('tfg:rene_41_dust') + .itemInputs( + Item.of('gtceu:nickel_dust', 5), + Item.of('gtceu:chromium_dust', 3), + Item.of('gtceu:cobalt_dust', 2), + Item.of('gtceu:molybdenum_dust', 1), + Item.of('gtceu:aluminium_dust', 1), + Item.of('gtceu:boron_dust', 1)) + .inputFluids(Fluid.of('gtceu:carbon_monoxide', 1000)) + .itemOutputs(Item.of('tfg:rene_41_dust', 7)) + .outputFluids(Fluid.of('gtceu:oxygen', 1000)) + .duration(20*46) + .EUt(GTValues.VA[GTValues.MV]) + .circuit(4) + + event.recipes.gtceu.chemical_bath('tfg:rene_41_cool_down') + .itemInputs(Item.of('#forge:hot_ingots/rene_41', 1)) + .inputFluids(Fluid.of('minecraft:water', 100)) + .itemOutputs(Item.of('#forge:ingots/rene_41', 1)) + .duration(20*23) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.chemical_bath('tfg:rene_41_cool_down_distilled_water') + .itemInputs(Item.of('#forge:hot_ingots/rene_41', 1)) + .inputFluids(Fluid.of('gtceu:distilled_water', 100)) + .itemOutputs(Item.of('#forge:ingots/rene_41', 1)) + .duration(20*14) + .EUt(GTValues.VA[GTValues.MV]) + + //#region Diamond Tipped Tools custom recipes + + event.recipes.gtceu.high_temperature_precision_fabricator('tfg:diamond_tipped_mo_50_re') + .itemInputs('1x tfg:mo_50_re_ingot', 'gtceu:diamond_dust') + .perTick(true) + .inputFluids(Fluid.of('gtceu:methane', 2.5), Fluid.of('gtceu:hydrogen', 10)) + .perTick(false) + .itemOutputs('tfg:diamond_tipped_mo_50_re_ingot') + .circuit(1) + .duration(5 * 20) + .addData("ebf_temp", 1784) + .EUt(GTValues.VA[GTValues.MV]) + + const diamondTippedToolHeads = [ + {id: "wrench_tip", amount:2}, + {id: "knife_head", amount:1}, + {id: "screwdriver_tip", amount:1}, + {id: "buzz_saw_blade", amount:2}, + {id: "hoe_head", amount:1}, + {id: "scythe_head", amount:1}, + {id: "hammer_head", amount:1}, + {id: "wire_cutter_head", amount:2}, + {id: "file_head", amount:1}, + {id: "sword_head", amount:2}, + {id: "butchery_knife_head", amount:1} + ] + + diamondTippedToolHeads.forEach((element, index) => { + event.recipes.gtceu.laser_engraver(`tfg:diamond_tipped_mo_50_re_${element.id}_laser_engraving`) + .itemInputs(`${element.amount}x #forge:ingots/diamond_tipped_mo_50_re`) + .itemOutputs(`tfg:diamond_tipped_mo_50_re_${element.id}`) + .notConsumable('gtceu:glass_lens') + .duration(15 * 20 * element.amount) + .circuit(index) + .EUt(GTValues.VA[GTValues.MV]) + }); + + event.remove({ id: 'gtceu:alloy_smelter/alloy_smelt_diamond_tipped_mo_50_re_to_nugget'}) + + + + //#endregion + + //#region Modify Electronic Component to require Silicon Rubber + + event.replaceInput({ id: 'gtceu:assembler/transistor' }, Fluid.of('gtceu:polyethylene'), Fluid.of('gtceu:silicone_rubber')) + event.replaceInput({ id: 'gtceu:assembler/capacitor' }, Item.of('gtceu:polyethylene_foil'), Item.of('gtceu:silicone_rubber_foil')) + + // SiC SiC rotor + + const transitional = 'tfg:silicon_carbide_silicon_carbide_turbine_blade' + event.recipes.create.sequenced_assembly([ + Item.of('gtceu:turbine_rotor', '{GT.PartStats:{Material:"tfg:silicon_carbide_silicon_carbide"}}'), + ], 'tfg:silicon_carbide_ingot', [ + event.recipes.create.deploying(transitional, [transitional, 'tfg:silicon_carbide_plate']), + event.recipes.greate.pressing(transitional, transitional), + event.recipes.create.cutting(transitional, transitional), + event.recipes.create.filling(transitional, [Fluid.of('tfg:silicon_carbide', 144), transitional]), + event.recipes.vintageimprovements.vacuumizing(transitional, [transitional, Item.of('tfg:silicon_carbide_dust', 1)]).processingTime(50), + event.recipes.create.deploying(transitional, [transitional, '#forge:tools/wire_cutters']), + ]) + .transitionalItem(transitional) + .loops(10) + .id('tfg:equenced_assembly/sic_sic_turbine_rotor') + + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.alloys.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.alloys.js index a159b0a38..3763d86c2 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.alloys.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.alloys.js @@ -267,6 +267,13 @@ function registerTFGAlloyingRecipes(event) { .duration(20) .EUt(GTValues.VA[GTValues.LV]) + event.recipes.gtceu.implosion_compressor('tfg:glowstone_block_powderbarrel') + .itemInputs('5x #forge:dusts/glowstone', '8x gtceu:powderbarrel') + .itemOutputs('1x minecraft:glowstone') + .chancedOutput('#forge:dusts/ash', 2500, 0) + .duration(20) + .EUt(GTValues.VA[GTValues.LV]) + event.recipes.gtceu.implosion_compressor('tfg:glowstone_block_tnt') .itemInputs('5x #forge:dusts/glowstone', '4x minecraft:tnt') .itemOutputs('1x minecraft:glowstone') diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.gem_slurries.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.gem_slurries.js new file mode 100644 index 000000000..78e4bc5be --- /dev/null +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.gem_slurries.js @@ -0,0 +1,62 @@ +// priority: 0 + +function registerTFGGemSlurriesProcessing(event) { + + const $ChanceLogic = Java.loadClass('com.gregtechceu.gtceu.api.recipe.chance.logic.ChanceLogic') + + function slurryProcessing(event, inputId, output, amount) { + event.recipes.gtceu.coal_liquefaction_tower(`tfg:dirty_${output}_slurry_${linuxUnfucker(inputId)}`) + .itemInputs(Item.of(inputId)) + .perTick(true) + .chancedFluidInput(Fluid.of('gtceu:hydrogen', 10), 1000, 0) + .perTick(false) + .outputFluids(Fluid.of(`tfg:dirty_${output}_slurry`, amount)) + .duration(20 * 50) + .EUt(GTValues.VA[GTValues.LV]); + } + + const gemMaterials = [ + [GTMaterials.Emerald, 'emerald', { dust: 100, gem: 300, flawless: 600, exquisite: 1200 }], + [GTMaterials.Sapphire, 'sapphire', { dust: 100, gem: 300, flawless: 600, exquisite: 1200 }], + [GTMaterials.Ruby, 'ruby', { dust: 100, gem: 300, flawless: 600, exquisite: 1200 }], + [GTMaterials.Diamond, 'diamond', { dust: 100, gem: 300, flawless: 600, exquisite: 1200 }], + [GTMaterials.Apatite, 'apatite', { dust: 100, gem: 300, flawless: 600, exquisite: 1200 }], + [GTMaterials.Spessartine,'spessartine', { dust: 100, gem: 300, flawless: 600, exquisite: 1200 }], + ]; + + gemMaterials.forEach(([material, output, amounts]) => { + slurryProcessing(event, ChemicalHelper.get(TagPrefix.dust, material, 1), output, amounts.dust); + slurryProcessing(event, ChemicalHelper.get(TagPrefix.gem, material, 1), output, amounts.gem); + slurryProcessing(event, ChemicalHelper.get(TagPrefix.gemFlawless, material, 1), output, amounts.flawless); + slurryProcessing(event, ChemicalHelper.get(TagPrefix.gemExquisite, material, 1), output, amounts.exquisite); + }); + + +function slurryCentrifuging(event, name, itemOutputs, fluidOutputs, chancedOutputs) { + const recipe = event.recipes.gtceu.centrifuge(`tfg:dirty_${name}_slurry_centrifuge`) + .inputFluids(Fluid.of(`tfg:dirty_${name}_slurry`, 1000)) + .itemOutputs(itemOutputs.map(([item, amount]) => Item.of(item, amount))) + .duration(20 * 16) + .EUt(GTValues.VA[GTValues.MV]); + + if (fluidOutputs && fluidOutputs.length > 0) { + recipe.outputFluids(fluidOutputs.map(([fluid, amount]) => Fluid.of(fluid, amount))); + } + if (chancedOutputs && chancedOutputs.length > 0) { + chancedOutputs.forEach(([item, chance, tierBoost]) => { + recipe.chancedOutput(Item.of(item), chance, tierBoost); + }); + } +} + +const GEM_CENTRIFUGE = [ + ['emerald', [['gtceu:beryllium_dust', 3], ['gtceu:aluminium_dust', 2], ['gtceu:silicon_dust', 6]], [['gtceu:oxygen', 18000]], [['gtceu:ilmenite_dust', 10, 0]]], + ['sapphire', [['gtceu:aluminium_dust', 2*6]], [['gtceu:oxygen', 3000*6]], [['gtceu:ilmenite_dust', 200, 0], ['gtceu:iron_dust', 200, 0], ['gtceu:vanadium_dust', 200, 0]]], + ['ruby', [['gtceu:chromium_dust', 1*6], ['gtceu:aluminium_dust', 2*6]], [['gtceu:oxygen', 3000*6]], [['gtceu:ilmenite_dust', 200, 0], ['gtceu:iron_dust', 200, 0], ['gtceu:vanadium_dust', 200, 0]]], + ['diamond', [['gtceu:carbon_dust', 64], ['gtceu:graphite_dust', 1]], [], []], + ['apatite', [['gtceu:calcium_dust', 5*3], ['gtceu:phosphorus_dust', 3*3]], [['gtceu:chlorine', 1000*3]], []], + ['spessartine', [['gtceu:aluminium_dust', 2*1.5], ['gtceu:manganese_dust', 3*1.5], ['gtceu:silicon_dust', 3*1.5]], [['gtceu:oxygen', 12000*1.5]], []], +]; + +GEM_CENTRIFUGE.forEach(([name, itemOutputs, fluidOutputs, chancedOutputs]) => slurryCentrifuging(event, name, itemOutputs, fluidOutputs, chancedOutputs)); +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_ores.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_ores.js index 2e3fe3968..fcbd32f43 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_ores.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_ores.js @@ -301,7 +301,7 @@ function processCrushedOre(event, material) { // GT machines event.recipes.gtceu.ore_washer(`wash_${materialName}_crushed_ore_to_purified_ore_distilled`) .itemInputs(crushedOreItem) - .inputFluids("gtceu:distilled_water 10") + .inputFluids("gtceu:distilled_water 50") .itemOutputs(pureOreItem, 'gtceu:stone_dust') .chancedOutput(byproductItem, 3333, 0) .duration(20) @@ -309,7 +309,7 @@ function processCrushedOre(event, material) { event.recipes.gtceu.ore_washer(`wash_${materialName}_crushed_ore_to_purified_ore`) .itemInputs(crushedOreItem) - .inputFluids("minecraft:water 100") + .inputFluids("minecraft:water 500") .itemOutputs(pureOreItem, 'gtceu:stone_dust') .chancedOutput(byproductItem, 3333, 0) .circuit(1) @@ -328,7 +328,7 @@ function processCrushedOre(event, material) { event.recipes.greate.splashing( [pureOreItem, Item.of(byproductItem).withChance(0.14), 'gtceu:stone_dust'], - [crushedOreItem, Fluid.of('minecraft:water', 100)] + [crushedOreItem, Fluid.of('minecraft:water', 500)] ) .recipeTier(1) .circuitNumber(1) @@ -336,7 +336,7 @@ function processCrushedOre(event, material) { event.recipes.greate.splashing( [pureOreItem, Item.of(byproductItem).withChance(0.333), 'gtceu:stone_dust'], - [crushedOreItem, Fluid.of('gtceu:distilled_water', 10)] + [crushedOreItem, Fluid.of('gtceu:distilled_water', 50)] ) .recipeTier(1) .circuitNumber(2) @@ -458,7 +458,7 @@ function processImpureDust(event, material) { // Bulk washing event.recipes.greate.splashing( [dustItem], - [impureDustItem, Fluid.of('minecraft:water', 100)] + [impureDustItem, Fluid.of('minecraft:water', 500)] ) .recipeTier(1) .circuitNumber(1) @@ -466,7 +466,7 @@ function processImpureDust(event, material) { event.recipes.greate.splashing( [dustItem], - [impureDustItem, Fluid.of('gtceu:distilled_water', 10)] + [impureDustItem, Fluid.of('gtceu:distilled_water', 50)] ) .recipeTier(1) .circuitNumber(2) @@ -523,7 +523,7 @@ function processPureDust(event, material) { // Bulk washing event.recipes.greate.splashing( [dustItem], - [pureDustItem, Fluid.of('minecraft:water', 100)] + [pureDustItem, Fluid.of('minecraft:water', 500)] ) .recipeTier(1) .circuitNumber(1) @@ -531,7 +531,7 @@ function processPureDust(event, material) { event.recipes.greate.splashing( [dustItem], - [pureDustItem, Fluid.of('gtceu:distilled_water', 10)] + [pureDustItem, Fluid.of('gtceu:distilled_water', 50)] ) .recipeTier(1) .circuitNumber(2) diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tag_prefixes.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tag_prefixes.js index 416da0f43..e3fe4a578 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tag_prefixes.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tag_prefixes.js @@ -223,8 +223,8 @@ function processFoil(event, material) { const foilItem = ChemicalHelper.get(TagPrefix.foil, material, 4) const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) - if (plateItem.isEmpty() || foilItem.isEmpty() || plateItem.hasTag('c:hidden_from_recipe_viewers')) - return; + if (plateItem.isEmpty() || foilItem.isEmpty() || plateItem.hasTag('c:hidden_from_recipe_viewers') || plateItem.hasTag('tfg:no_vintage_gen')) + return; event.custom({ type: "createaddition:rolling", diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tools.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tools.js index 88485e155..c257ca12e 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tools.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tools.js @@ -36,15 +36,10 @@ function processToolMortar(event, toolType, material) { /** * @param {Internal.RecipesEventJS} event * @param {GTToolType} toolType - * @param {String} tagPrefixName * @param {TagPrefix} headTagPrefix - * @param {Internal.ItemStack} extruderMold - * @param {Internal.ItemStack} ceramicMold - * @param {number} circuitMeta - * Used for the laser engraver recipes for gem tools. * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material */ -function processGTToolHead(event, toolType, tagPrefixName, headTagPrefix, extruderMold, ceramicMold, circuitMeta, material) { +function processGTToolHead(event, toolType, headTagPrefix, material) { const toolItem = ToolHelper.get(toolType, material); const toolHeadItem = ChemicalHelper.get(headTagPrefix, material, 1); @@ -95,8 +90,6 @@ function processGTToolHead(event, toolType, tagPrefixName, headTagPrefix, extrud const materialAmount = getMaterialAmount(headTagPrefix, material); addTFCMelting(event, toolItem, material, materialAmount * 144, toolType.name); } - - processToolHead(event, headTagPrefix, tagPrefixName, extruderMold, ceramicMold, circuitMeta, material); } /** @@ -132,13 +125,15 @@ function processToolHead(event, headTagPrefix, tagPrefixName, extruderMold, cera .duration(material.getMass() * 6) .EUt(GTValues.VA[GTValues.LV]) - let input_array = []; - for (let i = 0; i < materialAmount; i++) { - input_array.push(ingotItem); + if (material.hasProperty(TFGPropertyKey.TFC_PROPERTY)) { + let input_array = []; + for (let i = 0; i < materialAmount; i++) { + input_array.push(ingotItem); + } + event.recipes.vintageimprovements.curving(toolHeadItem, input_array) + .head(extruderMold) + .id(`tfg:vi/curving/${materialName}_ingot_to_${tagPrefixName}`) } - event.recipes.vintageimprovements.curving(toolHeadItem, input_array) - .head(extruderMold) - .id(`tfg:vi/curving/${materialName}_ingot_to_${tagPrefixName}`) if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED) && ceramicMold !== null) { addMaterialCasting(event, toolHeadItem, ceramicMold, false, null, material, tagPrefixName, materialAmount * 144); diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js index f44afca7b..93e855628 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js @@ -139,14 +139,13 @@ function addMaterialCasting(event, outputItem, ceramicMold, isFireMold, gtMold, // which is an exception that everything can cast into const canBeCasted = material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED) || tagPrefixName === 'ingot'; if (canBeCasted - && tfcProperty !== null + && tfcProperty !== null && ceramicMold !== null // Liquid wrought iron doesn't exist in the TFC era - && material !== GTMaterials.WroughtIron) - { + && material !== GTMaterials.WroughtIron) { const outputMaterial = (tfcProperty.getOutputMaterial() === null) ? material : tfcProperty.getOutputMaterial(); const id = `${materialName}_${tagPrefixName}_${isFireMold ? 'fire' : 'ceramic'}`; - + event.recipes.tfc.casting(outputItem, ceramicMold, Fluid.of(outputMaterial.getFluid(), mbAmount), isFireMold ? 0.01 : 0.1) .id(`tfg:casting/${id}`); @@ -218,7 +217,9 @@ function addMaterialWelding(event, outputItem, inputItem1, inputItem2, material, * @param {Internal.RecipesEventJS} event */ function registerTFGMaterialRecipes(event) { - const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials") + const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials"); + const $GTToolType = Java.loadClass('com.gregtechceu.gtceu.api.item.tool.GTToolType'); + const $toolTypes = $GTToolType.getTypes(); forEachMaterial(material => { // greate moment @@ -226,8 +227,7 @@ function registerTFGMaterialRecipes(event) { || material === $GreateMaterials.RefinedRadiance || material === $GreateMaterials.ShadowSteel || material === $GreateMaterials.ChromaticCompound - || material === GTMaterials.DamascusSteel) - { return; } + || material === GTMaterials.DamascusSteel) { return; } if (material.hasProperty(PropertyKey.DUST)) { processDust(event, material) @@ -236,26 +236,53 @@ function registerTFGMaterialRecipes(event) { const toolProperty = material.getProperty(PropertyKey.TOOL) if (toolProperty !== null) { - modifyRecyclingAmounts(material) - let circuit = 1; - processGTToolHead(event, GTToolType.SWORD, "sword_head", TFGTagPrefix.toolHeadSword, 'tfg:sword_head_extruder_mold', 'tfc:ceramic/sword_blade_mold', circuit++, material) - processGTToolHead(event, GTToolType.PICKAXE, "pickaxe_head", TFGTagPrefix.toolHeadPickaxe, 'tfg:pickaxe_head_extruder_mold', 'tfc:ceramic/pickaxe_head_mold', circuit++, material) - processGTToolHead(event, GTToolType.AXE, "axe_head", TFGTagPrefix.toolHeadAxe, 'tfg:axe_head_extruder_mold', 'tfc:ceramic/axe_head_mold', circuit++, material) - processGTToolHead(event, GTToolType.SHOVEL, "shovel_head", TFGTagPrefix.toolHeadShovel, 'tfg:shovel_head_extruder_mold', 'tfc:ceramic/shovel_head_mold', circuit++, material) - processGTToolHead(event, GTToolType.HOE, "hoe_head", TFGTagPrefix.toolHeadHoe, 'tfg:hoe_head_extruder_mold', 'tfc:ceramic/hoe_head_mold', circuit++, material) - processGTToolHead(event, GTToolType.KNIFE, "knife_head", TFGTagPrefix.toolHeadKnife, 'tfg:knife_head_extruder_mold', 'tfc:ceramic/knife_blade_mold', circuit++, material) - processGTToolHead(event, GTToolType.FILE, "file_head", TFGTagPrefix.toolHeadFile, 'tfg:file_head_extruder_mold', null, circuit++, material) - processGTToolHead(event, GTToolType.SAW, "saw_head", TFGTagPrefix.toolHeadSaw, 'tfg:saw_head_extruder_mold', 'tfc:ceramic/saw_blade_mold', circuit++, material) - processGTToolHead(event, GTToolType.SPADE, "spade_head", TFGTagPrefix.toolHeadSpade, 'tfg:spade_head_extruder_mold', null, circuit++, material) - processGTToolHead(event, GTToolType.MINING_HAMMER, "mining_hammer_head", TFGTagPrefix.toolHeadMiningHammer, 'tfg:mining_hammer_head_extruder_mold', null, circuit++, material) - processGTToolHead(event, GTToolType.SCYTHE, "scythe_head", TFGTagPrefix.toolHeadScythe, 'tfg:scythe_head_extruder_mold', 'tfc:ceramic/scythe_blade_mold', circuit++, material) - processGTToolHead(event, GTToolType.HARD_HAMMER, "hammer_head", TFGTagPrefix.toolHeadHammer, 'tfg:hammer_head_extruder_mold', 'tfc:ceramic/hammer_head_mold', circuit++, material) - processGTToolHead(event, GTToolType.BUTCHERY_KNIFE, "butchery_knife_head", TFGTagPrefix.toolHeadButcheryKnife, 'tfg:butchery_knife_head_extruder_mold', null, circuit++, material) - processGTToolHead(event, GTToolType.SCREWDRIVER, "screwdriver_tip", TagPrefix.toolHeadScrewdriver, 'tfg:screwdriver_tip_extruder_mold', null, circuit++, material) - processGTToolHead(event, GTToolType.WRENCH, "wrench_tip", TagPrefix.toolHeadWrench, 'tfg:wrench_tip_extruder_mold', null, circuit++, material) - processGTToolHead(event, GTToolType.WIRE_CUTTER, "wire_cutter_head", TagPrefix.toolHeadWireCutter, 'tfg:wire_cutter_head_extruder_mold', null, circuit++, material) - processToolMortar(event, GTToolType.MORTAR, material) + modifyRecyclingAmounts(material) + + let circuit = 1; + processGTToolHead(event, GTToolType.SWORD, TFGTagPrefix.toolHeadSword, material) + processToolHead(event, TFGTagPrefix.toolHeadSword, "sword_head", 'tfg:sword_head_extruder_mold', 'tfc:ceramic/sword_blade_mold', circuit++, material) + processGTToolHead(event, GTToolType.PICKAXE, TFGTagPrefix.toolHeadPickaxe, material) + processToolHead(event, TFGTagPrefix.toolHeadPickaxe, "pickaxe_head", 'tfg:pickaxe_head_extruder_mold', 'tfc:ceramic/pickaxe_head_mold', circuit++, material) + processGTToolHead(event, GTToolType.AXE, TFGTagPrefix.toolHeadAxe, material) + processToolHead(event, TFGTagPrefix.toolHeadAxe, "axe_head", 'tfg:axe_head_extruder_mold', 'tfc:ceramic/axe_head_mold', circuit++, material) + processGTToolHead(event, GTToolType.SHOVEL, TFGTagPrefix.toolHeadShovel, material) + processToolHead(event, TFGTagPrefix.toolHeadShovel, "shovel_head", 'tfg:shovel_head_extruder_mold', 'tfc:ceramic/shovel_head_mold', circuit++, material) + processGTToolHead(event, GTToolType.HOE, TFGTagPrefix.toolHeadHoe, material) + processToolHead(event, TFGTagPrefix.toolHeadHoe, "hoe_head", 'tfg:hoe_head_extruder_mold', 'tfc:ceramic/hoe_head_mold', circuit++, material) + processGTToolHead(event, GTToolType.KNIFE, TFGTagPrefix.toolHeadKnife, material) + processToolHead(event, TFGTagPrefix.toolHeadKnife, "knife_head", 'tfg:knife_head_extruder_mold', 'tfc:ceramic/knife_blade_mold', circuit++, material) + processGTToolHead(event, GTToolType.FILE, TFGTagPrefix.toolHeadFile, material) + processToolHead(event, TFGTagPrefix.toolHeadFile, "file_head", 'tfg:file_head_extruder_mold', null, circuit++, material) + + processGTToolHead(event, GTToolType.SAW, TFGTagPrefix.toolHeadSaw, material) + processToolHead(event, TFGTagPrefix.toolHeadSaw, "saw_head", 'tfg:saw_head_extruder_mold', 'tfc:ceramic/saw_blade_mold', circuit++, material) + processGTToolHead(event, GTToolType.SPADE, TFGTagPrefix.toolHeadSpade, material) + processToolHead(event, TFGTagPrefix.toolHeadSpade, "spade_head", 'tfg:spade_head_extruder_mold', null, circuit++, material) + processGTToolHead(event, GTToolType.MINING_HAMMER, TFGTagPrefix.toolHeadMiningHammer, material) + processToolHead(event, TFGTagPrefix.toolHeadMiningHammer, "mining_hammer_head", 'tfg:mining_hammer_head_extruder_mold', null, circuit++, material) + processGTToolHead(event, GTToolType.SCYTHE, TFGTagPrefix.toolHeadScythe, material) + processToolHead(event, TFGTagPrefix.toolHeadScythe, "scythe_head", 'tfg:scythe_head_extruder_mold', 'tfc:ceramic/scythe_blade_mold', circuit++, material) + processGTToolHead(event, GTToolType.HARD_HAMMER, TFGTagPrefix.toolHeadHammer, material) + processToolHead(event, TFGTagPrefix.toolHeadHammer, "hammer_head", 'tfg:hammer_head_extruder_mold', 'tfc:ceramic/hammer_head_mold', circuit++, material) + processGTToolHead(event, GTToolType.BUTCHERY_KNIFE, TFGTagPrefix.toolHeadButcheryKnife, material) + processToolHead(event, TFGTagPrefix.toolHeadButcheryKnife, "butchery_knife_head", 'tfg:butchery_knife_head_extruder_mold', null, circuit++, material) + + // Tiered tools -- LV is skipped because all LV tools also have non-electric versions which + // the non-electric ToolType handles + processGTToolHead(event, GTToolType.SCREWDRIVER, TagPrefix.toolHeadScrewdriver, material) + processToolHead(event, TagPrefix.toolHeadScrewdriver, "screwdriver_tip", 'tfg:screwdriver_tip_extruder_mold', null, circuit++, material) + + processGTToolHead(event, GTToolType.WRENCH, TagPrefix.toolHeadWrench, material) + processToolHead(event, TagPrefix.toolHeadWrench, "wrench_tip", 'tfg:wrench_tip_extruder_mold', null, circuit++, material) + + processGTToolHead(event, GTToolType.WIRE_CUTTER, TagPrefix.toolHeadWireCutter, material) + processToolHead(event, TagPrefix.toolHeadWireCutter, "wire_cutter_head", 'tfg:wire_cutter_head_extruder_mold', null, circuit++, material) + + // chainsaw, drill, buzzsaw + // chainsaw and drill heads + + processToolMortar(event, GTToolType.MORTAR, material); processToolHead(event, TFGTagPrefix.toolHeadPropick, "propick_head", 'tfg:propick_head_extruder_mold', 'tfc:ceramic/propick_head_mold', circuit++, material) processToolHead(event, TFGTagPrefix.toolHeadJavelin, "javelin_head", 'tfg:javelin_head_extruder_mold', 'tfc:ceramic/javelin_head_mold', circuit++, material) @@ -264,7 +291,7 @@ function registerTFGMaterialRecipes(event) { processToolHead(event, TFGTagPrefix.toolHeadMattock, "mattock_head", 'tfg:mattock_head_extruder_mold', null, circuit++, material) processToolHead(event, TFGTagPrefix.toolHeadHook, "fish_hook", 'tfg:fish_hook_extruder_mold', null, circuit++, material) } - + if (material.hasProperty(PropertyKey.INGOT)) { processIngot(event, material) processIngotDouble(event, material) @@ -317,7 +344,7 @@ function registerTFGMaterialRecipes(event) { if (material.hasFlag(TFGMaterialFlags.HAS_TFC_UTILITY)) { processTongs(event, material) } - + const oreProperty = material.getProperty(PropertyKey.ORE); if (oreProperty !== null) { processSmallOre(event, material) diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.mo_si_b.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.mo_si_b.js new file mode 100644 index 000000000..0f4dd1700 --- /dev/null +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.mo_si_b.js @@ -0,0 +1,110 @@ +"use strict"; + +function registerTFGMoSiBRecipes(event) { + + const $HeatRecipeCapability = Java.loadClass("fi.dea.mc.deafission.common.data.recipe.HeatRecipeCapability"); + const $HeatIngredient = Java.loadClass("fi.dea.mc.deafission.common.data.recipe.HeatIngredient"); + + // Mo-Si-B Line + + event.remove({ id: 'gtceu:vacuum_freezer/cool_hot_mo_si_b_ingot' }) + event.remove({ id: 'gtceu:vacuum_freezer/cool_hot_homogenized_mo_si_b_ingot' }) + event.remove({ id: 'gtceu:electric_blast_furnace/blast_weak_mo_si_b_gas' }) + event.remove({ id: 'gtceu:electric_blast_furnace/blast_weak_mo_si_b' }) + event.remove({ id: 'gtceu:alloy_smelter/alloy_smelt_homogenized_mo_si_b_to_nugget' }) + event.remove({ id: 'gtceu:alloy_smelter/alloy_smelt_activated_mo_si_b_to_nugget' }) + event.remove({ id: 'gtceu:vacuum_freezer/cool_hot_weak_mo_si_b_ingot' }) + + event.recipes.gtceu.mixer('tfg:dirty_mo_si_b_dust') + .itemInputs(Item.of('gtceu:silicon_dust', 1), Item.of('gtceu:molybdenum_dust', 1), Item.of('gtceu:boron_dust', 1)) + .inputFluids(Fluid.of('tfg:argon_enriched_atmosphere', 6000)) + .itemOutputs(Item.of('tfg:dirty_mo_si_b_dust', 3)) + .outputFluids(Fluid.of('tfg:hydroxide_decomposition_off_gas', 300)) + .duration(12 * 20) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.arc_furnace('tfg:silicon_tetrachloride_water') + .itemInputs(Item.of('tfg:dirty_mo_si_b_dust', 1)) + .inputFluids(Fluid.of('gtceu:oxygen', 100)) + .itemOutputs(Item.of('tfg:weak_mo_si_b_dust', 1)) + .duration(3 * 20) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.electric_blast_furnace('tfg:hot_weak_mo_si_b_ingot') + .itemInputs(Item.of('tfg:weak_mo_si_b_dust', 1)) + .inputFluids(Fluid.of('gtceu:helium', 100)) + .itemOutputs(Item.of('tfg:hot_weak_mo_si_b_ingot', 1)) + .outputFluids(Fluid.of('tfg:furnace_exhaust_gas', 100)) + .duration(46 * 20) + .EUt(GTValues.VA[GTValues.HV]) + .blastFurnaceTemp(3150) + + event.recipes.gtceu.forge_hammer('tfg:hot_worked_mo_si_b_ingot') + .itemInputs(Item.of('tfg:hot_weak_mo_si_b_ingot', 1)) + .itemOutputs(Item.of('tfg:hot_worked_mo_si_b_ingot', 1)) + .duration(40 * 20) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.chemical_bath('tfg:mo_si_b_off_gas') + .itemInputs(Item.of('tfg:hot_worked_mo_si_b_ingot', 1)) + .inputFluids(Fluid.of('gtceu:hydrofluoric_acid', 1000)) + .itemOutputs(Item.of('tfg:hot_homogenized_mo_si_b_ingot', 1)) + .outputFluids(Fluid.of('tfg:mo_si_b_off_gas', 100)) + .duration(24 * 20) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.chemical_reactor('tfg:medium_temperature_off_gas') + .inputFluids(Fluid.of('tfg:mo_si_b_off_gas', 100), Fluid.of('tfg:furnace_exhaust_gas', 100)) + .outputFluids(Fluid.of('tfg:medium_temperature_off_gas', 100)) + .duration(82 * 20) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.gas_pressurizer('tfg:highly_active_off_gas') + .inputFluids(Fluid.of('tfg:medium_temperature_off_gas', 100), Fluid.of('tfg:linac_activated_gas', 100), Fluid.of('tfg:hydroxide_decomposition_off_gas', 100)) + .outputFluids(Fluid.of('tfg:highly_active_off_gas', 100)) + .duration(37 * 20) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.vacuum_freezer('tfg:dirty_mo_si_b_dust') + .itemInputs(Item.of('tfg:hot_homogenized_mo_si_b_ingot', 1)) + .itemOutputs(Item.of('tfg:homogenized_mo_si_b_ingot', 1)) + .outputFluids(Fluid.of('tfg:inert_furnace_atmosphere', 5000)) + .duration(18 * 20) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.ostrum_linear_accelerator('tfg:activated_mo_si_b_ingot') + .perTick(true) + .inputFluids(Fluid.of('gtceu:residual_radioactive_concoction', 1)) + .perTick(false) + .itemInputs(Item.of('tfg:homogenized_mo_si_b_ingot', 1)) + .inputFluids(Fluid.of('gtceu:dense_ostrum_vapor', 1000)) + .itemOutputs(Item.of('tfg:activated_mo_si_b_ingot', 1)) + .outputFluids(Fluid.of('tfg:linac_activated_gas', 100)) + .input($HeatRecipeCapability.CAP, new $HeatIngredient(500, 900)) + .dimension('ad_astra:mars') + .duration(20 * 600) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.electric_blast_furnace('tfg:hot_mo_si_b_ingot') + .itemInputs(Item.of('tfg:activated_mo_si_b_ingot', 1)) + .inputFluids(Fluid.of('tfg:highly_active_off_gas', 100)) + .itemOutputs(Item.of('tfg:hot_mo_si_b_ingot', 1)) + .duration(46 * 20) + .EUt(GTValues.VA[GTValues.IV]) + .blastFurnaceTemp(3230) + + event.recipes.gtceu.vacuum_freezer('tfg:mo_si_b_ingot') + .itemInputs(Item.of('tfg:hot_mo_si_b_ingot', 1)) + .inputFluids(Fluid.of('gtceu:liquid_helium', 100)) + .itemOutputs(Item.of('tfg:mo_si_b_ingot', 1)) + .outputFluids(Fluid.of('tfg:inert_furnace_atmosphere', 5000)) + .duration(18 * 20) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.chemical_reactor('tfg:argon_enriched_atmosphere') + .inputFluids(Fluid.of('tfg:inert_furnace_atmosphere', 10000), Fluid.of('gtceu:argon', 1000)) + .outputFluids(Fluid.of('tfg:argon_enriched_atmosphere', 2000)) + .duration(60 * 20) + .EUt(GTValues.VA[GTValues.HV]) + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.pipes_hidden.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.pipes_hidden.js new file mode 100644 index 000000000..2a368ca01 --- /dev/null +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.pipes_hidden.js @@ -0,0 +1,125 @@ +//#region Hide Items + +function registerTFGMaterialHiddenPipesTags(event) { + + // Hide Fluid Pipes from EMI + + const hideFluidPipes = (material) => { + const sizes = ['tiny', 'small', 'normal', 'large', 'huge', 'quadruple', 'nonuple']; + sizes.forEach(size => { + event.add('c:hidden_from_recipe_viewers', `#forge:${size}_fluid_pipes/${material}`); + }); + }; + + hideFluidPipes('treated_wood'); + hideFluidPipes('bismuth_bronze'); + hideFluidPipes('black_bronze'); + hideFluidPipes('lead'); + hideFluidPipes('chromium'); + hideFluidPipes('blue_steel'); + hideFluidPipes('red_steel'); + hideFluidPipes('vanadium_steel'); + hideFluidPipes('tungsten'); + hideFluidPipes('ostrum'); + hideFluidPipes('tungsten_carbide'); + hideFluidPipes('tungsten_bismuth_oxide_composite'); + hideFluidPipes('europium'); + + // Hide Item Pipes from EMI + + const hideItemPipes = (material) => { + const sizes = ['small', 'normal', 'large', 'huge']; + const types = ['item_pipes', 'restrictive_pipes']; + sizes.forEach(size => { + types.forEach(type => { + event.add('c:hidden_from_recipe_viewers', `#forge:${size}_${type}/${material}`); + }); + }); + }; + + hideItemPipes('nickel'); + hideItemPipes('platinum'); + hideItemPipes('bismuth'); + hideItemPipes('rose_gold'); + hideItemPipes('sterling_silver'); + hideItemPipes('cobalt_brass'); + hideItemPipes('cupronickel'); + hideItemPipes('magnalium'); + hideItemPipes('osmium'); + hideItemPipes('osmiridium'); + hideItemPipes('americium'); + + const materialPlastic = ['polybenzimidazole', 'polytetrafluoroethylene', 'polyethylene']; + const toolsPlastic = ['mallet', 'plunger']; + materialPlastic.forEach(material => { + toolsPlastic.forEach(tool => { + event.add('c:hidden_from_recipe_viewers', `gtceu:${material}_${tool}` ); + }); + }); + + //#endregion + +} + + //#region Remove Recipes + +function registerTFGMaterialRemovePipesRecipes(event) { + + // Remove Fluid Pipes recipes + + const removeFluidPipes = (material) => { + const sizes = ['tiny', 'small', 'normal', 'large', 'huge', 'quadruple', 'nonuple']; + sizes.forEach(size => { + event.remove({ output: `#forge:${size}_fluid_pipes/${material}` }); + }); + }; + + removeFluidPipes('treated_wood'); + removeFluidPipes('bismuth_bronze'); + removeFluidPipes('black_bronze'); + removeFluidPipes('lead'); + removeFluidPipes('chromium'); + removeFluidPipes('blue_steel'); + removeFluidPipes('red_steel'); + removeFluidPipes('vanadium_steel'); + removeFluidPipes('tungsten'); + removeFluidPipes('ostrum'); + removeFluidPipes('tungsten_carbide'); + removeFluidPipes('tungsten_bismuth_oxide_composite'); + removeFluidPipes('europium'); + + // Remove Item Pipes recipes + + const removeItemPipes = (material) => { + const sizes = ['small', 'normal', 'large', 'huge']; + const types = ['item_pipes', 'restrictive_pipes']; + sizes.forEach(size => { + types.forEach(type => { + event.remove({ output: `#forge:${size}_${type}/${material}` }); + }); + }); + }; + + removeItemPipes('nickel'); + removeItemPipes('platinum'); + removeItemPipes('bismuth'); + removeItemPipes('rose_gold'); + removeItemPipes('sterling_silver'); + removeItemPipes('cobalt_brass'); + removeItemPipes('cupronickel'); + removeItemPipes('magnalium'); + removeItemPipes('osmium'); + removeItemPipes('osmiridium'); + removeItemPipes('americium'); + + const materialRemovePlastic = ['polybenzimidazole', 'polytetrafluoroethylene', 'polyethylene']; + const toolsRemovePlastic = ['mallet', 'plunger']; + + materialRemovePlastic.forEach(material => { + toolsRemovePlastic.forEach(tool => { + event.remove({ output: `gtceu:${material}_${tool}` }); + }); + }); + + //#endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.zirconium.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.zirconium.js index 50666ac21..d798f13fa 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.zirconium.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.zirconium.js @@ -12,13 +12,20 @@ function registerTFGZirconiumRecipes(event) { .circuit(1) .EUt(GTValues.VA[GTValues.MV]) - event.recipes.gtceu.chemical_reactor('tfg:silicon_tetrachloride_decomp') + event.recipes.gtceu.chemical_reactor('tfg:silicon_tetrachloride_water') .inputFluids('tfg:silicon_tetrachloride 1000', 'minecraft:water 2000') - .itemOutputs('#forge:dusts/silicon') - .outputFluids('gtceu:hydrochloric_acid 4000', 'gtceu:oxygen 2000') + .itemOutputs('#forge:dusts/silicon_dioxide') + .outputFluids('gtceu:hydrochloric_acid 4000') .duration(5 * 20) .EUt(GTValues.VA[GTValues.LV]) + event.recipes.gtceu.chemical_reactor('tfg:silicon_tetrachloride_hydrogen') + .inputFluids('tfg:silicon_tetrachloride 1000', 'gtceu:hydrogen 2000') + .itemOutputs('#forge:dusts/polysilicon') + .outputFluids('gtceu:hydrochloric_acid 4000') + .duration(5 * 20) + .EUt(GTValues.VA[GTValues.HV]) + event.recipes.gtceu.chemical_reactor('tfg:zirconium_tetrachloride') .itemInputs('4x #forge:dusts/carbon', '6x #forge:dusts/zircon') .inputFluids('gtceu:chlorine 8000') diff --git a/kubejs/server_scripts/tfg/ores_and_materials/tags.materials.js b/kubejs/server_scripts/tfg/ores_and_materials/tags.materials.js new file mode 100644 index 000000000..6310d4cd3 --- /dev/null +++ b/kubejs/server_scripts/tfg/ores_and_materials/tags.materials.js @@ -0,0 +1,18 @@ +// priority: 0 +"use strict"; + +function registerTFGMaterialItemTags(event) { + + // Platline + event.add('tfg:platinum_ore_group', 'gtceu:purified_pentlandite_ore') + event.add('tfg:platinum_ore_group', 'gtceu:purified_chalcopyrite_ore') + event.add('tfg:platinum_ore_group', 'gtceu:purified_tetrahedrite_ore') + event.add('tfg:platinum_ore_group', 'gtceu:purified_bornite_ore') + event.add('tfg:platinum_ore_group', 'gtceu:purified_cooperite_ore') + event.add('tfg:platinum_ore_group', 'gtceu:purified_chalcocite_ore') + + // Crafting components + event.add('tfg:aluminium_oxide', '#forge:dusts/bauxite') + event.add('tfg:aluminium_oxide', '#forge:dusts/sapphire') + event.add('tfg:aluminium_oxide', '#forge:dusts/green_sapphire') +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js index 1e64d5941..3a63cf3c1 100644 --- a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js +++ b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js @@ -367,7 +367,7 @@ function registerTFGNuclearRecipes(event) { event.recipes.deafission.fission_reactor_coolant('tfg:tbu_coolant') .itemInputs(Ingredient.of([ - 'tfg:tbu_232_rod'])) + 'tfg:tbu_232_rod'/*, 'tfg:neptunium_237_rod', 'tfg:americium_241_rod', 'tfg:californium_252_rod'*/])) .perTick(true) .inputFluids(Fluid.of('tfg:heavy_water', 20)) .outputFluids(Fluid.of('gtceu:dense_steam', 1200)) @@ -806,7 +806,7 @@ function registerTFGNuclearRecipes(event) { 'CDC', 'EBE' ], { - A: 'gtceu:ostrum_normal_fluid_pipe', + A: 'gtceu:tungsten_steel_normal_fluid_pipe', B: 'gtceu:platinum_single_cable', C: '#gtceu:circuits/iv', D: 'gtceu:iv_machine_hull', diff --git a/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js b/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js index e979f098e..65ef639b4 100644 --- a/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js +++ b/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js @@ -183,7 +183,7 @@ function registerTFGEarlyGasRecipes(event) { event.recipes.gtceu.electrolyzer('tfg:cracker_off_gas_recycling') .inputFluids(Fluid.of('tfg:cracker_off_gas', 1000)) .outputFluids(Fluid.of('gtceu:carbon_dioxide', 500), Fluid.of('gtceu:hydrogen', 500)) - .chancedOutput(Item.of('gtceu:tiny_rhenium_dust'), 1000, 0) // 10% chance + .chancedOutput(Item.of('gtceu:tiny_rhenium_dust'), 1000, 0) // 10% chance SWITCH TO 5% when new platline is out .duration(20*4.5) .EUt(GTValues.VA[GTValues.HV]) @@ -285,7 +285,7 @@ function registerTFGEarlyGasRecipes(event) { .EUt(GTValues.VA[GTValues.HV]) event.recipes.gtceu.chemical_reactor('tfg:catalyser_zsm') - .itemInputs(Item.of('#forge:dusts/platinum'), Item.of('10x #forge:dusts/rhenium')) + .itemInputs(Item.of('#forge:dusts/platinum'), Item.of('60x #forge:dusts/rhenium')) .inputFluids(Fluid.of('gtceu:hydrogen', 1000)) .inputFluids(Fluid.of('tfg:zsm5_gel', 1000)) .itemOutputs(Item.of('tfg:catalyser_pt_re_zsm', 1)) @@ -359,7 +359,7 @@ function registerTFGEarlyGasRecipes(event) { event.recipes.gtceu.distillery('tfg:rhenium_dust') .inputFluids(Fluid.of('gtceu:sulfuric_acid', 100)) .itemInputs(Item.of('tfg:loaded_resin', 1)) - .itemOutputs(Item.of('gtceu:rhenium_dust', 1)) + .itemOutputs(Item.of('gtceu:rhenium_dust', 6)) .duration(20*8) .EUt(GTValues.VA[GTValues.MV]) diff --git a/kubejs/server_scripts/tfg/primitive/recipes.artisan_table.js b/kubejs/server_scripts/tfg/primitive/recipes.artisan_table.js index 8df4d6ff2..c5024e780 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.artisan_table.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.artisan_table.js @@ -598,6 +598,22 @@ function registerTFGArtisanTableRecipes(event) { "type": "tfg:artisan" }).id(`tfg:artisan_table/phenolic_printed_circuit_board_4x`); //#endregion + + //#region Glass Lens + + event.custom({ + "result": {"item": "tfg:worked_optical_borosilicate_blank", "count": 1}, + "pattern": [ + " XX ", + " XXXX ", + "XXXXXX", + "XXXXXX", + " XXXX ", + " XX " + ], + "artisanType": "tfg:optical_borosilicate", + "type": "tfg:artisan" + }).id(`tfg:artisan_table/worked_optical_borosilicate_blank`); } diff --git a/kubejs/server_scripts/tfg/primitive/recipes.rubber.js b/kubejs/server_scripts/tfg/primitive/recipes.rubber.js index 9eb81a52b..518e2b91e 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.rubber.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.rubber.js @@ -122,6 +122,13 @@ function registerTFGRubberRecipes(event) { .heated() .processingTime(50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) .id('tfg:vi/vacuumizing/rubber') + + // matches the sulfur dust + raw rubber recipe, just an alternative using powder + event.recipes.gtceu.alloy_smelter('tfg:rubber_ingot_powder') + .itemInputs('4x tfc:powder/sulfur', '3x #forge:dusts/raw_rubber') + .itemOutputs('#forge:ingots/rubber') + .duration(5 * 20) + .EUt(7) // Rubber Processing Line event.recipes.tfc.pot('tfc:powder/sulfur', Fluid.of('tfg:latex', 1000), 1200, 300) diff --git a/kubejs/server_scripts/tfg/primitive/tags.primitive.js b/kubejs/server_scripts/tfg/primitive/tags.primitive.js index 04296fd17..776a5a08b 100644 --- a/kubejs/server_scripts/tfg/primitive/tags.primitive.js +++ b/kubejs/server_scripts/tfg/primitive/tags.primitive.js @@ -81,11 +81,16 @@ function registerTFGPrimitiveItemTags(event) { event.add('tfg:artisan_table_inputs', 'gtceu:phenolic_circuit_board') event.add('tfg:artisan_table_inputs', 'gtceu:silver_single_wire') event.add('tfg:artisan_table_inputs', 'gtceu:silver_quadruple_wire') + event.add('tfg:artisan_table_inputs', 'tfg:optical_borosilicate_blank') + event.add('tfg:artisan_table_inputs', 'tfc:powder/flux') event.add('tfg:artisan_table_tools', '#forge:tools/hammers') event.add('tfg:artisan_table_tools', '#forge:tools/mallets') event.add('tfg:artisan_table_tools', '#forge:tools/files') event.add('tfg:artisan_table_tools', '#forge:tools/wire_cutters') event.add('tfg:artisan_table_tools', '#forge:tools/screwdrivers') + event.add('tfg:artisan_table_tools', '#forge:tools/buzzsaws') + event.add('tfg:artisan_table_tools', 'tfc:gem_saw') + event.add('tfg:artisan_table_tools', '#create:sandpaper') } function registerTFGPrimitiveBlockTags(event) { diff --git a/kubejs/server_scripts/tfg/recipes.js b/kubejs/server_scripts/tfg/recipes.js index d0ea9ba10..72ffcb1b0 100644 --- a/kubejs/server_scripts/tfg/recipes.js +++ b/kubejs/server_scripts/tfg/recipes.js @@ -51,14 +51,18 @@ const registerTFGRecipes = (event) => { registerTFGEquipmentRecipes(event) registerTFGDyeRecipes(event) registerTFGArtisanTableRecipes(event) + registerTFGHVMaterialRecipes(event) + registerTFGMoSiBRecipes(event) registerTFGCasingRecipes(event) + registerTFGCircuitRecipes(event) registerTFGEnderPearlRecipes(event) registerTFGMultiblockRecipes(event) registerTFGSteamBloomeryRecipes(event) registerTFGElectronicComponentsRecipes(event) registerTFGBakeliteRecipes(event) registerTFGCoilRecipes(event) + registerTFGBouleRecipes(event) registerTFGEarlyGasRecipes(event) registerTFGBoilerRecipes(event) @@ -92,4 +96,10 @@ const registerTFGRecipes = (event) => { registerTFGVenusRecipes(event) registerTFGBiochemRecipes(event) + + registerTFGEtchingRecipes(event) + registerTFGMVMaterialRecipes(event) + registerTFGGemSlurriesProcessing(event) + + registerTFGMaterialRemovePipesRecipes(event) } diff --git a/kubejs/server_scripts/tfg/recipes.temporary.js b/kubejs/server_scripts/tfg/recipes.temporary.js index 68d907bd4..c64d786e9 100644 --- a/kubejs/server_scripts/tfg/recipes.temporary.js +++ b/kubejs/server_scripts/tfg/recipes.temporary.js @@ -11,24 +11,6 @@ function registerTFGTemporaryRecipes(event) { event.shapeless('tfg:ostrum_linear_accelerator', 'gtceu:ostrum_linear_accelerator') event.shapeless('tfg:steam_bloomery', 'gtceu:steam_bloomery') - event.shapeless('greate:rose_quartz_dust', 'gtceu:rose_quartz_dust') - event.shapeless('greate:tiny_rose_quartz_dust', 'gtceu:tiny_rose_quartz_dust') - event.shapeless('greate:small_rose_quartz_dust', 'gtceu:small_rose_quartz_dust') - event.shapeless('greate:poor_raw_rose_quartz', 'gtceu:poor_raw_rose_quartz') - event.shapeless('greate:raw_rose_quartz', 'gtceu:raw_rose_quartz') - event.shapeless('greate:rich_raw_rose_quartz', 'gtceu:rich_raw_rose_quartz') - event.shapeless('greate:chipped_rose_quartz_gem', 'gtceu:chipped_rose_quartz_gem') - event.shapeless('greate:flawed_rose_quartz_gem', 'gtceu:flawed_rose_quartz_gem') - event.shapeless('greate:flawless_rose_quartz_gem', 'gtceu:flawless_rose_quartz_gem') - event.shapeless('greate:exquisite_rose_quartz_gem', 'gtceu:exquisite_rose_quartz_gem') - event.shapeless('greate:pure_rose_quartz_dust', 'gtceu:pure_rose_quartz_dust') - event.shapeless('greate:impure_rose_quartz_dust', 'gtceu:impure_rose_quartz_dust') - event.shapeless('greate:purified_rose_quartz_ore', 'gtceu:purified_rose_quartz_ore') - event.shapeless('greate:crushed_rose_quartz_ore', 'gtceu:crushed_rose_quartz_ore') - event.shapeless('greate:refined_rose_quartz_ore', 'gtceu:refined_rose_quartz_ore') - event.shapeless('greate:rose_quartz_lens', 'gtceu:rose_quartz_lens') - event.shapeless('greate:rose_quartz_plate', 'gtceu:rose_quartz_plate') - event.shapeless('tfg:igneous_felsic_dust', 'gtceu:granite_dust') event.shapeless('tfg:igneous_intermediate_dust', 'gtceu:diorite_dust') event.shapeless('tfg:igneous_intermediate_dust', 'gtceu:andesite_dust') diff --git a/kubejs/server_scripts/tfg/space_general/recipes.rockets.js b/kubejs/server_scripts/tfg/space_general/recipes.rockets.js index 25a92c9c1..f583f52d1 100644 --- a/kubejs/server_scripts/tfg/space_general/recipes.rockets.js +++ b/kubejs/server_scripts/tfg/space_general/recipes.rockets.js @@ -48,7 +48,7 @@ function registerTFGRocketRecipes(event) { event.recipes.gtceu.assembler(`tfg:rocket_fin_t1`) .itemInputs( - ChemicalHelper.get(TagPrefix.plate, TFGHelpers.getMaterial('rocket_alloy_t1'), 1), + ChemicalHelper.get(TagPrefix.plateDense, TFGHelpers.getMaterial('rocket_alloy_t1'), 1), ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.StainlessSteel, 1) ) .itemOutputs('ad_astra:rocket_fin') @@ -60,13 +60,14 @@ function registerTFGRocketRecipes(event) { event.recipes.gtceu.assembler('tfg:rocket_steel_engine') .itemInputs( - ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.StainlessSteel, 2), + ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.StainlessSteel, 8), + Item.of('tfg:double_mo_50_re_plate', 4), '2x #gtceu:circuits/hv', - 'gtceu:hv_electric_pump', + '4x gtceu:hv_fluid_regulator', '2x gtceu:power_thruster', ChemicalHelper.get(TagPrefix.rotor, GTMaterials.StainlessSteel, 1) ) - .inputFluids(Fluid.of('gtceu:blue_steel', 144 * 8)) + .inputFluids(Fluid.of('gtceu:blue_steel', 144 * 16)) .itemOutputs('ad_astra:steel_engine') .duration(600) .circuit(2) @@ -75,11 +76,11 @@ function registerTFGRocketRecipes(event) { event.recipes.gtceu.assembler('ad_astra:assembler_tier_1_rocket') .itemInputs( - ChemicalHelper.get(TagPrefix.plateDense, TFGHelpers.getMaterial('rocket_alloy_t1'), 8), + ChemicalHelper.get(TagPrefix.plateDense, TFGHelpers.getMaterial('rocket_alloy_t1'), 16), '4x ad_astra:rocket_fin', '1x ad_astra:steel_engine', '1x ad_astra:rocket_nose_cone', - '16x #forge:insulation_t1', + '16x #forge:plates/basalt_fiber', '4x #gtceu:circuits/hv' ) .inputFluids(Fluid.of('gtceu:silicon', 144 * 16)) @@ -91,11 +92,11 @@ function registerTFGRocketRecipes(event) { event.recipes.gtceu.assembler('ad_astra:assembler_tier_1_double_rocket') .itemInputs( - ChemicalHelper.get(TagPrefix.plateDense, TFGHelpers.getMaterial('rocket_alloy_t1'), 12), + ChemicalHelper.get(TagPrefix.plateDense, TFGHelpers.getMaterial('rocket_alloy_t1'), 24), '4x ad_astra:rocket_fin', '1x ad_astra:steel_engine', '1x ad_astra:rocket_nose_cone', - '24x #forge:insulation_t1', + '24x #forge:plates/basalt_fiber', '6x #gtceu:circuits/hv' ) .inputFluids(Fluid.of('gtceu:silicon', 144 * 24)) @@ -105,6 +106,58 @@ function registerTFGRocketRecipes(event) { .EUt(GTValues.VA[GTValues.HV]) .addMaterialInfo(true, true) + + // Basalt Plating for Rocket + + event.recipes.gtceu.chemical_reactor(`tfg:dichloropropane`) + .inputFluids(Fluid.of('gtceu:propene', 1000), Fluid.of('gtceu:chlorine', 2000)) + .outputFluids(Fluid.of('tfg:dichloropropane', 1000)) + .duration(20 * 12) + .circuit(2) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.chemical_reactor(`tfg:3_chloropropylamine`) + .inputFluids(Fluid.of('tfg:dichloropropane', 1000), Fluid.of('gtceu:ammonia', 2000)) + .itemOutputs(Item.of('gtceu:ammonium_chloride_dust', 1)) + .outputFluids(Fluid.of('tfg:3_chloropropylamine', 1000)) + .duration(20 * 20) + .circuit(2) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.chemical_reactor(`tfg:aminopropyl_chlorosilane`) + .inputFluids(Fluid.of('tfg:3_chloropropylamine', 1000), Fluid.of('tfg:silicon_tetrachloride', 1000)) + .outputFluids(Fluid.of('tfg:aminopropyl_chlorosilane', 1000), Fluid.of('gtceu:hydrochloric_acid', 1000)) + .duration(20 * 24) + .circuit(2) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.chemical_reactor(`tfg:3_aminopropyltriethoxysilane`) + .inputFluids(Fluid.of('tfg:aminopropyl_chlorosilane', 1000), Fluid.of('gtceu:ethanol', 3000)) + .outputFluids(Fluid.of('tfg:3_aminopropyltriethoxysilane', 1000), Fluid.of('gtceu:hydrochloric_acid', 3000)) + .duration(20 * 32) + .circuit(3) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.extruder('tfg:forge:fine_wires_basalt_fiber') + .itemInputs(Item.of('tfc:brick/basalt')) + .notConsumable(Item.of('gtceu:wire_extruder_mold')) + .itemOutputs(Item.of('#forge:fine_wires/basalt_fiber', 8)) + .duration(20 * 17) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.chemical_bath(`tfg:foils_basalt_fiber`) + .itemInputs(Item.of('#forge:fine_wires/basalt_fiber', 64)) + .inputFluids(Fluid.of('tfg:3_aminopropyltriethoxysilane', 500)) + .itemOutputs(Item.of('#forge:foils/basalt_fiber')) + .duration(20 * 16) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.compressor(`tfg:3_aminopropyltriethoxysilane`) + .itemInputs(Item.of('#forge:foils/basalt_fiber', 4)) + .itemOutputs(Item.of('#forge:plates/basalt_fiber')) + .duration(20 * 48) + .EUt(GTValues.VA[GTValues.MV]) + //#endregion @@ -175,7 +228,7 @@ function registerTFGRocketRecipes(event) { .itemInputs( ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.Titanium, 4), '2x #gtceu:circuits/ev', - 'gtceu:ev_electric_pump', + '4x gtceu:ev_fluid_regulator', '3x gtceu:advanced_power_thruster', ChemicalHelper.get(TagPrefix.rod, GTMaterials.NeodymiumMagnetic, 4), ChemicalHelper.get(TagPrefix.rotor, GTMaterials.Titanium, 1)) @@ -188,7 +241,7 @@ function registerTFGRocketRecipes(event) { event.recipes.gtceu.assembler('ad_astra:tier_2_rocket') .itemInputs( - ChemicalHelper.get(TagPrefix.plateDense, TFGHelpers.getMaterial('rocket_alloy_t2'), 12), + ChemicalHelper.get(TagPrefix.plateDense, TFGHelpers.getMaterial('rocket_alloy_t2'), 24), '4x tfg:rocket_fin_t2', '1x ad_astra:desh_engine', '1x tfg:rocket_cone_t2', @@ -204,7 +257,7 @@ function registerTFGRocketRecipes(event) { event.recipes.gtceu.assembler('ad_astra:tier_2_double_rocket') .itemInputs( - ChemicalHelper.get(TagPrefix.plateDense, TFGHelpers.getMaterial('rocket_alloy_t2'), 18), + ChemicalHelper.get(TagPrefix.plateDense, TFGHelpers.getMaterial('rocket_alloy_t2'), 32), '4x tfg:rocket_fin_t2', '1x ad_astra:desh_engine', '1x tfg:rocket_cone_t2', @@ -269,7 +322,7 @@ function registerTFGRocketRecipes(event) { .itemInputs( '6x #forge:double_plates/tungsten_steel', '4x #gtceu:circuits/iv', - 'gtceu:iv_electric_pump', + '4x gtceu:iv_fluid_regulator', '3x tfg:elite_power_thruster', '4x #forge:insulation_t3/cryo', '6x #forge:rods/magnetic_neodymium', @@ -284,7 +337,7 @@ function registerTFGRocketRecipes(event) { event.recipes.gtceu.assembler('tfg:rocket_ostrum_tank') .itemInputs( '4x #forge:double_plates/rocket_alloy_t3', - 'gtceu:iv_electric_pump', + '4x gtceu:iv_fluid_regulator', 'tfg:elite_power_thruster', '2x #forge:insulation_t3/cryo') .inputFluids(Fluid.of('gtceu:ostrum', 144 * 4)) diff --git a/kubejs/server_scripts/tfg/space_general/recipes.space.js b/kubejs/server_scripts/tfg/space_general/recipes.space.js index 88e54b3a5..7741b1231 100644 --- a/kubejs/server_scripts/tfg/space_general/recipes.space.js +++ b/kubejs/server_scripts/tfg/space_general/recipes.space.js @@ -56,48 +56,32 @@ function registerTFGSpaceRecipes(event) { // Aqueous accumulator -- use adjacentFluids (plural) to avoid rhino ambiguous method issues - let aaCircuit = 1; - event.recipes.gtceu.aqueous_accumulator('water') - .circuit(aaCircuit++) + .circuit(1) .duration(20) .EUt(GTValues.VHA[GTValues.ULV]) .adjacentFluids(["minecraft:water"]) .outputFluids(Fluid.of("minecraft:water", 1000)) event.recipes.gtceu.aqueous_accumulator('sea_water') - .circuit(aaCircuit++) + .circuit(2) .duration(20) .EUt(GTValues.VA[GTValues.ULV]) .adjacentFluids(["tfc:salt_water"]) .outputFluids(Fluid.of("tfc:salt_water", 1000)) event.recipes.gtceu.aqueous_accumulator('semiheavy_water_mars') - .circuit(aaCircuit++) + .circuit(3) .dimension('ad_astra:mars') .duration(20) .EUt(GTValues.VHA[GTValues.ULV]) .adjacentFluids(["tfg:semiheavy_ammoniacal_water"]) .outputFluids(Fluid.of("tfg:semiheavy_ammoniacal_water", 1000)) - event.recipes.gtceu.aqueous_accumulator('lava_overworld') - .circuit(aaCircuit++) - .dimension('minecraft:overworld') - .duration(20*15) - .EUt(GTValues.VHA[GTValues.HV]) - .adjacentFluids(["minecraft:lava"]) - .outputFluids(Fluid.of("minecraft:lava", 1000)) - - event.recipes.gtceu.aqueous_accumulator('lava_nether') - .circuit(aaCircuit++) - .dimension('minecraft:the_nether') - .duration(20*15) - .EUt(GTValues.VHA[GTValues.HV]) - .adjacentFluids(["minecraft:lava"]) - .outputFluids(Fluid.of("minecraft:lava", 1000)) + // 4 and 5 used to be lava, add something else here event.recipes.gtceu.aqueous_accumulator('spring_water') - .circuit(aaCircuit++) + .circuit(6) .dimension('minecraft:overworld') .duration(20) .EUt(GTValues.VA[GTValues.LV]) @@ -105,7 +89,7 @@ function registerTFGSpaceRecipes(event) { .outputFluids(Fluid.of("tfc:spring_water", 1000)) event.recipes.gtceu.aqueous_accumulator('more_water') - .circuit(aaCircuit++) + .circuit(7) .duration(10) .EUt(GTValues.VHA[GTValues.HV]) .adjacentFluids(["minecraft:water"]) diff --git a/kubejs/server_scripts/tfg/space_general/recipes.space_suits.js b/kubejs/server_scripts/tfg/space_general/recipes.space_suits.js index 7c1d54856..d0699bf7f 100644 --- a/kubejs/server_scripts/tfg/space_general/recipes.space_suits.js +++ b/kubejs/server_scripts/tfg/space_general/recipes.space_suits.js @@ -58,7 +58,7 @@ function registerTFGSpaceSuitRecipes(event) { '#forge:foils/silicone_rubber', 'tfg:polycaprolactam_fabric' ) - .itemOutputs('2x tfg:space_suit_fabric') + .itemOutputs('4x tfg:space_suit_fabric') .duration(20 * 10) .EUt(GTValues.VA[GTValues.HV]) .addMaterialInfo(true) diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 773cd550b..c8fcb5a2e 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -17,22 +17,17 @@ const registerTFGItemTags = (event) => { registerTFGMarsItemTags(event) registerTFGVenusItemTags(event) registerTFGAquaponicsItemTags(event) + registerTFGMaterialItemTags(event) + registerTFGMaterialHiddenPipesTags(event) - // TEMPORARY, REMOVE WHEN GURMAN FIXES THIS - event.remove('tfc:foods', 'tfc_gourmet:havai_pizza') + // Disable auto generation for Vintage Recipes + event.add('tfg:no_vintage_gen', 'tfg:basalt_fiber_plate') + //Circuit Stuff event.add('tfg:components/uv_leds', 'tfg:uv_led') event.add('tfg:components/uv_leds', 'tfg:smd_uv_led') - // Platline - event.add('tfg:platinum_ore_group', 'gtceu:purified_pentlandite_ore') - event.add('tfg:platinum_ore_group', 'gtceu:purified_chalcopyrite_ore') - event.add('tfg:platinum_ore_group', 'gtceu:purified_tetrahedrite_ore') - event.add('tfg:platinum_ore_group', 'gtceu:purified_bornite_ore') - event.add('tfg:platinum_ore_group', 'gtceu:purified_cooperite_ore') - event.add('tfg:platinum_ore_group', 'gtceu:purified_chalcocite_ore') - //Bronze Crates & Drums event.add('tfg:any_bronze_crate', 'gtceu:bronze_crate') event.add('tfg:any_bronze_crate', 'gtceu:black_bronze_crate') @@ -41,13 +36,11 @@ const registerTFGItemTags = (event) => { event.add('tfg:any_bronze_drum', 'gtceu:black_bronze_drum') event.add('tfg:any_bronze_drum', 'gtceu:bismuth_bronze_drum') - //#region Tools + // Tools event.add('tfg:empty_dna_syringes', 'tfg:empty_dna_syringe') event.add('tfg:empty_dna_syringes', 'tfg:clean_dna_syringe') event.add('tfc:sewing_needles', 'tfg:stainless_steel_needle') - - //#endregion // Airplane Upgrades global.AIRCRAFT_UPGRADES.forEach(value => { @@ -59,11 +52,6 @@ const registerTFGItemTags = (event) => { event.add(`gtceu:circuits/${tier}`, `tfg:${tier}_universal_circuit`); }) - // Crafting components - event.add('tfg:aluminium_oxide', '#forge:dusts/bauxite') - event.add('tfg:aluminium_oxide', '#forge:dusts/sapphire') - event.add('tfg:aluminium_oxide', '#forge:dusts/green_sapphire') - // Use either cast or wrought iron event.add('tfg:any_iron_double_ingot', '#forge:double_ingots/iron') event.add('tfg:any_iron_double_ingot', '#forge:double_ingots/wrought_iron') @@ -88,7 +76,7 @@ const registerTFGItemTags = (event) => { event.add("tfg:bloomery_basic_fuels", "gtceu:raw_coal"); event.add("tfg:bloomery_basic_fuels", "gtceu:poor_raw_coal"); - //#region holder materials + // Holder materials event.remove('forge:dusts', 'tfg:nitrocellulose') event.remove('forge:dusts/nitrocellulose', 'tfg:nitrocellulose') @@ -101,7 +89,24 @@ const registerTFGItemTags = (event) => { event.remove('forge:nuggets', 'tfg:polycaprolactam_string') event.remove('forge:nuggets/tfg_polycaprolactam', 'tfg:polycaprolactam_string') - //#endregion + + // Tags for the precision fabricator renderer + event.add('tfg:precision_fabricator_dipped_items', 'tfg:silicon_seed_crystal') + event.add('tfg:precision_fabricator_holder_rods', '#forge:rods/amethyst') + event.add('tfg:precision_fabricator_holder_rods', '#forge:rods/opal') + event.add('tfg:precision_fabricator_holder_rods', '#forge:rods/diamond') + event.add('tfg:precision_fabricator_holder_rods', '#forge:rods/sapphire') + event.add('tfg:precision_fabricator_holder_rods', '#forge:rods/green_sapphire') + event.add('tfg:precision_fabricator_holder_rods', '#forge:rods/ruby') + event.add('tfg:precision_fabricator_holder_rods', '#forge:rods/red_garnet') + event.add('tfg:precision_fabricator_holder_rods', '#forge:rods/yellow_garnet') + event.add('tfg:precision_fabricator_holder_rods', '#forge:rods/lapis') + event.add('tfg:precision_fabricator_holder_rods', '#forge:rods/sodalite') + event.add('tfg:precision_fabricator_holder_rods', '#forge:rods/lazurite') + event.add('tfg:precision_fabricator_holder_rods', '#forge:rods/blue_topaz') + event.add('tfg:precision_fabricator_holder_rods', '#forge:rods/topaz') + event.add('tfg:precision_fabricator_holder_rods', '#forge:rods/emerald') + event.add('tfg:precision_fabricator_holder_rods', '#forge:rods/olivine') } //#region Blocks @@ -148,6 +153,8 @@ const registerTFGFluidTags = (event) => { event.add('tfg:clean_water', 'tfc:river_water') event.add('tfg:clean_water', 'tfc:spring_water') + event.add('tfg:water_boiler', 'minecraft:water') + event.add('tfc:any_water', 'tfg:semiheavy_ammoniacal_water') event.add('tfc:hydrating', 'tfg:semiheavy_ammoniacal_water') event.add('tfc:drinkables', 'tfg:semiheavy_ammoniacal_water') @@ -239,4 +246,5 @@ const registerTFGEntityTypeTags = (event) => { event.add('ad_astra:can_survive_in_space', 'endermanoverhaul:pet_enderman') event.add('ad_astra:can_survive_in_space', 'endermanoverhaul:axolotl_pet_enderman') event.add('ad_astra:can_survive_in_space', 'endermanoverhaul:hammerhead_pet_enderman') + } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/venus/recipes.biochem.js b/kubejs/server_scripts/tfg/venus/recipes.biochem.js index d9f0a9c5f..a5644778f 100644 --- a/kubejs/server_scripts/tfg/venus/recipes.biochem.js +++ b/kubejs/server_scripts/tfg/venus/recipes.biochem.js @@ -229,7 +229,7 @@ function registerTFGBiochemRecipes(event) { event.recipes.gtceu.assembler('tfg:casings/machine_casing_sterilizing_pipes') .itemInputs( ChemicalHelper.get(TagPrefix.frameGt, GTMaterials.get('ostrum'), 1), - ChemicalHelper.get(TagPrefix.pipeQuadrupleFluid, GTMaterials.get('ostrum'), 1), + ChemicalHelper.get(TagPrefix.pipeQuadrupleFluid, GTMaterials.TungstenSteel, 1), Ingredient.of('#tfg:components/uv_leds').withCount(16) ) .inputFluids(Fluid.of('gtceu:borosilicate_glass', 144)) diff --git a/kubejs/server_scripts/vintage_improvements/recipes.js b/kubejs/server_scripts/vintage_improvements/recipes.js index 4e125b161..48558d99e 100644 --- a/kubejs/server_scripts/vintage_improvements/recipes.js +++ b/kubejs/server_scripts/vintage_improvements/recipes.js @@ -438,26 +438,6 @@ function registerVintageImprovementsRecipes(event) { .processingTime(100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) .id(`tfg:vi/lathe/rose_quartz_lens`) - event.recipes.vintageimprovements.polishing(['#forge:lenses/diamond', '2x #forge:dusts/diamond'], '#forge:exquisite_gems/diamond') - .speedLimits(1) - .processingTime(100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) - .id(`tfg:vi/lathe/diamond_lens`) - - event.recipes.vintageimprovements.polishing(['#forge:lenses/emerald', '2x #forge:dusts/emerald'], '#forge:exquisite_gems/emerald') - .speedLimits(1) - .processingTime(100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) - .id(`tfg:vi/lathe/emerald_lens`) - - event.recipes.vintageimprovements.polishing(['#forge:lenses/ruby', '2x #forge:dusts/ruby'], '#forge:exquisite_gems/ruby') - .speedLimits(1) - .processingTime(100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) - .id(`tfg:vi/lathe/ruby_lens`) - - event.recipes.vintageimprovements.polishing(['#forge:lenses/sapphire', '2x #forge:dusts/sapphire'], '#forge:exquisite_gems/sapphire') - .speedLimits(1) - .processingTime(100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) - .id(`tfg:vi/lathe/sapphire_lens`) - event.recipes.vintageimprovements.polishing(['#forge:lenses/amethyst', '2x #forge:dusts/amethyst'], '#forge:exquisite_gems/amethyst') .speedLimits(1) .processingTime(100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index 2ace7e593..3381ce6e3 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -460,6 +460,9 @@ global.ADD_CIRCUIT = /** @type {const} */ ([ { recipeId: "gtceu:chemical_reactor/biphenyl_from_toluene", circuitNumber: 2 }, { recipeId: "gtceu:large_chemical_reactor/biphenyl_from_toluene", circuitNumber: 2 }, + + { recipeId: "gtceu:chemical_reactor/polydimethylsiloxane_from_silicon", circuitNumber: 3 }, + { recipeId: "gtceu:large_chemical_reactor/polydimethylsiloxane_from_silicon", circuitNumber: 3 } ]); //#endregion diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js deleted file mode 100644 index 0fa563739..000000000 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ /dev/null @@ -1,495 +0,0 @@ -// priority: 0 -"use strict"; - -const registerGTCEuMaterialModification = (event) => { - - //const TFGPropertyKey = Java.loadClass('su.terrafirmagreg.core.compat.gtceu.TFGPropertyKeys') - const $TFC_PROPERTY = Java.loadClass('su.terrafirmagreg.core.compat.gtceu.properties.TFCProperty') - const $ORE_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.OreProperty') - const $INGOT_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.IngotProperty') - const $DUST_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.DustProperty'); - const $BLAST_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.BlastProperty') - const $FLUID_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.FluidProperty') - const $ITEM_PIPE_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.ItemPipeProperties') - const $FLUID_PIPE_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.FluidPipeProperties') - const $HAZARD_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.HazardProperty') - const $TFGT_MEDICAL_CONDITIONS = Java.loadClass('su.terrafirmagreg.core.common.data.tfgt.TFGTMedicalConditions') - - const $MATERIAL_FLAGS = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.info.MaterialFlags') - - const $FluidStorageKeys = Java.loadClass('com.gregtechceu.gtceu.api.fluids.store.FluidStorageKeys') - const $FluidBuilder = Java.loadClass('com.gregtechceu.gtceu.api.fluids.FluidBuilder'); - - const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials") - - const { - HAS_TFC_TOOL, // used to generate new TFC items like javelins - HAS_GT_TOOL, // does not generate items, just TFC recipes for GT tools - HAS_TFC_ARMOR, - HAS_TFC_UTILITY, - CAN_BE_UNMOLDED, - GENERATE_DOUBLE_INGOTS, - HAS_SMALL_TFC_ORE, - GENERATE_DUSTY_ORES, - } = TFGMaterialFlags - - const { - GENERATE_ROD, - GENERATE_LONG_ROD, - GENERATE_BOLT_SCREW, - GENERATE_ROTOR, - GENERATE_SPRING, - GENERATE_SMALL_GEAR, - GENERATE_GEAR, - GENERATE_FRAME, - GENERATE_PLATE, - GENERATE_DENSE, - GENERATE_RING, - GENERATE_FOIL, - GENERATE_FINE_WIRE, - NO_ORE_PROCESSING_TAB, - NO_ORE_SMELTING, - DISABLE_DECOMPOSITION - } = $MATERIAL_FLAGS - - const metalTooling = [ - GTToolType.AXE, - GTToolType.PICKAXE, - GTToolType.HARD_HAMMER, - GTToolType.BUTCHERY_KNIFE, - GTToolType.SWORD, - GTToolType.FILE, - GTToolType.SAW, - GTToolType.SHOVEL, - GTToolType.SHOVEL, - GTToolType.SPADE, - GTToolType.MINING_HAMMER, - GTToolType.HOE, - GTToolType.KNIFE, - GTToolType.BUZZSAW, - GTToolType.SCYTHE, - GTToolType.WIRE_CUTTER, - GTToolType.WIRE_CUTTER_LV, - GTToolType.WIRE_CUTTER_HV, - GTToolType.WIRE_CUTTER_IV, - GTToolType.DRILL_LV, - GTToolType.DRILL_MV, - GTToolType.DRILL_HV, - GTToolType.DRILL_EV, - GTToolType.DRILL_IV, - GTToolType.SCREWDRIVER, - GTToolType.SCREWDRIVER_LV, - GTToolType.SCREWDRIVER_HV, - GTToolType.SCREWDRIVER_IV, - GTToolType.CHAINSAW_LV, - GTToolType.CHAINSAW_HV, - GTToolType.CHAINSAW_IV, - GTToolType.WRENCH, - GTToolType.WRENCH_LV, - GTToolType.WRENCH_HV, - GTToolType.WRENCH_IV, - GTToolType.CROWBAR, - ] - - GTMaterials.Clay.addFlags(DISABLE_DECOMPOSITION); - GTMaterials.Brick.addFlags(DISABLE_DECOMPOSITION); - - - // TFC_PROPERTY = (forging temp, welding temp, melt temp, material, tier, percent of material) - // OR = (forging temp, welding temp, melt temp, tier) - // - // If registering a new material that you want to melt into a liquid in a vessel etc, - // make sure you add it to registerGTCEUMetals()! - - GTMaterials.Copper.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(648, 864, 1080, 1)); - GTMaterials.BismuthBronze.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(591, 788, 985, 2)); - GTMaterials.Bronze.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(570, 760, 950, 2)); - GTMaterials.BlackBronze.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(642, 856, 1070, 2)); - GTMaterials.WroughtIron.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3)); - GTMaterials.Steel.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(924, 1232, 1540, 4)); - GTMaterials.BlackSteel.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(891, 1188, 1485, 5)); - GTMaterials.BlueSteel.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(924, 1232, 1540, 6)); - GTMaterials.RedSteel.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(924, 1232, 1540, 6)); - GTMaterials.get('tfg:weak_blue_steel').setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(924, 1232, 1540, 6)); - GTMaterials.get('tfg:weak_red_steel').setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(924, 1232, 1540, 6)); - - GTMaterials.Gold.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(636, 848, 1060, 1)); - GTMaterials.Bismuth.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(162, 216, 270, 1)); - GTMaterials.Brass.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(558, 744, 930, 2)); - GTMaterials.Nickel.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(872, 1162, 1453, 1)); - GTMaterials.RoseGold.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(576, 768, 960, 1)); - GTMaterials.Silver.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(577, 769, 961, 1)); - GTMaterials.Tin.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 230, 1)); - GTMaterials.Zinc.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(252, 336, 420, 1)); - GTMaterials.SterlingSilver.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(570, 760, 950, 1)); - GTMaterials.Iron.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3)); - - GTMaterials.Hematite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); - GTMaterials.Limonite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); - GTMaterials.Magnetite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); - GTMaterials.Pyrite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); - GTMaterials.Goethite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); - GTMaterials.BasalticMineralSand.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 80)); - GTMaterials.GraniticMineralSand.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 80)); - GTMaterials.VanadiumMagnetite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 80)); - - GTMaterials.Malachite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1080, GTMaterials.Copper, 1, 90)); - GTMaterials.Tetrahedrite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1080, GTMaterials.Copper, 1, 90)); - GTMaterials.Chalcopyrite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1080, GTMaterials.Copper, 1, 85)); - GTMaterials.Chalcocite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1080, GTMaterials.Copper, 1, 95)); - GTMaterials.Bornite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1080, GTMaterials.Copper, 1, 90)); - - GTMaterials.Cassiterite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(648, 864, 230, GTMaterials.Tin, 1, 100)); - GTMaterials.CassiteriteSand.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 230, GTMaterials.Tin, 1, 80)); - GTMaterials.Sphalerite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 420, GTMaterials.Zinc, 1, 90)); - GTMaterials.Garnierite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1453, GTMaterials.Nickel, 1, 100)); - GTMaterials.Pentlandite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1453, GTMaterials.Nickel, 1, 85)); - - GTMaterials.Redstone.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(240, 320, 460, 1)); - GTMaterials.RedAlloy.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(570, 650, 740, 2)); - GTMaterials.TinAlloy.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1000, 1100, 1250, 3)); - GTMaterials.Lead.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(330 * 0.6, 330 * 0.8, 330, 2)); - GTMaterials.Galena.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(330 * 0.6, 330 * 0.8, 330, GTMaterials.Lead, 2, 85)); - GTMaterials.Invar.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1494 * 0.6, 1494 * 0.8, 1494, 3)); - GTMaterials.Potin.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(807 * 0.6, 807 * 0.8, 807, 2)); - GTMaterials.Cobalt.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1495 * 0.6, 1495 * 0.8, 1495, 3)); - GTMaterials.Cobaltite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1495 * 0.6, 1495 * 0.8, 1495, GTMaterials.Cobalt, 3, 85)); - GTMaterials.CobaltBrass.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1060 * 0.6, 1060 * 0.8, 1060, 3)); - let AlSi = GTMaterials.get('aluminium_silicate') - AlSi.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1540, 1540, 1540, 1)) - GTMaterials.Kyanite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1540, 1540, 1540, AlSi, 1, 95)) - GTMaterials.Mica.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1540, 1540, 1540, AlSi, 1, 40)) - GTMaterials.Spodumene.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1540, 1540, 1540, AlSi, 1, 30)) - GTMaterials.Pollucite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1540, 1540, 1540, AlSi, 1, 25)) - - - // Generate Dusty Ores for Infinite Ores - GTMaterials.Goethite.addFlags(GENERATE_DUSTY_ORES); - GTMaterials.Diamond.addFlags(GENERATE_DUSTY_ORES); - GTMaterials.CertusQuartz.addFlags(GENERATE_DUSTY_ORES); - GTMaterials.Gold.addFlags(GENERATE_DUSTY_ORES); - GTMaterials.Cassiterite.addFlags(GENERATE_DUSTY_ORES); - GTMaterials.Pitchblende.addFlags(GENERATE_DUSTY_ORES); - GTMaterials.Silver.addFlags(GENERATE_DUSTY_ORES); - GTMaterials.TricalciumPhosphate.addFlags(GENERATE_DUSTY_ORES); - GTMaterials.Bauxite.addFlags(GENERATE_DUSTY_ORES); - GTMaterials.Lead.addFlags(GENERATE_DUSTY_ORES); - GTMaterials.Beryllium.addFlags(GENERATE_DUSTY_ORES); - GTMaterials.Thorium.addFlags(GENERATE_DUSTY_ORES); - GTMaterials.Uraninite.addFlags(GENERATE_DUSTY_ORES); - GTMaterials.Hematite.addFlags(GENERATE_DUSTY_ORES); - - // Castable stuff - GTMaterials.Copper.addFlags(CAN_BE_UNMOLDED); - GTMaterials.BismuthBronze.addFlags(CAN_BE_UNMOLDED); - GTMaterials.BlackBronze.addFlags(CAN_BE_UNMOLDED); - GTMaterials.Bronze.addFlags(CAN_BE_UNMOLDED); - GTMaterials.Tin.addFlags(CAN_BE_UNMOLDED); - GTMaterials.Bismuth.addFlags(CAN_BE_UNMOLDED); - GTMaterials.Zinc.addFlags(CAN_BE_UNMOLDED); - GTMaterials.SterlingSilver.addFlags(CAN_BE_UNMOLDED); - GTMaterials.RoseGold.addFlags(CAN_BE_UNMOLDED); - GTMaterials.Silver.addFlags(CAN_BE_UNMOLDED); - GTMaterials.Gold.addFlags(CAN_BE_UNMOLDED); - GTMaterials.Nickel.addFlags(CAN_BE_UNMOLDED); - GTMaterials.Brass.addFlags(CAN_BE_UNMOLDED); - GTMaterials.RedAlloy.addFlags(CAN_BE_UNMOLDED); - GTMaterials.Lead.addFlags(CAN_BE_UNMOLDED); - GTMaterials.Potin.addFlags(CAN_BE_UNMOLDED); - GTMaterials.Iron.addFlags(CAN_BE_UNMOLDED); - - // TFC tool tiers - GTMaterials.Copper.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); - GTMaterials.BismuthBronze.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); - GTMaterials.Bronze.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); - GTMaterials.BlackBronze.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); - GTMaterials.WroughtIron.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); - GTMaterials.Steel.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); - GTMaterials.BlackSteel.addFlags(GENERATE_DOUBLE_INGOTS, GENERATE_ROTOR, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); - GTMaterials.RedSteel.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); - GTMaterials.BlueSteel.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); - - // TFC ores - GTMaterials.Bismuth.addFlags(HAS_SMALL_TFC_ORE); - GTMaterials.Cassiterite.addFlags(HAS_SMALL_TFC_ORE); - GTMaterials.Garnierite.addFlags(HAS_SMALL_TFC_ORE); - GTMaterials.Hematite.addFlags(HAS_SMALL_TFC_ORE); - GTMaterials.Limonite.addFlags(HAS_SMALL_TFC_ORE); - GTMaterials.Magnetite.addFlags(HAS_SMALL_TFC_ORE); - GTMaterials.Malachite.addFlags(HAS_SMALL_TFC_ORE); - GTMaterials.Sphalerite.addFlags(HAS_SMALL_TFC_ORE); - GTMaterials.Tetrahedrite.addFlags(HAS_SMALL_TFC_ORE); - GTMaterials.Chromite.addFlags(HAS_SMALL_TFC_ORE); - GTMaterials.Copper.addFlags(HAS_SMALL_TFC_ORE); - GTMaterials.Gold.addFlags(HAS_SMALL_TFC_ORE); - GTMaterials.Silver.addFlags(HAS_SMALL_TFC_ORE); - - // Other materials that are compatible with TFC - GTMaterials.Iron.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_UTILITY); - GTMaterials.Gold.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_UTILITY); - GTMaterials.Bismuth.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_UTILITY); - GTMaterials.Brass.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_UTILITY); - GTMaterials.Nickel.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_UTILITY); - GTMaterials.RoseGold.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_UTILITY); - GTMaterials.Silver.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_UTILITY); - GTMaterials.Tin.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_UTILITY); - GTMaterials.Zinc.addFlags(GENERATE_DOUBLE_INGOTS, GENERATE_BOLT_SCREW, HAS_TFC_UTILITY); - GTMaterials.SterlingSilver.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_UTILITY); - - GTMaterials.RedAlloy.addFlags(GENERATE_DOUBLE_INGOTS, GENERATE_SMALL_GEAR); - GTMaterials.TinAlloy.addFlags(GENERATE_DOUBLE_INGOTS); - GTMaterials.Lead.addFlags(GENERATE_DOUBLE_INGOTS); - GTMaterials.Invar.addFlags(GENERATE_DOUBLE_INGOTS, HAS_GT_TOOL); - GTMaterials.Potin.addFlags(GENERATE_DOUBLE_INGOTS, ); - GTMaterials.Cobalt.addFlags(GENERATE_DOUBLE_INGOTS); - GTMaterials.CobaltBrass.addFlags(GENERATE_DOUBLE_INGOTS, HAS_GT_TOOL); - - // Superconductors - GTMaterials.ManganesePhosphide.addFlags(GENERATE_FINE_WIRE); - GTMaterials.MagnesiumDiboride.addFlags(GENERATE_FINE_WIRE); - GTMaterials.MercuryBariumCalciumCuprate.addFlags(GENERATE_FINE_WIRE); - GTMaterials.UraniumTriplatinum.addFlags(GENERATE_FINE_WIRE); - GTMaterials.SamariumIronArsenicOxide.addFlags(GENERATE_FINE_WIRE); - //GTMaterials.IndiumTinBariumTitaniumCuprate.addFlags(); - //GTMaterials.UraniumRhodiumDinaquadide.addFlags(); - //GTMaterials.EnrichedNaquadahTriniumEuropiumDuranide.addFlags(); - GTMaterials.RutheniumTriniumAmericiumNeutronate.addFlags(GENERATE_FINE_WIRE); - - // Ores - GTMaterials.Bismuth.setProperty(PropertyKey.ORE, new $ORE_PROPERTY()); - GTMaterials.Borax.setProperty(PropertyKey.ORE, new $ORE_PROPERTY()); - - let rose_quartz = $GreateMaterials.RoseQuartz; - rose_quartz.setProperty(PropertyKey.ORE, new $ORE_PROPERTY()); - rose_quartz.getProperty(PropertyKey.ORE).setOreByProducts(rose_quartz, GTMaterials.Redstone, rose_quartz); - - // Change byproducts so you can't get certus from normal quartzite - GTMaterials.Quartzite.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.NetherQuartz, GTMaterials.Barite, GTMaterials.NetherQuartz); - GTMaterials.CertusQuartz.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.CertusQuartz, GTMaterials.Quartzite, GTMaterials.CertusQuartz); - - // Change Beryllium to add Chemical Bath recipe and Thorium byproduct - GTMaterials.Beryllium.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.Emerald, GTMaterials.Emerald, GTMaterials.Thorium, GTMaterials.Thorium); - GTMaterials.Beryllium.getProperty(PropertyKey.ORE).setWashedIn(GTMaterials.SodiumPersulfate); - - // Remove old stone dusts - GTMaterials.GraniticMineralSand.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.get('tfg:igneous_felsic'), GTMaterials.Magnetite, GTMaterials.Magnetite); - GTMaterials.BasalticMineralSand.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.get('tfg:igneous_mafic'), GTMaterials.Magnetite, GTMaterials.Magnetite); - - // Other flags - GTMaterials.CertusQuartz.addFlags(GENERATE_ROD); - GTMaterials.NetherQuartz.addFlags(GENERATE_ROD); - - GTMaterials.Copper.addFlags(GENERATE_FRAME); - GTMaterials.BlackBronze.addFlags(GENERATE_FRAME); - GTMaterials.BismuthBronze.addFlags(GENERATE_FRAME); - GTMaterials.RhodiumPlatedPalladium.addFlags(GENERATE_FRAME); - - GTMaterials.Wood.addFlags(GENERATE_SMALL_GEAR); - GTMaterials.Brass.addFlags(GENERATE_SMALL_GEAR, GENERATE_RING); - GTMaterials.BlackBronze.addFlags(GENERATE_SMALL_GEAR, GENERATE_RING); - GTMaterials.BismuthBronze.addFlags(GENERATE_SMALL_GEAR, GENERATE_RING); - - GTMaterials.Nickel.addFlags(GENERATE_ROD, GENERATE_LONG_ROD); - GTMaterials.Zinc.addFlags(GENERATE_LONG_ROD); - GTMaterials.Bismuth.addFlags(GENERATE_LONG_ROD); - GTMaterials.BlackSteel.addFlags(GENERATE_LONG_ROD, GENERATE_BOLT_SCREW); - GTMaterials.BlueSteel.addFlags(GENERATE_LONG_ROD, GENERATE_BOLT_SCREW, GENERATE_SPRING, GENERATE_SMALL_GEAR, GENERATE_FOIL); - GTMaterials.RedSteel.addFlags(GENERATE_LONG_ROD, GENERATE_BOLT_SCREW, GENERATE_FOIL); - GTMaterials.WroughtIron.addFlags(GENERATE_ROTOR, GENERATE_SPRING, GENERATE_SMALL_GEAR); - - GTMaterials.Copper.addFlags(GENERATE_BOLT_SCREW); - GTMaterials.Duranium.addFlags(GENERATE_BOLT_SCREW); - - GTMaterials.Magnalium.addFlags(GENERATE_GEAR); - - GTMaterials.Cupronickel.addFlags(GENERATE_BOLT_SCREW, GENERATE_RING); - - GTMaterials.BlackBronze.addFlags(GENERATE_ROTOR) - GTMaterials.BismuthBronze.addFlags(GENERATE_ROTOR) - GTMaterials.Ultimet.addFlags(GENERATE_ROTOR) - GTMaterials.CobaltBrass.addFlags(GENERATE_ROTOR) - GTMaterials.Magnalium.addFlags(GENERATE_ROTOR) - GTMaterials.VanadiumSteel.addFlags(GENERATE_ROTOR) - - GTMaterials.HSLASteel.addFlags(GENERATE_BOLT_SCREW, GENERATE_DENSE) - - GTMaterials.Invar.addFlags(GENERATE_RING); - GTMaterials.Magnalium.addFlags(GENERATE_RING); - GTMaterials.TinAlloy.addFlags(GENERATE_RING); - GTMaterials.SterlingSilver.addFlags(GENERATE_RING); - - GTMaterials.Bismuth.addFlags(GENERATE_PLATE, GENERATE_ROD, GENERATE_BOLT_SCREW); - GTMaterials.IronMagnetic.addFlags(GENERATE_PLATE); - - GTMaterials.Silicon.addFlags(GENERATE_DENSE); - GTMaterials.RTMAlloy.addFlags(GENERATE_DENSE, GENERATE_SPRING); - GTMaterials.Lead.addFlags(GENERATE_DENSE); - - GTMaterials.Beryllium.addFlags(GENERATE_DENSE); - GTMaterials.MaragingSteel300.addFlags(GENERATE_DENSE); - - GTMaterials.Quartzite.addFlags(GENERATE_ROD); - - GTMaterials.TreatedWood.addFlags(GENERATE_LONG_ROD); - - GTMaterials.Cadmium.addFlags(GENERATE_PLATE); - GTMaterials.Cadmium.setProperty(PropertyKey.INGOT, new $INGOT_PROPERTY()); - - // Hide ore processing tab for plutonium - GTMaterials.Plutonium239.addFlags(GENERATE_ROD, GENERATE_LONG_ROD, NO_ORE_PROCESSING_TAB, NO_ORE_SMELTING) - GTMaterials.Thorium.addFlags(NO_ORE_SMELTING) - - // Unhiding elements - GTMaterials.Zirconium.setProperty(PropertyKey.DUST, new $DUST_PROPERTY()); - GTMaterials.Zirconium.setProperty(PropertyKey.INGOT, new $INGOT_PROPERTY()); - GTMaterials.Zirconium.setProperty(PropertyKey.BLAST, new $BLAST_PROPERTY(4200, $BLAST_PROPERTY.GasTier.MID, GTValues.VA[GTValues.EV], 1300, GTValues.VA[GTValues.HV], 14.7*20)); - GTMaterials.Zirconium.addFlags(GENERATE_FINE_WIRE, GENERATE_PLATE, GENERATE_DENSE, NO_ORE_SMELTING); - - // Tools - GTMaterials.Stone.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(1.2, 1.0, 8, 1, [ - GTToolType.AXE, - GTToolType.HARD_HAMMER, - GTToolType.HOE, - GTToolType.KNIFE, - GTToolType.SHOVEL - ]).build()); - - GTMaterials.Copper.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(2.0, 1.5, 132, 2, metalTooling).build()); - GTMaterials.BismuthBronze.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(2.7, 2.0, 188, 2, metalTooling.concat(GTToolType.MORTAR)).build()); - GTMaterials.BlackBronze.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(3.1, 2.0, 194, 2, metalTooling.concat(GTToolType.MORTAR)).build()); - GTMaterials.BlackSteel.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(6.5, 4.5, 1228, 3, metalTooling).build()); - // Cast iron tools don't make sense but gregtech shits itself if they're missing, - // so I'm just giving them terrible terrible stats - GTMaterials.Iron.getProperties().removeProperty(PropertyKey.TOOL); - GTMaterials.Iron.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(2.5, 1.0, 20, 2, [GTToolType.PICKAXE]).build()); - // Hide netherite too - GTMaterials.Netherite.getProperties().removeProperty(PropertyKey.TOOL); - - for (let material of GTCEuAPI.materialManager.getRegisteredMaterials()) { - let toolProperty = material.getProperty(PropertyKey.TOOL); - if (toolProperty === null) - continue; - - toolProperty.setDurability(toolProperty.getDurability() * 6); - } - - // Bismuth item pipe - 1/4 as good as tin - GTMaterials.Bismuth.setProperty(PropertyKey.ITEM_PIPE, new $ITEM_PIPE_PROPERTY(16384, 0.125)); - // Bis bronze fluid pipe - same stats as bronze - GTMaterials.BismuthBronze.getProperties().removeProperty(PropertyKey.BLAST); - GTMaterials.BismuthBronze.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(1696, 20, true, false, false, false)); - GTMaterials.BlackBronze.getProperties().removeProperty(PropertyKey.BLAST); - GTMaterials.BlackBronze.getProperties().removeProperty(PropertyKey.ITEM_PIPE); - GTMaterials.BlackBronze.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(1696, 20, true, false, false, false)); - // Rose Gold & Sterling Silver - GTMaterials.RoseGold.getProperties().removeProperty(PropertyKey.BLAST); - GTMaterials.SterlingSilver.getProperties().removeProperty(PropertyKey.BLAST); - // Red steel fluid pipe - same flow rate as aluminium, bad heat tolerance (same as PE) but can do cryo - GTMaterials.RedSteel.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(370, 75, true, false, true, false)); - // Blue steel fluid pipe - same flow rate as aluminium, same temp tolerance as tungsten - GTMaterials.BlueSteel.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(4618, 75, true, false, false, false)); - // Ostrum fluid pipe - same flow rate as titanium, higher temp range - GTMaterials.get('ostrum').setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(3700, 150, true, false, true, false)); - - // int is how fast the condition progresses (default 1.0) - // bool is whether or not the condition applies to anything made with the material, other than dusts (default false) - GTMaterials.Realgar.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.INHALATION, GTMedicalConditions.ARSENICOSIS, 1, false)); - GTMaterials.Cobaltite.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.INHALATION, GTMedicalConditions.ARSENICOSIS, 1, false)); - GTMaterials.Galena.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.INHALATION, GTMedicalConditions.WEAK_POISON, 1, false)); - GTMaterials.Chromite.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.SKIN_CONTACT, GTMedicalConditions.IRRITANT, 1, false)); - GTMaterials.Thorium.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.ANY, $TFGT_MEDICAL_CONDITIONS.RADIOACTIVE, 1, true)); - - // This contains hazardous elements so GT tags it as hazardous automatically - GTMaterials.get('ostrum').getProperties().removeProperty(PropertyKey.HAZARD); - GTMaterials.get('ostrum_iodide').getProperties().removeProperty(PropertyKey.HAZARD); - // Superconductors being radioactive at EV is a little evil - GTMaterials.UraniumTriplatinum.getProperties().removeProperty(PropertyKey.HAZARD); - - // Make these the lowest tier of EBF instead - GTMaterials.BlackSteel.getProperty(PropertyKey.BLAST).setBlastTemperature(1000) - GTMaterials.RedSteel.getProperty(PropertyKey.BLAST).setBlastTemperature(1000) - GTMaterials.BlueSteel.getProperty(PropertyKey.BLAST).setBlastTemperature(1000) - - // BLAST property - let zirconium_diboride = TFGHelpers.getMaterial('zirconium_diboride'); - zirconium_diboride.setProperty(PropertyKey.BLAST, new $BLAST_PROPERTY(4500, "high", GTValues.VA[GTValues.EV], 2700, GTValues.VA[GTValues.HV], 12.5*20)); - - // Remove properties - GTMaterials.Glass.getProperties().removeProperty(PropertyKey.GEM) - GTMaterials.Thorium.getProperties().removeProperty(PropertyKey.INGOT) - GTMaterials.Thorium.getProperties().removeProperty(PropertyKey.FLUID) - GTMaterials.Plutonium239.getProperties().removeProperty(PropertyKey.ORE) - - // Color Adjustments - 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) - GTMaterials.IronMagnetic.setMaterialSecondaryARGB(0x131212) - GTMaterials.Zinc.setMaterialARGB(0xd6ffdc) - GTMaterials.Zinc.setMaterialSecondaryARGB(0xA3BE9E) - GTMaterials.Graphite.setMaterialARGB(0x889BA8) - GTMaterials.Graphite.setMaterialSecondaryARGB(0x30383E) - GTMaterials.Amethyst.setMaterialARGB(0xCC9EF0) - GTMaterials.Amethyst.setMaterialSecondaryARGB(0x6F4AB3) - GTMaterials.Cobalt.setMaterialARGB(0xC9E4FB) - GTMaterials.Cobalt.setMaterialSecondaryARGB(0x1D2688) - GTMaterials.CertusQuartz.setMaterialARGB(0xB8D8FC) - GTMaterials.CertusQuartz.setMaterialSecondaryARGB(0xADCCEF) - GTMaterials.Vanadium.setMaterialARGB(0xA7AAC6) - GTMaterials.Vanadium.setMaterialSecondaryARGB(0xC4EFE6) - GTMaterials.Brass.setMaterialSecondaryARGB(0x791905) - GTMaterials.Aluminium.setMaterialARGB(0xb6e5ff) - GTMaterials.Aluminium.setMaterialSecondaryARGB(0x7ca29b) - GTMaterials.Titanium.setMaterialARGB(0xe8b1fa) - GTMaterials.Titanium.setMaterialSecondaryARGB(0xd8d5d9) - GTMaterials.TungstenSteel.setMaterialARGB(0xadb8df) - GTMaterials.TungstenSteel.setMaterialSecondaryARGB(0x03192f) - GTMaterials.RoseGold.setMaterialARGB(0xFCE4D8) - GTMaterials.RoseGold.setMaterialSecondaryARGB(0xAB675A) - GTMaterials.Platinum.setMaterialARGB(0xccdff5) - GTMaterials.Platinum.setMaterialSecondaryARGB(0x59563a) - GTMaterials.Nickel.setMaterialARGB(0xfff4ba) - GTMaterials.Nickel.setMaterialSecondaryARGB(0x8d8d71) - GTMaterials.Thorium.setMaterialARGB(0xc898a0) - GTMaterials.Thorium.setMaterialSecondaryARGB(0xad6d9c) - GTMaterials.GraniteRed.setMaterialARGB(0x974B3C) - GTMaterials.GraniteRed.setMaterialSecondaryARGB(0x632117) - GTMaterials.RhodiumPlatedPalladium.setMaterialARGB(0xFFC2EC) - GTMaterials.Rhenium.setMaterialARGB(0x8cb07f) - GTMaterials.Rhenium.setMaterialSecondaryARGB(0x9ccbd6) - GTMaterials.Diamond.setMaterialARGB(0x4AEDD9) - GTMaterials.Diamond.setMaterialSecondaryARGB(0x1AAAA7) - GTMaterials.Boron.setMaterialARGB(0x75BD8D) - GTMaterials.Boron.setMaterialSecondaryARGB(0x013A15) - GTMaterials.Americium.setMaterialARGB(0x284D7B) - - // Fluids - global.MINECRAFT_DYE_NAMES.forEach(colorName => { - let material = GTMaterials.get(`gtceu:${colorName}_dye`); - let property = material.getProperty(PropertyKey.FLUID); - property.getStorage().store($FluidStorageKeys.LIQUID, () => Fluid.of(`tfc:${colorName}_dye`).fluid, null); - }); - - let lyeFluidProperty = new $FLUID_PROPERTY(); - lyeFluidProperty.getStorage().store($FluidStorageKeys.LIQUID, () => Fluid.of('tfc:lye').fluid, null); - GTMaterials.SodiumHydroxide.setProperty(PropertyKey.FLUID, lyeFluidProperty); - - // Components and formulas - GTMaterials.CertusQuartz.setComponents('1x unknown', '1x silicon', '2x oxygen') - GTMaterials.Glowstone.setComponents('1x gold', '1x redstone') - GTMaterials.Thorium.setFormula('ThO2') - GTMaterials.Americium.setFormula('Am²⁴³') - GTMaterials.Caesium.setFormula('Cs¹³³') -} \ No newline at end of file diff --git a/kubejs/startup_scripts/gtmoderntuilities/constants.js b/kubejs/startup_scripts/gtmoderntuilities/constants.js new file mode 100644 index 000000000..d6a331d1a --- /dev/null +++ b/kubejs/startup_scripts/gtmoderntuilities/constants.js @@ -0,0 +1,18 @@ +// priority: 0 +"use strict"; + +global.GTM_UTILITIES_DISABLED_ITEMS = [ + + 'gtmutils:sterile_cleaning_maintenance_hatch', + 'gtmutils:pterb_machine', + 'gtmutils:expanded_me_pattern_buffer', + 'gtmutils:expanded_me_pattern_buffer_proxy', + 'gtmutils:me_tag_stocking_input_bus', + 'gtmutils:me_enlarged_stocking_input_bus', + 'gtmutils:me_enlarged_tag_stocking_input_bus', + 'gtmutils:me_tag_stocking_input_hatch', + 'gtmutils:me_enlarged_stocking_input_hatch', + 'gtmutils:me_enlarged_tag_stocking_input_hatch', + 'gtmutils:quantum_coolant_bucket', + 'gtmutils:quantum_coolant', +] \ No newline at end of file diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index f3be25bfb..5845c3782 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -59,8 +59,8 @@ GTCEuStartupEvents.registry('gtceu:material_icon_set', event => { }) GTCEuStartupEvents.materialModification(event => { - registerGTCEuMaterialModification(event) registerGreateMaterialModification(event) + registerTFGMaterialModification(event) }) GTCEuStartupEvents.registry('gtceu:dimension_marker', event => { diff --git a/kubejs/startup_scripts/tfg/blocks.js b/kubejs/startup_scripts/tfg/blocks.js index d6e802c48..2a9b506d7 100644 --- a/kubejs/startup_scripts/tfg/blocks.js +++ b/kubejs/startup_scripts/tfg/blocks.js @@ -18,7 +18,6 @@ const registerTFGBlocks = (event) => { registerTFGNuclearBlocks(event) - // Temporary, remove in 0.12 event.create('gtceu:ostrum_linear_accelerator') .tagBlock('gtceu:mineable/pickaxe_or_wrench') diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index 8b141984f..c0fb2ee45 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -33,6 +33,9 @@ const registerTFGItems = (event) => { event.create('tfg:cryo_fluix_pearl') event.create('tfg:uv_led') event.create('tfg:smd_uv_led') + event.create('tfg:blue_alloy_desh_foil') + event.create('tfg:chorus_ceramic_insulation') + event.create('tfg:fired_chorus_ceramic_insulation') // Molds global.TFG_EXTRUDER_MOLDS.forEach(id => event.create(id)) @@ -59,4 +62,25 @@ const registerTFGItems = (event) => { event.create('tfg:loaded_resin') .texture('tfg:item/btx/loaded_resin') + + // Add New Ceramic Circuit Board + + event.create('tfg:mo_activated_sic_substrate') + .texture('tfg:item/mo_activated_sic_substrate') + + event.create('tfg:copper_bonded_al2o3_pcb') + .texture('tfg:item/copper_bonded_al2o3_pcb') + + event.create('tfg:chromium_bonded_beo_pcb') + .texture('tfg:item/chromium_bonded_beo_pcb') + + // Add New Lenses Support + + event.create('tfg:optical_borosilicate_blank') + .texture('tfg:item/optical_borosilicate_blank') + + event.create('tfg:worked_optical_borosilicate_blank') + .texture('tfg:item/worked_optical_borosilicate_blank') + .tag('tfg:precision_fabricator_dipped_items') + } diff --git a/kubejs/startup_scripts/tfg/mars/materials.mars.js b/kubejs/startup_scripts/tfg/mars/materials.mars.js index dc5a98a6b..a62065e10 100644 --- a/kubejs/startup_scripts/tfg/mars/materials.mars.js +++ b/kubejs/startup_scripts/tfg/mars/materials.mars.js @@ -31,7 +31,7 @@ function registerTFGMarsMaterials(event) { // Atmosphere event.create('tfg:mars_air') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(208)) + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(208)) .color('0xD08957') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .components('94x carbon_dioxide', '3x nitrogen', '2x argon', '1x oxygen') @@ -44,7 +44,7 @@ function registerTFGMarsMaterials(event) { .components('80x carbon_dioxide', '7x nitrogen', '5x argon', '3x oxygen', '1x neon', '1x krypton', '1x xenon') // Mars sap - + event.create('tfg:crimsene') .liquid(new GTFluidBuilder().state(GTFluidState.LIQUID).temperature(220)) .gem() @@ -93,20 +93,28 @@ function registerTFGMarsMaterials(event) { .blastTemp(3700, $BlastProperty.GasTier.MID, GTValues.VA[GTValues.EV]) .flags( GTMaterialFlags.DISABLE_DECOMPOSITION, - GTMaterialFlags.FORCE_GENERATE_BLOCK, + GTMaterialFlags.FORCE_GENERATE_BLOCK, GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_FRAME, + GTMaterialFlags.GENERATE_FOIL, GTMaterialFlags.DISABLE_ALLOY_BLAST - ) + ) + + + // Alloys event.create("ostrum_iodide") .ingot() .liquid() .components('2x ostrum', 'iodine') - .blastTemp(3700, $BlastProperty.GasTier.MID, GTValues.VA[GTValues.IV], (20*120)) + .blastTemp(3700, $BlastProperty.GasTier.MID, GTValues.VA[GTValues.IV], (20 * 120)) .iconSet(GTMaterialIconSet.getByName('cereal_box')) - .flags(GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.GENERATE_FOIL) + .flags( + GTMaterialFlags.GENERATE_GEAR, + GTMaterialFlags.GENERATE_FOIL, + GTMaterialFlags.GENERATE_ROD, + GTMaterialFlags.GENERATE_LONG_ROD) .color(0xc696f2) .secondaryColor(0x9b99ff) } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/material_modification.js b/kubejs/startup_scripts/tfg/material_modification.js new file mode 100644 index 000000000..3e2d913fd --- /dev/null +++ b/kubejs/startup_scripts/tfg/material_modification.js @@ -0,0 +1,13 @@ +// priority: 0 +"use strict"; + +const registerTFGMaterialModification = (event) => { + registerTFCMaterialModification(event); + registerTFGFlagsMaterialModification(event); + registerTFGOresMaterialModification(event); + registerTFGPropertyMaterialModification(event); + registerTFGToolMaterialModification(event); + registerTFGFluidMaterialModification(event); + registerTFGComponentMaterialModification(event); + registerTFGColorsMaterialModification(event); +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/materials.js b/kubejs/startup_scripts/tfg/materials.js index 44285ba28..592f0a880 100644 --- a/kubejs/startup_scripts/tfg/materials.js +++ b/kubejs/startup_scripts/tfg/materials.js @@ -42,28 +42,19 @@ const registerTFGMaterials = (event) => { registerTFGEuropaMaterials(event); registerTFGAquaponicsMaterials(event); + registerTFGEtchingMaterials(event); + registerTFGBakeliteMaterials(event); + registerTFGRefrigerantMaterials(event); + registerTFGCoilMaterials(event); + registerTFGBouleMaterials(event); + registerTFGRotorMaterials(event); + registerTFGSolderMaterials(event) + registerTFGTungstenMaterials(event); + registerTFGZirconiumMaterials(event); + registerTFGAluminaMaterials(event) + registerTFGGemSlurryMaterials(event); + registerTFGMiscAlloyMaterials(event) - // Refrigerants - - event.create('tfg:chlorodifluoromethane') - .gas() - .components('1x carbon', '1x hydrogen', '1x chlorine', '2x fluorine') - .color(0x66ffa3) - - event.create('tfg:acetylene') - .gas() - .components('2x carbon', '2x hydrogen') - .color(0x1a1212) - - event.create('tfg:isobutane') - .gas() - .components('4x carbon', '10x hydrogen') - .color(0x7d0f00) - - event.create('tfg:1_1_1_2_tetrafluoroethane') - .gas() - .components('2x carbon', '2x hydrogen', '4x fluorine') - .color(0x46702e) // Crafting components @@ -74,105 +65,6 @@ const registerTFGMaterials = (event) => { .color(0xFFFFFF) .secondaryColor(0x67FFE6) .formula("(Al2Si2O5(OH)4)(BeK4N5)") - - // Bakelite - event.create('tfg:bakelite') - .polymer() - .fluid() - .color(0xF29104) - .secondaryColor(0xD96005) - .components('1x phenol', '1x formaldehyde') - .flags( - GTMaterialFlags.DISABLE_DECOMPOSITION, - GTMaterialFlags.NO_SMELTING, - GTMaterialFlags.GENERATE_PLATE, - GTMaterialFlags.GENERATE_FOIL - ) - - event.create('tfg:phenolic_resin') - .fluid() - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .components('1x phenol', '1x formaldehyde') - .color(0xFCD7A3) - - // Coils - - event.create('tfg:magnesium_hydroxide') - .dust() - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .components('1x magnesium', '2x hydroxide') - .color(0xC6E4FF) - - event.create('tfg:magnesia_refractory_brick') - .dust() - .ingot() - .iconSet(GTMaterialIconSet.ROUGH) - .flags(GTMaterialFlags.NO_SMELTING) - .color(0xA69D96) - - //#region Tungsten Line - - event.create('tfg:sodium_tungstate') - .dust() - .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES, GTMaterialFlags.DISABLE_DECOMPOSITION) - .iconSet(GTMaterialIconSet.BRIGHT) - .components('2x sodium','1x tungsten', '4x oxygen') - .color('0xdcf6f7') - - event.create('tfg:ammonium_tungstate') - .dust() - .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES, GTMaterialFlags.DISABLE_DECOMPOSITION) - .iconSet(GTMaterialIconSet.DULL) - .components('10x ammonia', '2x hydrogen', '12x tungsten', '42x oxygen') - .color('0xfafafa') - - event.create('tfg:apt') - .gem() - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .iconSet(GTMaterialIconSet.FLINT) - .components('10x ammonia', '4x water', '2x hydrogen', '12x tungsten', '42x oxygen') - .color('0xaabdf0') - - event.create('tfg:tungsten_oxide') - .dust() - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .iconSet(GTMaterialIconSet.FLINT) - .components('1x tungsten', '3x oxygen') - .color('0xf0c851') - - // #endregion - - //#region New Alloy for Turbines - - event.create('tfg:tungsten_bismuth_oxide_composite') - .components('1x tungsten', '2x bismuth', '3x oxygen') - .color(0xf7cb48) - .secondaryColor(0xfffef0) - .iconSet(GTMaterialIconSet.getByName('tfc_cassiterite')) - .ingot() - .liquid() - .blastTemp(3700, $BlastProperty.GasTier.MID, GTValues.VA[GTValues.IV], (20*120)) - .rotorStats(250, 90, 2 ,620) - .flags( - GTMaterialFlags.DISABLE_DECOMPOSITION, - GTMaterialFlags.GENERATE_PLATE, - GTMaterialFlags.GENERATE_ROD, - GTMaterialFlags.GENERATE_BOLT_SCREW, - GTMaterialFlags.EXCLUDE_BLOCK_CRAFTING_BY_HAND_RECIPES, - GTMaterialFlags.GENERATE_FOIL, - GTMaterialFlags.GENERATE_FINE_WIRE - ) - .fluidPipeProperties(4250, 1700, true, false, false, false) - - // #endregion - - // #region conductor - event.create('tfg:thermally_conductive_fluid') - .liquid() - .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) - .components('7x gallium', '2x tin', '1x zinc') - .color('0x34cfeb') - // #endregion // #region holder materials // These allow us to give material components to non-material items @@ -193,64 +85,4 @@ const registerTFGMaterials = (event) => { .macerateInto('gtceu:polycaprolactam') .color(0x000000) // #endregion - - // #region Zirconium - event.create('tfg:zircon') - .gem() - .color(0xF1B6B0) - .secondaryColor(0x4BABC6) - .iconSet('gem_horizontal') - .components('1x zirconium', '1x silicon', '4x oxygen') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - - event.create('tfg:zirconium_tetrachloride') - .dust() - .color(0xF1B6B0) - .secondaryColor(0x146946) - .iconSet('rough') - .components('1x zirconium', '4x chlorine') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - - event.create('tfg:silicon_tetrachloride') - .liquid() - .color(0x707078) - .secondaryColor(0x146946) - .components('1x silicon', '4x chlorine') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - - event.create('tfg:zirconium_bromide') - .dust() - .color(0xBA776F) - .secondaryColor(0x146985) - .iconSet('shiny') - .components('1x zirconium', '4x bromine') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - - event.create('tfg:zirconium_diboride') - .ingot() - .color(0xFADED2) - .secondaryColor(0x4FA883) - .iconSet('chonky') - .components('1x zirconium', '2x boron') - .flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_FOIL) - - event.create('tfg:boron_carbide') - .ingot() - .iconSet('dull') - .color(0x42705D) - .components('4x boron', '1x carbon') - .blastTemp(3041, $BlastProperty.GasTier.MID, GTValues.VA[GTValues.HV], 1500) - .flags(GTMaterialFlags.GENERATE_PLATE) - - // #endregion - - //#region Material for Coils - - event.create('tfg:nichromium_iodomethylate') - .liquid(new GTFluidBuilder().temperature(1818)) - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .components('4x nickel', '1x chromium', '1x carbon', '3x hydrogen', '1x iodine') - .color(0xe7a2fc) - - } diff --git a/kubejs/startup_scripts/tfg/materials/material_modification.colors.js b/kubejs/startup_scripts/tfg/materials/material_modification.colors.js new file mode 100644 index 000000000..0504a99fa --- /dev/null +++ b/kubejs/startup_scripts/tfg/materials/material_modification.colors.js @@ -0,0 +1,63 @@ +// priority: 0 +"use strict"; + +function registerTFGColorsMaterialModification(event) { + 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) + GTMaterials.IronMagnetic.setMaterialSecondaryARGB(0x131212) + GTMaterials.Zinc.setMaterialARGB(0xd6ffdc) + GTMaterials.Zinc.setMaterialSecondaryARGB(0xA3BE9E) + GTMaterials.Graphite.setMaterialARGB(0x889BA8) + GTMaterials.Graphite.setMaterialSecondaryARGB(0x30383E) + GTMaterials.Amethyst.setMaterialARGB(0xCC9EF0) + GTMaterials.Amethyst.setMaterialSecondaryARGB(0x6F4AB3) + GTMaterials.Cobalt.setMaterialARGB(0xC9E4FB) + GTMaterials.Cobalt.setMaterialSecondaryARGB(0x1D2688) + GTMaterials.CertusQuartz.setMaterialARGB(0xB8D8FC) + GTMaterials.CertusQuartz.setMaterialSecondaryARGB(0xADCCEF) + GTMaterials.Vanadium.setMaterialARGB(0xA7AAC6) + GTMaterials.Vanadium.setMaterialSecondaryARGB(0xC4EFE6) + GTMaterials.Brass.setMaterialSecondaryARGB(0x791905) + GTMaterials.Aluminium.setMaterialARGB(0xb6e5ff) + GTMaterials.Aluminium.setMaterialSecondaryARGB(0x7ca29b) + GTMaterials.Titanium.setMaterialARGB(0xe8b1fa) + GTMaterials.Titanium.setMaterialSecondaryARGB(0xd8d5d9) + GTMaterials.TungstenSteel.setMaterialARGB(0xadb8df) + GTMaterials.TungstenSteel.setMaterialSecondaryARGB(0x03192f) + GTMaterials.RoseGold.setMaterialARGB(0xFCE4D8) + GTMaterials.RoseGold.setMaterialSecondaryARGB(0xAB675A) + GTMaterials.Platinum.setMaterialARGB(0xccdff5) + GTMaterials.Platinum.setMaterialSecondaryARGB(0x59563a) + GTMaterials.Nickel.setMaterialARGB(0xfff4ba) + GTMaterials.Nickel.setMaterialSecondaryARGB(0x8d8d71) + GTMaterials.Thorium.setMaterialARGB(0xc898a0) + GTMaterials.Thorium.setMaterialSecondaryARGB(0xad6d9c) + GTMaterials.GraniteRed.setMaterialARGB(0x974B3C) + GTMaterials.GraniteRed.setMaterialSecondaryARGB(0x632117) + GTMaterials.RhodiumPlatedPalladium.setMaterialARGB(0xFFC2EC) + GTMaterials.Rhenium.setMaterialARGB(0x8cb07f) + GTMaterials.Rhenium.setMaterialSecondaryARGB(0x9ccbd6) + GTMaterials.Diamond.setMaterialARGB(0x4AEDD9) + GTMaterials.Diamond.setMaterialSecondaryARGB(0x1AAAA7) + GTMaterials.Boron.setMaterialARGB(0x75BD8D) + GTMaterials.Boron.setMaterialSecondaryARGB(0x013A15) + GTMaterials.Americium.setMaterialARGB(0x284D7B) + GTMaterials.SterlingSilver.setMaterialARGB(0xFFE8E4) + GTMaterials.SterlingSilver.setMaterialSecondaryARGB(0xFFDECB) + GTMaterials.RoseGold.setMaterialARGB(0xF7D4BD) + GTMaterials.RoseGold.setMaterialSecondaryARGB(0xE7945C) + +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/materials/material_modification.components.js b/kubejs/startup_scripts/tfg/materials/material_modification.components.js new file mode 100644 index 000000000..879e59cda --- /dev/null +++ b/kubejs/startup_scripts/tfg/materials/material_modification.components.js @@ -0,0 +1,10 @@ +// priority: 0 +"use strict"; + +function registerTFGComponentMaterialModification(event) { + GTMaterials.CertusQuartz.setComponents('1x unknown', '1x silicon', '2x oxygen') + GTMaterials.Glowstone.setComponents('1x gold', '1x redstone') + GTMaterials.Thorium.setFormula('ThO2') + GTMaterials.Americium.setFormula('Am²⁴³') + GTMaterials.Caesium.setFormula('Cs¹³³') +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/materials/material_modification.flags.js b/kubejs/startup_scripts/tfg/materials/material_modification.flags.js new file mode 100644 index 000000000..e6355f959 --- /dev/null +++ b/kubejs/startup_scripts/tfg/materials/material_modification.flags.js @@ -0,0 +1,199 @@ +// priority: 0 +"use strict"; + +function registerTFGFlagsMaterialModification(event) { + const $MATERIAL_FLAGS = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.info.MaterialFlags') + + const { + HAS_TFC_TOOL, // used to generate new TFC items like javelins + HAS_GT_TOOL, // does not generate items, just TFC recipes for GT tools + HAS_TFC_ARMOR, + HAS_TFC_UTILITY, + CAN_BE_UNMOLDED, + GENERATE_DOUBLE_INGOTS, + HAS_SMALL_TFC_ORE, + GENERATE_DUSTY_ORES, + } = TFGMaterialFlags + + const { + GENERATE_ROD, + GENERATE_LONG_ROD, + GENERATE_BOLT_SCREW, + GENERATE_ROTOR, + GENERATE_SPRING, + GENERATE_SMALL_GEAR, + GENERATE_GEAR, + GENERATE_FRAME, + GENERATE_PLATE, + GENERATE_DENSE, + GENERATE_RING, + GENERATE_FOIL, + GENERATE_FINE_WIRE, + NO_ORE_PROCESSING_TAB, + NO_ORE_SMELTING, + DISABLE_DECOMPOSITION + } = $MATERIAL_FLAGS + + GTMaterials.Clay.addFlags(DISABLE_DECOMPOSITION); + GTMaterials.Brick.addFlags(DISABLE_DECOMPOSITION); + + + // Generate Dusty Ores for Infinite Ores + GTMaterials.Goethite.addFlags(GENERATE_DUSTY_ORES); + GTMaterials.Diamond.addFlags(GENERATE_DUSTY_ORES); + GTMaterials.CertusQuartz.addFlags(GENERATE_DUSTY_ORES); + GTMaterials.Gold.addFlags(GENERATE_DUSTY_ORES); + GTMaterials.Cassiterite.addFlags(GENERATE_DUSTY_ORES); + GTMaterials.Pitchblende.addFlags(GENERATE_DUSTY_ORES); + GTMaterials.Silver.addFlags(GENERATE_DUSTY_ORES); + GTMaterials.TricalciumPhosphate.addFlags(GENERATE_DUSTY_ORES); + GTMaterials.Bauxite.addFlags(GENERATE_DUSTY_ORES); + GTMaterials.Lead.addFlags(GENERATE_DUSTY_ORES); + GTMaterials.Beryllium.addFlags(GENERATE_DUSTY_ORES); + GTMaterials.Thorium.addFlags(GENERATE_DUSTY_ORES); + GTMaterials.Uraninite.addFlags(GENERATE_DUSTY_ORES); + GTMaterials.Hematite.addFlags(GENERATE_DUSTY_ORES); + + // Castable stuff + GTMaterials.Copper.addFlags(CAN_BE_UNMOLDED); + GTMaterials.BismuthBronze.addFlags(CAN_BE_UNMOLDED); + GTMaterials.BlackBronze.addFlags(CAN_BE_UNMOLDED); + GTMaterials.Bronze.addFlags(CAN_BE_UNMOLDED); + GTMaterials.Tin.addFlags(CAN_BE_UNMOLDED); + GTMaterials.Bismuth.addFlags(CAN_BE_UNMOLDED); + GTMaterials.Zinc.addFlags(CAN_BE_UNMOLDED); + GTMaterials.SterlingSilver.addFlags(CAN_BE_UNMOLDED); + GTMaterials.RoseGold.addFlags(CAN_BE_UNMOLDED); + GTMaterials.Silver.addFlags(CAN_BE_UNMOLDED); + GTMaterials.Gold.addFlags(CAN_BE_UNMOLDED); + GTMaterials.Nickel.addFlags(CAN_BE_UNMOLDED); + GTMaterials.Brass.addFlags(CAN_BE_UNMOLDED); + GTMaterials.RedAlloy.addFlags(CAN_BE_UNMOLDED); + GTMaterials.Lead.addFlags(CAN_BE_UNMOLDED); + GTMaterials.Potin.addFlags(CAN_BE_UNMOLDED); + GTMaterials.Iron.addFlags(CAN_BE_UNMOLDED); + + // TFC tool tiers + GTMaterials.Copper.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); + GTMaterials.BismuthBronze.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); + GTMaterials.Bronze.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); + GTMaterials.BlackBronze.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); + GTMaterials.WroughtIron.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); + GTMaterials.Steel.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); + GTMaterials.BlackSteel.addFlags(GENERATE_DOUBLE_INGOTS, GENERATE_ROTOR, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); + GTMaterials.RedSteel.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); + GTMaterials.BlueSteel.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); + + // TFC ores + GTMaterials.Bismuth.addFlags(HAS_SMALL_TFC_ORE); + GTMaterials.Cassiterite.addFlags(HAS_SMALL_TFC_ORE); + GTMaterials.Garnierite.addFlags(HAS_SMALL_TFC_ORE); + GTMaterials.Hematite.addFlags(HAS_SMALL_TFC_ORE); + GTMaterials.Limonite.addFlags(HAS_SMALL_TFC_ORE); + GTMaterials.Magnetite.addFlags(HAS_SMALL_TFC_ORE); + GTMaterials.Malachite.addFlags(HAS_SMALL_TFC_ORE); + GTMaterials.Sphalerite.addFlags(HAS_SMALL_TFC_ORE); + GTMaterials.Tetrahedrite.addFlags(HAS_SMALL_TFC_ORE); + GTMaterials.Chromite.addFlags(HAS_SMALL_TFC_ORE); + GTMaterials.Copper.addFlags(HAS_SMALL_TFC_ORE); + GTMaterials.Gold.addFlags(HAS_SMALL_TFC_ORE); + GTMaterials.Silver.addFlags(HAS_SMALL_TFC_ORE); + + // Other materials that are compatible with TFC + GTMaterials.Iron.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_UTILITY); + GTMaterials.Gold.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_UTILITY); + GTMaterials.Bismuth.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_UTILITY); + GTMaterials.Brass.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_UTILITY); + GTMaterials.Nickel.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_UTILITY); + GTMaterials.RoseGold.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_UTILITY); + GTMaterials.Silver.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_UTILITY); + GTMaterials.Tin.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_UTILITY); + GTMaterials.Zinc.addFlags(GENERATE_DOUBLE_INGOTS, GENERATE_BOLT_SCREW, HAS_TFC_UTILITY); + GTMaterials.SterlingSilver.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_UTILITY); + + GTMaterials.RedAlloy.addFlags(GENERATE_DOUBLE_INGOTS, GENERATE_SMALL_GEAR); + GTMaterials.TinAlloy.addFlags(GENERATE_DOUBLE_INGOTS); + GTMaterials.Lead.addFlags(GENERATE_DOUBLE_INGOTS); + GTMaterials.Invar.addFlags(GENERATE_DOUBLE_INGOTS); + GTMaterials.Potin.addFlags(GENERATE_DOUBLE_INGOTS); + GTMaterials.Cobalt.addFlags(GENERATE_DOUBLE_INGOTS); + GTMaterials.CobaltBrass.addFlags(GENERATE_DOUBLE_INGOTS); + + // Superconductors + GTMaterials.ManganesePhosphide.addFlags(GENERATE_FINE_WIRE); + GTMaterials.MagnesiumDiboride.addFlags(GENERATE_FINE_WIRE); + GTMaterials.MercuryBariumCalciumCuprate.addFlags(GENERATE_FINE_WIRE); + GTMaterials.UraniumTriplatinum.addFlags(GENERATE_FINE_WIRE); + GTMaterials.SamariumIronArsenicOxide.addFlags(GENERATE_FINE_WIRE); + //GTMaterials.IndiumTinBariumTitaniumCuprate.addFlags(); + //GTMaterials.UraniumRhodiumDinaquadide.addFlags(); + //GTMaterials.EnrichedNaquadahTriniumEuropiumDuranide.addFlags(); + GTMaterials.RutheniumTriniumAmericiumNeutronate.addFlags(GENERATE_FINE_WIRE); + + + // Other flags + GTMaterials.CertusQuartz.addFlags(GENERATE_ROD); + GTMaterials.NetherQuartz.addFlags(GENERATE_ROD); + + GTMaterials.Copper.addFlags(GENERATE_FRAME); + GTMaterials.BlackBronze.addFlags(GENERATE_FRAME); + GTMaterials.BismuthBronze.addFlags(GENERATE_FRAME); + GTMaterials.RhodiumPlatedPalladium.addFlags(GENERATE_FRAME); + + GTMaterials.Wood.addFlags(GENERATE_SMALL_GEAR); + GTMaterials.Brass.addFlags(GENERATE_SMALL_GEAR, GENERATE_RING); + GTMaterials.BlackBronze.addFlags(GENERATE_SMALL_GEAR, GENERATE_RING); + GTMaterials.BismuthBronze.addFlags(GENERATE_SMALL_GEAR, GENERATE_RING); + + GTMaterials.Nickel.addFlags(GENERATE_ROD, GENERATE_LONG_ROD); + GTMaterials.Zinc.addFlags(GENERATE_LONG_ROD); + GTMaterials.Bismuth.addFlags(GENERATE_LONG_ROD); + GTMaterials.BlackSteel.addFlags(GENERATE_LONG_ROD, GENERATE_BOLT_SCREW); + GTMaterials.BlueSteel.addFlags(GENERATE_LONG_ROD, GENERATE_BOLT_SCREW, GENERATE_SPRING, GENERATE_SMALL_GEAR, GENERATE_FOIL); + GTMaterials.RedSteel.addFlags(GENERATE_LONG_ROD, GENERATE_BOLT_SCREW, GENERATE_FOIL); + GTMaterials.WroughtIron.addFlags(GENERATE_ROTOR, GENERATE_SPRING, GENERATE_SMALL_GEAR); + + GTMaterials.Copper.addFlags(GENERATE_BOLT_SCREW); + GTMaterials.Duranium.addFlags(GENERATE_BOLT_SCREW); + + GTMaterials.Magnalium.addFlags(GENERATE_GEAR); + + GTMaterials.Cupronickel.addFlags(GENERATE_BOLT_SCREW, GENERATE_RING); + + GTMaterials.BlueAlloy.addFlags(GENERATE_FOIL); + + GTMaterials.BlackBronze.addFlags(GENERATE_ROTOR) + GTMaterials.BismuthBronze.addFlags(GENERATE_ROTOR) + GTMaterials.Ultimet.addFlags(GENERATE_ROTOR) + GTMaterials.CobaltBrass.addFlags(GENERATE_ROTOR) + GTMaterials.Magnalium.addFlags(GENERATE_ROTOR) + GTMaterials.VanadiumSteel.addFlags(GENERATE_ROTOR) + + GTMaterials.HSLASteel.addFlags(GENERATE_BOLT_SCREW, GENERATE_DENSE) + + GTMaterials.Invar.addFlags(GENERATE_RING); + GTMaterials.Magnalium.addFlags(GENERATE_RING); + GTMaterials.TinAlloy.addFlags(GENERATE_RING); + GTMaterials.SterlingSilver.addFlags(GENERATE_RING); + + GTMaterials.Bismuth.addFlags(GENERATE_PLATE, GENERATE_ROD, GENERATE_BOLT_SCREW); + GTMaterials.IronMagnetic.addFlags(GENERATE_PLATE); + GTMaterials.Zirconium.addFlags(GENERATE_FINE_WIRE, GENERATE_PLATE, GENERATE_DENSE, NO_ORE_SMELTING); + + GTMaterials.Silicon.addFlags(GENERATE_DENSE); + GTMaterials.RTMAlloy.addFlags(GENERATE_DENSE, GENERATE_SPRING); + GTMaterials.Lead.addFlags(GENERATE_DENSE); + + GTMaterials.Beryllium.addFlags(GENERATE_DENSE); + GTMaterials.MaragingSteel300.addFlags(GENERATE_DENSE); + + GTMaterials.Quartzite.addFlags(GENERATE_ROD); + + GTMaterials.TreatedWood.addFlags(GENERATE_LONG_ROD); + + GTMaterials.Cadmium.addFlags(GENERATE_PLATE); + + // Hide ore processing tab for plutonium + GTMaterials.Plutonium239.addFlags(GENERATE_ROD, GENERATE_LONG_ROD, NO_ORE_PROCESSING_TAB, NO_ORE_SMELTING) + GTMaterials.Thorium.addFlags(NO_ORE_SMELTING) +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/materials/material_modification.fluids.js b/kubejs/startup_scripts/tfg/materials/material_modification.fluids.js new file mode 100644 index 000000000..df7536e8f --- /dev/null +++ b/kubejs/startup_scripts/tfg/materials/material_modification.fluids.js @@ -0,0 +1,17 @@ +// priority: 0 +"use strict"; + +function registerTFGFluidMaterialModification(event) { + const $FLUID_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.FluidProperty'); + const $FluidStorageKeys = Java.loadClass('com.gregtechceu.gtceu.api.fluids.store.FluidStorageKeys'); + + global.MINECRAFT_DYE_NAMES.forEach(colorName => { + let material = GTMaterials.get(`gtceu:${colorName}_dye`); + let property = material.getProperty(PropertyKey.FLUID); + property.getStorage().store($FluidStorageKeys.LIQUID, () => Fluid.of(`tfc:${colorName}_dye`).fluid, null); + }); + + let lyeFluidProperty = new $FLUID_PROPERTY(); + lyeFluidProperty.getStorage().store($FluidStorageKeys.LIQUID, () => Fluid.of('tfc:lye').fluid, null); + GTMaterials.SodiumHydroxide.setProperty(PropertyKey.FLUID, lyeFluidProperty); +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/materials/material_modification.ores.js b/kubejs/startup_scripts/tfg/materials/material_modification.ores.js new file mode 100644 index 000000000..d5bf55481 --- /dev/null +++ b/kubejs/startup_scripts/tfg/materials/material_modification.ores.js @@ -0,0 +1,33 @@ +// priority: 0 +"use strict"; + +function registerTFGOresMaterialModification(event) { + const $ORE_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.OreProperty'); + const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials"); + + // Ores + GTMaterials.Bismuth.setProperty(PropertyKey.ORE, new $ORE_PROPERTY()); + GTMaterials.Borax.setProperty(PropertyKey.ORE, new $ORE_PROPERTY()); + + let rose_quartz = $GreateMaterials.RoseQuartz; + rose_quartz.setProperty(PropertyKey.ORE, new $ORE_PROPERTY()); + rose_quartz.getProperty(PropertyKey.ORE).setOreByProducts(rose_quartz, GTMaterials.Redstone, rose_quartz); + + // Change byproducts so you can't get certus from normal quartzite + GTMaterials.Quartzite.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.NetherQuartz, GTMaterials.Barite, GTMaterials.NetherQuartz); + GTMaterials.CertusQuartz.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.CertusQuartz, GTMaterials.Quartzite, GTMaterials.CertusQuartz); + + // Change Beryllium to add Chemical Bath recipe and Thorium byproduct + GTMaterials.Beryllium.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.Emerald, GTMaterials.Emerald, GTMaterials.Thorium, GTMaterials.Thorium); + GTMaterials.Beryllium.getProperty(PropertyKey.ORE).setWashedIn(GTMaterials.SodiumPersulfate); + + // Change any Ores that have Rutile + GTMaterials.Ilmenite.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.Iron, GTMaterials.Ilmenite, GTMaterials.IlmeniteSlag, GTMaterials.IlmeniteSlag); + GTMaterials.Aluminium.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.Bauxite, GTMaterials.Bauxite, GTMaterials.Ilmenite, GTMaterials.IlmeniteSlag); + GTMaterials.Bauxite.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.Grossular, GTMaterials.IlmeniteSlag, GTMaterials.Gallium, GTMaterials.Gallium); + + // Remove old stone dusts + GTMaterials.GraniticMineralSand.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.get('tfg:igneous_felsic'), GTMaterials.Magnetite, GTMaterials.Magnetite); + GTMaterials.BasalticMineralSand.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.get('tfg:igneous_mafic'), GTMaterials.Magnetite, GTMaterials.Magnetite); + +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/materials/material_modification.properties.js b/kubejs/startup_scripts/tfg/materials/material_modification.properties.js new file mode 100644 index 000000000..95986afe7 --- /dev/null +++ b/kubejs/startup_scripts/tfg/materials/material_modification.properties.js @@ -0,0 +1,65 @@ +// priority: 0 +"use strict"; + +function registerTFGPropertyMaterialModification(event) { + const $DUST_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.DustProperty'); + const $INGOT_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.IngotProperty'); + const $BLAST_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.BlastProperty'); + const $ITEM_PIPE_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.ItemPipeProperties'); + const $FLUID_PIPE_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.FluidPipeProperties'); + const $HAZARD_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.HazardProperty'); + const $TFGT_MEDICAL_CONDITIONS = Java.loadClass('su.terrafirmagreg.core.common.data.tfgt.TFGTMedicalConditions'); + + + // Unhiding elements + GTMaterials.Zirconium.setProperty(PropertyKey.DUST, new $DUST_PROPERTY()); + GTMaterials.Zirconium.setProperty(PropertyKey.INGOT, new $INGOT_PROPERTY()); + GTMaterials.Zirconium.setProperty(PropertyKey.BLAST, new $BLAST_PROPERTY(4200, $BLAST_PROPERTY.GasTier.MID, GTValues.VA[GTValues.EV], 1300, GTValues.VA[GTValues.HV], 14.7 * 20)); + + GTMaterials.Cadmium.setProperty(PropertyKey.INGOT, new $INGOT_PROPERTY()); + + GTMaterials.Thallium.setProperty(PropertyKey.DUST, new $DUST_PROPERTY()); + GTMaterials.Thallium.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.SKIN_CONTACT, GTMedicalConditions.CHEMICAL_BURNS, 1, false)); + + // Bismuth item pipe - 1/4 as good as tin + GTMaterials.Bismuth.setProperty(PropertyKey.ITEM_PIPE, new $ITEM_PIPE_PROPERTY(16384, 0.125)); + // Bis bronze fluid pipe - same stats as bronze + GTMaterials.BismuthBronze.getProperties().removeProperty(PropertyKey.BLAST); + GTMaterials.BlackBronze.getProperties().removeProperty(PropertyKey.BLAST); + GTMaterials.BlackBronze.getProperties().removeProperty(PropertyKey.ITEM_PIPE); + // Rose Gold & Sterling Silver + GTMaterials.RoseGold.getProperties().removeProperty(PropertyKey.BLAST); + GTMaterials.SterlingSilver.getProperties().removeProperty(PropertyKey.BLAST); + + // int is how fast the condition progresses (default 1.0) + // bool is whether or not the condition applies to anything made with the material, other than dusts (default false) + GTMaterials.Realgar.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.INHALATION, GTMedicalConditions.ARSENICOSIS, 1, false)); + GTMaterials.Cobaltite.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.INHALATION, GTMedicalConditions.ARSENICOSIS, 1, false)); + GTMaterials.Galena.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.INHALATION, GTMedicalConditions.WEAK_POISON, 1, false)); + GTMaterials.Chromite.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.SKIN_CONTACT, GTMedicalConditions.IRRITANT, 1, false)); + GTMaterials.Thorium.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.ANY, $TFGT_MEDICAL_CONDITIONS.RADIOACTIVE, 1, true)); + + // This contains hazardous elements so GT tags it as hazardous automatically + GTMaterials.get('ostrum').getProperties().removeProperty(PropertyKey.HAZARD); + GTMaterials.get('ostrum_iodide').getProperties().removeProperty(PropertyKey.HAZARD); + // Superconductors being radioactive at EV is a little evil + GTMaterials.UraniumTriplatinum.getProperties().removeProperty(PropertyKey.HAZARD); + + // Make these the lowest tier of EBF instead + GTMaterials.BlackSteel.getProperty(PropertyKey.BLAST).setBlastTemperature(1000) + GTMaterials.RedSteel.getProperty(PropertyKey.BLAST).setBlastTemperature(1000) + GTMaterials.BlueSteel.getProperty(PropertyKey.BLAST).setBlastTemperature(1000) + + // BLAST property + let zirconium_diboride = TFGHelpers.getMaterial('zirconium_diboride'); + zirconium_diboride.setProperty(PropertyKey.BLAST, new $BLAST_PROPERTY(4500, $BLAST_PROPERTY.GasTier.HIGH, GTValues.VA[GTValues.EV], 2700, GTValues.VA[GTValues.HV], 12.5 * 20)); + + GTMaterials.Titanium.getProperties().removeProperty(PropertyKey.BLAST); + GTMaterials.Titanium.setProperty(PropertyKey.BLAST, new $BLAST_PROPERTY(2750, $BLAST_PROPERTY.GasTier.MID, GTValues.VA[GTValues.HV], 20 * 60, GTValues.VA[GTValues.HV], 7.2 * 20)); + + // Remove properties + GTMaterials.Glass.getProperties().removeProperty(PropertyKey.GEM) + GTMaterials.Thorium.getProperties().removeProperty(PropertyKey.INGOT) + GTMaterials.Thorium.getProperties().removeProperty(PropertyKey.FLUID) + GTMaterials.Plutonium239.getProperties().removeProperty(PropertyKey.ORE) +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/materials/material_modification.tfc.js b/kubejs/startup_scripts/tfg/materials/material_modification.tfc.js new file mode 100644 index 000000000..8851eab96 --- /dev/null +++ b/kubejs/startup_scripts/tfg/materials/material_modification.tfc.js @@ -0,0 +1,76 @@ +// priority: 0 +"use strict"; + +function registerTFCMaterialModification(event) { + + const $TFC_PROPERTY = Java.loadClass('su.terrafirmagreg.core.compat.gtceu.properties.TFCProperty') + + + // TFC_PROPERTY = (forging temp, welding temp, melt temp, material, tier, percent of material) + // OR = (forging temp, welding temp, melt temp, tier) + // + // If registering a new material that you want to melt into a liquid in a vessel etc, + // make sure you add it to registerGTCEUMetals()! + + GTMaterials.Copper.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(648, 864, 1080, 1)); + GTMaterials.BismuthBronze.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(591, 788, 985, 2)); + GTMaterials.Bronze.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(570, 760, 950, 2)); + GTMaterials.BlackBronze.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(642, 856, 1070, 2)); + GTMaterials.WroughtIron.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3)); + GTMaterials.Steel.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(924, 1232, 1540, 4)); + GTMaterials.BlackSteel.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(891, 1188, 1485, 5)); + GTMaterials.BlueSteel.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(924, 1232, 1540, 6)); + GTMaterials.RedSteel.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(924, 1232, 1540, 6)); + GTMaterials.get('tfg:weak_blue_steel').setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(924, 1232, 1540, 6)); + GTMaterials.get('tfg:weak_red_steel').setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(924, 1232, 1540, 6)); + + GTMaterials.Gold.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(636, 848, 1060, 1)); + GTMaterials.Bismuth.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(162, 216, 270, 1)); + GTMaterials.Brass.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(558, 744, 930, 2)); + GTMaterials.Nickel.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(872, 1162, 1453, 1)); + GTMaterials.RoseGold.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(576, 768, 960, 1)); + GTMaterials.Silver.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(577, 769, 961, 1)); + GTMaterials.Tin.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 230, 1)); + GTMaterials.Zinc.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(252, 336, 420, 1)); + GTMaterials.SterlingSilver.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(570, 760, 950, 1)); + GTMaterials.Iron.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3)); + + GTMaterials.Hematite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); + GTMaterials.Limonite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); + GTMaterials.Magnetite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); + GTMaterials.Pyrite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); + GTMaterials.Goethite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); + GTMaterials.BasalticMineralSand.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 80)); + GTMaterials.GraniticMineralSand.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 80)); + GTMaterials.VanadiumMagnetite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 80)); + + GTMaterials.Malachite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1080, GTMaterials.Copper, 1, 90)); + GTMaterials.Tetrahedrite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1080, GTMaterials.Copper, 1, 90)); + GTMaterials.Chalcopyrite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1080, GTMaterials.Copper, 1, 85)); + GTMaterials.Chalcocite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1080, GTMaterials.Copper, 1, 95)); + GTMaterials.Bornite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1080, GTMaterials.Copper, 1, 90)); + + GTMaterials.Cassiterite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(648, 864, 230, GTMaterials.Tin, 1, 100)); + GTMaterials.CassiteriteSand.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 230, GTMaterials.Tin, 1, 80)); + GTMaterials.Sphalerite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 420, GTMaterials.Zinc, 1, 90)); + GTMaterials.Garnierite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1453, GTMaterials.Nickel, 1, 100)); + GTMaterials.Pentlandite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1453, GTMaterials.Nickel, 1, 85)); + + GTMaterials.Redstone.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(240, 320, 460, 1)); + GTMaterials.RedAlloy.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(570, 650, 740, 2)); + GTMaterials.TinAlloy.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1000, 1100, 1250, 3)); + GTMaterials.Lead.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(330 * 0.6, 330 * 0.8, 330, 2)); + GTMaterials.Galena.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(330 * 0.6, 330 * 0.8, 330, GTMaterials.Lead, 2, 85)); + GTMaterials.Invar.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1494 * 0.6, 1494 * 0.8, 1494, 3)); + GTMaterials.Potin.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(807 * 0.6, 807 * 0.8, 807, 2)); + GTMaterials.Cobalt.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1495 * 0.6, 1495 * 0.8, 1495, 3)); + GTMaterials.Cobaltite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1495 * 0.6, 1495 * 0.8, 1495, GTMaterials.Cobalt, 3, 85)); + GTMaterials.CobaltBrass.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1060 * 0.6, 1060 * 0.8, 1060, 3)); + let AlSi = GTMaterials.get('aluminium_silicate') + AlSi.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1540, 1540, 1540, 1)) + GTMaterials.Kyanite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1540, 1540, 1540, AlSi, 1, 95)) + GTMaterials.Mica.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1540, 1540, 1540, AlSi, 1, 40)) + GTMaterials.Spodumene.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1540, 1540, 1540, AlSi, 1, 30)) + GTMaterials.Pollucite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1540, 1540, 1540, AlSi, 1, 25)) + +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/materials/material_modification.tools.js b/kubejs/startup_scripts/tfg/materials/material_modification.tools.js new file mode 100644 index 000000000..7485be13b --- /dev/null +++ b/kubejs/startup_scripts/tfg/materials/material_modification.tools.js @@ -0,0 +1,434 @@ +// priority: 0 +"use strict"; + +function registerTFGToolMaterialModification(event) { + const $ROTOR_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.RotorProperty') + const $FLUID_PIPE_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.FluidPipeProperties'); + + const { + GENERATE_BUZZSAW_BLADE, + GENERATE_SCREWDRIVER_HEAD, + GENERATE_DRILL_HEAD, + GENERATE_CHAINSAW_HEAD, + GENERATE_WRENCH_HEAD, + GENERATE_WIRE_CUTTER_HEAD + } = TFGMaterialFlags; + + const $GTToolType = Java.loadClass('com.gregtechceu.gtceu.api.item.tool.GTToolType') + const $toolTypes = $GTToolType.getTypes() + + const ULVTools = [ + GTToolType.AXE, + GTToolType.PICKAXE, + GTToolType.HARD_HAMMER, + GTToolType.BUTCHERY_KNIFE, + GTToolType.SWORD, + GTToolType.FILE, + GTToolType.SAW, + GTToolType.SHOVEL, + GTToolType.SHOVEL, + GTToolType.SPADE, + GTToolType.MINING_HAMMER, + GTToolType.HOE, + GTToolType.KNIFE, + GTToolType.SCYTHE, + GTToolType.WIRE_CUTTER, + GTToolType.SCREWDRIVER, + GTToolType.WRENCH, + GTToolType.CROWBAR + ] + + const LVTools = [ + GTToolType.AXE, + GTToolType.PICKAXE, + GTToolType.HARD_HAMMER, + GTToolType.BUTCHERY_KNIFE, + GTToolType.SWORD, + GTToolType.FILE, + GTToolType.SAW, + GTToolType.SHOVEL, + GTToolType.SPADE, + GTToolType.MINING_HAMMER, + GTToolType.HOE, + GTToolType.KNIFE, + GTToolType.BUZZSAW, + GTToolType.SCYTHE, + GTToolType.WIRE_CUTTER, + GTToolType.WIRE_CUTTER_LV, + GTToolType.DRILL_LV, + GTToolType.SCREWDRIVER, + GTToolType.SCREWDRIVER_LV, + GTToolType.CHAINSAW_LV, + GTToolType.WRENCH, + GTToolType.WRENCH_LV, + GTToolType.CROWBAR + ] + + const MVTools = [ + GTToolType.HARD_HAMMER, + GTToolType.BUTCHERY_KNIFE, + GTToolType.SWORD, + GTToolType.FILE, + GTToolType.HOE, + GTToolType.KNIFE, + $toolTypes.get("mv_buzzsaw"), + GTToolType.SCYTHE, + $toolTypes.get("mv_wirecutter"), + GTToolType.DRILL_MV, + $toolTypes.get("mv_screwdriver"), + $toolTypes.get("mv_chainsaw"), + $toolTypes.get("mv_wrench"), + GTToolType.CROWBAR + ] + + const HVTools = [ + GTToolType.HARD_HAMMER, + GTToolType.BUTCHERY_KNIFE, + GTToolType.SWORD, + GTToolType.FILE, + GTToolType.HOE, + GTToolType.KNIFE, + $toolTypes.get("hv_buzzsaw"), + GTToolType.SCYTHE, + GTToolType.WIRE_CUTTER_HV, + GTToolType.DRILL_HV, + GTToolType.SCREWDRIVER_HV, + GTToolType.CHAINSAW_HV, + GTToolType.WRENCH_HV, + GTToolType.CROWBAR + ] + + const EVTools = [ + GTToolType.HARD_HAMMER, + GTToolType.BUTCHERY_KNIFE, + GTToolType.SWORD, + GTToolType.FILE, + GTToolType.HOE, + GTToolType.KNIFE, + $toolTypes.get("ev_buzzsaw"), + GTToolType.SCYTHE, + $toolTypes.get("ev_wirecutter"), + GTToolType.DRILL_EV, + $toolTypes.get("ev_screwdriver"), + $toolTypes.get("ev_chainsaw"), + $toolTypes.get("ev_wrench"), + GTToolType.CROWBAR + ] + + const IVTools = [ + GTToolType.HARD_HAMMER, + GTToolType.BUTCHERY_KNIFE, + GTToolType.SWORD, + GTToolType.FILE, + GTToolType.HOE, + GTToolType.KNIFE, + $toolTypes.get("iv_buzzsaw"), + GTToolType.SCYTHE, + GTToolType.WIRE_CUTTER_IV, + GTToolType.DRILL_IV, + GTToolType.SCREWDRIVER_IV, + GTToolType.CHAINSAW_IV, + GTToolType.WRENCH_IV, + GTToolType.CROWBAR + ] + + const ZPMTools = [ + GTToolType.HARD_HAMMER, + GTToolType.BUTCHERY_KNIFE, + GTToolType.SWORD, + GTToolType.FILE, + GTToolType.HOE, + GTToolType.KNIFE, + $toolTypes.get("zpm_buzzsaw"), + GTToolType.SCYTHE, + $toolTypes.get("zpm_wirecutter"), + $toolTypes.get("zpm_drill"), + $toolTypes.get("zpm_screwdriver"), + $toolTypes.get("zpm_chainsaw"), + $toolTypes.get("zpm_wrench"), + GTToolType.CROWBAR, + //Hidden + GTToolType.PICKAXE + ] + + //#region Tools + + const toRemove = [ + // Remove all the tools we don't want anymore + GTMaterials.CobaltBrass, + GTMaterials.Diamond, + GTMaterials.Invar, + GTMaterials.RoseGold, + GTMaterials.SterlingSilver, + GTMaterials.Aluminium, + //GTMaterials.Polyethylene, + //GTMaterials.Polybenzimidazole, + //GTMaterials.Polytetrafluoroethylene, + GTMaterials.Titanium, + GTMaterials.TungstenSteel, + GTMaterials.Netherite, + GTMaterials.StainlessSteel, + GTMaterials.Darmstadtium, + GTMaterials.RhodiumPlatedPalladium, + // Remove all the tools we want to rebalance + GTMaterials.DamascusSteel, + GTMaterials.Bronze, + GTMaterials.WroughtIron, + GTMaterials.Steel, + GTMaterials.BlueSteel, + GTMaterials.RedSteel, + GTMaterials.VanadiumSteel, + GTMaterials.Ultimet, + GTMaterials.TungstenCarbide, + GTMaterials.HSSE, + GTMaterials.Duranium, + GTMaterials.NaquadahAlloy, + GTMaterials.Neutronium + ]; + + for (let mat of toRemove) { + if (mat.hasProperty(PropertyKey.TOOL)) { + mat.removeProperty(PropertyKey.TOOL); + } + } + + // Add buzzsaw blades + GTMaterials.CobaltBrass.addFlags(GENERATE_BUZZSAW_BLADE); + GTMaterials.WroughtIron.addFlags(GENERATE_BUZZSAW_BLADE); + GTMaterials.Steel.addFlags(GENERATE_BUZZSAW_BLADE); + + // Cast iron tools don't make sense but gregtech shits itself if they're missing, + // so I'm just giving them terrible terrible stats + GTMaterials.Iron.removeProperty(PropertyKey.TOOL); + GTMaterials.Iron.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(2.5, 1.0, 20, 2, [GTToolType.PICKAXE]).build()); + + // Balance Tools + + GTMaterials.Stone.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(1.2, 1.0, 8, 1, [ + GTToolType.AXE, + GTToolType.HARD_HAMMER, + GTToolType.HOE, + GTToolType.KNIFE, + GTToolType.SHOVEL + ]).build()); + + GTMaterials.Flint.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(1.8, 2, 54, 1, [ + GTToolType.AXE, + GTToolType.HOE, + GTToolType.KNIFE, + GTToolType.SHOVEL, + GTToolType.PICKAXE, + GTToolType.SWORD + ]).build()); + + // ULV + + GTMaterials.Copper.addFlags(GENERATE_SCREWDRIVER_HEAD, GENERATE_WRENCH_HEAD, GENERATE_WIRE_CUTTER_HEAD); + GTMaterials.Copper.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(4.0, 3.5, 132, 2, ULVTools).build()); + + GTMaterials.BismuthBronze.addFlags(GENERATE_SCREWDRIVER_HEAD, GENERATE_WRENCH_HEAD, GENERATE_WIRE_CUTTER_HEAD); + GTMaterials.BismuthBronze.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(4.7, 4.0, 195, 2, ULVTools.concat(GTToolType.MORTAR)).build()); + + GTMaterials.BlackBronze.addFlags(GENERATE_SCREWDRIVER_HEAD, GENERATE_WRENCH_HEAD, GENERATE_WIRE_CUTTER_HEAD); + GTMaterials.BlackBronze.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(5, 5.0, 188, 2, ULVTools.concat(GTToolType.MORTAR)).build()); + + GTMaterials.Bronze.addFlags(GENERATE_SCREWDRIVER_HEAD, GENERATE_WRENCH_HEAD, GENERATE_WIRE_CUTTER_HEAD); + GTMaterials.Bronze.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(4.5, 4, 212, 2, ULVTools.concat(GTToolType.MORTAR)).build()); + + GTMaterials.WroughtIron.addFlags(GENERATE_SCREWDRIVER_HEAD, GENERATE_WRENCH_HEAD, GENERATE_WIRE_CUTTER_HEAD); + GTMaterials.WroughtIron.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(5, 4, 384, 2, ULVTools.concat(GTToolType.MORTAR)).build()); + + GTMaterials.Steel.addFlags(GENERATE_SCREWDRIVER_HEAD, GENERATE_WRENCH_HEAD, GENERATE_WIRE_CUTTER_HEAD); + GTMaterials.Steel.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(6, 5, 512, 3, ULVTools.concat(GTToolType.MORTAR)).build()); + + GTMaterials.DamascusSteel.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(8, 6, 1024, 3, ULVTools.concat(GTToolType.MORTAR)).build()); + + GTMaterials.BlackSteel.addFlags(GENERATE_SCREWDRIVER_HEAD, GENERATE_WRENCH_HEAD, GENERATE_WIRE_CUTTER_HEAD); + GTMaterials.BlackSteel.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(6.5, 5.5, 612, 3, ULVTools.concat(GTToolType.MORTAR)).build()); + + // LV + + GTMaterials.BlueSteel.addFlags(GENERATE_SCREWDRIVER_HEAD, GENERATE_WRENCH_HEAD, GENERATE_WIRE_CUTTER_HEAD, GENERATE_BUZZSAW_BLADE, GENERATE_DRILL_HEAD, GENERATE_CHAINSAW_HEAD); + GTMaterials.BlueSteel.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(9, 5, 804, 3, LVTools).build()); + + GTMaterials.RedSteel.addFlags(GENERATE_SCREWDRIVER_HEAD, GENERATE_WRENCH_HEAD, GENERATE_WIRE_CUTTER_HEAD, GENERATE_BUZZSAW_BLADE, GENERATE_DRILL_HEAD, GENERATE_CHAINSAW_HEAD); + GTMaterials.RedSteel.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(6, 7.5, 1560, 3, LVTools).build()); + + // MV + + // Diamond Tipped Tools - 11 - 6 - 1024 - 3 + + GTMaterials.VanadiumSteel.addFlags(GENERATE_SCREWDRIVER_HEAD, GENERATE_WRENCH_HEAD, GENERATE_WIRE_CUTTER_HEAD, GENERATE_BUZZSAW_BLADE, GENERATE_DRILL_HEAD, GENERATE_CHAINSAW_HEAD); + GTMaterials.VanadiumSteel.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(5, 8, 2048, 3, MVTools).build()); + TFGHelpers.getMaterial('diamond_tipped_mo_50_re').addFlags(GENERATE_SCREWDRIVER_HEAD, GENERATE_WRENCH_HEAD, GENERATE_WIRE_CUTTER_HEAD, GENERATE_BUZZSAW_BLADE, GENERATE_DRILL_HEAD, GENERATE_CHAINSAW_HEAD) + TFGHelpers.getMaterial('diamond_tipped_mo_50_re').setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(11, 6, 1024, 3, MVTools).build()); + + // HV + + GTMaterials.Ultimet.addFlags(GENERATE_SCREWDRIVER_HEAD, GENERATE_WRENCH_HEAD, GENERATE_WIRE_CUTTER_HEAD, GENERATE_BUZZSAW_BLADE, GENERATE_DRILL_HEAD, GENERATE_CHAINSAW_HEAD); + GTMaterials.Ultimet.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(16, 9, 1678, 4, HVTools).build()); + + TFGHelpers.getMaterial('boron_carbide').addFlags(GENERATE_SCREWDRIVER_HEAD, GENERATE_WRENCH_HEAD, GENERATE_WIRE_CUTTER_HEAD, GENERATE_BUZZSAW_BLADE, GENERATE_DRILL_HEAD, GENERATE_CHAINSAW_HEAD); + TFGHelpers.getMaterial('boron_carbide').setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(5, 11, 3678, 3, HVTools).build()); + + // EV + + GTMaterials.TungstenCarbide.addFlags(GENERATE_SCREWDRIVER_HEAD, GENERATE_WRENCH_HEAD, GENERATE_WIRE_CUTTER_HEAD, GENERATE_BUZZSAW_BLADE, GENERATE_DRILL_HEAD, GENERATE_CHAINSAW_HEAD); + GTMaterials.TungstenCarbide.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(34, 12, 1024, 4, EVTools).build()); + + TFGHelpers.getMaterial('ostrum_iodide').addFlags(GENERATE_SCREWDRIVER_HEAD, GENERATE_WRENCH_HEAD, GENERATE_WIRE_CUTTER_HEAD, GENERATE_BUZZSAW_BLADE, GENERATE_DRILL_HEAD, GENERATE_CHAINSAW_HEAD); + TFGHelpers.getMaterial('ostrum_iodide').setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(20, 10, 3096, 4, EVTools).build()); + + // IV + + GTMaterials.HSSE.addFlags(GENERATE_SCREWDRIVER_HEAD, GENERATE_WRENCH_HEAD, GENERATE_WIRE_CUTTER_HEAD, GENERATE_BUZZSAW_BLADE, GENERATE_DRILL_HEAD, GENERATE_CHAINSAW_HEAD); + GTMaterials.HSSE.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(44, 13, 4012, 3, IVTools).build()); + + // LuV + + GTMaterials.Duranium.addFlags(GENERATE_SCREWDRIVER_HEAD, GENERATE_WRENCH_HEAD, GENERATE_WIRE_CUTTER_HEAD, GENERATE_BUZZSAW_BLADE, GENERATE_DRILL_HEAD, GENERATE_CHAINSAW_HEAD); + GTMaterials.Duranium.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(54, 14, 8192, 5, IVTools).build()); + + GTMaterials.NaquadahAlloy.addFlags(GENERATE_SCREWDRIVER_HEAD, GENERATE_WRENCH_HEAD, GENERATE_WIRE_CUTTER_HEAD, GENERATE_BUZZSAW_BLADE, GENERATE_DRILL_HEAD, GENERATE_CHAINSAW_HEAD); + GTMaterials.NaquadahAlloy.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(64, 15, 8192, 5, IVTools).build()); + + // UV + + GTMaterials.Neutronium.addFlags(GENERATE_SCREWDRIVER_HEAD, GENERATE_WRENCH_HEAD, GENERATE_WIRE_CUTTER_HEAD, GENERATE_BUZZSAW_BLADE, GENERATE_DRILL_HEAD, GENERATE_CHAINSAW_HEAD); + GTMaterials.Neutronium.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(180.0, 100.0, 65535, 6, ZPMTools).build()); + + //#endregion + + //#region Turbine + + // Remove all the Turbine Rotors we don't want anymore + const noRotorMaterials = [ + GTMaterials.Bronze, + GTMaterials.BlackBronze, + GTMaterials.CobaltBrass, + GTMaterials.Manganese, + GTMaterials.Molybdenum, + GTMaterials.RoseGold, + GTMaterials.Iron, + GTMaterials.BismuthBronze, + GTMaterials.Brass, + GTMaterials.Chromium, + GTMaterials.Invar, + GTMaterials.Steel, + GTMaterials.Magnalium, + GTMaterials.WroughtIron, + GTMaterials.Aluminium, + GTMaterials.Neodymium, + GTMaterials.VanadiumSteel, + GTMaterials.StainlessSteel, + GTMaterials.Titanium, + GTMaterials.Tungsten, + GTMaterials.TungstenSteel, + GTMaterials.TungstenCarbide, + GTMaterials.HSSG, + GTMaterials.HSSE, + GTMaterials.Iridium, + GTMaterials.RhodiumPlatedPalladium, + GTMaterials.Naquadah, + GTMaterials.Osmium, + ]; + for (let mat of noRotorMaterials) { + if (mat.hasProperty(PropertyKey.ROTOR)) { + mat.removeProperty(PropertyKey.ROTOR); + } + }; + + // Balance Turbine Rotors Stats + + const BalanceRotorMaterials = [ + GTMaterials.SterlingSilver, + GTMaterials.Ultimet, + GTMaterials.HSSS, + GTMaterials.Osmiridium, + GTMaterials.NaquadahAlloy, + GTMaterials.Tritanium + ]; + for (let mat of BalanceRotorMaterials) { + if (mat.hasProperty(PropertyKey.ROTOR)) { + mat.removeProperty(PropertyKey.ROTOR); + } + }; + + GTMaterials.SterlingSilver.setProperty(PropertyKey.ROTOR, new $ROTOR_PROPERTY(100, 180, 1, 147)); + GTMaterials.Ultimet.setProperty(PropertyKey.ROTOR, new $ROTOR_PROPERTY(140, 140, 4, 786)); + GTMaterials.HSSS.setProperty(PropertyKey.ROTOR, new $ROTOR_PROPERTY(280, 200, 7, 1986)); + GTMaterials.Osmiridium.setProperty(PropertyKey.ROTOR, new $ROTOR_PROPERTY(320, 200, 12, 2364)); + GTMaterials.NaquadahAlloy.setProperty(PropertyKey.ROTOR, new $ROTOR_PROPERTY(370, 180, 13, 3840)); + GTMaterials.Tritanium.setProperty(PropertyKey.ROTOR, new $ROTOR_PROPERTY(380, 240, 15, 7680)); + + // New Materials - Require MaterialFlags (Plates, Bolt/Screwdriver) + + TFGHelpers.getMaterial('silicon_carbide_silicon_carbide').setProperty(PropertyKey.ROTOR, new $ROTOR_PROPERTY(200, 50, 2, 238)); + GTMaterials.get('rocket_alloy_t1').setProperty(PropertyKey.ROTOR, new $ROTOR_PROPERTY(170, 105, 3, 1215)); + TFGHelpers.getMaterial('inconel_718').setProperty(PropertyKey.ROTOR, new $ROTOR_PROPERTY(130, 180, 4, 1536)); + TFGHelpers.getMaterial('tungsten_bismuth_oxide_composite').setProperty(PropertyKey.ROTOR, new $ROTOR_PROPERTY(270, 80, 7, 465)); + GTMaterials.get('rocket_alloy_t2').setProperty(PropertyKey.ROTOR, new $ROTOR_PROPERTY(210, 150, 5, 2484)); + TFGHelpers.getMaterial('mo_si_b').setProperty(PropertyKey.ROTOR, new $ROTOR_PROPERTY(270, 180, 6, 1610)); + //GTMaterials.getMaterial('rocket_alloy_t3').setProperty(PropertyKey.ROTOR, new $ROTOR_PROPERTY(300, 160, 8, 3840)); + //TFGHelpers.getMaterial('ysz').setProperty(PropertyKey.ROTOR, new $ROTOR_PROPERTY(270, 220, 10, 5310)); + + //#endregion + + //#region Fluid Pipes + + // Old Pipe we keep so we don't break worlds + GTMaterials.RedSteel.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(370, 75, true, false, true, false)); + GTMaterials.BlueSteel.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(4618, 75, true, false, false, false)); + GTMaterials.get('ostrum').setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(3700, 150, true, false, true, false)); + GTMaterials.BlackBronze.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(1696, 20, true, false, false, false)); + GTMaterials.BismuthBronze.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(1696, 20, true, false, false, false)); + TFGHelpers.getMaterial('tungsten_bismuth_oxide_composite').setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(4250, 1700, true, false, false, false)); + + // Balance Fluid Pipe Stats + + const BalanceFluidPipeMaterials = [ + GTMaterials.Wood, + GTMaterials.Copper, + GTMaterials.Bronze, + GTMaterials.TinAlloy, + GTMaterials.Gold, + GTMaterials.Potin, + GTMaterials.Steel, + GTMaterials.Polyethylene, + GTMaterials.StainlessSteel, + GTMaterials.Aluminium, + GTMaterials.Polytetrafluoroethylene, + GTMaterials.Titanium, + GTMaterials.TungstenSteel, + GTMaterials.Polybenzimidazole, + GTMaterials.NiobiumTitanium, + GTMaterials.Naquadah, + GTMaterials.Iridium, + GTMaterials.Duranium + ]; + for (let mat of BalanceFluidPipeMaterials) { + if (mat.hasProperty(PropertyKey.FLUID_PIPE)) { + mat.removeProperty(PropertyKey.FLUID_PIPE); + } + }; + + GTMaterials.Wood.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(340, 10, false, false, false, false)); + GTMaterials.Copper.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(1696, 12, true, false, false, false)); + GTMaterials.Bronze.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(1696, 40, true, false, false, false)); + GTMaterials.TinAlloy.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(1572, 40, true, false, false, false)); + GTMaterials.Gold.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(1671, 50, true, true, false, false)); + GTMaterials.Potin.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(1546, 80, true, false, false, false)); + GTMaterials.Steel.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(1855, 100, true, false, false, false)); + GTMaterials.Polyethylene.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(370, 120, true, false, false, false)); + GTMaterials.StainlessSteel.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(2428, 150, true, true, true, false)); + GTMaterials.Aluminium.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(1166, 200, true, false, false, false)); + GTMaterials.Polytetrafluoroethylene.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(600, 800, true, true, false, false)); + GTMaterials.Titanium.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(3426, 1200, true, false, true, false)); + GTMaterials.TungstenSteel.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(5137, 1800, true, false, true, false)); + GTMaterials.Polybenzimidazole.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(1000, 2800, true, false, false, false)); + GTMaterials.NiobiumTitanium.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(7300, 1400, true, true, false, false)); + GTMaterials.Naquadah.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(3776, 1600, true, false, true, true)); + GTMaterials.Iridium.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(3398, 2000, true, false, true, false)); + GTMaterials.Duranium.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(9625, 4000, true, true, true, true)); + +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/materials/materials.alumina.js b/kubejs/startup_scripts/tfg/materials/materials.alumina.js new file mode 100644 index 000000000..46cb718c2 --- /dev/null +++ b/kubejs/startup_scripts/tfg/materials/materials.alumina.js @@ -0,0 +1,41 @@ +// priority: 0 +"use strict"; + +function registerTFGAluminaMaterials(event) { + event.create('tfg:aluminium_sulfate') + .dust() + .color(0xfaf9c3) + .secondaryColor(0xfaf2f9) + .iconSet(GTMaterialIconSet.FINE) + .components('2x aluminium', '3x sulfate') + .flags( + GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:aluminium_hydroxide') + .dust() + .color(0xd3f3f5) + .secondaryColor(0xedf9fa) + .iconSet(GTMaterialIconSet.FINE) + .components('1x aluminium', '3x oxygen', '3x hydrogen') + .flags( + GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:sodium_sulfate') + .dust() + .color(0xfafaf7) + .secondaryColor(0xf7f7f2) + .iconSet(GTMaterialIconSet.BRIGHT) + .components('2x sodium', '1x sulfur', '4x oxygen') + .flags( + GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:alumina') + .dust() + .color(0xf7f7f2) + .secondaryColor(0xe8eafa) + .iconSet(GTMaterialIconSet.OPAL) + .components('2x aluminium', '3x oxygen') + .flags( + GTMaterialFlags.DISABLE_DECOMPOSITION, + GTMaterialFlags.GENERATE_PLATE) +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/materials/materials.bakelite.js b/kubejs/startup_scripts/tfg/materials/materials.bakelite.js new file mode 100644 index 000000000..5c6839a7e --- /dev/null +++ b/kubejs/startup_scripts/tfg/materials/materials.bakelite.js @@ -0,0 +1,23 @@ +// priority: 0 +"use strict"; + +function registerTFGBakeliteMaterials(event) { + event.create('tfg:bakelite') + .polymer() + .fluid() + .color(0xF29104) + .secondaryColor(0xD96005) + .components('1x phenol', '1x formaldehyde') + .flags( + GTMaterialFlags.DISABLE_DECOMPOSITION, + GTMaterialFlags.NO_SMELTING, + GTMaterialFlags.GENERATE_PLATE, + GTMaterialFlags.GENERATE_FOIL + ) + + event.create('tfg:phenolic_resin') + .fluid() + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .components('1x phenol', '1x formaldehyde') + .color(0xFCD7A3) +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/materials/materials.boules.js b/kubejs/startup_scripts/tfg/materials/materials.boules.js new file mode 100644 index 000000000..518cc7310 --- /dev/null +++ b/kubejs/startup_scripts/tfg/materials/materials.boules.js @@ -0,0 +1,42 @@ +// priority: 0 +"use strict"; + +function registerTFGBouleMaterials(event) { + + event.create('tfg:silane') + .color(0x8383AE) + .secondaryColor(0x707078) + .gas() + .components('4x hydrogen', '1x silicon') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:chlorosilane') + .color(0xD8CB70) + .secondaryColor(0x707078) + .gas(GTFluidBuilder().attribute(GTFluidAttributes.ACID)) + .components('3x hydrogen', '1x silicon', '1x chlorine') + .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) + + event.create('tfg:dichlorosilane') + .color(0xE7DE9E) + .secondaryColor(0x707078) + .gas(GTFluidBuilder().attribute(GTFluidAttributes.ACID)) + .components('2x hydrogen', '1x silicon', '2x chlorine') + .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) + + event.create('tfg:trichlorosilane') + .color(0xCCC592) + .secondaryColor(0x707078) + .liquid(GTFluidBuilder().attribute(GTFluidAttributes.ACID)) + .components('1x hydrogen', '1x silicon', '3x chlorine') + .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) + + event.create('tfg:polysilicon') + .color(0x8C8C94) + .secondaryColor(0x10293b) + .iconSet(GTMaterialIconSet.BRIGHT) + .liquid(new GTFluidBuilder().temperature(2273)) + .dust() + .components('1x silicon') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/materials/materials.coils.js b/kubejs/startup_scripts/tfg/materials/materials.coils.js new file mode 100644 index 000000000..f0d4bf3c6 --- /dev/null +++ b/kubejs/startup_scripts/tfg/materials/materials.coils.js @@ -0,0 +1,50 @@ +// priority: 0 +"use strict"; + +function registerTFGCoilMaterials(event) { + const $BlastProperty = Java.loadClass("com.gregtechceu.gtceu.api.data.chemical.material.properties.BlastProperty") + + // Cupronickel + + event.create('tfg:magnesium_hydroxide') + .dust() + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .components('1x magnesium', '2x hydroxide') + .color(0xC6E4FF) + + event.create('tfg:magnesia_refractory_brick') + .dust() + .ingot() + .iconSet(GTMaterialIconSet.ROUGH) + .flags(GTMaterialFlags.NO_SMELTING) + .color(0xA69D96) + + // Kanthal + + event.create('tfg:rough_silicon_carbide') + .color(0x95999e) + .secondaryColor(0x95999a) + .iconSet(GTMaterialIconSet.ROUGH) + .ingot() + .blastTemp(2341, $BlastProperty.GasTier.LOW, GTValues.VA[GTValues.HV], (20*95)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:silicon_carbide') + .color(0xdfe5ed) + .secondaryColor(0xdfe5aa) + .iconSet(GTMaterialIconSet.ROUGH) + .ingot() + .fluid() + .flags( + GTMaterialFlags.DISABLE_DECOMPOSITION, + GTMaterialFlags.GENERATE_PLATE, + ) + + // RTM + + event.create('tfg:nichromium_iodomethylate') + .liquid(new GTFluidBuilder().temperature(1818)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .components('4x nickel', '1x chromium', '1x carbon', '3x hydrogen', '1x iodine') + .color(0xe7a2fc) +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/materials/materials.etching.js b/kubejs/startup_scripts/tfg/materials/materials.etching.js new file mode 100644 index 000000000..900864d5f --- /dev/null +++ b/kubejs/startup_scripts/tfg/materials/materials.etching.js @@ -0,0 +1,69 @@ +// priority: 0 +"use strict"; + +const registerTFGEtchingMaterials = (event) => { + //#region Composition-only materials + event.create('tfg:mercury_nitrate') + .components('1x mercury', '1x nitrogen', '3x oxygen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:mercury_chloride') + .components('1x mercury', '1x chlorine') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:mercury_tri_p_toluenesulfonate') + .components('1x mercury', '7x carbon', '7x hydrogen', '3x oxygen', '1x sulfur') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + //#endregion + //#region Redstone Etching Fluid + event.create('tfg:redstone_nitrate') + .dust() + .components('1x silicon', '5x pyrite', '1x ruby', '3x tfg:mercury_nitrate') + .iconSet(GTMaterialIconSet.FINE) + .color(0xEC0040) + .secondaryColor(0x73060A) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:redstone_chloride') + .liquid(new GTFluidBuilder().temperature(293)) + .components('1x silicon', '5x pyrite', '1x ruby', '3x tfg:mercury_chloride') + .color(0xA6080D) + .secondaryColor(0x73060A) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:redstone_tri_p_toluenesulfonate') + .liquid(new GTFluidBuilder().customStill().temperature(293)) + .components('1x silicon', '5x pyrite', '1x ruby', '3x tfg:mercury_tri_p_toluenesulfonate') + .color(0xA6080D) + .secondaryColor(0x73060A) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:sulfur_dichloride') + .liquid(new GTFluidBuilder().temperature(293)) + .components('1x sulfur', '2x chlorine') + .color(0xDEE01A) + .secondaryColor(0x5D5E0B) + + event.create('tfg:thionyl_chloride') + .liquid(new GTFluidBuilder().temperature(293)) + .components('1x sulfur', '1x oxygen', '2x chlorine') + .color(0xE4C117) + .secondaryColor(0x63540B) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:p_toluenesulfonic_acid') + .liquid(new GTFluidBuilder().temperature(293).attribute(GTFluidAttributes.ACID)) + .components('7x carbon', '8x hydrogen', '3x oxygen', '1x sulfur') + .color(0x872B0B) + .secondaryColor(0x501A06) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:sodium_nitrate') + .dust() + .components('1x sodium', '1x nitrogen', '3x oxygen') + .iconSet(GTMaterialIconSet.FINE) + .color(0xCBF7FF) + .secondaryColor(0xB7CFFF) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + //#endregion +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/materials/materials.gem_slurries.js b/kubejs/startup_scripts/tfg/materials/materials.gem_slurries.js new file mode 100644 index 000000000..ef40e78ae --- /dev/null +++ b/kubejs/startup_scripts/tfg/materials/materials.gem_slurries.js @@ -0,0 +1,20 @@ +// priority: 0 +"use strict"; + +const registerTFGGemSlurryMaterials = (event) => { + + function createDirtySlurry(event, name, color, secondaryColor) { + event.create(`tfg:dirty_${name}_slurry`) + .liquid(new GTFluidBuilder().temperature(603)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(color) + .secondaryColor(secondaryColor); + } + + createDirtySlurry(event, 'emerald', 0x77a677, 0x74e374); // Green Lens + createDirtySlurry(event, 'sapphire', 0x8083a8, 0x6e77e0); // Blue Lens + createDirtySlurry(event, 'ruby', 0xe34f4f, 0x88080); // Red Lens + createDirtySlurry(event, 'diamond', 0x4fe3e1, 0x6e77e0); // Light Blue Lens + createDirtySlurry(event, 'apatite', 0x00FFFF, 0xFFFFFF); // Cyan Lens + createDirtySlurry(event, 'spessartine', 0xfaa805, 0xf7daa1); // Orange Lens +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/materials/materials.misc_alloys.js b/kubejs/startup_scripts/tfg/materials/materials.misc_alloys.js new file mode 100644 index 000000000..41c3a1517 --- /dev/null +++ b/kubejs/startup_scripts/tfg/materials/materials.misc_alloys.js @@ -0,0 +1,85 @@ +// priority: 0 +"use strict"; + +// Don't just use this file as a dumping ground! +// Only use it if there's truly nowhere else your material can go and there's only like one or two materials. +// Otherwise, make a dedicated file for it. +function registerTFGMiscAlloyMaterials(event) { + // EV New Material + + event.create('tfg:tungsten_bismuth_oxide_composite') + .components('1x tungsten', '2x bismuth', '3x oxygen') + .color(0xf7cb48) + .secondaryColor(0xfffef0) + .iconSet(GTMaterialIconSet.getByName('tfc_cassiterite')) + .ingot() + .liquid() + .blastTemp(3700, $BlastProperty.GasTier.MID, GTValues.VA[GTValues.IV], (20*120)) + .flags( + GTMaterialFlags.DISABLE_DECOMPOSITION, + GTMaterialFlags.GENERATE_PLATE, + GTMaterialFlags.GENERATE_ROD, + GTMaterialFlags.GENERATE_BOLT_SCREW, + GTMaterialFlags.EXCLUDE_BLOCK_CRAFTING_BY_HAND_RECIPES, + GTMaterialFlags.GENERATE_FOIL, + GTMaterialFlags.GENERATE_FINE_WIRE + ) + + + // Material at HV used for Zirconium at IV + + event.create('tfg:boron_carbide') + .ingot() + .iconSet('dull') + .color(0x42705D) + .components('4x boron', '1x carbon') + .blastTemp(3041, $BlastProperty.GasTier.MID, GTValues.VA[GTValues.HV], 1500) + .flags(GTMaterialFlags.GENERATE_PLATE) + + + // Material for MV + + event.create('tfg:rene_41') + .ingot() + .fluid() + .iconSet(GTMaterialIconSet.SHINY) + .color(0x6A6D73) + .secondaryColor(0x5A5148) + .components('5x nickel', '3x chromium', '2x cobalt', '1x molybdenum', '1x aluminium', '1x boron', '1x carbon') + .blastTemp(1780, $BlastProperty.GasTier.LOW, GTValues.VA[GTValues.MV], (20*75)) + .flags( + GTMaterialFlags.DISABLE_DECOMPOSITION, + GTMaterialFlags.GENERATE_PLATE, + GTMaterialFlags.GENERATE_FOIL, + GTMaterialFlags.GENERATE_ROD, + GTMaterialFlags.GENERATE_BOLT_SCREW, + GTMaterialFlags.GENERATE_RING, + GTMaterialFlags.GENERATE_LONG_ROD) + + // Material for HV + + event.create('tfg:mo_50_re') + .ingot() + .fluid() + .color(0x5a8c78) + .secondaryColor(0x94eb9f) + .components('1x molybdenum', '1x rhenium') + .iconSet(GTMaterialIconSet.getByName('chonky')) + .blastTemp(1231, $BlastProperty.GasTier.LOW, GTValues.VA[GTValues.MV], (20*95)) + .flags( + GTMaterialFlags.GENERATE_PLATE, + GTMaterialFlags.GENERATE_ROD, + GTMaterialFlags.GENERATE_BOLT_SCREW, + GTMaterialFlags.GENERATE_FRAME) + + event.create('tfg:diamond_tipped_mo_50_re') + .ingot() + .components('1x tfg:mo_50_re', '1x carbon') + .color(0x5eab9b) + .secondaryColor(0x83decc) + .iconSet('chonky') + .flags( + GTMaterialFlags.GENERATE_PLATE, + GTMaterialFlags.GENERATE_ROD, + GTMaterialFlags.DISABLE_DECOMPOSITION) +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/materials.power_rework.js b/kubejs/startup_scripts/tfg/materials/materials.power_rework.js similarity index 100% rename from kubejs/startup_scripts/tfg/materials.power_rework.js rename to kubejs/startup_scripts/tfg/materials/materials.power_rework.js diff --git a/kubejs/startup_scripts/tfg/materials/materials.refrigerants.js b/kubejs/startup_scripts/tfg/materials/materials.refrigerants.js new file mode 100644 index 000000000..0c0093877 --- /dev/null +++ b/kubejs/startup_scripts/tfg/materials/materials.refrigerants.js @@ -0,0 +1,25 @@ +// priority: 0 +"use strict"; + +function registerTFGRefrigerantMaterials(event) { + + event.create('tfg:chlorodifluoromethane') + .gas() + .components('1x carbon', '1x hydrogen', '1x chlorine', '2x fluorine') + .color(0x66ffa3) + + event.create('tfg:acetylene') + .gas() + .components('2x carbon', '2x hydrogen') + .color(0x1a1212) + + event.create('tfg:isobutane') + .gas() + .components('4x carbon', '10x hydrogen') + .color(0x7d0f00) + + event.create('tfg:1_1_1_2_tetrafluoroethane') + .gas() + .components('2x carbon', '2x hydrogen', '4x fluorine') + .color(0x46702e) +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/materials/materials.rotors.js b/kubejs/startup_scripts/tfg/materials/materials.rotors.js new file mode 100644 index 000000000..e2541a527 --- /dev/null +++ b/kubejs/startup_scripts/tfg/materials/materials.rotors.js @@ -0,0 +1,169 @@ +// priority: 0 +"use strict"; + +function registerTFGRotorMaterials(event) { + const $BlastProperty = Java.loadClass("com.gregtechceu.gtceu.api.data.chemical.material.properties.BlastProperty") + + // Material at HV used for Exotic Rotor + + event.create('tfg:inconel_718') + .components('5x invar', '2x chromium', '2x molybdenum', '1x niobium', '1x aluminium', '1x titanium') + .color(0xfff870) + .secondaryColor(0xc8cdf7) + .iconSet(GTMaterialIconSet.METALLIC) + .ingot() + .blastTemp(2710, $BlastProperty.GasTier.MID, GTValues.VA[GTValues.EV], (20*120)) + .flags( + GTMaterialFlags.DISABLE_DECOMPOSITION, + GTMaterialFlags.GENERATE_PLATE, + GTMaterialFlags.GENERATE_ROD, + GTMaterialFlags.GENERATE_BOLT_SCREW) + + event.create('tfg:weak_inconel_718') + .components('5x invar', '2x chromium', '2x molybdenum', '1x niobium', '1x aluminium', '1x titanium') + .color(0x8f8c57) + .secondaryColor(0xc8cdf7) + .iconSet(GTMaterialIconSet.ROUGH) + .ingot() + .blastTemp(1210, $BlastProperty.GasTier.MID, GTValues.VA[GTValues.EV], (20*120)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:homogenized_inconel_718') + .components('5x invar', '2x chromium', '2x molybdenum', '1x niobium', '1x aluminium', '1x titanium') + .color(0xdbd560) + .secondaryColor(0xc8cdf7) + .iconSet(GTMaterialIconSet.DULL) + .ingot() + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION, + GTMaterialFlags.DISABLE_MATERIAL_RECIPES) + + // Material for Inconel Line at HV + + event.create('tfg:inert_furnace_atmosphere') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(3730)) + .components('2x nitrogen', '1x argon', '1x hydrogen') + .color(0xB8B6AD) + .secondaryColor(0x9A8C62) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:metal_desorption_gas') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(1200)) + .components('2x hydrogen', '1x oxygen', '1x carbon_monoxide') + .color(0x7A7262) + .secondaryColor(0x5E4B32) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:reducing_process_gas') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(1800)) + .components('3x hydrogen', '1x nitrogen', '1x carbon_monoxide') + .color(0x9AA0A6) + .secondaryColor(0x6B7075) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + // Material for Mo-Si-B + + event.create('tfg:argon_enriched_atmosphere') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(87)) + .color(0x7F9CBF) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:furnace_exhaust_gas') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(1200)) + .color(0xAAAAAA) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:mo_si_b_off_gas') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(1500)) + .color(0xC0B283) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:medium_temperature_off_gas') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(800)) + .color(0xE0C080) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:hydroxide_decomposition_off_gas') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(600)) + .color(0xA0C0FF) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:linac_activated_gas') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(300)) + .color(0xFF4444) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:highly_active_off_gas') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(1300)) + .color(0xFFAA00) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:dirty_mo_si_b') + .color(0x77FF77) + .secondaryColor(0x77AAFF) + .iconSet(GTMaterialIconSet.ROUGH) + .dust() + .flags( + GTMaterialFlags.DISABLE_DECOMPOSITION, + GTMaterialFlags.DISABLE_MATERIAL_RECIPES) + + event.create('tfg:weak_mo_si_b') + .color(0xAAAAAA) + .secondaryColor(0x77AAFF) + .iconSet(GTMaterialIconSet.ROUGH) + .ingot() + .blastTemp(2710, $BlastProperty.GasTier.MID, GTValues.VA[GTValues.EV], (20*120)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:worked_mo_si_b') + .color(0x77AAFF) + .secondaryColor(0x77FF77) + .blastTemp(2710, $BlastProperty.GasTier.MID, GTValues.VA[GTValues.EV], (20*120)) + .iconSet(GTMaterialIconSet.OPAL) + .ingot() + .flags( + GTMaterialFlags.DISABLE_DECOMPOSITION, + GTMaterialFlags.DISABLE_MATERIAL_RECIPES) + + event.create('tfg:homogenized_mo_si_b') + .color(0x88CCFF) + .secondaryColor(0x99FF88) + .iconSet(GTMaterialIconSet.FINE) + .blastTemp(2710, $BlastProperty.GasTier.MID, GTValues.VA[GTValues.EV], (20*120)) + .ingot() + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:activated_mo_si_b') + .color(0xFF4444) + .secondaryColor(0x88CCFF) + .iconSet(GTMaterialIconSet.RADIOACTIVE) + .ingot() + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:mo_si_b') + .color(0x77AAFF) + .secondaryColor(0xCCCCCC) + .iconSet(GTMaterialIconSet.METALLIC) + .components('1x molybdenum', '1x silicon', '1x boron') + .ingot() + .blastTemp(2710, $BlastProperty.GasTier.MID, GTValues.VA[GTValues.EV], (20*120)) + .flags( + GTMaterialFlags.DISABLE_DECOMPOSITION, + GTMaterialFlags.GENERATE_PLATE, + GTMaterialFlags.GENERATE_ROD, + GTMaterialFlags.GENERATE_BOLT_SCREW) + + event.create('tfg:silicon_carbide_silicon_carbide') + .color(0x615c4f) + .secondaryColor(0x40403f) + .components('1x silicon', '1x carbon') + .iconSet(GTMaterialIconSet.NETHERSTAR) + .ingot() + .flags( + GTMaterialFlags.DISABLE_MATERIAL_RECIPES, + GTMaterialFlags.DISABLE_DECOMPOSITION, + GTMaterialFlags.GENERATE_PLATE, + GTMaterialFlags.GENERATE_ROD, + GTMaterialFlags.GENERATE_BOLT_SCREW) + + +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/materials/materials.solders.js b/kubejs/startup_scripts/tfg/materials/materials.solders.js new file mode 100644 index 000000000..70780f23d --- /dev/null +++ b/kubejs/startup_scripts/tfg/materials/materials.solders.js @@ -0,0 +1,48 @@ +// priority: 0 +"use strict"; + +function registerTFGSolderMaterials(event) { + + event.create('tfg:woods_metal') + .dust() + .liquid(GTFluidBuilder().temperature(343).customStill()) + .ingot() + .color(0x65737C) + .components('4x bismuth', '2x lead', '1x tin', '1x cadmium') + .flags(GTMaterialFlags.DECOMPOSITION_BY_CENTRIFUGING) + .hazard(HazardProperty.HazardTrigger.SKIN_CONTACT, GTMedicalConditions.POISON) + + event.create('tfg:bi_pb_sn_cd_in_tl') + .dust() + .liquid(GTFluidBuilder().temperature(314).customStill()) + .ingot() + .color(0x745252) + .components('8x bismuth', '4x lead', '2x tin', '3x indium', '2x cadmium', '1x thallium') + .flags(GTMaterialFlags.DECOMPOSITION_BY_CENTRIFUGING) + .hazard(HazardProperty.HazardTrigger.SKIN_CONTACT, GTMedicalConditions.CHEMICAL_BURNS) + + event.create('tfg:lorandite') + .dust() + .ore() + .color(0xC97523) + .secondaryColor(0xcf151b) + .components('1x thallium', '1x arsenic', '2x sulfur') + .addOreByproducts('pyrite', 'sulfur', 'stibnite', 'arsenic_trioxide') + .washedIn(GTMaterials.SodiumPersulfate) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION, TFGMaterialFlags.GENERATE_DUSTY_ORES) + + event.create('tfg:thallium_sulfate') + .dust() + .color(0x6691AD) + .components('2x thallium', '1x sulfur', '4x oxygen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .hazard(HazardProperty.HazardTrigger.SKIN_CONTACT, GTMedicalConditions.CHEMICAL_BURNS) + + event.create('tfg:zinc_sulfate') + .dust() + .color(0x92B39F) + .components('1x zinc', '1x sulfur', '4x oxygen') + .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) + + +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/materials/materials.tungsten.js b/kubejs/startup_scripts/tfg/materials/materials.tungsten.js new file mode 100644 index 000000000..cf5c19649 --- /dev/null +++ b/kubejs/startup_scripts/tfg/materials/materials.tungsten.js @@ -0,0 +1,33 @@ +// priority: 0 +"use strict"; + +function registerTFGTungstenMaterials(event) { + + event.create('tfg:sodium_tungstate') + .dust() + .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES, GTMaterialFlags.DISABLE_DECOMPOSITION) + .iconSet(GTMaterialIconSet.BRIGHT) + .components('2x sodium', '1x tungsten', '4x oxygen') + .color('0xdcf6f7') + + event.create('tfg:ammonium_tungstate') + .dust() + .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES, GTMaterialFlags.DISABLE_DECOMPOSITION) + .iconSet(GTMaterialIconSet.DULL) + .components('10x ammonia', '2x hydrogen', '12x tungsten', '42x oxygen') + .color('0xfafafa') + + event.create('tfg:apt') + .gem() + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .iconSet(GTMaterialIconSet.FLINT) + .components('10x ammonia', '4x water', '2x hydrogen', '12x tungsten', '42x oxygen') + .color('0xaabdf0') + + event.create('tfg:tungsten_oxide') + .dust() + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .iconSet(GTMaterialIconSet.FLINT) + .components('1x tungsten', '3x oxygen') + .color('0xf0c851') +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/materials/materials.zirconium.js b/kubejs/startup_scripts/tfg/materials/materials.zirconium.js new file mode 100644 index 000000000..bc2b07687 --- /dev/null +++ b/kubejs/startup_scripts/tfg/materials/materials.zirconium.js @@ -0,0 +1,45 @@ +// priority: 0 +"use strict"; + +function registerTFGZirconiumMaterials(event) { + + event.create('tfg:zircon') + .gem() + .color(0xF1B6B0) + .secondaryColor(0x4BABC6) + .iconSet('gem_horizontal') + .components('1x zirconium', '1x silicon', '4x oxygen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:zirconium_tetrachloride') + .dust() + .color(0xF1B6B0) + .secondaryColor(0x146946) + .iconSet('rough') + .components('1x zirconium', '4x chlorine') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:silicon_tetrachloride') + .liquid() + .color(0x707078) + .secondaryColor(0x146946) + .components('1x silicon', '4x chlorine') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:zirconium_bromide') + .dust() + .color(0xBA776F) + .secondaryColor(0x146985) + .iconSet('shiny') + .components('1x zirconium', '4x bromine') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:zirconium_diboride') + .ingot() + .color(0xFADED2) + .secondaryColor(0x4FA883) + .iconSet('chonky') + .components('1x zirconium', '2x boron') + .flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_FOIL) + +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/moon/materials.moon.js b/kubejs/startup_scripts/tfg/moon/materials.moon.js index 366be5cc7..67b9f8414 100644 --- a/kubejs/startup_scripts/tfg/moon/materials.moon.js +++ b/kubejs/startup_scripts/tfg/moon/materials.moon.js @@ -70,30 +70,33 @@ function registerTFGMoonMaterials(event) { event.create('armalcolite') .gem(2) - .components('1x magnesium', '1x rutile', '1x ilmenite') + .components('1x magnesium', '1x ilmenite', '2x oxygen') .color(0x443333) .secondaryColor(0x5e2c21) .iconSet(GTMaterialIconSet.getByName('tfc_emerald')) .ore() - .addOreByproducts('rutile', 'rutile', 'ilmenite') + .addOreByproducts('ilmenite', 'magnesium', 'ilmenite') event.create('desh') - .components('2x olivine', '1x rutile', '4x nitrogen') + .components('2x olivine', '1x ilmenite', '4x nitrogen') .color(0xF39A4C) .secondaryColor(0xF35A6C) .iconSet(GTMaterialIconSet.getByName('tfc_hematite')) .ore() - .addOreByproducts('olivine', 'rutile', 'rutile') + .addOreByproducts('olivine', 'ilmenite', 'iron', 'rhenium') + .washedIn(GTMaterials.SodiumPersulfate) .ingot() .liquid() - .blastTemp(2800, $BlastProperty.GasTier.MID, GTValues.VA[GTValues.HV]) + .blastTemp(2212, $BlastProperty.GasTier.MID, GTValues.VA[GTValues.HV]) .flags( GTMaterialFlags.FORCE_GENERATE_BLOCK, - GTMaterialFlags.GENERATE_PLATE, + GTMaterialFlags.GENERATE_PLATE, + GTMaterialFlags.GENERATE_FOIL, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.GENERATE_FRAME, + GTMaterialFlags.GENERATE_FOIL, GTMaterialFlags.DISABLE_ALLOY_BLAST ) } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js b/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js index 9e50bf968..38af65e7c 100644 --- a/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js +++ b/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js @@ -216,7 +216,7 @@ const registerTFGNuclearMaterials = (event) => { .components('1x boron', '3x chlorine') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0xb3fcb9) - //.secondaryColor(0x9FAFB2) + //.secondaryColor(0x9FAFB2) event.create('tfg:enriched_boron_thrichloride') .gas(new GTFluidBuilder().state(GTFluidState.GAS).attribute(GTFluidAttributes.ACID).temperature(480)) @@ -347,7 +347,7 @@ const registerTFGNuclearMaterials = (event) => { .radioactiveHazard(10000000) //#endregion - + //#region Epoxidized Isosorbide Linolenate event.create('tfg:glucose') .dust() @@ -392,12 +392,12 @@ const registerTFGNuclearMaterials = (event) => { .components('42x carbon', '66x hydrogen', '12x oxygen') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0xAB2748) - + //#endregion //#region Isotopic Solvent - // Organic Stabilizer + // Organic Stabilizer event.create('tfg:organic_stabilizer') .dust() .components('31x carbon', '46x hydrogen', '3x oxygen', '1x nitrogen', '1x chlorine') @@ -524,24 +524,29 @@ const registerTFGNuclearMaterials = (event) => { .liquid(new GTFluidBuilder().customStill().temperature(300)) .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0xfc7303) - .secondaryColor(0xfcf403) - + .secondaryColor(0xfcf403) + // Conductor + event.create('tfg:thermally_conductive_fluid') + .liquid() + .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) + .components('7x gallium', '2x tin', '1x zinc') + .color('0x34cfeb') }; - //#region Fuel Pellet +//#region Fuel Pellet - /* - Adding the Fuel Rod, the textures are applied through a model.json - Durability - Number of rod unused for now - %Heat - In ReactorCurve getHeating returns fuelHeat * 200.0d * throttle and getCooling returns _state.Heat() * (coolantConversion + 0.01). - Where coolantConversion is 1.00 if enough coolant is present. Solving that equation for a steady-state: heating + cooling = 0. - When throttle=coolantConversion=1:heat = fuelHeat * 200.0d / 1.01 - So one 100% cell is 198.0198 heat it should reach. Simulation accuracy might of course throw that off by a small margin. - So purely passively it reaches 20000.0 heat. - */ +/* +Adding the Fuel Rod, the textures are applied through a model.json +Durability +Number of rod unused for now +%Heat +In ReactorCurve getHeating returns fuelHeat * 200.0d * throttle and getCooling returns _state.Heat() * (coolantConversion + 0.01). +Where coolantConversion is 1.00 if enough coolant is present. Solving that equation for a steady-state: heating + cooling = 0. +When throttle=coolantConversion=1:heat = fuelHeat * 200.0d / 1.01 +So one 100% cell is 198.0198 heat it should reach. Simulation accuracy might of course throw that off by a small margin. +So purely passively it reaches 20000.0 heat. +*/ const $FuelCellItem = Java.loadClass("fi.dea.mc.deafission.common.data.items.FuelCellItem"); const $DepletedFuelCellItem = Java.loadClass("fi.dea.mc.deafission.common.data.items.DepletedFuelCellItem"); @@ -551,33 +556,33 @@ const $DepletedFuelCellItem = Java.loadClass("fi.dea.mc.deafission.common.data.i //$ReactorBaseStats.Smr1 = new $ComponentTotals(200, 0, 0); StartupEvents.registry("item", (event) => { - const fuel = function(id, durability, rods, heat, createDepleted) { + const fuel = function (id, durability, rods, heat, createDepleted) { - if (createDepleted === undefined) createDepleted = true; + if (createDepleted === undefined) createDepleted = true; - event.createCustom("tfg:" + id, () => { - return new $FuelCellItem( - durability, - rods, - heat - ); - }); + event.createCustom("tfg:" + id, () => { + return new $FuelCellItem( + durability, + rods, + heat + ); + }); - if (createDepleted) { - event.createCustom("tfg:depleted_" + id, () => { - return new $DepletedFuelCellItem(); - }); - } - }; + if (createDepleted) { + event.createCustom("tfg:depleted_" + id, () => { + return new $DepletedFuelCellItem(); + }); + } + }; - fuel("thorium_rod", 5000, 1, 0.7); // Max Heat 139 - 1 Fuel - fuel("uranium_rod", 20000, 1, 2.2); // Max Heat 435 - 1 Fuel - fuel("plutonium_rod", 30000, 1, 3); // Max Heat 595 - 1 Fuel + fuel("thorium_rod", 5000, 1, 0.7); // Max Heat 139 - 1 Fuel + fuel("uranium_rod", 20000, 1, 2.2); // Max Heat 435 - 1 Fuel + fuel("plutonium_rod", 30000, 1, 3); // Max Heat 595 - 1 Fuel - fuel("tbu_232_rod", 5000, 1, 2); // Max Heat 396 - 1 Fuel + fuel("tbu_232_rod", 5000, 1, 2); // Max Heat 396 - 1 Fuel - fuel("americium_241_rod", 5000000, 1, 0.5); // Max Heat 99 - 1 Fuel - fuel("neptunium_237_rod", 100000, 1, 2); // Max Heat 396 - 1 Fuel - fuel("californium_252_rod", 500000, 1, 4); // Max Heat 792 - 1 Fuel + fuel("americium_241_rod", 5000000, 1, 0.5); // Max Heat 99 - 1 Fuel + fuel("neptunium_237_rod", 100000, 1, 2); // Max Heat 396 - 1 Fuel + fuel("californium_252_rod", 500000, 1, 4); // Max Heat 792 - 1 Fuel }); diff --git a/kubejs/startup_scripts/tfg/primitive/materials.primitive.js b/kubejs/startup_scripts/tfg/primitive/materials.primitive.js index 1d6a7b7fd..83b5b0fa0 100644 --- a/kubejs/startup_scripts/tfg/primitive/materials.primitive.js +++ b/kubejs/startup_scripts/tfg/primitive/materials.primitive.js @@ -88,6 +88,7 @@ function registerTFGPrimitiveMaterials(event) { .color(0xEEB9AD) .secondaryColor(0xF6A797) .formula("Al2Si2O5(OH)4") + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) // Film developing event.create('tfg:pyrogallol') diff --git a/kubejs/startup_scripts/tfg/space_general/materials.rockets.js b/kubejs/startup_scripts/tfg/space_general/materials.rockets.js index 0b1fb255e..2a485e561 100644 --- a/kubejs/startup_scripts/tfg/space_general/materials.rockets.js +++ b/kubejs/startup_scripts/tfg/space_general/materials.rockets.js @@ -10,7 +10,7 @@ function registerTFGRocketMaterials(event) { .components('6x aluminium', '2x stainless_steel', '1x red_steel') .color(0x333e47) .iconSet('metallic') - .flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_GEAR) + .flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.GENERATE_BOLT_SCREW) .blastTemp(1760, $BlastProperty.GasTier.MID, 256, 900) event.create('rocket_alloy_t2') @@ -18,7 +18,7 @@ function registerTFGRocketMaterials(event) { .components('19x titanium', '4x vanadium', '3x aluminium', '3x chromium', '3x tin') .color(0x3c253d) .iconSet('metallic') - .flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.DISABLE_ALLOY_BLAST) + .flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.GENERATE_BOLT_SCREW, GTMaterialFlags.DISABLE_ALLOY_BLAST) .blastTemp(3200, $BlastProperty.GasTier.MID, 1024, 1100) .liquid() @@ -30,7 +30,7 @@ function registerTFGRocketMaterials(event) { .liquid() .removeHazard() .iconSet('metallic') - .flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_GEAR) + .flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.GENERATE_BOLT_SCREW) .blastTemp(4200, $BlastProperty.GasTier.MID, 4096, 1300) */ @@ -160,4 +160,44 @@ function registerTFGRocketMaterials(event) { .gas() .components('5x nitrogen', '3x oxygen', '2x helium_3') .color(0xa3ed95) + + //#region Basalt Insulation Pannel + + event.create('tfg:basalt_fiber') + .ingot() + .components('1x basalt') + .flags( + GTMaterialFlags.DISABLE_DECOMPOSITION, + GTMaterialFlags.GENERATE_PLATE, + GTMaterialFlags.GENERATE_FOIL, + GTMaterialFlags.GENERATE_FINE_WIRE, + GTMaterialFlags.DISABLE_MATERIAL_RECIPES + ) + .color(0x525D6B) + + event.create('tfg:dichloropropane') + .liquid() + .components('3x carbon', '6x hydrogen', '2x chlorine') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xC2C6CC) + + event.create('tfg:3_chloropropylamine') + .liquid() + .components('3x carbon', '8x hydrogen', '1x chlorine', '1x nitrogen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xFFF8C6) + + event.create('tfg:aminopropyl_chlorosilane') + .liquid() + .components('3x carbon', '8x hydrogen', '3x chlorine', '1x nitrogen', '1x silicon') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xC6E2FF) + + event.create('tfg:3_aminopropyltriethoxysilane') + .liquid() + .components('9x carbon', '23x hydrogen', '1x nitrogen', '3x oxygen', '1x silicon') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xFFE8C2) + + } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/stone_types/materials.rocks.js b/kubejs/startup_scripts/tfg/stone_types/materials.rocks.js index e5604e50b..44502e951 100644 --- a/kubejs/startup_scripts/tfg/stone_types/materials.rocks.js +++ b/kubejs/startup_scripts/tfg/stone_types/materials.rocks.js @@ -1,32 +1,40 @@ // priority: 0 "use strict"; - const registerTFGRockMaterials = (event) => { // Specialized icon sets for TFC's own - modifyTFGIconSets(event) + modifyTFGIconSets(event) + + const registerStoneMaterial = (rockType, color, components, fluid, temp) => { + let builder = event.create(`tfg:${rockType}`) + .color(color) + .dust() + .iconSet(GTMaterialIconSet.ROUGH) + .components(components) + .flags( + GTMaterialFlags.MORTAR_GRINDABLE, + GTMaterialFlags.NO_SMASHING, + GTMaterialFlags.NO_SMELTING, + GTMaterialFlags.DISABLE_DECOMPOSITION); - const registerStoneMaterial = (rockType, color, components) => - event.create(`tfg:${rockType}`) - .color(color) - .dust() - .iconSet(GTMaterialIconSet.ROUGH) - .components(components) - .flags( - GTMaterialFlags.MORTAR_GRINDABLE, - GTMaterialFlags.NO_SMASHING, - GTMaterialFlags.NO_SMELTING, - GTMaterialFlags.DISABLE_DECOMPOSITION); + if (fluid === true) { + let fluidBuilder = GTFluidBuilder(); + if (temp !== undefined) { + fluidBuilder.temperature(temp); + } + builder.liquid(fluidBuilder); + } + }; // event.create() returns a material builder, not the actual material - registerStoneMaterial('sedimentary_clastic', 0xAF9377, ['quartzite', 'potassium_feldspar']); - registerStoneMaterial('sedimentary_carbonate', 0xADA67A, ['quartzite', 'calcite']); - registerStoneMaterial('sedimentary_organic', 0xA8706B, ['flint', 'unknown']); + registerStoneMaterial('sedimentary_clastic', 0xAF9377, ['quartzite', 'potassium_feldspar']); + registerStoneMaterial('sedimentary_carbonate', 0xADA67A, ['quartzite', 'calcite']); + registerStoneMaterial('sedimentary_organic', 0xA8706B, ['flint', 'unknown']); - registerStoneMaterial('metamorphic', 0x876981, ['marble', 'deepslate']); + registerStoneMaterial('metamorphic', 0x876981, ['marble', 'deepslate']); - registerStoneMaterial('igneous_ultramafic', 0x45474D, ['blackstone']); - registerStoneMaterial('igneous_mafic', 0x525D6B, ['basalt']); - registerStoneMaterial('igneous_intermediate', 0x71818A, ['andesite']); - registerStoneMaterial('igneous_felsic', 0x97B2BF, ['granite_red']); + registerStoneMaterial('igneous_ultramafic', 0x45474D, ['blackstone']); + registerStoneMaterial('igneous_mafic', 0x525D6B, ['basalt']); + registerStoneMaterial('igneous_intermediate', 0x71818A, ['andesite']); + registerStoneMaterial('igneous_felsic', 0x97B2BF, ['granite_red'], true, 1346); } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/tag_prefixes.js b/kubejs/startup_scripts/tfg/tag_prefixes.js index c3bbdfbfe..133a36c38 100644 --- a/kubejs/startup_scripts/tfg/tag_prefixes.js +++ b/kubejs/startup_scripts/tfg/tag_prefixes.js @@ -23,6 +23,80 @@ function registerTFGTagPrefixes(event) { TagPrefix.nugget.setIgnored(GTMaterials.get('tfg:magnesia_refractory_brick')) TagPrefix.block.setIgnored(GTMaterials.get('tfg:magnesia_refractory_brick')) + + TagPrefix.block.setIgnored(GTMaterials.get('tfg:weak_inconel_718')) + TagPrefix.block.setIgnored(GTMaterials.get('tfg:homogenized_inconel_718')) + TagPrefix.nugget.setIgnored(GTMaterials.get('tfg:weak_inconel_718')) + TagPrefix.nugget.setIgnored(GTMaterials.get('tfg:homogenized_inconel_718')) + TagPrefix.dustTiny.setIgnored(GTMaterials.get('tfg:weak_inconel_718')) + TagPrefix.dustTiny.setIgnored(GTMaterials.get('tfg:homogenized_inconel_718')) + TagPrefix.dustSmall.setIgnored(GTMaterials.get('tfg:weak_inconel_718')) + TagPrefix.dustSmall.setIgnored(GTMaterials.get('tfg:homogenized_inconel_718')) + TagPrefix.dust.setIgnored(GTMaterials.get('tfg:homogenized_inconel_718')) + + TagPrefix.dustTiny.setIgnored(GTMaterials.get('tfg:dirty_mo_si_b')) + TagPrefix.dustSmall.setIgnored(GTMaterials.get('tfg:dirty_mo_si_b')) + + TagPrefix.block.setIgnored(GTMaterials.get('tfg:weak_mo_si_b')) + TagPrefix.nugget.setIgnored(GTMaterials.get('tfg:weak_mo_si_b')) + TagPrefix.dustTiny.setIgnored(GTMaterials.get('tfg:weak_mo_si_b')) + TagPrefix.dustSmall.setIgnored(GTMaterials.get('tfg:weak_mo_si_b')) + TagPrefix.ingot.setIgnored(GTMaterials.get('tfg:weak_mo_si_b')) + + TagPrefix.block.setIgnored(GTMaterials.get('tfg:worked_mo_si_b')) + TagPrefix.nugget.setIgnored(GTMaterials.get('tfg:worked_mo_si_b')) + TagPrefix.dustTiny.setIgnored(GTMaterials.get('tfg:worked_mo_si_b')) + TagPrefix.dustSmall.setIgnored(GTMaterials.get('tfg:worked_mo_si_b')) + TagPrefix.ingot.setIgnored(GTMaterials.get('tfg:worked_mo_si_b')) + TagPrefix.dust.setIgnored(GTMaterials.get('tfg:worked_mo_si_b')) + + TagPrefix.block.setIgnored(GTMaterials.get('tfg:homogenized_mo_si_b')) + TagPrefix.nugget.setIgnored(GTMaterials.get('tfg:homogenized_mo_si_b')) + TagPrefix.dustTiny.setIgnored(GTMaterials.get('tfg:homogenized_mo_si_b')) + TagPrefix.dustSmall.setIgnored(GTMaterials.get('tfg:homogenized_mo_si_b')) + TagPrefix.dust.setIgnored(GTMaterials.get('tfg:homogenized_mo_si_b')) + + TagPrefix.block.setIgnored(GTMaterials.get('tfg:activated_mo_si_b')) + TagPrefix.nugget.setIgnored(GTMaterials.get('tfg:activated_mo_si_b')) + TagPrefix.dustTiny.setIgnored(GTMaterials.get('tfg:activated_mo_si_b')) + TagPrefix.dustSmall.setIgnored(GTMaterials.get('tfg:activated_mo_si_b')) + TagPrefix.dust.setIgnored(GTMaterials.get('tfg:activated_mo_si_b')) + + TagPrefix.nugget.setIgnored(GTMaterials.get('tfg:rough_silicon_carbide')) + TagPrefix.block.setIgnored(GTMaterials.get('tfg:rough_silicon_carbide')) + TagPrefix.nugget.setIgnored(GTMaterials.get('tfg:silicon_carbide')) + TagPrefix.block.setIgnored(GTMaterials.get('tfg:silicon_carbide')) + TagPrefix.plateDouble.setIgnored(GTMaterials.get('tfg:silicon_carbide')) + + TagPrefix.block.setIgnored(GTMaterials.get('tfg:basalt_fiber')) + TagPrefix.nugget.setIgnored(GTMaterials.get('tfg:basalt_fiber')) + TagPrefix.dustTiny.setIgnored(GTMaterials.get('tfg:basalt_fiber')) + TagPrefix.dustSmall.setIgnored(GTMaterials.get('tfg:basalt_fiber')) + TagPrefix.dust.setIgnored(GTMaterials.get('tfg:basalt_fiber')) + TagPrefix.plateDouble.setIgnored(GTMaterials.get('tfg:basalt_fiber')) + TagPrefix.ingot.setIgnored(GTMaterials.get('tfg:basalt_fiber')) + + TagPrefix.block.setIgnored(GTMaterials.get('tfg:silicon_carbide_silicon_carbide')) + TagPrefix.nugget.setIgnored(GTMaterials.get('tfg:silicon_carbide_silicon_carbide')) + TagPrefix.dustTiny.setIgnored(GTMaterials.get('tfg:silicon_carbide_silicon_carbide')) + TagPrefix.dustSmall.setIgnored(GTMaterials.get('tfg:silicon_carbide_silicon_carbide')) + TagPrefix.dust.setIgnored(GTMaterials.get('tfg:silicon_carbide_silicon_carbide')) + TagPrefix.plateDouble.setIgnored(GTMaterials.get('tfg:silicon_carbide_silicon_carbide')) + TagPrefix.plate.setIgnored(GTMaterials.get('tfg:silicon_carbide_silicon_carbide')) + TagPrefix.bolt.setIgnored(GTMaterials.get('tfg:silicon_carbide_silicon_carbide')) + TagPrefix.screw.setIgnored(GTMaterials.get('tfg:silicon_carbide_silicon_carbide')) + TagPrefix.rod.setIgnored(GTMaterials.get('tfg:silicon_carbide_silicon_carbide')) + //TagPrefix.turbineBlade.setIgnored(GTMaterials.get('tfg:silicon_carbide_silicon_carbide')) + TagPrefix.ingot.setIgnored(GTMaterials.get('tfg:silicon_carbide_silicon_carbide')) + + TagPrefix.block.setIgnored(GTMaterials.get('tfg:diamond_tipped_mo_50_re')) + TagPrefix.nugget.setIgnored(GTMaterials.get('tfg:diamond_tipped_mo_50_re')) + TagPrefix.plateDouble.setIgnored(GTMaterials.get('tfg:diamond_tipped_mo_50_re')) + TagPrefix.dust.setIgnored(GTMaterials.get('tfg:diamond_tipped_mo_50_re')) + TagPrefix.dustSmall.setIgnored(GTMaterials.get('tfg:diamond_tipped_mo_50_re')) + TagPrefix.dustTiny.setIgnored(GTMaterials.get('tfg:diamond_tipped_mo_50_re')) + TagPrefix.bolt.setIgnored(GTMaterials.get('tfg:diamond_tipped_mo_50_re')) + TagPrefix.screw.setIgnored(GTMaterials.get('tfg:diamond_tipped_mo_50_re')) } function excludeAllGemsButNormal(material) { diff --git a/pakku-lock.json b/pakku-lock.json index cfdb6f3a4..f40088b00 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -3073,6 +3073,69 @@ } ] }, + { + "pakku_id": "NONadCSyrDp2oF0G", + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "configuration", + "modrinth": "configuration" + }, + "name": { + "curseforge": "Configuration", + "modrinth": "Configuration" + }, + "id": { + "curseforge": "444699", + "modrinth": "3WjjSM5O" + }, + "files": [ + { + "type": "curseforge", + "file_name": "configuration-forge-1.20.1-3.1.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5840/405/configuration-forge-1.20.1-3.1.0.jar", + "id": "5840405", + "parent_id": "444699", + "hashes": { + "sha1": "8757a9f1d47f48463765d1d202cdadc41c84f6b0", + "md5": "3d40159d0862913693a698a17e21161f" + }, + "required_dependencies": [], + "size": 439661, + "date_published": "2024-10-24T00:06:37.763Z" + }, + { + "type": "modrinth", + "file_name": "configuration-forge-1.20.1-3.1.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/3WjjSM5O/versions/h7CBg2Oe/configuration-forge-1.20.1-3.1.0.jar", + "id": "h7CBg2Oe", + "parent_id": "3WjjSM5O", + "hashes": { + "sha512": "444f4e502fec76208a4d1606bf2aedab3999e13171033720ea7fe56a6e2f28c3c817badc5592da17a4925a63e3502155c37ed0a4de2d2789106c72541ca99edf", + "sha1": "8757a9f1d47f48463765d1d202cdadc41c84f6b0" + }, + "required_dependencies": [], + "size": 439661, + "date_published": "2024-10-24T00:08:06.877314Z" + } + ] + }, { "pakku_id": "oB3af5YYb5fCmYxM", "type": "MOD", @@ -7332,6 +7395,74 @@ } ] }, + { + "pakku_id": "OtgfNTzqVoq1a5Vi", + "pakku_links": [ + "NONadCSyrDp2oF0G", + "WN9DdLqsRKVeZIc9" + ], + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "gregtech-modern-utilities", + "modrinth": "gregtech-modern-utilities" + }, + "name": { + "curseforge": "GregTech Modern Utilities", + "modrinth": "GregTech Modern Utilities" + }, + "id": { + "curseforge": "1235020", + "modrinth": "KMnOsM3N" + }, + "files": [ + { + "type": "curseforge", + "file_name": "gtmutils-2.8.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7612/516/gtmutils-2.8.0.jar", + "id": "7612516", + "parent_id": "1235020", + "hashes": { + "sha1": "84bcf3b9bfd475494d8964e0497490e19f46436b", + "md5": "fb63574e5af630b8e3ba18cd941fe0b4" + }, + "required_dependencies": [ + "444699", + "890405" + ], + "size": 569204, + "date_published": "2026-02-12T02:42:38.163Z" + }, + { + "type": "modrinth", + "file_name": "gtmutils-2.8.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/KMnOsM3N/versions/4UlKFJVD/gtmutils-2.8.0.jar", + "id": "4UlKFJVD", + "parent_id": "KMnOsM3N", + "hashes": { + "sha512": "96fe91a0b0fcc8e6d94c6300a7b5a000742b7aa9d73d567ecbebb5b5b006c15660574cafee21b3ba152a5a58ebbdd738084cbe6e3c2c8d3cfda2aa4e1bbca54d", + "sha1": "84bcf3b9bfd475494d8964e0497490e19f46436b" + }, + "required_dependencies": [], + "size": 569204, + "date_published": "2026-02-12T02:42:39.880894Z" + } + ] + }, { "pakku_id": "QHcH7jVuZ4XwJ61j", "pakku_links": [