package com.hypixel.hytale.server.npc.asset.builder; import com.hypixel.hytale.server.npc.asset.builder.providerevaluators.ProviderEvaluator; import com.hypixel.hytale.server.npc.asset.builder.validators.Validator; import it.unimi.dsi.fastutil.objects.ObjectArrayList; import java.util.List; import java.util.Set; public class BuilderDescriptor { private final String name; private final String category; private final BuilderDescriptorState state; private final String shortDescription; private final String longDescription; private final List attributes = new ObjectArrayList(); private final List validators = new ObjectArrayList(); private final List providerEvaluators = new ObjectArrayList(); private final Set tags; public BuilderDescriptor(String name, String category, String shortDescription, String longDescription, Set tags, BuilderDescriptorState state) { this.name = name; this.category = category; this.shortDescription = shortDescription; this.longDescription = longDescription; this.state = state; this.tags = tags; } public BuilderAttributeDescriptor addAttribute(BuilderAttributeDescriptor attributeDescriptor) { this.attributes.add(attributeDescriptor); return attributeDescriptor; } public BuilderAttributeDescriptor addAttribute(String name, String type, BuilderDescriptorState state, String shortDescription, String longDescription) { return this.addAttribute(new BuilderAttributeDescriptor(name, type, state, shortDescription, longDescription)); } public void addValidator(Validator validator) { this.validators.add(validator); } public void addProviderEvaluator(ProviderEvaluator providerEvaluator) { this.providerEvaluators.add(providerEvaluator); } }