Package net.neoforged.neoforge.client
Class ClientCommandHandler
java.lang.Object
net.neoforged.neoforge.client.ClientCommandHandler
-
Field Summary
Modifier and TypeFieldDescriptionprivate static com.mojang.brigadier.CommandDispatcher
<CommandSourceStack> private static final org.apache.logging.log4j.Logger
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprivate 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 treestatic com.mojang.brigadier.CommandDispatcher
<CommandSourceStack> static ClientCommandSourceStack
private static void
static void
init()
static com.mojang.brigadier.CommandDispatcher
<SharedSuggestionProvider> mergeServerCommands
(com.mojang.brigadier.CommandDispatcher<SharedSuggestionProvider> serverCommands, CommandBuildContext buildContext) static boolean
runCommand
(String command) Always try to execute the cached parsing of a typed command as a clientside command.
-
Field Details
-
LOGGER
private static final org.apache.logging.log4j.Logger LOGGER -
commands
-
-
Constructor Details
-
ClientCommandHandler
public ClientCommandHandler()
-
-
Method Details
-
init
public static void init() -
handleClientPlayerLogin
-
mergeServerCommands
@Internal public static com.mojang.brigadier.CommandDispatcher<SharedSuggestionProvider> mergeServerCommands(com.mojang.brigadier.CommandDispatcher<SharedSuggestionProvider> serverCommands, CommandBuildContext buildContext) -
getDispatcher
- Returns:
- The command dispatcher for client side commands
-
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 originalresultNode
- the result
-
runCommand
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.Commands.performCommand(ParseResults, String)
for reference- Parameters:
command
- the full command to execute, no preceding slash- Returns:
false
leaves the message to be sent to the server, whiletrue
means it should be caught before LocalPlayer#sendCommand
-