Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class BlockSolarPanel extends BlockJustSolarsBaseBlock implements IMetaBlockName {
- private String tier;
- public static final PropertyEnum<EnumSolarTier> TIER = PropertyEnum.<EnumSolarTier>create("tier", EnumSolarTier.class);
- private final int MESSAGE_ID = 14940026;
- public BlockSolarPanel() {
- super(Material.ROCK);
- blockHardness = 5.0F;
- blockSoundType = SoundType.METAL;
- setUnlocalizedName("blocksolarpanel");
- setRegistryName(MOD_ID, "blocksolarpanel");
- setHarvestLevel("pickaxe", Item.ToolMaterial.STONE.getHarvestLevel());
- setDefaultState(blockState.getBaseState().withProperty(TIER, EnumSolarTier.TIER0));
- }
- @Override
- public boolean onBlockActivated (World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
- if (!worldIn.isRemote) {
- final TileEntitySolarPanel tile = (TileEntitySolarPanel) worldIn.getTileEntity(pos);
- TextUtils.sendSpamlessMessage(this.MESSAGE_ID, new TextComponentString(I18n.format("tooltip.justsolars.blocksolarpanel.normal", tile.getPowerTransfer())));
- }
- return super.onBlockActivated(worldIn, pos, state, playerIn, hand, heldItem, side, hitX, hitY, hitZ);
- }
- @Override
- public boolean hasTileEntity(IBlockState state)
- {
- return true;
- }
- @Nonnull
- @Override
- public TileEntity createNewTileEntity(@Nonnull World worldIn, @Nonnull int meta) {
- return new TileEntitySolarPanel(meta);
- }
- @Override
- public int damageDropped(IBlockState state)
- {
- return getMetaFromState(state) % 8;
- }
- @Override
- @SideOnly(Side.CLIENT)
- public void getSubBlocks(@Nonnull Item itemIn, CreativeTabs tab, List<ItemStack> list)
- {
- for (EnumSolarTier tier : EnumSolarTier.values())
- {
- list.add(new ItemStack(itemIn, 1, tier.getMetadata()));
- }
- }
- @Override
- @SideOnly(Side.CLIENT)
- public void addInformation(ItemStack is, EntityPlayer ep, List<String> l, boolean b)
- {
- }
- @Nonnull
- @Override
- protected BlockStateContainer createBlockState()
- {
- return new BlockStateContainer(this, new IProperty[] {TIER});
- }
- @Override
- public IBlockState getStateFromMeta(int meta)
- {
- return this.getDefaultState().withProperty(TIER, EnumSolarTier.byMetadata(meta));
- }
- @Override
- public int getMetaFromState(IBlockState state)
- {
- return ((EnumSolarTier)state.getValue(TIER)).getMetadata();
- }
- @Override
- public EnumBlockRenderType getRenderType (IBlockState state) {
- return EnumBlockRenderType.MODEL;
- }
- @SuppressWarnings("deprecation")
- @Override
- public boolean isOpaqueCube(IBlockState state) {
- return false;
- }
- @Override
- @Nonnull
- public BlockRenderLayer getBlockLayer() {
- return BlockRenderLayer.CUTOUT;
- }
- public String getSpecialName(ItemStack stack) {
- return EnumSolarTier.values()[stack.getItemDamage()].name().toLowerCase();
- }
- }
Add Comment
Please, Sign In to add comment