BuilderActionResetBlockSensors class

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

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

extends: BuilderActionBase

Поля (4)

МодификаторыТипИмя
final AssetArrayHolder blockSets
String[] var2
int[] var3
int var5

Методы (6)

МодификаторыВозвратСигнатура
abstract return new ActionResetBlockSensorsreturn new ActionResetBlockSensors(this, var1)
abstract throw new IllegalArgumentExceptionthrow new IllegalArgumentException("Unknown key! " + var2[var4])
for for(int var4 = 0; var4 < var3.length; var4++)
public int[] getBlockSetsint[] getBlockSets(@Nonnull BuilderSupport var1)
if if(var2 == null)
if if(var5 == Integer.MIN_VALUE)

Исходный код

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

class="kw">import com.google.gson.JsonElement;
class="kw">import com.hypixel.hytale.common.util.ArrayUtil;
class="kw">import com.hypixel.hytale.server.core.asset.type.blockset.config.BlockSet;
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.InstructionType;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.holder.AssetArrayHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.AssetValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.asset.BlockSetExistsValidator;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.builders.BuilderActionBase;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.world.ActionResetBlockSensors;
class="kw">import com.hypixel.hytale.server.npc.instructions.Action;
class="kw">import javax.annotation.Nonnull;

class="kw">public class BuilderActionResetBlockSensors class="kw">extends BuilderActionBase {
   class="kw">protected class="kw">final AssetArrayHolder blockSets = new AssetArrayHolder();

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

   @Nonnull
   @Override
   class="kw">public String getShortDescription() {
      class="kw">return "Resets a specific block sensor by name, or all block sensors";
   }

   @Nonnull
   @Override
   class="kw">public String getLongDescription() {
      class="kw">return "Resets a specific block sensor by name, or all block sensors by clearing the current targeted block";
   }

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

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

   @Nonnull
   class="kw">public BuilderActionResetBlockSensors readConfig(@Nonnull JsonElement var1) {
      this.getAssetArray(
         var1,
         "BlockSets",
         this.blockSets,
         null,
         0,
         Integer.MAX_VALUE,
         BlockSetExistsValidator.withConfig(AssetValidator.ListCanBeEmpty),
         BuilderDescriptorState.Stable,
         "The searched blocksets to reset block sensors for",
         "The searched blocksets to reset block sensors for. If left empty, will reset all block sensors and found blocks"
      );
      this.requireInstructionType(InstructionType.NPCOnlyInstructions);
      class="kw">return this;
   }

   class="kw">public int[] getBlockSets(@Nonnull BuilderSupport var1) {
      String[] var2 = this.blockSets.get(var1.getExecutionContext());
      if (var2 == null) {
         class="kw">return ArrayUtil.EMPTY_INT_ARRAY;
      }

      int[] var3 = new int[var2.length];

      for (int var4 = 0; var4 < var3.length; var4++) {
         int var5 = BlockSet.getAssetMap().getIndex(var2[var4]);
         if (var5 == Integer.MIN_VALUE) {
            throw new IllegalArgumentException("Unknown key! " + var2[var4]);
         }

         var3[var4] = var5;
      }

      class="kw">return var3;
   }
}