Final touches on new arguments

This commit is contained in:
broccolai 2020-09-28 16:39:51 +00:00 committed by Alexander Söderberg
parent 5c7d0bda1e
commit e277237db3
3 changed files with 10 additions and 19 deletions

View file

@ -29,6 +29,7 @@ import cloud.commandframework.arguments.parser.ArgumentParser;
import cloud.commandframework.context.CommandContext;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.List;
import java.util.Queue;
import java.util.UUID;
@ -40,8 +41,8 @@ public final class UUIDArgument<C> extends CommandArgument<C, UUID> {
private UUIDArgument(final boolean required,
@Nonnull final String name,
@Nonnull final String defaultValue,
@Nonnull final BiFunction<CommandContext<C>, String, List<String>> suggestionsProvider) {
super(required, name, new UUIDParser<>(suggestionsProvider), defaultValue, UUID.class, suggestionsProvider);
@Nullable final BiFunction<CommandContext<C>, String, List<String>> suggestionsProvider) {
super(required, name, new UUIDParser<>(), defaultValue, UUID.class, suggestionsProvider);
}
/**
@ -117,12 +118,6 @@ public final class UUIDArgument<C> extends CommandArgument<C, UUID> {
private static final class UUIDParser<C> implements ArgumentParser<C, UUID> {
private final BiFunction<CommandContext<C>, String, List<String>> suggestionsProvider;
UUIDParser(@Nonnull final BiFunction<CommandContext<C>, String, List<String>> suggestionsProvider) {
this.suggestionsProvider = suggestionsProvider;
}
@Nonnull
@Override
public ArgumentParseResult<UUID> parse(
@ -142,13 +137,6 @@ public final class UUIDArgument<C> extends CommandArgument<C, UUID> {
}
}
@Nonnull
@Override
public List<String> suggestions(@Nonnull final CommandContext<C> commandContext,
@Nonnull final String input) {
return this.suggestionsProvider.apply(commandContext, input);
}
@Override
public boolean isContextFree() {
return true;

View file

@ -32,6 +32,7 @@ import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.ArrayList;
import java.util.List;
import java.util.Queue;
@ -42,7 +43,7 @@ public final class OfflinePlayerArgument<C> extends CommandArgument<C, OfflinePl
private OfflinePlayerArgument(final boolean required,
@Nonnull final String name,
@Nonnull final String defaultValue,
@Nonnull final BiFunction<CommandContext<C>, String, List<String>> suggestionsProvider) {
@Nullable final BiFunction<CommandContext<C>, String, List<String>> suggestionsProvider) {
super(required, name, new OfflinePlayerParser<>(), defaultValue, OfflinePlayer.class, suggestionsProvider);
}

View file

@ -31,6 +31,7 @@ import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.ArrayList;
import java.util.List;
import java.util.Queue;
@ -38,9 +39,10 @@ import java.util.function.BiFunction;
@SuppressWarnings("unused")
public final class PlayerArgument<C> extends CommandArgument<C, Player> {
private PlayerArgument(final boolean required, @Nonnull final String name,
@Nonnull final String defaultValue,
@Nonnull final BiFunction<CommandContext<C>, String, List<String>> suggestionsProvider) {
private PlayerArgument(final boolean required,
@Nonnull final String name,
@Nonnull final String defaultValue,
@Nullable final BiFunction<CommandContext<C>, String, List<String>> suggestionsProvider) {
super(required, name, new PlayerParser<>(), defaultValue, Player.class, suggestionsProvider);
}