Center enum

Пакет: com.hypixel.hytale.builtin.triggervolumes.effect.builtin

Файл: com/hypixel/hytale/builtin/triggervolumes/effect/builtin/TaggedVolumeEffectUtil.java

Поля (1)

МодификаторыТипИмя
VOLUME, ENTITY, EVENT

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.triggervolumes.effect.builtin;

class="kw">import com.hypixel.hytale.assetstore.AssetRegistry;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.TriggerVolumesPlugin;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.TriggerContext;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.TriggerVolumeCodecs;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.manager.GroupEntry;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.manager.TriggerVolumeManager;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.manager.VolumeEntry;
class="kw">import java.util.ArrayList;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3d;

class="kw">public class="kw">final class TaggedVolumeEffectUtil {
   @Nonnull
   class="kw">public class="kw">static class="kw">final String EMPTY_TAG_VALUE = "Empty";

   class="kw">private TaggedVolumeEffectUtil() {
   }

   @Nonnull
   class="kw">public class="kw">static List<VolumeEntry> collectTargets(@Nonnull TriggerContext var0, @Nullable String var1, double var2, @Nonnull TaggedVolumeEffectUtil.Center var4) {
      TriggerVolumeManager var5 = var0.getStore().getResource(TriggerVolumesPlugin.get().getManagerResourceType());
      if (var1 != null && !var1.isBlank()) {
         class="kw">return collectTargets(var5, var1, var2, resolveCenter(var0, var4));
      } else {
         VolumeEntry var6 = var0.getVolume();
         if (var2 <= 0.0) {
            class="kw">return List.of(var6);
         } else {
            class="kw">return resolveCenter(var0, var4).distanceSquared(var6.getPosition()) <= var2 * var2 ? List.of(var6) : List.of();
         }
      }
   }

   @Nonnull
   class="kw">public class="kw">static List<VolumeEntry> collectTargets(@Nonnull TriggerVolumeManager var0, @Nullable String var1, double var2, @Nonnull Vector3d var4) {
      if (var1 != null && !var1.isBlank()) {
         int var5 = AssetRegistry.getTagIndex(var1);
         if (var5 == Integer.MIN_VALUE) {
            class="kw">return List.of();
         }

         List var6 = var0.getVolumesByTag(var5);
         if (var2 <= 0.0) {
            class="kw">return var6;
         }

         double var7 = var2 * var2;
         ArrayList var9 = new ArrayList<>();

         for (VolumeEntry var11 : var6) {
            if (var11.getPosition().distanceSquared(var4) <= var7) {
               var9.add(var11);
            }
         }

         class="kw">return var9;
      } else {
         class="kw">return List.of();
      }
   }

   @Nonnull
   class="kw">public class="kw">static List<GroupEntry> collectGroupTargets(
      @Nonnull TriggerContext var0, @Nullable String var1, double var2, @Nonnull TaggedVolumeEffectUtil.Center var4
   ) {
      if (var1 != null && !var1.isBlank()) {
         TriggerVolumeManager var5 = var0.getStore().getResource(TriggerVolumesPlugin.get().getManagerResourceType());
         int var6 = AssetRegistry.getTagIndex(var1);
         if (var6 == Integer.MIN_VALUE) {
            class="kw">return List.of();
         }

         List var7 = var5.getGroupsByTag(var6);
         if (var2 <= 0.0) {
            class="kw">return var7;
         }

         Vector3d var8 = resolveCenter(var0, var4);
         double var9 = var2 * var2;
         ArrayList var11 = new ArrayList<>();

         for (GroupEntry var13 : var7) {
            if (var13.getOrigin().distanceSquared(var8) <= var9) {
               var11.add(var13);
            }
         }

         class="kw">return var11;
      } else {
         class="kw">return List.of();
      }
   }

   @Nullable
   class="kw">static TriggerVolumeManager manager(@Nonnull TriggerContext var0) {
      class="kw">return var0.getStore().getResource(TriggerVolumesPlugin.get().getManagerResourceType());
   }

   @Nonnull
   class="kw">public class="kw">static String normalizeTagValue(@Nullable String var0) {
      class="kw">return TriggerVolumeCodecs.TaggedValue.normalize(var0);
   }

   @Nullable
   class="kw">public class="kw">static String blankToNull(@Nullable String var0) {
      class="kw">return var0 != null && !var0.isBlank() ? var0.trim() : null;
   }

   @Nullable
   class="kw">public class="kw">static String composeTagFilter(@Nullable String var0, @Nullable String var1) {
      if (var0 == null || var0.isBlank()) {
         class="kw">return null;
      } else {
         class="kw">return var1 != null && !var1.isBlank() ? var0.trim() + "=" + var1.trim() : var0.trim();
      }
   }

   @Nonnull
   class="kw">private class="kw">static Vector3d resolveCenter(@Nonnull TriggerContext var0, @Nonnull TaggedVolumeEffectUtil.Center var1) {
      if (var1 == TaggedVolumeEffectUtil.Center.ENTITY) {
         Vector3d var2 = var0.getActorPosition();
         if (var2 != null) {
            class="kw">return var2;
         }
      }

      class="kw">return new Vector3d(var0.getVolume().getPosition());
   }

   class="kw">public enum Center {
      VOLUME,
      ENTITY,
      EVENT;

      Center() {
      }
   }
}