added a potential fix for #944 suggested by ghosti, cleaned up some other abuses of it in tag events so now it's just indicators that still have to use it

This commit is contained in:
Pyritie 2025-05-02 01:05:01 +01:00
parent 3db90471cd
commit 506faeafd3
12 changed files with 43 additions and 46 deletions

View file

@ -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)

View file

@ -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
};
];

View file

@ -81,7 +81,7 @@ const registerGTCEULoots = (event) => {
})
// Go through all materials
GTMaterialRegistry.getRegisteredMaterials().forEach(material => {
forEachMaterial(material => {
if (material.hasProperty(PropertyKey.ORE)) {

View file

@ -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)

View file

@ -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)

View file

@ -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);
}
})
}

View file

@ -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)
})
}
}

View file

@ -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) {

View file

@ -2,7 +2,7 @@
function registerTFCMaterialsRecipes(event) {
GTMaterialRegistry.getRegisteredMaterials().forEach(material => {
forEachMaterial(material => {
let tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY)
if (tfcProperty == null) {

View file

@ -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')

View file

@ -290,7 +290,7 @@ function registerVintageImprovementsRecipes(event) {
// #endregion
GTMaterialRegistry.getRegisteredMaterials().forEach(material => {
forEachMaterial(material => {
// #region Coiling

View file

@ -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")
}