All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.lenni0451.commons.brigadier.SuggestionBuilder Maven / Gradle / Ivy

package net.lenni0451.commons.brigadier;

import com.mojang.brigadier.suggestion.SuggestionProvider;
import lombok.experimental.UtilityClass;

import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.function.Consumer;

@UtilityClass
public class SuggestionBuilder {

    public static  SuggestionProvider suggest(final Consumer> consumer) {
        return (ctx, builder) -> {
            String remaining = builder.getRemaining().toLowerCase(Locale.ROOT);
            List suggestions = new ArrayList<>();
            consumer.accept(suggestions);
            for (String suggestion : suggestions) {
                if (suggestion.toLowerCase(Locale.ROOT).startsWith(remaining)) builder.suggest(suggestion);
            }
            return builder.buildFuture();
        };
    }

}