Actually added ore dictionary parsing to ore processor
Should increase mod compatibility though at the cost of all ore items turning into DM items
This commit is contained in:
parent
23f19c17a4
commit
6a6c751f55
1 changed files with 62 additions and 4 deletions
|
@ -8,9 +8,15 @@ import java.util.Random;
|
|||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.oredict.OreDictionary;
|
||||
|
||||
import com.builtbroken.common.Pair;
|
||||
|
||||
import dark.core.common.CoreRecipeLoader;
|
||||
import dark.core.common.DarkMain;
|
||||
import dark.core.common.items.EnumMaterial;
|
||||
import dark.core.common.items.EnumOrePart;
|
||||
import dark.core.common.items.ItemOreDirv;
|
||||
import dark.core.prefab.helpers.AutoCraftingManager;
|
||||
|
||||
/** Recipes for ore processor machines
|
||||
|
@ -19,6 +25,7 @@ import dark.core.prefab.helpers.AutoCraftingManager;
|
|||
public class ProcessorRecipes
|
||||
{
|
||||
private static Random random = new Random();
|
||||
private static boolean loadedOres = false;
|
||||
|
||||
public static enum ProcessorType
|
||||
{
|
||||
|
@ -256,6 +263,57 @@ public class ProcessorRecipes
|
|||
|
||||
public static void parseOreNames()
|
||||
{
|
||||
if (!loadedOres && CoreRecipeLoader.itemMetals instanceof ItemOreDirv)
|
||||
{
|
||||
for (EnumMaterial mat : EnumMaterial.values())
|
||||
{
|
||||
|
||||
ItemStack dust = EnumMaterial.getStack(mat, EnumOrePart.DUST, 1);
|
||||
ItemStack scraps = EnumMaterial.getStack(mat, EnumOrePart.SCRAPS, 1);
|
||||
ItemStack plate = EnumMaterial.getStack(mat, EnumOrePart.PLATES, 1);
|
||||
ItemStack rubble = EnumMaterial.getStack(mat, EnumOrePart.RUBBLE, 1);
|
||||
ItemStack rod = EnumMaterial.getStack(mat, EnumOrePart.ROD, 1);
|
||||
ItemStack tube = EnumMaterial.getStack(mat, EnumOrePart.TUBE, 1);
|
||||
|
||||
List<ItemStack> ingots = OreDictionary.getOres("ingot" + mat.simpleName);
|
||||
ingots.addAll(OreDictionary.getOres(mat.simpleName + "ingot"));
|
||||
|
||||
List<ItemStack> plates = OreDictionary.getOres("plate" + mat.simpleName);
|
||||
ingots.addAll(OreDictionary.getOres(mat.simpleName + "plate"));
|
||||
|
||||
for (ItemStack ing : ingots)
|
||||
{
|
||||
if (mat.shouldCreateItem(EnumOrePart.DUST))
|
||||
{
|
||||
ProcessorRecipes.createRecipe(ProcessorType.GRINDER, ing, dust);
|
||||
ProcessorRecipes.createSalvageDamageOutput(ProcessorType.GRINDER, ing, dust);
|
||||
}
|
||||
if (mat.shouldCreateItem(EnumOrePart.SCRAPS))
|
||||
{
|
||||
ProcessorRecipes.createSalvageDamageOutput(ProcessorType.CRUSHER, ing, scraps);
|
||||
ProcessorRecipes.createSalvageDamageOutput(ProcessorType.CRUSHER, ing, scraps);
|
||||
}
|
||||
}
|
||||
for (ItemStack pla : plates)
|
||||
{
|
||||
if (mat.shouldCreateItem(EnumOrePart.DUST))
|
||||
{
|
||||
dust.stackSize = 4;
|
||||
ProcessorRecipes.createRecipe(ProcessorType.GRINDER, pla, dust);
|
||||
ProcessorRecipes.createSalvageDamageOutput(ProcessorType.GRINDER, pla, dust);
|
||||
dust.stackSize = 1;
|
||||
}
|
||||
if (mat.shouldCreateItem(EnumOrePart.SCRAPS))
|
||||
{
|
||||
scraps.stackSize = 3;
|
||||
ProcessorRecipes.createRecipe(ProcessorType.CRUSHER, pla, scraps);
|
||||
ProcessorRecipes.createSalvageDamageOutput(ProcessorType.CRUSHER, pla, scraps);
|
||||
scraps.stackSize = 1;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
loadedOres = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue