From a1d3eb5e26ab97af8372ed2f029e55723d5def11 Mon Sep 17 00:00:00 2001 From: filoghost Date: Fri, 31 Dec 2021 12:35:19 +0100 Subject: [PATCH] Enable colors and custom placeholders inside animations --- .../plugin/config/ConfigManager.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/plugin/src/main/java/me/filoghost/holographicdisplays/plugin/config/ConfigManager.java b/plugin/src/main/java/me/filoghost/holographicdisplays/plugin/config/ConfigManager.java index f7b50b4c..df924532 100644 --- a/plugin/src/main/java/me/filoghost/holographicdisplays/plugin/config/ConfigManager.java +++ b/plugin/src/main/java/me/filoghost/holographicdisplays/plugin/config/ConfigManager.java @@ -5,6 +5,7 @@ */ package me.filoghost.holographicdisplays.plugin.config; +import me.filoghost.fcommons.collection.CollectionUtils; import me.filoghost.fcommons.config.BaseConfigManager; import me.filoghost.fcommons.config.Config; import me.filoghost.fcommons.config.ConfigErrors; @@ -17,6 +18,7 @@ import me.filoghost.fcommons.config.exception.ConfigValueException; import me.filoghost.fcommons.config.mapped.MappedConfigLoader; import me.filoghost.fcommons.logging.ErrorCollector; import me.filoghost.fcommons.logging.Log; +import me.filoghost.holographicdisplays.plugin.format.DisplayFormat; import me.filoghost.holographicdisplays.plugin.internal.hologram.InternalHologramManager; import me.filoghost.holographicdisplays.plugin.internal.placeholder.AnimationPlaceholder; import me.filoghost.holographicdisplays.plugin.internal.placeholder.AnimationPlaceholderFactory; @@ -97,10 +99,7 @@ public class ConfigManager extends BaseConfigManager { animationFiles.filter(this::isYamlFile).forEach(file -> { try { String fileName = file.getFileName().toString(); - AnimationConfig animationConfig = loadAnimation(file); - AnimationPlaceholder animationPlaceholder = new AnimationPlaceholder( - animationConfig.getIntervalTicks(), - animationConfig.getFrames()); + AnimationPlaceholder animationPlaceholder = loadAnimationPlaceholder(file); animationsByFileName.put(fileName, animationPlaceholder); } catch (ConfigException e) { logConfigException(errorCollector, file, e); @@ -114,9 +113,12 @@ public class ConfigManager extends BaseConfigManager { return new AnimationPlaceholderFactory(animationsByFileName); } - private AnimationConfig loadAnimation(Path animationFile) throws ConfigLoadException, ConfigValueException { - FileConfig animationFileConfig = getConfigLoader(animationFile).load(); - return new AnimationConfig(animationFileConfig); + private AnimationPlaceholder loadAnimationPlaceholder(Path animationFile) throws ConfigLoadException, ConfigValueException { + AnimationConfig animationConfig = new AnimationConfig(getConfigLoader(animationFile).load()); + return new AnimationPlaceholder( + animationConfig.getIntervalTicks(), + CollectionUtils.toArrayList(animationConfig.getFrames(), DisplayFormat::apply) + ); } public void reloadStaticReplacements(ErrorCollector errorCollector) {