CU
- unmapped clientbound packet typesCM
- mapped clientbound packet typesSM
- mapped serverbound packet typesSU
- unmapped serverbound packet typespublic interface Protocol<CU extends ClientboundPacketType,CM extends ClientboundPacketType,SM extends ServerboundPacketType,SU extends ServerboundPacketType>
Modifier and Type | Method and Description |
---|---|
void |
appendClientbound(CU type,
PacketHandler handler)
Appends a clientbound packet type handler with another, as opposed to replacing it entirely.
|
void |
appendServerbound(SU type,
PacketHandler handler)
Appends a serverbound packet type handler with another, as opposed to replacing it entirely.
|
void |
cancelClientbound(CU packetType)
Cancels any clientbound packets from the given type.
|
void |
cancelClientbound(State state,
int unmappedPacketId) |
default void |
cancelClientbound(State state,
int unmappedPacketId,
int mappedPacketId)
Deprecated.
|
void |
cancelServerbound(State state,
int mappedPacketId) |
default void |
cancelServerbound(State state,
int unmappedPacketId,
int mappedPacketId)
Deprecated.
|
void |
cancelServerbound(SU packetType)
Cancels any serverbound packets from the given type.
|
<T> T |
get(java.lang.Class<T> objectClass)
Deprecated.
|
default @Nullable EntityRewriter<?> |
getEntityRewriter()
Returns the protocol's entity rewriter if present.
|
default @Nullable ItemRewriter<?> |
getItemRewriter()
Returns the protocol's item rewriter if present.
|
default @Nullable MappingData |
getMappingData()
Returns the protocol's mapping data if present.
|
PacketTypesProvider<CU,CM,SM,SU> |
getPacketTypesProvider()
Returns a packet type provider for this protocol to get packet types by id.
|
default @Nullable TagRewriter |
getTagRewriter()
Returns the protocol's tag rewriter if present.
|
default boolean |
hasMappingDataToLoad()
Returns true if this Protocol's
loadMappingData() method should be called. |
default boolean |
hasRegisteredClientbound(CU packetType)
Checks if a clientbound packet has already been registered.
|
boolean |
hasRegisteredClientbound(State state,
int unmappedPacketId)
Checks if a clientbound packet has already been registered.
|
boolean |
hasRegisteredServerbound(State state,
int unmappedPacketId)
Checks if a serverbound packet has already been registered.
|
default boolean |
hasRegisteredServerbound(SU packetType)
Checks if a serverbound packet has already been registered.
|
default void |
init(UserConnection connection)
Initialise a user for this protocol setting up objects.
|
void |
initialize()
Called with
ProtocolManager.registerProtocol(com.viaversion.viaversion.api.protocol.Protocol, com.viaversion.viaversion.api.protocol.version.ProtocolVersion, com.viaversion.viaversion.api.protocol.version.ProtocolVersion) to register packet handlers and automatic packet id remapping. |
default boolean |
isBaseProtocol()
Returns whether this protocol is a base protocol.
|
void |
loadMappingData()
Loads the protocol's mapping data.
|
void |
put(java.lang.Object object)
Deprecated.
|
default void |
register(ViaProviders providers)
Handle protocol registration phase, use this to register providers / tasks.
|
default void |
registerClientbound(CU packetType,
CM mappedPacketType)
Maps a packet type to another packet type without a packet handler.
|
default void |
registerClientbound(CU packetType,
CM mappedPacketType,
@Nullable PacketHandler handler)
Registers a clientbound packet mapping.
|
void |
registerClientbound(CU packetType,
CM mappedPacketType,
@Nullable PacketHandler handler,
boolean override)
Registers a clientbound packet mapping.
|
default void |
registerClientbound(CU packetType,
CM mappedPacketType,
@Nullable PacketRemapper packetRemapper)
Deprecated.
|
default void |
registerClientbound(CU packetType,
CM mappedPacketType,
@Nullable PacketRemapper packetRemapper,
boolean override)
Deprecated.
|
void |
registerClientbound(CU packetType,
@Nullable PacketHandler handler)
Registers a clientbound protocol and automatically maps it to the new id.
|
default void |
registerClientbound(CU packetType,
@Nullable PacketRemapper packetRemapper)
Deprecated.
|
default void |
registerClientbound(State state,
ClientboundPacketType packetType,
@Nullable PacketHandler handler) |
default void |
registerClientbound(State state,
int unmappedPacketId,
int mappedPacketId)
Deprecated.
|
default void |
registerClientbound(State state,
int unmappedPacketId,
int mappedPacketId,
@Nullable PacketHandler handler) |
void |
registerClientbound(State state,
int unmappedPacketId,
int mappedPacketId,
@Nullable PacketHandler handler,
boolean override)
Registers a clientbound packet, with id transformation and remapper.
|
default void |
registerClientbound(State state,
int unmappedPacketId,
int mappedPacketId,
PacketRemapper packetRemapper)
Deprecated.
|
default void |
registerClientbound(State state,
int unmappedPacketId,
int mappedPacketId,
PacketRemapper packetRemapper,
boolean override)
Deprecated.
|
default void |
registerServerbound(State state,
int unmappedPacketId,
int mappedPacketId)
Deprecated.
|
default void |
registerServerbound(State state,
int unmappedPacketId,
int mappedPacketId,
@Nullable PacketHandler handler) |
void |
registerServerbound(State state,
int unmappedPacketId,
int mappedPacketId,
@Nullable PacketHandler handler,
boolean override)
Registers a serverbound packet, with id transformation and remapper.
|
default void |
registerServerbound(State state,
int unmappedPacketId,
int mappedPacketId,
PacketRemapper packetRemapper)
Deprecated.
|
default void |
registerServerbound(State state,
int unmappedPacketId,
int mappedPacketId,
PacketRemapper packetRemapper,
boolean override)
Deprecated.
|
default void |
registerServerbound(State state,
ServerboundPacketType packetType,
@Nullable PacketHandler handler) |
void |
registerServerbound(SU packetType,
@Nullable PacketHandler handler)
Registers a serverbound protocol and automatically maps it to the server's id.
|
default void |
registerServerbound(SU packetType,
@Nullable PacketRemapper packetRemapper)
Deprecated.
|
default void |
registerServerbound(SU packetType,
SM mappedPacketType)
Maps a packet type to another packet type without a packet handler.
|
default void |
registerServerbound(SU packetType,
SM mappedPacketType,
@Nullable PacketHandler handler)
Registers a serverbound protocol.
|
void |
registerServerbound(SU packetType,
SM mappedPacketType,
@Nullable PacketHandler handler,
boolean override)
Registers a serverbound packet mapping.
|
default void |
registerServerbound(SU packetType,
SM mappedPacketType,
@Nullable PacketRemapper packetRemapper)
Deprecated.
|
default void |
registerServerbound(SU packetType,
SM mappedPacketType,
@Nullable PacketRemapper packetRemapper,
boolean override)
Deprecated.
|
void |
transform(Direction direction,
State state,
PacketWrapper packetWrapper)
Transform a packet using this protocol
|
default void registerClientbound(State state, ClientboundPacketType packetType, @Nullable PacketHandler handler)
default void registerServerbound(State state, ServerboundPacketType packetType, @Nullable PacketHandler handler)
@Deprecated default void registerServerbound(State state, int unmappedPacketId, int mappedPacketId)
default void registerServerbound(State state, int unmappedPacketId, int mappedPacketId, @Nullable PacketHandler handler)
void registerServerbound(State state, int unmappedPacketId, int mappedPacketId, @Nullable PacketHandler handler, boolean override)
state
- state which the packet is sent in.unmappedPacketId
- unmapped packet idmappedPacketId
- mapped packet idhandler
- packet handleroverride
- whether an existing mapper should be overriddenregisterServerbound(ServerboundPacketType, ServerboundPacketType, PacketHandler, boolean)
void cancelServerbound(State state, int mappedPacketId)
@Deprecated default void registerClientbound(State state, int unmappedPacketId, int mappedPacketId)
default void registerClientbound(State state, int unmappedPacketId, int mappedPacketId, @Nullable PacketHandler handler)
void cancelClientbound(State state, int unmappedPacketId)
void registerClientbound(State state, int unmappedPacketId, int mappedPacketId, @Nullable PacketHandler handler, boolean override)
state
- state which the packet is sent in.unmappedPacketId
- unmapped packet idmappedPacketId
- mapped packet idhandler
- packet handleroverride
- whether an existing mapper should be overriddenregisterClientbound(ClientboundPacketType, ClientboundPacketType, PacketHandler, boolean)
void registerClientbound(CU packetType, @Nullable PacketHandler handler)
packetType
- clientbound packet type the server sendshandler
- packet handlerdefault void registerClientbound(CU packetType, CM mappedPacketType)
packetType
- clientbound packet type the server initially sendsmappedPacketType
- clientbound packet type after transforming for the clientdefault void registerClientbound(CU packetType, CM mappedPacketType, @Nullable PacketHandler handler)
packetType
- clientbound packet type the server initially sendsmappedPacketType
- clientbound packet type after transforming for the clienthandler
- packet handlervoid registerClientbound(CU packetType, CM mappedPacketType, @Nullable PacketHandler handler, boolean override)
packetType
- clientbound packet type the server initially sendsmappedPacketType
- clientbound packet type after transforming for the clienthandler
- packet handleroverride
- whether an existing mapping should be overridden if presentvoid cancelClientbound(CU packetType)
packetType
- clientbound packet type to canceldefault void registerServerbound(SU packetType, SM mappedPacketType)
packetType
- serverbound packet type the client initially sendsmappedPacketType
- serverbound packet type after transforming for the clientvoid registerServerbound(SU packetType, @Nullable PacketHandler handler)
packetType
- serverbound packet type the client sendshandler
- packet handlerdefault void registerServerbound(SU packetType, SM mappedPacketType, @Nullable PacketHandler handler)
packetType
- serverbound packet type initially sent by the clientmappedPacketType
- serverbound packet type after transforming for the serverhandler
- packet handlervoid registerServerbound(SU packetType, SM mappedPacketType, @Nullable PacketHandler handler, boolean override)
packetType
- serverbound packet type initially sent by the clientmappedPacketType
- serverbound packet type after transforming for the serverhandler
- packet handleroverride
- whether an existing mapping should be overridden if presentvoid cancelServerbound(SU packetType)
packetType
- serverbound packet type to canceldefault boolean hasRegisteredClientbound(CU packetType)
packetType
- clientbound packet typedefault boolean hasRegisteredServerbound(SU packetType)
packetType
- serverbound packet typeboolean hasRegisteredClientbound(State state, int unmappedPacketId)
state
- state which the packet is sent inunmappedPacketId
- unmapped packet idboolean hasRegisteredServerbound(State state, int unmappedPacketId)
state
- state which the packet is sent inunmappedPacketId
- mapped packet idvoid appendClientbound(CU type, PacketHandler handler)
Use PacketWrapper.set(Type, int, Object)
to change individual parts, or call
PacketWrapper.resetReader()
to reset the reader index.
type
- clientbound packet typehandler
- packet handlervoid appendServerbound(SU type, PacketHandler handler)
Use PacketWrapper.set(Type, int, Object)
to change individual parts, or call
PacketWrapper.resetReader()
to reset the reader index.
type
- serverbound packet typehandler
- packet handlervoid transform(Direction direction, State state, PacketWrapper packetWrapper) throws java.lang.Exception
direction
- The direction the packet is going instate
- The current protocol statepacketWrapper
- The packet wrapper to transformjava.lang.Exception
- Throws exception if it fails to transformPacketTypesProvider<CU,CM,SM,SU> getPacketTypesProvider()
@Deprecated <T> T get(java.lang.Class<T> objectClass)
T
- typeobjectClass
- class of the object to get@Deprecated void put(java.lang.Object object)
get(Class)
.object
- object to cachevoid initialize()
ProtocolManager.registerProtocol(com.viaversion.viaversion.api.protocol.Protocol, com.viaversion.viaversion.api.protocol.version.ProtocolVersion, com.viaversion.viaversion.api.protocol.version.ProtocolVersion)
to register packet handlers and automatic packet id remapping.java.lang.IllegalArgumentException
- if this method has already been calleddefault boolean hasMappingDataToLoad()
loadMappingData()
method should be called.
This does *not* necessarily mean that getMappingData()
is non-null, since this may be
overriden, depending on special cases.
loadMappingData()
method should be calledvoid loadMappingData()
java.lang.NullPointerException
- if this protocol has no mapping datadefault void register(ViaProviders providers)
To be overridden if needed.
providers
- The current providersdefault void init(UserConnection connection)
UserConnection
To be overridden if needed.
connection
- user to initialisedefault @Nullable MappingData getMappingData()
default @Nullable EntityRewriter<?> getEntityRewriter()
default @Nullable ItemRewriter<?> getItemRewriter()
default @Nullable TagRewriter getTagRewriter()
default boolean isBaseProtocol()
@Deprecated default void cancelServerbound(State state, int unmappedPacketId, int mappedPacketId)
cancelServerbound(State, int)
@Deprecated default void cancelClientbound(State state, int unmappedPacketId, int mappedPacketId)
cancelClientbound(State, int)
@Deprecated default void registerClientbound(State state, int unmappedPacketId, int mappedPacketId, PacketRemapper packetRemapper)
@Deprecated default void registerClientbound(State state, int unmappedPacketId, int mappedPacketId, PacketRemapper packetRemapper, boolean override)
@Deprecated default void registerClientbound(CU packetType, @Nullable PacketRemapper packetRemapper)
@Deprecated default void registerClientbound(CU packetType, CM mappedPacketType, @Nullable PacketRemapper packetRemapper)
@Deprecated default void registerClientbound(CU packetType, CM mappedPacketType, @Nullable PacketRemapper packetRemapper, boolean override)
@Deprecated default void registerServerbound(State state, int unmappedPacketId, int mappedPacketId, PacketRemapper packetRemapper)
@Deprecated default void registerServerbound(State state, int unmappedPacketId, int mappedPacketId, PacketRemapper packetRemapper, boolean override)
@Deprecated default void registerServerbound(SU packetType, @Nullable PacketRemapper packetRemapper)
@Deprecated default void registerServerbound(SU packetType, SM mappedPacketType, @Nullable PacketRemapper packetRemapper)
@Deprecated default void registerServerbound(SU packetType, SM mappedPacketType, @Nullable PacketRemapper packetRemapper, boolean override)