@Environment(value=CLIENT) public final class ClientPlayNetworking extends Object
Client-side networking functionalities include receiving clientbound packets, sending serverbound packets, and events related to client-side network handlers.
This class should be only used on the physical client and for the logical client.
ClientLoginNetworking
,
ServerPlayNetworking
Modifier and Type | Class and Description |
---|---|
static interface |
ClientPlayNetworking.PlayChannelHandler |
Modifier and Type | Method and Description |
---|---|
static boolean |
canSend(net.minecraft.util.Identifier channelName)
Checks if the connected server declared the ability to receive a packet on a specified channel name.
|
static net.minecraft.network.Packet<?> |
createC2SPacket(net.minecraft.util.Identifier channelName,
net.minecraft.network.PacketByteBuf buf)
Creates a packet which may be sent to a the connected server.
|
static Set<net.minecraft.util.Identifier> |
getGlobalReceivers()
Gets all channel names which global receivers are registered for.
|
static Set<net.minecraft.util.Identifier> |
getReceived()
Gets all the channel names that the client can receive packets on.
|
static Set<net.minecraft.util.Identifier> |
getSendable()
Gets all channel names that the connected server declared the ability to receive a packets on.
|
static PacketSender |
getSender()
Gets the packet sender which sends packets to the connected server.
|
static boolean |
registerGlobalReceiver(net.minecraft.util.Identifier channelName,
ClientPlayNetworking.PlayChannelHandler channelHandler)
Registers a handler to a channel.
|
static boolean |
registerReceiver(net.minecraft.util.Identifier channelName,
ClientPlayNetworking.PlayChannelHandler channelHandler)
Registers a handler to a channel.
|
static void |
send(net.minecraft.util.Identifier channelName,
net.minecraft.network.PacketByteBuf buf)
Sends a packet to the connected server.
|
static @Nullable ClientPlayNetworking.PlayChannelHandler |
unregisterGlobalReceiver(net.minecraft.util.Identifier channelName)
Removes the handler of a channel.
|
static @Nullable ClientPlayNetworking.PlayChannelHandler |
unregisterReceiver(net.minecraft.util.Identifier channelName)
Removes the handler of a channel.
|
public static boolean registerGlobalReceiver(net.minecraft.util.Identifier channelName, ClientPlayNetworking.PlayChannelHandler channelHandler)
If a handler is already registered to the channel
, this method will return false
, and no change will be made.
Use unregisterGlobalReceiver(Identifier)
to unregister the existing handler.
channelName
- the id of the channelchannelHandler
- the handlerunregisterGlobalReceiver(Identifier)
,
registerReceiver(Identifier, PlayChannelHandler)
@Nullable public static @Nullable ClientPlayNetworking.PlayChannelHandler unregisterGlobalReceiver(net.minecraft.util.Identifier channelName)
The channel
is guaranteed not to have a handler after this call.
channelName
- the id of the channelnull
if no handler was bound to the channelregisterGlobalReceiver(Identifier, PlayChannelHandler)
,
unregisterReceiver(Identifier)
public static Set<net.minecraft.util.Identifier> getGlobalReceivers()
public static boolean registerReceiver(net.minecraft.util.Identifier channelName, ClientPlayNetworking.PlayChannelHandler channelHandler)
If a handler is already registered to the channel
, this method will return false
, and no change will be made.
Use unregisterReceiver(Identifier)
to unregister the existing handler.
For example, if you only register a receiver using this method when a ClientLoginNetworking.registerGlobalReceiver(Identifier, ClientLoginNetworking.LoginQueryRequestHandler)
login query has been received, you should use ClientPlayConnectionEvents.INIT
to register the channel handler.
channelName
- the id of the channelIllegalStateException
- if the client is not connected to a serverClientPlayConnectionEvents.INIT
@Nullable public static @Nullable ClientPlayNetworking.PlayChannelHandler unregisterReceiver(net.minecraft.util.Identifier channelName) throws IllegalStateException
The channelName
is guaranteed not to have a handler after this call.
channelName
- the id of the channelnull
if no handler was bound to the channelIllegalStateException
- if the client is not connected to a serverpublic static Set<net.minecraft.util.Identifier> getReceived() throws IllegalStateException
IllegalStateException
- if the client is not connected to a serverpublic static Set<net.minecraft.util.Identifier> getSendable() throws IllegalStateException
IllegalStateException
- if the client is not connected to a serverpublic static boolean canSend(net.minecraft.util.Identifier channelName) throws IllegalArgumentException
channelName
- the channel nameIllegalArgumentException
public static net.minecraft.network.Packet<?> createC2SPacket(net.minecraft.util.Identifier channelName, net.minecraft.network.PacketByteBuf buf)
channelName
- the channel namebuf
- the packet byte buf which represents the payload of the packetpublic static PacketSender getSender() throws IllegalStateException
IllegalStateException
- if the client is not connected to a serverpublic static void send(net.minecraft.util.Identifier channelName, net.minecraft.network.PacketByteBuf buf) throws IllegalStateException
channelName
- the channel of the packetbuf
- the payload of the packetIllegalStateException
- if the client is not connected to a server