Interface ScreenNetworking
public interface ScreenNetworking
ScreenNetworking handles screen-related network messages sent between the server and the client.
Registering a message receiver
Message receivers can be registered by callingreceive(Identifier, MessageReceiver)
on a ScreenNetworking for the receiving side. The message ID is a unique ID that matches between
the sender and the receiver.
Message receivers should be registered in the constructor of a SyncedGuiDescription.
Sending messages
Messages can be sent by callingsend(Identifier, Consumer) on a ScreenNetworking
for the sending side. The message ID should match up with a receiver registered on the opposite
side.
Example
private static final Identifier MESSAGE_ID = new Identifier("my_mod", "some_message");
// Receiver
ScreenNetworking.of(this, NetworkSide.SERVER).receive(MESSAGE_ID, buf -> {
// Example data: a lucky number as an int
System.out.println("Your lucky number is " + buf.readInt() + "!");
});
// Sending
// We're sending from a button. The packet data is our lucky number, 123.
WButton button = ...;
button.setOnClick(() -> {
ScreenNetworking.of(this, NetworkSide.CLIENT).send(MESSAGE_ID, buf -> buf.writeInt(123));
});
- Since:
- 3.3.0
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceA handler for received screen messages. -
Method Summary
Modifier and TypeMethodDescriptionstatic ScreenNetworkingof(SyncedGuiDescription description, NetworkSide networkSide) Gets a networking handler for the GUI description that is active on the specified side.voidreceive(net.minecraft.util.Identifier message, ScreenNetworking.MessageReceiver receiver) Registers a message receiver for the message.voidSends a screen message to the other side of the connection.
-
Method Details
-
of
Gets a networking handler for the GUI description that is active on the specified side.- Parameters:
description- the GUI descriptionnetworkSide- the network side- Returns:
- the network handler
- Throws:
NullPointerException- if either parameter is null
-
receive
Registers a message receiver for the message.- Parameters:
message- the screen message IDreceiver- the message receiver- Throws:
IllegalStateException- if the message has already been registeredNullPointerException- if either parameter is null
-
send
void send(net.minecraft.util.Identifier message, Consumer<net.minecraft.network.PacketByteBuf> writer) Sends a screen message to the other side of the connection.- Parameters:
message- the screen message IDwriter- a writer that writes the message contents to a packet buffer; should not read the buffer- Throws:
NullPointerException- if either parameter is null
-