InteractionHost class
Пакет: com.hypixel.hytale.server.core.modules.interaction.host
Файл: com/hypixel/hytale/server/core/modules/interaction/host/InteractionHost.java
implements: Component<EntityStore>
Поля (2)
| Модификаторы | Тип | Имя |
|---|---|---|
|
Holder |
var5 |
|
InteractionManager |
var6 |
Методы (1)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
void |
setChainvoid setChain(@Nullable InteractionChain var1) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.modules.interaction.host;
class="kw">import com.hypixel.hytale.component.AddReason;
class="kw">import com.hypixel.hytale.component.Component;
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.component.Store;
class="kw">import com.hypixel.hytale.math.vector.Rotation3f;
class="kw">import com.hypixel.hytale.server.core.entity.InteractionChain;
class="kw">import com.hypixel.hytale.server.core.entity.InteractionManager;
class="kw">import com.hypixel.hytale.server.core.entity.UUIDComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.DespawnComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.EntityModule;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.HeadRotation;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.TransformComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.tracker.NetworkId;
class="kw">import com.hypixel.hytale.server.core.modules.entitystats.EntityStatMap;
class="kw">import com.hypixel.hytale.server.core.modules.interaction.IInteractionSimulationHandler;
class="kw">import com.hypixel.hytale.server.core.modules.interaction.InteractionModule;
class="kw">import com.hypixel.hytale.server.core.modules.time.TimeResource;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import java.util.UUID;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3d;
class="kw">public class InteractionHost class="kw">implements Component<EntityStore> {
@Nullable
class="kw">private InteractionChain chain;
@Nonnull
class="kw">public class="kw">static ComponentType<EntityStore, InteractionHost> getComponentType() {
class="kw">return InteractionModule.get().getInteractionHostComponentType();
}
class="kw">public InteractionHost() {
}
@Nullable
class="kw">public class="kw">static Ref<EntityStore> spawnHost(
@Nonnull Store<EntityStore> var0, @Nonnull Vector3d var1, @Nonnull Rotation3f var2, float var3, @Nonnull IInteractionSimulationHandler var4
) {
Holder var5 = EntityStore.REGISTRY.newHolder();
var5.addComponent(TransformComponent.getComponentType(), new TransformComponent(var1, var2));
var5.addComponent(HeadRotation.getComponentType(), new HeadRotation(var2));
var5.addComponent(UUIDComponent.getComponentType(), new UUIDComponent(UUID.randomUUID()));
var5.addComponent(NetworkId.getComponentType(), new NetworkId(var0.getExternalData().takeNextNetworkId()));
var5.ensureComponent(EntityModule.get().getVisibleComponentType());
var5.addComponent(EntityStatMap.getComponentType(), new EntityStatMap());
var5.ensureAndGetComponent(EntityStatMap.getComponentType()).update();
InteractionManager var6 = new InteractionManager(null, var4);
var5.addComponent(InteractionModule.get().getInteractionManagerComponent(), var6);
var5.addComponent(getComponentType(), new InteractionHost());
var5.addComponent(DespawnComponent.getComponentType(), DespawnComponent.despawnInSeconds(var0.getResource(TimeResource.getResourceType()), var3));
var5.ensureComponent(EntityStore.REGISTRY.getNonSerializedComponentType());
class="kw">return var0.addEntity(var5, AddReason.SPAWN);
}
@Nullable
class="kw">public InteractionChain getChain() {
class="kw">return this.chain;
}
class="kw">public void setChain(@Nullable InteractionChain var1) {
this.chain = var1;
}
@Nonnull
@Override
class="kw">public Component<EntityStore> clone() {
class="kw">return new InteractionHost();
}
}