mirror of
				https://github.com/mcMMO-Dev/mcMMO.git
				synced 2025-10-30 16:53:43 +01:00 
			
		
		
		
	Core skill config is now converted
This commit is contained in:
		| @@ -95,9 +95,18 @@ public abstract class Config implements VersionedConfig { | ||||
|         } | ||||
|  | ||||
|         //Cleanup and backup registers | ||||
| //        registerUnload(); | ||||
|         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 | ||||
|      * 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 | ||||
|      */ | ||||
| //    private String getDefaultConfigCopyRelativePath() { | ||||
| //        return getDefaultConfigFile().getPath(); | ||||
| //    } | ||||
|     private String getDefaultConfigCopyRelativePath() { | ||||
|         return getDefaultConfigFile().getPath(); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 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 | ||||
|      */ | ||||
| //    private File getDefaultConfigFile() { | ||||
| //        return new File(ConfigConstants.getDefaultsFolder(), FILE_RELATIVE_PATH); | ||||
| //    } | ||||
|     private File getDefaultConfigFile() { | ||||
|         return new File(ConfigConstants.getDefaultsFolder(), FILE_RELATIVE_PATH); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Creates the defaults directory | ||||
|   | ||||
| @@ -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.archery.ConfigArchery; | ||||
| 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.MinecraftMaterialWrapper; | ||||
| import com.gmail.nossr50.config.hocon.skills.excavation.ConfigExcavation; | ||||
| @@ -93,6 +94,7 @@ public final class ConfigManager { | ||||
|     private SerializedConfigLoader<ConfigAdmin> configAdmin; | ||||
|     private SerializedConfigLoader<ConfigMobs> configMobs; | ||||
|     private SerializedConfigLoader<ConfigExperience> configExperience; | ||||
|     private SerializedConfigLoader<ConfigCoreSkills> configCoreSkills; | ||||
|     private SerializedConfigLoader<ConfigNameRegisterDefaults> configDefaultExamples; | ||||
|  | ||||
|     private ConfigAcrobatics configAcrobatics; | ||||
| @@ -123,7 +125,6 @@ public final class ConfigManager { | ||||
|     private ExcavationTreasureConfig excavationTreasureConfig; | ||||
|     private HerbalismTreasureConfig herbalismTreasureConfig; | ||||
|     private AdvancedConfig advancedConfig; | ||||
|     private CoreSkillsConfig coreSkillsConfig; | ||||
|     private SoundConfig soundConfig; | ||||
|     private RankConfig rankConfig; | ||||
|  | ||||
| @@ -177,6 +178,7 @@ public final class ConfigManager { | ||||
|         configAdmin = new SerializedConfigLoader<>(ConfigAdmin.class, "admin.conf", "Admin", null); | ||||
|         configMobs = new SerializedConfigLoader<>(ConfigMobs.class, "creatures.conf", "Creatures", 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); | ||||
|         initSerializedSkillConfigs(); | ||||
| @@ -326,8 +328,8 @@ public final class ConfigManager { | ||||
|         return advancedConfig; | ||||
|     } | ||||
|  | ||||
|     public CoreSkillsConfig getCoreSkillsConfig() { | ||||
|         return coreSkillsConfig; | ||||
|     public ConfigCoreSkills getConfigCoreSkills() { | ||||
|         return configCoreSkills.getConfig(); | ||||
|     } | ||||
|  | ||||
|     public SoundConfig getSoundConfig() { | ||||
|   | ||||
| @@ -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); | ||||
|     } | ||||
| } | ||||
| @@ -1,8 +0,0 @@ | ||||
| package com.gmail.nossr50.config; | ||||
|  | ||||
| /** | ||||
|  * Unloads values, sort of like a constructor | ||||
|  */ | ||||
| public interface Unload { | ||||
|     void unload(); | ||||
| } | ||||
| @@ -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(); | ||||
|     } | ||||
| } | ||||
| @@ -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; | ||||
|     } | ||||
| } | ||||
| @@ -1,6 +1,5 @@ | ||||
| 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.subskills.interfaces.Interaction; | ||||
| 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"); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 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 | ||||
|      * | ||||
|   | ||||
| @@ -72,13 +72,6 @@ public interface SubSkill extends Skill { | ||||
|      */ | ||||
|     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 | ||||
|      * | ||||
|   | ||||
| @@ -1,7 +1,6 @@ | ||||
| package com.gmail.nossr50; | ||||
|  | ||||
| import com.gmail.nossr50.config.ConfigManager; | ||||
| import com.gmail.nossr50.config.CoreSkillsConfig; | ||||
| import com.gmail.nossr50.config.MainConfig; | ||||
| import com.gmail.nossr50.config.hocon.database.ConfigSectionCleaning; | ||||
| 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.database.DatabaseManager; | ||||
| 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.listeners.*; | ||||
| import com.gmail.nossr50.party.PartyManager; | ||||
| @@ -508,15 +506,16 @@ public class mcMMO extends JavaPlugin { | ||||
|          * Acrobatics skills | ||||
|          */ | ||||
|  | ||||
|         if (CoreSkillsConfig.getInstance().isPrimarySkillEnabled(PrimarySkillType.ACROBATICS)) { | ||||
|         if (mcMMO.getConfigManager().getConfigCoreSkills().isAcrobaticsEnabled()) { | ||||
|             System.out.println("[mcMMO]" + " enabling Acrobatics Skills"); | ||||
|  | ||||
|             //TODO: Should do this differently | ||||
|             Roll roll = new Roll(); | ||||
|             CoreSkillsConfig.getInstance().isSkillEnabled(roll); | ||||
|             if(mcMMO.getConfigManager().getConfigCoreSkills().isRollEnabled()) | ||||
|             { | ||||
|                 InteractionManager.registerSubSkill(new Roll()); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     private void registerCustomRecipes() { | ||||
|         getServer().getScheduler().scheduleSyncDelayedTask(this, () -> { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 nossr50
					nossr50