From 7d227c874b274da7afcad4f945123b7a0a2b24b5 Mon Sep 17 00:00:00 2001 From: ASangarin Date: Mon, 19 Oct 2020 21:22:35 +0200 Subject: [PATCH] You can now specify for resources to ONLY regen outside of combat --- dependency-reduced-pom.xml | 9 ++++++++- .../profess/resource/ResourceHandler.java | 18 ++++++++++-------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/dependency-reduced-pom.xml b/dependency-reduced-pom.xml index f6fc43ce..453e41db 100644 --- a/dependency-reduced-pom.xml +++ b/dependency-reduced-pom.xml @@ -4,7 +4,7 @@ net.Indyuce MMOCore MMOCore - 1.4.9 + 1.4.10 Offer your players a brand new RPG experience. @@ -162,6 +162,13 @@ system ${basedir}/lib/PlaceholderAPI.jar + + me.vagdedes + spartan + Univsersal + system + ${basedir}/lib/SpartanAPI.jar + diff --git a/src/main/java/net/Indyuce/mmocore/api/player/profess/resource/ResourceHandler.java b/src/main/java/net/Indyuce/mmocore/api/player/profess/resource/ResourceHandler.java index 7f0a19bc..7a325ccc 100644 --- a/src/main/java/net/Indyuce/mmocore/api/player/profess/resource/ResourceHandler.java +++ b/src/main/java/net/Indyuce/mmocore/api/player/profess/resource/ResourceHandler.java @@ -38,11 +38,15 @@ public class ResourceHandler { this.resource = resource; offCombatOnly = config.getBoolean("off-combat"); - Validate.isTrue(config.contains("type"), "Could not find resource regen scaling type"); - type = HandlerType.valueOf(config.getString("type").toUpperCase()); + if(config.contains("type")) { + Validate.isTrue(config.contains("type"), "Could not find resource regen scaling type"); + type = HandlerType.valueOf(config.getString("type").toUpperCase()); + } else type = null; - Validate.notNull(config.getConfigurationSection("value"), "Could not find resource regen value config section"); - scalar = new LinearValue(config.getConfigurationSection("value")); + if(type != null) { + Validate.notNull(config.getConfigurationSection("value"), "Could not find resource regen value config section"); + scalar = new LinearValue(config.getConfigurationSection("value")); + } else scalar = null; } public ResourceHandler(PlayerResource resource, HandlerType type, LinearValue scalar, boolean offCombatOnly) { @@ -56,22 +60,20 @@ public class ResourceHandler { * REGENERATION FORMULAS HERE. */ public double getRegen(PlayerData player) { - double d = 0; // base resource regeneration = value of the corresponding regen stat if (!player.isInCombat() || !player.getProfess().hasOption(resource.getOffCombatRegen())) d += player.getStats().getStat(resource.getRegenStat()); - + // extra resource regeneration based on CLASS, scales on LEVEL if (type != null && (!player.isInCombat() || !offCombatOnly)) d = this.scalar.calculate(player.getLevel()) / 100 * type.getScaling(player, resource); - + return d; } public enum HandlerType { - /* * resource regeneration scales on max resource */