Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.TheGoldCrayon.Daemonology.blocks;
- import java.util.List;
- import com.TheGoldCrayon.Daemonology.DaemonologyMod;
- import com.TheGoldCrayon.Daemonology.handlers.EnumHandler;
- import net.minecraft.block.Block;
- import net.minecraft.block.material.Material;
- import net.minecraft.block.properties.IProperty;
- import net.minecraft.block.properties.PropertyEnum;
- import net.minecraft.block.state.BlockState;
- import net.minecraft.block.state.IBlockState;
- import net.minecraft.creativetab.CreativeTabs;
- import net.minecraft.entity.player.EntityPlayer;
- import net.minecraft.init.Blocks;
- import net.minecraft.item.Item;
- import net.minecraft.item.ItemStack;
- import net.minecraft.util.AxisAlignedBB;
- import net.minecraft.util.BlockPos;
- import net.minecraft.util.EnumWorldBlockLayer;
- import net.minecraft.util.MovingObjectPosition;
- import net.minecraft.world.World;
- import net.minecraftforge.fml.relauncher.Side;
- import net.minecraftforge.fml.relauncher.SideOnly;
- public class BlockRune extends Block implements IMetaBlockName
- {
- public static final PropertyEnum TYPE = PropertyEnum.create("type", EnumHandler.BlockRuneTypes.class);
- public BlockRune(String unlocalizedName)
- {
- super(Material.circuits);
- this.setUnlocalizedName(unlocalizedName);
- this.setCreativeTab(DaemonologyMod.tabDaemonology);
- this.setBlockBounds(0f, 0f, 0f, 1f, 0.05f, 1f);
- this.setDefaultState(this.blockState.getBaseState().withProperty(TYPE, EnumHandler.BlockRuneTypes.BLACK));
- }
- @Override
- public void getSubBlocks(Item item, CreativeTabs tab, List<ItemStack> list)
- {
- list.add(new ItemStack(item, 1, 0));
- list.add(new ItemStack(item, 1, 1));
- }
- public boolean isOpaqueCube()
- {
- return false;
- }
- public boolean isFullCube()
- {
- return false;
- }
- @SideOnly(Side.CLIENT)
- public EnumWorldBlockLayer getBlockLayer()
- {
- return EnumWorldBlockLayer.CUTOUT;
- }
- public AxisAlignedBB getCollisionBoundingBox(World worldIn, BlockPos pos, IBlockState state)
- {
- return null;
- }
- public boolean canPlaceBlockAt(World worldIn, BlockPos pos)
- {
- return World.doesBlockHaveSolidTopSurface(worldIn, pos.down()) || worldIn.getBlockState(pos.down()).getBlock() == Blocks.glowstone;
- }
- @Override
- protected BlockState createBlockState()
- {
- return new BlockState(this, new IProperty[] { TYPE });
- }
- @Override
- public IBlockState getStateFromMeta(int meta)
- {
- if (meta == 0)
- {
- return getDefaultState().withProperty(TYPE, EnumHandler.BlockRuneTypes.BLACK);
- }
- if (meta == 1)
- {
- return getDefaultState().withProperty(TYPE, EnumHandler.BlockRuneTypes.RED);
- }
- return getDefaultState().withProperty(TYPE, EnumHandler.BlockRuneTypes.BLACK);
- }
- @Override
- public int getMetaFromState(IBlockState state)
- {
- EnumHandler.BlockRuneTypes type = (EnumHandler.BlockRuneTypes) state.getValue(TYPE);
- return type.getID();
- }
- @Override
- public int damageDropped(IBlockState state)
- {
- return this.getMetaFromState(state);
- }
- @Override
- public String getSpecialName(ItemStack stack)
- {
- if(stack.getItemDamage() == 0)
- {
- return "black";
- }
- if(stack.getItemDamage() == 1)
- {
- return "red";
- }
- return "black";
- }
- @Override
- public ItemStack getPickBlock(MovingObjectPosition target, World world, BlockPos pos, EntityPlayer player)
- {
- return new ItemStack(Item.getItemFromBlock(this), 1, this.getMetaFromState(world.getBlockState(pos)));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment