DTweaks/src/main/kotlin/nl/kallestruik/dtweaks/managers/FakePlayerManager.kt
2022-01-30 18:09:54 +01:00

30 lines
No EOL
964 B
Kotlin

package nl.kallestruik.dtweaks.managers
import nl.kallestruik.dtweaks.fakeplayer.FakePlayer
import org.bukkit.Bukkit
import org.bukkit.Location
import org.bukkit.craftbukkit.v1_16_R3.entity.CraftPlayer
class FakePlayerManager {
fun spawnFakePlayer(loc: Location, name: String) {
val player = Bukkit.getPlayer(name)
if (player != null && player.isOnline) return
FakePlayer.atLocation(loc, name)
}
fun killFakePlayer(name: String) {
val player = Bukkit.getPlayer(name)
if (player == null || !player.isOnline) return
val entityPlayer = (player as CraftPlayer).handle as? FakePlayer ?: return
entityPlayer.killEntity()
}
fun killAllFakePlayers() {
for (player in Bukkit.getOnlinePlayers()) {
if (!player.isOnline) continue
val entityPlayer = (player as CraftPlayer).handle as? FakePlayer ?: continue
entityPlayer.killEntity()
}
}
}