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());
}
}