SensorEntityEvent class
Пакет: com.hypixel.hytale.server.npc.corecomponents.world
Файл: com/hypixel/hytale/server/npc/corecomponents/world/SensorEntityEvent.java
extends: SensorEvent
Поля (11)
| Модификаторы | Тип | Имя |
|---|---|---|
|
|
break |
|
|
break |
final |
boolean |
flockOnly |
|
EntityEventType |
var3 |
|
PlayerEntityEventSupport |
var3 |
|
NPCEntityEventSupport |
var3 |
|
int |
var4 |
|
TransformComponent |
var4 |
|
TransformComponent |
var4 |
|
Vector3d |
var5 |
|
Vector3d |
var5 |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
|
super super(var1, var2) |
|
|
switch switch(this.searchType) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.corecomponents.world;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
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.npc.asset.builder.BuilderSupport;
class="kw">import com.hypixel.hytale.server.npc.blackboard.view.event.entity.EntityEventType;
class="kw">import com.hypixel.hytale.server.npc.components.messaging.NPCEntityEventSupport;
class="kw">import com.hypixel.hytale.server.npc.components.messaging.PlayerEntityEventSupport;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.world.builders.BuilderSensorEntityEvent;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3d;
class="kw">public class SensorEntityEvent class="kw">extends SensorEvent {
class="kw">private class="kw">final boolean flockOnly;
class="kw">public SensorEntityEvent(@Nonnull BuilderSensorEntityEvent var1, @Nonnull BuilderSupport var2) {
super(var1, var2);
this.flockOnly = var1.isFlockOnly(var2);
EntityEventType var3 = var1.getEventType(var2);
int var4 = var1.getNPCGroup(var2);
class="kw">switch (this.searchType) {
case PlayerFirst:
case NpcFirst:
this.playerEventMessageSlot = var2.getEntityEventSlot(var3, var4, this.range, true);
this.npcEventMessageSlot = var2.getEntityEventSlot(var3, var4, this.range, false);
break;
case PlayerOnly:
this.playerEventMessageSlot = var2.getEntityEventSlot(var3, var4, this.range, true);
this.npcEventMessageSlot = -1;
break;
case NpcOnly:
this.playerEventMessageSlot = -1;
this.npcEventMessageSlot = var2.getEntityEventSlot(var3, var4, this.range, false);
}
}
@Nullable
@Override
class="kw">protected Ref<EntityStore> getPlayerTarget(@Nonnull Ref<EntityStore> var1, @Nonnull Store<EntityStore> var2) {
PlayerEntityEventSupport var3 = var2.getComponent(var1, PlayerEntityEventSupport.getComponentType());
assert var3 != null;
TransformComponent var4 = var2.getComponent(var1, TRANSFORM_COMPONENT_TYPE);
assert var4 != null;
Vector3d var5 = var4.getPosition();
class="kw">return !var3.hasFlockMatchingMessage(this.playerEventMessageSlot, var5, this.range, this.flockOnly)
? null
: var3.pollMessage(this.playerEventMessageSlot);
}
@Nullable
@Override
class="kw">protected Ref<EntityStore> getNpcTarget(@Nonnull Ref<EntityStore> var1, @Nonnull Store<EntityStore> var2) {
NPCEntityEventSupport var3 = var2.getComponent(var1, NPCEntityEventSupport.getComponentType());
assert var3 != null;
TransformComponent var4 = var2.getComponent(var1, TRANSFORM_COMPONENT_TYPE);
assert var4 != null;
Vector3d var5 = var4.getPosition();
class="kw">return !var3.hasFlockMatchingMessage(this.npcEventMessageSlot, var5, this.range, this.flockOnly) ? null : var3.pollMessage(this.npcEventMessageSlot);
}
}