23 return Internal::get_tuple_index<TDerived, AllClientboundStatusMessages>;
25 else if constexpr (Internal::tuple_contains_type<TDerived, AllServerboundStatusMessages>)
27 return Internal::get_tuple_index<TDerived, AllServerboundStatusMessages>;
29 else if constexpr (Internal::tuple_contains_type<TDerived, AllClientboundLoginMessages>)
31 return Internal::get_tuple_index<TDerived, AllClientboundLoginMessages>;
33 else if constexpr (Internal::tuple_contains_type<TDerived, AllServerboundLoginMessages>)
35 return Internal::get_tuple_index<TDerived, AllServerboundLoginMessages>;
37 else if constexpr (Internal::tuple_contains_type<TDerived, AllServerboundHandshakingMessages>)
39 return Internal::get_tuple_index<TDerived, AllServerboundHandshakingMessages>;
41#if PROTOCOL_VERSION > 763
42 else if constexpr (Internal::tuple_contains_type<TDerived, AllServerboundConfigurationMessages>)
44 return Internal::get_tuple_index<TDerived, AllServerboundConfigurationMessages>;
46 else if constexpr (Internal::tuple_contains_type<TDerived, AllClientboundConfigurationMessages>)
48 return Internal::get_tuple_index<TDerived, AllClientboundConfigurationMessages>;
53 static_assert(Internal::dependant_false<TDerived>,
"Trying to define a packet which is not in protocol tuples");
57 template <
typename TDerived>
60 handler->Handle(
static_cast<TDerived&
>(*
this));