    001    package net.minecraft.network.packet;
    002
    003    import java.io.DataInputStream;
    004    import java.io.DataOutputStream;
    005    import java.io.IOException;
    006    import net.minecraft.entity.item.EntityPainting;
    007    import net.minecraft.util.EnumArt;
    008
    009    public class Packet25EntityPainting extends Packet
    010    {
    011        public int entityId;
    012        public int xPosition;
    013        public int yPosition;
    014        public int zPosition;
    015        public int direction;
    016        public String title;
    017
    018        public Packet25EntityPainting() {}
    019
    020        public Packet25EntityPainting(EntityPainting par1EntityPainting)
    021        {
    022            this.entityId = par1EntityPainting.entityId;
    023            this.xPosition = par1EntityPainting.xPosition;
    024            this.yPosition = par1EntityPainting.yPosition;
    025            this.zPosition = par1EntityPainting.zPosition;
    026            this.direction = par1EntityPainting.hangingDirection;
    027            this.title = par1EntityPainting.art.title;
    028        }
    029
    030        /**
    031         * Abstract. Reads the raw packet data from the data stream.
    032         */
    033        public void readPacketData(DataInputStream par1DataInputStream) throws IOException
    034        {
    035            this.entityId = par1DataInputStream.readInt();
    036            this.title = readString(par1DataInputStream, EnumArt.maxArtTitleLength);
    037            this.xPosition = par1DataInputStream.readInt();
    038            this.yPosition = par1DataInputStream.readInt();
    039            this.zPosition = par1DataInputStream.readInt();
    040            this.direction = par1DataInputStream.readInt();
    041        }
    042
    043        /**
    044         * Abstract. Writes the raw packet data to the data stream.
    045         */
    046        public void writePacketData(DataOutputStream par1DataOutputStream) throws IOException
    047        {
    048            par1DataOutputStream.writeInt(this.entityId);
    049            writeString(this.title, par1DataOutputStream);
    050            par1DataOutputStream.writeInt(this.xPosition);
    051            par1DataOutputStream.writeInt(this.yPosition);
    052            par1DataOutputStream.writeInt(this.zPosition);
    053            par1DataOutputStream.writeInt(this.direction);
    054        }
    055
    056        /**
    057         * Passes this Packet on to the NetHandler for processing.
    058         */
    059        public void processPacket(NetHandler par1NetHandler)
    060        {
    061            par1NetHandler.handleEntityPainting(this);
    062        }
    063
    064        /**
    065         * Abstract. Return the size of the packet (not counting the header).
    066         */
    067        public int getPacketSize()
    068        {
    069            return 24;
    070        }
    071    }