From b0ac73540cb7f6b7a1275b9dc5997c2856e2e145 Mon Sep 17 00:00:00 2001 From: bluefireoly Date: Mon, 31 Aug 2020 18:14:54 +0200 Subject: [PATCH] Added spawnCleanEntity() extension --- .../extensions/bukkit/EntityExtensions.kt | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/main/kotlin/net/axay/kspigot/extensions/bukkit/EntityExtensions.kt b/src/main/kotlin/net/axay/kspigot/extensions/bukkit/EntityExtensions.kt index 12174c72..08a28922 100644 --- a/src/main/kotlin/net/axay/kspigot/extensions/bukkit/EntityExtensions.kt +++ b/src/main/kotlin/net/axay/kspigot/extensions/bukkit/EntityExtensions.kt @@ -1,12 +1,12 @@ package net.axay.kspigot.extensions.bukkit +import net.axay.kspigot.annotations.NMS_General import net.axay.kspigot.extensions.onlinePlayers +import org.bukkit.Location import org.bukkit.Material import org.bukkit.attribute.Attribute -import org.bukkit.entity.Damageable -import org.bukkit.entity.Entity -import org.bukkit.entity.LivingEntity -import org.bukkit.entity.Player +import org.bukkit.craftbukkit.v1_16_R2.CraftWorld +import org.bukkit.entity.* import org.bukkit.plugin.Plugin /** @@ -88,4 +88,16 @@ fun Player.appear(plugin: Plugin) { */ fun Player.kick(reason: String? = "You got kicked!") { kickPlayer(reason) +} + +/** + * Spawns an entity without any variations in color, type etc... + */ +@NMS_General +fun Location.spawnCleanEntity(entityType: EntityType): Entity? { + val craftWorld = world as? CraftWorld ?: return null + return craftWorld.createEntity(this, entityType.entityClass)?.let { + craftWorld.handle.addEntity(it) + return@let it.bukkitEntity + } } \ No newline at end of file