Advertisement
Guest User

Untitled

a guest
Feb 10th, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.16 KB | None | 0 0
  1. class BlockWooden(uName: String, mat: Material = Material.wood, hardness: Float = 2.0f, resistance: Float = 2.0f) extends {
  2. final val FACING = PropertyDirection.create("facing", EnumFacing.Plane.HORIZONTAL)
  3. final val TYPE = PropertyEnum.create("type", classOf[EnumProperty.EnumWoodenType])
  4.  
  5. } with BaseBlock(uName, mat, hardness, resistance) with traits.WithTE {
  6.  
  7. setDefaultState(this.getBlockState.getBaseState.withProperty(TYPE, EnumProperty.EnumWoodenType.SHELVE).withProperty(FACING, EnumFacing.NORTH))
  8.  
  9.  
  10. override def getSpecialName(stack: ItemStack): String = stack.getItemDamage match {
  11. case 0 => "shelve"
  12. case _ => "unforeseen"
  13. }
  14.  
  15. override def createBlockState(): BlockState = new BlockState(this, TYPE, FACING)
  16. override def isOpaqueCube() = false
  17. override def isFullCube() = false
  18.  
  19.  
  20. override def getStateFromMeta(meta: Int): IBlockState = {
  21. getDefaultState().withProperty(TYPE, meta match {
  22. case 0 => EnumProperty.EnumWoodenType.SHELVE
  23.  
  24. })
  25. }
  26.  
  27. override def getMetaFromState(state: IBlockState): Int = state.getValue(TYPE).asInstanceOf[EnumProperty.EnumWoodenType].getID
  28. override def damageDropped(state: IBlockState): Int = getMetaFromState(state)
  29.  
  30.  
  31. override def onBlockActivated(world: World, pos: BlockPos, state: IBlockState, player: EntityPlayer, side: EnumFacing, hitX: Float, hitY: Float, hitZ: Float) = {
  32. getMetaFromState(state) match {
  33. case 0 => false
  34. case _ => false
  35. }
  36. }
  37.  
  38. override def onBlockPlaced(world: World, pos: BlockPos, facing: EnumFacing, hitX: Float, hitY: Float, hitZ: Float, meta: Int, placer: EntityLivingBase) = {
  39. this.getDefaultState.withProperty(FACING, placer.getHorizontalFacing.getOpposite)
  40. }
  41.  
  42. override def getComparatorInputOverride(world: World, pos: BlockPos) = net.minecraft.inventory.Container.calcRedstone(world.getTileEntity(pos))
  43.  
  44. @SideOnly(Side.CLIENT)
  45. override def getSubBlocks(item: Item, tab: CreativeTabs, list: java.util.List[ItemStack]) {
  46. list.add(new ItemStack(item, 1, 0))
  47. }
  48.  
  49. override def createNewTileEntity(worldIn: World, meta: Int): TileEntity = meta match {
  50. case 0 => new TileShelve()
  51. case _ => null
  52. }
  53.  
  54.  
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement