Cleaned up configs

This commit is contained in:
Auxilor
2021-04-09 01:50:40 +01:00
parent d06ff8c265
commit 2e16f13cbc
4 changed files with 7 additions and 62 deletions

View File

@@ -8,7 +8,6 @@ import com.willfp.eco.core.integrations.IntegrationLoader;
import com.willfp.talismans.commands.CommandTalgive;
import com.willfp.talismans.commands.CommandTalreload;
import com.willfp.talismans.commands.TabcompleterTalgive;
import com.willfp.talismans.config.TalismansConfigs;
import com.willfp.talismans.display.TalismanDisplay;
import com.willfp.talismans.talismans.Talismans;
import com.willfp.talismans.talismans.util.BlockPlaceListener;
@@ -153,7 +152,6 @@ public class TalismansPlugin extends EcoPlugin {
@Override
public List<Class<?>> getUpdatableClasses() {
return Arrays.asList(
TalismansConfigs.class,
TalismanChecks.class,
Talismans.class,
TabcompleterTalgive.class

View File

@@ -1,54 +0,0 @@
package com.willfp.talismans.config;
import com.willfp.eco.core.config.ConfigUpdater;
import com.willfp.talismans.config.configs.TalismanConfig;
import lombok.Getter;
import lombok.experimental.UtilityClass;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.HashSet;
import java.util.Set;
@UtilityClass
public class TalismansConfigs {
/**
* All talisman-specific configs.
*/
@Getter
private static final Set<TalismanConfig> TALISMAN_CONFIGS = new HashSet<>();
/**
* Update all configs.
*/
@ConfigUpdater
public void updateConfigs() {
TALISMAN_CONFIGS.forEach(TalismanConfig::update);
}
/**
* Get TalismanConfig matching config name.
*
* @param configName The config name to match.
* @return The matching {@link TalismanConfig}.
*/
@Nullable
public TalismanConfig getTalismanConfig(@NotNull final String configName) {
for (TalismanConfig config : TALISMAN_CONFIGS) {
if (config.getName().equalsIgnoreCase(configName)) {
return config;
}
}
return null;
}
/**
* Adds new talisman config yml.
*
* @param config The config to add.
*/
public void addTalismanConfig(@NotNull final TalismanConfig config) {
TALISMAN_CONFIGS.add(config);
}
}

View File

@@ -1,7 +1,7 @@
package com.willfp.talismans.config.configs;
import com.willfp.eco.core.EcoPlugin;
import com.willfp.eco.core.config.ExtendableConfig;
import com.willfp.talismans.TalismansPlugin;
import com.willfp.talismans.talismans.meta.TalismanStrength;
import lombok.Getter;
import org.jetbrains.annotations.NotNull;
@@ -19,11 +19,13 @@ public class TalismanConfig extends ExtendableConfig {
* @param name The name of the config.
* @param strength The strength of the talisman.
* @param source The provider of the talisman.
* @param plugin Instance of talismans.
*/
public TalismanConfig(@NotNull final String name,
@NotNull final TalismanStrength strength,
@NotNull final Class<?> source) {
super(name, true, TalismansPlugin.getInstance(), source, "talismans/" + strength.name().toLowerCase() + "/");
@NotNull final Class<?> source,
@NotNull final EcoPlugin plugin) {
super(name, true, plugin, source, "talismans/" + strength.name().toLowerCase() + "/");
this.name = name;
}
}

View File

@@ -8,7 +8,6 @@ import com.willfp.eco.core.items.Items;
import com.willfp.eco.core.recipe.recipes.ShapedCraftingRecipe;
import com.willfp.eco.util.StringUtils;
import com.willfp.talismans.TalismansPlugin;
import com.willfp.talismans.config.TalismansConfigs;
import com.willfp.talismans.config.configs.TalismanConfig;
import com.willfp.talismans.talismans.meta.TalismanStrength;
import com.willfp.talismans.talismans.util.TalismanChecks;
@@ -153,8 +152,7 @@ public abstract class Talisman implements Listener, Watcher {
this.key = this.getPlugin().getNamespacedKeyFactory().create(key + "_" + strength.name().toLowerCase());
this.uuid = UUID.nameUUIDFromBytes(this.getKey().getKey().getBytes());
this.configName = this.key.getKey().replace("_", "");
TalismansConfigs.addTalismanConfig(new TalismanConfig(this.configName, this.strength, this.getClass()));
this.config = TalismansConfigs.getTalismanConfig(this.configName);
this.config = new TalismanConfig(this.configName, this.strength, this.getClass(), this.plugin);
if (Bukkit.getPluginManager().getPermission("talismans.fromtable." + configName) == null) {
Permission permission = new Permission(
@@ -179,6 +177,7 @@ public abstract class Talisman implements Listener, Watcher {
* This can be overridden but may lead to unexpected behavior.
*/
public void update() {
config.update();
name = StringUtils.translate(config.getString("name"));
description = StringUtils.translate(config.getString("description"));
skullBase64 = config.getString(Talismans.GENERAL_LOCATION + "texture");