package com.hbm.inventory.recipes; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; import com.hbm.interfaces.Spaghetti; import com.hbm.inventory.FluidContainer; import com.hbm.inventory.FluidContainerRegistry; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.items.ModItems; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.oredict.OreDictionary; //TODO: clean this shit up @Spaghetti("i cannot sleep well at night knowing that this class still exists") public class MachineRecipes { public static MachineRecipes instance() { return new MachineRecipes(); } //return: FluidType, amount produced, amount required, heat required (°C * 100) public static Object[] getBoilerOutput(FluidType type) { if(type == Fluids.OIL) return new Object[] { Fluids.HOTOIL, 5, 5, 35000 }; if(type == Fluids.CRACKOIL) return new Object[] { Fluids.HOTCRACKOIL, 5, 5, 35000 }; return null; } public ArrayList getAlloyFuels() { ArrayList fuels = new ArrayList(); fuels.add(new ItemStack(Items.coal)); fuels.add(new ItemStack(Blocks.coal_block)); fuels.add(new ItemStack(Items.lava_bucket)); fuels.add(new ItemStack(Items.blaze_rod)); fuels.add(new ItemStack(Items.blaze_powder)); fuels.add(new ItemStack(ModItems.lignite)); fuels.add(new ItemStack(ModItems.powder_lignite)); fuels.add(new ItemStack(ModItems.briquette)); fuels.add(new ItemStack(ModItems.coke)); fuels.add(new ItemStack(ModItems.solid_fuel)); fuels.add(new ItemStack(ModItems.powder_coal)); return fuels; } /* * this is the smoldering crater where once the 2016 shredder recipe code was */ public ArrayList getBatteries() { ArrayList fuels = new ArrayList(); fuels.add(new ItemStack(ModItems.battery_potato)); fuels.add(new ItemStack(ModItems.battery_potatos)); fuels.add(new ItemStack(ModItems.battery_generic)); fuels.add(new ItemStack(ModItems.battery_red_cell)); fuels.add(new ItemStack(ModItems.battery_red_cell_6)); fuels.add(new ItemStack(ModItems.battery_red_cell_24)); fuels.add(new ItemStack(ModItems.battery_advanced)); fuels.add(new ItemStack(ModItems.battery_advanced_cell)); fuels.add(new ItemStack(ModItems.battery_advanced_cell_4)); fuels.add(new ItemStack(ModItems.battery_advanced_cell_12)); fuels.add(new ItemStack(ModItems.battery_lithium)); fuels.add(new ItemStack(ModItems.battery_lithium_cell)); fuels.add(new ItemStack(ModItems.battery_lithium_cell_3)); fuels.add(new ItemStack(ModItems.battery_lithium_cell_6)); fuels.add(new ItemStack(ModItems.battery_schrabidium)); fuels.add(new ItemStack(ModItems.battery_schrabidium_cell)); fuels.add(new ItemStack(ModItems.battery_schrabidium_cell_2)); fuels.add(new ItemStack(ModItems.battery_schrabidium_cell_4)); fuels.add(new ItemStack(ModItems.battery_trixite)); fuels.add(new ItemStack(ModItems.battery_spark)); fuels.add(new ItemStack(ModItems.battery_spark_cell_6)); fuels.add(new ItemStack(ModItems.battery_spark_cell_25)); fuels.add(new ItemStack(ModItems.battery_spark_cell_100)); fuels.add(new ItemStack(ModItems.battery_spark_cell_1000)); fuels.add(new ItemStack(ModItems.battery_spark_cell_10000)); fuels.add(new ItemStack(ModItems.battery_spark_cell_power)); fuels.add(new ItemStack(ModItems.fusion_core)); fuels.add(new ItemStack(ModItems.energy_core)); return fuels; } public ArrayList getBlades() { ArrayList fuels = new ArrayList(); fuels.add(new ItemStack(ModItems.blades_advanced_alloy)); fuels.add(new ItemStack(ModItems.blades_steel)); fuels.add(new ItemStack(ModItems.blades_titanium)); fuels.add(new ItemStack(ModItems.blades_desh)); return fuels; } public static boolean mODE(Item item, String[] names) { return mODE(new ItemStack(item), names); } public static boolean mODE(ItemStack item, String[] names) { boolean flag = false; if(names.length > 0) { for(int i = 0; i < names.length; i++) { if(mODE(item, names[i])) flag = true; } } return flag; } public static boolean mODE(Item item, String name) { return mODE(new ItemStack(item), name); } //Matches Ore Dict Entry public static boolean mODE(ItemStack stack, String name) { int[] ids = OreDictionary.getOreIDs(new ItemStack(stack.getItem(), 1, stack.getItemDamage())); for(int i = 0; i < ids.length; i++) { String s = OreDictionary.getOreName(ids[i]); if(s.length() > 0 && s.equals(name)) return true; } return false; } public Map getFluidContainers() { Map map = new HashMap(); for(FluidContainer con : FluidContainerRegistry.allContainers) { if(con != null) { ItemStack fluid = new ItemStack(ModItems.fluid_icon, 1, con.type.getID()); fluid.stackTagCompound = new NBTTagCompound(); fluid.stackTagCompound.setInteger("fill", con.content); map.put(fluid, con.fullContainer); } } return map; } }