Skip to content
This repository has been archived by the owner on Nov 24, 2022. It is now read-only.

Implement #7 teleport delay #13

Merged
merged 17 commits into from
Jun 20, 2017
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Add teleport cancel settings
  • Loading branch information
MasahiroSaito committed Jun 20, 2017
commit 4472a4cd8c0542e7096833d76c65d081ac426b39
6 changes: 6 additions & 0 deletions src/main/kotlin/com/masahirosaito/spigot/homes/Configs.kt
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ object Configs {

var teleportDelay: Int = 3

var onMoveCancel: Boolean = true

var onDamageCancel: Boolean = true

fun load() {

loadData(File(homes.dataFolder, "configs.json").load(), ConfigData::class.java).let {
Expand All @@ -42,6 +46,8 @@ object Configs {
homeLimit = it.homeLimit
onHomeDisplay = it.onHomeDisplay
teleportDelay = it.teleportDelay
onMoveCancel = it.onMoveCancel
onDamageCancel = it.onDamageCancel
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,14 @@ data class ConfigData(
var onHomeDisplay: Boolean = true,

@SerializedName("Teleport delay seconds")
var teleportDelay: Int = 3
var teleportDelay: Int = 3,

@SerializedName("Cancel teleport when moved")
var onMoveCancel: Boolean = true,

@SerializedName("Cancel teleport when damaged")
var onDamageCancel: Boolean = true

) {
init {
require(homeLimit >= -1)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.masahirosaito.spigot.homes.listeners

import com.masahirosaito.spigot.homes.Configs
import com.masahirosaito.spigot.homes.DelayTeleporter
import com.masahirosaito.spigot.homes.Homes
import org.bukkit.entity.Player
Expand All @@ -13,6 +14,8 @@ class EntityDamageListener(override val plugin: Homes) : HomesListener {
fun onEntityDamage(event: EntityDamageEvent) {
val entity = event.entity as? Player ?: return

if (!Configs.onDamageCancel) return

if (DelayTeleporter.isAlreadyRun(entity)) {
DelayTeleporter.cancelTeleport(entity)
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.masahirosaito.spigot.homes.listeners

import com.masahirosaito.spigot.homes.Configs
import com.masahirosaito.spigot.homes.DelayTeleporter
import com.masahirosaito.spigot.homes.Homes
import org.bukkit.event.EventHandler
Expand All @@ -9,6 +10,8 @@ class PlayerMoveListener(override val plugin: Homes) : HomesListener {

@EventHandler
fun onPlayerMove(event: PlayerMoveEvent) {
if (!Configs.onMoveCancel) return

if (DelayTeleporter.isAlreadyRun(event.player)) {
DelayTeleporter.cancelTeleport(event.player)
}
Expand Down