✨Commit for Offline
This commit is contained in:
parent
a9788a7ec8
commit
8612e6a9e3
@ -3,6 +3,7 @@ package me.faiz.combat_f
|
||||
import me.faiz.combat_f.cmd.MainCommand
|
||||
import me.faiz.combat_f.data.MainData
|
||||
import me.faiz.combat_f.listener.MainListener
|
||||
import org.bukkit.Bukkit
|
||||
import org.bukkit.plugin.java.JavaPlugin
|
||||
import java.util.*
|
||||
import kotlin.collections.ArrayList
|
||||
@ -10,6 +11,7 @@ import kotlin.collections.HashMap
|
||||
|
||||
class Main : JavaPlugin() {
|
||||
|
||||
// Player UUID, A Pair of Attacker UUID and Current time
|
||||
var clist:HashMap<UUID,Pair<UUID,Long>> = HashMap()
|
||||
|
||||
init {
|
||||
@ -20,6 +22,14 @@ class Main : JavaPlugin() {
|
||||
|
||||
private val maindata by lazy { MainData(this) }
|
||||
|
||||
private val scheduler = this.server.scheduler.runTaskTimerAsynchronously(this,Runnable{
|
||||
clist.forEach {
|
||||
val wuid = Bukkit.getPlayer(it.key)!!.world.uid
|
||||
if(it.value.second/1000 + maindata.getTimeWorld(wuid.toString()) <= System.currentTimeMillis()/1000){
|
||||
clist.remove(it.key)
|
||||
}
|
||||
}
|
||||
},1L,1L)
|
||||
override fun onDisable() {
|
||||
maindata.save()
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package me.faiz.combat_f.listener
|
||||
import io.papermc.paper.event.player.AsyncChatEvent
|
||||
import me.faiz.combat_f.Main
|
||||
import me.faiz.combat_f.data.MainData
|
||||
import net.kyori.adventure.text.Component
|
||||
import org.bukkit.Bukkit
|
||||
import org.bukkit.entity.EntityType
|
||||
import org.bukkit.event.EventHandler
|
||||
@ -32,8 +33,31 @@ class MainListener(private val main: Main, private val data: MainData) : Listene
|
||||
if (data.getHitOtherWorld(e.entity.world.uid.toString())){
|
||||
main.clist[e.entity.uniqueId] = Pair(e.damager.uniqueId,System.currentTimeMillis())
|
||||
main.clist[e.damager.uniqueId] = Pair(e.entity.uniqueId,System.currentTimeMillis())
|
||||
}else if (entityD != damagerD){
|
||||
//TODO: IMPLEMENTS
|
||||
return
|
||||
}
|
||||
if (entityD!!.first == e.damager.uniqueId){
|
||||
main.clist[e.entity.uniqueId] = Pair(e.damager.uniqueId,System.currentTimeMillis())
|
||||
main.clist[e.damager.uniqueId] = Pair(e.entity.uniqueId,System.currentTimeMillis())
|
||||
return
|
||||
}else{
|
||||
e.isCancelled = true
|
||||
e.damager.sendMessage(Component.text("해당 플레이어는 전투중입니다."))
|
||||
return
|
||||
}
|
||||
}else if(main.clist.contains(e.damager.uniqueId)){
|
||||
if (data.getHitOtherWorld(e.entity.world.uid.toString())){
|
||||
main.clist[e.entity.uniqueId] = Pair(e.damager.uniqueId,System.currentTimeMillis())
|
||||
main.clist[e.damager.uniqueId] = Pair(e.entity.uniqueId,System.currentTimeMillis())
|
||||
return
|
||||
}
|
||||
if(damagerD!!.first == e.entity.uniqueId){
|
||||
main.clist[e.entity.uniqueId] = Pair(e.damager.uniqueId,System.currentTimeMillis())
|
||||
main.clist[e.damager.uniqueId] = Pair(e.entity.uniqueId,System.currentTimeMillis())
|
||||
return
|
||||
}else{
|
||||
e.isCancelled = true
|
||||
e.damager.sendMessage(Component.text("이미 ${Bukkit.getPlayer(damagerD.first)!!.name}과 전투중입니다!"))
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user