diff --git a/src/main/java/resonantinduction/archaic/blocks/BlockColorGlass.java b/src/main/java/resonantinduction/core/prefab/block/BlockColorGlass.java similarity index 95% rename from src/main/java/resonantinduction/archaic/blocks/BlockColorGlass.java rename to src/main/java/resonantinduction/core/prefab/block/BlockColorGlass.java index 395e8e42..0c9a83d9 100644 --- a/src/main/java/resonantinduction/archaic/blocks/BlockColorGlass.java +++ b/src/main/java/resonantinduction/core/prefab/block/BlockColorGlass.java @@ -1,4 +1,4 @@ -package resonantinduction.archaic.blocks; +package resonantinduction.core.prefab.block; import java.util.Random; diff --git a/src/main/java/resonantinduction/archaic/blocks/BlockColorGlowGlass.java b/src/main/java/resonantinduction/core/prefab/block/BlockColorGlowGlass.java similarity index 79% rename from src/main/java/resonantinduction/archaic/blocks/BlockColorGlowGlass.java rename to src/main/java/resonantinduction/core/prefab/block/BlockColorGlowGlass.java index 806310b6..032028d5 100644 --- a/src/main/java/resonantinduction/archaic/blocks/BlockColorGlowGlass.java +++ b/src/main/java/resonantinduction/core/prefab/block/BlockColorGlowGlass.java @@ -1,4 +1,4 @@ -package resonantinduction.archaic.blocks; +package resonantinduction.core.prefab.block; public class BlockColorGlowGlass extends BlockColorGlass { diff --git a/src/main/java/resonantinduction/archaic/blocks/BlockColorSand.java b/src/main/java/resonantinduction/core/prefab/block/BlockColorSand.java similarity index 98% rename from src/main/java/resonantinduction/archaic/blocks/BlockColorSand.java rename to src/main/java/resonantinduction/core/prefab/block/BlockColorSand.java index b1d567fd..5de45793 100644 --- a/src/main/java/resonantinduction/archaic/blocks/BlockColorSand.java +++ b/src/main/java/resonantinduction/core/prefab/block/BlockColorSand.java @@ -1,4 +1,4 @@ -package resonantinduction.archaic.blocks; +package resonantinduction.core.prefab.block; import java.util.Random; diff --git a/src/main/java/resonantinduction/archaic/blocks/BlockColored.java b/src/main/java/resonantinduction/core/prefab/block/BlockColored.java similarity index 97% rename from src/main/java/resonantinduction/archaic/blocks/BlockColored.java rename to src/main/java/resonantinduction/core/prefab/block/BlockColored.java index 9fbcf290..05e093e3 100644 --- a/src/main/java/resonantinduction/archaic/blocks/BlockColored.java +++ b/src/main/java/resonantinduction/core/prefab/block/BlockColored.java @@ -1,4 +1,4 @@ -package resonantinduction.archaic.blocks; +package resonantinduction.core.prefab.block; import java.util.List; diff --git a/src/main/java/resonantinduction/core/resource/ResourceGenerator.java b/src/main/java/resonantinduction/core/resource/ResourceGenerator.java index 5d598b87..6ef910fe 100644 --- a/src/main/java/resonantinduction/core/resource/ResourceGenerator.java +++ b/src/main/java/resonantinduction/core/resource/ResourceGenerator.java @@ -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 materialNames = new HashSet(); + public static final List materialNames = new ArrayList(); public static final HashMap materialColors = new HashMap(); public static final HashMap itemColorMap = new HashMap(); @@ -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) diff --git a/src/main/java/resonantinduction/core/resource/item/ItemOreResource.java b/src/main/java/resonantinduction/core/resource/item/ItemOreResource.java index d6080d40..2c791d50 100644 --- a/src/main/java/resonantinduction/core/resource/item/ItemOreResource.java +++ b/src/main/java/resonantinduction/core/resource/item/ItemOreResource.java @@ -39,7 +39,7 @@ public class ItemOreResource extends ItemRI @Override public String getItemDisplayName(ItemStack is) { - String dustName = getDustFromStack(is); + String dustName = getMaterialFromStack(is); List 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)) { diff --git a/src/main/resources/assets/resonantinduction/languages/en_US.properties b/src/main/resources/assets/resonantinduction/languages/en_US.properties index 05eb2a5f..7b31b85a 100644 --- a/src/main/resources/assets/resonantinduction/languages/en_US.properties +++ b/src/main/resources/assets/resonantinduction/languages/en_US.properties @@ -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