Class SimpleChannel.MessageBuilder<MSG>
- Enclosing class:
- SimpleChannel
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionstatic interfacestatic interface
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprivate final SimpleChannelprivate BiConsumer<MSG,CustomPayloadEvent.Context> private Function<FriendlyByteBuf,MSG> private final Optional<NetworkDirection>private BiConsumer<MSG,FriendlyByteBuf> private final int
- 
Constructor SummaryConstructorsModifierConstructorDescriptionprivateMessageBuilder(SimpleChannel channel, Class<MSG> type, int id, @Nullable NetworkDirection networkDirection) 
- 
Method SummaryModifier and TypeMethodDescriptionadd()Finishes building this packet.consumerMainThread(io.netty.util.AttributeKey<C> key, org.apache.commons.lang3.function.TriConsumer<C, MSG, CustomPayloadEvent.Context> consumer) Set the message consumer, which is called once a message has been decoded.Set the message consumer, which is called once a message has been decoded.consumerNetworkThread(io.netty.util.AttributeKey<C> key, SimpleChannel.MessageBuilder.ToBooleanTriFunction<C, MSG, CustomPayloadEvent.Context> handler) Function returning a boolean "packet handled" indication, for simpler channel building.consumerNetworkThread(io.netty.util.AttributeKey<C> key, org.apache.commons.lang3.function.TriConsumer<C, MSG, CustomPayloadEvent.Context> consumer) Set the message consumer, which is called once a message has been decoded.Set the message consumer, which is called once a message has been decoded.consumerNetworkThread(SimpleChannel.MessageBuilder.ToBooleanBiFunction<MSG, CustomPayloadEvent.Context> handler) Function returning a boolean "packet handled" indication, for simpler channel building.decoder(Function<FriendlyByteBuf, MSG> decoder) Set the message decoder, which reads the message from aFriendlyByteBuf.encoder(BiConsumer<MSG, FriendlyByteBuf> encoder) Set the message encoder, which writes this message to aFriendlyByteBuf.
- 
Field Details- 
channel
- 
type
- 
idprivate final int id
- 
direction
- 
encoder
- 
decoder
- 
consumer
 
- 
- 
Constructor Details- 
MessageBuilderprivate MessageBuilder(SimpleChannel channel, Class<MSG> type, int id, @Nullable @Nullable NetworkDirection networkDirection) 
 
- 
- 
Method Details- 
encoderSet the message encoder, which writes this message to aFriendlyByteBuf.The encoder is called immediately when the packet is sent. This means encoding typically occurs on the main server/client thread rather than on the network thread. However, this behaviour should not be relied on, and the encoder should try to be thread-safe and not interact with the current game state. - Parameters:
- encoder- The message encoder.
- Returns:
- This message builder, for chaining.
 
- 
decoderSet the message decoder, which reads the message from aFriendlyByteBuf.The decoder is called when the message is received on the network thread. The decoder should not attempt to access or mutate any game state, deferring that until the the message is handled. - Parameters:
- decoder- The message decoder.
- Returns:
- The message builder, for chaining.
 
- 
consumerNetworkThreadpublic SimpleChannel.MessageBuilder<MSG> consumerNetworkThread(BiConsumer<MSG, CustomPayloadEvent.Context> consumer) Set the message consumer, which is called once a message has been decoded. This accepts the decoded message object and the message's context.The consumer is called on the network thread, and so should not interact with most game state by default. CustomPayloadEvent.Context.enqueueWork(Runnable)can be used to handle the message on the main server or client thread. Alternatively one can useconsumerMainThread(BiConsumer)to run the handler on the main thread.- Parameters:
- consumer- The message consumer.
- Returns:
- The message builder, for chaining.
- See Also:
 
- 
consumerNetworkThreadpublic <C> SimpleChannel.MessageBuilder<MSG> consumerNetworkThread(io.netty.util.AttributeKey<C> key, org.apache.commons.lang3.function.TriConsumer<C, MSG, CustomPayloadEvent.Context> consumer) Set the message consumer, which is called once a message has been decoded. This accepts the decoded message object and the message's context. The instance will be retrieved from the associated AttributeKey on the channel.The consumer is called on the network thread, and so should not interact with most game state by default. CustomPayloadEvent.Context.enqueueWork(Runnable)can be used to handle the message on the main server or client thread. Alternatively one can use#consumerMainThread(TriConsumer)to run the handler on the main thread.- Parameters:
- consumer- The message consumer.
- Returns:
- The message builder, for chaining.
- See Also:
 
- 
consumerNetworkThreadpublic SimpleChannel.MessageBuilder<MSG> consumerNetworkThread(SimpleChannel.MessageBuilder.ToBooleanBiFunction<MSG, CustomPayloadEvent.Context> handler) Function returning a boolean "packet handled" indication, for simpler channel building.- See Also:
 
- 
consumerNetworkThreadpublic <C> SimpleChannel.MessageBuilder<MSG> consumerNetworkThread(io.netty.util.AttributeKey<C> key, SimpleChannel.MessageBuilder.ToBooleanTriFunction<C, MSG, CustomPayloadEvent.Context> handler) Function returning a boolean "packet handled" indication, for simpler channel building.
- 
consumerMainThreadpublic SimpleChannel.MessageBuilder<MSG> consumerMainThread(BiConsumer<MSG, CustomPayloadEvent.Context> consumer) Set the message consumer, which is called once a message has been decoded. This accepts the decoded message object and the message's context.Unlike consumerNetworkThread(BiConsumer), the consumer is called on the main thread, and so can interact with most game state by default.- Parameters:
- consumer- The message consumer.
- Returns:
- The message builder, for chaining.
- See Also:
 
- 
consumerMainThreadpublic <C> SimpleChannel.MessageBuilder<MSG> consumerMainThread(io.netty.util.AttributeKey<C> key, org.apache.commons.lang3.function.TriConsumer<C, MSG, CustomPayloadEvent.Context> consumer) Set the message consumer, which is called once a message has been decoded. This accepts the decoded message object and the message's context. The instance will be retrieved from the associated AttributeKey on the channel.Unlike consumerNetworkThread(AttributeKey,TriConsumer), the consumer is called on the main thread, and so can interact with most game state by default.- Parameters:
- consumer- The message consumer.
- Returns:
- The message builder, for chaining.
- See Also:
 
- 
addFinishes building this packet.- Returns:
- The attached SimpleChannel to facilitate chaining.
 
 
-