From 85adbf6838e7f0993509bf68d9692716d5658c4f Mon Sep 17 00:00:00 2001 From: _OfTeN_ Date: Wed, 6 Oct 2021 16:26:43 +0300 Subject: [PATCH] Added "add_aureliumskills_stat" effect for AureliumSkills integration --- eco-core/core-plugin/build.gradle | 1 + .../com/willfp/reforges/ReforgesPlugin.java | 4 ++- .../AureliumSkillsIntegration.kt | 17 +++++++++++ .../aureliumskills/EffectAddStat.kt | 30 +++++++++++++++++++ .../ecoskills/EcoSkillsIntegration.kt | 2 +- 5 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 eco-core/core-plugin/src/main/kotlin/com/willfp/reforges/integrations/aureliumskills/AureliumSkillsIntegration.kt create mode 100644 eco-core/core-plugin/src/main/kotlin/com/willfp/reforges/integrations/aureliumskills/EffectAddStat.kt diff --git a/eco-core/core-plugin/build.gradle b/eco-core/core-plugin/build.gradle index 4bd7b18..9f02807 100644 --- a/eco-core/core-plugin/build.gradle +++ b/eco-core/core-plugin/build.gradle @@ -6,6 +6,7 @@ dependencies { compileOnly 'com.github.MilkBowl:VaultAPI:1.7' compileOnly 'com.willfp:EcoSkills:1.4.0' compileOnly 'com.willfp:Talismans:4.6.0' + compileOnly 'com.github.Archy-X:AureliumSkills:Beta1.2.4' } build.dependsOn publishToMavenLocal diff --git a/eco-core/core-plugin/src/main/java/com/willfp/reforges/ReforgesPlugin.java b/eco-core/core-plugin/src/main/java/com/willfp/reforges/ReforgesPlugin.java index c3dfe56..3447c43 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/reforges/ReforgesPlugin.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/reforges/ReforgesPlugin.java @@ -12,6 +12,7 @@ import com.willfp.reforges.config.TargetYml; import com.willfp.reforges.display.ReforgesDisplay; import com.willfp.reforges.effects.Effect; import com.willfp.reforges.effects.Effects; +import com.willfp.reforges.integrations.aureliumskills.AureliumSkillsIntegration; import com.willfp.reforges.integrations.ecoskills.EcoSkillsIntegration; import com.willfp.reforges.integrations.talismans.TalismansIntegration; import com.willfp.reforges.reforges.Reforges; @@ -115,7 +116,8 @@ public class ReforgesPlugin extends EcoPlugin { protected List loadIntegrationLoaders() { return Arrays.asList( new IntegrationLoader("EcoSkills", EcoSkillsIntegration.INSTANCE::load), - new IntegrationLoader("Talismans", TalismansIntegration.INSTANCE::registerProvider) + new IntegrationLoader("Talismans", TalismansIntegration.INSTANCE::registerProvider), + new IntegrationLoader("AureliumSkills", AureliumSkillsIntegration.INSTANCE::load) ); } diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/reforges/integrations/aureliumskills/AureliumSkillsIntegration.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/reforges/integrations/aureliumskills/AureliumSkillsIntegration.kt new file mode 100644 index 0000000..7ed0342 --- /dev/null +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/reforges/integrations/aureliumskills/AureliumSkillsIntegration.kt @@ -0,0 +1,17 @@ +package com.willfp.reforges.integrations.aureliumskills + +import com.willfp.eco.core.integrations.Integration +import com.willfp.reforges.effects.Effect + +object AureliumSkillsIntegration : Integration { + + private lateinit var ADD_STAT: Effect + + fun load() { + ADD_STAT = EffectAddStat() + } + + override fun getPluginName(): String { + return "EcoSkills" + } +} \ No newline at end of file diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/reforges/integrations/aureliumskills/EffectAddStat.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/reforges/integrations/aureliumskills/EffectAddStat.kt new file mode 100644 index 0000000..66b6069 --- /dev/null +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/reforges/integrations/aureliumskills/EffectAddStat.kt @@ -0,0 +1,30 @@ +package com.willfp.reforges.integrations.aureliumskills + +import com.archyx.aureliumskills.api.AureliumAPI +import com.archyx.aureliumskills.stats.Stats +import com.willfp.eco.core.config.interfaces.JSONConfig +import com.willfp.reforges.effects.Effect +import com.willfp.reforges.effects.getEffectAmount +import org.bukkit.entity.Player + +class EffectAddStat : Effect("add_aureliumskills_stat") { + + override fun handleEnable( + player: Player, + config: JSONConfig + ) { + AureliumAPI.addStatModifier( + player, + this.getNamespacedKey(player.getEffectAmount(this)).key, + Stats.valueOf(config.getString("stat", false)), + config.getDouble("amount") + ) + } + + override fun handleDisable(player: Player) { + AureliumAPI.removeStatModifier( + player, + this.getNamespacedKey(player.getEffectAmount(this)).key, + ) + } +} \ No newline at end of file diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/reforges/integrations/ecoskills/EcoSkillsIntegration.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/reforges/integrations/ecoskills/EcoSkillsIntegration.kt index 062ec70..e2da6ad 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/reforges/integrations/ecoskills/EcoSkillsIntegration.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/reforges/integrations/ecoskills/EcoSkillsIntegration.kt @@ -4,7 +4,7 @@ import com.willfp.eco.core.integrations.Integration import com.willfp.reforges.effects.Effect object EcoSkillsIntegration : Integration { - lateinit var ADD_STAT: Effect + private lateinit var ADD_STAT: Effect fun load() { ADD_STAT = EffectAddStat()