9
0
mirror of https://github.com/Auxilor/EcoSkills.git synced 2026-01-06 15:51:52 +00:00

Fixed bug with Skill EXP

This commit is contained in:
TomTom
2022-07-21 16:18:07 +02:00
committed by GitHub
parent 91126da870
commit a29a6e0684

View File

@@ -1,34 +1,36 @@
package com.willfp.ecoskills.skills.skills
import com.willfp.eco.core.events.EntityDeathByEntityEvent
import com.willfp.ecoskills.giveSkillExperience
import com.willfp.ecoskills.skills.Skill
import com.willfp.ecoskills.tryAsPlayer
import org.bukkit.attribute.Attribute
import org.bukkit.event.EventHandler
import org.bukkit.event.EventPriority
import org.bukkit.event.entity.CreatureSpawnEvent
import org.bukkit.metadata.FixedMetadataValue
class SkillCombat : Skill(
"combat"
) {
@EventHandler(priority = EventPriority.MONITOR)
fun handleLevelling(event: EntityDeathByEntityEvent) {
val player = event.killer.tryAsPlayer().filterSkillEnabled() ?: return
if (this.config.getBool("prevent-levelling-from-spawners") && event.victim.hasMetadata("from-spawner")) {
return
}
val xp = event.victim.getAttribute(Attribute.GENERIC_MAX_HEALTH)!!.value * this.config.getDouble("xp-per-heart")
player.giveSkillExperience(this, xp)
}
@EventHandler
fun onSpawn(event: CreatureSpawnEvent) {
if (event.spawnReason == CreatureSpawnEvent.SpawnReason.SPAWNER) {
event.entity.setMetadata("from-spawner", FixedMetadataValue(this.plugin, true))
}
}
package com.willfp.ecoskills.skills.skills
import com.willfp.eco.core.events.EntityDeathByEntityEvent
import com.willfp.ecoskills.giveSkillExperience
import com.willfp.ecoskills.skills.Skill
import com.willfp.ecoskills.tryAsPlayer
import org.bukkit.attribute.Attribute
import org.bukkit.entity.Slime
import org.bukkit.event.EventHandler
import org.bukkit.event.EventPriority
import org.bukkit.event.entity.CreatureSpawnEvent
import org.bukkit.event.entity.SlimeSplitEvent
import org.bukkit.metadata.FixedMetadataValue
class SkillCombat : Skill(
"combat"
) {
@EventHandler(priority = EventPriority.MONITOR)
fun handleLevelling(event: EntityDeathByEntityEvent) {
val player = event.killer.tryAsPlayer().filterSkillEnabled() ?: return
if (this.config.getBool("prevent-levelling-from-spawners") && event.victim.hasMetadata("from-spawner")) {
return
}
val xp = event.victim.getAttribute(Attribute.GENERIC_MAX_HEALTH)!!.value * this.config.getDouble("xp-per-heart")
player.giveSkillExperience(this, xp)
}
@EventHandler
fun onSpawn(event: CreatureSpawnEvent) {
if (event.spawnReason == CreatureSpawnEvent.SpawnReason.SPAWNER || event.spawnReason == CreatureSpawnEvent.SpawnReason.SLIME_SPLIT) {
event.entity.setMetadata("from-spawner", FixedMetadataValue(this.plugin, true))
}
}
}