Core skill config is now converted

This commit is contained in:
nossr50 2019-05-13 08:36:37 -07:00
parent 39d10855d8
commit c61c55031d
9 changed files with 74 additions and 109 deletions

View File

@ -95,9 +95,18 @@ public abstract class Config implements VersionedConfig {
} }
//Cleanup and backup registers //Cleanup and backup registers
// registerUnload();
registerFileBackup(); registerFileBackup();
} }
// /**
// * Registers with the config managers unloader
// * The unloader runs when the plugin gets disabled which cleans up registries to make reloading safe
// */
// private void registerUnload() {
// mcMMO.getConfigManager().registerUnloadable(this);
// }
/** /**
* Registers with the config managers file list * Registers with the config managers file list
* Used for backing up configs with our zip library * Used for backing up configs with our zip library
@ -276,9 +285,9 @@ public abstract class Config implements VersionedConfig {
* *
* @return the path to the defaults directory * @return the path to the defaults directory
*/ */
// private String getDefaultConfigCopyRelativePath() { private String getDefaultConfigCopyRelativePath() {
// return getDefaultConfigFile().getPath(); return getDefaultConfigFile().getPath();
// } }
/** /**
* Grabs the File representation of the default config, which is stored on disk in a defaults folder * Grabs the File representation of the default config, which is stored on disk in a defaults folder
@ -286,9 +295,9 @@ public abstract class Config implements VersionedConfig {
* *
* @return the copy of the default config file, stored in the defaults directory * @return the copy of the default config file, stored in the defaults directory
*/ */
// private File getDefaultConfigFile() { private File getDefaultConfigFile() {
// return new File(ConfigConstants.getDefaultsFolder(), FILE_RELATIVE_PATH); return new File(ConfigConstants.getDefaultsFolder(), FILE_RELATIVE_PATH);
// } }
/** /**
* Creates the defaults directory * Creates the defaults directory

View File

@ -24,6 +24,7 @@ import com.gmail.nossr50.config.hocon.skills.acrobatics.ConfigAcrobatics;
import com.gmail.nossr50.config.hocon.skills.alchemy.ConfigAlchemy; import com.gmail.nossr50.config.hocon.skills.alchemy.ConfigAlchemy;
import com.gmail.nossr50.config.hocon.skills.archery.ConfigArchery; import com.gmail.nossr50.config.hocon.skills.archery.ConfigArchery;
import com.gmail.nossr50.config.hocon.skills.axes.ConfigAxes; import com.gmail.nossr50.config.hocon.skills.axes.ConfigAxes;
import com.gmail.nossr50.config.hocon.skills.coreskills.ConfigCoreSkills;
import com.gmail.nossr50.config.hocon.skills.exampleconfigs.ConfigNameRegisterDefaults; import com.gmail.nossr50.config.hocon.skills.exampleconfigs.ConfigNameRegisterDefaults;
import com.gmail.nossr50.config.hocon.skills.exampleconfigs.MinecraftMaterialWrapper; import com.gmail.nossr50.config.hocon.skills.exampleconfigs.MinecraftMaterialWrapper;
import com.gmail.nossr50.config.hocon.skills.excavation.ConfigExcavation; import com.gmail.nossr50.config.hocon.skills.excavation.ConfigExcavation;
@ -93,6 +94,7 @@ public final class ConfigManager {
private SerializedConfigLoader<ConfigAdmin> configAdmin; private SerializedConfigLoader<ConfigAdmin> configAdmin;
private SerializedConfigLoader<ConfigMobs> configMobs; private SerializedConfigLoader<ConfigMobs> configMobs;
private SerializedConfigLoader<ConfigExperience> configExperience; private SerializedConfigLoader<ConfigExperience> configExperience;
private SerializedConfigLoader<ConfigCoreSkills> configCoreSkills;
private SerializedConfigLoader<ConfigNameRegisterDefaults> configDefaultExamples; private SerializedConfigLoader<ConfigNameRegisterDefaults> configDefaultExamples;
private ConfigAcrobatics configAcrobatics; private ConfigAcrobatics configAcrobatics;
@ -123,7 +125,6 @@ public final class ConfigManager {
private ExcavationTreasureConfig excavationTreasureConfig; private ExcavationTreasureConfig excavationTreasureConfig;
private HerbalismTreasureConfig herbalismTreasureConfig; private HerbalismTreasureConfig herbalismTreasureConfig;
private AdvancedConfig advancedConfig; private AdvancedConfig advancedConfig;
private CoreSkillsConfig coreSkillsConfig;
private SoundConfig soundConfig; private SoundConfig soundConfig;
private RankConfig rankConfig; private RankConfig rankConfig;
@ -177,6 +178,7 @@ public final class ConfigManager {
configAdmin = new SerializedConfigLoader<>(ConfigAdmin.class, "admin.conf", "Admin", null); configAdmin = new SerializedConfigLoader<>(ConfigAdmin.class, "admin.conf", "Admin", null);
configMobs = new SerializedConfigLoader<>(ConfigMobs.class, "creatures.conf", "Creatures", null); configMobs = new SerializedConfigLoader<>(ConfigMobs.class, "creatures.conf", "Creatures", null);
configExperience = new SerializedConfigLoader<>(ConfigExperience.class, "experience.conf", "Experience", null); configExperience = new SerializedConfigLoader<>(ConfigExperience.class, "experience.conf", "Experience", null);
configCoreSkills = new SerializedConfigLoader<>(ConfigCoreSkills.class, "core_skills.conf", "Core-Skills", null);
configDefaultExamples = new SerializedConfigLoader<>(ConfigNameRegisterDefaults.class, "minecraft_item_block_name_examples.conf", "Minecraft", null); configDefaultExamples = new SerializedConfigLoader<>(ConfigNameRegisterDefaults.class, "minecraft_item_block_name_examples.conf", "Minecraft", null);
initSerializedSkillConfigs(); initSerializedSkillConfigs();
@ -326,8 +328,8 @@ public final class ConfigManager {
return advancedConfig; return advancedConfig;
} }
public CoreSkillsConfig getCoreSkillsConfig() { public ConfigCoreSkills getConfigCoreSkills() {
return coreSkillsConfig; return configCoreSkills.getConfig();
} }
public SoundConfig getSoundConfig() { public SoundConfig getSoundConfig() {

View File

@ -1,66 +0,0 @@
package com.gmail.nossr50.config;
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
import com.gmail.nossr50.datatypes.skills.subskills.AbstractSubSkill;
import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.util.StringUtils;
import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
@ConfigSerializable
public class CoreSkillsConfig extends Config {
public static final String ENABLED = "Enabled";
//private static CoreSkillsConfig instance;
public CoreSkillsConfig() {
//super(McmmoCore.getDataFolderPath().getAbsoluteFile(),"coreskills.yml", true);
super("coreskills", mcMMO.p.getDataFolder().getAbsoluteFile(), ConfigConstants.RELATIVE_PATH_CONFIG_DIR, true, true, true, true);
}
/**
* This grabs an instance of the class from the Config Manager
* This method is deprecated and will be removed in the future
*
* @return the instance of this config
* @see mcMMO#getConfigManager()
* @deprecated Please use mcMMO.getConfigManager() to grab a specific config instead
*/
@Deprecated
public static CoreSkillsConfig getInstance() {
return mcMMO.getConfigManager().getCoreSkillsConfig();
}
/**
* The version of this config
*
* @return
*/
@Override
public double getConfigVersion() {
return 1;
}
/*
* Skill Settings
*/
/**
* Whether or not a skill is enabled
* Defaults true
*
* @param abstractSubSkill SubSkill definition to check
* @return true if subskill is enabled
*/
public boolean isSkillEnabled(AbstractSubSkill abstractSubSkill) {
return getBooleanValue(StringUtils.getCapitalized(abstractSubSkill.getPrimarySkill().toString()), abstractSubSkill.getConfigKeyName(), ENABLED);
}
/**
* Whether or not this primary skill is enabled
*
* @param primarySkillType target primary skill
* @return true if enabled
*/
public boolean isPrimarySkillEnabled(PrimarySkillType primarySkillType) {
return getBooleanValue(StringUtils.getCapitalized(primarySkillType.toString()), ENABLED);
}
}

View File

@ -1,8 +0,0 @@
package com.gmail.nossr50.config;
/**
* Unloads values, sort of like a constructor
*/
public interface Unload {
void unload();
}

View File

@ -0,0 +1,24 @@
package com.gmail.nossr50.config.hocon.skills.coreskills;
import ninja.leaping.configurate.objectmapping.Setting;
import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
@ConfigSerializable
public class ConfigCoreSkills {
@Setting(value = "Core Skills for Acrobatics" +
"\nCore skills are ones built into mcMMO")
private ConfigCoreSkillsAcrobatics configCoreSkillsAcrobatics = new ConfigCoreSkillsAcrobatics();
public boolean isRollEnabled() {
return configCoreSkillsAcrobatics.isRollEnabled();
}
public ConfigCoreSkillsAcrobatics getConfigCoreSkillsAcrobatics() {
return configCoreSkillsAcrobatics;
}
public boolean isAcrobaticsEnabled() {
return getConfigCoreSkillsAcrobatics().isAcrobaticsEnabled();
}
}

View File

@ -0,0 +1,25 @@
package com.gmail.nossr50.config.hocon.skills.coreskills;
import ninja.leaping.configurate.objectmapping.Setting;
import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
@ConfigSerializable
public class ConfigCoreSkillsAcrobatics {
private static final boolean ROLL_DEFAULT = true;
public static final boolean ACROBATICS_MASTER_DEFAULT = true;
@Setting(value = "Disable", comment = "Enable the primary skill Acrobatics")
private boolean enableAcrobatics = ACROBATICS_MASTER_DEFAULT;
@Setting(value = "Roll", comment = "Enable or disable the Roll skill.")
private boolean enableRoll = ROLL_DEFAULT;
public boolean isRollEnabled() {
return enableRoll;
}
public boolean isAcrobaticsEnabled() {
return enableAcrobatics;
}
}

View File

@ -1,6 +1,5 @@
package com.gmail.nossr50.datatypes.skills.subskills; package com.gmail.nossr50.datatypes.skills.subskills;
import com.gmail.nossr50.config.CoreSkillsConfig;
import com.gmail.nossr50.datatypes.skills.SubSkillType; import com.gmail.nossr50.datatypes.skills.SubSkillType;
import com.gmail.nossr50.datatypes.skills.subskills.interfaces.Interaction; import com.gmail.nossr50.datatypes.skills.subskills.interfaces.Interaction;
import com.gmail.nossr50.datatypes.skills.subskills.interfaces.Rank; import com.gmail.nossr50.datatypes.skills.subskills.interfaces.Rank;
@ -33,18 +32,6 @@ public abstract class AbstractSubSkill implements SubSkill, Interaction, Rank, S
return LocaleLoader.getString(getPrimaryKeyName() + ".SubSkill." + getConfigKeyName() + ".Description"); return LocaleLoader.getString(getPrimaryKeyName() + ".SubSkill." + getConfigKeyName() + ".Description");
} }
/**
* Whether or not this subskill is enabled
*
* @return true if enabled
*/
@Override
@Deprecated
public boolean isEnabled() {
//TODO: This might be troublesome...
return CoreSkillsConfig.getInstance().isSkillEnabled(this);
}
/** /**
* Prints detailed info about this subskill to the player * Prints detailed info about this subskill to the player
* *

View File

@ -72,13 +72,6 @@ public interface SubSkill extends Skill {
*/ */
void addStats(ComponentBuilder componentBuilder, Player player); void addStats(ComponentBuilder componentBuilder, Player player);
/**
* Whether or not this subskill is enabled
*
* @return true if enabled
*/
boolean isEnabled();
/** /**
* Prints detailed info about this subskill to the player * Prints detailed info about this subskill to the player
* *

View File

@ -1,7 +1,6 @@
package com.gmail.nossr50; package com.gmail.nossr50;
import com.gmail.nossr50.config.ConfigManager; import com.gmail.nossr50.config.ConfigManager;
import com.gmail.nossr50.config.CoreSkillsConfig;
import com.gmail.nossr50.config.MainConfig; import com.gmail.nossr50.config.MainConfig;
import com.gmail.nossr50.config.hocon.database.ConfigSectionCleaning; import com.gmail.nossr50.config.hocon.database.ConfigSectionCleaning;
import com.gmail.nossr50.config.hocon.database.ConfigSectionMySQL; import com.gmail.nossr50.config.hocon.database.ConfigSectionMySQL;
@ -14,7 +13,6 @@ import com.gmail.nossr50.core.MaterialMapStore;
import com.gmail.nossr50.core.MetadataConstants; import com.gmail.nossr50.core.MetadataConstants;
import com.gmail.nossr50.database.DatabaseManager; import com.gmail.nossr50.database.DatabaseManager;
import com.gmail.nossr50.database.DatabaseManagerFactory; import com.gmail.nossr50.database.DatabaseManagerFactory;
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
import com.gmail.nossr50.datatypes.skills.subskills.acrobatics.Roll; import com.gmail.nossr50.datatypes.skills.subskills.acrobatics.Roll;
import com.gmail.nossr50.listeners.*; import com.gmail.nossr50.listeners.*;
import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.party.PartyManager;
@ -508,13 +506,14 @@ public class mcMMO extends JavaPlugin {
* Acrobatics skills * Acrobatics skills
*/ */
if (CoreSkillsConfig.getInstance().isPrimarySkillEnabled(PrimarySkillType.ACROBATICS)) { if (mcMMO.getConfigManager().getConfigCoreSkills().isAcrobaticsEnabled()) {
System.out.println("[mcMMO]" + " enabling Acrobatics Skills"); System.out.println("[mcMMO]" + " enabling Acrobatics Skills");
//TODO: Should do this differently //TODO: Should do this differently
Roll roll = new Roll(); if(mcMMO.getConfigManager().getConfigCoreSkills().isRollEnabled())
CoreSkillsConfig.getInstance().isSkillEnabled(roll); {
InteractionManager.registerSubSkill(new Roll()); InteractionManager.registerSubSkill(new Roll());
}
} }
} }