30 lines
No EOL
964 B
Kotlin
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()
|
|
}
|
|
}
|
|
} |