BuilderEntityFilterNPCGroup class

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

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

extends: BuilderEntityFilterBase

Поля (1)

МодификаторыТипИмя
final AssetArrayHolder includeGroups

Методы (3)

МодификаторыВозвратСигнатура
abstract return new EntityFilterNPCGroupreturn new EntityFilterNPCGroup(this, var1)
public int[] getExcludeGroupsint[] getExcludeGroups(@Nonnull BuilderSupport var1)
public int[] getIncludeGroupsint[] getIncludeGroups(@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.validators.AssetValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.TagSetExistsValidator;
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.EntityFilterNPCGroup;
class="kw">import com.hypixel.hytale.server.npc.role.support.WorldSupport;
class="kw">import javax.annotation.Nonnull;

class="kw">public class BuilderEntityFilterNPCGroup class="kw">extends BuilderEntityFilterBase {
   class="kw">protected class="kw">final AssetArrayHolder includeGroups = new AssetArrayHolder();
   class="kw">protected class="kw">final AssetArrayHolder excludeGroups = new AssetArrayHolder();

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

   @Nonnull
   @Override
   class="kw">public String getShortDescription() {
      class="kw">return "Returns whether the entity matches one of the provided NPCGroups";
   }

   @Nonnull
   @Override
   class="kw">public String getLongDescription() {
      class="kw">return this.getShortDescription();
   }

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

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

   @Nonnull
   @Override
   class="kw">public Builder<IEntityFilter> readConfig(@Nonnull JsonElement var1) {
      this.getAssetArray(
         var1,
         "IncludeGroups",
         this.includeGroups,
         null,
         0,
         Integer.MAX_VALUE,
         TagSetExistsValidator.withConfig(AssetValidator.ListCanBeEmpty),
         BuilderDescriptorState.Stable,
         "A set of NPCGroups to include in the match",
         null
      );
      this.getAssetArray(
         var1,
         "ExcludeGroups",
         this.excludeGroups,
         null,
         0,
         Integer.MAX_VALUE,
         TagSetExistsValidator.withConfig(AssetValidator.ListCanBeEmpty),
         BuilderDescriptorState.Stable,
         "A set of NPCGroups to exclude from the match",
         null
      );
      this.validateOneSetAssetArray(this.includeGroups, this.excludeGroups);
      class="kw">return this;
   }

   class="kw">public int[] getIncludeGroups(@Nonnull BuilderSupport var1) {
      class="kw">return WorldSupport.createTagSetIndexArray(this.includeGroups.get(var1.getExecutionContext()));
   }

   class="kw">public int[] getExcludeGroups(@Nonnull BuilderSupport var1) {
      class="kw">return WorldSupport.createTagSetIndexArray(this.excludeGroups.get(var1.getExecutionContext()));
   }
}