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;
      }
   }
}