EntityDetectionUtil class

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

Файл: com/hypixel/hytale/server/npc/util/EntityDetectionUtil.java

Поля (2)

МодификаторыТипИмя
Player var2
PlayerSettings var3

Методы (3)

МодификаторыВозвратСигнатура
static boolean isDetectableByNPCsboolean isDetectableByNPCs(@Nonnull Ref<EntityStore> var0, @Nonnull ComponentAccessor<EntityStore> var1)
static boolean isDetectableByNPCsboolean isDetectableByNPCs(@Nonnull Ref<EntityStore> var0, @Nonnull ComponentAccessor<EntityStore> var1, @Nonnull Player var2)
static boolean isDetectablePlayerboolean isDetectablePlayer(@Nonnull Ref<EntityStore> var0, @Nonnull ComponentAccessor<EntityStore> var1, @Nonnull Player var2)

Исходный код

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

class="kw">import com.hypixel.hytale.component.ComponentAccessor;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.protocol.GameMode;
class="kw">import com.hypixel.hytale.server.core.entity.entities.Player;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.Intangible;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.Spectating;
class="kw">import com.hypixel.hytale.server.core.modules.entity.player.PlayerSettings;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import javax.annotation.Nonnull;

class="kw">public class="kw">final class EntityDetectionUtil {
   class="kw">private EntityDetectionUtil() {
   }

   class="kw">public class="kw">static boolean isDetectableByNPCs(@Nonnull Ref<EntityStore> var0, @Nonnull ComponentAccessor<EntityStore> var1) {
      if (var1.getArchetype(var0).contains(Intangible.getComponentType())) {
         class="kw">return false;
      }

      Player var2 = var1.getComponent(var0, Player.getComponentType());
      class="kw">return var2 == null ? true : isDetectablePlayer(var0, var1, var2);
   }

   class="kw">public class="kw">static boolean isDetectableByNPCs(@Nonnull Ref<EntityStore> var0, @Nonnull ComponentAccessor<EntityStore> var1, @Nonnull Player var2) {
      class="kw">return var1.getArchetype(var0).contains(Intangible.getComponentType()) ? false : isDetectablePlayer(var0, var1, var2);
   }

   class="kw">private class="kw">static boolean isDetectablePlayer(@Nonnull Ref<EntityStore> var0, @Nonnull ComponentAccessor<EntityStore> var1, @Nonnull Player var2) {
      if (var1.getArchetype(var0).contains(Spectating.getComponentType())) {
         class="kw">return false;
      }

      if (var2.getGameMode() != GameMode.Creative) {
         class="kw">return true;
      }

      PlayerSettings var3 = var1.getComponent(var0, PlayerSettings.getComponentType());
      class="kw">return var3 != null && var3.creativeSettings().allowNPCDetection();
   }
}