From c9d9926f3296132c5f32306d2fa931025390ddbc Mon Sep 17 00:00:00 2001 From: ASangarin Date: Fri, 6 Aug 2021 17:06:26 +0200 Subject: [PATCH] Added a config option to make default classes save their current data when switching to another class --- .../mmocore/api/player/profess/SavedClassInformation.java | 3 ++- src/main/java/net/Indyuce/mmocore/manager/ConfigManager.java | 3 ++- src/main/resources/config.yml | 4 ++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/Indyuce/mmocore/api/player/profess/SavedClassInformation.java b/src/main/java/net/Indyuce/mmocore/api/player/profess/SavedClassInformation.java index 473a9fef..9d503eb8 100644 --- a/src/main/java/net/Indyuce/mmocore/api/player/profess/SavedClassInformation.java +++ b/src/main/java/net/Indyuce/mmocore/api/player/profess/SavedClassInformation.java @@ -5,6 +5,7 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; +import net.Indyuce.mmocore.MMOCore; import org.bukkit.configuration.ConfigurationSection; import com.google.gson.JsonElement; @@ -143,7 +144,7 @@ public class SavedClassInformation { * saves current class info inside a SavedClassInformation, only if the * class is a real class and not the default one. */ - if (!player.getProfess().hasOption(ClassOption.DEFAULT)) + if (!player.getProfess().hasOption(ClassOption.DEFAULT) || MMOCore.plugin.configManager.saveDefaultClassInfo) player.applyClassInfo(player.getProfess(), new SavedClassInformation(player)); /* diff --git a/src/main/java/net/Indyuce/mmocore/manager/ConfigManager.java b/src/main/java/net/Indyuce/mmocore/manager/ConfigManager.java index e2b31e6a..d9be5103 100644 --- a/src/main/java/net/Indyuce/mmocore/manager/ConfigManager.java +++ b/src/main/java/net/Indyuce/mmocore/manager/ConfigManager.java @@ -24,7 +24,7 @@ import java.util.logging.Level; public class ConfigManager { public final CommandVerbose commandVerbose = new CommandVerbose(); - public boolean overrideVanillaExp, canCreativeCast, cobbleGeneratorXP; + public boolean overrideVanillaExp, canCreativeCast, cobbleGeneratorXP, saveDefaultClassInfo; public double expPartyBuff, regenPartyBuff; public String partyChatPrefix, noSkillBoundPlaceholder; public ChatColor staminaFull, staminaHalf, staminaEmpty; @@ -107,6 +107,7 @@ public class ConfigManager { sneakingSwapAction = EnumUtils.getIfPresent(SwapAction.class, MMOCore.plugin.getConfig().getString("swap-keybind.sneaking").toUpperCase()).orElse(SwapAction.VANILLA); canCreativeCast = MMOCore.plugin.getConfig().getBoolean("can-creative-cast"); cobbleGeneratorXP = MMOCore.plugin.getConfig().getBoolean("should-cobblestone-generators-give-exp"); + saveDefaultClassInfo = MMOCore.plugin.getConfig().getBoolean("save-default-class-info"); } private ChatColor getColorOrDefault(String key, ChatColor defaultColor) { diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index ed50a14d..02b54056 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -162,6 +162,10 @@ prevent-spawner-xp: true combat-log: timer: 10 +# Whether or not the default class should save information (level, +# skills, etc.) when selecting a new class +save-default-class-info: false + # Change this to the name of the color you want for # the different resource bar placeholders resource-bar-colors: