Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.nuparu.sevendaystomine.block;
- import java.util.Random;
- import com.nuparu.sevendaystomine.SevenDaysToMine;
- import com.nuparu.sevendaystomine.init.Items;
- import net.minecraft.block.material.Material;
- import net.minecraft.block.properties.IProperty;
- import net.minecraft.block.properties.PropertyEnum;
- import net.minecraft.block.state.BlockStateContainer;
- import net.minecraft.block.state.IBlockState;
- import net.minecraft.creativetab.CreativeTabs;
- import net.minecraft.item.Item;
- import net.minecraft.item.ItemStack;
- import net.minecraft.util.IStringSerializable;
- import net.minecraft.util.NonNullList;
- import net.minecraft.util.math.BlockPos;
- import net.minecraft.world.World;
- import net.minecraftforge.fml.relauncher.Side;
- import net.minecraftforge.fml.relauncher.SideOnly;
- public class BlockSmallRock extends BlockPickable {
- public static final PropertyEnum<EnumType> VARIANT = PropertyEnum.<EnumType>create("variant",
- BlockSmallRock.EnumType.class);
- public BlockSmallRock() {
- super(Material.ROCK);
- this.setDefaultState(this.blockState.getBaseState().withProperty(VARIANT, EnumType.STONE));
- this.setCreativeTab(SevenDaysToMine.TAB_BUILDING);
- }
- public Item getItemDropped(IBlockState state, Random rand, int fortune) {
- return Items.SMALL_STONE;
- }
- @Override
- public ItemStack getItem(World worldIn, BlockPos pos, IBlockState state) {
- return new ItemStack(Items.SMALL_STONE);
- }
- @SideOnly(Side.CLIENT)
- public void getSubBlocks(Item itemIn, CreativeTabs tab, NonNullList<ItemStack> list) {
- for (EnumType enumtype : EnumType.values()) {
- list.add(new ItemStack(this, 1, enumtype.getMetadata()));
- }
- }
- public IBlockState getStateFromMeta(int meta) {
- return this.getDefaultState().withProperty(VARIANT, EnumType.byMetadata(meta));
- }
- public int getMetaFromState(IBlockState state) {
- return ((EnumType) state.getValue(VARIANT)).getMetadata();
- }
- protected BlockStateContainer createBlockState() {
- return new BlockStateContainer(this, new IProperty[] { VARIANT });
- }
- public static enum EnumType implements IStringSerializable {
- STONE("stone",0), GRANITE("granite",1), DIORITE("diorite",2), ANDESITE("andesite",3);
- private static final BlockSmallRock.EnumType[] META_LOOKUP = new BlockSmallRock.EnumType[values().length];
- private final String name;
- private final int metadata;
- EnumType(String name, int meta) {
- this.name = name;
- this.metadata = meta;
- }
- @Override
- public String getName() {
- return name;
- }
- public int getMetadata() {
- return metadata;
- }
- public static BlockSmallRock.EnumType byMetadata(int meta)
- {
- if (meta < 0 || meta >= META_LOOKUP.length)
- {
- meta = 0;
- }
- return META_LOOKUP[meta];
- }
- static
- {
- for (BlockSmallRock.EnumType enumtype : values())
- {
- META_LOOKUP[enumtype.getMetadata()] = enumtype;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement