BuilderSensorLight class

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

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

extends: BuilderSensorBase

Поля (2)

МодификаторыТипИмя
final double[] FULL_LIGHT_RANGE
String var2

Методы (8)

МодификаторыВозвратСигнатура
abstract return new SensorLightreturn new SensorLight(this, var1)
public double[] getBlueLightRangedouble[] getBlueLightRange(@Nonnull BuilderSupport var1)
public double[] getGreenLightRangedouble[] getGreenLightRange(@Nonnull BuilderSupport var1)
public double[] getLightRangedouble[] getLightRange(@Nonnull BuilderSupport var1)
public double[] getRedLightRangedouble[] getRedLightRange(@Nonnull BuilderSupport var1)
public double[] getSkyLightRangedouble[] getSkyLightRange(@Nonnull BuilderSupport var1)
public double[] getSunlightRangedouble[] getSunlightRange(@Nonnull BuilderSupport var1)
public int getUsedTargetSlotint getUsedTargetSlot(@Nonnull BuilderSupport var1)

Исходный код

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

class="kw">import com.google.gson.JsonElement;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.Builder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.BuilderDescriptorState;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.BuilderSupport;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.holder.NumberArrayHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.holder.StringHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.DoubleSequenceValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.StringNullOrNotEmptyValidator;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.builders.BuilderSensorBase;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.world.SensorLight;
class="kw">import com.hypixel.hytale.server.npc.instructions.Sensor;
class="kw">import javax.annotation.Nonnull;

class="kw">public class BuilderSensorLight class="kw">extends BuilderSensorBase {
   class="kw">public class="kw">static class="kw">final double[] FULL_LIGHT_RANGE = new double[]{0.0, 100.0};
   class="kw">protected class="kw">final StringHolder useTargetSlot = new StringHolder();
   class="kw">protected class="kw">final NumberArrayHolder lightRange = new NumberArrayHolder();
   class="kw">protected class="kw">final NumberArrayHolder skyLightRange = new NumberArrayHolder();
   class="kw">protected class="kw">final NumberArrayHolder sunlightRange = new NumberArrayHolder();
   class="kw">protected class="kw">final NumberArrayHolder redLightRange = new NumberArrayHolder();
   class="kw">protected class="kw">final NumberArrayHolder greenLightRange = new NumberArrayHolder();
   class="kw">protected class="kw">final NumberArrayHolder blueLightRange = new NumberArrayHolder();

   class="kw">public BuilderSensorLight() {
   }

   @Nonnull
   class="kw">public SensorLight build(@Nonnull BuilderSupport var1) {
      class="kw">return new SensorLight(this, var1);
   }

   @Nonnull
   @Override
   class="kw">public String getShortDescription() {
      class="kw">return "Check the light levels of the block an entity is standing on";
   }

   @Nonnull
   @Override
   class="kw">public String getLongDescription() {
      class="kw">return "Check the light levels of the block an entity is standing on. Can test light intensity, sky light or block channel levels.";
   }

   @Nonnull
   @Override
   class="kw">public BuilderDescriptorState getBuilderDescriptorState() {
      class="kw">return BuilderDescriptorState.Stable;
   }

   @Nonnull
   @Override
   class="kw">public Builder<Sensor> readConfig(@Nonnull JsonElement var1) {
      this.getDoubleRange(
         var1,
         "LightRange",
         this.lightRange,
         FULL_LIGHT_RANGE,
         DoubleSequenceValidator.betweenWeaklyMonotonic(0.0, 100.0),
         BuilderDescriptorState.Stable,
         "The light intensity percentage range",
         null
      );
      this.getDoubleRange(
         var1,
         "SkyLightRange",
         this.skyLightRange,
         FULL_LIGHT_RANGE,
         DoubleSequenceValidator.betweenWeaklyMonotonic(0.0, 100.0),
         BuilderDescriptorState.Stable,
         "The sky light percentage range",
         null
      );
      this.getDoubleRange(
         var1,
         "SunlightRange",
         this.sunlightRange,
         FULL_LIGHT_RANGE,
         DoubleSequenceValidator.betweenWeaklyMonotonic(0.0, 100.0),
         BuilderDescriptorState.Stable,
         "The sunlight percentage range",
         null
      );
      this.getDoubleRange(
         var1,
         "RedLightRange",
         this.redLightRange,
         FULL_LIGHT_RANGE,
         DoubleSequenceValidator.betweenWeaklyMonotonic(0.0, 100.0),
         BuilderDescriptorState.Stable,
         "The red light percentage range",
         null
      );
      this.getDoubleRange(
         var1,
         "GreenLightRange",
         this.greenLightRange,
         FULL_LIGHT_RANGE,
         DoubleSequenceValidator.betweenWeaklyMonotonic(0.0, 100.0),
         BuilderDescriptorState.Stable,
         "The green light percentage range",
         null
      );
      this.getDoubleRange(
         var1,
         "BlueLightRange",
         this.blueLightRange,
         FULL_LIGHT_RANGE,
         DoubleSequenceValidator.betweenWeaklyMonotonic(0.0, 100.0),
         BuilderDescriptorState.Stable,
         "The blue light percentage range",
         null
      );
      this.getString(
         var1,
         "UseTargetSlot",
         this.useTargetSlot,
         null,
         StringNullOrNotEmptyValidator.get(),
         BuilderDescriptorState.Stable,
         "A target slot to check. If omitted, will check self",
         null
      );
      class="kw">return this;
   }

   class="kw">public int getUsedTargetSlot(@Nonnull BuilderSupport var1) {
      String var2 = this.useTargetSlot.get(var1.getExecutionContext());
      class="kw">return var2 == null ? Integer.MIN_VALUE : var1.getTargetSlot(var2);
   }

   class="kw">public double[] getLightRange(@Nonnull BuilderSupport var1) {
      class="kw">return this.lightRange.get(var1.getExecutionContext());
   }

   class="kw">public double[] getSkyLightRange(@Nonnull BuilderSupport var1) {
      class="kw">return this.skyLightRange.get(var1.getExecutionContext());
   }

   class="kw">public double[] getSunlightRange(@Nonnull BuilderSupport var1) {
      class="kw">return this.sunlightRange.get(var1.getExecutionContext());
   }

   class="kw">public double[] getRedLightRange(@Nonnull BuilderSupport var1) {
      class="kw">return this.redLightRange.get(var1.getExecutionContext());
   }

   class="kw">public double[] getGreenLightRange(@Nonnull BuilderSupport var1) {
      class="kw">return this.greenLightRange.get(var1.getExecutionContext());
   }

   class="kw">public double[] getBlueLightRange(@Nonnull BuilderSupport var1) {
      class="kw">return this.blueLightRange.get(var1.getExecutionContext());
   }
}