aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/impl/SearchArgument.java
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2020-07-08 22:49:27 +0800
committershedaniel <daniel@shedaniel.me>2020-07-08 22:49:27 +0800
commitddbedf6a7dc89176ab7797e5aaa10d6ea563f9a9 (patch)
tree3ecdb75f9c34c5cba27c15ee84d845aaa654eb2e /src/main/java/me/shedaniel/rei/impl/SearchArgument.java
parent1189bcf3a46777239462da0dc45aa088697fec40 (diff)
downloadRoughlyEnoughItems-ddbedf6a7dc89176ab7797e5aaa10d6ea563f9a9.tar.gz
RoughlyEnoughItems-ddbedf6a7dc89176ab7797e5aaa10d6ea563f9a9.tar.bz2
RoughlyEnoughItems-ddbedf6a7dc89176ab7797e5aaa10d6ea563f9a9.zip
Custom Filtering Rules
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'src/main/java/me/shedaniel/rei/impl/SearchArgument.java')
-rw-r--r--src/main/java/me/shedaniel/rei/impl/SearchArgument.java11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/main/java/me/shedaniel/rei/impl/SearchArgument.java b/src/main/java/me/shedaniel/rei/impl/SearchArgument.java
index 52696a2b8..ffeb1f439 100644
--- a/src/main/java/me/shedaniel/rei/impl/SearchArgument.java
+++ b/src/main/java/me/shedaniel/rei/impl/SearchArgument.java
@@ -33,6 +33,8 @@ import me.shedaniel.rei.impl.search.Argument;
import me.shedaniel.rei.impl.search.ArgumentsRegistry;
import me.shedaniel.rei.impl.search.MatchStatus;
import me.shedaniel.rei.utils.CollectionUtils;
+import net.fabricmc.api.EnvType;
+import net.fabricmc.api.Environment;
import net.minecraft.client.MinecraftClient;
import net.minecraft.text.Text;
import org.apache.commons.lang3.StringUtils;
@@ -44,6 +46,7 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
@ApiStatus.Internal
+@Environment(EnvType.CLIENT)
public class SearchArgument {
public static final String SPACE = " ", EMPTY = "";
private static final SearchArgument ALWAYS = new SearchArgument(AlwaysMatchingArgument.INSTANCE, EMPTY, true);
@@ -72,7 +75,7 @@ public class SearchArgument {
List<SearchArgument> arguments = Lists.newArrayList();
while (terms.find()) {
String term = MoreObjects.firstNonNull(terms.group(1), terms.group(2));
- for (Argument argument : ArgumentsRegistry.ARGUMENTS) {
+ for (Argument argument : ArgumentsRegistry.ARGUMENT_LIST) {
MatchStatus status = argument.matchesArgumentPrefix(term);
if (status.isMatched()) {
arguments.add(new SearchArgument(argument, status.getText(), !status.isInverted(), !status.shouldPreserveCasing()));
@@ -99,7 +102,7 @@ public class SearchArgument {
if (searchArguments.isEmpty())
return true;
MinecraftClient minecraft = MinecraftClient.getInstance();
- Object[] data = new Object[ArgumentsRegistry.ARGUMENTS.size()];
+ Object[] data = new Object[ArgumentsRegistry.ARGUMENT_LIST.size()];
for (SearchArgument.SearchArguments arguments : searchArguments) {
boolean applicable = true;
for (SearchArgument argument : arguments.getArguments()) {
@@ -149,6 +152,10 @@ public class SearchArgument {
public SearchArgument[] getArguments() {
return arguments;
}
+
+ public final boolean isAlways() {
+ return this == ALWAYS;
+ }
}
}