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