mirror of
				https://github.com/mcMMO-Dev/mcMMO.git
				synced 2025-11-03 10:33:43 +01:00 
			
		
		
		
	Add per-skill global multiplier default values
This commit is contained in:
		@@ -307,12 +307,10 @@ public final class ConfigManager {
 | 
			
		||||
        customSerializers = TypeSerializers.getDefaultSerializers().newChild();
 | 
			
		||||
 | 
			
		||||
        mcMMO.p.getLogger().info("Registering custom type serializers for Configurate...");
 | 
			
		||||
        customSerializers.registerType(new TypeToken<Material>() {
 | 
			
		||||
        }, new CustomEnumValueSerializer());
 | 
			
		||||
        customSerializers.registerType(new TypeToken<PartyFeature>() {
 | 
			
		||||
        }, new CustomEnumValueSerializer());
 | 
			
		||||
        customSerializers.registerType(new TypeToken<FormulaType>() {
 | 
			
		||||
        }, new CustomEnumValueSerializer());
 | 
			
		||||
        customSerializers.registerType(new TypeToken<PrimarySkillType>() {}, new CustomEnumValueSerializer());
 | 
			
		||||
        customSerializers.registerType(new TypeToken<Material>() {}, new CustomEnumValueSerializer());
 | 
			
		||||
        customSerializers.registerType(new TypeToken<PartyFeature>() {}, new CustomEnumValueSerializer());
 | 
			
		||||
        customSerializers.registerType(new TypeToken<FormulaType>() {}, new CustomEnumValueSerializer());
 | 
			
		||||
        customSerializers.registerType(TypeToken.of(Repairable.class), new RepairableSerializer());
 | 
			
		||||
        customSerializers.registerType(TypeToken.of(Salvageable.class), new SalvageableSerializer());
 | 
			
		||||
        customSerializers.registerType(TypeToken.of(MinecraftMaterialWrapper.class), new MinecraftMaterialWrapperSerializer());
 | 
			
		||||
 
 | 
			
		||||
@@ -15,6 +15,9 @@ public class ConfigExperience {
 | 
			
		||||
            "\nDefault value: " + GLOBAL_XP_MULT_DEFAULT)
 | 
			
		||||
    private double globalXPMultiplier = GLOBAL_XP_MULT_DEFAULT;
 | 
			
		||||
 | 
			
		||||
    @Setting(value = "Global-Skill-XP-Multipliers", comment = "This multiplier is applied at the very end of an XP calculation specific to its corresponding skill, this value is applied before the global multiplier is applied.")
 | 
			
		||||
    private ConfigExperienceSkillMultiplier configExperienceSkillMultiplier = new ConfigExperienceSkillMultiplier();
 | 
			
		||||
 | 
			
		||||
    @Setting(value = "Skill-XP-Settings", comment = "XP values and multipliers for each skill")
 | 
			
		||||
    private ConfigExperienceSkills configExperienceSkills = new ConfigExperienceSkills();
 | 
			
		||||
 | 
			
		||||
@@ -22,6 +25,10 @@ public class ConfigExperience {
 | 
			
		||||
     * BOILER PLATE GETTERS
 | 
			
		||||
     */
 | 
			
		||||
 | 
			
		||||
    public ConfigExperienceSkillMultiplier getConfigExperienceSkillMultiplier() {
 | 
			
		||||
        return configExperienceSkillMultiplier;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public ConfigExperienceAcrobatics getExperienceAcrobatics() {
 | 
			
		||||
        return getConfigExperienceSkills().getExperienceAcrobatics();
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,31 @@
 | 
			
		||||
package com.gmail.nossr50.config.hocon.experience;
 | 
			
		||||
 | 
			
		||||
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
 | 
			
		||||
import ninja.leaping.configurate.objectmapping.Setting;
 | 
			
		||||
import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
 | 
			
		||||
 | 
			
		||||
import java.util.HashMap;
 | 
			
		||||
 | 
			
		||||
@ConfigSerializable
 | 
			
		||||
public class ConfigExperienceSkillMultiplier {
 | 
			
		||||
 | 
			
		||||
    private static final HashMap<PrimarySkillType, Double> SKILL_GLOBAL_MULT_DEFAULT;
 | 
			
		||||
 | 
			
		||||
    static {
 | 
			
		||||
        SKILL_GLOBAL_MULT_DEFAULT = new HashMap<>();
 | 
			
		||||
        for(PrimarySkillType primarySkillType : PrimarySkillType.values())
 | 
			
		||||
        {
 | 
			
		||||
            if(primarySkillType.isChildSkill())
 | 
			
		||||
                continue;
 | 
			
		||||
 | 
			
		||||
            SKILL_GLOBAL_MULT_DEFAULT.put(primarySkillType,1.0D);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Setting(value = "Skill-XP-Multipliers")
 | 
			
		||||
    private HashMap<PrimarySkillType, Double> perSkillGlobalMultiplier = SKILL_GLOBAL_MULT_DEFAULT;
 | 
			
		||||
 | 
			
		||||
    public double getSkillGlobalMultiplier(PrimarySkillType primarySkillType) {
 | 
			
		||||
        return perSkillGlobalMultiplier.get(primarySkillType);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user