SensorLight class

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

Файл: com/hypixel/hytale/server/npc/corecomponents/world/SensorLight.java

extends: SensorBase

Поля (6)

МодификаторыТипИмя
final int useTargetSlot
Ref var6
var6
var6
TransformComponent var7
World var8

Методы (3)

МодификаторыВозвратСигнатура
if if(this.useTargetSlot >= 0)
if if(var6 == null)
abstract super super(var1)

Исходный код

Показать/скрыть
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.World;
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.corecomponents.SensorBase;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.world.builders.BuilderSensorLight;
class="kw">import com.hypixel.hytale.server.npc.instructions.ExecutionSupport;
class="kw">import com.hypixel.hytale.server.npc.sensorinfo.InfoProvider;
class="kw">import com.hypixel.hytale.server.spawning.util.LightRangePredicate;
class="kw">import javax.annotation.Nonnull;

class="kw">public class SensorLight class="kw">extends SensorBase {
   class="kw">protected class="kw">final int useTargetSlot;
   @Nonnull
   class="kw">protected class="kw">final LightRangePredicate lightRangePredicate;

   class="kw">public SensorLight(@Nonnull BuilderSensorLight var1, @Nonnull BuilderSupport var2) {
      super(var1);
      this.useTargetSlot = var1.getUsedTargetSlot(var2);
      this.lightRangePredicate = new LightRangePredicate();
      this.lightRangePredicate.setLightRange(var1.getLightRange(var2));
      this.lightRangePredicate.setSkyLightRange(var1.getSkyLightRange(var2));
      this.lightRangePredicate.setSunlightRange(var1.getSunlightRange(var2));
      this.lightRangePredicate.setRedLightRange(var1.getRedLightRange(var2));
      this.lightRangePredicate.setGreenLightRange(var1.getGreenLightRange(var2));
      this.lightRangePredicate.setBlueLightRange(var1.getBlueLightRange(var2));
   }

   @Override
   class="kw">public boolean matches(@Nonnull Ref<EntityStore> var1, @Nonnull ExecutionSupport var2, double var3, @Nonnull Store<EntityStore> var5) {
      if (!super.matches(var1, var2, var3, var5)) {
         class="kw">return false;
      }

      Ref var6;
      if (this.useTargetSlot >= 0) {
         var6 = var2.getMarkedEntitySupport().getMarkedEntityRef(this.useTargetSlot);
         if (var6 == null) {
            class="kw">return false;
         }
      } else {
         var6 = var1;
      }

      TransformComponent var7 = var5.getComponent(var6, TransformComponent.getComponentType());
      assert var7 != null;
      World var8 = var5.getExternalData().getWorld();
      class="kw">return this.lightRangePredicate.test(var8, var7.getPosition(), var5);
   }

   @Override
   class="kw">public InfoProvider getSensorInfo() {
      class="kw">return null;
   }
}