9
0
mirror of https://github.com/Auxilor/EcoSkills.git synced 2026-01-02 13:56:38 +00:00

Fixed magic

This commit is contained in:
Auxilor
2023-05-15 16:21:45 +01:00
parent 57c4da5fb4
commit e7775806a5
10 changed files with 38 additions and 12 deletions

View File

@@ -21,8 +21,9 @@ import com.willfp.ecoskills.libreforge.FilterSkill
import com.willfp.ecoskills.libreforge.FilterSkillCrit
import com.willfp.ecoskills.libreforge.TriggerGainSkillXp
import com.willfp.ecoskills.libreforge.TriggerLevelUpSkill
import com.willfp.ecoskills.mana.MagicHandler
import com.willfp.ecoskills.mana.MagicTypes
import com.willfp.ecoskills.magic.MagicHandler
import com.willfp.ecoskills.magic.MagicListener
import com.willfp.ecoskills.magic.MagicTypes
import com.willfp.ecoskills.skills.EcoSkillsSkillTopPlaceholder
import com.willfp.ecoskills.skills.EcoSkillsTopPlaceholder
import com.willfp.ecoskills.skills.SkillCritListener
@@ -104,6 +105,7 @@ class EcoSkillsPlugin : LibreforgePlugin() {
LevelUpDisplay(this),
GainXPDisplay(this),
DamageIndicatorListener(this),
MagicListener(this),
ActionBarGamemodeListener,
SkillCritListener
)

View File

@@ -6,8 +6,8 @@ import com.willfp.ecoskills.api.modifiers.StatModifier
import com.willfp.ecoskills.effects.Effect
import com.willfp.ecoskills.effects.Effects
import com.willfp.ecoskills.effects.effects
import com.willfp.ecoskills.mana.MagicType
import com.willfp.ecoskills.mana.magic
import com.willfp.ecoskills.magic.MagicType
import com.willfp.ecoskills.magic.magic
import com.willfp.ecoskills.skills.Skill
import com.willfp.ecoskills.skills.Skills
import com.willfp.ecoskills.skills.skills

View File

@@ -1,7 +1,7 @@
package com.willfp.ecoskills.libreforge
import com.willfp.ecoskills.mana.MagicType
import com.willfp.ecoskills.mana.magic
import com.willfp.ecoskills.magic.MagicType
import com.willfp.ecoskills.magic.magic
import com.willfp.libreforge.ConfigurableElement
import com.willfp.libreforge.NoCompileData
import com.willfp.libreforge.effects.arguments.EffectArgument

View File

@@ -1,8 +1,11 @@
package com.willfp.ecoskills.mana
package com.willfp.ecoskills.magic
import com.willfp.eco.core.EcoPlugin
import org.bukkit.Bukkit
import org.bukkit.entity.Player
import org.bukkit.event.EventHandler
import org.bukkit.event.Listener
import org.bukkit.event.player.PlayerJoinEvent
class MagicHandler(private val plugin: EcoPlugin) {
internal fun startTicking() {
@@ -17,5 +20,20 @@ class MagicHandler(private val plugin: EcoPlugin) {
}
}
class MagicListener(
private val plugin: EcoPlugin
) : Listener {
@EventHandler
fun onJoin(event: PlayerJoinEvent) {
plugin.scheduler.runLater(2) {
for (type in MagicTypes.values()) {
if (type.joinOnFull) {
event.player.magic[type] = type.getLimit(event.player)
}
}
}
}
}
internal val Player.magic: MagicMap
get() = MagicMap(this)

View File

@@ -1,4 +1,4 @@
package com.willfp.ecoskills.mana
package com.willfp.ecoskills.magic
import com.willfp.eco.core.map.nestedMap
import org.bukkit.entity.Player

View File

@@ -1,4 +1,4 @@
package com.willfp.ecoskills.mana
package com.willfp.ecoskills.magic
import com.willfp.eco.core.config.interfaces.Config
import com.willfp.eco.core.placeholder.PlayerPlaceholder
@@ -23,6 +23,8 @@ class MagicType(
private val limitExpr = config.getString("limit")
val joinOnFull = config.getBool("join-on-full")
init {
PlayerlessPlaceholder(plugin, "${id}_name") {
config.getFormattedString("name")

View File

@@ -1,4 +1,4 @@
package com.willfp.ecoskills.mana
package com.willfp.ecoskills.magic
import com.willfp.eco.core.config.interfaces.Config
import com.willfp.ecoskills.CategoryWithRegistry

View File

@@ -1,4 +1,4 @@
package com.willfp.ecoskills.mana
package com.willfp.ecoskills.magic
import com.willfp.eco.core.placeholder.context.PlaceholderContext
import com.willfp.eco.core.placeholder.context.PlaceholderContextSupplier

View File

@@ -12,3 +12,6 @@ regen-rate: "0.02 * %ecoskills_mana_limit%"
# The maximum amount of this type a player can have
limit: "100 + %ecoskills_wisdom%"
# If players should join with full magic (true) or empty magic (false)
join-on-full: true

View File

@@ -1,5 +1,6 @@
name: "&#40ffe6🌊 Mana"
regen-rate: "0.02 * %ecoskills_mana_limit%"
limit: "100 + %ecoskills_wisdom%"
join-on-full: true