package modtweaker.mods.tconstruct; import gnu.trove.map.hash.THashMap; import com.blamejared.mtlib.helpers.ReflectionHelper; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; import slimeknights.mantle.util.RecipeMatch; import slimeknights.tconstruct.library.DryingRecipe; import slimeknights.tconstruct.library.TinkerRegistry; import slimeknights.tconstruct.library.modifiers.IModifier; import slimeknights.tconstruct.library.smeltery.AlloyRecipe; import slimeknights.tconstruct.library.smeltery.ICastingRecipe; import slimeknights.tconstruct.library.smeltery.MeltingRecipe; import java.util.*; public class TConstructHelper { public static List<AlloyRecipe> alloys = null; public static List<ICastingRecipe> basinCasting = null; public static List<ICastingRecipe> tableCasting = null; public static List<MeltingRecipe> smeltingList = null; public static List<DryingRecipe> dryingList = null; // public static Map<ItemMetaWrapper, Integer> temperatureList = null; public static Map<FluidStack, Integer> fuelMap = new HashMap<>(); public static Map<String, IModifier> modifiers = new THashMap<String, IModifier>(); public static Map<String, IModifier> modifiers_clone = null; public static Map<String, FluidStack> entityMeltingRegistry; static { try { alloys = ReflectionHelper.getStaticObject(TinkerRegistry.class, "alloyRegistry"); smeltingList = ReflectionHelper.getStaticObject(TinkerRegistry.class, "meltingRegistry"); dryingList = ReflectionHelper.getStaticObject(TinkerRegistry.class, "dryingRegistry"); basinCasting = ReflectionHelper.getStaticObject(TinkerRegistry.class, "basinCastRegistry"); tableCasting = ReflectionHelper.getStaticObject(TinkerRegistry.class, "tableCastRegistry"); modifiers = ReflectionHelper.getStaticObject(TinkerRegistry.class, "modifiers"); entityMeltingRegistry = ReflectionHelper.getStaticObject(TinkerRegistry.class, "entityMeltingRegistry"); fuelMap = ReflectionHelper.getStaticObject(TinkerRegistry.class, "smelteryFuels"); modifiers_clone = new THashMap<String, IModifier>(modifiers); } catch (Exception e) { } } private TConstructHelper() { } //Returns a Drying Recipe, using reflection as the constructor is not visible public static DryingRecipe getDryingRecipe(ItemStack output, RecipeMatch input, int time) { return ReflectionHelper.getInstance(ReflectionHelper.getConstructor(DryingRecipe.class, RecipeMatch.class, ItemStack.class, int.class), input, output, time); } }