Added dust and refined dust smelting recipes

This commit is contained in:
Calclavia 2014-01-27 23:23:44 +08:00
parent 2e36f323e6
commit 5ad8643350
7 changed files with 30 additions and 24 deletions

View file

@ -1,4 +1,4 @@
package resonantinduction.archaic.blocks; package resonantinduction.core.prefab.block;
import java.util.Random; import java.util.Random;

View file

@ -1,4 +1,4 @@
package resonantinduction.archaic.blocks; package resonantinduction.core.prefab.block;
public class BlockColorGlowGlass extends BlockColorGlass public class BlockColorGlowGlass extends BlockColorGlass
{ {

View file

@ -1,4 +1,4 @@
package resonantinduction.archaic.blocks; package resonantinduction.core.prefab.block;
import java.util.Random; import java.util.Random;

View file

@ -1,4 +1,4 @@
package resonantinduction.archaic.blocks; package resonantinduction.core.prefab.block;
import java.util.List; import java.util.List;

View file

@ -3,9 +3,9 @@ package resonantinduction.core.resource;
import java.awt.Color; import java.awt.Color;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.io.InputStream; import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.List;
import java.util.Set;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
@ -35,7 +35,7 @@ import cpw.mods.fml.relauncher.SideOnly;
public class ResourceGenerator public class ResourceGenerator
{ {
public static final ResourceGenerator INSTANCE = new ResourceGenerator(); public static final ResourceGenerator INSTANCE = new ResourceGenerator();
public static final Set<String> materialNames = new HashSet<String>(); public static final List<String> materialNames = new ArrayList<String>();
public static final HashMap<String, Integer> materialColors = new HashMap<String, Integer>(); public static final HashMap<String, Integer> materialColors = new HashMap<String, Integer>();
public static final HashMap<Item, Integer> itemColorMap = new HashMap<Item, Integer>(); public static final HashMap<Item, Integer> itemColorMap = new HashMap<Item, Integer>();
@ -44,12 +44,13 @@ public class ResourceGenerator
{ {
if (evt.Name.startsWith("ingot")) if (evt.Name.startsWith("ingot"))
{ {
String ingotName = evt.Name.replace("ingot", ""); String materialName = evt.Name.replace("ingot", "");
if (OreDetectionBlackList.isIngotBlackListed("ingot" + ingotName) || OreDetectionBlackList.isOreBlackListed("ore" + ingotName)) if (OreDetectionBlackList.isIngotBlackListed("ingot" + materialName) || OreDetectionBlackList.isOreBlackListed("ore" + materialName))
return; return;
ResourceGenerator.materialNames.add(ingotName.toLowerCase()); if (!materialNames.contains(materialName.toLowerCase()))
materialNames.add(materialName.toLowerCase());
} }
} }
@ -64,15 +65,16 @@ public class ResourceGenerator
for (String materialName : materialNames) for (String materialName : materialNames)
{ {
// Caps version of the name
String name = materialName.substring(0, 1).toUpperCase() + materialName.substring(1); String name = materialName.substring(0, 1).toUpperCase() + materialName.substring(1);
if (OreDictionary.getOres("ore" + name).size() > 0) if (OreDictionary.getOres("ore" + name).size() > 0)
{ {
// if (OreDictionary.getOres("dust" + name).size() == 0) if (OreDictionary.getOres("dust" + name).size() == 0)
{ {
OreDictionary.registerOre("rubble" + name, ResonantInduction.itemRubble.getStackFromDust(materialName)); OreDictionary.registerOre("rubble" + name, ResonantInduction.itemRubble.getStackFromMaterial(materialName));
OreDictionary.registerOre("dust" + name, ResonantInduction.itemDust.getStackFromDust(materialName)); OreDictionary.registerOre("dust" + name, ResonantInduction.itemDust.getStackFromMaterial(materialName));
OreDictionary.registerOre("dustRefined" + name, ResonantInduction.itemRefinedDust.getStackFromDust(materialName)); OreDictionary.registerOre("dustRefined" + name, ResonantInduction.itemRefinedDust.getStackFromMaterial(materialName));
} }
MachineRecipes.INSTANCE.addRecipe(RecipeType.CRUSHER, "ore" + name, "rubble" + name); MachineRecipes.INSTANCE.addRecipe(RecipeType.CRUSHER, "ore" + name, "rubble" + name);
@ -80,10 +82,12 @@ public class ResourceGenerator
MachineRecipes.INSTANCE.addRecipe(RecipeType.MIXER, "dust" + name, "dustRefined" + name); MachineRecipes.INSTANCE.addRecipe(RecipeType.MIXER, "dust" + name, "dustRefined" + name);
MachineRecipes.INSTANCE.addRecipe(RecipeType.SMELTER, "dustRefined" + name, "ingot" + name); MachineRecipes.INSTANCE.addRecipe(RecipeType.SMELTER, "dustRefined" + name, "ingot" + name);
ItemStack dust = OreDictionary.getOres("dust" + name).get(0); ItemStack dust = ResonantInduction.itemDust.getStackFromMaterial(materialName);
FurnaceRecipes.smelting().addSmelting(dust.itemID, dust.getItemDamage(), OreDictionary.getOres("ingot" + name).get(0), 0.7f); FurnaceRecipes.smelting().addSmelting(dust.itemID, dust.getItemDamage(), OreDictionary.getOres("ingot" + name).get(0).copy(), 0.7f);
ItemStack refinedDust = OreDictionary.getOres("dustRefined" + name).get(0); ItemStack refinedDust = ResonantInduction.itemRefinedDust.getStackFromMaterial(materialName);
FurnaceRecipes.smelting().addSmelting(refinedDust.itemID, refinedDust.getItemDamage(), OreDictionary.getOres("ingot" + name).get(0), 0.7f); ItemStack smeltResult = OreDictionary.getOres("ingot" + name).get(0).copy();
smeltResult.stackSize = 2;
FurnaceRecipes.smelting().addSmelting(refinedDust.itemID, refinedDust.getItemDamage(), smeltResult, 0.7f);
} }
} }
} }
@ -124,7 +128,7 @@ public class ResourceGenerator
* Gets the average color of this item. * Gets the average color of this item.
* *
* @param itemStack * @param itemStack
* @return * @return The RGB hexadecimal color code.
*/ */
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public static int getAverageColor(ItemStack itemStack) public static int getAverageColor(ItemStack itemStack)

View file

@ -39,7 +39,7 @@ public class ItemOreResource extends ItemRI
@Override @Override
public String getItemDisplayName(ItemStack is) public String getItemDisplayName(ItemStack is)
{ {
String dustName = getDustFromStack(is); String dustName = getMaterialFromStack(is);
List<ItemStack> list = OreDictionary.getOres("ingot" + dustName.substring(0, 1).toUpperCase() + dustName.substring(1)); List<ItemStack> list = OreDictionary.getOres("ingot" + dustName.substring(0, 1).toUpperCase() + dustName.substring(1));
if (list.size() > 0) if (list.size() > 0)
@ -94,15 +94,16 @@ public class ItemOreResource extends ItemRI
return false; return false;
} }
public ItemStack getStackFromDust(String name) public ItemStack getStackFromMaterial(String name)
{ {
ItemStack itemStack = new ItemStack(this); ItemStack itemStack = new ItemStack(this);
NBTTagCompound nbt = NBTUtility.getNBTTagCompound(itemStack); NBTTagCompound nbt = NBTUtility.getNBTTagCompound(itemStack);
nbt.setString("name", name); nbt.setString("name", name);
itemStack.setItemDamage(ResourceGenerator.materialNames.indexOf(name));
return itemStack; return itemStack;
} }
public static String getDustFromStack(ItemStack itemStack) public static String getMaterialFromStack(ItemStack itemStack)
{ {
NBTTagCompound nbt = NBTUtility.getNBTTagCompound(itemStack); NBTTagCompound nbt = NBTUtility.getNBTTagCompound(itemStack);
@ -119,7 +120,7 @@ public class ItemOreResource extends ItemRI
{ {
for (String materialName : ResourceGenerator.materialNames) for (String materialName : ResourceGenerator.materialNames)
{ {
par3List.add(getStackFromDust(materialName)); par3List.add(getStackFromMaterial(materialName));
} }
} }
@ -130,7 +131,7 @@ public class ItemOreResource extends ItemRI
/** /**
* Auto-color based on the texture of the ingot. * Auto-color based on the texture of the ingot.
*/ */
String name = ItemOreResource.getDustFromStack(itemStack); String name = ItemOreResource.getMaterialFromStack(itemStack);
if (ResourceGenerator.materialColors.containsKey(name)) if (ResourceGenerator.materialColors.containsKey(name))
{ {

View file

@ -36,6 +36,7 @@ item.resonantinduction\:imprint.name=Imprint
item.resonantinduction\:hammer.name=Hammer item.resonantinduction\:hammer.name=Hammer
## Machines ## Machines
tile.resonantinduction\:millstone.name=Millstone
tile.resonantinduction\:imprinter.name=Imprinter tile.resonantinduction\:imprinter.name=Imprinter
tile.resonantinduction\:engineeringTable.name=Engineering Table tile.resonantinduction\:engineeringTable.name=Engineering Table
tile.resonantinduction\:firebox.name=Firebox tile.resonantinduction\:firebox.name=Firebox