Hello,
I have a small problem with my generated ore stacking after i break it with a pickaxe.
If i spawn in both ores with Creative, and drop them with the Q button they dont stack. any advice ?
Thx in advance.
Block MetaData ores
package NexanSv6.MechanicalCraft.Blocks;
import java.util.List;
import net.minecraft.src.Block;
import net.minecraft.src.CreativeTabs;
import net.minecraft.src.ItemStack;
import net.minecraft.src.Material;
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
public class BlockMetadataOres extends Block
{
public BlockMetadataOres(int ID)
{
super(ID , Material.rock);
setHardness(5F);
setResistance(10F);
setCreativeTab(CreativeTabs.tabBlock);
}
public String getTextureFile()
{
return "/gfx/MeCOre.png";
}
public int getBlockTextureFromSideAndMetadata(int i,int l)
{
switch(l)
{
case 0:return 0;
case 1:return 1;
default: return 0;
}
}
public void getSubBlocks(int i,CreativeTabs tab, List list)
{
list.add(new ItemStack(i,1,0));
list.add(new ItemStack(i,1,1));
}
}
Item Metadata Ores
package NexanSv6.MechanicalCraft.Blocks;
import net.minecraft.src.ItemBlock;
import java.util.List;
import NexanSv6.MechanicalCraft.MechanicalCraft;
import net.minecraft.src.CreativeTabs;
import net.minecraft.src.Item;
import net.minecraft.src.ItemStack;
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
public class ItemMetadataOre extends ItemBlock
{
public ItemMetadataOre(int par1)
{
super(par1);
setMaxDamage(0);
setHasSubtypes(true);
}
public String getItemNameIS(ItemStack i)
{
switch(i.getItemDamage())
{
case 0: return "Rutile Ore";
case 1: return "Bauxite Ore";
default: return"";
}
}
public int getMetadata(int par1)
{
return par1;
}
@SideOnly(Side.CLIENT)
public int getIconFromDamage(int par1)
{
return MechanicalCraft.metaOre.getBlockTextureFromSideAndMetadata(2, par1);
}
}
Bauxite World Generator
package NexanSv6.MechanicalCraft.WorldGeneration;
import java.util.Random;
import NexanSv6.MechanicalCraft.MechanicalCraft;
import net.minecraft.src.BiomeGenBase;
import net.minecraft.src.WorldGenMinable;
import net.minecraft.src.IChunkProvider;
import net.minecraft.src.World;
import cpw.mods.fml.common.IWorldGenerator;
public class BauxiteWorldGenerator implements IWorldGenerator
{
@Override
public void generate(Random random, int chunkX, int chunkZ,World world, IChunkProvider chunkGenerator,IChunkProvider chunkProvider)
{
switch(world.provider.worldType)
{
case 0 :generateSurface(world,random,chunkX*16,chunkZ*16);
}
}
public void generateSurface(World world, Random random, int blockX, int blockZ)
{
int XCoord = blockX + random.nextInt(16);
int YCoord = random.nextInt(60);
int ZCoord = blockZ + random.nextInt(16);
(new WorldGenMinable(MechanicalCraft.metaOre.blockID,1,12)).generate(world, random, XCoord, YCoord, ZCoord);
}
}
Rutile World Generator
package NexanSv6.MechanicalCraft.WorldGeneration;
import java.util.Random;
import NexanSv6.MechanicalCraft.MechanicalCraft;
import net.minecraft.src.BiomeGenBase;
import net.minecraft.src.WorldGenMinable;
import net.minecraft.src.IChunkProvider;
import net.minecraft.src.World;
import cpw.mods.fml.common.IWorldGenerator;
public class RutileWorldGenerator implements IWorldGenerator
{
@Override
public void generate(Random random, int chunkX, int chunkZ,World world, IChunkProvider chunkGenerator,IChunkProvider chunkProvider)
{
switch(world.provider.worldType)
{
case 0 :generateSurface(world,random,chunkX*16,chunkZ*16);
}
}
public void generateSurface(World world, Random random, int blockX, int blockZ)
{
int XCoord = blockX + random.nextInt(16);
int YCoord = random.nextInt(60);
int ZCoord = blockZ + random.nextInt(16);
(new WorldGenMinable(MechanicalCraft.metaOre.blockID,0,6)).generate(world, random, XCoord, YCoord, ZCoord);
}
}