Skip to content

Commit 54f51a2

Browse files
author
damt
committed
[+] Added UUID command provider, and fixed .bind()
1 parent 692dfeb commit 54f51a2

File tree

3 files changed

+27
-1
lines changed

3 files changed

+27
-1
lines changed

src/main/java/xyz/damt/command/CommandHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public CommandHandler(JavaPlugin javaPlugin) {
4444
* @return {@link CommandHandler}
4545
*/
4646

47-
public final CommandHandler bind(Class<?> clazz, CommandProvider<?> commandProvider) {
47+
public final <T> CommandHandler bind(Class<T> clazz, CommandProvider<T> commandProvider) {
4848
commandProviderHandler.register(clazz, commandProvider);
4949
return this;
5050
}

src/main/java/xyz/damt/command/provider/CommandProviderHandler.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import java.lang.reflect.Parameter;
1111
import java.util.HashMap;
1212
import java.util.Map;
13+
import java.util.UUID;
1314

1415
public class CommandProviderHandler {
1516

@@ -37,6 +38,7 @@ private final void init() {
3738
this.register(Float.class, new FloatCommandProvider());
3839
this.register(Boolean.class, new BooleanCommandProvider());
3940
this.register(Double.class, new DoubleCommandProvider());
41+
this.register(UUID.class, new UUIDCommandProvider());
4042
this.register(String[].class, new StringArrayCommandProvider());
4143

4244
this.register(Player.class, new PlayerCommandProvider(commandHandler.getJavaPlugin()));
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package xyz.damt.command.provider.impl.normal;
2+
3+
import org.bukkit.ChatColor;
4+
import xyz.damt.command.exception.CommandProviderNullException;
5+
import xyz.damt.command.provider.CommandProvider;
6+
7+
import java.util.UUID;
8+
9+
public class UUIDCommandProvider implements CommandProvider<UUID> {
10+
11+
@Override
12+
public UUID provide(String s) throws CommandProviderNullException {
13+
UUID uuid;
14+
15+
try {
16+
uuid = UUID.fromString(s);
17+
} catch (Exception exception) {
18+
throw new CommandProviderNullException(ChatColor.RED + "The UUID you have inputted is not valid!");
19+
}
20+
21+
return uuid;
22+
}
23+
24+
}

0 commit comments

Comments
 (0)