refactor tfc + firmalife tags

This commit is contained in:
Dmitry
2024-08-31 14:01:04 +07:00
parent 7b7a63679f
commit d6ff45d50e
12 changed files with 850 additions and 89 deletions

View File

@@ -21,6 +21,12 @@
- Unlocked steel steam machines (again, yes).
- Added translation for ru_ru inside TFG-Core.
- Fixed alternator multiblock (now works fine).
- Return raw ore blocks from GregTech.
- True way to remove TFC ores from EMI.
- True way to remove Firmelife ores from EMI.
- True way to hide AE2 facades.
- True way to hide chisel and bits bits, yes.
- Fix double removing honey liquid from EMI.
- ...
### Updated mods
- ??

View File

@@ -1,8 +1,3 @@
{
"filters": [
"/tfc:ore/[^*]+/[^*]+/",
"/firmalife:ore/[^*]+/[^*]+/",
"ae2:facade",
"chiselandbits:block_bit"
]
"filters": []
}

View File

@@ -1,55 +1,5 @@
{
"filters": [
{
"category": "minecraft:campfire_cooking"
},
{
"category": "minecraft:brewing"
},
{
"category": "minecraft:stonecutting"
},
{
"category": "emi:anvil_repairing"
},
{
"category": "emi:world_interaction"
},
{
"category": "gtceu:primitive_blast_furnace"
},
{
"category": "create:mystery_conversion"
},
{
"category": "jumbofurnace:jumbo_furnace_upgrade"
},
{
"category": "jumbofurnace:jumbo_smelting"
},
{
"category": "emi:composting"
},
{
"category": "emi:fuel"
},
{
"id": "/emi:/crafting/repairing/[^*]+/"
},
{
"id": "/emi:/grindstone/repairing/minecraft/[^*]+/"
},
{
"id": "/emi:/crafting/shulker_box_dying/minecraft/[^*]+/"
},
{
"id": "/create:create.toolbox.color.block.create.[^*]+/"
},
{
"id": "/sophisticatedbackpacks:single_color_[^*]+/"
},
{
"id": "sophisticatedbackpacks:multiple_colors"
}
]
}

16
kubejs/jsconfig.json Normal file
View File

@@ -0,0 +1,16 @@
{
"compilerOptions": {
"lib": [
"ES5",
"ES2015"
],
"rootDirs": [
"probe/generated",
"probe/user",
"server_scripts",
"startup_scripts",
"client_scripts"
],
"target": "ES2015"
}
}

View File

@@ -2,6 +2,8 @@
const registerAE2ItemTags = (event) => {
event.add('c:hidden_from_recipe_viewers', "ae2:facade")
global.AE2_DISABLED_ITEMS.forEach(item => {
event.removeAllTagsFrom(item)
event.add('c:hidden_from_recipe_viewers', item)

View File

@@ -3,13 +3,13 @@
const registerChiselAndBitsItemTags = (event) => {
if (Platform.isLoaded('chiselsandbits')) {
event.add('c:hidden_from_recipe_viewers', "chiselandbits:block_bit")
global.CHISEL_AND_BITS_DISABLED_ITEMS.forEach(item => {
event.removeAllTagsFrom(item)
event.add('c:hidden_from_recipe_viewers', item)
})
}
}
const registerChiselAndBitsBlockTags = (event) => {

View File

@@ -2,49 +2,66 @@
const registerFirmaLifeItemTags = (event) => {
// Удаление тегов у отключенных предметов
//#region Удаление тегов и скрытие руд
const ALL_FIRMALIFE_ORES = Ingredient.of(/firmalife:ore\/[^*]+\/[^*]+/).itemIds
ALL_FIRMALIFE_ORES.forEach(element => {
event.removeAllTagsFrom(element)
event.add('c:hidden_from_recipe_viewers', element)
})
//#endregion
//#region Удаление тегов и скрытие предметов
global.FIRMALIFE_DISABLED_ITEMS.forEach(item => {
event.removeAllTagsFrom(item)
event.add('c:hidden_from_recipe_viewers', item)
})
//#endregion
// Просто предметы для скрытия
//#region Скрытие предметов
global.FIRMALIFE_HIDED_ITEMS.forEach(item => {
event.add('c:hidden_from_recipe_viewers', item)
})
// Удаление тегов у руд
event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/")
//#endregion
}
const registerFirmaLifeBlockTags = (event) => {
// Удаление тегов у отключенных предметов
//#region Удаление тегов и скрытие руд
const ALL_FIRMALIFE_ORES = Ingredient.of(/firmalife:ore\/[^*]+\/[^*]+/).itemIds
ALL_FIRMALIFE_ORES.forEach(element => {
event.removeAllTagsFrom(element)
event.add('c:hidden_from_recipe_viewers', element)
})
//#endregion
//#region Удаление тегов и скрытие предметов
global.FIRMALIFE_DISABLED_ITEMS.forEach(item => {
event.removeAllTagsFrom(item)
event.add('c:hidden_from_recipe_viewers', item)
})
// Удаление тегов у руд
event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/")
//#endregion
// Для того, чтобы стенками greenhouse могли быть фреймы грега (для передачи воды)
event.add('tfc:always_valid_greenhouse_wall', '#forge:frames')
event.add('firmalife:always_valid_greenhouse_wall', '#forge:frames')
}
const registerFirmaLifeFluidTags = (event) => {
// Добавляем тег для скрытия в EMI
//#region Скрытие магического хрома
event.add('c:hidden_from_recipe_viewers', 'firmalife:metal/chromium')
//#endregion
}
const registerFirmaLifePlacedFeatures = (event) => {
//#region Удаление из генерации жил
const ALL_DISABLED_FIRMALIFE_VEINS = [
'firmalife:vein/normal_chromite',
'firmalife:vein/deep_chromite'
]
// Удаление
ALL_DISABLED_FIRMALIFE_VEINS.forEach(vein => {
event.remove('tfc:in_biome/veins', vein)
})
ALL_DISABLED_FIRMALIFE_VEINS.forEach(vein => event.remove('tfc:in_biome/veins', vein))
//#endregion
}

View File

@@ -1,6 +1,10 @@
// priority: 0
const registerGregTechRecipes = (event) => {
}
const registerGregTechRecipes1 = (event) => {
//#region Выход: Удобрение
// В обычном миксере
@@ -1492,4 +1496,694 @@ const registerGregTechRecipes = (event) => {
// * Отключение генерации рецептов: 2 стержня + молот = длинный стержень (верстак).
// * */
// @Redirect(method = "processLongStick", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/VanillaRecipeHelper;addShapedRecipe(Ljava/util/function/Consumer;Ljava/lang/String;Lnet/minecraft/world/item/ItemStack;[Ljava/lang/Object;)V", ordinal = 3), remap = false)
// private static void tfg$processLongStick$vanillaRecipeHelper$addShapedRecipe$longStick(Consumer<FinishedRecipe> provider, String regName, ItemStack result, Object[] recipe) {}
// private static void tfg$processLongStick$vanillaRecipeHelper$addShapedRecipe$longStick(Consumer<FinishedRecipe> provider, String regName, ItemStack result, Object[] recipe) {}
//public static void init(Consumer<FinishedRecipe> provider) {
// registerTFCRockDecompositionRecipes(provider);
// registerExtruderMoldRecipes(provider);
// registerCastingMoldRecipes(provider);
// registerExtruderMoldCopyingRecipes(provider);
// registerCastingMoldCopyingRecipes(provider);
// registerProcessingToolHeadsRecipes(provider);
// registerTagPrefixHandlerRecipes(provider);
// }
// private static void registerTFCRockDecompositionRecipes(Consumer<FinishedRecipe> provider) {
// // Gabbro
// CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("gabbro_dust_separation"))
// .EUt(VA[MV]).duration(480)
// .inputItems(dust, Gabbro)
// .chancedOutput(dustTiny, Titanium, 6700, 700)
// .chancedOutput(dustTiny, Iron, 3700, 700)
// .chancedOutput(dustTiny, MetalMixture, 1700, 700)
// .save(provider);
//
// // Shale
// CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("shale_dust_separation"))
// .EUt(VA[MV]).duration(480)
// .inputItems(dust, Shale)
// .chancedOutput(dustTiny, Sodium, 7500, 500)
// .chancedOutput(dustTiny, MetalMixture, 1500, 500)
// .outputFluids(Oxygen.getFluid(16))
// .save(provider);
//
// // Claystone
// CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("claystone_dust_separation"))
// .duration(480).EUt(VA[MV])
// .inputItems(dust, Claystone)
// .chancedOutput(dustTiny, Aluminium, 6700, 700)
// .chancedOutput(dustTiny, Silicon, 6700, 700)
// .chancedOutput(dustTiny, Hematite, 6700, 700)
// .outputFluids(Oxygen.getFluid(5))
// .save(provider);
//
// // Limestone
// CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("limestone_dust_separation"))
// .duration(480).EUt(VA[MV])
// .inputItems(dust, Limestone)
// .chancedOutput(dustTiny, Calcium, 8700, 700)
// .chancedOutput(dustTiny, MetalMixture, 1700, 700)
// .outputFluids(Oxygen.getFluid(36))
// .save(provider);
//
// // Conglomerate
// CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("conglomerate_dust_separation"))
// .duration(480).EUt(VA[MV])
// .inputItems(dust, Conglomerate)
// .chancedOutput(dustTiny, Hematite, 6700, 700)
// .chancedOutput(dustTiny, Silicon, 4700, 700)
// .chancedOutput(dustTiny, TricalciumPhosphate, 3700, 700)
// .outputFluids(Oxygen.getFluid(5))
// .save(provider);
//
// // Dolomite
// CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("dolomite_dust_separation"))
// .duration(480).EUt(VA[MV])
// .inputItems(dust, Dolomite)
// .chancedOutput(dustTiny, Magnesium, 6700, 700)
// .chancedOutput(dustTiny, Calcium, 5700, 700)
// .chancedOutput(dustTiny, MetalMixture, 3700, 700)
// .outputFluids(Oxygen.getFluid(16))
// .save(provider);
//
// // Chert
// CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("chert_dust_separation"))
// .duration(480).EUt(VA[MV])
// .inputItems(dust, Chert)
// .chancedOutput(dustTiny, Silicon, 6700, 700)
// .chancedOutput(dustTiny, MetalMixture, 5700, 700)
// .outputFluids(Oxygen.getFluid(24))
// .save(provider);
//
// // Chalk
// CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("chalk_dust_separation"))
// .duration(480).EUt(VA[MV])
// .inputItems(dust, Chalk)
// .chancedOutput(dustTiny, Calcium, 6700, 700)
// .chancedOutput(dustTiny, Carbon, 3700, 700)
// .chancedOutput(dustTiny, MetalMixture, 1700, 700)
// .outputFluids(Oxygen.getFluid(12))
// .save(provider);
//
// // Rhyolite
// CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("rhyolite_dust_separation"))
// .duration(480).EUt(VA[MV])
// .inputItems(dust, Rhyolite)
// .chancedOutput(dustTiny, SiliconDioxide, 8700, 700)
// .chancedOutput(dustTiny, MetalMixture, 800, 700)
// .save(provider);
//
// // Dacite
// CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("dacite_dust_separation"))
// .duration(480).EUt(VA[MV])
// .inputItems(dust, Dacite)
// .chancedOutput(dustTiny, Sodium, 6700, 700)
// .chancedOutput(dustTiny, Calcium, 5700, 700)
// .chancedOutput(dustTiny, SiliconDioxide, 4700, 700)
// .chancedOutput(dustTiny, Aluminium, 3700, 700)
// .chancedOutput(dustTiny, MetalMixture, 150, 700)
// .outputFluids(Oxygen.getFluid(12))
// .save(provider);
//
// // Slate
// CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("slate_dust_separation"))
// .duration(480).EUt(VA[MV])
// .inputItems(dust, Slate)
// .chancedOutput(dustTiny, MetalMixture, 780, 480)
// .outputFluids(Oxygen.getFluid(6))
// .save(provider);
//
// // Phyllite
// CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("phyllite_dust_separation"))
// .duration(480).EUt(VA[MV])
// .inputItems(dust, Phyllite)
// .chancedOutput(dustTiny, Quartzite, 5700, 700)
// .chancedOutput(dustTiny, CalciumChloride, 1700, 700)
// .outputFluids(Oxygen.getFluid(2))
// .save(provider);
//
// // Schist
// CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("schist_dust_separation"))
// .duration(480).EUt(VA[MV])
// .inputItems(dust, Schist)
// .chancedOutput(dustTiny, Mica, 6700, 700)
// .chancedOutput(dustTiny, Talc, 5700, 700)
// .chancedOutput(dustTiny, Graphite, 4700, 700)
// .chancedOutput(dustTiny, MetalMixture, 780, 700)
// .outputFluids(Oxygen.getFluid(12))
// .save(provider);
//
// // Gneiss
// CENTRIFUGE_RECIPES.recipeBuilder(TFGCore.id("gneiss_dust_separation"))
// .duration(480).EUt(VA[MV])
// .inputItems(dust, Gneiss)
// .chancedOutput(dustTiny, Quartzite, 6700, 700)
// .chancedOutput(dustTiny, Biotite, 3700, 700)
// .outputFluids(Oxygen.getFluid(2))
// .save(provider);
// }
// private static void registerExtruderMoldRecipes(Consumer<FinishedRecipe> provider) {
// VanillaRecipeHelper.addStrictShapedRecipe(provider,
// TFGCore.id("shape_extruder_mining_hammer_head"),
// SHAPE_EXTRUDER_MINING_HAMMER_HEAD.asStack(),
// "Sfh", " ", " ", 'S', SHAPE_EMPTY.asStack());
//
// VanillaRecipeHelper.addStrictShapedRecipe(provider,
// TFGCore.id("shape_extruder_sword_head"),
// SHAPE_EXTRUDER_SWORD_HEAD.asStack(),
// "Shf", " ", " ", 'S', SHAPE_EMPTY.asStack());
//
// VanillaRecipeHelper.addStrictShapedRecipe(provider,
// TFGCore.id("shape_extruder_pickaxe_head"),
// SHAPE_EXTRUDER_PICKAXE_HEAD.asStack(),
// "S ", "hf ", " ", 'S', SHAPE_EMPTY.asStack());
//
// VanillaRecipeHelper.addStrictShapedRecipe(provider,
// TFGCore.id("shape_extruder_axe_head"),
// SHAPE_EXTRUDER_AXE_HEAD.asStack(),
// "S ", " fh", " ", 'S', SHAPE_EMPTY.asStack());
//
// VanillaRecipeHelper.addStrictShapedRecipe(provider,
// TFGCore.id("shape_extruder_hoe_head"),
// SHAPE_EXTRUDER_HOE_HEAD.asStack(),
// "S ", " hf", " ", 'S', SHAPE_EMPTY.asStack());
//
// VanillaRecipeHelper.addStrictShapedRecipe(provider,
// TFGCore.id("shape_extruder_scythe_head"),
// SHAPE_EXTRUDER_SCYTHE_HEAD.asStack(),
// "S ", " ", "fh ", 'S', SHAPE_EMPTY.asStack());
//
// VanillaRecipeHelper.addStrictShapedRecipe(provider,
// TFGCore.id("shape_extruder_file_head"),
// SHAPE_EXTRUDER_FILE_HEAD.asStack(),
// "S ", " ", "hf ", 'S', SHAPE_EMPTY.asStack());
//
// VanillaRecipeHelper.addStrictShapedRecipe(provider,
// TFGCore.id("shape_extruder_hammer_head"),
// SHAPE_EXTRUDER_HAMMER_HEAD.asStack(),
// "Sf ", " h ", " ", 'S', SHAPE_EMPTY.asStack());
//
// VanillaRecipeHelper.addStrictShapedRecipe(provider,
// TFGCore.id("shape_extruder_saw_head"),
// SHAPE_EXTRUDER_SAW_HEAD.asStack(),
// "Sh ", " f ", " ", 'S', SHAPE_EMPTY.asStack());
//
// VanillaRecipeHelper.addStrictShapedRecipe(provider,
// TFGCore.id("shape_extruder_knife_head"),
// SHAPE_EXTRUDER_KNIFE_HEAD.asStack(),
// "S f", " ", " h", 'S', SHAPE_EMPTY.asStack());
//
// VanillaRecipeHelper.addStrictShapedRecipe(provider,
// TFGCore.id("shape_extruder_butchery_head_head"),
// SHAPE_EXTRUDER_BUTCHERY_KNIFE_HEAD.asStack(),
// "S h", " ", " f", 'S', SHAPE_EMPTY.asStack());
//
// VanillaRecipeHelper.addStrictShapedRecipe(provider,
// TFGCore.id("shape_extruder_shovel_head"),
// SHAPE_EXTRUDER_SHOVEL_HEAD.asStack(),
// "S ", "f ", "h ", 'S', SHAPE_EMPTY.asStack());
//
// VanillaRecipeHelper.addStrictShapedRecipe(provider,
// TFGCore.id("shape_extruder_spade_head"),
// SHAPE_EXTRUDER_SPADE_HEAD.asStack(),
// "S ", "f ", " h", 'S', SHAPE_EMPTY.asStack());
//
// VanillaRecipeHelper.addStrictShapedRecipe(provider,
// TFGCore.id("shape_extruder_propick_head"),
// SHAPE_EXTRUDER_PROPICK_HEAD.asStack(),
// "Sxf", " ", " ", 'S', SHAPE_EMPTY.asStack());
//
// VanillaRecipeHelper.addStrictShapedRecipe(provider,
// TFGCore.id("shape_extruder_javelin_head"),
// SHAPE_EXTRUDER_JAVELIN_HEAD.asStack(),
// "S x", "f ", " ", 'S', SHAPE_EMPTY.asStack());
//
// VanillaRecipeHelper.addStrictShapedRecipe(provider,
// TFGCore.id("shape_extruder_chisel_head"),
// SHAPE_EXTRUDER_CHISEL_HEAD.asStack(),
// "S ", "xf ", " ", 'S', SHAPE_EMPTY.asStack());
//
// VanillaRecipeHelper.addStrictShapedRecipe(provider,
// TFGCore.id("shape_extruder_mace_head"),
// SHAPE_EXTRUDER_MACE_HEAD.asStack(),
// "S ", " xf", " ", 'S', SHAPE_EMPTY.asStack());
// }
// private static void registerCastingMoldRecipes(Consumer<FinishedRecipe> provider) {
// VanillaRecipeHelper.addStrictShapedRecipe(provider,
// TFGCore.id("shape_mold_unfinished_lamp"),
// SHAPE_MOLD_UNFINISHED_LAMP.asStack(),
// "Sh ", " ", " ", 'S', SHAPE_EMPTY.asStack());
//
// VanillaRecipeHelper.addStrictShapedRecipe(provider,
// TFGCore.id("shape_mold_trapdoor"),
// SHAPE_MOLD_TRAPDOOR.asStack(),
// "S h", " ", " ", 'S', SHAPE_EMPTY.asStack());
//
// VanillaRecipeHelper.addStrictShapedRecipe(provider,
// TFGCore.id("shape_mold_chain"),
// SHAPE_MOLD_CHAIN.asStack(),
// "S ", "h ", " ", 'S', SHAPE_EMPTY.asStack());
//
// VanillaRecipeHelper.addStrictShapedRecipe(provider,
// TFGCore.id("shape_mold_bell"),
// SHAPE_MOLD_BELL.asStack(),
// "S ", " h ", " ", 'S', SHAPE_EMPTY.asStack());
// }
// private static void registerExtruderMoldCopyingRecipes(Consumer<FinishedRecipe> provider) {
// for (var shapeMold : TFGItems.SHAPE_EXTRUDERS) {
// FORMING_PRESS_RECIPES.recipeBuilder(TFGCore.id("copy_mold_" + shapeMold.get()))
// .duration(120).EUt(22)
// .notConsumable(shapeMold)
// .inputItems(SHAPE_EMPTY)
// .outputItems(shapeMold)
// .save(provider);
// }
// }
// private static void registerCastingMoldCopyingRecipes(Consumer<FinishedRecipe> provider) {
// for (var shapeMold : TFGItems.SHAPE_MOLDS) {
// FORMING_PRESS_RECIPES.recipeBuilder(TFGCore.id("copy_mold_" + shapeMold.get() + "_casting_mold"))
// .duration(120).EUt(22)
// .notConsumable(shapeMold)
// .inputItems(SHAPE_EMPTY)
// .outputItems(shapeMold)
// .save(provider);
// }
// }
// private static void registerProcessingToolHeadsRecipes(Consumer<FinishedRecipe> consumer) {
// for (var material : GTCEuAPI.materialManager.getRegisteredMaterials()) {
// if (material.hasProperty(PropertyKey.TOOL)) {
//
// int counter = 0;
//
// processToolHead(toolHeadAxe, material, SHAPE_EXTRUDER_AXE_HEAD, counter++, consumer);
// processToolHead(toolHeadHoe, material, SHAPE_EXTRUDER_HOE_HEAD, counter++, consumer);
// processToolHead(toolHeadShovel, material, SHAPE_EXTRUDER_SHOVEL_HEAD, counter++, consumer);
// processToolHead(toolHeadKnife, material, SHAPE_EXTRUDER_KNIFE_HEAD, counter++, consumer);
// processToolHead(toolHeadMiningHammer, material, SHAPE_EXTRUDER_MINING_HAMMER_HEAD, counter++, consumer);
// processToolHead(toolHeadSword, material, SHAPE_EXTRUDER_SWORD_HEAD, counter++, consumer);
// processToolHead(toolHeadPickaxe, material, SHAPE_EXTRUDER_PICKAXE_HEAD, counter++, consumer);
// processToolHead(toolHeadScythe, material, SHAPE_EXTRUDER_SCYTHE_HEAD, counter++, consumer);
// processToolHead(toolHeadFile, material, SHAPE_EXTRUDER_FILE_HEAD, counter++, consumer);
// processToolHead(toolHeadHammer, material, SHAPE_EXTRUDER_HAMMER_HEAD, counter++, consumer);
// processToolHead(toolHeadSaw, material, SHAPE_EXTRUDER_SAW_HEAD, counter++, consumer);
// processToolHead(toolHeadButcheryKnife, material, SHAPE_EXTRUDER_BUTCHERY_KNIFE_HEAD, counter++, consumer);
// processToolHead(toolHeadSpade, material, SHAPE_EXTRUDER_SPADE_HEAD, counter++, consumer);
// processToolHead(toolHeadPropick, material, SHAPE_EXTRUDER_PROPICK_HEAD, counter++, consumer);
// processToolHead(toolHeadJavelin, material, SHAPE_EXTRUDER_JAVELIN_HEAD, counter++, consumer);
// processToolHead(toolHeadChisel, material, SHAPE_EXTRUDER_CHISEL_HEAD, counter++, consumer);
// processToolHead(toolHeadMace, material, SHAPE_EXTRUDER_MACE_HEAD, counter, consumer);
// }
// }
// }
// private static void registerTagPrefixHandlerRecipes(Consumer<FinishedRecipe> provider) {
// ingotDouble.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::processDoubleIngot);
// plate.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::processPlate);
//
// anvil.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessAnvil);
// lamp.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessLamp);
// lampUnfinished.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessUnfinishedLamp);
// trapdoor.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessTrapdoor);
// chain.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessChain);
// bell.executeHandler(provider, TFGPropertyKeys.TFC_PROPERTY, TFGRecipes::proccessBell);
// }
// private static void processDoubleIngot(TagPrefix prefix, Material material, TFCProperty property, Consumer<FinishedRecipe> provider) {
// var ingotStack = ChemicalHelper.get(ingot, material);
// var doubleIngotStack = ChemicalHelper.get(prefix, material);
//
// BENDER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_double_ingot"))
// .EUt(VA[ULV]).duration((int) material.getMass())
// .inputItems(ingotStack.copyWithCount(2))
// .circuitMeta(6)
// .outputItems(doubleIngotStack)
// .save(provider);
//
// EXTRACTOR_RECIPES.recipeBuilder(TFGCore.id("extract_" + material.getName() + "_double_ingot"))
// .EUt(VA[ULV]).duration((int) material.getMass())
// .inputItems(doubleIngotStack)
// .outputFluids(material.getFluid(288))
// .save(provider);
//
// MACERATOR_RECIPES.recipeBuilder(TFGCore.id("macerate_" + material.getName() + "_double_ingot"))
// .EUt(VA[ULV]).duration((int) material.getMass())
// .inputItems(doubleIngotStack)
// .outputItems(dust, material, 2)
// .save(provider);
// }
// private static void processPlate(TagPrefix prefix, Material material, TFCProperty property, Consumer<FinishedRecipe> provider) {
// var plateStack = ChemicalHelper.get(prefix, material);
// var doubleIngotStack = ChemicalHelper.get(ingotDouble, material);
//
// if (material.hasFlag(TFGMaterialFlags.GENERATE_DOUBLE_INGOTS)) {
// FORGE_HAMMER_RECIPES.recipeBuilder(TFGCore.id("hammer_" + material.getName() + "_plate"))
// .EUt(VA[ULV]).duration((int) material.getMass() * 4)
// .inputItems(doubleIngotStack)
// .outputItems(plateStack)
// .save(provider);
// }
// }
// private static void proccessAnvil(TagPrefix prefix, Material material, TFCProperty property, Consumer<FinishedRecipe> provider) {
// var anvil = ChemicalHelper.get(prefix, material);
// var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial();
//
// ALLOY_SMELTER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_anvil_from_ingots"))
// .EUt(VA[ULV]).duration((int) material.getMass() * 6)
// .inputItems(ingot, outputMaterial, 14)
// .notConsumable(GTItems.SHAPE_MOLD_ANVIL)
// .outputItems(anvil)
// .save(provider);
//
// FLUID_SOLIDFICATION_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_anvil_from_fluid"))
// .EUt(VA[ULV]).duration((int) material.getMass() * 6)
// .inputFluids(outputMaterial.getFluid(2016))
// .notConsumable(GTItems.SHAPE_MOLD_ANVIL)
// .outputItems(anvil)
// .save(provider);
// }
// private static void proccessLamp(TagPrefix prefix, Material material, TFCProperty property, Consumer<FinishedRecipe> provider) {
// var finishedLamp = ChemicalHelper.get(prefix, material);
// var unfinishedLamp = ChemicalHelper.get(lampUnfinished, material);
// var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial();
//
// ASSEMBLER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_lamp"))
// .EUt(VA[ULV]).duration((int) outputMaterial.getMass() * 7)
// .inputItems(new ItemStack(TFCItems.LAMP_GLASS.get()), unfinishedLamp)
// .circuitMeta(12)
// .outputItems(finishedLamp)
// .save(provider);
//
// ASSEMBLER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_lamp_from_liquid"))
// .EUt(VA[ULV]).duration((int) outputMaterial.getMass() * 7)
// .inputItems(unfinishedLamp)
// .inputFluids(Glass.getFluid(576))
// .circuitMeta(13)
// .outputItems(finishedLamp)
// .save(provider);
// }
// private static void proccessUnfinishedLamp(TagPrefix prefix, Material material, TFCProperty property, Consumer<FinishedRecipe> provider) {
// var unfinishedLamp = ChemicalHelper.get(prefix, material);
// var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial();
//
// ALLOY_SMELTER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_unfinished_lamp_from_ingots"))
// .EUt(VA[ULV]).duration((int) material.getMass() * 7)
// .inputItems(ingot, outputMaterial)
// .notConsumable(SHAPE_MOLD_UNFINISHED_LAMP)
// .outputItems(unfinishedLamp)
// .save(provider);
//
// FLUID_SOLIDFICATION_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_unfinished_lamp_from_fluid"))
// .EUt(VA[ULV]).duration((int) material.getMass() * 7)
// .inputFluids(outputMaterial.getFluid(144))
// .notConsumable(SHAPE_MOLD_UNFINISHED_LAMP)
// .outputItems(unfinishedLamp)
// .save(provider);
// }
// private static void proccessTrapdoor(TagPrefix prefix, Material material, TFCProperty property, Consumer<FinishedRecipe> provider) {
// var trapdoor = ChemicalHelper.get(prefix, material);
// var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial();
//
// ALLOY_SMELTER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_trapdoor_from_ingots"))
// .EUt(VA[ULV]).duration((int) material.getMass() * 6)
// .inputItems(ingot, outputMaterial)
// .notConsumable(SHAPE_MOLD_TRAPDOOR)
// .outputItems(trapdoor)
// .save(provider);
//
// FLUID_SOLIDFICATION_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_trapdoor_from_fluid"))
// .EUt(VA[ULV]).duration((int) material.getMass() * 6)
// .inputFluids(outputMaterial.getFluid(144))
// .notConsumable(SHAPE_MOLD_TRAPDOOR)
// .outputItems(trapdoor)
// .save(provider);
// }
// private static void proccessChain(TagPrefix prefix, Material material, TFCProperty property, Consumer<FinishedRecipe> provider) {
// var chain = ChemicalHelper.get(prefix, material);
// var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial();
//
// ALLOY_SMELTER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_chain_from_ingots"))
// .EUt(VA[ULV]).duration((int) material.getMass() * 2)
// .inputItems(ingot, outputMaterial)
// .notConsumable(SHAPE_MOLD_CHAIN)
// .outputItems(chain.copyWithCount(9))
// .save(provider);
//
// FLUID_SOLIDFICATION_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_chain_from_fluid"))
// .EUt(VA[ULV]).duration((int) material.getMass() * 2)
// .inputFluids(outputMaterial.getFluid(144))
// .notConsumable(SHAPE_MOLD_CHAIN)
// .outputItems(chain.copyWithCount(9))
// .save(provider);
// }
// private static void proccessBell(TagPrefix prefix, Material material, TFCProperty property, Consumer<FinishedRecipe> provider) {
// var bell = ChemicalHelper.get(prefix, material);
// var outputMaterial = property.getOutputMaterial() == null ? material : property.getOutputMaterial();
//
//
// ALLOY_SMELTER_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_bell_from_ingots"))
// .EUt(VA[ULV]).duration((int) material.getMass() * 4)
// .inputItems(ingot, outputMaterial)
// .notConsumable(SHAPE_MOLD_BELL)
// .outputItems(bell)
// .save(provider);
//
// FLUID_SOLIDFICATION_RECIPES.recipeBuilder(TFGCore.id(material.getName() + "_bell_from_fluid"))
// .EUt(VA[ULV]).duration((int) material.getMass() * 4)
// .inputFluids(outputMaterial.getFluid(144))
// .notConsumable(SHAPE_MOLD_BELL)
// .outputItems(bell)
// .save(provider);
// }
// private static void processToolHead(TagPrefix prefix, Material material, ItemEntry<Item> extruderShape, int circuitValue, Consumer<FinishedRecipe> consumer) {
// var output = ChemicalHelper.get(prefix, material);
// if (output.isEmpty()) return;
//
// if (material.hasProperty(PropertyKey.INGOT)) {
// EXTRUDER_RECIPES.recipeBuilder(TFGCore.id("extrude_" + material.getName() + "_ingot_to_" + prefix.name().toLowerCase() + "_head"))
// .duration(12).EUt(32)
// .notConsumable(extruderShape)
// .inputItems(ingot, material, (int) (prefix.materialAmount() / GTValues.M))
// .outputItems(output)
// .save(consumer);
// } else if (material.hasProperty(PropertyKey.GEM)) {
// LASER_ENGRAVER_RECIPES.recipeBuilder(TFGCore.id("engrave_" + material.getName() + "_gem_to_" + prefix.name().toLowerCase() + "_head"))
// .duration(12).EUt(32)
// .circuitMeta(circuitValue)
// .notConsumable(ChemicalHelper.get(TagPrefix.lens, Glass))
// .inputItems(gem, material, (int) (prefix.materialAmount() / GTValues.M))
// .outputItems(output)
// .save(consumer);
// }
// }
/**
* Замена ванильного камня в рецепте ступки на тфк камень.
*/
// @Redirect(method = "registerMortarRecipes", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V"), remap = false)
// private static void tfg$registerMortarRecipes$toolRecipeHandler$addToolRecipe(Consumer<FinishedRecipe> provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) {
// addToolRecipe(provider, material, GTToolType.MORTAR, false,
// " I ", "SIS", "SSS",
// 'I', new UnificationEntry(material.hasProperty(PropertyKey.GEM) ? TagPrefix.gem : TagPrefix.ingot, material),
// 'S', TFGTags.Items.RawRockBlocks);
// }
/**
* Отключение рецептов MiningHammer, только для металлов, которые дублирует TFC.
*/
// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 0), remap = false)
// private static void tfg$processMiningHammer$toolRecipeHandler$addToolRecipe(Consumer<FinishedRecipe> provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) {
// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL))
// tfg$addToolRecipe(provider, material, GTToolType.MINING_HAMMER, TFGTagPrefix.toolHeadMiningHammer);
// else
// new TFGAdvancedShapedToolRecipeBuilder("mining_hammer_" + material.getName())
// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadMiningHammer, material))
// .output(ToolHelper.get(GTToolType.MINING_HAMMER, material))
// .save(provider);
// }
/**
* Отключение рецептов Spade, только для металлов, которые дублирует TFC.
*/
// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 1), remap = false)
// private static void processSpade$toolRecipeHandler$addToolRecipe(Consumer<FinishedRecipe> provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) {
// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL))
// tfg$addToolRecipe(provider, material, GTToolType.SPADE, TFGTagPrefix.toolHeadSpade);
// else
// new TFGAdvancedShapedToolRecipeBuilder("spade_" + material.getName())
// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadSpade, material))
// .output(ToolHelper.get(GTToolType.SPADE, material))
// .save(provider);
// }
/**
* Отключение рецептов Saw, только для металлов, которые дублирует TFC.
*/
// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 2), remap = false)
// private static void tfg$processSaw$toolRecipeHandler$addToolRecipe(Consumer<FinishedRecipe> provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) {
// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL))
// tfg$addToolRecipe(provider, material, GTToolType.SAW, TFGTagPrefix.toolHeadSaw);
// else
// new TFGAdvancedShapedToolRecipeBuilder("saw_" + material.getName())
// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadSaw, material))
// .output(ToolHelper.get(GTToolType.SAW, material))
// .save(provider);
// }
/**
* Отключение рецептов Axe, только для металлов, которые дублирует TFC.
*/
// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 3), remap = false)
// private static void tfg$processAxe$toolRecipeHandler$addToolRecipe(Consumer<FinishedRecipe> provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) {
// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL))
// tfg$addToolRecipe(provider, material, GTToolType.AXE, TFGTagPrefix.toolHeadAxe);
// else
// new TFGAdvancedShapedToolRecipeBuilder("axe_" + material.getName())
// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadAxe, material))
// .output(ToolHelper.get(GTToolType.AXE, material))
// .save(provider);
// }
/**
* Отключение рецептов Hoe, только для металлов, которые дублирует TFC.
*/
// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 4), remap = false)
// private static void tfg$processHoe$toolRecipeHandler$addToolRecipe(Consumer<FinishedRecipe> provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) {
// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL))
// tfg$addToolRecipe(provider, material, GTToolType.HOE, TFGTagPrefix.toolHeadHoe);
// else
// new TFGAdvancedShapedToolRecipeBuilder("hoe_" + material.getName())
// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadHoe, material))
// .output(ToolHelper.get(GTToolType.HOE, material))
// .save(provider);
// }
/**
* Отключение рецептов Pickaxe, только для металлов, которые дублирует TFC.
*/
// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 5), remap = false)
// private static void tfg$processPickaxe$toolRecipeHandler$addToolRecipe(Consumer<FinishedRecipe> provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) {
// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL))
// tfg$addToolRecipe(provider, material, GTToolType.PICKAXE, TFGTagPrefix.toolHeadPickaxe);
// else
// new TFGAdvancedShapedToolRecipeBuilder("pickaxe_" + material.getName())
// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadPickaxe, material))
// .output(ToolHelper.get(GTToolType.PICKAXE, material))
// .save(provider);
// }
/**
* Отключение рецептов Scythe, только для металлов, которые дублирует TFC.
*/
// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 6), remap = false)
// private static void tfg$processScythe$toolRecipeHandler$addToolRecipe(Consumer<FinishedRecipe> provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) {
// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL))
// tfg$addToolRecipe(provider, material, GTToolType.SCYTHE, TFGTagPrefix.toolHeadScythe);
// else
// new TFGAdvancedShapedToolRecipeBuilder("scythe_" + material.getName())
// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadScythe, material))
// .output(ToolHelper.get(GTToolType.SCYTHE, material))
// .save(provider);
// }
/**
* Отключение рецептов Shovel, только для металлов, которые дублирует TFC.
*/
// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 7), remap = false)
// private static void tfg$processShovel$toolRecipeHandler$addToolRecipe(Consumer<FinishedRecipe> provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) {
// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL))
// tfg$addToolRecipe(provider, material, GTToolType.SHOVEL, TFGTagPrefix.toolHeadShovel);
// else
// new TFGAdvancedShapedToolRecipeBuilder("shovel_" + material.getName())
// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadShovel, material))
// .output(ToolHelper.get(GTToolType.SHOVEL, material))
// .save(provider);
// }
/**
* Отключение рецептов Sword, только для металлов, которые дублирует TFC.
*/
// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 8), remap = false)
// private static void tfg$processSword$toolRecipeHandler$addToolRecipe(Consumer<FinishedRecipe> provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) {
// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL))
// tfg$addToolRecipe(provider, material, GTToolType.SWORD, TFGTagPrefix.toolHeadSword);
// else
// new TFGAdvancedShapedToolRecipeBuilder("sword_" + material.getName())
// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadSword, material))
// .output(ToolHelper.get(GTToolType.SWORD, material))
// .save(provider);
// }
/**
* Отключение рецептов Hammer, только для металлов, которые дублирует TFC.
*/
// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 9), remap = false)
// private static void tfg$processHardHammer$toolRecipeHandler$addToolRecipe(Consumer<FinishedRecipe> provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) {
// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL))
// tfg$addToolRecipe(provider, material, GTToolType.HARD_HAMMER, TFGTagPrefix.toolHeadHammer);
// else
// new TFGAdvancedShapedToolRecipeBuilder("hammer_" + material.getName())
// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadHammer, material))
// .output(ToolHelper.get(GTToolType.HARD_HAMMER, material))
// .save(provider);
// }
/**
* Отключение рецептов File, только для металлов, которые дублирует TFC.
*/
// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 10), remap = false)
// private static void tfg$processFile$toolRecipeHandler$addToolRecipe(Consumer<FinishedRecipe> provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) {
// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL))
// tfg$addToolRecipe(provider, material, GTToolType.FILE, TFGTagPrefix.toolHeadFile);
// else
// new TFGAdvancedShapedToolRecipeBuilder("file_" + material.getName())
// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadFile, material))
// .output(ToolHelper.get(GTToolType.FILE, material))
// .save(provider);
// }
/**
* Отключение рецептов Knife, только для металлов, которые дублирует TFC.
*/
// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 11), remap = false)
// private static void tfg$processKnife$toolRecipeHandler$addToolRecipe(Consumer<FinishedRecipe> provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) {
// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL))
// tfg$addToolRecipe(provider, material, GTToolType.KNIFE, TFGTagPrefix.toolHeadKnife);
// else
// new TFGAdvancedShapedToolRecipeBuilder("knife_" + material.getName())
// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadKnife, material))
// .output(ToolHelper.get(GTToolType.KNIFE, material))
// .save(provider);
// }
/**
* Отключение рецептов ButcheryKnife, только для металлов, которые дублирует TFC.
*/
// @Redirect(method = "processTool", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/data/recipe/generated/ToolRecipeHandler;addToolRecipe(Ljava/util/function/Consumer;Lcom/gregtechceu/gtceu/api/data/chemical/material/Material;Lcom/gregtechceu/gtceu/api/item/tool/GTToolType;Z[Ljava/lang/Object;)V", ordinal = 13), remap = false)
// private static void tfg$processButcheryKnife$toolRecipeHandler$addToolRecipe(Consumer<FinishedRecipe> provider, Material material, GTToolType tool, boolean mirrored, Object[] recipe) {
// if (!material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL))
// tfg$addToolRecipe(provider, material, GTToolType.BUTCHERY_KNIFE, TFGTagPrefix.toolHeadButcheryKnife);
// else
// new TFGAdvancedShapedToolRecipeBuilder("butchery_knife_" + material.getName())
// .input(ChemicalHelper.get(TFGTagPrefix.toolHeadButcheryKnife, material))
// .output(ToolHelper.get(GTToolType.BUTCHERY_KNIFE, material))
// .save(provider);
// }
// @Unique
// private static void tfg$addToolRecipe(Consumer<FinishedRecipe> provider, Material material, GTToolType toolType, TagPrefix tagPrefix) {
// addToolRecipe(provider, material, toolType, false, "H", "S", 'H', new UnificationEntry(tagPrefix, material), 'S', TFGTags.Items.WoodenSticks);
// }

View File

@@ -12,7 +12,7 @@ ServerEvents.tags('item', event => {
// registerCreateAdditionsItemTags(event)
// registerExtendedAE2ItemTags(event)
// registerFirmaCivItemTags(event)
// registerFirmaLifeItemTags(event)
registerFirmaLifeItemTags(event)
// registerFramedBlocksItemTags(event)
// registerFTBQuestsItemTags(event)
// registerGregTechItemTags(event)
@@ -22,7 +22,7 @@ ServerEvents.tags('item', event => {
// registerHotOrNotItemTags(event)
// registerRailWaysItemTags(event)
// registerSophisticatedBackpacksItemTags(event)
// registerTFCItemTags(event)
registerTFCItemTags(event)
})
/**
@@ -37,7 +37,7 @@ ServerEvents.tags('block', event => {
// registerCreateAdditionsBlockTags(event)
// registerExtendedAE2BlockTags(event)
// registerFirmaCivBlockTags(event)
// registerFirmaLifeBlockTags(event)
registerFirmaLifeBlockTags(event)
// registerFramedBlocksBlockTags(event)
// registerFTBQuestsBlockTags(event)
// registerGregTechBlockTags(event)
@@ -47,7 +47,7 @@ ServerEvents.tags('block', event => {
// registerHotOrNotBlockTags(event)
// registerRailWaysBlockTags(event)
// registerSophisticatedBackpacksBlockTags(event)
// registerTFCBlockTags(event)
registerTFCBlockTags(event)
})
/**
@@ -56,7 +56,7 @@ ServerEvents.tags('block', event => {
ServerEvents.tags('fluid', event => {
// registerCreateFluidTags(event)
// registerCreateAdditionsFluidTags(event)
// registerFirmaLifeBlockTags(event)
registerFirmaLifeBlockTags(event)
// registerTFCFluidTags(event)
})
@@ -116,7 +116,7 @@ ServerEvents.recipes(event => {
// registerFirmaLifeRecipes(event)
// registerFramedBlocksRecipes(event)
// registerFTBQuestsRecipes(event)
// registerGregTechRecipes(event)
registerGregTechRecipes(event)
// registerHandGliderRecipes(event)
// registerHotOrNotRecipes(event)
// registerMegaCellsRecipes(event)
@@ -126,7 +126,7 @@ ServerEvents.recipes(event => {
// registerRailWaysRecipes(event)
// registerSophisticatedBackpacksRecipes(event)
// registerTfceaRecipes(event)
// registerTFCRecipes(event)
registerTFCRecipes(event)
// registerTFCGroomingStationRecipes(event)
// registerToolBeltRecipes(event)
// registerTreeTapRecipes(event)
@@ -141,7 +141,6 @@ LootJS.modifiers((event) => {
registerGregTechLoots(event)
})
/**
* Событие регистрации рудных жил GregTech.
*/

View File

@@ -1,6 +1,10 @@
// priority: 0
const registerTFCRecipes = (event) => {
}
const registerTFCRecipes1 = (event) => {
//return; TODO тут баг
//#region Металлы
@@ -3310,3 +3314,55 @@ const registerTFCRecipes = (event) => {
//#endregion
}
// {
// "category": "minecraft:campfire_cooking"
// },
// {
// "category": "minecraft:brewing"
// },
// {
// "category": "minecraft:stonecutting"
// },
// {
// "category": "emi:anvil_repairing"
// },
// {
// "category": "emi:world_interaction"
// },
// {
// "category": "gtceu:primitive_blast_furnace"
// },
// {
// "category": "create:mystery_conversion"
// },
// {
// "category": "jumbofurnace:jumbo_furnace_upgrade"
// },
// {
// "category": "jumbofurnace:jumbo_smelting"
// },
// {
// "category": "emi:composting"
// },
// {
// "category": "emi:fuel"
// },
// {
// "id": "/emi:/crafting/repairing/[^*]+/"
// },
// {
// "id": "/emi:/grindstone/repairing/minecraft/[^*]+/"
// },
// {
// "id": "/emi:/crafting/shulker_box_dying/minecraft/[^*]+/"
// },
// {
// "id": "/create:create.toolbox.color.block.create.[^*]+/"
// },
// {
// "id": "/sophisticatedbackpacks:single_color_[^*]+/"
// },
// {
// "id": "sophisticatedbackpacks:multiple_colors"
// }

View File

@@ -1,6 +1,28 @@
// priority: 0
const registerTFCItemTags = (event) => {
//#region Удаление тегов и скрытие руд TFC
const ALL_TFC_ORES = Ingredient.of(/tfc:ore\/[^*]+\/[^*]+/).itemIds
ALL_TFC_ORES.forEach(element => {
event.removeAllTagsFrom(element)
event.add('c:hidden_from_recipe_viewers', element)
})
//#endregion
}
const registerTFCBlockTags = (event) => {
//#region Удаление тегов и скрытие руд TFC
const allTFCOres = Ingredient.of(/tfc:ore\/[^*]+\/[^*]+/).itemIds
allTFCOres.forEach(element => {
event.removeAllTagsFrom(element)
event.add('c:hidden_from_recipe_viewers', element)
})
//#endregion
}
const registerTFCItemTags1 = (event) => {
// Теги для соответствия инструментов TFC и GT
GTMaterialRegistry.getRegisteredMaterials().forEach(material => {
@@ -198,7 +220,7 @@ const registerTFCItemTags = (event) => {
event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/")
}
const registerTFCBlockTags = (event) => {
const registerTFCBlockTags1 = (event) => {
// Теги для каменных ступенек тфк
global.TFC_STONE_TYPES.forEach(stoneTypeName => {
global.TFC_ROCK_SLAB_BLOCK_TYPES.forEach(slabType => {

View File

@@ -2,7 +2,7 @@
/**
* Список хранит предметы,
* у которых должны быть удалены тэги и они должны быть скрыты в REI.
* у которых должны быть удалены тэги и они должны быть скрыты в EMI.
*/
global.FIRMALIFE_DISABLED_ITEMS = [
@@ -37,6 +37,10 @@ global.FIRMALIFE_DISABLED_ITEMS = [
'firmalife:pumping_station'
];
/**
* Список хранит предметы,
* у которых должны быть скрыты в EMI.
*/
global.FIRMALIFE_HIDED_ITEMS = [
'firmalife:weathered_copper_greenhouse_wall',
'firmalife:weathered_copper_greenhouse_panel_wall',
@@ -93,10 +97,10 @@ global.FIRMALIFE_HIDED_ITEMS = [
'firmalife:weathered_treated_wood_greenhouse_port'
];
global.FIRMALIFE_ORE_MATERIALS = [
'chromite'
];
//todo: to remove
// global.FIRMALIFE_ORE_MATERIALS = [
// 'chromite'
// ];
global.FIRMALIFE_GREENHOUSE_FRUIT_RECIPE_COMPONENTS = [
{ input: 'firmalife:plant/cocoa_sapling', fluid_amount: 8000, output: '3x firmalife:food/cocoa_beans', name: 'cocoa_beans' },