EntityUtils class

Пакет: com.hypixel.hytale.server.core.entity

Файл: com/hypixel/hytale/server/core/entity/EntityUtils.java

Поля (18)

МодификаторыТипИмя
Archetype var1
boolean var10
var10
BreathingCheckEvent var11
ComponentType var2
ComponentType var2
ComponentType var2
PhysicsValues var2
DisplayNameComponent var2
ComponentType var3
ModelComponent var3
Message var3
Model var4
String var4
UUIDComponent var5
long var6
BlockMaterial var8
int var9

Методы (9)

МодификаторыВозвратСигнатура
abstract return findComponentTypereturn findComponentType(var0, Entity.class)
abstract for for(int var2 = var0.getMinIndex()
if if(var1 == null)
if if(var2 != null)
if if(var2 != null)
if if(var2 != null)
if if(var3 != null)
if if(var4 != null)
static void processEntityBreathingvoid processEntityBreathing(@Nonnull Ref<EntityStore> var0, @Nonnull BreathingComponent var1, @Nullable CachedStatsComponent var2, boolean var3, boolean var4, @Nonnull ComponentAccessor<EntityStore> var5)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.entity;

class="kw">import com.hypixel.hytale.component.Archetype;
class="kw">import com.hypixel.hytale.component.ArchetypeChunk;
class="kw">import com.hypixel.hytale.component.Component;
class="kw">import com.hypixel.hytale.component.ComponentAccessor;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.component.Holder;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.math.util.MathUtil;
class="kw">import com.hypixel.hytale.protocol.BlockMaterial;
class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.asset.type.model.config.Model;
class="kw">import com.hypixel.hytale.server.core.event.events.ecs.BreathingCheckEvent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.BreathingComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.CachedStatsComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.DisplayNameComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.ModelComponent;
class="kw">import com.hypixel.hytale.server.core.modules.physics.component.PhysicsValues;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class EntityUtils {
   class="kw">public EntityUtils() {
   }

   @Nullable
   class="kw">private class="kw">static <T class="kw">extends Entity> ComponentType<EntityStore, T> findComponentType(@Nonnull Archetype<EntityStore> var0) {
      class="kw">return findComponentType(var0, Entity.class);
   }

   @Nullable
   class="kw">private class="kw">static <C class="kw">extends Component<EntityStore>, T class="kw">extends C> ComponentType<EntityStore, T> findComponentType(
      @Nonnull Archetype<EntityStore> var0, @Nonnull Class<C> var1
   ) {
      for (int var2 = var0.getMinIndex(); var2 < var0.length(); var2++) {
         ComponentType var3 = (ComponentType<EntityStore, ? class="kw">extends Component<EntityStore>>)var0.get(var2);
         if (var3 != null && var1.isAssignableFrom(var3.getTypeClass())) {
            class="kw">return (ComponentType<EntityStore, T>)var3;
         }
      }

      class="kw">return null;
   }

   @Deprecated
   @Nullable
   class="kw">public class="kw">static Entity getEntity(@Nullable Ref<EntityStore> var0, @Nonnull ComponentAccessor<EntityStore> var1) {
      if (var0 != null && var0.isValid()) {
         ComponentType var2 = findComponentType(var1.getArchetype(var0));
         class="kw">return var2 == null ? null : var1.getComponent(var0, var2);
      } else {
         class="kw">return null;
      }
   }

   @Nullable
   @Deprecated
   class="kw">public class="kw">static Entity getEntity(int var0, @Nonnull ArchetypeChunk<EntityStore> var1) {
      ComponentType var2 = findComponentType(var1.getArchetype());
      class="kw">return var2 == null ? null : var1.getComponent(var0, var2);
   }

   @Nullable
   @Deprecated
   class="kw">public class="kw">static Entity getEntity(@Nonnull Holder<EntityStore> var0) {
      Archetype var1 = var0.getArchetype();
      if (var1 == null) {
         class="kw">return null;
      }

      ComponentType var2 = findComponentType(var1);
      class="kw">return var2 == null ? null : var0.getComponent(var2);
   }

   @Deprecated
   class="kw">public class="kw">static boolean hasEntity(@Nonnull Archetype<EntityStore> var0) {
      class="kw">return findComponentType(var0) != null;
   }

   @Deprecated
   class="kw">public class="kw">static boolean hasLivingEntity(@Nonnull Archetype<EntityStore> var0) {
      class="kw">return findComponentType(var0, LivingEntity.class) != null;
   }

   @Nonnull
   @Deprecated
   class="kw">public class="kw">static PhysicsValues getPhysicsValues(@Nonnull Ref<EntityStore> var0, @Nonnull ComponentAccessor<EntityStore> var1) {
      PhysicsValues var2 = var1.getComponent(var0, PhysicsValues.getComponentType());
      if (var2 != null) {
         class="kw">return var2;
      }

      ModelComponent var3 = var1.getComponent(var0, ModelComponent.getComponentType());
      Model var4 = var3 != null ? var3.getModel() : null;
      class="kw">return var4 != null && var4.getPhysicsValues() != null ? var4.getPhysicsValues() : PhysicsValues.getDefault();
   }

   class="kw">public class="kw">static void processEntityBreathing(
      @Nonnull Ref<EntityStore> var0,
      @Nonnull BreathingComponent var1,
      @Nullable CachedStatsComponent var2,
      boolean var3,
      boolean var4,
      @Nonnull ComponentAccessor<EntityStore> var5
   ) {
      long var6 = LivingEntity.getPackedMaterialAndFluidAtBreathingHeight(var0, var5);
      BlockMaterial var8 = BlockMaterial.VALUES[MathUtil.unpackLeft(var6)];
      int var9 = MathUtil.unpackRight(var6);
      if (var4 || var1.getLastBreathingMaterial() != var8 || var1.getLastFluidId() != var9) {
         boolean var10 = var3 || var8 == BlockMaterial.Empty && var9 == 0;
         BreathingCheckEvent var11 = new BreathingCheckEvent(var8, var9, var10);
         var5.invoke(var0, var11);
         var10 = var11.canBreathe();
         var1.setLastBreathingMaterial(var8);
         var1.setLastFluidId(var9);
         var1.setSuffocating(!var10);
         if (var2 != null) {
            var2.setCanBreathe(var10);
         }
      }
   }

   @Nonnull
   class="kw">public class="kw">static String getEntityName(@Nonnull Ref<EntityStore> var0, @Nonnull ComponentAccessor<EntityStore> var1) {
      DisplayNameComponent var2 = var1.getComponent(var0, DisplayNameComponent.getComponentType());
      if (var2 != null) {
         Message var3 = var2.getDisplayName();
         if (var3 != null) {
            String var4 = var3.getRawText();
            if (var4 != null) {
               class="kw">return var4;
            }
         }
      }

      UUIDComponent var5 = var1.getComponent(var0, UUIDComponent.getComponentType());
      class="kw">return var5 != null ? var5.getUuid().toString() : "Entity(ref=" + var0.getIndex() + ")";
   }
}