Class ToucanNetwork

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

public final class ToucanNetwork extends Object
Thin NeoForge payload registration wrapper with safe client dispatch helpers.
  • Method Summary

    Modifier and Type
    Method
    Description
    create(String modId, String version, net.neoforged.neoforge.network.event.RegisterPayloadHandlersEvent event)
    Creates a network wrapper around a versioned NeoForge payload registrar.
    static void
    enqueue(net.neoforged.neoforge.network.handling.IPayloadContext context, Runnable work)
    Enqueues work on the payload context.
    Returns a wrapper around an optional payload registrar.
    <T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload>
    void
    playToClient(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super net.minecraft.network.RegistryFriendlyByteBuf,T> codec, net.neoforged.neoforge.network.handling.IPayloadHandler<T> handler)
    Registers a clientbound play payload.
    <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.neoforged.neoforge.network.handling.IPayloadHandler<T> handler)
    Registers a serverbound play payload.
    <T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload>
    void
    safePlayToClient(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super net.minecraft.network.RegistryFriendlyByteBuf,T> codec, String className, String methodName)
    Registers a clientbound payload that dispatches to a static client method by reflection.
    <T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload>
    void
    safePlayToClientThreaded(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super net.minecraft.network.RegistryFriendlyByteBuf,T> codec, String className, String methodName)
    Registers a clientbound payload that dispatches to a static client method on the client task queue.
    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 void
    sendToServer(net.minecraft.network.protocol.common.custom.CustomPacketPayload payload)
    Sends a payload to the connected server.
    static boolean
    withServerPlayer(net.neoforged.neoforge.network.handling.IPayloadContext context, Consumer<net.minecraft.server.level.ServerPlayer> consumer)
    Runs the consumer only when the payload sender is a server 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, String version, net.neoforged.neoforge.network.event.RegisterPayloadHandlersEvent event)
      Creates a network wrapper around a versioned NeoForge payload registrar.
    • optional

      public ToucanNetwork optional()
      Returns a wrapper around an optional payload registrar.
    • 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.neoforged.neoforge.network.handling.IPayloadHandler<T> handler)
      Registers a serverbound play payload.
    • playToClient

      public <T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload> void playToClient(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super net.minecraft.network.RegistryFriendlyByteBuf,T> codec, net.neoforged.neoforge.network.handling.IPayloadHandler<T> handler)
      Registers a clientbound play payload.
    • safePlayToClient

      public <T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload> void safePlayToClient(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super net.minecraft.network.RegistryFriendlyByteBuf,T> codec, String className, String methodName)
      Registers a clientbound payload that dispatches to a static client method by reflection.
    • safePlayToClientThreaded

      public <T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload> void safePlayToClientThreaded(net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T> type, net.minecraft.network.codec.StreamCodec<? super net.minecraft.network.RegistryFriendlyByteBuf,T> codec, String className, String methodName)
      Registers a clientbound payload that dispatches to a static client method on the client task queue.
    • enqueue

      public static void enqueue(net.neoforged.neoforge.network.handling.IPayloadContext context, Runnable work)
      Enqueues work on the payload context.
    • withServerPlayer

      public static boolean withServerPlayer(net.neoforged.neoforge.network.handling.IPayloadContext context, Consumer<net.minecraft.server.level.ServerPlayer> consumer)
      Runs the consumer only when the payload sender is a server player.
    • sendToServer

      public static void sendToServer(net.minecraft.network.protocol.common.custom.CustomPacketPayload payload)
      Sends a payload to the connected server.
    • 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.