Guest User

Block

a guest
Mar 5th, 2016
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.22 KB | None | 0 0
  1. package netvirtuahd.mart.blocks;
  2.  
  3. import net.minecraft.block.Block;
  4. import net.minecraft.block.material.Material;
  5. import net.minecraft.block.properties.PropertyDirection;
  6. import net.minecraft.block.state.BlockState;
  7. import net.minecraft.block.state.IBlockState;
  8. import net.minecraft.entity.Entity;
  9. import net.minecraft.entity.EntityLivingBase;
  10. import net.minecraft.entity.player.EntityPlayer;
  11. import net.minecraft.item.ItemStack;
  12. import net.minecraft.util.AxisAlignedBB;
  13. import net.minecraft.util.BlockPos;
  14. import net.minecraft.util.EnumFacing;
  15. import net.minecraft.util.EnumWorldBlockLayer;
  16. import net.minecraft.world.World;
  17. import netvirtuahd.mart.Main;
  18.  
  19. public class EAP extends Block {
  20.  
  21. public static final PropertyDirection FACING = PropertyDirection.create("facing", EnumFacing.Plane.HORIZONTAL);
  22.  
  23. public EAP(String unlocalizedName, Material material){
  24. super(material);
  25. this.setUnlocalizedName(unlocalizedName);
  26. this.setCreativeTab(Main.tabMart);
  27.  
  28. useNeighborBrightness = true;
  29.  
  30. setDefaultState(blockState.getBaseState().withProperty(FACING, EnumFacing.NORTH));
  31. }
  32.  
  33. @Override
  34. public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack)
  35. {
  36. worldIn.setBlockState(pos, state.withProperty(FACING, placer.getHorizontalFacing()));
  37. }
  38.  
  39. @Override
  40. public IBlockState getStateFromMeta(int meta)
  41. {
  42. EnumFacing facing = EnumFacing.getFront(meta);
  43.  
  44. if (facing.getAxis() == EnumFacing.Axis.Y)
  45. facing = EnumFacing.NORTH;
  46.  
  47. return getDefaultState().withProperty(FACING, facing);
  48. }
  49.  
  50. @Override
  51. public int getMetaFromState(IBlockState state)
  52. {
  53. return state.getValue(FACING).getIndex();
  54. }
  55.  
  56. @Override
  57. protected BlockState createBlockState()
  58. {
  59. return new BlockState(this, FACING);
  60. }
  61.  
  62. @Override
  63. public boolean isOpaqueCube() {
  64. return false;
  65. }
  66.  
  67. @Override
  68. public boolean isFullCube() {
  69. return false;
  70. }
  71.  
  72. public EAP(String unlocalizedName, float hardness, float resistance) {
  73. this(unlocalizedName, Material.rock);
  74. }
  75.  
  76. public EAP(String unlocalizedName) {
  77. this(unlocalizedName, 2.0f, 10.0f);
  78. }
  79.  
  80. @Override
  81. public EnumWorldBlockLayer getBlockLayer() {
  82. return EnumWorldBlockLayer.CUTOUT;
  83. }
  84.  
  85. @Override
  86. public AxisAlignedBB getCollisionBoundingBox(World world, BlockPos pos, IBlockState state) {
  87. float f = 0.125F;
  88. return new AxisAlignedBB((double)pos.getX(), (double)pos.getY(), (double)pos.getZ(), (double)(pos.getX() + 1), (double)((float)(pos.getY() + 1) - f), (double)(pos.getZ() + 1));
  89. }
  90.  
  91. @Override
  92. public void onEntityCollidedWithBlock(World world, BlockPos pos, IBlockState state, Entity entity) {
  93. entity.motionX *= 2.3D;
  94. entity.motionY *= 2.3D;
  95. }
  96.  
  97. @Override
  98. public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumFacing side, float hitX, float hitY, float hitZ) {
  99. player.openGui(Main.instance, Main.modguidefaultcraftingtable, world, pos.getX(), pos.getY(), pos.getZ());
  100. return super.onBlockActivated(world, pos, state, player, side, hitX, hitY, hitZ);
  101. }
  102. }
Advertisement
Add Comment
Please, Sign In to add comment