SpawnEffect interface
Пакет: com.hypixel.hytale.server.npc.role
Файл: com/hypixel/hytale/server/npc/role/SpawnEffect.java
Поля (9)
| Модификаторы | Тип | Имя |
|---|---|---|
|
List |
var10 |
|
ModelParticle |
var11 |
|
NetworkId |
var12 |
|
SpawnModelParticles |
var13 |
|
PlayerRef |
var16 |
|
String |
var6 |
|
Vector3d |
var7 |
|
Vector3d |
var8 |
|
SpatialResource |
var9 |
Методы (10)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
for for(Ref var15 : var10) |
abstract |
Vector3d |
getSpawnParticleOffsetVector3d getSpawnParticleOffset(@Nonnull BuilderSupport var1) |
abstract |
String |
getSpawnParticleTargetNodeString getSpawnParticleTargetNode(@Nonnull BuilderSupport var1) |
abstract |
String |
getSpawnParticlesString getSpawnParticles(@Nonnull BuilderSupport var1) |
abstract |
double |
getSpawnViewDistancedouble getSpawnViewDistance() |
|
|
if if(var8 != null) |
|
|
if if(var12 != null) |
|
|
if if(var16 != null) |
abstract |
boolean |
isSpawnParticleDetachedboolean isSpawnParticleDetached(@Nonnull BuilderSupport var1) |
default |
void |
spawnEffectvoid spawnEffect(@Nonnull Holder<EntityStore> var1,
@Nonnull BuilderSupport var2,
@Nonnull Vector3d var3,
@Nonnull Rotation3f var4,
@Nonnull ComponentAccessor<EntityStore> var5) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.role;
class="kw">import com.hypixel.hytale.component.ComponentAccessor;
class="kw">import com.hypixel.hytale.component.Holder;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.spatial.SpatialResource;
class="kw">import com.hypixel.hytale.math.vector.Rotation3f;
class="kw">import com.hypixel.hytale.protocol.packets.entities.SpawnModelParticles;
class="kw">import com.hypixel.hytale.server.core.asset.type.model.config.ModelParticle;
class="kw">import com.hypixel.hytale.server.core.modules.entity.EntityModule;
class="kw">import com.hypixel.hytale.server.core.modules.entity.tracker.NetworkId;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
class="kw">import com.hypixel.hytale.server.core.universe.world.ParticleUtil;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.BuilderSupport;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;
class="kw">import org.joml.Vector3f;
class="kw">public class="kw">interface SpawnEffect {
String getSpawnParticles(@Nonnull BuilderSupport var1);
Vector3d getSpawnParticleOffset(@Nonnull BuilderSupport var1);
String getSpawnParticleTargetNode(@Nonnull BuilderSupport var1);
boolean isSpawnParticleDetached(@Nonnull BuilderSupport var1);
double getSpawnViewDistance();
class="kw">default void spawnEffect(
@Nonnull Holder<EntityStore> var1,
@Nonnull BuilderSupport var2,
@Nonnull Vector3d var3,
@Nonnull Rotation3f var4,
@Nonnull ComponentAccessor<EntityStore> var5
) {
String var6 = this.getSpawnParticles(var2);
if (var6 != null && !var6.isEmpty()) {
Vector3d var7 = new Vector3d(0.0, 0.0, 0.0);
Vector3d var8 = this.getSpawnParticleOffset(var2);
if (var8 != null) {
var7.set(var8);
}
var7.rotateY(var4.yaw()).add(var3);
SpatialResource var9 = var5.getResource(EntityModule.get().getPlayerSpatialResourceType());
List var10 = SpatialResource.getThreadLocalReferenceList();
var9.getSpatialStructure().collect(var7, this.getSpawnViewDistance(), var10);
ParticleUtil.spawnParticleEffect(var6, var7, var10, var5);
ModelParticle var11 = new ModelParticle();
var11.setSystemId(var6);
var11.setPositionOffset(new Vector3f((float)var7.x, (float)var7.y, (float)var7.z));
var11.setTargetNodeName(this.getSpawnParticleTargetNode(var2));
var11.setDetachedFromModel(this.isSpawnParticleDetached(var2));
NetworkId var12 = var1.getComponent(NetworkId.getComponentType());
if (var12 != null) {
SpawnModelParticles var13 = new SpawnModelParticles(var12.getId(), new com.hypixel.hytale.protocol.ModelParticle[]{var11.toPacket()});
for (Ref var15 : var10) {
PlayerRef var16 = var5.getComponent(var15, PlayerRef.getComponentType());
if (var16 != null) {
var16.getPacketHandler().write(var13);
}
}
}
}
}
}