package protocolsupport.protocol.packet.middleimpl.clientbound.play.v_13_14r1_14r2_15_16; import protocolsupport.protocol.ConnectionImpl; import protocolsupport.protocol.packet.PacketType; import protocolsupport.protocol.packet.middle.clientbound.play.MiddleTabComplete; import protocolsupport.protocol.packet.middleimpl.ClientBoundPacketData; import protocolsupport.protocol.serializer.ArraySerializer; import protocolsupport.protocol.serializer.StringSerializer; import protocolsupport.protocol.serializer.VarNumberSerializer; public class TabComplete extends MiddleTabComplete { public TabComplete(ConnectionImpl connection) { super(connection); } @Override protected void writeToClient() { ClientBoundPacketData tabcomplete = ClientBoundPacketData.create(PacketType.CLIENTBOUND_PLAY_TAB_COMPLETE); VarNumberSerializer.writeVarInt(tabcomplete, id); VarNumberSerializer.writeVarInt(tabcomplete, start); VarNumberSerializer.writeVarInt(tabcomplete, length); ArraySerializer.writeVarIntTArray(tabcomplete, matches, (to, match) -> { StringSerializer.writeVarIntUTF8String(to, match.getMatch()); to.writeBoolean(match.hasTooltip()); if (match.hasTooltip()) { StringSerializer.writeVarIntUTF8String(to, match.getTooltip()); } }); codec.write(tabcomplete); } }