diff --git a/src/main/kotlin/kim/hhhhhy/regions/data/AreaSettings.kt b/src/main/kotlin/kim/hhhhhy/regions/data/AreaSettings.kt index ddbfce0..fd124cd 100644 --- a/src/main/kotlin/kim/hhhhhy/regions/data/AreaSettings.kt +++ b/src/main/kotlin/kim/hhhhhy/regions/data/AreaSettings.kt @@ -8,7 +8,6 @@ import kim.hhhhhy.regions.utils.evalKether import org.bukkit.Location import org.bukkit.entity.Player import taboolib.common.platform.function.console -import taboolib.common.platform.function.info import taboolib.common5.mirrorNow import taboolib.module.configuration.Config import taboolib.module.configuration.Configuration diff --git a/src/main/kotlin/kim/hhhhhy/regions/data/ConfigSettings.kt b/src/main/kotlin/kim/hhhhhy/regions/data/ConfigSettings.kt index 0a8f96d..2a1eb81 100644 --- a/src/main/kotlin/kim/hhhhhy/regions/data/ConfigSettings.kt +++ b/src/main/kotlin/kim/hhhhhy/regions/data/ConfigSettings.kt @@ -6,6 +6,7 @@ import org.bukkit.Bukkit import taboolib.common.LifeCycle import taboolib.common.platform.Awake import taboolib.common.platform.function.* +import taboolib.common.platform.service.PlatformExecutor import taboolib.common5.Baffle import taboolib.module.configuration.Config import taboolib.module.configuration.Configuration @@ -28,11 +29,13 @@ object ConfigSettings { cooldown = config.getLong("CommandBaffle.time", 3000) actionTick = config.getLong("AreaSettings.TickAction", 20) console().sendInfo("plugin-config-reload") + runTickAction().cancel() + runTickAction() } @Awake(LifeCycle.ACTIVE) - fun runTickAction() { - submit(now = false, period = actionTick) { + fun runTickAction(): PlatformExecutor.PlatformTask { + return submit(now = false, period = actionTick) { AreaListener.playerSet.forEach { (player, id) -> Bukkit.getPlayerExact(player)?.let { p -> AreaSettings.runActions(p, id, AreaType.TICK) diff --git a/src/main/kotlin/kim/hhhhhy/regions/listeners/AreaListener.kt b/src/main/kotlin/kim/hhhhhy/regions/listeners/AreaListener.kt index c5ca3f7..9f7e18c 100644 --- a/src/main/kotlin/kim/hhhhhy/regions/listeners/AreaListener.kt +++ b/src/main/kotlin/kim/hhhhhy/regions/listeners/AreaListener.kt @@ -10,21 +10,11 @@ import taboolib.common.platform.function.info object AreaListener { val playerSet = mutableSetOf>() - /*** - * 玩家进入区域前 - * playerSet 没有该玩家 to 区域id - * areas 不为空 - * 玩家进入区域后 - * playerSet 添加该玩家 to 区域id - * 执行区域id Kether enter - * 玩家退出区域 - * playerSet 有该玩家 to 区域id - * areas不包括该玩家的区域id - * 执行区域id Kether leave - */ @SubscribeEvent fun onPlayerMove(e: PlayerMoveEvent) { + val from = e.from val to = e.to ?: return + if (from.x == to.x && from.y == to.y && from.z == to.z) return val player = e.player val areas = AreaSettings.getAreas(to)