Add scoreboard packets + API classes. Still unimplemented.

This commit is contained in:
md_5
2013-03-16 20:48:51 +11:00
parent 34f4bae923
commit 156ea30c32
12 changed files with 149 additions and 21 deletions

View File

@@ -15,7 +15,7 @@ import net.md_5.bungee.packet.DefinedPacket;
import net.md_5.bungee.packet.Packet1Login;
import net.md_5.bungee.packet.Packet9Respawn;
import net.md_5.bungee.packet.PacketCDClientStatus;
import net.md_5.bungee.packet.PacketCESetScoreboard;
import net.md_5.bungee.packet.PacketCEScoreboardObjective;
import net.md_5.bungee.packet.PacketFDEncryptionRequest;
import net.md_5.bungee.packet.PacketFFKick;
import net.md_5.bungee.packet.PacketHandler;
@@ -91,10 +91,6 @@ public class ServerConnector extends PacketHandler
{
bungee.getTabListHandler().onServerChange( user );
if ( user.serverSentScoreboard != null )
{
user.sendPacket( new PacketCESetScoreboard( user.serverSentScoreboard.getName(), user.serverSentScoreboard.getText(), (byte) 1 ) );
}
user.sendPacket( Packet9Respawn.DIM1_SWITCH );
user.sendPacket( Packet9Respawn.DIM2_SWITCH );

View File

@@ -18,7 +18,7 @@ import net.md_5.bungee.api.scoreboard.Scoreboard;
import net.md_5.bungee.packet.Packet0KeepAlive;
import net.md_5.bungee.packet.Packet3Chat;
import net.md_5.bungee.packet.PacketC9PlayerListItem;
import net.md_5.bungee.packet.PacketCESetScoreboard;
import net.md_5.bungee.packet.PacketCEScoreboardObjective;
import net.md_5.bungee.packet.PacketFAPluginMessage;
import net.md_5.bungee.packet.PacketFFKick;
import net.md_5.bungee.packet.PacketHandler;
@@ -75,12 +75,6 @@ public class DownstreamBridge extends PacketHandler
}
}
@Override
public void handle(PacketCESetScoreboard scoreboard) throws Exception
{
con.serverSentScoreboard = new Scoreboard( scoreboard.name, scoreboard.text );
}
@Override
public void handle(PacketC9PlayerListItem playerList) throws Exception
{

View File

@@ -226,7 +226,9 @@ public abstract class DefinedPacket implements DataOutput
classes[0x09] = Packet9Respawn.class;
classes[0xC9] = PacketC9PlayerListItem.class;
classes[0xCD] = PacketCDClientStatus.class;
classes[0xCE] = PacketCESetScoreboard.class;
classes[0xCE] = PacketCEScoreboardObjective.class;
classes[0xCF] = PacketCFScoreboardScore.class;
classes[0xD0] = PacketD0DisplayScoreboard.class;
classes[0xFA] = PacketFAPluginMessage.class;
classes[0xFC] = PacketFCEncryptionResponse.class;
classes[0xFD] = PacketFDEncryptionRequest.class;

View File

@@ -5,7 +5,7 @@ import lombok.ToString;
@ToString
@EqualsAndHashCode(callSuper = false)
public class PacketCESetScoreboard extends DefinedPacket
public class PacketCEScoreboardObjective extends DefinedPacket
{
public String name;
@@ -15,7 +15,7 @@ public class PacketCESetScoreboard extends DefinedPacket
*/
public byte status;
public PacketCESetScoreboard(String name, String text, byte status)
public PacketCEScoreboardObjective(String name, String text, byte status)
{
super( 0xCE );
writeUTF( name );
@@ -26,7 +26,7 @@ public class PacketCESetScoreboard extends DefinedPacket
this.status = status;
}
PacketCESetScoreboard(byte[] buf)
PacketCEScoreboardObjective(byte[] buf)
{
super( 0xCE, buf );
this.name = readUTF();

View File

@@ -0,0 +1,36 @@
package net.md_5.bungee.packet;
import lombok.EqualsAndHashCode;
import lombok.ToString;
@ToString
@EqualsAndHashCode(callSuper = false)
public class PacketCFScoreboardScore extends DefinedPacket
{
public String itemName;
/**
* 0 = create / update, 1 = remove.
*/
public byte action;
public String scoreName;
public int value;
public PacketCFScoreboardScore(byte[] buf)
{
super( 0xCF, buf );
itemName = readUTF();
action = readByte();
if ( action == 0 )
{
scoreName = readUTF();
value = readInt();
}
}
@Override
public void handle(PacketHandler handler) throws Exception
{
handler.handle( this );
}
}

View File

@@ -0,0 +1,29 @@
package net.md_5.bungee.packet;
import lombok.EqualsAndHashCode;
import lombok.ToString;
@ToString
@EqualsAndHashCode(callSuper = false)
public class PacketD0DisplayScoreboard extends DefinedPacket
{
/**
* 0 = list, 1 = side, 2 = below.
*/
public byte position;
public String name;
public PacketD0DisplayScoreboard(byte[] buf)
{
super( 0xCF, buf );
position = readByte();
name = readUTF();
}
@Override
public void handle(PacketHandler handler) throws Exception
{
handler.handle( this );
}
}

View File

@@ -56,7 +56,15 @@ public abstract class PacketHandler
{
}
public void handle(PacketCESetScoreboard scoreboard) throws Exception
public void handle(PacketCEScoreboardObjective objective) throws Exception
{
}
public void handle(PacketCFScoreboardScore score) throws Exception
{
}
public void handle(PacketD0DisplayScoreboard displayScoreboard) throws Exception
{
}