Skip to content

Commit f2737bd

Browse files
committed
Fixed some critical issues related matcher system
1 parent 03b2b2d commit f2737bd

File tree

2 files changed

+10
-9
lines changed

2 files changed

+10
-9
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>me.despical</groupId>
55
<artifactId>command-framework</artifactId>
6-
<version>1.0.4</version>
6+
<version>1.0.5</version>
77

88
<properties>
99
<java.version>8</java.version>

src/main/java/me/despical/commandframework/CommandFramework.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -162,8 +162,8 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull org.bukkit.comm
162162
for (Map.Entry<Command, Map.Entry<Method, Object>> entry : commands.entrySet()) {
163163
Command command = entry.getKey();
164164
String[] splitted = command.name().split("\\.");
165-
String allArgs = String.join(".", Arrays.copyOfRange(args, 0, splitted.length - 1));
166-
String cmdName = (command.name().contains(".") ? splitted[0] : cmd.getName()) + "." + allArgs;
165+
String allArgs = args.length == 0 ? "" : "." + String.join(".", Arrays.copyOfRange(args, 0, splitted.length - 1));
166+
String cmdName = (command.name().contains(".") ? splitted[0] : cmd.getName()) + allArgs;
167167

168168
if (command.name().equalsIgnoreCase(cmdName) || Stream.of(command.aliases()).anyMatch(cmdName::equalsIgnoreCase)) {
169169
if (!sender.hasPermission(command.permission())) {
@@ -197,21 +197,22 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull org.bukkit.comm
197197
if (args.length >= command.min() + splitted.length - 1 && newArgs.length <= (command.max() == -1 ? newArgs.length + 1 : command.max())) {
198198
try {
199199
entry.getValue().getKey().invoke(entry.getValue().getValue(), new CommandArguments(sender, cmd, label, newArgs));
200+
return true;
200201
} catch (IllegalAccessException | InvocationTargetException e) {
201202
e.printStackTrace();
203+
return true;
202204
}
203205
} else {
204206
sender.sendMessage(SHORT_OR_LONG_ARG_SIZE);
207+
return true;
205208
}
206-
207-
return true;
208209
}
209210
}
210211

211-
if (anyMatchConsumer != null) {
212-
anyMatchConsumer.accept(new CommandArguments(sender, cmd, label, args));
213-
return true;
214-
}
212+
if (anyMatchConsumer != null) {
213+
anyMatchConsumer.accept(new CommandArguments(sender, cmd, label, args));
214+
return true;
215+
}
215216

216217
return false;
217218
}

0 commit comments

Comments
 (0)