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 |
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)
Returns a cached object by the given type if present.
|
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 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)
Caches an object, retrievable by using
get(Class) . |
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,
int unmappedPacketId,
int mappedPacketId) |
default void |
registerClientbound(State state,
int unmappedPacketId,
int mappedPacketId,
PacketHandler handler) |
void |
registerClientbound(State state,
int unmappedPacketId,
int mappedPacketId,
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) |
default void |
registerServerbound(State state,
int unmappedPacketId,
int mappedPacketId,
PacketHandler handler) |
void |
registerServerbound(State state,
int unmappedPacketId,
int mappedPacketId,
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.
|
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 registerServerbound(State state, int unmappedPacketId, int mappedPacketId)
default void registerServerbound(State state, int unmappedPacketId, int mappedPacketId, PacketHandler handler)
void registerServerbound(State state, int unmappedPacketId, int mappedPacketId, 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)
default void registerClientbound(State state, int unmappedPacketId, int mappedPacketId)
default void registerClientbound(State state, int unmappedPacketId, int mappedPacketId, PacketHandler handler)
void cancelClientbound(State state, int unmappedPacketId)
void registerClientbound(State state, int unmappedPacketId, int mappedPacketId, 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 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 transform@Beta PacketTypesProvider<CU,CM,SM,SU> getPacketTypesProvider()
<T> T get(java.lang.Class<T> objectClass)
T
- typeobjectClass
- class of the object to getvoid 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 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)