Dendritus

Command Alias Register

Jul 21st, 2025
6
0
13 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.17 KB | Source Code | 0 0
  1.     private static Map<String, String> aliasToCanonicalNameMap = new HashMap<>();
  2.  
  3.     private void registerCommandAliases(CommandDispatcher<ServerCommandSource> dispatcher, Map<String, List<String>> configuredAliases) {
  4.         aliasToCanonicalNameMap.clear();
  5.  
  6.         for (Map.Entry<String, List<String>> entry : configuredAliases.entrySet()) {
  7.             String canonicalCommandName = entry.getKey();
  8.             List<String> aliases = entry.getValue();
  9.             CommandNode<ServerCommandSource> canonicalNode = dispatcher.getRoot().getChild(canonicalCommandName);
  10.  
  11.             if (canonicalNode == null) {
  12.                 // Warning logged if canonical command not found
  13.                 continue;
  14.             }
  15.  
  16.             for (String alias : aliases) {
  17.                 String cleanAlias = alias.startsWith("/") ? alias.substring(1) : alias;
  18.                 dispatcher.register(CommandManager.literal(cleanAlias).redirect(canonicalNode));
  19.                 aliasToCanonicalNameMap.put(cleanAlias, canonicalCommandName);
  20.             }
  21.         }
  22.     }
  23.  
  24.     public static Map<String, String> getAliasToCanonicalNameMap() {
  25.         return aliasToCanonicalNameMap;
  26.     }
Advertisement
Add Comment
Please, Sign In to add comment