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