From 687a966992dd1024e5596f2126fa82c7b54fc784 Mon Sep 17 00:00:00 2001 From: DarkGuardsman Date: Sat, 21 Sep 2013 11:36:03 -0400 Subject: [PATCH] reworked how ores are setup Removed the dependency on using the material enum as it was adding ores that should not generate which was causing a lot of issues. So to solve this the block has its own enum set of ores it will work with. However, i still need to reset the ore generator --- .../dark/textures/blocks/BauxiteOre.png | Bin 0 -> 3434 bytes src/dark/core/common/blocks/BlockOre.java | 49 ++++++++++++------ src/dark/core/common/blocks/ItemBlockOre.java | 7 ++- 3 files changed, 38 insertions(+), 18 deletions(-) create mode 100644 resources/assets/dark/textures/blocks/BauxiteOre.png diff --git a/resources/assets/dark/textures/blocks/BauxiteOre.png b/resources/assets/dark/textures/blocks/BauxiteOre.png new file mode 100644 index 0000000000000000000000000000000000000000..6836cd1b36132838f6669644ed4015b7b1b8d8aa GIT binary patch literal 3434 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 M07*qoM6N<$f}v7@9{>OV literal 0 HcmV?d00001 diff --git a/src/dark/core/common/blocks/BlockOre.java b/src/dark/core/common/blocks/BlockOre.java index a33d2536..fa8e58e4 100644 --- a/src/dark/core/common/blocks/BlockOre.java +++ b/src/dark/core/common/blocks/BlockOre.java @@ -29,17 +29,19 @@ public class BlockOre extends Block implements IExtraObjectInfo super(DarkMain.CONFIGURATION.getBlock("Ore", ModPrefab.getNextID()).getInt(), Material.rock); this.setCreativeTab(CreativeTabs.tabBlock); this.setUnlocalizedName(DarkMain.getInstance().PREFIX + "Ore"); + + for (OreData data : OreData.values()) + { + data.stack = new ItemStack(this.blockID, 1, data.ordinal()); + } } @Override public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List) { - for (int i = 0; i < EnumMeterials.values().length; i++) + for (OreData data : OreData.values()) { - if (EnumMeterials.values()[i].doWorldGen) - { - par3List.add(new ItemStack(par1, 1, i)); - } + par3List.add(data.stack); } } @@ -47,12 +49,9 @@ public class BlockOre extends Block implements IExtraObjectInfo @SideOnly(Side.CLIENT) public void registerIcons(IconRegister par1IconRegister) { - for (int i = 0; i < EnumMeterials.values().length; i++) + for (OreData data : OreData.values()) { - if (EnumMeterials.values()[i].doWorldGen) - { - this.icons[i] = par1IconRegister.registerIcon(DarkMain.getInstance().PREFIX + EnumMeterials.values()[i].name + "Ore"); - } + data.oreIcon = par1IconRegister.registerIcon(DarkMain.getInstance().PREFIX + data.name + "Ore"); } } @@ -60,9 +59,9 @@ public class BlockOre extends Block implements IExtraObjectInfo @SideOnly(Side.CLIENT) public Icon getIcon(int side, int metadata) { - if (this.icons[metadata] != null) + if (metadata < OreData.values().length) { - return this.icons[metadata]; + return OreData.values()[metadata].oreIcon; } return Block.stone.getIcon(side, metadata); } @@ -93,13 +92,29 @@ public class BlockOre extends Block implements IExtraObjectInfo @Override public void loadOreNames() { - for (int i = 0; i < EnumMeterials.values().length; i++) + for (OreData data : OreData.values()) { - if (EnumMeterials.values()[i].doWorldGen) - { - OreDictionary.registerOre(EnumMeterials.values()[i].name + "Ore", new ItemStack(this.blockID, 1, i)); - } + OreDictionary.registerOre(data.oreName, data.stack); } + } + public static enum OreData + { + TIN("tin", "oreTin"), + COPPER("copper", "copperOre"), + SILVER("silver", "silverOre"), + LEAD("lead","leadOre"), + Bauxite("bauxite","bauxiteOre"); + + public String name, oreName; + public ItemStack stack; + @SideOnly(Side.CLIENT) + public Icon oreIcon; + + private OreData(String name, String oreName) + { + this.name = name; + this.oreName = oreName; + } } } diff --git a/src/dark/core/common/blocks/ItemBlockOre.java b/src/dark/core/common/blocks/ItemBlockOre.java index 615c9525..7a4a2783 100644 --- a/src/dark/core/common/blocks/ItemBlockOre.java +++ b/src/dark/core/common/blocks/ItemBlockOre.java @@ -3,6 +3,7 @@ package dark.core.common.blocks; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import dark.core.common.DarkMain; +import dark.core.common.blocks.BlockOre.OreData; import dark.core.common.items.EnumMeterials; public class ItemBlockOre extends ItemBlock @@ -24,7 +25,11 @@ public class ItemBlockOre extends ItemBlock @Override public String getUnlocalizedName(ItemStack par1ItemStack) { - return "tile." + DarkMain.getInstance().PREFIX + EnumMeterials.values()[par1ItemStack.getItemDamage()].name + "Ore"; + if (par1ItemStack != null && par1ItemStack.getItemDamage() < OreData.values().length) + { + return "tile." + DarkMain.getInstance().PREFIX + OreData.values()[par1ItemStack.getItemDamage()].name + "Ore"; + } + return super.getUnlocalizedName(); } }