@@ -40,10 +40,7 @@ class EcoPetsPlugin : LibReforgePlugin() {
|
|||||||
|
|
||||||
override fun handleReloadAdditional() {
|
override fun handleReloadAdditional() {
|
||||||
this.scheduler.runTimer(1, 1) {
|
this.scheduler.runTimer(1, 1) {
|
||||||
petDisplay.tickSync()
|
petDisplay.tickAll()
|
||||||
}
|
|
||||||
this.scheduler.runAsyncTimer(1, 1) {
|
|
||||||
petDisplay.tickAsync()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,30 +15,25 @@ import org.bukkit.inventory.EquipmentSlot
|
|||||||
import java.util.*
|
import java.util.*
|
||||||
import kotlin.math.PI
|
import kotlin.math.PI
|
||||||
import kotlin.math.abs
|
import kotlin.math.abs
|
||||||
|
import kotlin.math.sin
|
||||||
|
|
||||||
internal class PetDisplay(
|
class PetDisplay(
|
||||||
private val plugin: EcoPlugin
|
private val plugin: EcoPlugin
|
||||||
) : Listener {
|
) : Listener {
|
||||||
private var tick = 0
|
private var tick = 0
|
||||||
|
|
||||||
private val trackedEntities = Collections.synchronizedMap(mutableMapOf<UUID, ArmorStand>())
|
private val trackedEntities = mutableMapOf<UUID, ArmorStand>()
|
||||||
|
|
||||||
fun tickSync() {
|
fun tickAll() {
|
||||||
for (player in Bukkit.getOnlinePlayers()) {
|
for (player in Bukkit.getOnlinePlayers()) {
|
||||||
getOrNew(player)
|
tickPlayer(player)
|
||||||
}
|
}
|
||||||
|
|
||||||
tick++
|
tick++
|
||||||
}
|
}
|
||||||
|
|
||||||
fun tickAsync() {
|
|
||||||
for (player in Bukkit.getOnlinePlayers()) {
|
|
||||||
tickPlayer(player)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun tickPlayer(player: Player) {
|
private fun tickPlayer(player: Player) {
|
||||||
val stand = trackedEntities[player.uniqueId] ?: return
|
val stand = getOrNew(player) ?: return
|
||||||
val pet = player.activePet
|
val pet = player.activePet
|
||||||
|
|
||||||
if (pet != null) {
|
if (pet != null) {
|
||||||
|
|||||||
Reference in New Issue
Block a user