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() {
}
}
}