    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    }