BuilderActionSetAlarm class
Пакет: com.hypixel.hytale.server.npc.corecomponents.timer.builders
Файл: com/hypixel/hytale/server/npc/corecomponents/timer/builders/BuilderActionSetAlarm.java
extends: BuilderActionBase
Поля (1)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
TemporalAmount |
MIN_TIME |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
return new |
ActionSetAlarmreturn new ActionSetAlarm(this, var1) |
public |
Alarm |
getAlarmAlarm getAlarm(@Nonnull BuilderSupport var1) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.corecomponents.timer.builders;
class="kw">import com.google.gson.JsonElement;
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.StringHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.holder.TemporalArrayHolder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.StringNotEmptyValidator;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.TemporalSequenceValidator;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.builders.BuilderActionBase;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.timer.ActionSetAlarm;
class="kw">import com.hypixel.hytale.server.npc.util.Alarm;
class="kw">import java.time.Duration;
class="kw">import java.time.Period;
class="kw">import java.time.temporal.TemporalAmount;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class BuilderActionSetAlarm class="kw">extends BuilderActionBase {
class="kw">public class="kw">static class="kw">final TemporalAmount MIN_TIME = Duration.ZERO;
class="kw">public class="kw">static class="kw">final TemporalAmount MAX_TIME = Period.ofDays(Integer.MAX_VALUE);
class="kw">protected class="kw">final StringHolder name = new StringHolder();
class="kw">protected class="kw">final TemporalArrayHolder durationRange = new TemporalArrayHolder();
class="kw">public BuilderActionSetAlarm() {
}
@Nonnull
class="kw">public ActionSetAlarm build(@Nonnull BuilderSupport var1) {
class="kw">return new ActionSetAlarm(this, var1);
}
@Nonnull
@Override
class="kw">public String getShortDescription() {
class="kw">return "Set a named alarm on the NPC";
}
@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
class="kw">public BuilderActionSetAlarm readConfig(@Nonnull JsonElement var1) {
this.requireString(var1, "Name", this.name, StringNotEmptyValidator.get(), BuilderDescriptorState.Stable, "The name of the alarm to set", null);
this.requireTemporalRange(
var1,
"DurationRange",
this.durationRange,
TemporalSequenceValidator.betweenWeaklyMonotonic(MIN_TIME, MAX_TIME),
BuilderDescriptorState.Stable,
"The duration range from which to pick a duration to set the alarm for",
"The duration range from which to pick a duration to set the alarm for. [ \"P0D\", \"P0D\" ] will unset the alarm"
);
class="kw">return this;
}
class="kw">public Alarm getAlarm(@Nonnull BuilderSupport var1) {
class="kw">return var1.getAlarm(this.name.get(var1.getExecutionContext()));
}
@Nullable
class="kw">public TemporalAmount[] getDurationRange(@Nonnull BuilderSupport var1) {
class="kw">return this.durationRange.getTemporalArray(var1.getExecutionContext());
}
}