CancelParticlesEffect class
Пакет: com.hypixel.hytale.builtin.triggervolumes.effect.builtin
Файл: com/hypixel/hytale/builtin/triggervolumes/effect/builtin/CancelParticlesEffect.java
extends: TriggerEffect
Поля (11)
| Модификаторы | Тип | Имя |
|---|---|---|
|
List |
var11 |
|
ComponentType |
var12 |
|
PlayerRef |
var15 |
|
Store |
var2 |
|
VolumeEntry |
var3 |
|
Vector3d |
var4 |
|
Vector3d |
var5 |
|
CancelParticleSystems |
var6 |
|
SpatialResource |
var7 |
|
Vector3d |
var8 |
|
double |
var9 |
Методы (3)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
for for(Ref var14 : var11) |
|
|
if if(var7 != null) |
|
|
if if(var15 != null) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.triggervolumes.effect.builtin;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.TriggerContext;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.TriggerEffect;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.manager.VolumeEntry;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.common.util.ArrayUtil;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.component.spatial.SpatialResource;
class="kw">import com.hypixel.hytale.protocol.Position;
class="kw">import com.hypixel.hytale.protocol.packets.world.CancelParticleSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.EntityModule;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;
class="kw">public class CancelParticlesEffect class="kw">extends TriggerEffect {
@Nonnull
class="kw">public class="kw">static class="kw">final BuilderCodec<CancelParticlesEffect> CODEC = BuilderCodec.builder(CancelParticlesEffect.class, CancelParticlesEffect::new, BASE_CODEC)
.append(
new KeyedCodec<>("ParticleSystems", Codec.STRING_ARRAY, false),
(var0, var1) -> var0.particleSystems = var1 != null ? var1 : ArrayUtil.EMPTY_STRING_ARRAY,
var0 -> var0.particleSystems.length == 0 ? null : var0.particleSystems
)
.add()
.append(new KeyedCodec<>("Instant", Codec.BOOLEAN, false), (var0, var1) -> var0.instant = var1, var0 -> var0.instant ? Boolean.TRUE : null)
.add()
.build();
@Nonnull
class="kw">private String[] particleSystems = ArrayUtil.EMPTY_STRING_ARRAY;
class="kw">private boolean instant;
class="kw">public CancelParticlesEffect() {
}
@Override
class="kw">public void execute(@Nonnull TriggerContext var1) {
Store var2 = var1.getStore();
VolumeEntry var3 = var1.getVolume();
Vector3d var4 = new Vector3d();
Vector3d var5 = new Vector3d();
var3.getShape().getWorldAABB(var3.getPosition(), var4, var5);
CancelParticleSystems var6 = new CancelParticleSystems(
new Position(var4.x(), var4.y(), var4.z()),
new Position(var5.x(), var5.y(), var5.z()),
this.particleSystems.length == 0 ? null : this.particleSystems,
this.instant
);
SpatialResource var7 = var2.getResource(EntityModule.get().getPlayerSpatialResourceType());
if (var7 != null) {
Vector3d var8 = var3.getPosition();
double var9 = var3.getShape().getMaxDistanceFromOrigin() + 75.0;
List var11 = SpatialResource.getThreadLocalReferenceList();
var7.getSpatialStructure().collect(var8, var9, var11);
ComponentType var12 = PlayerRef.getComponentType();
for (Ref var14 : var11) {
if (var14.isValid()) {
PlayerRef var15 = var2.getComponent(var14, var12);
if (var15 != null) {
var15.getPacketHandler().writeNoCache(var6);
}
}
}
}
}
}