So I followed ScratchForFuns tutorials on a macerator and made my own and updated it for 1.7.10. I am trying to make it so say you put in Thermal Expansion copper you would still get copper dust. I figured it out for crafting with new ShapedOreRecipe() but cant figure it out for smelting style recipe. I tried using OreDictionary.getOres("oreCopper") but it gets a null pointer exception. Thanks in advance.
Here is my recipe class for my machine.
package com.robert.casualtech.manager;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import com.robert.casualtech.blocks.CasualTechBlocks;
import com.robert.casualtech.items.CasualTechItems;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.FurnaceRecipes;
import net.minecraftforge.oredict.OreDictionary;
import net.minecraftforge.oredict.ShapedOreRecipe;
public class OreGrinderManager {
private static final OreGrinderManager SMELTING_BASE = new OreGrinderManager();
@SuppressWarnings("rawtypes")
private Map smeltingList = new HashMap();
public static OreGrinderManager Grinding() {
return SMELTING_BASE;
}
private OreGrinderManager() {
this.addRecipe(Item.getItemFromBlock(CasualTechBlocks.oreCopper), new ItemStack(CasualTechItems.dustCopper));
this.addRecipe(Item.getItemFromBlock(CasualTechBlocks.oreSilver), new ItemStack(CasualTechItems.dustSilver));
this.addRecipe(Item.getItemFromBlock(CasualTechBlocks.oreTin), new ItemStack(CasualTechItems.dustTin));
this.addRecipe(Item.getItemFromBlock(CasualTechBlocks.oreTantalum), new ItemStack(CasualTechItems.dustTantalum));
//this.addRecipe(Item.getItemFromBlock(OreDictionary.getOres(""), new ItemStack(Items.redstone, 4));
this.addRecipe(Item.getItemFromBlock(Blocks.lapis_ore), new ItemStack(Items.dye, 6));
this.addRecipe(Item.getItemFromBlock(Blocks.iron_ore), new ItemStack(CasualTechItems.dustIron));
this.addRecipe(Item.getItemFromBlock(Blocks.gold_ore), new ItemStack(CasualTechItems.dustGold));
this.addRecipe(Item.getItemFromBlock(Blocks.diamond_ore), new ItemStack(Items.diamond));
this.addRecipe(Item.getItemFromBlock(Blocks.coal_ore), new ItemStack(Items.coal));
this.addRecipe(Item.getItemFromBlock(Blocks.emerald_ore), new ItemStack(Items.emerald));
this.addRecipe(Item.getItemFromBlock(Blocks.quartz_ore), new ItemStack(Items.quartz));
}
public void addRecipe(Item item, ItemStack itemstack){
this.addLists(item, itemstack);
}
public void addLists(Item item, ItemStack itemstack){
this.putLists(new ItemStack(item, 1, 32767), itemstack);
}
@SuppressWarnings("unchecked")
public void putLists(ItemStack itemstack, ItemStack itemstack2){
this.smeltingList.put(itemstack, itemstack2);
}
@SuppressWarnings("rawtypes")
public ItemStack getSmeltingResult(ItemStack itemstack) {
Iterator iterator = this.smeltingList.entrySet().iterator();
Entry entry;
do {
if (!iterator.hasNext()) {
return null;
}
entry = (Entry) iterator.next();
} while (!canBeSmelted(itemstack, (ItemStack) entry.getKey()));
return (ItemStack) entry.getValue();
}
private boolean canBeSmelted(ItemStack itemstack, ItemStack itemstack2) {
return itemstack2.getItem() == itemstack.getItem() && (itemstack2.getItemDamage() == 32767 || itemstack2.getItemDamage() == itemstack.getItemDamage());
}
}