mirror of
https://github.com/5vl/DeathBan.git
synced 2025-05-23 22:07:04 +00:00
timed ban messages
This commit is contained in:
parent
68cd3d3c7d
commit
021317a065
@ -1,9 +1,13 @@
|
||||
package me.fivevl.deathban
|
||||
|
||||
import net.md_5.bungee.api.ChatColor
|
||||
import org.bukkit.BanList
|
||||
import org.bukkit.Bukkit
|
||||
import org.bukkit.event.EventHandler
|
||||
import org.bukkit.event.entity.PlayerDeathEvent
|
||||
import org.bukkit.event.player.PlayerPreLoginEvent
|
||||
import java.util.*
|
||||
import kotlin.math.roundToInt
|
||||
|
||||
class Listener(instance: Main) : org.bukkit.event.Listener {
|
||||
private var permission = ""
|
||||
@ -13,7 +17,7 @@ class Listener(instance: Main) : org.bukkit.event.Listener {
|
||||
init {
|
||||
this.permission = instance.config.getString("bypass-permission")!!
|
||||
this.time = instance.config.getInt("deathban-time")
|
||||
this.message = ChatColor.translateAlternateColorCodes('&', instance.config.getString("deathban-message")!!.replace("%time%", time.toString()))
|
||||
this.message = ChatColor.translateAlternateColorCodes('&', instance.config.getString("deathban-message")!!)
|
||||
}
|
||||
@EventHandler
|
||||
fun onDeath(e: PlayerDeathEvent) {
|
||||
@ -21,7 +25,17 @@ class Listener(instance: Main) : org.bukkit.event.Listener {
|
||||
if (p.hasPermission(permission)) return
|
||||
val date = Date()
|
||||
date.time += time * 1000 * 60
|
||||
p.banPlayer(message, date)
|
||||
p.banPlayer(message.replace("%time%", time.toString()), date)
|
||||
p.kickPlayer(message)
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
fun onJoin(e: PlayerPreLoginEvent) {
|
||||
if (e.result == PlayerPreLoginEvent.Result.KICK_BANNED) {
|
||||
val endDate = Bukkit.getBanList(BanList.Type.NAME).getBanEntry(e.name)!!.expiration?.time ?: return
|
||||
val date = Date().time
|
||||
val min = ((endDate - date) / 1000 / 60).toDouble().roundToInt()
|
||||
e.kickMessage = message.replace("%time%", min.toString())
|
||||
}
|
||||
}
|
||||
}
|
@ -1,3 +1,3 @@
|
||||
deathban-time: 90 #This is in minutes.
|
||||
deathban-message: "&cYou have been deathbanned for %time% minutes." #Message shown to the player when they are deathbanned. %time% is replaced with the time the player is deathbanned for.
|
||||
deathban-message: "&cYou have been deathbanned for %time% more minutes." #Message shown to the player when they are deathbanned. %time% is replaced with the time the player is deathbanned for.
|
||||
bypass-permission: "deathban.bypass" #Permission required to bypass deathban.
|
||||
|
Loading…
x
Reference in New Issue
Block a user