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);
      }
   }
}