BuilderEntityFilterSpotsMe class
Пакет: com.hypixel.hytale.server.npc.corecomponents.entity.filters.builders
Файл: com/hypixel/hytale/server/npc/corecomponents/entity/filters/builders/BuilderEntityFilterSpotsMe.java
extends: BuilderEntityFilterBase
Поля (1)
| Модификаторы | Тип | Имя |
|---|---|---|
protected |
float |
viewAngle |
Методы (4)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
return new |
EntityFilterSpotsMereturn new EntityFilterSpotsMe(this) |
public |
float |
getViewAnglefloat getViewAngle() |
public |
ViewTest |
getViewTestViewTest getViewTest() |
public |
boolean |
testLineOfSightboolean testLineOfSight() |
Исходный код
Показать/скрыть
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.ComponentContext;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.InstructionType;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.DoubleRangeValidator;
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.EntityFilterSpotsMe;
class="kw">import com.hypixel.hytale.server.npc.util.ViewTest;
class="kw">import javax.annotation.Nonnull;
class="kw">public class BuilderEntityFilterSpotsMe class="kw">extends BuilderEntityFilterBase {
class="kw">protected float viewAngle;
class="kw">protected boolean testLineOfSight;
class="kw">protected ViewTest viewTest;
class="kw">public BuilderEntityFilterSpotsMe() {
}
@Nonnull
class="kw">public EntityFilterSpotsMe build(BuilderSupport var1) {
class="kw">return new EntityFilterSpotsMe(this);
}
@Nonnull
@Override
class="kw">public String getShortDescription() {
class="kw">return "Checks if the entity can view the NPC in a given view sector or cone and without obstruction.";
}
@Nonnull
@Override
class="kw">public String getLongDescription() {
class="kw">return this.getShortDescription();
}
@Nonnull
@Override
class="kw">public BuilderDescriptorState getBuilderDescriptorState() {
class="kw">return BuilderDescriptorState.Stable;
}
@Nonnull
@Override
class="kw">public Builder<IEntityFilter> readConfig(@Nonnull JsonElement var1) {
this.getFloat(
var1,
"ViewAngle",
var1x -> this.viewAngle = var1x * (float) (Math.PI / 180.0),
90.0F,
DoubleRangeValidator.between(0.0, 360.0),
BuilderDescriptorState.Stable,
"Angle used for view sector and view cone test",
null
);
this.getEnum(
var1,
"ViewTest",
var1x -> this.viewTest = var1x,
ViewTest.class,
ViewTest.VIEW_SECTOR,
BuilderDescriptorState.Stable,
"Check if the entity is in the view cone, view sector, or neither",
null
);
this.getBoolean(
var1,
"TestLineOfSight",
var1x -> this.testLineOfSight = var1x,
true,
BuilderDescriptorState.Stable,
"Check if view to the npc is not obstructed",
null
);
this.requireContext(InstructionType.Any, ComponentContext.NotSelfEntitySensor);
class="kw">return this;
}
class="kw">public float getViewAngle() {
class="kw">return this.viewAngle;
}
class="kw">public boolean testLineOfSight() {
class="kw">return this.testLineOfSight;
}
class="kw">public ViewTest getViewTest() {
class="kw">return this.viewTest;
}
}