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;

View file

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

View file

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

View file

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

View file

@ -3,9 +3,9 @@ package resonantinduction.core.resource;
import java.awt.Color;
import java.awt.image.BufferedImage;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;
import java.util.List;
import javax.imageio.ImageIO;
@ -35,7 +35,7 @@ import cpw.mods.fml.relauncher.SideOnly;
public class 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<Item, Integer> itemColorMap = new HashMap<Item, Integer>();
@ -44,12 +44,13 @@ public class ResourceGenerator
{
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;
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)
{
// Caps version of the name
String name = materialName.substring(0, 1).toUpperCase() + materialName.substring(1);
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("dust" + name, ResonantInduction.itemDust.getStackFromDust(materialName));
OreDictionary.registerOre("dustRefined" + name, ResonantInduction.itemRefinedDust.getStackFromDust(materialName));
OreDictionary.registerOre("rubble" + name, ResonantInduction.itemRubble.getStackFromMaterial(materialName));
OreDictionary.registerOre("dust" + name, ResonantInduction.itemDust.getStackFromMaterial(materialName));
OreDictionary.registerOre("dustRefined" + name, ResonantInduction.itemRefinedDust.getStackFromMaterial(materialName));
}
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.SMELTER, "dustRefined" + name, "ingot" + name);
ItemStack dust = OreDictionary.getOres("dust" + name).get(0);
FurnaceRecipes.smelting().addSmelting(dust.itemID, dust.getItemDamage(), OreDictionary.getOres("ingot" + name).get(0), 0.7f);
ItemStack refinedDust = OreDictionary.getOres("dustRefined" + name).get(0);
FurnaceRecipes.smelting().addSmelting(refinedDust.itemID, refinedDust.getItemDamage(), OreDictionary.getOres("ingot" + name).get(0), 0.7f);
ItemStack dust = ResonantInduction.itemDust.getStackFromMaterial(materialName);
FurnaceRecipes.smelting().addSmelting(dust.itemID, dust.getItemDamage(), OreDictionary.getOres("ingot" + name).get(0).copy(), 0.7f);
ItemStack refinedDust = ResonantInduction.itemRefinedDust.getStackFromMaterial(materialName);
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.
*
* @param itemStack
* @return
* @return The RGB hexadecimal color code.
*/
@SideOnly(Side.CLIENT)
public static int getAverageColor(ItemStack itemStack)

View file

@ -39,7 +39,7 @@ public class ItemOreResource extends ItemRI
@Override
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));
if (list.size() > 0)
@ -94,15 +94,16 @@ public class ItemOreResource extends ItemRI
return false;
}
public ItemStack getStackFromDust(String name)
public ItemStack getStackFromMaterial(String name)
{
ItemStack itemStack = new ItemStack(this);
NBTTagCompound nbt = NBTUtility.getNBTTagCompound(itemStack);
nbt.setString("name", name);
itemStack.setItemDamage(ResourceGenerator.materialNames.indexOf(name));
return itemStack;
}
public static String getDustFromStack(ItemStack itemStack)
public static String getMaterialFromStack(ItemStack itemStack)
{
NBTTagCompound nbt = NBTUtility.getNBTTagCompound(itemStack);
@ -119,7 +120,7 @@ public class ItemOreResource extends ItemRI
{
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.
*/
String name = ItemOreResource.getDustFromStack(itemStack);
String name = ItemOreResource.getMaterialFromStack(itemStack);
if (ResourceGenerator.materialColors.containsKey(name))
{

View file

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