BuilderSensorCount.java
package com.hypixel.hytale.server.npc.corecomponents.entity.builders;
import com.google.gson.JsonElement;
import com.hypixel.hytale.server.npc.asset.builder.Builder;
import com.hypixel.hytale.server.npc.asset.builder.BuilderDescriptorState;
import com.hypixel.hytale.server.npc.asset.builder.BuilderSupport;
import com.hypixel.hytale.server.npc.asset.builder.holder.NumberArrayHolder;
import com.hypixel.hytale.server.npc.asset.builder.validators.AssetValidator;
import com.hypixel.hytale.server.npc.asset.builder.validators.DoubleSequenceValidator;
import com.hypixel.hytale.server.npc.asset.builder.validators.IntSequenceValidator;
import com.hypixel.hytale.server.npc.asset.builder.validators.TagSetExistsValidator;
import com.hypixel.hytale.server.npc.corecomponents.builders.BuilderSensorBase;
import com.hypixel.hytale.server.npc.corecomponents.entity.SensorCount;
import com.hypixel.hytale.server.npc.instructions.Sensor;
import com.hypixel.hytale.server.npc.role.support.WorldSupport;
import java.util.function.Function;
import javax.annotation.Nonnull;
public class BuilderSensorCount extends BuilderSensorBase {
protected final NumberArrayHolder count = new NumberArrayHolder();
protected final ();
String[] includeGroups;
String[] excludeGroups;
{
}
String {
;
}
String {
;
}
BuilderDescriptorState {
BuilderDescriptorState.Stable;
}
SensorCount {
(, builderSupport);
}
Builder<Sensor> {
.requireIntRange(data, , .count, IntSequenceValidator.betweenWeaklyMonotonic(, ), BuilderDescriptorState.Stable, , (String));
.requireDoubleRange(data, , .range, DoubleSequenceValidator.betweenWeaklyMonotonic(, ), BuilderDescriptorState.Stable, , (String));
.getAssetArray(data, , (t) -> .includeGroups = t, (Function), (String[]), TagSetExistsValidator.withConfig(AssetValidator.ListCanBeEmpty), BuilderDescriptorState.Stable, , (String));
.getAssetArray(data, , (t) -> .excludeGroups = t, (Function), (String[]), TagSetExistsValidator.withConfig(AssetValidator.ListCanBeEmpty), BuilderDescriptorState.Stable, , (String));
;
}
[] getCount( BuilderSupport builderSupport) {
.count.getIntArray(builderSupport.getExecutionContext());
}
[] getRange( BuilderSupport builderSupport) {
.range.get(builderSupport.getExecutionContext());
}
[] getIncludeGroups() {
WorldSupport.createTagSetIndexArray(.includeGroups);
}
[] getExcludeGroups() {
WorldSupport.createTagSetIndexArray(.excludeGroups);
}
}