Add new Cosmetic Level Scaling setting to the leveling config

This commit is contained in:
nossr50 2020-01-27 19:11:00 -08:00
parent 769a26a911
commit 2e5a12a72b
4 changed files with 20 additions and 25 deletions

View File

@ -5,6 +5,8 @@ Version 2.2.0
!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!
mcMMO's config system has been rewritten
Retro and Standard mode have been removed, now levels are based around 1-1000 and are changed based on a new setting
Added Cosmetic Level Scaling setting to the leveling config, you can use this to for example, make the max level 100 instead of 1000
mcMMO build management is now handled by Gradle (KTS) instead of Maven
Nearly every config setting has been renamed and most have brand new comments
You can now add an unlimited number of custom XP perks with custom defined XP boosts

View File

@ -129,6 +129,10 @@ public class ConfigLeveling {
return configSectionLevelCaps;
}
public int getCosmeticLevelScaleModifier() {
return configSectionLevelingGeneral.getCosmeticLevelScaleModifier();
}
public ConfigSectionSkillLevelCap getPowerLevelSettings() {
return configSectionLevelCaps.getPowerLevelSettings();
}
@ -161,10 +165,6 @@ public class ConfigLeveling {
return configExperienceFormula.getFormulaType();
}
public boolean isRetroModeEnabled() {
return getConfigSectionLevelScaling().isRetroModeEnabled();
}
public ConfigExperienceFormulaLinear getConfigExperienceFormulaLinear() {
return configExperienceFormula.getConfigExperienceFormulaLinear();
}

View File

@ -7,22 +7,19 @@ import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
public class ConfigSectionLevelScaling {
/* DEFAULT VALUES */
public static final boolean USE_RETRO_MODE_DEFAULT = true;
public static final int LEVEL_SCALE_MODIFIER_DEFAULT = 1;
/*
* CONFIG NODES
*/
@Setting(value = "Use-Retro-Mode",
comment = "Enables 1-1000 Level Scaling" +
"\nIf set to false, Standard Scaling is used instead (1-100 Level Scaling)")
private boolean useRetroMode = USE_RETRO_MODE_DEFAULT;
@Setting(value = "Cosmetic-Level-Scaling",
comment = "Changes the max number of levels and adjusts settings appropriately" +
"\nThe default value will make level 1000 the max level, settings in the configs are based around that and are mutated based on this setting." +
"\nLeave this setting at a value of 1 if you do not wish to change the cosmetic amount of levels")
private int cosmeticLevelScaleModifier = LEVEL_SCALE_MODIFIER_DEFAULT;
/*
* GETTER BOILERPLATE
*/
public boolean isRetroModeEnabled() {
return useRetroMode;
public int getCosmeticLevelScaleModifier() {
return cosmeticLevelScaleModifier;
}
}

View File

@ -15,16 +15,8 @@ public class ConfigSectionLevelingGeneral {
@Setting(value = "Player-Level-Scaling",
comment = "Level Scaling is a new feature of mcMMO." +
"\nServer admins can choose between two level scaling modes." +
"\nEach mode is meant to be identical to each other in terms of the speed of progression." +
"\nIn Retro player skills and levels scale the way they always have, on a 1-1000 scale." +
"\nIn Standard player skills scale instead from 1-100." +
"\nAs an example, reaching level 10 in Standard will take the same amount of time as reaching level 100 in Retro" +
"\n\nTo make upgrading mcMMO easier for the vast majority of existing servers, RetroMode will be turned on by default in the following circumstances" +
"\n1) That your server has a config.yml file that does not yet have a RetroMode setting (this means your server has not yet updated from the old system which did not have two level scaling options)" +
"\n2) You are already using RetroMode in your old YAML config files" +
"\n\nIf either of these is true, RetroMode will be turned on by default. If for some reason you had wiped your config files, you will need to come in here and turn RetroMode back on." +
"\nNOTE: RetroMode and Standard use the EXACT same DB, it does not alter any information within that DB. It is not dangerous to switch between Standard and Retro.")
"\nServer admins can adjust level scaling modifiers to tweak a bunch of settings related to progression at once." +
"\nIt is not recommended to change this away from defaults unless you know what you are doing.")
private ConfigSectionLevelScaling configSectionLevelScaling = new ConfigSectionLevelScaling();
@Setting(value = "Player-Starting-Level",
@ -44,4 +36,8 @@ public class ConfigSectionLevelingGeneral {
public ConfigSectionLevelScaling getConfigSectionLevelScaling() {
return configSectionLevelScaling;
}
public int getCosmeticLevelScaleModifier() {
return configSectionLevelScaling.getCosmeticLevelScaleModifier();
}
}