BuilderEntityFilterInventory class

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

Файл: com/hypixel/hytale/server/npc/corecomponents/entity/filters/builders/BuilderEntityFilterInventory.java

extends: BuilderEntityFilterBase

Поля (1)

МодификаторыТипИмя
final int[] DEFAULT_FREE_SLOT_RANGE

Методы (3)

МодификаторыВозвратСигнатура
abstract return new EntityFilterInventoryreturn new EntityFilterInventory(this, var1)
public int[] getCountint[] getCount(@Nonnull BuilderSupport var1)
public int[] getFreeSlotsRangeint[] getFreeSlotsRange(@Nonnull BuilderSupport var1)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.corecomponents.entity.filters.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.AssetArrayHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.holder.NumberArrayHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.AssetValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.IntSequenceValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.asset.ItemExistsValidator;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.IEntityFilter;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.builders.BuilderEntityFilterBase;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.entity.filters.EntityFilterInventory;
class="kw">import java.util.EnumSet;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class BuilderEntityFilterInventory class="kw">extends BuilderEntityFilterBase {
   class="kw">public class="kw">static class="kw">final int[] DEFAULT_FREE_SLOT_RANGE = new int[]{0, Integer.MAX_VALUE};
   class="kw">public class="kw">static class="kw">final int[] DEFAULT_ITEM_COUNT_RANGE = new int[]{1, Integer.MAX_VALUE};
   class="kw">public class="kw">static class="kw">final String[] DEFAULT_ITEM_PATTERNS = new String[]{"*"};
   class="kw">protected class="kw">final AssetArrayHolder items = new AssetArrayHolder();
   class="kw">protected class="kw">final NumberArrayHolder count = new NumberArrayHolder();
   class="kw">protected class="kw">final NumberArrayHolder freeSlots = new NumberArrayHolder();

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

   @Nonnull
   @Override
   class="kw">public String getShortDescription() {
      class="kw">return "Test various conditions relating to entity inventory";
   }

   @Nonnull
   @Override
   class="kw">public String getLongDescription() {
      class="kw">return "Test various conditions relating to entity inventory. This includes whether it contains a specific item, item count, and free slots";
   }

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

   @Nonnull
   @Override
   class="kw">public Builder<IEntityFilter> readConfig(@Nonnull JsonElement var1) {
      this.getAssetArray(
         var1,
         "Items",
         this.items,
         DEFAULT_ITEM_PATTERNS,
         0,
         Integer.MAX_VALUE,
         ItemExistsValidator.withConfig(EnumSet.of(AssetValidator.Config.MATCHER)),
         BuilderDescriptorState.Stable,
         "A list of glob item patterns to match",
         null
      );
      this.getIntRange(
         var1,
         "CountRange",
         this.count,
         DEFAULT_ITEM_COUNT_RANGE,
         IntSequenceValidator.betweenWeaklyMonotonic(0, Integer.MAX_VALUE),
         BuilderDescriptorState.Stable,
         "The range of number of items that need to match the patterns",
         null
      );
      this.getIntRange(
         var1,
         "FreeSlotRange",
         this.freeSlots,
         DEFAULT_FREE_SLOT_RANGE,
         IntSequenceValidator.betweenWeaklyMonotonic(0, Integer.MAX_VALUE),
         BuilderDescriptorState.Stable,
         "The range designating the number of required free slots",
         "The range designating the number of required free slots. Setting min and max to zero would check if full"
      );
      class="kw">return this;
   }

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

   @Nullable
   class="kw">public String[] getItems(@Nonnull BuilderSupport var1) {
      class="kw">return this.items.get(var1.getExecutionContext());
   }

   class="kw">public int[] getCount(@Nonnull BuilderSupport var1) {
      class="kw">return this.count.getIntArray(var1.getExecutionContext());
   }

   class="kw">public int[] getFreeSlotsRange(@Nonnull BuilderSupport var1) {
      class="kw">return this.freeSlots.getIntArray(var1.getExecutionContext());
   }
}