Gjallarhorn: Use Player Position Changelog in Player Position Export

This commit is contained in:
Kenneth Endfinger
2022-01-08 16:34:13 -05:00
parent a81b160675
commit 3f06845ac4

View File

@ -1,5 +1,6 @@
package cloud.kubelet.foundation.gjallarhorn.commands package cloud.kubelet.foundation.gjallarhorn.commands
import cloud.kubelet.foundation.gjallarhorn.state.PlayerPositionChangelog
import cloud.kubelet.foundation.gjallarhorn.util.compose import cloud.kubelet.foundation.gjallarhorn.util.compose
import cloud.kubelet.foundation.heimdall.table.PlayerPositionTable import cloud.kubelet.foundation.heimdall.table.PlayerPositionTable
import com.github.ajalt.clikt.core.CliktCommand import com.github.ajalt.clikt.core.CliktCommand
@ -10,7 +11,6 @@ import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq
import org.jetbrains.exposed.sql.SqlExpressionBuilder.greaterEq import org.jetbrains.exposed.sql.SqlExpressionBuilder.greaterEq
import org.jetbrains.exposed.sql.SqlExpressionBuilder.lessEq import org.jetbrains.exposed.sql.SqlExpressionBuilder.lessEq
import org.jetbrains.exposed.sql.and import org.jetbrains.exposed.sql.and
import org.jetbrains.exposed.sql.select
import org.jetbrains.exposed.sql.transactions.transaction import org.jetbrains.exposed.sql.transactions.transaction
import java.time.Instant import java.time.Instant
import java.util.* import java.util.*
@ -32,18 +32,11 @@ class PlayerPositionExport : CliktCommand(name = "export-player-positions", help
println("time,player,world,x,y,z,pitch,yaw") println("time,player,world,x,y,z,pitch,yaw")
transaction(db) { transaction(db) {
PlayerPositionTable.select(filter).orderBy(PlayerPositionTable.time).forEach { row -> PlayerPositionChangelog.query(db, filter).changes.forEach { change ->
val time = row[PlayerPositionTable.time] change.apply {
val player = row[PlayerPositionTable.player]
val world = row[PlayerPositionTable.world]
val x = row[PlayerPositionTable.x]
val y = row[PlayerPositionTable.y]
val z = row[PlayerPositionTable.z]
val pitch = row[PlayerPositionTable.pitch]
val yaw = row[PlayerPositionTable.yaw]
println("${time},${player},${world},${x},${y},${z},${pitch},${yaw}") println("${time},${player},${world},${x},${y},${z},${pitch},${yaw}")
} }
} }
} }
}
} }