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