package me.pascoej.ajario.packet.clientbound; import me.pascoej.ajario.packet.PacketType; import me.pascoej.ajario.util.ByteUtil; import java.nio.ByteBuffer; import java.util.Arrays; /** * Created by john on 6/14/15. */ public class UpdateLeaderBoard extends ClientBoundPacket { private final LeaderboardPosition[] leaderboardPositions; public UpdateLeaderBoard(ByteBuffer byteBuffer) { super(byteBuffer); int numberOfNodes = byteBuffer.getInt(); leaderboardPositions = new LeaderboardPosition[numberOfNodes]; for (int i = 0; i < numberOfNodes; i++) { int nodeId = byteBuffer.getInt(); String name = ByteUtil.popString(byteBuffer); leaderboardPositions[i] = new LeaderboardPosition(nodeId, name); } } public LeaderboardPosition[] getLeaderboardPositions() { return leaderboardPositions; } @Override public PacketType getType() { return PacketType.ClientBound.UPDATE_LEADERBOARD; } public static class LeaderboardPosition { private final int nodeId; private final String nodeName; public LeaderboardPosition(int nodeId, String nodeName) { this.nodeId = nodeId; this.nodeName = nodeName; } public int getNodeId() { return nodeId; } public String getNodeName() { return nodeName; } @Override public String toString() { return "LeaderboardPosition{" + "nodeId=" + nodeId + ", nodeName='" + nodeName + '\'' + '}'; } } @Override public String toString() { return "UpdateLeaderBoard{" + "leaderboardPositions=" + Arrays.toString(leaderboardPositions) + "} " + super.toString(); } }