Class NetworkHooks

java.lang.Object
net.minecraftforge.fml.network.NetworkHooks

public class NetworkHooks extends Object
  • Field Details

    • LOGGER

      private static final org.apache.logging.log4j.Logger LOGGER
  • Constructor Details

    • NetworkHooks

      public NetworkHooks()
  • Method Details

    • getFMLVersion

      public static String getFMLVersion(String ip)
    • getConnectionType

      public static ConnectionType getConnectionType(Supplier<NetworkManager> connection)
    • getConnectionType

      public static ConnectionType getConnectionType(io.netty.channel.ChannelHandlerContext context)
    • getConnectionType

      private static ConnectionType getConnectionType(io.netty.channel.Channel channel)
    • getEntitySpawningPacket

      public static IPacket<?> getEntitySpawningPacket(Entity entity)
    • onCustomPayload

      public static boolean onCustomPayload(ICustomPacket<?> packet, NetworkManager manager)
    • validateSideForProcessing

      private static boolean validateSideForProcessing(ICustomPacket<?> packet, NetworkInstance ni, NetworkManager manager)
    • validatePacketDirection

      public static void validatePacketDirection(NetworkDirection packetDirection, Optional<NetworkDirection> expectedDirection, NetworkManager connection)
    • registerServerLoginChannel

      public static void registerServerLoginChannel(NetworkManager manager, CHandshakePacket packet)
    • registerClientLoginChannel

      public static void registerClientLoginChannel(NetworkManager manager)
    • sendMCRegistryPackets

      public static void sendMCRegistryPackets(NetworkManager manager, String direction)
    • isVanillaConnection

      public static boolean isVanillaConnection(NetworkManager manager)
    • handleClientLoginSuccess

      public static void handleClientLoginSuccess(NetworkManager manager)
    • tickNegotiation

      public static boolean tickNegotiation(ServerLoginNetHandler netHandlerLoginServer, NetworkManager networkManager, ServerPlayerEntity player)
    • openGui

      public static void openGui(ServerPlayerEntity player, INamedContainerProvider containerSupplier)
      Request to open a GUI on the client, from the server Refer to net.minecraftforge.fml.ExtensionPoint#GUIFACTORY for how to provide a function to consume these GUI requests on the client. The IInteractionObject#getGuiID() is treated as a ResourceLocation. It should refer to a valid modId namespace, to trigger opening on the client. The namespace is directly used to lookup the modId in the client side.
      Parameters:
      player - The player to open the GUI for
      containerSupplier - A supplier of container properties including the registry name of the container
    • openGui

      public static void openGui(ServerPlayerEntity player, INamedContainerProvider containerSupplier, BlockPos pos)
      Request to open a GUI on the client, from the server Refer to net.minecraftforge.fml.ExtensionPoint#GUIFACTORY for how to provide a function to consume these GUI requests on the client. The IInteractionObject#getGuiID() is treated as a ResourceLocation. It should refer to a valid modId namespace, to trigger opening on the client. The namespace is directly used to lookup the modId in the client side.
      Parameters:
      player - The player to open the GUI for
      containerSupplier - A supplier of container properties including the registry name of the container
      pos - A block pos, which will be encoded into the auxillary data for this request
    • openGui

      public static void openGui(ServerPlayerEntity player, INamedContainerProvider containerSupplier, Consumer<PacketBuffer> extraDataWriter)
      Request to open a GUI on the client, from the server Refer to net.minecraftforge.fml.ExtensionPoint#GUIFACTORY for how to provide a function to consume these GUI requests on the client. The IInteractionObject#getGuiID() is treated as a ResourceLocation. It should refer to a valid modId namespace, to trigger opening on the client. The namespace is directly used to lookup the modId in the client side. The maximum size for #extraDataWriter is 32600 bytes.
      Parameters:
      player - The player to open the GUI for
      containerSupplier - A supplier of container properties including the registry name of the container
      extraDataWriter - Consumer to write any additional data the GUI needs
    • syncCustomTagTypes

      public static void syncCustomTagTypes(ITagCollectionSupplier tagCollectionSupplier)
      Syncs the custom tag types attached to a ITagCollectionSupplier to all connected players.
      Parameters:
      tagCollectionSupplier - The tag collection supplier containing the custom tags
    • syncCustomTagTypes

      public static void syncCustomTagTypes(ServerPlayerEntity player, ITagCollectionSupplier tagCollectionSupplier)
      Syncs the custom tag types attached to a ITagCollectionSupplier to the given player.
      Parameters:
      player - The player to sync the custom tags to.
      tagCollectionSupplier - The tag collection supplier containing the custom tags
    • getConnectionData

      @Nullable public static FMLConnectionData getConnectionData(NetworkManager mgr)