BuilderSensorWithEntityFilters class
Пакет: com.hypixel.hytale.server.npc.corecomponents.builders
Файл: com/hypixel/hytale/server/npc/corecomponents/builders/BuilderSensorWithEntityFilters.java
extends: BuilderSensorBase
Поля (5)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
BuilderObjectListHelper<IEntityFilter> |
filters |
|
InstructionContextHelper |
var2 |
|
ObjectArrayList |
var4 |
|
List |
var5 |
|
boolean |
var6 |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
return new |
BuilderValidationHelperreturn new BuilderValidationHelper(this.fileName, null, this.internalReferenceResolver, null, var2, this.extraInfo, this.evaluators, this.readErrors) |
|
|
if if(var2 != null) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.corecomponents.builders;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.BuilderObjectListHelper;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.BuilderSupport;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.BuilderValidationHelper;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.ComponentContext;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.InstructionContextHelper;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.IEntityFilter;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.ISensorEntityPrioritiser;
class="kw">import com.hypixel.hytale.server.npc.util.expression.ExecutionContext;
class="kw">import com.hypixel.hytale.server.npc.util.expression.Scope;
class="kw">import com.hypixel.hytale.server.npc.validators.NPCLoadTimeValidationHelper;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectArrayList;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class="kw">abstract class BuilderSensorWithEntityFilters class="kw">extends BuilderSensorBase {
class="kw">protected class="kw">final BuilderObjectListHelper<IEntityFilter> filters = new BuilderObjectListHelper<>(IEntityFilter.class, this);
class="kw">public BuilderSensorWithEntityFilters() {
}
@Override
class="kw">public boolean validate(String var1, @Nonnull NPCLoadTimeValidationHelper var2, @Nonnull ExecutionContext var3, Scope var4, @Nonnull List<String> var5) {
boolean var6 = super.validate(var1, var2, var3, var4, var5);
var2.pushFilterSet();
var6 &= this.filters.validate(var1, var2, this.builderManager, var3, var4, var5);
var2.popFilterSet();
class="kw">return var6;
}
@Nonnull
class="kw">public IEntityFilter[] getFilters(@Nonnull BuilderSupport var1, @Nullable ISensorEntityPrioritiser var2, ComponentContext var3) {
if (this.filters.isPresent() && !this.filters.isEmpty()) {
var1.setCurrentComponentContext(var3);
List var5 = this.filters.build(var1);
if (var2 != null) {
var2.buildProvidedFilters(var5);
}
var1.setCurrentComponentContext(null);
class="kw">return var5.toArray(IEntityFilter[]::new);
} else if (var2 != null && var2.providesFilters()) {
ObjectArrayList var4 = new ObjectArrayList();
var2.buildProvidedFilters(var4);
class="kw">return (IEntityFilter[])var4.toArray(IEntityFilter[]::new);
} else {
class="kw">return IEntityFilter.EMPTY_ARRAY;
}
}
@Nonnull
class="kw">protected BuilderValidationHelper createFilterValidationHelper(ComponentContext var1) {
InstructionContextHelper var2 = new InstructionContextHelper(
this.isCreatingDescriptor() ? null : this.getInstructionContextHelper().getInstructionContext()
);
var2.setComponentContext(var1);
class="kw">return new BuilderValidationHelper(this.fileName, null, this.internalReferenceResolver, null, var2, this.extraInfo, this.evaluators, this.readErrors);
}
}