Skip to content

Commit

Permalink
feat(event): ✨ player/player_death
Browse files Browse the repository at this point in the history
  • Loading branch information
FYWinds committed May 6, 2023
1 parent 41fef5f commit 295459b
Show file tree
Hide file tree
Showing 5 changed files with 53 additions and 2 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@

- [x] player_join
- [x] player_quit
- [x] player_death
- [ ] player_advancement

#### Message
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package fyi.fyw.mc.pluginnonebot.events.broadcasters

import fyi.fyw.mc.pluginnonebot.events.EventBroadcaster
import fyi.fyw.mc.pluginnonebot.models.event.BaseEventFrame
import fyi.fyw.mc.pluginnonebot.models.event.EventPlayerDeath
import org.bukkit.event.EventHandler
import org.bukkit.event.EventPriority
import org.bukkit.event.entity.PlayerDeathEvent

class BroadcasterPlayerDeath : EventBroadcaster() {
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = false)
fun listen(event: PlayerDeathEvent) {
broadcast(
BaseEventFrame(
data = EventPlayerDeath.from(event),
type = "player",
detailType = "player_death",
),
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,13 @@ package fyi.fyw.mc.pluginnonebot.models

import org.bukkit.OfflinePlayer
import org.bukkit.entity.Player
import java.io.Serializable

open class NSimplePlayer(
val name: String,
val uuid: String,
val isOnline: Boolean,
val location: NEntityLocation?,
) : Serializable {
) {
companion object {
fun fromPlayer(player: Player): NSimplePlayer {
return NSimplePlayer(
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package fyi.fyw.mc.pluginnonebot.models.event

import com.google.gson.annotations.SerializedName
import fyi.fyw.mc.pluginnonebot.models.NSimplePlayer
import org.bukkit.event.entity.PlayerDeathEvent

class EventPlayerDeath(
val player: NSimplePlayer,
@SerializedName("death_message") val deathMessage: String,
@SerializedName("new_exp") val newExp: Int,
@SerializedName("new_level") val newLevel: Int,
@SerializedName("new_total_exp") val newTotalExp: Int,
@SerializedName("keep_level") val keepLevel: Boolean,
@SerializedName("keep_inventory") val keepInventory: Boolean,
) : BaseEvent {
companion object {
fun from(event: PlayerDeathEvent): EventPlayerDeath {
return EventPlayerDeath(
NSimplePlayer.fromPlayer(event.entity),
event.deathMessage ?: "",
event.newExp,
event.newLevel,
event.newTotalExp,
event.keepLevel,
event.keepInventory,
)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,6 @@ object EventBroadcasterRegistry : Registry<EventBroadcaster> {
this.register(BroadcasterServerChat())
this.register(BroadcasterPlayerCommand())
this.register(BroadcasterServerCommand())
this.register(BroadcasterPlayerDeath())
}
}

0 comments on commit 295459b

Please sign in to comment.