TaggedVolumeEffectUtil class

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

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

Поля (14)

МодификаторыТипИмя
VOLUME, ENTITY, EVENT
ArrayList var11
Vector3d var2
TriggerVolumeManager var5
int var5
TriggerVolumeManager var5
VolumeEntry var6
List var6
int var6
double var7
List var7
Vector3d var8
ArrayList var9
double var9

Методы (10)

МодификаторыВозвратСигнатура
Center Center()
for for(VolumeEntry var11 : var6)
for for(GroupEntry var13 : var7)
if if(var2 <= 0.0)
if if(var5 == Integer.MIN_VALUE)
if if(var2 <= 0.0)
if if(var6 == Integer.MIN_VALUE)
if if(var2 <= 0.0)
if if(var1 == TaggedVolumeEffectUtil.Center.ENTITY)
if if(var2 != null)

Исходный код

Показать/скрыть
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() {
      }
   }
}