Added suggestions to a lot of factory-related commands

This commit is contained in:
Matthew Miller
2019-05-18 16:47:08 +10:00
parent 7b47d9a945
commit a3ffb91917
14 changed files with 75 additions and 17 deletions

View File

@ -29,10 +29,9 @@ import com.sk89q.worldedit.internal.registry.InputParser;
import com.sk89q.worldedit.world.block.BlockCategory;
import com.sk89q.worldedit.world.block.BlockType;
import java.util.List;
import java.util.Locale;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class BlockCategoryPatternParser extends InputParser<Pattern> {
@ -41,8 +40,8 @@ public class BlockCategoryPatternParser extends InputParser<Pattern> {
}
@Override
public List<String> getSuggestions() {
return BlockCategory.REGISTRY.keySet().stream().map(str -> "##" + str).collect(Collectors.toList());
public Stream<String> getSuggestions() {
return BlockCategory.REGISTRY.keySet().stream().map(str -> "##" + str);
}
@Override

View File

@ -19,7 +19,6 @@
package com.sk89q.worldedit.extension.factory.parser.pattern;
import com.google.common.collect.Lists;
import com.sk89q.worldedit.EmptyClipboardException;
import com.sk89q.worldedit.LocalSession;
import com.sk89q.worldedit.WorldEdit;
@ -32,7 +31,7 @@ import com.sk89q.worldedit.internal.registry.InputParser;
import com.sk89q.worldedit.math.BlockVector3;
import com.sk89q.worldedit.session.ClipboardHolder;
import java.util.List;
import java.util.stream.Stream;
public class ClipboardPatternParser extends InputParser<Pattern> {
@ -41,8 +40,8 @@ public class ClipboardPatternParser extends InputParser<Pattern> {
}
@Override
public List<String> getSuggestions() {
return Lists.newArrayList("#clipboard", "#copy");
public Stream<String> getSuggestions() {
return Stream.of("#clipboard", "#copy");
}
@Override

View File

@ -25,6 +25,9 @@ import com.sk89q.worldedit.extension.input.ParserContext;
import com.sk89q.worldedit.function.pattern.BlockPattern;
import com.sk89q.worldedit.function.pattern.Pattern;
import com.sk89q.worldedit.internal.registry.InputParser;
import com.sk89q.worldedit.world.block.BlockType;
import java.util.stream.Stream;
public class SingleBlockPatternParser extends InputParser<Pattern> {
@ -32,6 +35,11 @@ public class SingleBlockPatternParser extends InputParser<Pattern> {
super(worldEdit);
}
@Override
public Stream<String> getSuggestions() {
return worldEdit.getBlockFactory().getSuggestions();
}
@Override
public Pattern parseFromInput(String input, ParserContext context) throws InputParseException {
return new BlockPattern(worldEdit.getBlockFactory().parseFromInput(input, context));