package net.md_5.bungee.protocol.packet; import net.md_5.bungee.protocol.DefinedPacket; import io.netty.buffer.ByteBuf; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import net.md_5.bungee.protocol.AbstractPacketHandler; import net.md_5.bungee.protocol.ProtocolConstants; @Data @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = false) public class ScoreboardObjective extends DefinedPacket { private String name; private String value; private String type; /** * 0 to create, 1 to remove, 2 to update display text. */ private byte action; @Override public void read(ByteBuf buf, ProtocolConstants.Direction direction, int protocolVersion) { name = readString( buf ); action = buf.readByte(); if ( action == 0 || action == 2 ) { value = readString( buf ); type = readString( buf ); } } @Override public void write(ByteBuf buf, ProtocolConstants.Direction direction, int protocolVersion) { writeString( name, buf ); buf.writeByte( action ); if ( action == 0 || action == 2 ) { writeString( value, buf ); writeString( type, buf ); } } @Override public void handle(AbstractPacketHandler handler) throws Exception { handler.handle( this ); } }