001package net.minecraft.network.packet; 002 003import java.io.DataInputStream; 004import java.io.DataOutputStream; 005import java.io.IOException; 006import net.minecraft.scoreboard.Score; 007 008public class Packet207SetScore extends Packet 009{ 010 /** An unique name to be displayed in the list. */ 011 public String itemName = ""; 012 013 /** 014 * The unique name for the scoreboard to be updated. Only sent when updateOrRemove does not equal 1. 015 */ 016 public String scoreName = ""; 017 018 /** 019 * The score to be displayed next to the entry. Only sent when Update/Remove does not equal 1. 020 */ 021 public int value = 0; 022 023 /** 0 to create/update an item. 1 to remove an item. */ 024 public int updateOrRemove = 0; 025 026 public Packet207SetScore() {} 027 028 public Packet207SetScore(Score par1, int par2) 029 { 030 this.itemName = par1.func_96653_e(); 031 this.scoreName = par1.func_96645_d().getName(); 032 this.value = par1.func_96652_c(); 033 this.updateOrRemove = par2; 034 } 035 036 public Packet207SetScore(String par1) 037 { 038 this.itemName = par1; 039 this.scoreName = ""; 040 this.value = 0; 041 this.updateOrRemove = 1; 042 } 043 044 /** 045 * Abstract. Reads the raw packet data from the data stream. 046 */ 047 public void readPacketData(DataInputStream par1DataInputStream) throws IOException 048 { 049 this.itemName = readString(par1DataInputStream, 16); 050 this.updateOrRemove = par1DataInputStream.readByte(); 051 052 if (this.updateOrRemove != 1) 053 { 054 this.scoreName = readString(par1DataInputStream, 16); 055 this.value = par1DataInputStream.readInt(); 056 } 057 } 058 059 /** 060 * Abstract. Writes the raw packet data to the data stream. 061 */ 062 public void writePacketData(DataOutputStream par1DataOutputStream) throws IOException 063 { 064 writeString(this.itemName, par1DataOutputStream); 065 par1DataOutputStream.writeByte(this.updateOrRemove); 066 067 if (this.updateOrRemove != 1) 068 { 069 writeString(this.scoreName, par1DataOutputStream); 070 par1DataOutputStream.writeInt(this.value); 071 } 072 } 073 074 /** 075 * Passes this Packet on to the NetHandler for processing. 076 */ 077 public void processPacket(NetHandler par1NetHandler) 078 { 079 par1NetHandler.handleSetScore(this); 080 } 081 082 /** 083 * Abstract. Return the size of the packet (not counting the header). 084 */ 085 public int getPacketSize() 086 { 087 return 2 + this.itemName.length() + 2 + this.scoreName.length() + 4 + 1; 088 } 089}