AssetTagMatcher class
Пакет: com.hypixel.hytale.builtin.triggervolumes.effect.builtin.rules
Файл: com/hypixel/hytale/builtin/triggervolumes/effect/builtin/rules/AssetTagMatcher.java
Поля (1)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
AssetTagMatcher |
EMPTY |
Методы (9)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
void |
collectIndexesvoid collectIndexes(@Nonnull AssetMapWithIndexes<String, ?> var1, @Nonnull IntSet var2) |
public |
void |
collectKeysvoid collectKeys(@Nonnull AssetMap<String, ?> var1, @Nonnull Set<String> var2) |
|
|
for for(int var2 = 0; var2 < var1.length; var2++) |
|
|
for for(int var6 : this.tagIndexes) |
|
|
for for(int var6 : this.tagIndexes) |
|
|
for for(int var6 : this.tagIndexes) |
|
|
if if(var1 == null) |
public |
boolean |
isEmptyboolean isEmpty() |
public |
boolean |
matchesboolean matches(@Nullable String var1, @Nonnull AssetMap<String, ?> var2) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.triggervolumes.effect.builtin.rules;
class="kw">import com.hypixel.hytale.assetstore.AssetMap;
class="kw">import com.hypixel.hytale.assetstore.AssetRegistry;
class="kw">import com.hypixel.hytale.assetstore.map.AssetMapWithIndexes;
class="kw">import com.hypixel.hytale.common.util.ArrayUtil;
class="kw">import it.unimi.dsi.fastutil.ints.IntSet;
class="kw">import java.util.Set;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class="kw">final class AssetTagMatcher {
class="kw">public class="kw">static class="kw">final AssetTagMatcher EMPTY = new AssetTagMatcher(ArrayUtil.EMPTY_STRING_ARRAY);
@Nonnull
class="kw">private class="kw">final String[] tags;
@Nonnull
class="kw">private class="kw">final int[] tagIndexes;
class="kw">private AssetTagMatcher(@Nonnull String[] var1) {
this.tags = var1;
this.tagIndexes = new int[var1.length];
for (int var2 = 0; var2 < var1.length; var2++) {
this.tagIndexes[var2] = AssetRegistry.getOrCreateTagIndex(var1[var2].trim());
}
}
@Nonnull
class="kw">public class="kw">static AssetTagMatcher of(@Nullable String[] var0) {
class="kw">return var0 != null && var0.length != 0 ? new AssetTagMatcher(var0) : EMPTY;
}
@Nullable
class="kw">public String[] getTags() {
class="kw">return this.tags.length == 0 ? null : this.tags;
}
class="kw">public boolean isEmpty() {
class="kw">return this.tags.length == 0;
}
class="kw">public boolean matches(@Nullable String var1, @Nonnull AssetMap<String, ?> var2) {
if (var1 == null) {
class="kw">return false;
}
for (int var6 : this.tagIndexes) {
if (var2.getKeysForTag(var6).contains(var1)) {
class="kw">return true;
}
}
class="kw">return false;
}
class="kw">public void collectIndexes(@Nonnull AssetMapWithIndexes<String, ?> var1, @Nonnull IntSet var2) {
for (int var6 : this.tagIndexes) {
var2.addAll(var1.getIndexesForTag(var6));
}
}
class="kw">public void collectKeys(@Nonnull AssetMap<String, ?> var1, @Nonnull Set<String> var2) {
for (int var6 : this.tagIndexes) {
var2.addAll(var1.getKeysForTag(var6));
}
}
}