VolumeTagMatcher class
Пакет: com.hypixel.hytale.builtin.triggervolumes.effect.builtin.conditions
Файл: com/hypixel/hytale/builtin/triggervolumes/effect/builtin/conditions/VolumeTagMatcher.java
Поля (1)
| Модификаторы | Тип | Имя |
|---|---|---|
|
String |
var4 |
Методы (6)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
static |
boolean |
hasTagboolean hasTag(@Nonnull VolumeEntry var0, @Nonnull String var1, @Nullable String var2, @Nonnull PlayerCountCondition.Comparison var3) |
|
|
if if(var4 == null) |
|
|
if if(var0 == null) |
static |
boolean |
matchesValueboolean matchesValue(@Nullable String var0, @Nonnull String var1, @Nonnull PlayerCountCondition.Comparison var2) |
static |
double |
parseNumberdouble parseNumber(@Nonnull String var0) |
|
return |
switchreturn switch(var2) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.triggervolumes.effect.builtin.conditions;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.manager.VolumeEntry;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">final class VolumeTagMatcher {
class="kw">private VolumeTagMatcher() {
}
class="kw">static boolean hasTag(@Nonnull VolumeEntry var0, @Nonnull String var1, @Nullable String var2, @Nonnull PlayerCountCondition.Comparison var3) {
String var4 = var0.getRawTags().get(var1);
if (var4 == null) {
class="kw">return false;
} else {
class="kw">return var2 != null && !var2.isBlank() ? matchesValue(var4, var2, var3) : true;
}
}
class="kw">static boolean matchesValue(@Nullable String var0, @Nonnull String var1, @Nonnull PlayerCountCondition.Comparison var2) {
if (var0 == null) {
class="kw">return false;
}
class="kw">return class="kw">switch (var2) {
case EXACTLY -> var0.equals(var1);
case NOT_EQUALS -> !var0.equals(var1);
case AT_LEAST -> parseNumber(var0) >= parseNumber(var1);
case AT_MOST -> parseNumber(var0) <= parseNumber(var1);
case MORE_THAN -> parseNumber(var0) > parseNumber(var1);
case LESS_THAN -> parseNumber(var0) < parseNumber(var1);
};
}
class="kw">private class="kw">static double parseNumber(@Nonnull String var0) {
try {
class="kw">return Double.parseDouble(var0.trim());
} catch (NumberFormatException var2) {
class="kw">return Double.NaN;
}
}
}