@@ -58,54 +58,31 @@ public CommandBuilder registerCommand(final Plugin plugin, final String mainComm
5858
5959 if (mainCommands .length > 0 ) {
6060 for (String main : mainCommands ) {
61- if (isCommandRegistered (main )) continue ;
62- commands .compute (main , (commandLabel , mainCommandHandler ) -> {
63- if (mainCommandHandler != null ) {
64- return null ;
65- }
66- this .registerMainCommand (plugin .getName ().toLowerCase (Locale .ROOT ), main );
67- return commandBuilder .getMainCommandHandler ();
68- });
61+ if (this .isCommandRegistered (main )) continue ;
62+ this .registerCommand (plugin , main , commandBuilder );
6963 }
7064 return commandBuilder ;
7165 }
72- if (isCommandRegistered (mainCommand )) return commandBuilder ;
73- commands .compute (mainCommand , (commandLabel , mainCommandHandler ) -> {
74- if (mainCommandHandler != null ) {
75- return null ;
76- }
77- this .registerMainCommand (plugin .getName ().toLowerCase (Locale .ROOT ), mainCommand );
78- return commandBuilder .getMainCommandHandler ();
79- });
66+ if (this .isCommandRegistered (mainCommand )) return commandBuilder ;
67+ this .registerCommand (plugin , mainCommand , commandBuilder );
8068 return commandBuilder ;
8169 }
8270
71+
8372 @ Override
8473 public void registerCommand (@ Nonnull final Plugin plugin , @ Nonnull final String mainCommand , @ Nonnull final Consumer <CommandBuilder > callback ) {
8574 final String [] mainCommands = mainCommand .split ("\\ |" );
8675 final CommandBuilder commandBuilder = new CommandBuilder ();
8776 callback .accept (commandBuilder );
8877 if (mainCommands .length > 0 ) {
8978 for (String main : mainCommands ) {
90- if (isCommandRegistered (main )) continue ;
91- commands .compute (main , (commandLabel , mainCommandHandler ) -> {
92- if (mainCommandHandler != null ) {
93- return null ;
94- }
95- this .registerMainCommand (plugin .getName ().toLowerCase (Locale .ROOT ), main );
96- return commandBuilder .getMainCommandHandler ();
97- });
79+ if (this .isCommandRegistered (main )) continue ;
80+ this .registerCommand (plugin , main , commandBuilder );
9881 }
9982 return ;
10083 }
101- if (isCommandRegistered (mainCommand )) return ;
102- commands .compute (mainCommand , (commandLabel , mainCommandHandler ) -> {
103- if (mainCommandHandler != null ) {
104- return null ;
105- }
106- this .registerMainCommand (plugin .getName ().toLowerCase (Locale .ROOT ), mainCommand );
107- return commandBuilder .getMainCommandHandler ();
108- });
84+ if (this .isCommandRegistered (mainCommand )) return ;
85+ this .registerCommand (plugin , mainCommand , commandBuilder );
10986 }
11087
11188 @ Override
@@ -135,6 +112,23 @@ public static String translateColors(final String message) {
135112 return ChatColor .translateAlternateColorCodes ('&' , message );
136113 }
137114
115+ /**
116+ * Register the command both to both cache and server.
117+ *
118+ * @param plugin the plugin to register
119+ * @param main The main command to register.
120+ * @param commandBuilder The CommandRegistering instance.
121+ */
122+ private void registerCommand (@ Nonnull final Plugin plugin , @ Nonnull final String main , @ Nonnull final CommandBuilder commandBuilder ) {
123+ commands .compute (main , (commandLabel , mainCommandHandler ) -> {
124+ if (mainCommandHandler != null ) {
125+ return null ;
126+ }
127+ this .registerMainCommand (plugin .getName ().toLowerCase (Locale .ROOT ), main );
128+ return commandBuilder .getMainCommandHandler ();
129+ });
130+ }
131+
138132 /**
139133 * Registers the main command with the specified fallback prefix, command, description, usage message, and aliases.
140134 * If the main command has already been registered, this method does nothing.
@@ -143,10 +137,8 @@ public static String translateColors(final String message) {
143137 * @param mainCommand The main command to register.
144138 * @return The CommandRegistering instance.
145139 */
146- private CommandRegistering registerMainCommand (String fallbackPrefix , String mainCommand ) {
147- final String description = "This is the command registered: " + mainCommand ;
148- final String usageMessage = "usage for command/" + mainCommand ;
149- return this .registerMainCommand (fallbackPrefix , mainCommand , description , usageMessage , new String [0 ]);
140+ private CommandRegistering registerMainCommand (@ Nonnull final String fallbackPrefix , @ Nonnull final String mainCommand ) {
141+ return this .registerMainCommand (fallbackPrefix , mainCommand , new String [0 ]);
150142 }
151143
152144 /**
@@ -158,7 +150,7 @@ private CommandRegistering registerMainCommand(String fallbackPrefix, String mai
158150 * @param aliases The aliases of the main command.
159151 * @return The CommandRegistering instance.
160152 */
161- private CommandRegistering registerMainCommand (String fallbackPrefix , String mainCommand , String ... aliases ) {
153+ private CommandRegistering registerMainCommand (@ Nonnull final String fallbackPrefix , @ Nonnull final String mainCommand , @ Nonnull final String ... aliases ) {
162154 final String description = "This is the command registered: " + mainCommand ;
163155 final String usageMessage = "usage for command/" + mainCommand ;
164156 return this .registerMainCommand (fallbackPrefix , mainCommand , description , usageMessage , aliases );
@@ -176,14 +168,9 @@ private CommandRegistering registerMainCommand(String fallbackPrefix, String mai
176168 * @return The CommandRegistering instance.
177169 */
178170 private CommandRegistering registerMainCommand (@ Nonnull final String fallbackPrefix , @ Nonnull final String mainCommand , @ Nonnull final String description , @ Nonnull final String usageMessage , @ Nonnull final String ... aliases ) {
179- final String [] main = mainCommand .split ("\\ |" );
180171 if (registeredMainCommand ) return this ;
181172
182- if (main .length > 1 )
183- for (final String command : main )
184- this .register (fallbackPrefix + ":" + mainCommand , new CommandExecutor (this , command , description , usageMessage , Arrays .asList (aliases )));
185- else
186- this .register (fallbackPrefix , new CommandExecutor (this , mainCommand , description , usageMessage , Arrays .asList (aliases )));
173+ this .register (fallbackPrefix , new CommandExecutor (this , mainCommand , description , usageMessage , Arrays .asList (aliases )));
187174 return this ;
188175 }
189176
@@ -195,7 +182,7 @@ private CommandRegistering registerMainCommand(@Nonnull final String fallbackPre
195182 * @param fallbackPrefix The fallback prefix to use if the normal command cannot be used.
196183 * @param command The command to register.
197184 */
198- private void register (final String fallbackPrefix , final Command command ) {
185+ private void register (@ Nonnull final String fallbackPrefix , @ Nonnull final Command command ) {
199186 try {
200187 final Field bukkitCommandMap = Bukkit .getServer ().getClass ().getDeclaredField ("commandMap" );
201188
0 commit comments