EntityEventSupport class

Пакет: com.hypixel.hytale.server.npc.components.messaging

Файл: com/hypixel/hytale/server/npc/components/messaging/EntityEventSupport.java

extends: EventSupport<EntityEventType, EntityEventNotification>

Поля (11)

МодификаторыТипИмя
double var10
double var12
double var14
FlockMembership var16
Ref var17
boolean var18
EventMessage var5
Vector3d var6
EventMessage var6
Vector3d var7
double var8

Методы (2)

МодификаторыВозвратСигнатура
public boolean hasFlockMatchingMessageboolean hasFlockMatchingMessage(int var1, @Nonnull Vector3d var2, double var3, boolean var5)
public void postMessagevoid postMessage(EntityEventType var1, @Nonnull EntityEventNotification var2, @Nonnull Ref<EntityStore> var3, @Nonnull ComponentAccessor<EntityStore> var4)

Исходный код

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

class="kw">import com.hypixel.hytale.component.ComponentAccessor;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.TransformComponent;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import com.hypixel.hytale.server.flock.FlockMembership;
class="kw">import com.hypixel.hytale.server.npc.blackboard.view.event.EntityEventNotification;
class="kw">import com.hypixel.hytale.server.npc.blackboard.view.event.entity.EntityEventType;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;

class="kw">public class="kw">abstract class EntityEventSupport class="kw">extends EventSupport<EntityEventType, EntityEventNotification> {
   class="kw">public EntityEventSupport() {
   }

   class="kw">public void postMessage(
      EntityEventType var1, @Nonnull EntityEventNotification var2, @Nonnull Ref<EntityStore> var3, @Nonnull ComponentAccessor<EntityStore> var4
   ) {
      EventMessage var5 = this.getMessageSlot(var1, var2);
      if (var5 != null && var5.isEnabled()) {
         Vector3d var6 = var4.getComponent(var3, TransformComponent.getComponentType()).getPosition();
         Vector3d var7 = var2.getPosition();
         double var8 = var7.x();
         double var10 = var7.y();
         double var12 = var7.z();
         double var14 = var6.distanceSquared(var8, var10, var12);
         if (!(var14 > var5.getMaxRangeSquared())) {
            FlockMembership var16 = var4.getComponent(var3, FlockMembership.getComponentType());
            Ref var17 = var16 != null ? var16.getFlockRef() : null;
            boolean var18 = var17 != null && var17.equals(var2.getFlockReference());
            if (!var5.isActivated() || var14 < var5.getPosition().distanceSquared(var6) || !var5.isSameFlock() && var18) {
               var5.activate(var8, var10, var12, var2.getInitiator(), 2.0);
               var5.setSameFlock(var18);
            }
         }
      }
   }

   class="kw">public boolean hasFlockMatchingMessage(int var1, @Nonnull Vector3d var2, double var3, boolean var5) {
      if (!this.isMessageQueued(var1)) {
         class="kw">return false;
      }

      EventMessage var6 = this.messageSlots[var1];
      class="kw">return var5 && !var6.isSameFlock() ? false : var6.getPosition().distanceSquared(var2) < var3 * var3;
   }
}