Fixed vein Redstone Ore support

This commit is contained in:
Aidan Brady 2014-01-11 00:16:31 -05:00
parent 1df6fc689a
commit a3012b05fb
2 changed files with 19 additions and 2 deletions

View file

@ -835,6 +835,8 @@ public class Mekanism
OreDictionary.registerOre("oreCoal", new ItemStack(Block.oreCoal)); OreDictionary.registerOre("oreCoal", new ItemStack(Block.oreCoal));
OreDictionary.registerOre("ingotIron", new ItemStack(Item.ingotIron)); OreDictionary.registerOre("ingotIron", new ItemStack(Item.ingotIron));
OreDictionary.registerOre("ingotGold", new ItemStack(Item.ingotGold)); OreDictionary.registerOre("ingotGold", new ItemStack(Item.ingotGold));
OreDictionary.registerOre("oreRedstone", new ItemStack(Block.oreRedstone));
OreDictionary.registerOre("oreRedstone", new ItemStack(Block.oreRedstoneGlowing));
if(controlCircuitOreDict || !hooks.BasicComponentsLoaded) if(controlCircuitOreDict || !hooks.BasicComponentsLoaded)
{ {

View file

@ -1,11 +1,14 @@
package mekanism.common.item; package mekanism.common.item;
import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Set; import java.util.Set;
import mekanism.api.Coord4D; import mekanism.api.Coord4D;
import mekanism.api.EnumColor; import mekanism.api.EnumColor;
import mekanism.api.ListUtils;
import mekanism.common.util.MekanismUtils; import mekanism.common.util.MekanismUtils;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
@ -211,7 +214,7 @@ public class ItemAtomicDisassembler extends ItemEnergized
return false; return false;
} }
public class Finder public static class Finder
{ {
public World world; public World world;
@ -221,6 +224,8 @@ public class ItemAtomicDisassembler extends ItemEnergized
public Set<Coord4D> found = new HashSet<Coord4D>(); public Set<Coord4D> found = new HashSet<Coord4D>();
public static Map<Integer, List<Integer>> ignoreID = new HashMap<Integer, List<Integer>>();
public Finder(World w, ItemStack s, Coord4D loc) public Finder(World w, ItemStack s, Coord4D loc)
{ {
world = w; world = w;
@ -241,7 +246,7 @@ public class ItemAtomicDisassembler extends ItemEnergized
{ {
Coord4D coord = pointer.getFromSide(side); Coord4D coord = pointer.getFromSide(side);
if(coord.exists(world) && coord.getBlockId(world) == stack.itemID && coord.getMetadata(world) == stack.getItemDamage()) if(coord.exists(world) && checkID(coord.getBlockId(world)) && coord.getMetadata(world) == stack.getItemDamage())
{ {
loop(coord); loop(coord);
} }
@ -254,5 +259,15 @@ public class ItemAtomicDisassembler extends ItemEnergized
return found; return found;
} }
public boolean checkID(int id)
{
return ignoreID.get(location.getBlockId(world)) != null && ignoreID.get(location.getBlockId(world)).contains(id);
}
static {
ignoreID.put(Block.oreRedstone.blockID, ListUtils.asList(Block.oreRedstone.blockID, Block.oreRedstoneGlowing.blockID));
ignoreID.put(Block.oreRedstoneGlowing.blockID, ListUtils.asList(Block.oreRedstone.blockID, Block.oreRedstoneGlowing.blockID));
}
} }
} }