Guest User

Untitled

a guest
Aug 12th, 2016
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.31 KB | None | 0 0
  1. public class BlockSolarPanel extends BlockJustSolarsBaseBlock implements IMetaBlockName {
  2.  
  3. private String tier;
  4. public static final PropertyEnum<EnumSolarTier> TIER = PropertyEnum.<EnumSolarTier>create("tier", EnumSolarTier.class);
  5. private final int MESSAGE_ID = 14940026;
  6.  
  7. public BlockSolarPanel() {
  8.  
  9. super(Material.ROCK);
  10. blockHardness = 5.0F;
  11. blockSoundType = SoundType.METAL;
  12. setUnlocalizedName("blocksolarpanel");
  13. setRegistryName(MOD_ID, "blocksolarpanel");
  14. setHarvestLevel("pickaxe", Item.ToolMaterial.STONE.getHarvestLevel());
  15. setDefaultState(blockState.getBaseState().withProperty(TIER, EnumSolarTier.TIER0));
  16. }
  17.  
  18. @Override
  19. public boolean onBlockActivated (World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
  20.  
  21. if (!worldIn.isRemote) {
  22.  
  23. final TileEntitySolarPanel tile = (TileEntitySolarPanel) worldIn.getTileEntity(pos);
  24.  
  25. TextUtils.sendSpamlessMessage(this.MESSAGE_ID, new TextComponentString(I18n.format("tooltip.justsolars.blocksolarpanel.normal", tile.getPowerTransfer())));
  26.  
  27.  
  28. }
  29.  
  30. return super.onBlockActivated(worldIn, pos, state, playerIn, hand, heldItem, side, hitX, hitY, hitZ);
  31. }
  32.  
  33.  
  34. @Override
  35. public boolean hasTileEntity(IBlockState state)
  36. {
  37. return true;
  38. }
  39.  
  40. @Nonnull
  41. @Override
  42. public TileEntity createNewTileEntity(@Nonnull World worldIn, @Nonnull int meta) {
  43. return new TileEntitySolarPanel(meta);
  44. }
  45.  
  46. @Override
  47. public int damageDropped(IBlockState state)
  48. {
  49. return getMetaFromState(state) % 8;
  50. }
  51.  
  52. @Override
  53. @SideOnly(Side.CLIENT)
  54. public void getSubBlocks(@Nonnull Item itemIn, CreativeTabs tab, List<ItemStack> list)
  55. {
  56. for (EnumSolarTier tier : EnumSolarTier.values())
  57. {
  58. list.add(new ItemStack(itemIn, 1, tier.getMetadata()));
  59.  
  60. }
  61. }
  62.  
  63. @Override
  64. @SideOnly(Side.CLIENT)
  65. public void addInformation(ItemStack is, EntityPlayer ep, List<String> l, boolean b)
  66. {
  67. }
  68.  
  69. @Nonnull
  70. @Override
  71. protected BlockStateContainer createBlockState()
  72. {
  73. return new BlockStateContainer(this, new IProperty[] {TIER});
  74. }
  75.  
  76. @Override
  77. public IBlockState getStateFromMeta(int meta)
  78. {
  79. return this.getDefaultState().withProperty(TIER, EnumSolarTier.byMetadata(meta));
  80.  
  81. }
  82.  
  83. @Override
  84. public int getMetaFromState(IBlockState state)
  85. {
  86. return ((EnumSolarTier)state.getValue(TIER)).getMetadata();
  87.  
  88. }
  89.  
  90. @Override
  91. public EnumBlockRenderType getRenderType (IBlockState state) {
  92.  
  93. return EnumBlockRenderType.MODEL;
  94. }
  95. @SuppressWarnings("deprecation")
  96. @Override
  97. public boolean isOpaqueCube(IBlockState state) {
  98. return false;
  99. }
  100.  
  101. @Override
  102. @Nonnull
  103. public BlockRenderLayer getBlockLayer() {
  104. return BlockRenderLayer.CUTOUT;
  105. }
  106.  
  107. public String getSpecialName(ItemStack stack) {
  108.  
  109. return EnumSolarTier.values()[stack.getItemDamage()].name().toLowerCase();
  110. }
  111. }
Add Comment
Please, Sign In to add comment