DeployablesSystem class
Пакет: com.hypixel.hytale.builtin.deployables.system
Файл: com/hypixel/hytale/builtin/deployables/system/DeployablesSystem.java
Поля (29)
| Модификаторы | Тип | Имя |
|---|---|---|
|
int |
var10 |
|
int |
var10 |
|
ModelParticle[] |
var11 |
|
EntityStatMap |
var11 |
|
EntityStatValue |
var12 |
|
int |
var13 |
|
DeployableOwnerComponent |
var16 |
|
ModelParticle[] |
var16 |
|
Ref |
var3 |
|
Vector3f |
var4 |
|
DeployableOwnerComponent |
var4 |
|
Direction |
var5 |
|
DeployableComponent |
var5 |
|
DeployableComponent |
var5 |
|
Vector3d |
var6 |
|
DeployableOwnerComponent |
var6 |
|
TransformComponent |
var6 |
|
TransformComponent |
var6 |
|
DeployableComponent |
var6 |
|
Vector3f |
var7 |
|
|
var7 |
|
DeployableConfig |
var7 |
|
DeployableConfig |
var7 |
|
SpatialResource |
var8 |
|
Vector3d |
var8 |
|
Vector3d |
var8 |
|
List |
var9 |
|
Ref |
var9 |
|
int |
var9 |
Методы (23)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
public |
DeployableOwnerTickerpublic DeployableOwnerTicker() |
|
public |
DeployableRegistererpublic DeployableRegisterer() |
|
public |
DeployableTickerpublic DeployableTicker() |
|
private static void |
deregisterOwnerprivate static void deregisterOwner(@Nonnull Ref<EntityStore> var0, @Nonnull DeployableComponent var1, @Nonnull DeployableConfig var2) |
abstract |
|
deregisterOwner deregisterOwner(var1, var5, var7) |
|
|
for for(ModelParticle var15 : var11) |
|
|
for for(ModelParticle var15 : var16) |
|
public Query<EntityStore> |
getQuerypublic Query<EntityStore> getQuery() |
|
public Query<EntityStore> |
getQuerypublic Query<EntityStore> getQuery() |
|
public Query<EntityStore> |
getQuerypublic Query<EntityStore> getQuery() |
|
|
if if(var4 != null) |
|
|
if if(var5 != null) |
|
|
if if(var4 != null) |
|
|
if if(var6 != null) |
|
|
if if(var11 != null) |
|
|
if if(var10 != 0) |
|
|
if if(var11 != null) |
|
|
if if(var16 != null) |
|
public void |
onEntityAddedpublic void onEntityAdded(@Nonnull Ref<EntityStore> var1, @Nonnull AddReason var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4) |
|
public void |
onEntityRemovepublic void onEntityRemove(@Nonnull Ref<EntityStore> var1, @Nonnull RemoveReason var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4) |
static |
void |
spawnParticleEffectvoid spawnParticleEffect(@Nonnull Ref<EntityStore> var0, @Nonnull CommandBuffer<EntityStore> var1, @Nonnull Vector3d var2, @Nonnull ModelParticle var3) |
|
public void |
tickpublic void tick(float var1, int var2, ArchetypeChunk<EntityStore> var3, @Nonnull Store<EntityStore> var4, @Nonnull CommandBuffer<EntityStore> var5) |
|
public void |
tickpublic void tick(float var1, int var2, ArchetypeChunk<EntityStore> var3, @Nonnull Store<EntityStore> var4, @Nonnull CommandBuffer<EntityStore> var5) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.deployables.system;
class="kw">import com.hypixel.hytale.builtin.deployables.component.DeployableComponent;
class="kw">import com.hypixel.hytale.builtin.deployables.component.DeployableOwnerComponent;
class="kw">import com.hypixel.hytale.builtin.deployables.config.DeployableConfig;
class="kw">import com.hypixel.hytale.component.AddReason;
class="kw">import com.hypixel.hytale.component.ArchetypeChunk;
class="kw">import com.hypixel.hytale.component.CommandBuffer;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.RemoveReason;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.component.query.Query;
class="kw">import com.hypixel.hytale.component.spatial.SpatialResource;
class="kw">import com.hypixel.hytale.component.system.RefSystem;
class="kw">import com.hypixel.hytale.component.system.tick.EntityTickingSystem;
class="kw">import com.hypixel.hytale.protocol.Direction;
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.component.TransformComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entitystats.EntityStatMap;
class="kw">import com.hypixel.hytale.server.core.modules.entitystats.EntityStatValue;
class="kw">import com.hypixel.hytale.server.core.modules.entitystats.asset.DefaultEntityStatTypes;
class="kw">import com.hypixel.hytale.server.core.universe.world.ParticleUtil;
class="kw">import com.hypixel.hytale.server.core.universe.world.SoundUtil;
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">import org.joml.Vector3f;
class="kw">public class DeployablesSystem {
class="kw">public DeployablesSystem() {
}
class="kw">private class="kw">static void spawnParticleEffect(
@Nonnull Ref<EntityStore> var0, @Nonnull CommandBuffer<EntityStore> var1, @Nonnull Vector3d var2, @Nonnull ModelParticle var3
) {
Vector3f var4 = var3.getPositionOffset();
Direction var5 = var3.getRotationOffset();
Vector3d var6 = new Vector3d(var2.x, var2.y, var2.z);
Vector3f var7 = new Vector3f(0.0F, 0.0F, 0.0F);
if (var4 != null) {
var6.add(var4.x, var4.y, var4.z);
}
if (var5 != null) {
var7 = new Vector3f(var5.yaw, var5.pitch, var5.roll);
}
SpatialResource var8 = var1.getResource(EntityModule.get().getPlayerSpatialResourceType());
List var9 = SpatialResource.getThreadLocalReferenceList();
var8.getSpatialStructure().collect(var6, 75.0, var9);
ParticleUtil.spawnParticleEffect(var3.getSystemId(), var6.x, var6.y, var6.z, var7.x, var7.y, var7.z, var0, var9, var1);
}
class="kw">public class="kw">static class DeployableOwnerTicker class="kw">extends EntityTickingSystem<EntityStore> {
class="kw">public DeployableOwnerTicker() {
}
@Override
class="kw">public Query<EntityStore> getQuery() {
class="kw">return Query.and(DeployableOwnerComponent.getComponentType());
}
@Override
class="kw">public void tick(float var1, int var2, ArchetypeChunk<EntityStore> var3, @Nonnull Store<EntityStore> var4, @Nonnull CommandBuffer<EntityStore> var5) {
DeployableOwnerComponent var6 = var3.getComponent(var2, DeployableOwnerComponent.getComponentType());
assert var6 != null;
var6.tick(var5);
}
}
class="kw">public class="kw">static class DeployableRegisterer class="kw">extends RefSystem<EntityStore> {
class="kw">public DeployableRegisterer() {
}
class="kw">private class="kw">static void deregisterOwner(@Nonnull Ref<EntityStore> var0, @Nonnull DeployableComponent var1, @Nonnull DeployableConfig var2) {
Ref var3 = var1.getOwner();
if (var3 != null && var3.isValid()) {
DeployableOwnerComponent var4 = var3.getStore().getComponent(var3, DeployableOwnerComponent.getComponentType());
if (var4 != null) {
var4.deRegisterDeployable(var2.getId(), var0);
}
}
}
@Override
class="kw">public Query<EntityStore> getQuery() {
class="kw">return Query.and(DeployableComponent.getComponentType());
}
@Override
class="kw">public void onEntityAdded(
@Nonnull Ref<EntityStore> var1, @Nonnull AddReason var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4
) {
DeployableComponent var5 = var3.getComponent(var1, DeployableComponent.getComponentType());
assert var5 != null;
TransformComponent var6 = var3.getComponent(var1, TransformComponent.getComponentType());
if (var6 != null) {
DeployableConfig var7 = var5.getConfig();
Vector3d var8 = var6.getPosition();
Ref var9 = var5.getOwner();
int var10 = var7.getDeploySoundEventIndex();
SoundUtil.playSoundEvent3d(null, var10, var8, var4);
ModelParticle[] var11 = var7.getSpawnParticles();
if (var11 != null) {
for (ModelParticle var15 : var11) {
DeployablesSystem.spawnParticleEffect(var1, var4, var8, var15);
}
}
if (var9.isValid()) {
DeployableOwnerComponent var16 = var9.getStore().getComponent(var9, DeployableOwnerComponent.getComponentType());
assert var16 != null;
var16.registerDeployable(var9, var5, var7.getId(), var1, var3);
}
}
}
@Override
class="kw">public void onEntityRemove(
@Nonnull Ref<EntityStore> var1, @Nonnull RemoveReason var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4
) {
DeployableComponent var5 = var3.getComponent(var1, DeployableComponent.getComponentType());
assert var5 != null;
TransformComponent var6 = var3.getComponent(var1, TransformComponent.getComponentType());
assert var6 != null;
DeployableConfig var7 = var5.getConfig();
Vector3d var8 = var6.getPosition();
int var9 = var7.getDespawnSoundEventIndex();
int var10 = var7.getDieSoundEventIndex();
if (var10 != 0) {
EntityStatMap var11 = var3.getComponent(var1, EntityStatMap.getComponentType());
if (var11 != null) {
EntityStatValue var12 = var11.get(DefaultEntityStatTypes.getHealth());
int var13 = var12 != null && var12.get() <= 0.0F ? var10 : var9;
SoundUtil.playSoundEvent3d(null, var13, var8, var4);
}
} else {
SoundUtil.playSoundEvent3d(null, var9, var8, var4);
}
ModelParticle[] var16 = var7.getDespawnParticles();
if (var16 != null) {
for (ModelParticle var15 : var16) {
DeployablesSystem.spawnParticleEffect(var1, var4, var8, var15);
}
}
deregisterOwner(var1, var5, var7);
}
}
class="kw">public class="kw">static class DeployableTicker class="kw">extends EntityTickingSystem<EntityStore> {
class="kw">public DeployableTicker() {
}
@Override
class="kw">public Query<EntityStore> getQuery() {
class="kw">return Query.and(DeployableComponent.getComponentType());
}
@Override
class="kw">public void tick(float var1, int var2, ArchetypeChunk<EntityStore> var3, @Nonnull Store<EntityStore> var4, @Nonnull CommandBuffer<EntityStore> var5) {
DeployableComponent var6 = var3.getComponent(var2, DeployableComponent.getComponentType());
assert var6 != null;
var6.tick(var1, var2, var3, var4, var5);
}
}
}