Class ToucanNetwork

java.lang.Object
com.jvn.toucanlib.fabric.network.ToucanNetwork

public final class ToucanNetwork extends Object
Thin Fabric play-networking wrapper aligned with ToucanLib's NeoForge networking helpers.

Fabric registers clientbound handlers from client initialization, so use ToucanClientNetwork for client receivers and client-to-server sends.

  • Method Summary

    Modifier and Type
    Method
    Description
    <T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload>
    void
    clientboundPayload(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super net.minecraft.network.RegistryFriendlyByteBuf,T> codec)
    Registers a clientbound play payload type.
    create(String modId)
    Creates a Fabric network wrapper.
    create(String modId, String version)
    Creates a Fabric network wrapper.
    static void
    enqueue(net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking.Context context, Runnable work)
    Enqueues server work from a Fabric play payload context.
    Returns the owning mod id used by diagnostics.
    <T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload>
    void
    playToServer(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super net.minecraft.network.RegistryFriendlyByteBuf,T> codec, net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking.PlayPayloadHandler<T> handler)
    Registers a serverbound play payload and global server receiver.
    static void
    sendToAllPlayers(net.minecraft.server.MinecraftServer server, net.minecraft.network.protocol.common.custom.CustomPacketPayload payload)
    Sends a payload to every online player.
    static void
    sendToPlayer(net.minecraft.server.level.ServerPlayer player, net.minecraft.network.protocol.common.custom.CustomPacketPayload payload)
    Sends a payload to one server player.
    static void
    sendToPlayersInSameLevel(net.minecraft.server.level.ServerPlayer referencePlayer, net.minecraft.network.protocol.common.custom.CustomPacketPayload payload)
    Sends a payload to players in the same level as referencePlayer.
    static boolean
    withServerPlayer(net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking.Context context, Consumer<net.minecraft.server.level.ServerPlayer> consumer)
    Runs the consumer with the context player.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • create

      public static ToucanNetwork create(String modId)
      Creates a Fabric network wrapper.
    • create

      public static ToucanNetwork create(String modId, String version)
      Creates a Fabric network wrapper. The version is accepted for source parity with NeoForge registration call sites.
    • modId

      public String modId()
      Returns the owning mod id used by diagnostics.
    • playToServer

      public <T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload> void playToServer(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super net.minecraft.network.RegistryFriendlyByteBuf,T> codec, net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking.PlayPayloadHandler<T> handler)
      Registers a serverbound play payload and global server receiver.
    • clientboundPayload

      public <T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload> void clientboundPayload(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super net.minecraft.network.RegistryFriendlyByteBuf,T> codec)
    • enqueue

      public static void enqueue(net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking.Context context, Runnable work)
      Enqueues server work from a Fabric play payload context.
    • withServerPlayer

      public static boolean withServerPlayer(net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking.Context context, Consumer<net.minecraft.server.level.ServerPlayer> consumer)
      Runs the consumer with the context player.
    • sendToPlayer

      public static void sendToPlayer(net.minecraft.server.level.ServerPlayer player, net.minecraft.network.protocol.common.custom.CustomPacketPayload payload)
      Sends a payload to one server player.
    • sendToAllPlayers

      public static void sendToAllPlayers(net.minecraft.server.MinecraftServer server, net.minecraft.network.protocol.common.custom.CustomPacketPayload payload)
      Sends a payload to every online player.
    • sendToPlayersInSameLevel

      public static void sendToPlayersInSameLevel(net.minecraft.server.level.ServerPlayer referencePlayer, net.minecraft.network.protocol.common.custom.CustomPacketPayload payload)
      Sends a payload to players in the same level as referencePlayer.