package net.glowstone.block.blocktype;

import net.glowstone.block.GlowBlock;
import net.glowstone.entity.GlowPlayer;

/**
 * Represents a growable block.
 */
public interface IBlockGrowable {

    /**
     * Called to check if a block can be fertilized.
     *
     * @param block the targeted block to fertilize
     * @return True if the block can be fertilized.
     */
    boolean isFertilizable(GlowBlock block);

    /**
     * Called to check if the block will effectively grow.
     *
     * @param block the targeted block to grow
     * @return True if the block will grow.
     */
    boolean canGrowWithChance(GlowBlock block);

    /**
     * Called to grow a growable block.
     *
     * @param player the player who triggered the growth, this can be null if the growth is natural or by plugin source
     * @param block the targeted block to grow
     */
    void grow(GlowPlayer player, GlowBlock block);
}

package net.glowstone.block.blocktype;

import net.glowstone.block.GlowBlock;
import net.glowstone.entity.GlowPlayer;

/**
 * Represents a growable block.
 */
public interface IBlockGrowable {

    /**
     * Called to check if a block can be fertilized.
     *
     * @param block the targeted block to fertilize
     * @return True if the block can be fertilized.
     */
    boolean isFertilizable(GlowBlock block);

    /**
     * Called to check if the block will effectively grow.
     *
     * @param block the targeted block to grow
     * @return True if the block will grow.
     */
    boolean canGrowWithChance(GlowBlock block);

    /**
     * Called to grow a growable block.
     *
     * @param player the player who triggered the growth, this can be null if the growth is natural
     *         or by plugin source
     * @param block the targeted block to grow
     */
    void grow(GlowPlayer player, GlowBlock block);
}

Fix CheckStyle issues in block/blocktype/IBlockGrowable.java (#687)