Support Recycling (#2211)

Co-authored-by: Redeix <brayden.j.m.ford@gmail.com>
This commit is contained in:
Nebby 2025-11-17 15:53:16 -03:00 committed by GitHub
parent 9e97f3f25b
commit b2f70d3f99
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 99 additions and 25 deletions

View file

@ -30,6 +30,7 @@ const registerAFCItemTags = (event) => {
event.add('tfg:hardwood', `#afc:${woodType}_logs`)
event.add('tfg:stripped_hardwood', `afc:wood/stripped_log/${woodType}`)
event.add('tfg:stripped_hardwood', `afc:wood/stripped_wood/${woodType}`)
event.add('tfg:hardwood_supports', `afc:wood/support/${woodType}`);
});
//Softwood Tags
@ -37,6 +38,7 @@ const registerAFCItemTags = (event) => {
event.add('tfg:softwood', `#afc:${woodType}_logs`)
event.add('tfg:stripped_softwood', `afc:wood/stripped_log/${woodType}`)
event.add('tfg:stripped_softwood', `afc:wood/stripped_wood/${woodType}`)
event.add('tfg:softwood_supports', `afc:wood/support/${woodType}`);
})
// AFC saplings are missing the item tag for whatever reason

View file

@ -938,6 +938,22 @@ const registerGTCEURecipes = (event) => {
})
// #endregion
//#region support recycling
event.recipes.gtceu.macerator(`hardwood_support_to_dust`)
.itemInputs('#tfg:hardwood_supports')
.itemOutputs('gtceu:hardwood_dust')
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING);
event.recipes.gtceu.macerator(`softwood_support_to_dust`)
.itemInputs('#tfg:softwood_supports')
.itemOutputs('gtceu:wood_dust')
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING);
//#endregion
//#region Voiding covers
event.replaceInput({ id: 'gtceu:shaped/cover_fluid_voiding' },

View file

@ -1,6 +1,10 @@
// priority: 0
"use strict";
/**
*
* @param {Internal.RecipesEventJS} event
*/
function registerTFCStoneRecipes(event) {
global.TFC_STONE_TYPES.forEach(stone => {
@ -561,6 +565,17 @@ function registerTFCStoneRecipes(event) {
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
//#endregion
//#region Recycle beam
let dustSmall = ChemicalHelper.get(TagPrefix.dustSmall, stoneMaterial, 1);
event.recipes.gtceu.macerator(`${stone}_support_to_dust`)
.itemInputs(`tfg:${stone}_support`)
.itemOutputs(dustSmall)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING);
//#endregion
//#endregion

View file

@ -151,6 +151,7 @@ function registerTFCItemTags(event) {
event.add("tfg:hardwood", `#tfc:${woodType}_logs`);
event.add("tfg:stripped_hardwood", `tfc:wood/stripped_log/${woodType}`);
event.add("tfg:stripped_hardwood", `tfc:wood/stripped_wood/${woodType}`);
event.add("tfg:hardwood_supports", `tfc:wood/support/${woodType}`);
});
//Softwood Tags
@ -158,6 +159,7 @@ function registerTFCItemTags(event) {
event.add("tfg:softwood", `#tfc:${woodType}_logs`);
event.add("tfg:stripped_softwood", `tfc:wood/stripped_log/${woodType}`);
event.add("tfg:stripped_softwood", `tfc:wood/stripped_wood/${woodType}`);
event.add("tfg:softwood_supports", `tfc:wood/support/${woodType}`);
});
// Теги для сосудов по цветам
@ -260,15 +262,19 @@ function registerTFCItemTags(event) {
// Теги для каменных ступенек тфк
global.TFC_STONE_TYPES.forEach((stoneTypeName) => {
//Add to buttons
event.add("minecraft:stone_buttons", `tfc:rock/button/${stoneTypeName}`);
event.add("minecraft:buttons", `tfc:rock/button/${stoneTypeName}`);
//Add to rock slabs
global.TFC_ROCK_SLAB_BLOCK_TYPES.forEach((slabType) => {
event.add(`tfg:rock_slabs`, `tfc:rock/${slabType}/${stoneTypeName}_slab`);
event.add(`tfg:rock_stairs`, `tfc:rock/${slabType}/${stoneTypeName}_stairs`);
event.add(`tfg:rock_walls`, `tfc:rock/${slabType}/${stoneTypeName}_wall`);
});
});
// Теги для кирпичных ступенек тфк
global.TFC_STONE_TYPES.forEach((stoneTypeName) => {
//Add to brick slabs
global.TFC_BRICK_SLAB_BLOCK_TYPES.forEach((slabType) => {
event.add(`tfg:brick_slabs`, `tfc:rock/${slabType}/${stoneTypeName}_slab`);
event.add(`tfg:brick_stairs`, `tfc:rock/${slabType}/${stoneTypeName}_stairs`);
@ -329,12 +335,6 @@ function registerTFCItemTags(event) {
event.add("forge:mushrooms", "tfc:plant/artists_conk");
event.add("forge:raw_materials/sylvite", "tfc:ore/sylvite");
global.TFC_STONE_TYPES.forEach((stone) => {
event.add("minecraft:stone_buttons", `tfc:rock/button/${stone}`);
event.add("minecraft:buttons", `tfc:rock/button/${stone}`);
});
event.add("tfc:any_knapping", "#tfc:pit_kiln_straw");
event.add("tfg:burlap_fiber", "tfc:jute_fiber");

View file

@ -13,14 +13,21 @@ function registerTFGSupportRecipes(event) {
.itemInputs('1x tfg:rebar_support')
.duration(60)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.assembler('tfg:gtceu/assembler/reinforced_light_concrete_support')
event.recipes.gtceu.assembler('tfg:gtceu/assembler/reinforced_light_concrete_support')
.inputFluids(Fluid.of('gtceu:concrete', 96))
.itemOutputs('1x tfg:reinforced_light_concrete_support')
.itemInputs('1x tfg:rebar_support')
.duration(120)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.macerator(`reinforced_light_concrete_support_to_dust`)
.itemInputs('tfg:reinforced_light_concrete_support')
.itemOutputs('gtceu:tiny_steel_dust')
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING);
event.recipes.gtceu.chemical_bath('tfg:gtceu/chemical_bath/reinforced_dark_concrete_support')
.inputFluids(Fluid.of('tfc:black_dye', 10))
.itemOutputs('1x tfg:reinforced_dark_concrete_support')
@ -35,6 +42,13 @@ function registerTFGSupportRecipes(event) {
.duration(60)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.macerator(`reinforced_dark_concrete_support_to_dust`)
.itemInputs('tfg:reinforced_dark_concrete_support')
.itemOutputs('gtceu:tiny_steel_dust')
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING);
event.recipes.tfc.damage_inputs_shaped_crafting(
event.shaped('8x tfg:light_concrete_support', [
'AB ',
@ -116,19 +130,19 @@ function registerTFGSupportRecipes(event) {
// REDO w/ table and loop
const EXO_STONE_SUPPORTS = [
{ loose: 'tfg:loose/deepslate', support: 'tfg:migmatite_support' },
{ loose: 'beneath:blackstone_pebble', support: 'tfg:pyroxenite_support' },
{ loose: 'tfg:loose/dripstone', support: 'tfg:travertine_support' },
{ loose: 'tfg:loose/crackrack', support: 'tfg:keratophyre_support' },
{ loose: 'tfg:loose/moon_stone', support: 'tfg:anorthosite_support' },
{ loose: 'tfg:loose/moon_deepslate', support: 'tfg:norite_support' },
{ loose: 'tfg:loose/mars_stone', support: 'tfg:argillite_support' },
{ loose: 'tfg:loose/venus_stone', support: 'tfg:trachyte_support' },
{ loose: 'tfg:loose/mercury_stone', support: 'tfg:komatiite_support' },
{ loose: 'tfg:loose/glacio_stone', support: 'tfg:phonolite_support' },
{ loose: 'tfg:loose/permafrost', support: 'tfg:permafrost_support' },
{ loose: 'tfg:loose/red_granite', support: 'tfg:red_granite_support' },
{ loose: 'gtceu:stone_ingot', support: 'tfg:stone_support' }
{ loose: 'tfg:loose/deepslate', support: 'tfg:migmatite_support', material: 'deepslate' },
{ loose: 'beneath:blackstone_pebble', support: 'tfg:pyroxenite_support', material: 'blackstone', },
{ loose: 'tfg:loose/dripstone', support: 'tfg:travertine_support', material: 'dripstone' },
{ loose: 'tfg:loose/crackrack', support: 'tfg:keratophyre_support', material: 'netherrack'},
{ loose: 'tfg:loose/moon_stone', support: 'tfg:anorthosite_support', material: 'moon_stone' },
{ loose: 'tfg:loose/moon_deepslate', support: 'tfg:norite_support', material: 'moon_deepslate' },
{ loose: 'tfg:loose/mars_stone', support: 'tfg:argillite_support', material: 'mars_stone' },
{ loose: 'tfg:loose/venus_stone', support: 'tfg:trachyte_support', material: 'venus_stone', },
{ loose: 'tfg:loose/mercury_stone', support: 'tfg:komatiite_support', material: 'mercury_stone' },
{ loose: 'tfg:loose/glacio_stone', support: 'tfg:phonolite_support', material: 'glacio_stone' },
{ loose: 'tfg:loose/permafrost', support: 'tfg:permafrost_support', material: 'ice' },
{ loose: 'tfg:loose/red_granite', support: 'tfg:red_granite_support', material: 'granite_red' },
{ loose: 'gtceu:stone_ingot', support: 'tfg:stone_support', material: 'stone' }
]
EXO_STONE_SUPPORTS.forEach(s => {
@ -151,6 +165,19 @@ function registerTFGSupportRecipes(event) {
.itemInputs(`3x ${s.loose}`)
.duration(40)
.EUt(GTValues.VA[GTValues.ULV])
console.log(s.material);
let regexMatch = s.support.match(/tfg:(.*?)_support/);
let supportName = regexMatch[1];
let stoneMaterial = TFGHelpers.getMaterial(s.material);
let dustSmall = ChemicalHelper.get(TagPrefix.dustSmall, stoneMaterial, 1)
event.recipes.gtceu.macerator(`${supportName}_support_to_dust`)
.itemInputs(s.support)
.itemOutputs(dustSmall)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING);
})
// Metal Supports
@ -170,6 +197,13 @@ function registerTFGSupportRecipes(event) {
.duration(100)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.macerator(`rebar_support_to_dust`)
.itemInputs(`tfg:rebar_support`)
.itemOutputs(`gtceu:tiny_steel_dust`)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING);
event.recipes.tfc.anvil(
'1x tfg:steel_support',
'#forge:double_ingots/steel',
@ -186,4 +220,11 @@ function registerTFGSupportRecipes(event) {
.duration(100)
.EUt(GTValues.VA[GTValues.ULV])
.addMaterialInfo(true)
event.recipes.gtceu.macerator("steel_support_to_dust")
.itemInputs('tfg:steel_support')
.itemOutputs('2x gtceu:steel_dust')
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING);
}