SensorBlockChange class
Пакет: com.hypixel.hytale.server.npc.corecomponents.world
Файл: com/hypixel/hytale/server/npc/corecomponents/world/SensorBlockChange.java
extends: SensorEvent
Поля (10)
| Модификаторы | Тип | Имя |
|---|---|---|
|
|
break |
|
|
break |
|
BlockEventType |
var3 |
|
PlayerBlockEventSupport |
var3 |
|
NPCBlockEventSupport |
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.block.BlockEventType;
class="kw">import com.hypixel.hytale.server.npc.components.messaging.NPCBlockEventSupport;
class="kw">import com.hypixel.hytale.server.npc.components.messaging.PlayerBlockEventSupport;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.world.builders.BuilderSensorBlockChange;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3d;
class="kw">public class SensorBlockChange class="kw">extends SensorEvent {
class="kw">public SensorBlockChange(@Nonnull BuilderSensorBlockChange var1, @Nonnull BuilderSupport var2) {
super(var1, var2);
BlockEventType var3 = var1.getEventType(var2);
int var4 = var1.getBlockSet(var2);
class="kw">switch (this.searchType) {
case PlayerFirst:
case NpcFirst:
this.playerEventMessageSlot = var2.getBlockEventSlot(var3, var4, this.range, true);
this.npcEventMessageSlot = var2.getBlockEventSlot(var3, var4, this.range, false);
break;
case PlayerOnly:
this.playerEventMessageSlot = var2.getBlockEventSlot(var3, var4, this.range, true);
this.npcEventMessageSlot = -1;
break;
case NpcOnly:
this.playerEventMessageSlot = -1;
this.npcEventMessageSlot = var2.getBlockEventSlot(var3, var4, this.range, false);
}
}
@Nullable
@Override
class="kw">protected Ref<EntityStore> getPlayerTarget(@Nonnull Ref<EntityStore> var1, @Nonnull Store<EntityStore> var2) {
PlayerBlockEventSupport var3 = var2.getComponent(var1, PlayerBlockEventSupport.getComponentType());
assert var3 != null;
TransformComponent var4 = var2.getComponent(var1, TRANSFORM_COMPONENT_TYPE);
assert var4 != null;
Vector3d var5 = var4.getPosition();
class="kw">return !var3.hasMatchingMessage(this.playerEventMessageSlot, var5, this.range) ? null : var3.pollMessage(this.playerEventMessageSlot);
}
@Nullable
@Override
class="kw">protected Ref<EntityStore> getNpcTarget(@Nonnull Ref<EntityStore> var1, @Nonnull Store<EntityStore> var2) {
NPCBlockEventSupport var3 = var2.getComponent(var1, NPCBlockEventSupport.getComponentType());
assert var3 != null;
TransformComponent var4 = var2.getComponent(var1, TRANSFORM_COMPONENT_TYPE);
assert var4 != null;
Vector3d var5 = var4.getPosition();
class="kw">return !var3.hasMatchingMessage(this.npcEventMessageSlot, var5, this.range) ? null : var3.pollMessage(this.npcEventMessageSlot);
}
}