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() + ")";
}
}