Thanks for the quick reply!
I only have two blocks and these are the classes:
Thats the first one:
package com.versio.block;
import com.versio.init.ModItems;
import net.minecraft.block.Block;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.block.material.MaterialColor;
import net.minecraft.block.state.IBlockState;
import net.minecraft.item.ItemStack;
import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.common.ToolType;
public class BlockManganOre extends Block {
public BlockManganOre() {
super(Properties.create(Material.ROCK, MaterialColor.RED).hardnessAndResistance(3.0F, 2.0F)
.sound(SoundType.STONE));
this.setRegistryName("mangan_ore");
}
@Override
public int getHarvestLevel(IBlockState state) {
return 2;
}
@Override
public ToolType getHarvestTool(IBlockState state) {
return ToolType.PICKAXE;
}
@Override
public void getDrops(IBlockState state, NonNullList<ItemStack> drops, World world, BlockPos pos,
int fortune) {
drops.add(new ItemStack(ModItems.MANGAN, 1 + fortune));
}
}
And thats the second:
package com.versio.block;
import com.versio.init.ModItems;
import com.versio.tileentity.TileEntityJar;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.BlockRenderLayer;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.shapes.VoxelShape;
import net.minecraft.world.IBlockReader;
import net.minecraft.world.World;
public class BlockJar extends Block {
public BlockJar() {
super(Properties.create(Material.GLASS).hardnessAndResistance(.6F));
this.setRegistryName("jar");
}
@Override
public boolean onBlockActivated(IBlockState state, World worldIn, BlockPos pos,
EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY,
float hitZ) {
TileEntityJar jar = (TileEntityJar) worldIn.getTileEntity(pos);
if (jar.amount() < 64 && !player.getHeldItem(hand).isEmpty()
&& player.getHeldItem(hand).getItem().equals(ModItems.MANGAN)
&& !player.isSneaking()) {
player.getHeldItem(hand).shrink(1);
jar.addCrystals();
return true;
} else if (player.isSneaking() && jar.amount() > 0) {
player.addItemStackToInventory(new ItemStack(ModItems.MANGAN));
jar.removeCrystals();
return true;
}
return false;
}
@Override
public void harvestBlock(World worldIn, EntityPlayer player, BlockPos pos, IBlockState state,
TileEntity te, ItemStack stack) {
TileEntityJar jar = (TileEntityJar) te;
while (jar.amount() > 0) {
if (!worldIn.isRemote) {
worldIn.spawnEntity(new EntityItem(worldIn, pos.getX(), pos.getY(), pos.getZ(),
new ItemStack(ModItems.MANGAN)));
jar.removeCrystals();
}
}
super.harvestBlock(worldIn, player, pos, state, te, stack);
}
@Override
public boolean isBlockNormalCube(IBlockState state) {
return false;
}
@Override
public boolean isFullCube(IBlockState state) {
return false;
}
@Override
public BlockRenderLayer getRenderLayer() {
return BlockRenderLayer.CUTOUT;
}
@Override
public VoxelShape getShape(IBlockState state, IBlockReader worldIn, BlockPos pos) {
return Block.makeCuboidShape(3.0D, 0.0D, 3.0D, 13.0D, 13.0D, 13.0D);
}
@Override
public boolean hasTileEntity(IBlockState state) {
return true;
}
@Override
public TileEntity createTileEntity(IBlockState state, IBlockReader world) {
return new TileEntityJar();
}
}