Thermal Expansion Specialization Hooks
This compact mod was created for modpack authors who want more control over Thermal Expansion machine specializations.
About Development
Initially, I tried to implement changes directly into Thermal Expansion code through a pull request, but since the Minecraft 1.12 version is no longer supported by the developers, I had to create a separate mod with the necessary modifications.
Supported Specializations
To maintain compatibility with existing mods and modpacks, I limited the functionality and currently support only the following specializations:
Food ingredient extraction (Redstone Furnace) Ore smelting (Redstone Furnace) Enhanced pulverization (Pulverizer) Ore smelting with byproducts (Induction Smelter)
CraftTweaker Integration
If you have CraftTweaker and ModTweaker installed, the mod provides special ZenScript methods for managing specializations.
Food Ingredient Extraction (Redstone Furnace)
// Enable or disable ingredient extraction for a specific item
mods.thermalexpansion.RedstoneFurnace.addFoodOverride(<item:minecraft:potato>, false);
// Remove extraction rule for an item
mods.thermalexpansion.RedstoneFurnace.removeFoodOverride(<item:minecraft:potato>);
// Check if there's an extraction rule for an item
mods.thermalexpansion.RedstoneFurnace.hasFoodOverride(<item:minecraft:potato>);
Ore Smelting (Redstone Furnace)
// Configure an item to be treated as ore
mods.thermalexpansion.RedstoneFurnace.addOreOverride(<item:minecraft:cobblestone>, true);
// Remove an item from the ore list
mods.thermalexpansion.RedstoneFurnace.removeOreOverride(<ore:oreNickel>);
// Check if an item is considered ore
mods.thermalexpansion.RedstoneFurnace.hasOreOverride(<item:minecraft:cobblestone>);
Enhanced Pulverization (Pulverizer)
// Enable enhanced pulverization for an item
mods.thermalexpansion.Pulverizer.addOreOverride(<item:minecraft:blaze_rod>, true);
// Disable enhanced pulverization
mods.thermalexpansion.Pulverizer.removeOreOverride(<item:minecraft:blaze_rod>);
// Check if enhanced pulverization is applied
mods.thermalexpansion.Pulverizer.hasOreOverride(<item:minecraft:blaze_rod>);
Ore Smelting with Byproducts (Induction Smelter)
// Enable additional resource generation during smelting
mods.thermalexpansion.InductionSmelter.addOreOverride(<ore:clusterIron>, true);
// Disable byproduct generation
mods.thermalexpansion.InductionSmelter.removeOreOverride(<ore:clusterIron>);
// Check if byproduct generation is active
mods.thermalexpansion.InductionSmelter.hasOreOverride(<ore:clusterIron>);