Class BuilderManager
java.lang.Object
com.hypixel.hytale.server.npc.asset.builder.BuilderManager
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate classprivate static enum -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanprivate final com.hypixel.fastutil.ints.Int2ObjectConcurrentHashMap<BuilderInfo> private static final Stringstatic final Stringprivate final Stringprivate final Stringprivate final Map<Class<?>, BuilderFactory<?>> private static final Stringprivate final ReentrantReadWriteLockprivate final it.unimi.dsi.fastutil.objects.Object2IntMap<String> private final AtomicIntegerprivate static final Stringprivate static intstatic BuilderManagerprivate static final Stringprivate static intprivate booleanprivate static final String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddCategory(String name, Class<?> clazz) voidassetEditorLoadFile(Path fileName) voidassetEditorRemoveFile(Path filePath) private static StringbuilderNameFromPath(Path path) private StringbuildPathString(it.unimi.dsi.fastutil.ints.IntArrayList path, int index) protected intcacheBuilder(String name, Builder<?> builder, Path path) voidcheckIfDeprecated(Builder<?> builder, BuilderFactory<?> builderFactory, com.google.gson.JsonElement element, String fileName, String context) <T extends Collection<?>>
TcollectMatchingBuilders(T collection, Predicate<BuilderInfo> filter, BiConsumer<BuilderInfo, T> consumer) private it.unimi.dsi.fastutil.ints.IntSetcomputeAllDependencies(Builder<?> builder, int builderIndex) private it.unimi.dsi.fastutil.ints.IntSetcomputeAllDependencies(Builder<?> builder, int builderIndex, it.unimi.dsi.fastutil.ints.IntSet dependencies, it.unimi.dsi.fastutil.ints.IntArrayList path) <T> BuilderInfofindMatchingBuilder(BiPredicate<BuilderInfo, T> filter, T t) private voidfinishLoadingBuilders(it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap<BuilderInfo> loadedBuilders, List<String> errors) voidforceValidation(int builderIndex) generateSchema(SchemaContext context) it.unimi.dsi.fastutil.ints.Int2ObjectMap<BuilderInfo> getBuilderInfo(Builder<?> builder) <T> Builder<T> getCachedBuilder(int index, Class<?> classType) getCachedBuilderInfo(int index, Class<?> classType) getCategoryName(Class<?> factoryClass) <T> BuilderFactory<T> getFactory(Class<?> clazz) intit.unimi.dsi.fastutil.objects.Object2IntMap<String> intgetOrCreateIndex(String name) static intstatic intprotected booleanisDependant(Builder<?> builder, int builderIndex, int dependencyIndex) booleanisEmpty()private static booleanisIgnoredFile(Path path) private static booleanisJsonFile(Path path) private static booleanisJsonFileName(Path path, EventKind eventKind) private voiditerateDependencies(it.unimi.dsi.fastutil.ints.IntIterator iterator, it.unimi.dsi.fastutil.ints.IntSet dependencies, it.unimi.dsi.fastutil.ints.IntArrayList path) booleanloadBuilders(AssetPack pack, boolean includeTests) intintloadFile(Path fileName, List<String> errors, it.unimi.dsi.fastutil.objects.Object2IntMap<String> typeCounter, boolean includeTests, boolean reloading) lookupName(int index) voidonAllBuildersLoaded(it.unimi.dsi.fastutil.ints.Int2ObjectMap<BuilderInfo> loadedBuilders) protected static voidonBuilderAdded(BuilderInfo builderInfo) static voidonBuilderReloaded(BuilderInfo builderInfo) <T> voidregisterFactory(BuilderFactory<T> factory) private voidreloadDependants(int dependency) private voidremoveBuilder(int index) private voidremoveBuilder(String name) static voidsaveDescriptors(List<BuilderDescriptor> builderDescriptors, Path fileName) private static voidsendReloadNotification(Message message, Set<String> builders) voidsetAutoReload(boolean autoReload) tryGetBuilderInfo(int builderIndex) private Builder<?> tryGetCachedBuilder(int index) private BuilderInfotryGetCachedBuilderInfo(int index, Class<?> classType) <T> Builder<T> tryGetCachedValidBuilder(int index, Class<?> classType) tryGetCachedValidRole(int builderIndex) voidunloadBuilders(AssetPack pack) voidvalidateAllLoadedBuilders(it.unimi.dsi.fastutil.ints.Int2ObjectMap<BuilderInfo> loadedBuilders, boolean validateDependents, List<String> errors) private static voidvalidateAllSpawnableNPCs(it.unimi.dsi.fastutil.ints.Int2ObjectMap<BuilderInfo> builders, List<String> errors) booleanvalidateBuilder(BuilderInfo builderInfo) private booleanvalidateBuilder(BuilderInfo builderInfo, it.unimi.dsi.fastutil.ints.IntSet validatedDependencies, it.unimi.dsi.fastutil.ints.IntArrayList path)
-
Field Details
-
CONTENT_KEY
- See Also:
-
CLASS_KEY
- See Also:
-
TEST_TYPE_KEY
- See Also:
-
FAIL_REASON_KEY
- See Also:
-
PLAYER_GROUP_TAG
- See Also:
-
SELF_GROUP_TAG
- See Also:
-
playerGroupID
private static int playerGroupID -
selfGroupID
private static int selfGroupID -
builderCache
-
elementTypeName
- See Also:
-
defaultFileType
-
autoReload
private boolean autoReload -
factoryMap
-
categoryNames
-
nameToIndexMap
-
nextIndex
-
indexLock
-
setup
private boolean setup -
SCHEMA_BUILDER_MANAGER
-
-
Constructor Details
-
BuilderManager
public BuilderManager()
-
-
Method Details
-
registerFactory
-
addCategory
-
getCategoryName
-
getIndex
-
setAutoReload
public void setAutoReload(boolean autoReload) -
lookupName
-
getOrCreateIndex
-
tryGetBuilderInfo
-
unloadBuilders
-
loadBuilders
-
finishLoadingBuilders
private void finishLoadingBuilders(@Nonnull it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap<BuilderInfo> loadedBuilders, @Nonnull List<String> errors) -
assetEditorLoadFile
-
assetEditorRemoveFile
-
loadFile
-
loadFile
-
validateBuilder
-
getFactory
-
getCachedBuilderInfo
-
tryGetCachedValidBuilder
-
getCachedBuilder
-
isEmpty
public boolean isEmpty() -
getAllBuilders
-
collectMatchingBuilders
public <T extends Collection<?>> T collectMatchingBuilders(T collection, @Nonnull Predicate<BuilderInfo> filter, @Nonnull BiConsumer<BuilderInfo, T> consumer) -
getNameToIndexMap
-
findMatchingBuilder
@Nullable public <T> BuilderInfo findMatchingBuilder(@Nonnull BiPredicate<BuilderInfo, T> filter, T t) -
getBuilderInfo
-
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
-
generateDescriptors
-
saveDescriptors
public static void saveDescriptors(List<BuilderDescriptor> builderDescriptors, @Nonnull Path fileName) -
tryGetCachedValidRole
-
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
-
getPlayerGroupID
public static int getPlayerGroupID() -
getSelfGroupID
public static int getSelfGroupID() -
onBuilderAdded
-
isDependant
-
cacheBuilder
-
removeBuilder
private void removeBuilder(int index) -
removeBuilder
-
tryGetCachedBuilder
-
tryGetCachedBuilderInfo
-
validateAllSpawnableNPCs
private static void validateAllSpawnableNPCs(@Nonnull it.unimi.dsi.fastutil.ints.Int2ObjectMap<BuilderInfo> builders, @Nonnull List<String> errors) -
sendReloadNotification
-
isIgnoredFile
-
isJsonFile
-
isJsonFileName
-
builderNameFromPath
-
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)
-