2024-08-12 16:26:09 +02:00

151 lines
5.2 KiB
Java

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<ItemStack> getAlloyFuels() {
ArrayList<ItemStack> fuels = new ArrayList<ItemStack>();
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<ItemStack> getBatteries() {
ArrayList<ItemStack> fuels = new ArrayList<ItemStack>();
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<ItemStack> getBlades() {
ArrayList<ItemStack> fuels = new ArrayList<ItemStack>();
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<Object, Object> getFluidContainers() {
Map<Object, Object> map = new HashMap<Object, Object>();
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;
}
}