001    package cpw.mods.fml.common.registry;
002    
003    import com.google.common.io.ByteArrayDataInput;
004    import com.google.common.io.ByteArrayDataOutput;
005    
006    /**
007     * A interface for Entities that need extra information to be communicated
008     * between the server and client when they are spawned.
009     */
010    public interface IEntityAdditionalSpawnData
011    {
012        /**
013         * Called by the server when constructing the spawn packet.
014         * Data should be added to the provided stream.
015         *
016         * @param data The packet data stream
017         */
018        public void writeSpawnData(ByteArrayDataOutput data);
019    
020        /**
021         * Called by the client when it receives a Entity spawn packet.
022         * Data should be read out of the stream in the same way as it was written.
023         *
024         * @param data The packet data stream
025         */
026        public void readSpawnData(ByteArrayDataInput data);
027    }