diff --git a/kubejs/server_scripts/computer_craft/data.js b/kubejs/server_scripts/computer_craft/data.js index 8b341c40b..15d02bbf3 100644 --- a/kubejs/server_scripts/computer_craft/data.js +++ b/kubejs/server_scripts/computer_craft/data.js @@ -3,7 +3,7 @@ const registerComputerCraftData = (event) => { const TURTLE_TOOL_TYPES = [ GTToolType.SWORD, GTToolType.PICKAXE, GTToolType.AXE, GTToolType.SHOVEL, GTToolType.HOE ] - GTMaterialRegistry.getRegisteredMaterials().forEach(material => { + forEachMaterial(material => { TURTLE_TOOL_TYPES.forEach(type => { let toolStack = ToolHelper.get(type, material) diff --git a/kubejs/server_scripts/gregtech/constants.js b/kubejs/server_scripts/gregtech/constants.js index 4169872e9..033bd10b6 100644 --- a/kubejs/server_scripts/gregtech/constants.js +++ b/kubejs/server_scripts/gregtech/constants.js @@ -21,16 +21,4 @@ global.GTCEU_ANVIL_TOOL_TYPES = [ GTToolType.KNIFE, GTToolType.BUTCHERY_KNIFE, // GTToolType.PLUNGER -]; - -global.GTCEU_TOOLTYPES_WHICH_HAS_TFC_DUPS = { - "tfc:swords" : GTToolType.SWORD, - "tfc:pickaxes" : GTToolType.PICKAXE, - "tfc:axes" : GTToolType.AXE, - "tfc:shovels" : GTToolType.SHOVEL, - "tfc:hoes" : GTToolType.HOE, - "tfc:hammers" : GTToolType.HARD_HAMMER, - "tfc:knives" : GTToolType.KNIFE, - "tfc:saws" : GTToolType.SAW, - "tfc:scythes" : GTToolType.SCYTHE -}; \ No newline at end of file +]; \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/loot.js b/kubejs/server_scripts/gregtech/loot.js index a7e44678f..fb529aea1 100644 --- a/kubejs/server_scripts/gregtech/loot.js +++ b/kubejs/server_scripts/gregtech/loot.js @@ -81,7 +81,7 @@ const registerGTCEULoots = (event) => { }) // Go through all materials - GTMaterialRegistry.getRegisteredMaterials().forEach(material => { + forEachMaterial(material => { if (material.hasProperty(PropertyKey.ORE)) { diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 07e0a5f9b..c472c58f0 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -960,7 +960,7 @@ const registerGTCEURecipes = (event) => { .duration(2400) .EUt(2) - GTMaterialRegistry.getRegisteredMaterials().forEach(material => { + forEachMaterial(material => { const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) if (tfcProperty == null) diff --git a/kubejs/server_scripts/gregtech/recipes.materials.js b/kubejs/server_scripts/gregtech/recipes.materials.js index 8e597519a..9e747fa03 100644 --- a/kubejs/server_scripts/gregtech/recipes.materials.js +++ b/kubejs/server_scripts/gregtech/recipes.materials.js @@ -837,7 +837,7 @@ function registerGTCEUMetalRecipes(event) { .id(`${material.getName()}_ingot_to_bars`) } - GTMaterialRegistry.getRegisteredMaterials().forEach(material => { + forEachMaterial(material => { const toolProperty = material.getProperty(PropertyKey.TOOL) const ingotProperty = material.getProperty(PropertyKey.INGOT) const oreProperty = material.getProperty(PropertyKey.ORE) diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index 09d0b8039..92007aa47 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -76,8 +76,19 @@ const registerGTCEUBlockTags = (event) => { event.add('minecraft:mineable/pickaxe', '#forge:ores') event.add('minecraft:needs_iron_tool', '#forge:ores') + // Collapse tags + event.add('tfc:can_collapse', '#forge:ores') + event.add('tfc:can_start_collapse', '#forge:ores') + event.add('tfc:can_trigger_collapse', '#forge:ores') + event.add('c:hidden_from_recipe_viewers', '#forge:ores') + + event.add('tfc:can_collapse', '#forge:raw_ore_blocks') + event.add('tfc:can_start_collapse', '#forge:raw_ore_blocks') + event.add('tfc:can_trigger_collapse', '#forge:raw_ore_blocks') + event.add('c:hidden_from_recipe_viewers', '#forge:raw_ore_blocks') + // Let GT indicators be covered by snow - GTMaterialRegistry.getRegisteredMaterials().forEach(material => { + forEachMaterial(material => { if (material.hasProperty(PropertyKey.ORE)) { let indicator = `gtceu:${material.getName()}_indicator`; @@ -96,19 +107,6 @@ const registerGTCEUBlockTags = (event) => { event.add('minecraft:mineable/pickaxe', bud) } - - // I LOVE KUBEJS I LOVE KUBEJS I LOVE KUBEJS - let str = `:${ChemicalHelper.get(TagPrefix.rawOreBlock, material, 1).getItem()}`; - if (material == GTMaterials.Copper || material == GTMaterials.Gold || material == GTMaterials.Iron) - str = "minecraft" + str; - else - str = "gtceu" + str; - - event.add('tfc:can_collapse', str); - event.add('tfc:can_start_collapse', str); - event.add('tfc:can_trigger_collapse', str); - // Hide these from JEI - event.add('c:hidden_from_recipe_viewers', str); } }) } diff --git a/kubejs/server_scripts/gregtech/utility.js b/kubejs/server_scripts/gregtech/utility.js index 6460e509f..02d74b307 100644 --- a/kubejs/server_scripts/gregtech/utility.js +++ b/kubejs/server_scripts/gregtech/utility.js @@ -64,7 +64,7 @@ function generatePlatedBlockRecipe(event, material) { let outputMaterial = (tfcProperty == null || tfcProperty.getOutputMaterial() == null) ? material : tfcProperty.getOutputMaterial() let plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1); - + let platedBlock = ChemicalHelper.get(TFGTagPrefix.blockPlated, material, 1); let platedSlab = ChemicalHelper.get(TFGTagPrefix.slabPlated, material, 1); let platedStair = ChemicalHelper.get(TFGTagPrefix.stairPlated, material, 1); @@ -162,4 +162,14 @@ function generatePlatedBlockRecipe(event, material) { .duration(material.getMass()) .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) .EUt(GTValues.VA[GTValues.LV]) +} + +const $MRM = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.IMaterialRegistryManager') + +function forEachMaterial(iterator) { + if (GTMaterialRegistry.getPhase() === $MRM.Phase.CLOSED || GTMaterialRegistry.getPhase() === $MRM.Phase.FROZEN) { + GTMaterialRegistry.getRegisteredMaterials().forEach(material => { + iterator(material) + }) + } } \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/data.js b/kubejs/server_scripts/tfc/data.js index c9d94bb9a..96618bee1 100644 --- a/kubejs/server_scripts/tfc/data.js +++ b/kubejs/server_scripts/tfc/data.js @@ -54,7 +54,7 @@ const registerTFCHeats = (event) => { if (!tool.isEmpty()) event.itemHeat(tool, heatCapacity, tfcProperty.getForgingTemp(), tfcProperty.getWeldingTemp()) } - GTMaterialRegistry.getRegisteredMaterials().forEach(material => { + forEachMaterial(material => { let tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) if (tfcProperty != null) { diff --git a/kubejs/server_scripts/tfc/recipes.materials.js b/kubejs/server_scripts/tfc/recipes.materials.js index ef4f82008..60d852406 100644 --- a/kubejs/server_scripts/tfc/recipes.materials.js +++ b/kubejs/server_scripts/tfc/recipes.materials.js @@ -2,7 +2,7 @@ function registerTFCMaterialsRecipes(event) { - GTMaterialRegistry.getRegisteredMaterials().forEach(material => { + forEachMaterial(material => { let tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) if (tfcProperty == null) { diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index abd47807a..2941d0a6e 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -7,17 +7,16 @@ //#region ItemTags const registerTFCItemTags = (event) => { // Теги для соответствия инструментов TFC и GT - - GTMaterialRegistry.getRegisteredMaterials().forEach(material => { - if (material.hasProperty(PropertyKey.TOOL)) { - for (let [key, value] of Object.entries(global.GTCEU_TOOLTYPES_WHICH_HAS_TFC_DUPS)) { - var tool = ToolHelper.get(value, material) - if (!tool.isEmpty()) event.add(key, tool.getId()) - - event.add('tfc:usable_on_tool_rack', `#${key}`) - } - } - }) + + event.add('tfc:usable_on_tool_rack', '#mincraft:swords') + event.add('tfc:usable_on_tool_rack', '#minecraft:pickaxes') + event.add('tfc:usable_on_tool_rack', '#minecraft:axes') + event.add('tfc:usable_on_tool_rack', '#minecraft:shovels') + event.add('tfc:usable_on_tool_rack', '#minecraft:hoes') + event.add('tfc:usable_on_tool_rack', '#forge:tools/hammers') + event.add('tfc:usable_on_tool_rack', '#forge:tools/knives') + event.add('tfc:usable_on_tool_rack', '#forge:tools/saws') + event.add('tfc:usable_on_tool_rack', '#forge:tools/scythes') event.add('tfc:usable_on_tool_rack', '#forge:tools/mining_hammers') event.add('tfc:usable_on_tool_rack', '#forge:tools/spades') diff --git a/kubejs/server_scripts/vintage_improvements/recipes.js b/kubejs/server_scripts/vintage_improvements/recipes.js index c35cfd5ea..5110220bd 100644 --- a/kubejs/server_scripts/vintage_improvements/recipes.js +++ b/kubejs/server_scripts/vintage_improvements/recipes.js @@ -290,7 +290,7 @@ function registerVintageImprovementsRecipes(event) { // #endregion - GTMaterialRegistry.getRegisteredMaterials().forEach(material => { + forEachMaterial(material => { // #region Coiling diff --git a/kubejs/startup_scripts/gtceu/tag_prefixes.js b/kubejs/startup_scripts/gtceu/tag_prefixes.js index 6e6799af0..550433706 100644 --- a/kubejs/startup_scripts/gtceu/tag_prefixes.js +++ b/kubejs/startup_scripts/gtceu/tag_prefixes.js @@ -95,4 +95,6 @@ const registerGTCEuTagPrefixes = (event) => { TagPrefix.turbineBlade.defaultTagPath("turbine_blades/%s") TagPrefix.turbineBlade.unformattedTagPath("turbine_blades") + TagPrefix.rawOreBlock.defaultTagPath("raw_ore_blocks/%s") + TagPrefix.rawOreBlock.unformattedTagPath("raw_ore_blocks") } \ No newline at end of file