Guest User

Glass Slab Main Class

a guest
Aug 4th, 2018
251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.39 KB | None | 0 0
  1. package trolio.morethings.blocks;
  2.  
  3. import java.util.Random;
  4.  
  5. import net.minecraft.block.Block;
  6. import net.minecraft.block.BlockSlab;
  7. import net.minecraft.block.material.Material;
  8. import net.minecraft.block.properties.IProperty;
  9. import net.minecraft.block.state.BlockStateContainer;
  10. import net.minecraft.block.state.IBlockState;
  11. import net.minecraft.item.Item;
  12. import net.minecraft.item.ItemBlock;
  13. import net.minecraft.item.ItemStack;
  14. import net.minecraftforge.fml.relauncher.Side;
  15. import net.minecraftforge.fml.relauncher.SideOnly;
  16. import trolio.morethings.Main;
  17. import trolio.morethings.init.ModBlocks;
  18. import trolio.morethings.init.ModItems;
  19. import trolio.morethings.util.IHasModel;
  20. import trolio.morethings.util.handlers.CreativeTabHandler;
  21.  
  22. public abstract class GlassSlab extends BlockSlab
  23. {
  24. public GlassSlab (String name)
  25. {
  26. super(Material.GLASS);
  27. setUnlocalizedName(name);
  28. setRegistryName(name);
  29. setCreativeTab(CreativeTabHandler.tabBlocks);
  30.  
  31. IBlockState state = this.blockState.getBaseState();
  32.  
  33. if (!this.isDouble())
  34. {
  35. state = state.withProperty(HALF, EnumBlockHalf.BOTTOM);
  36. }
  37. }
  38.  
  39. public boolean isOpaqueCube (IBlockState state)
  40. {
  41. return false;
  42. }
  43.  
  44. @Override
  45. public boolean isFullCube (IBlockState state)
  46. {
  47. return false;
  48. }
  49.  
  50. @Override
  51. public String getUnlocalizedName (int meta)
  52. {
  53. return this.getUnlocalizedName();
  54. }
  55.  
  56. @Override
  57. public IProperty<?> getVariantProperty()
  58. {
  59. return HALF;
  60. }
  61.  
  62. @Override
  63. public Comparable<?> getTypeForItem (ItemStack stack)
  64. {
  65. return EnumBlockHalf.BOTTOM;
  66. }
  67.  
  68. @Override
  69. public int damageDropped (IBlockState state)
  70. {
  71. return 0;
  72. }
  73.  
  74. @Override
  75. public IBlockState getStateFromMeta (int meta)
  76. {
  77. if (!this.isDouble())
  78. {
  79. return this.getDefaultState().withProperty(HALF, EnumBlockHalf.values()[meta % EnumBlockHalf.values().length]);
  80. }
  81. return this.getDefaultState();
  82. }
  83.  
  84. @Override
  85. public int getMetaFromState (IBlockState state)
  86. {
  87. if (!this.isDouble())
  88. {
  89. return 0;
  90. }
  91. return ((EnumBlockHalf)state.getValue(HALF)).ordinal() + 1;
  92. }
  93.  
  94. @Override
  95. public Item getItemDropped (IBlockState state, Random rand, int fortune)
  96. {
  97. return Item.getItemFromBlock(ModBlocks.slabWhiteGlassHalf);
  98. }
  99.  
  100. @Override
  101. protected BlockStateContainer createBlockState()
  102. {
  103. return new BlockStateContainer(this, new IProperty[] { HALF });
  104. }
  105. }
Advertisement
Add Comment
Please, Sign In to add comment