Class PacketDefinition<T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload>
java.lang.Object
my.celium.org.network.PacketDefinition<T>
- Type Parameters:
T- payload type
public final class PacketDefinition<T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload>
extends Object
Definition of one packet: its channel id, codec, direction and handler.
Payloads are plain CustomPacketPayload implementations owned by
the mod, e.g.:
public record GreetPacket(String message) implements CustomPacketPayload {
public static final Type<GreetPacket> TYPE = new Type<>(Identifier.fromNamespaceAndPath("mymod", "greet"));
public static final StreamCodec<FriendlyByteBuf, GreetPacket> CODEC =
StreamCodec.composite(ByteBufCodecs.STRING_UTF8, GreetPacket::message, GreetPacket::new);
@Override
public Type<? extends CustomPacketPayload> type() {
return TYPE;
}
}
-
Method Summary
Modifier and TypeMethodDescriptionnet.minecraft.network.codec.StreamCodec<net.minecraft.network.FriendlyByteBuf, T> codec()handler()net.minecraft.resources.Identifierid()Channel id, e.g.static <T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload>
PacketDefinition<T> toClient(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<net.minecraft.network.FriendlyByteBuf, T> codec, PacketHandler<T> handler) Server->client packet.static <T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload>
PacketDefinition<T> toServer(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<net.minecraft.network.FriendlyByteBuf, T> codec, PacketHandler<T> handler) Client->server packet.net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type()
-
Method Details
-
toClient
public static <T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload> PacketDefinition<T> toClient(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<net.minecraft.network.FriendlyByteBuf, T> codec, PacketHandler<T> handler) Server->client packet. -
toServer
public static <T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload> PacketDefinition<T> toServer(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<net.minecraft.network.FriendlyByteBuf, T> codec, PacketHandler<T> handler) Client->server packet. -
type
-
id
public net.minecraft.resources.Identifier id()Channel id, e.g.mymod:greet. -
codec
-
direction
-
handler
-