✨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.cmd.MainCommand
|
||||||
import me.faiz.combat_f.data.MainData
|
import me.faiz.combat_f.data.MainData
|
||||||
import me.faiz.combat_f.listener.MainListener
|
import me.faiz.combat_f.listener.MainListener
|
||||||
|
import org.bukkit.Bukkit
|
||||||
import org.bukkit.plugin.java.JavaPlugin
|
import org.bukkit.plugin.java.JavaPlugin
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import kotlin.collections.ArrayList
|
import kotlin.collections.ArrayList
|
||||||
@ -10,6 +11,7 @@ import kotlin.collections.HashMap
|
|||||||
|
|
||||||
class Main : JavaPlugin() {
|
class Main : JavaPlugin() {
|
||||||
|
|
||||||
|
// Player UUID, A Pair of Attacker UUID and Current time
|
||||||
var clist:HashMap<UUID,Pair<UUID,Long>> = HashMap()
|
var clist:HashMap<UUID,Pair<UUID,Long>> = HashMap()
|
||||||
|
|
||||||
init {
|
init {
|
||||||
@ -20,6 +22,14 @@ class Main : JavaPlugin() {
|
|||||||
|
|
||||||
private val maindata by lazy { MainData(this) }
|
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() {
|
override fun onDisable() {
|
||||||
maindata.save()
|
maindata.save()
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@ package me.faiz.combat_f.listener
|
|||||||
import io.papermc.paper.event.player.AsyncChatEvent
|
import io.papermc.paper.event.player.AsyncChatEvent
|
||||||
import me.faiz.combat_f.Main
|
import me.faiz.combat_f.Main
|
||||||
import me.faiz.combat_f.data.MainData
|
import me.faiz.combat_f.data.MainData
|
||||||
|
import net.kyori.adventure.text.Component
|
||||||
import org.bukkit.Bukkit
|
import org.bukkit.Bukkit
|
||||||
import org.bukkit.entity.EntityType
|
import org.bukkit.entity.EntityType
|
||||||
import org.bukkit.event.EventHandler
|
import org.bukkit.event.EventHandler
|
||||||
@ -29,11 +30,34 @@ class MainListener(private val main: Main, private val data: MainData) : Listene
|
|||||||
val entityD = main.clist[e.entity.uniqueId]
|
val entityD = main.clist[e.entity.uniqueId]
|
||||||
val damagerD = main.clist[e.damager.uniqueId]
|
val damagerD = main.clist[e.damager.uniqueId]
|
||||||
if(main.clist.contains(e.entity.uniqueId)){
|
if(main.clist.contains(e.entity.uniqueId)){
|
||||||
if(data.getHitOtherWorld(e.entity.world.uid.toString())){
|
if (data.getHitOtherWorld(e.entity.world.uid.toString())){
|
||||||
main.clist[e.entity.uniqueId] = Pair(e.damager.uniqueId,System.currentTimeMillis())
|
main.clist[e.entity.uniqueId] = Pair(e.damager.uniqueId,System.currentTimeMillis())
|
||||||
main.clist[e.damager.uniqueId] = Pair(e.entity.uniqueId,System.currentTimeMillis())
|
main.clist[e.damager.uniqueId] = Pair(e.entity.uniqueId,System.currentTimeMillis())
|
||||||
}else if (entityD != damagerD){
|
return
|
||||||
//TODO: IMPLEMENTS
|
}
|
||||||
|
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