001    package org.bukkit.entity;
002    
003    /**
004     * Represents a Bat
005     */
006    public interface Bat extends Ambient {
007    
008        /**
009         * Checks the current waking state of this bat.
010         * <p>
011         * This does not imply any persistence of state past the method call.
012         *
013         * @return true if the bat is awake or false if it is currently hanging
014         *     from a block
015         */
016        boolean isAwake();
017    
018        /**
019         * This method modifies the current waking state of this bat.
020         * <p>
021         * This does not prevent a bat from spontaneously awaking itself, or from
022         * reattaching itself to a block.
023         *
024         * @param state the new state
025         */
026        void setAwake(boolean state);
027    }