mirror of
https://github.com/Auxilor/EcoSkills.git
synced 2026-01-02 05:46:57 +00:00
Fixed more uuid bugs
This commit is contained in:
@@ -5,11 +5,13 @@ import com.willfp.ecoskills.effects.Effect
|
||||
import com.willfp.ecoskills.getSkillLevel
|
||||
import com.willfp.ecoskills.setEffectLevel
|
||||
import com.willfp.ecoskills.skills.Skills
|
||||
import com.willfp.ecoskills.stats.Stats
|
||||
import org.bukkit.attribute.Attribute
|
||||
import org.bukkit.event.EventHandler
|
||||
import org.bukkit.event.Listener
|
||||
import org.bukkit.event.player.PlayerJoinEvent
|
||||
|
||||
class DataListener: Listener {
|
||||
class DataListener : Listener {
|
||||
@EventHandler
|
||||
fun onJoin(event: PlayerJoinEvent) {
|
||||
event.player.convertPersistentToYml()
|
||||
@@ -20,8 +22,26 @@ class DataListener: Listener {
|
||||
if (obj !is Effect) {
|
||||
continue
|
||||
}
|
||||
event.player.setEffectLevel(obj, skill.getCumulativeLevelUpReward(obj, event.player.getSkillLevel(skill)))
|
||||
event.player.setEffectLevel(
|
||||
obj,
|
||||
skill.getCumulativeLevelUpReward(obj, event.player.getSkillLevel(skill))
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
for (attribute in Attribute.values()) {
|
||||
val player = event.player
|
||||
|
||||
val inst = player.getAttribute(attribute) ?: continue
|
||||
for (modifier in inst.modifiers.toMutableList()) {
|
||||
if (modifier.amount == 0.0) {
|
||||
inst.removeModifier(modifier)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (stat in Stats.values()) {
|
||||
stat.updateStatLevel(event.player)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9,6 +9,7 @@ import com.willfp.ecoskills.SkillObject
|
||||
import com.willfp.ecoskills.getEffectLevel
|
||||
import org.bukkit.NamespacedKey
|
||||
import org.bukkit.event.Listener
|
||||
import java.util.*
|
||||
|
||||
abstract class Effect(
|
||||
id: String
|
||||
@@ -17,9 +18,11 @@ abstract class Effect(
|
||||
|
||||
val key: NamespacedKey
|
||||
val config: Config
|
||||
val uuid: UUID
|
||||
|
||||
init {
|
||||
update()
|
||||
uuid = UUID.nameUUIDFromBytes(id.toByteArray())
|
||||
key = plugin.namespacedKeyFactory.create(id)
|
||||
config = plugin.effectsYml.getSubsection(id)
|
||||
|
||||
|
||||
@@ -9,7 +9,6 @@ import org.bukkit.entity.Player
|
||||
import org.bukkit.event.EventHandler
|
||||
import org.bukkit.event.EventPriority
|
||||
import org.bukkit.event.entity.EntityDamageEvent
|
||||
import java.util.*
|
||||
|
||||
class EffectAcceleratedEscape: Effect(
|
||||
"accelerated_escape"
|
||||
@@ -29,14 +28,15 @@ class EffectAcceleratedEscape: Effect(
|
||||
val level = player.getEffectLevel(this)
|
||||
|
||||
val modifier = AttributeModifier(
|
||||
UUID.randomUUID(),
|
||||
NumberUtils.randFloat(0.0, 1.0).toString(),
|
||||
(config.getDouble("percent-faster-per-level") * level) / 100,
|
||||
this.uuid,
|
||||
this.id,
|
||||
(config.getDouble("percent-faster-per-level") * level) / 100.0,
|
||||
AttributeModifier.Operation.MULTIPLY_SCALAR_1
|
||||
)
|
||||
|
||||
val inst = player.getAttribute(Attribute.GENERIC_MOVEMENT_SPEED)!!
|
||||
|
||||
inst.removeModifier(modifier)
|
||||
inst.addModifier(modifier)
|
||||
|
||||
plugin.scheduler.runLater({
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.willfp.ecoskills.stats.stats
|
||||
|
||||
import com.willfp.ecoskills.getStatLevel
|
||||
import com.willfp.ecoskills.stats.Stat
|
||||
import org.bukkit.Bukkit
|
||||
import org.bukkit.attribute.Attribute
|
||||
import org.bukkit.attribute.AttributeModifier
|
||||
import org.bukkit.entity.Player
|
||||
@@ -16,8 +17,11 @@ class StatSpeed : Stat(
|
||||
(this.config.getDouble("percent-faster-per-level") * player.getStatLevel(this)) / 100.0,
|
||||
AttributeModifier.Operation.MULTIPLY_SCALAR_1
|
||||
)
|
||||
val instance = player.getAttribute(Attribute.GENERIC_MOVEMENT_SPEED) ?: return
|
||||
instance.removeModifier(modifier)
|
||||
Bukkit.getLogger().info(instance.modifiers.toString())
|
||||
|
||||
plugin.scheduler.run {
|
||||
val instance = player.getAttribute(Attribute.GENERIC_MOVEMENT_SPEED) ?: return@run
|
||||
instance.removeModifier(modifier)
|
||||
instance.addModifier(modifier)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user