Class ClientCommandHandler

java.lang.Object
net.minecraftforge.client.ClientCommandHandler

public class ClientCommandHandler extends Object
  • Field Details

    • LOGGER

      private static final org.apache.logging.log4j.Logger LOGGER
    • commands

      private static com.mojang.brigadier.CommandDispatcher<CommandSourceStack> commands
  • Constructor Details

    • ClientCommandHandler

      public ClientCommandHandler()
  • Method Details

    • init

      public static void init()
    • handleClientPlayerLogin

      private static void handleClientPlayerLogin(ClientPlayerNetworkEvent.LoggingIn event)
    • mergeServerCommands

      public static com.mojang.brigadier.CommandDispatcher<SharedSuggestionProvider> mergeServerCommands(com.mojang.brigadier.CommandDispatcher<SharedSuggestionProvider> serverCommands, CommandBuildContext buildContext)
    • getDispatcher

      public static com.mojang.brigadier.CommandDispatcher<CommandSourceStack> getDispatcher()
      Returns:
      The command dispatcher for client side commands
    • getSource

      public static ClientCommandSourceStack getSource()
      Returns:
      A ClientCommandSourceStack for the player in the current client
    • copy

      private static <S> void copy(com.mojang.brigadier.tree.CommandNode<S> sourceNode, com.mojang.brigadier.tree.CommandNode<S> resultNode)
      Creates a deep copy of the sourceNode while keeping the redirects referring to the old command tree
      Parameters:
      sourceNode - the original
      resultNode - the result
    • runCommand

      public static boolean runCommand(String command)
      Always try to execute the cached parsing of a typed command as a clientside command. Requires that the execute field of the commands to be set to send to server so that they aren't\ treated as client command's that do nothing. net.minecraft.commands.Commands#performCommand(CommandSourceStack, String) for reference
      Parameters:
      command - the full command to execute, no preceding slash
      Returns:
      false leaves the message to be sent to the server, while true means it should be caught before LocalPlayer#sendCommand