Class PayloadRegistrar
java.lang.Object
net.neoforged.neoforge.network.registration.PayloadRegistrar
Builder-style helper for registering
CustomPacketPayload
s, used for modded networking.-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionPayloadRegistrar
(String version) private
PayloadRegistrar
(PayloadRegistrar source) -
Method Summary
Modifier and TypeMethodDescription<T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload>
PayloadRegistrarcommonBidirectional
(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super net.minecraft.network.FriendlyByteBuf, T> reader, IPayloadHandler<T> handler) Registers a bidirectional payload for all phases.<T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload>
PayloadRegistrarcommonToClient
(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super net.minecraft.network.FriendlyByteBuf, T> reader, IPayloadHandler<T> handler) Registers a client-bound payload for all phases.<T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload>
PayloadRegistrarcommonToServer
(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super net.minecraft.network.FriendlyByteBuf, T> reader, IPayloadHandler<T> handler) Registers a server-bound payload for all phases.<T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload>
PayloadRegistrarconfigurationBidirectional
(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super net.minecraft.network.FriendlyByteBuf, T> reader, IPayloadHandler<T> handler) Registers a bidirectional payload for the configuration phase.<T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload>
PayloadRegistrarconfigurationToClient
(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super net.minecraft.network.FriendlyByteBuf, T> reader, IPayloadHandler<T> handler) Registers a client-bound payload for the configuration phase.<T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload>
PayloadRegistrarconfigurationToServer
(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super net.minecraft.network.FriendlyByteBuf, T> reader, IPayloadHandler<T> handler) Registers a server-bound payload for the configuration phase.executesOn
(HandlerThread thread) Creates a copy of this registrar with a different default handling thread.optional()
Creates a copy of this registrar with optional mode enabled.<T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload>
PayloadRegistrarplayBidirectional
(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super net.minecraft.network.RegistryFriendlyByteBuf, T> reader, IPayloadHandler<T> handler) Registers a bidirectional payload for the play phase.<T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload>
PayloadRegistrarplayToClient
(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super net.minecraft.network.RegistryFriendlyByteBuf, T> reader, IPayloadHandler<T> handler) Registers a client-bound payload for the play phase.<T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload>
PayloadRegistrarplayToServer
(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super net.minecraft.network.RegistryFriendlyByteBuf, T> reader, IPayloadHandler<T> handler) Registers a server-bound payload for the play phase.private <T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload,
B extends net.minecraft.network.FriendlyByteBuf>
voidregister
(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super B, T> codec, IPayloadHandler<T> handler, List<net.minecraft.network.ConnectionProtocol> protocols, Optional<net.minecraft.network.protocol.PacketFlow> flow, String version, boolean optional) Creates a copy of this registrar with a different version.
-
Field Details
-
version
-
optional
private boolean optional -
thread
-
-
Constructor Details
-
PayloadRegistrar
-
PayloadRegistrar
-
-
Method Details
-
playToClient
public <T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload> PayloadRegistrar playToClient(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super net.minecraft.network.RegistryFriendlyByteBuf, T> reader, IPayloadHandler<T> handler) Registers a client-bound payload for the play phase. -
playToServer
public <T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload> PayloadRegistrar playToServer(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super net.minecraft.network.RegistryFriendlyByteBuf, T> reader, IPayloadHandler<T> handler) Registers a server-bound payload for the play phase. -
playBidirectional
public <T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload> PayloadRegistrar playBidirectional(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super net.minecraft.network.RegistryFriendlyByteBuf, T> reader, IPayloadHandler<T> handler) Registers a bidirectional payload for the play phase.Consider using
DirectionalPayloadHandler
to wrap client and server handlers. -
configurationToClient
public <T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload> PayloadRegistrar configurationToClient(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super net.minecraft.network.FriendlyByteBuf, T> reader, IPayloadHandler<T> handler) Registers a client-bound payload for the configuration phase. -
configurationToServer
public <T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload> PayloadRegistrar configurationToServer(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super net.minecraft.network.FriendlyByteBuf, T> reader, IPayloadHandler<T> handler) Registers a server-bound payload for the configuration phase. -
configurationBidirectional
public <T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload> PayloadRegistrar configurationBidirectional(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super net.minecraft.network.FriendlyByteBuf, T> reader, IPayloadHandler<T> handler) Registers a bidirectional payload for the configuration phase.Consider using
DirectionalPayloadHandler
to wrap client and server handlers. -
commonToClient
public <T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload> PayloadRegistrar commonToClient(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super net.minecraft.network.FriendlyByteBuf, T> reader, IPayloadHandler<T> handler) Registers a client-bound payload for all phases. -
commonToServer
public <T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload> PayloadRegistrar commonToServer(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super net.minecraft.network.FriendlyByteBuf, T> reader, IPayloadHandler<T> handler) Registers a server-bound payload for all phases. -
commonBidirectional
public <T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload> PayloadRegistrar commonBidirectional(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super net.minecraft.network.FriendlyByteBuf, T> reader, IPayloadHandler<T> handler) Registers a bidirectional payload for all phases.Consider using
DirectionalPayloadHandler
to wrap client and server handlers. -
executesOn
Creates a copy of this registrar with a different default handling thread.When the handling thread is set to
HandlerThread.MAIN
, all registered handlers will be wrapped inMainThreadPayloadHandler
.The initial handling thread is
HandlerThread.MAIN
.- Parameters:
thread
- The default handling thread.- Returns:
- A new registrar, which will map payload handlers to the desired thread.
-
versioned
Creates a copy of this registrar with a different version. Payloads registered with the returned copy will use the passed version, instead of the version from the constructor.On Neo-Neo connections, the connection will only succeed if all registered payloads have the same version.
On other connections, the payload version is ignored, since only Neo knows how to communicate Neo payload versions.
- Parameters:
version
- The version to use.- Returns:
- A new registrar, ready to configure payloads with that version.
-
optional
Creates a copy of this registrar with optional mode enabled. Payloads registered with the returned copy will be marked as optional.If any non-optional payloads are missing during a connection attempt, the connection will fail.
- Returns:
- A new registrar, ready to configure payloads as optional.
-
register
private <T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload,B extends net.minecraft.network.FriendlyByteBuf> void register(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super B, T> codec, IPayloadHandler<T> handler, List<net.minecraft.network.ConnectionProtocol> protocols, Optional<net.minecraft.network.protocol.PacketFlow> flow, String version, boolean optional)
-