begin implementing commands with Cloud

This commit is contained in:
dfsek
2021-12-19 19:09:08 -07:00
parent ea3f8096fd
commit 46153cb358
9 changed files with 55 additions and 201 deletions

View File

@@ -46,12 +46,24 @@ public class RegistryArgument<T, R> extends CommandArgument<T, R> {
return new Builder<>(name, registry);
}
public static <T, R> CommandArgument<T, R> of(String name, Registry<R> registry) {
return RegistryArgument.<T, R>builder(name, registry).build();
}
public static <T, R> CommandArgument<T, R> optional(String name, Registry<R> registry) {
return RegistryArgument.<T, R>builder(name, registry).asOptional().build();
}
public static <T, R> CommandArgument<T, R> optional(String name, Registry<R> registry, String defaultKey) {
return RegistryArgument.<T, R>builder(name, registry).asOptionalWithDefault(defaultKey).build();
}
public static final class Builder<T, R> extends CommandArgument.Builder<T, R> {
private final Registry<R> registry;
@SuppressWarnings("unchecked")
private Builder(@NonNull String name, Registry<R> registry) {
super((TypeToken<R>) registry.getType().getType(), name);
super((TypeToken<R>) TypeToken.get(registry.getType().getType()), name);
this.registry = registry;
}

View File

@@ -0,0 +1,19 @@
package com.dfsek.terra.api.event.events.platform;
import cloud.commandframework.CommandManager;
import com.dfsek.terra.api.entity.CommandSender;
import com.dfsek.terra.api.event.events.Event;
public class CommandRegistrationEvent implements Event {
private final CommandManager<CommandSender> commandManager;
public CommandRegistrationEvent(CommandManager<CommandSender> commandManager) {
this.commandManager = commandManager;
}
public CommandManager<CommandSender> getCommandManager() {
return commandManager;
}
}