Class ClientPlayNetworking
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.
- See Also:
ClientLoginNetworking,ServerPlayNetworking
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic booleancanSend(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>Gets all channel names which global receivers are registered for.static Set<net.minecraft.util.Identifier>Gets all the channel names that the client can receive packets on.static Set<net.minecraft.util.Identifier>Gets all channel names that the connected server declared the ability to receive a packets on.static PacketSenderGets the packet sender which sends packets to the connected server.static booleanregisterGlobalReceiver(net.minecraft.util.Identifier channelName, ClientPlayNetworking.PlayChannelHandler channelHandler)Registers a handler to a channel.static booleanregisterReceiver(net.minecraft.util.Identifier channelName, ClientPlayNetworking.PlayChannelHandler channelHandler)Registers a handler to a channel.static voidsend(net.minecraft.util.Identifier channelName, net.minecraft.network.PacketByteBuf buf)Sends a packet to the connected server.static @Nullable ClientPlayNetworking.PlayChannelHandlerunregisterGlobalReceiver(net.minecraft.util.Identifier channelName)Removes the handler of a channel.static @Nullable ClientPlayNetworking.PlayChannelHandlerunregisterReceiver(net.minecraft.util.Identifier channelName)Removes the handler of a channel.
-
Method Details
-
registerGlobalReceiver
public static boolean registerGlobalReceiver(net.minecraft.util.Identifier channelName, ClientPlayNetworking.PlayChannelHandler channelHandler)Registers a handler to a channel. A global receiver is registered to all connections, in the present and future.If a handler is already registered to the
channel, this method will returnfalse, and no change will be made. UseunregisterGlobalReceiver(Identifier)to unregister the existing handler.- Parameters:
channelName- the id of the channelchannelHandler- the handler- Returns:
- false if a handler is already registered to the channel
- See Also:
unregisterGlobalReceiver(Identifier),registerReceiver(Identifier, PlayChannelHandler)
-
unregisterGlobalReceiver
@Nullable public static @Nullable ClientPlayNetworking.PlayChannelHandler unregisterGlobalReceiver(net.minecraft.util.Identifier channelName)Removes the handler of a channel. A global receiver is registered to all connections, in the present and future.The
channelis guaranteed not to have a handler after this call.- Parameters:
channelName- the id of the channel- Returns:
- the previous handler, or
nullif no handler was bound to the channel - See Also:
registerGlobalReceiver(Identifier, PlayChannelHandler),unregisterReceiver(Identifier)
-
getGlobalReceivers
Gets all channel names which global receivers are registered for. A global receiver is registered to all connections, in the present and future.- Returns:
- all channel names which global receivers are registered for.
-
registerReceiver
public static boolean registerReceiver(net.minecraft.util.Identifier channelName, ClientPlayNetworking.PlayChannelHandler channelHandler)Registers a handler to a channel.If a handler is already registered to the
channel, this method will returnfalse, and no change will be made. UseunregisterReceiver(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.INITto register the channel handler.- Parameters:
channelName- the id of the channel- Returns:
- false if a handler is already registered to the channel
- Throws:
IllegalStateException- if the client is not connected to a server- See Also:
ClientPlayConnectionEvents.INIT
-
unregisterReceiver
@Nullable public static @Nullable ClientPlayNetworking.PlayChannelHandler unregisterReceiver(net.minecraft.util.Identifier channelName) throws IllegalStateExceptionRemoves the handler of a channel.The
channelNameis guaranteed not to have a handler after this call.- Parameters:
channelName- the id of the channel- Returns:
- the previous handler, or
nullif no handler was bound to the channel - Throws:
IllegalStateException- if the client is not connected to a server
-
getReceived
Gets all the channel names that the client can receive packets on.- Returns:
- All the channel names that the client can receive packets on
- Throws:
IllegalStateException- if the client is not connected to a server
-
getSendable
Gets all channel names that the connected server declared the ability to receive a packets on.- Returns:
- All the channel names the connected server declared the ability to receive a packets on
- Throws:
IllegalStateException- if the client is not connected to a server
-
canSend
public static boolean canSend(net.minecraft.util.Identifier channelName) throws IllegalArgumentExceptionChecks if the connected server declared the ability to receive a packet on a specified channel name.- Parameters:
channelName- the channel name- Returns:
- True if the connected server has declared the ability to receive a packet on the specified channel. False if the client is not in game.
- Throws:
IllegalArgumentException
-
createC2SPacket
public 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.- Parameters:
channelName- the channel namebuf- the packet byte buf which represents the payload of the packet- Returns:
- a new packet
-
getSender
Gets the packet sender which sends packets to the connected server.- Returns:
- the client's packet sender
- Throws:
IllegalStateException- if the client is not connected to a server
-
send
public static void send(net.minecraft.util.Identifier channelName, net.minecraft.network.PacketByteBuf buf) throws IllegalStateExceptionSends a packet to the connected server.- Parameters:
channelName- the channel of the packetbuf- the payload of the packet- Throws:
IllegalStateException- if the client is not connected to a server
-