Class BuilderManager

java.lang.Object
com.hypixel.hytale.server.npc.asset.builder.BuilderManager

public class BuilderManager extends Object
  • Field Details

  • Constructor Details

    • BuilderManager

      public BuilderManager()
  • Method Details

    • registerFactory

      public <T> void registerFactory(@Nonnull BuilderFactory<T> factory)
    • addCategory

      public void addCategory(String name, Class<?> clazz)
    • getCategoryName

      public String getCategoryName(@Nonnull Class<?> factoryClass)
    • getIndex

      public int getIndex(@Nullable String name)
    • setAutoReload

      public void setAutoReload(boolean autoReload)
    • lookupName

      @Nullable public String lookupName(int index)
    • getOrCreateIndex

      public int getOrCreateIndex(String name)
    • tryGetBuilderInfo

      @Nullable public BuilderInfo tryGetBuilderInfo(int builderIndex)
    • unloadBuilders

      public void unloadBuilders(AssetPack pack)
    • loadBuilders

      public boolean loadBuilders(@Nonnull AssetPack pack, boolean includeTests)
    • finishLoadingBuilders

      private void finishLoadingBuilders(@Nonnull it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap<BuilderInfo> loadedBuilders, @Nonnull List<String> errors)
    • assetEditorLoadFile

      public void assetEditorLoadFile(@Nonnull Path fileName)
    • assetEditorRemoveFile

      public void assetEditorRemoveFile(@Nonnull Path filePath)
    • loadFile

      public int loadFile(@Nonnull Path fileName, boolean reloading, @Nonnull List<String> errors)
    • loadFile

      public int loadFile(@Nonnull Path fileName, @Nonnull List<String> errors, @Nullable it.unimi.dsi.fastutil.objects.Object2IntMap<String> typeCounter, boolean includeTests, boolean reloading)
    • validateBuilder

      public boolean validateBuilder(@Nonnull BuilderInfo builderInfo)
    • getFactory

      @Nonnull public <T> BuilderFactory<T> getFactory(@Nonnull Class<?> clazz)
    • getCachedBuilderInfo

      @Nonnull public BuilderInfo getCachedBuilderInfo(int index, @Nonnull Class<?> classType)
    • tryGetCachedValidBuilder

      @Nullable public <T> Builder<T> tryGetCachedValidBuilder(int index, @Nonnull Class<?> classType)
    • getCachedBuilder

      public <T> Builder<T> getCachedBuilder(int index, @Nonnull Class<?> classType)
    • isEmpty

      public boolean isEmpty()
    • getAllBuilders

      @Nonnull public it.unimi.dsi.fastutil.ints.Int2ObjectMap<BuilderInfo> getAllBuilders()
    • collectMatchingBuilders

      public <T extends Collection<?>> T collectMatchingBuilders(T collection, @Nonnull Predicate<BuilderInfo> filter, @Nonnull BiConsumer<BuilderInfo,T> consumer)
    • getNameToIndexMap

      @Nonnull public it.unimi.dsi.fastutil.objects.Object2IntMap<String> getNameToIndexMap()
    • findMatchingBuilder

      @Nullable public <T> BuilderInfo findMatchingBuilder(@Nonnull BiPredicate<BuilderInfo,T> filter, T t)
    • getBuilderInfo

      @Nullable public BuilderInfo getBuilderInfo(Builder<?> builder)
    • getTemplateNames

      public List<String> getTemplateNames()
    • forceValidation

      public void forceValidation(int builderIndex)
    • checkIfDeprecated

      public void checkIfDeprecated(@Nonnull Builder<?> builder, @Nonnull BuilderFactory<?> builderFactory, @Nonnull com.google.gson.JsonElement element, String fileName, String context)
    • generateSchema

      @Nonnull public Schema generateSchema(@Nonnull SchemaContext context)
    • generateDescriptors

      @Nonnull public List<BuilderDescriptor> generateDescriptors()
    • saveDescriptors

      public static void saveDescriptors(List<BuilderDescriptor> builderDescriptors, @Nonnull Path fileName)
    • tryGetCachedValidRole

      @Nullable public Builder<Role> tryGetCachedValidRole(int builderIndex)
    • validateAllLoadedBuilders

      public void validateAllLoadedBuilders(@Nonnull it.unimi.dsi.fastutil.ints.Int2ObjectMap<BuilderInfo> loadedBuilders, boolean validateDependents, @Nonnull List<String> errors)
    • onAllBuildersLoaded

      public void onAllBuildersLoaded(@Nonnull it.unimi.dsi.fastutil.ints.Int2ObjectMap<BuilderInfo> loadedBuilders)
    • onBuilderReloaded

      public static void onBuilderReloaded(@Nonnull BuilderInfo builderInfo)
    • getPlayerGroupID

      public static int getPlayerGroupID()
    • getSelfGroupID

      public static int getSelfGroupID()
    • onBuilderAdded

      protected static void onBuilderAdded(@Nonnull BuilderInfo builderInfo)
    • isDependant

      protected boolean isDependant(@Nonnull Builder<?> builder, int builderIndex, int dependencyIndex)
    • cacheBuilder

      protected int cacheBuilder(String name, Builder<?> builder, Path path)
    • removeBuilder

      private void removeBuilder(int index)
    • removeBuilder

      private void removeBuilder(String name)
    • tryGetCachedBuilder

      @Nullable private Builder<?> tryGetCachedBuilder(int index)
    • tryGetCachedBuilderInfo

      @Nullable private BuilderInfo tryGetCachedBuilderInfo(int index, @Nonnull Class<?> classType)
    • validateAllSpawnableNPCs

      private static void validateAllSpawnableNPCs(@Nonnull it.unimi.dsi.fastutil.ints.Int2ObjectMap<BuilderInfo> builders, @Nonnull List<String> errors)
    • sendReloadNotification

      private static void sendReloadNotification(Message message, @Nonnull Set<String> builders)
    • isIgnoredFile

      private static boolean isIgnoredFile(@Nonnull Path path)
    • isJsonFile

      private static boolean isJsonFile(@Nonnull Path path)
    • isJsonFileName

      private static boolean isJsonFileName(@Nonnull Path path, EventKind eventKind)
    • builderNameFromPath

      @Nonnull private static String builderNameFromPath(@Nonnull Path path)
    • buildPathString

      @Nonnull private String buildPathString(@Nonnull it.unimi.dsi.fastutil.ints.IntArrayList path, int index)
    • validateBuilder

      private boolean validateBuilder(@Nonnull BuilderInfo builderInfo, @Nonnull it.unimi.dsi.fastutil.ints.IntSet validatedDependencies, @Nonnull it.unimi.dsi.fastutil.ints.IntArrayList path)
    • computeAllDependencies

      @Nonnull private it.unimi.dsi.fastutil.ints.IntSet computeAllDependencies(@Nonnull Builder<?> builder, int builderIndex)
    • computeAllDependencies

      @Nonnull private it.unimi.dsi.fastutil.ints.IntSet computeAllDependencies(@Nonnull Builder<?> builder, int builderIndex, @Nonnull it.unimi.dsi.fastutil.ints.IntSet dependencies, @Nonnull it.unimi.dsi.fastutil.ints.IntArrayList path)
    • iterateDependencies

      private void iterateDependencies(@Nonnull it.unimi.dsi.fastutil.ints.IntIterator iterator, @Nonnull it.unimi.dsi.fastutil.ints.IntSet dependencies, @Nonnull it.unimi.dsi.fastutil.ints.IntArrayList path)
    • reloadDependants

      private void reloadDependants(int dependency)