diff --git a/CHANGELOG.md b/CHANGELOG.md index ff675b6fa..8684aec31 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,7 @@ - Fixed baked potato recipe missing from oven (#1338) @Redeix - Fixed sea water barrel recipes (#1338) @Redeix - Fixed Quests #1318 #1291 and finish other quests related stuffs @TomPlop +- Integrated Ad Astra wood types with tfc (#1346) @Redeix ## [0.10.0] - 13.07.2025 - [!WARNING] If you're upgrading your world from 0.9 to 0.10, please read the upgrade guide [here](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/wiki/%5BEN%5D-Upgrading-from-0.9-to-0.10). We do not recommend using Alpha versions for progression, but if you do, please make frequent backups! diff --git a/kubejs/assets/ad_astra/models/item/aeronos_stem.json b/kubejs/assets/ad_astra/models/item/aeronos_stem.json new file mode 100644 index 000000000..da775f84b --- /dev/null +++ b/kubejs/assets/ad_astra/models/item/aeronos_stem.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "ad_astra:item/aeronos_stem" + } +} \ No newline at end of file diff --git a/kubejs/assets/ad_astra/models/item/glacian_log.json b/kubejs/assets/ad_astra/models/item/glacian_log.json new file mode 100644 index 000000000..195fdca45 --- /dev/null +++ b/kubejs/assets/ad_astra/models/item/glacian_log.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "ad_astra:item/glacian_log" + } +} \ No newline at end of file diff --git a/kubejs/assets/ad_astra/models/item/stripped_glacian_log.json b/kubejs/assets/ad_astra/models/item/stripped_glacian_log.json new file mode 100644 index 000000000..ee96860d2 --- /dev/null +++ b/kubejs/assets/ad_astra/models/item/stripped_glacian_log.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "ad_astra:item/glacian_stripped" + } +} \ No newline at end of file diff --git a/kubejs/assets/ad_astra/models/item/strophar_stem.json b/kubejs/assets/ad_astra/models/item/strophar_stem.json new file mode 100644 index 000000000..8e07cc64c --- /dev/null +++ b/kubejs/assets/ad_astra/models/item/strophar_stem.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "ad_astra:item/strophar_stem" + } +} \ No newline at end of file diff --git a/kubejs/assets/ad_astra/textures/item/aeronos_stem.png b/kubejs/assets/ad_astra/textures/item/aeronos_stem.png new file mode 100644 index 000000000..411e5f772 Binary files /dev/null and b/kubejs/assets/ad_astra/textures/item/aeronos_stem.png differ diff --git a/kubejs/assets/ad_astra/textures/item/glacian_log.png b/kubejs/assets/ad_astra/textures/item/glacian_log.png new file mode 100644 index 000000000..2cbd873a7 Binary files /dev/null and b/kubejs/assets/ad_astra/textures/item/glacian_log.png differ diff --git a/kubejs/assets/ad_astra/textures/item/glacian_stripped.png b/kubejs/assets/ad_astra/textures/item/glacian_stripped.png new file mode 100644 index 000000000..3655423e0 Binary files /dev/null and b/kubejs/assets/ad_astra/textures/item/glacian_stripped.png differ diff --git a/kubejs/assets/ad_astra/textures/item/strophar_stem.png b/kubejs/assets/ad_astra/textures/item/strophar_stem.png new file mode 100644 index 000000000..bff9e8f0a Binary files /dev/null and b/kubejs/assets/ad_astra/textures/item/strophar_stem.png differ diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 53bf9952c..7d36577ed 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -131,6 +131,12 @@ "block.tfg.migmatite_support": "Migmatite Support", "block.tfg.travertine_support_horizontal": "Travertine Horizontal Support", "block.tfg.travertine_support": "Travertine Support", + "block.tfg.glacian_support": "Glacian Support", + "block.tfg.glacian_support_horizontal": "Glacian Horizontal Support", + "block.tfg.strophar_support": "Strophar Support", + "block.tfg.strophar_support_horizontal": "Strophar Horizontal Support", + "block.tfg.aeronos_support": "Aeronos Support", + "block.tfg.aeronos_support_horizontal": "Aeronos Horizontal Support", "block.tfg.rock.hardened_deepslate": "Hardened Migmatite", "block.tfg.rock.hardened_blackstone": "Hardened Pyroxenite", "block.tfg.rock.hardened_dripstone": "Hardened Travertine", @@ -442,6 +448,9 @@ "item.tfg.compressed_trimix_3_bucket": "50/30/20 Trimix-3 Bucket", "item.tfg.harvest_basket": "Harvest Basket", "item.tfg.aluminium_harvest_basket": "Aluminium Harvest Basket", + "item.tfg.wood.lumber.aeronos": "Aeronos Lumber", + "item.tfg.wood.lumber.strophar": "Strophar Lumber", + "item.tfg.wood.lumber.glacian": "Glacian Lumber", "material.tfg.latex": "Latex", "material.tfg.vulcanized_latex": "Vulcanized Latex", "material.tfg.fluix": "Fluix", diff --git a/kubejs/assets/tfg/textures/block/support/aeronos_support.png b/kubejs/assets/tfg/textures/block/support/aeronos_support.png new file mode 100644 index 000000000..dd8dcaa66 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/support/aeronos_support.png differ diff --git a/kubejs/assets/tfg/textures/block/support/glacian_support.png b/kubejs/assets/tfg/textures/block/support/glacian_support.png new file mode 100644 index 000000000..1e62a9079 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/support/glacian_support.png differ diff --git a/kubejs/assets/tfg/textures/block/support/strophar_support.png b/kubejs/assets/tfg/textures/block/support/strophar_support.png new file mode 100644 index 000000000..1310b2b4d Binary files /dev/null and b/kubejs/assets/tfg/textures/block/support/strophar_support.png differ diff --git a/kubejs/assets/tfg/textures/item/wood/lumber/aeronos.png b/kubejs/assets/tfg/textures/item/wood/lumber/aeronos.png new file mode 100644 index 000000000..aaf28be6c Binary files /dev/null and b/kubejs/assets/tfg/textures/item/wood/lumber/aeronos.png differ diff --git a/kubejs/assets/tfg/textures/item/wood/lumber/glacian.png b/kubejs/assets/tfg/textures/item/wood/lumber/glacian.png new file mode 100644 index 000000000..b844a3c4e Binary files /dev/null and b/kubejs/assets/tfg/textures/item/wood/lumber/glacian.png differ diff --git a/kubejs/assets/tfg/textures/item/wood/lumber/strophar.png b/kubejs/assets/tfg/textures/item/wood/lumber/strophar.png new file mode 100644 index 000000000..4d519e07f Binary files /dev/null and b/kubejs/assets/tfg/textures/item/wood/lumber/strophar.png differ diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 7e490807f..33750b17a 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -84,6 +84,11 @@ const registerTooltips = (event) => text.add(1, text.of('§79 x 5 x 9')) }) }) + global.AD_ASTRA_WOOD.forEach(wood => { + event.addAdvanced([`tfg:${wood.name}_support`], (item, advanced, text) => { + text.add(1, text.of('§79 x 5 x 9')) + }) + }) event.addAdvanced(['tfg:light_concrete_support', 'tfg:dark_concrete_support', 'tfg:rebar_support'], (item, advanced, text) => { text.add(1, text.of('§717 x 9 x 17')) }) diff --git a/kubejs/server_scripts/ad_astra/data.js b/kubejs/server_scripts/ad_astra/data.js index 08bdc5e7e..6ddcc9c82 100644 --- a/kubejs/server_scripts/ad_astra/data.js +++ b/kubejs/server_scripts/ad_astra/data.js @@ -17,4 +17,8 @@ function registerTFCDataForAdAstra(event) { food.dairy(5) food.decayModifier(10) }) + + global.AD_ASTRA_WOOD.forEach(wood => { + event.fuel(wood.logs, 800, 1500, null) + }) } \ No newline at end of file diff --git a/kubejs/server_scripts/ad_astra/recipes.js b/kubejs/server_scripts/ad_astra/recipes.js index 81db3bb12..0550c1b29 100644 --- a/kubejs/server_scripts/ad_astra/recipes.js +++ b/kubejs/server_scripts/ad_astra/recipes.js @@ -697,4 +697,40 @@ const registerAdAstraRecipes = (event) => { }) //#endregion + + //#region Wood + event.remove({ type: 'greate:cutting', input: '#ad_astra:aeronos_caps' }) + event.remove({ type: 'greate:cutting', input: 'ad_astra:aeronos_planks' }) + event.remove({ type: 'greate:cutting', input: '#ad_astra:strophar_caps' }) + event.remove({ type: 'greate:cutting', input: 'ad_astra:glacian_log' }) + event.remove({ type: 'greate:cutting', input: 'ad_astra:stripped_glacian_log' }) + event.remove({ type: 'greate:cutting', input: 'ad_astra:strophar_planks' }) + event.remove({ type: 'greate:cutting', input: 'ad_astra:glacian_planks' }) + + global.AD_ASTRA_WOOD.forEach(wood => { + woodBuilder(event, wood.name, wood.lumber, wood.logs, wood.log, wood.stripped_log, wood.plank, wood.stair, wood.slab, wood.door, wood.trapdoor, wood.fence, wood.fence_gate, wood.support, wood.pressure_plate, wood.button) + }) + + event.shaped('16x ad_astra:aeronos_ladder', [ + 'A A', + 'ABA', + 'A A' + ], { + A: 'tfg:wood/lumber/aeronos', + B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Wood, 1), + }).id('tfg:shaped/aeronos_ladder') + + event.shaped('16x ad_astra:strophar_ladder', [ + 'A A', + 'ABA', + 'A A' + ], { + A: 'tfg:wood/lumber/strophar', + B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Wood, 1), + }).id('tfg:shaped/strophar_ladder') + + generateGreenHouseRecipe(event, '8x ad_astra:glacian_fur', 16000, '64x ad_astra:glacian_log', 'tfg:green_house/glacian_tree', 'ad_astra:moon', 8, '8x ad_astra:glacian_leaves', GTValues.VA[GTValues.MV]) + generateGreenHouseRecipe(event, '8x ad_astra:strophar_mushroom', 16000, '64x ad_astra:strophar_stem', 'tfg:green_house/strophar_mushroom', 'ad_astra:moon', 8, '16x ad_astra:strophar_cap', GTValues.VA[GTValues.MV]) + generateGreenHouseRecipe(event, '8x ad_astra:aeronos_mushroom', 16000, '64x ad_astra:aeronos_stem', 'tfg:green_house/aeronos_mushroom', 'ad_astra:moon', 8, '16x ad_astra:aeronos_cap', GTValues.VA[GTValues.MV]) + //#endregion } diff --git a/kubejs/server_scripts/ad_astra/tags.js b/kubejs/server_scripts/ad_astra/tags.js index 026491856..7d637ef6c 100644 --- a/kubejs/server_scripts/ad_astra/tags.js +++ b/kubejs/server_scripts/ad_astra/tags.js @@ -81,6 +81,28 @@ const registerAdAstraItemTags = (event) => { event.add('ad_astra:space_suit_items', 'gtceu:quarktech_helmet') event.add('ad_astra:space_suit_items', 'gtceu:quarktech_leggings') event.add('ad_astra:space_suit_items', 'gtceu:quarktech_boots') + + event.remove('minecraft:wool', 'ad_astra:glacian_fur') + + global.AD_ASTRA_WOOD.forEach(wood => { + + if (wood.log) { + event.add('minecraft:logs', wood.log) + event.add('minecraft:logs_that_burn', wood.log) + } + + if (wood.stripped_log) { + event.add('minecraft:logs', wood.stripped_log) + event.add('minecraft:logs_that_burn', wood.stripped_log) + } + + if (wood.isHardwood == true) { + event.add('tfg:hardwood', wood.logs) + } else { + event.add('tfg:softwood', wood.logs) + } + }) + } const registerAdAstraBlockTags = (event) => { diff --git a/kubejs/server_scripts/gregtech/utility.js b/kubejs/server_scripts/gregtech/utility.js index d0b60cccc..05653ebb4 100644 --- a/kubejs/server_scripts/gregtech/utility.js +++ b/kubejs/server_scripts/gregtech/utility.js @@ -60,14 +60,16 @@ const generateCutterRecipe = (event, input, output, duration, EUt, id) => { * Function for generating greenhouse recipes. * * @param {*} event - * @param {string} input -Item - * @param {number} fluid_amount -mB - * @param {string} output -Item + * @param {string} input -Item (Not consumed) + * @param {number} fluid_amount -mB (uses #tfg:clean_water) + * @param {string} output -Item (Chanced output uses input item) * @param {string} id -Recipe ID * @param {string} dimension -Dimension ID * @param {number} fertiliser_count + * @param {string} output_seconday -Item (Optional, if there should be a third output) + * @param {string} tier - GTValues.VA[] (Optional, defaults to LV) */ -const generateGreenHouseRecipe = (event, input, fluid_amount, output, id, dimension, fertiliser_count) => { +const generateGreenHouseRecipe = (event, input, fluid_amount, output, id, dimension, fertiliser_count, output_secondary, tier) => { // Без удобрения (Without fertilizer) let r = event.recipes.gtceu.greenhouse(id) @@ -78,10 +80,18 @@ const generateGreenHouseRecipe = (event, input, fluid_amount, output, id, dimens .chancedOutput(input, 750, 0) .chancedOutput(input, 500, 0) .duration(36000) // 30 mins - .EUt(GTValues.VA[GTValues.LV]) - if (dimension != null) + if (dimension != null){ r.dimension(dimension) + } + if (output_secondary != null){ + r.chancedOutput(output_secondary, 750, 0) + } + if (tier != null){ + r.EUt(tier) + } else { + r.EUt(GTValues.VA[GTValues.LV]) + } // С удобрением (With fertilizer) r = event.recipes.gtceu.greenhouse(`${id}_fertilized`) @@ -93,10 +103,18 @@ const generateGreenHouseRecipe = (event, input, fluid_amount, output, id, dimens .chancedOutput(input, 4000, 0) .chancedOutput(input, 3000, 0) .duration(12000) // 10 mins - .EUt(GTValues.VA[GTValues.LV]) - if (dimension != null) + if (dimension != null){ r.dimension(dimension) + } + if (output_secondary != null){ + r.chancedOutput(output_secondary, 4000, 0) + } + if (tier != null){ + r.EUt(tier) + } else { + r.EUt(GTValues.VA[GTValues.LV]) + } } //#endregion @@ -279,4 +297,177 @@ function addCircuitToRecipe(event, recipeId, circuitNumber) { recipe.json.add("inputs", inputs); }); } +//#endregion + +//#region Wood Builder + +/** + * Generates most basic wooden recipes. + * + * All parameters are optional. Name is used for the ID. + * + * @param {*} event + * @param {string} name -Name of the wood. + * @param {string} lumber -ID for the lumber. + * @param {string} logs -Tag or ID for all the logs. + * @param {string} log -ID for the regular log. + * @param {string} stripped_log -ID for the stripped log. + * @param {string} plank -ID for planks. + * @param {string} stair -ID for stairs. + * @param {string} slab -ID for slabs. + * @param {string} door -ID for the door. + * @param {string} trapdoor -ID for the trapdoor. + * @param {string} fence -ID for the fence. + * @param {string} fence_gate -ID for the fence gate. + * @param {string} support -ID for the support. + * @param {string} pressure_plate -ID for the pressure plate. + * @param {string} button -ID for the button. + */ +function woodBuilder(event, name, lumber, logs, log, stripped_log, plank, stair, slab, door, trapdoor, fence, fence_gate, support, pressure_plate, button) { + + if (log && stripped_log && name) { + event.recipes.gtceu.lathe(`tfg:cutter/${name}_stripped_log_from_log`) + .itemInputs(log) + .itemOutputs(stripped_log) + .duration(50) + .EUt(GTValues.VA[GTValues.ULV]) + } + + if (logs && lumber && name) { + event.shapeless(`8x ${lumber}`, + [logs, '#forge:tools/saws'] + ).id(`tfg:shapeless/${name}_lumber_from_log`) + + generateCutterRecipe(event, logs, `16x ${lumber}`, 50, 7, `cutter_${name}_lumber_from_log`) + } + + if (plank && lumber && name) { + event.shapeless(`4x ${lumber}`, + [plank, '#forge:tools/saws'] + ).id(`tfg:shapeless/${name}_lumber_from_plank`) + + generateCutterRecipe(event, plank, `4x ${lumber}`, 50, 7, `cutter_${name}_lumber_from_plank`) + + event.shaped(plank, [ + 'AA', + 'AA' + ], { + A: lumber, + }).id(`tfg:shaped/${name}_plank_from_lumber`) + } + + if (slab && lumber && name) { + event.shapeless(`2x ${lumber}`, + [slab, '#forge:tools/saws'] + ).id(`tfg:shapeless/${name}_lumber_from_slab`) + + generateCutterRecipe(event, slab, `2x ${lumber}`, 50, 7, `cutter_${name}_lumber_from_slab`) + } + + if (slab && plank && name) { + event.shaped(`6x ${slab}`, [ + 'AAA' + ], { + A: plank, + }).id(`tfg:shaped/${name}_slab_from_plank`) + } + + if (stair && lumber && name) { + event.shapeless(`3x ${lumber}`, + [stair, '#forge:tools/saws'] + ).id(`tfg:shapeless/${name}_lumber_from_stair`) + + generateCutterRecipe(event, stair, `3x ${lumber}`, 50, 7, `cutter_${name}_lumber_from_stair`) + } + + if (stair && plank && name) { + event.shaped(`8x ${stair}`, [ + 'A ', + 'AA ', + 'AAA' + ], { + A: plank, + }).id(`tfg:shaped/${name}_stair_from_plank`) + } + + if (door && lumber && name) { + event.shaped(`2x ${door}`, [ + 'AA', + 'AA', + 'AA' + ], { + A: lumber, + }).id(`tfg:shaped/${name}_door_from_lumber`) + } + + if (trapdoor && lumber && name) { + event.shaped(`3x ${trapdoor}`, [ + 'AAA', + 'AAA' + ], { + A: lumber, + }).id(`tfg:shaped/${name}_trapdoor_from_lumber_and_plank`) + } + + if (fence && lumber && plank && name) { + event.shaped(`8x ${fence}`, [ + 'ABA', + 'ABA' + ], { + A: lumber, + B: plank, + }).id(`tfg:shaped/${name}_fence_from_lumber_and_plank`) + } + + if (fence_gate && lumber && plank && name) { + event.shaped(`2x ${fence_gate}`, [ + 'ABA', + 'ABA' + ], { + A: plank, + B: lumber, + }).id(`tfg:shaped/${name}_fence_gate_from_lumber_and_plank`) + } + + if (support && logs && name) { + event.shapeless(`8x ${support}`, + [`2x ${logs}`, '#forge:tools/saws'] + ).id(`tfg:shapeless/${name}_support_from_logs`) + + event.recipes.gtceu.assembler(`tfg:assembler/${name}_support_from_logs`) + .itemInputs(`2x ${logs}`) + .itemOutputs(`8x ${support}`) + .duration(50) + .circuit(4) + .EUt(GTValues.VA[GTValues.ULV]) + } + + if (pressure_plate && slab && name) { + event.shaped(pressure_plate, [ + ' B ', + 'ACA', + ' D ' + ], { + A: slab, + B: '#forge:tools/hammers', + C: '#forge:springs', + D: '#forge:tools/screwdrivers', + }).id(`tfg:shaped/${name}_pressure_plate`) + + event.recipes.gtceu.assembler(`tfg:assembler/${name}_pressure_plate`) + .itemInputs(`2x ${slab}`, '#forge:springs') + .itemOutputs(`2x ${pressure_plate}`) + .duration(50) + .circuit(0) + .EUt(GTValues.VA[GTValues.ULV]) + } + + if (button && pressure_plate && name) { + event.recipes.gtceu.cutter(`tfg:cutter/${name}_button_from_pressure_plate`) + .itemInputs(pressure_plate) + .itemOutputs(`6x ${button}`) + .duration(50) + .EUt(GTValues.VA[GTValues.ULV]) + } +} //#endregion \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/data.js b/kubejs/server_scripts/tfg/data.js index 33d264fe8..197596cfa 100644 --- a/kubejs/server_scripts/tfg/data.js +++ b/kubejs/server_scripts/tfg/data.js @@ -69,6 +69,10 @@ const registerTFGSupportData = (event) => { event.support(`tfg:${stone}_support_horizontal`, 2, 2, 4, `${stone}_support`) }) + + global.AD_ASTRA_WOOD.forEach(wood => { + event.support(`tfg:${wood.name}_support_horizontal`, 2, 2, 4, `${wood.name}_support`) + }) } diff --git a/kubejs/startup_scripts/ad_astra/constants.js b/kubejs/startup_scripts/ad_astra/constants.js index 1c30eda43..8e1f8bd7f 100644 --- a/kubejs/startup_scripts/ad_astra/constants.js +++ b/kubejs/startup_scripts/ad_astra/constants.js @@ -109,4 +109,10 @@ global.BREATHABLE_COMPRESSED_AIRS = 'tfg:compressed_heliox_3', 'tfg:compressed_trimix', 'tfg:compressed_trimix_3' -]; \ No newline at end of file +]; + +global.AD_ASTRA_WOOD = [ + {name: 'aeronos', logs: '#ad_astra:aeronos_caps', log: 'ad_astra:aeronos_stem', stripped_log: null, lumber: 'tfg:wood/lumber/aeronos', plank: 'ad_astra:aeronos_planks', stair: 'ad_astra:aeronos_stairs', slab: 'ad_astra:aeronos_slab', fence: 'ad_astra:aeronos_fence', fence_gate: 'ad_astra:aeronos_fence_gate', door: 'ad_astra:aeronos_door', trapdoor: 'ad_astra:aeronos_trapdoor', button: null, pressure_plate: null, support: 'tfg:aeronos_support', isHardwood: false}, + {name: 'strophar', logs: '#ad_astra:strophar_caps', log: 'ad_astra:strophar_stem', stripped_log: null, lumber: 'tfg:wood/lumber/strophar', plank: 'ad_astra:strophar_planks', stair: 'ad_astra:strophar_stairs', slab: 'ad_astra:strophar_slab', fence:'ad_astra:strophar_fence', fence_gate: 'ad_astra:strophar_fence_gate', door:'ad_astra:strophar_door', trapdoor: 'ad_astra:strophar_trapdoor', button: null, pressure_plate: null, support: 'tfg:strophar_support', isHardwood: false}, + {name: 'glacian', logs: '#ad_astra:glacian_logs', log: 'ad_astra:glacian_log', stripped_log: 'ad_astra:stripped_glacian_log', lumber: 'tfg:wood/lumber/glacian', plank: 'ad_astra:glacian_planks', stair: 'ad_astra:glacian_stairs', slab: 'ad_astra:glacian_slab', fence: 'ad_astra:glacian_fence', fence_gate: 'ad_astra:glacian_fence_gate', door: 'ad_astra:glacian_door', trapdoor: 'ad_astra:glacian_trapdoor', button: 'ad_astra:glacian_button', pressure_plate: 'ad_astra:glacian_pressure_plate', support: 'tfg:glacian_support', isHardwood: true}, +] \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/blocks.supports.js b/kubejs/startup_scripts/tfg/blocks.supports.js index 06425f725..05b7653d9 100644 --- a/kubejs/startup_scripts/tfg/blocks.supports.js +++ b/kubejs/startup_scripts/tfg/blocks.supports.js @@ -138,4 +138,24 @@ function registerTFGSupportBlocks(event) { .requiresTool(true) }) + global.AD_ASTRA_WOOD.forEach(wood => { + event.create(`tfg:${wood.name}_support`, 'tfc:support') + .textureAll(`tfg:block/support/${wood.name}_support`) + .horizontal(horizontal => { + horizontal.textureAll(`tfg:block/support/${wood.name}_support`) + horizontal.soundType('wood') + horizontal.hardness(2) + horizontal.resistance(2) + horizontal.mapColor('color_orange') + horizontal.tagBlock('minecraft:mineable/axe') + horizontal.requiresTool(false) + }) + .soundType('wood') + .hardness(2) + .resistance(2) + .mapColor('color_orange') + .tagBlock('minecraft:mineable/axe') + .requiresTool(false) + }) + } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index c4fb442c7..9b7a5b89d 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -13,12 +13,20 @@ const registerTFGItems = (event) => { event.create('tfg:vitrified_pearl') // #endregion - // #region Orbit dimension markers + // #region Space + + // Orbit dimension markers event.create('tfg:marker/earth_orbit').tag('c:hidden_from_recipe_viewers') event.create('tfg:marker/moon_orbit').tag('c:hidden_from_recipe_viewers') event.create('tfg:marker/mars_orbit').tag('c:hidden_from_recipe_viewers') event.create('tfg:marker/venus_orbit').tag('c:hidden_from_recipe_viewers') event.create('tfg:marker/mercury_orbit').tag('c:hidden_from_recipe_viewers') + + global.AD_ASTRA_WOOD.forEach(wood => { + event.create(`tfg:wood/lumber/${wood.name}`) + .translationKey(`item.tfg.${wood.name}_lumber`) + .tag('tfc:lumber') + }) // #endregion // #region Paper making