Initial renaming pass.

This commit is contained in:
Liv Gorence
2023-01-24 21:37:24 -08:00
parent 5d7bf94e5c
commit 83ae7df4a6
139 changed files with 335 additions and 317 deletions

View File

@ -15,6 +15,8 @@ server.
## Installation ## Installation
**These directions won't work for the time being.**
The following command downloads and runs a script that will fetch the latest update manifest, and The following command downloads and runs a script that will fetch the latest update manifest, and
install all plugins available. It can also be used to update plugins to the latest version install all plugins available. It can also be used to update plugins to the latest version
available. available.

View File

@ -1,11 +1,11 @@
import cloud.kubelet.foundation.gradle.FoundationProjectPlugin
import cloud.kubelet.foundation.gradle.isFoundationPlugin
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
import gay.pizza.foundation.gradle.FoundationProjectPlugin
import gay.pizza.foundation.gradle.isFoundationPlugin
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins { plugins {
java java
id("cloud.kubelet.foundation.gradle") id("gay.pizza.foundation.gradle")
} }
allprojects { allprojects {

View File

@ -21,8 +21,8 @@ java.targetCompatibility = JavaVersion.VERSION_1_8
gradlePlugin { gradlePlugin {
plugins { plugins {
create("foundation") { create("foundation") {
id = "cloud.kubelet.foundation.gradle" id = "gay.pizza.foundation.gradle"
implementationClass = "cloud.kubelet.foundation.gradle.FoundationGradlePlugin" implementationClass = "gay.pizza.foundation.gradle.FoundationGradlePlugin"
} }
} }
} }

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.gradle package gay.pizza.foundation.gradle
import org.gradle.api.provider.Property import org.gradle.api.provider.Property

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.gradle package gay.pizza.foundation.gradle
import com.google.gson.Gson import com.google.gson.Gson

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.gradle package gay.pizza.foundation.gradle
import org.gradle.api.Plugin import org.gradle.api.Plugin
import org.gradle.api.Project import org.gradle.api.Project
@ -6,8 +6,8 @@ import org.gradle.kotlin.dsl.create
class FoundationGradlePlugin : Plugin<Project> { class FoundationGradlePlugin : Plugin<Project> {
override fun apply(project: Project) { override fun apply(project: Project) {
project.extensions.create<FoundationExtension>("foundation") project.extensions.create<gay.pizza.foundation.gradle.FoundationExtension>("foundation")
val setupPaperServer = project.tasks.create<SetupPaperServer>("setupPaperServer") val setupPaperServer = project.tasks.create<gay.pizza.foundation.gradle.SetupPaperServer>("setupPaperServer")
project.afterEvaluate { -> project.afterEvaluate { ->
setupPaperServer.dependsOn(*project.subprojects setupPaperServer.dependsOn(*project.subprojects
.filter { it.name.startsWith("foundation-") } .filter { it.name.startsWith("foundation-") }
@ -15,10 +15,10 @@ class FoundationGradlePlugin : Plugin<Project> {
.toTypedArray() .toTypedArray()
) )
} }
val runPaperServer = project.tasks.create<RunPaperServer>("runPaperServer") val runPaperServer = project.tasks.create<gay.pizza.foundation.gradle.RunPaperServer>("runPaperServer")
runPaperServer.dependsOn(setupPaperServer) runPaperServer.dependsOn(setupPaperServer)
val updateManifests = project.tasks.create<UpdateManifestTask>("updateManifests") val updateManifests = project.tasks.create<gay.pizza.foundation.gradle.UpdateManifestTask>("updateManifests")
project.tasks.getByName("assemble").dependsOn(updateManifests) project.tasks.getByName("assemble").dependsOn(updateManifests)
} }
} }

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.gradle package gay.pizza.foundation.gradle
import org.gradle.api.Plugin import org.gradle.api.Plugin
import org.gradle.api.Project import org.gradle.api.Project

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.gradle package gay.pizza.foundation.gradle
import com.google.gson.Gson import com.google.gson.Gson
import java.net.URI import java.net.URI
@ -8,7 +8,7 @@ import java.net.http.HttpResponse
class PaperVersionClient( class PaperVersionClient(
val client: HttpClient = HttpClient.newHttpClient(), val client: HttpClient = HttpClient.newHttpClient(),
private val gson: Gson = FoundationGlobals.gson private val gson: Gson = gay.pizza.foundation.gradle.FoundationGlobals.gson
) { ) {
private val apiBaseUrl = URI.create("https://papermc.io/api/v2/") private val apiBaseUrl = URI.create("https://papermc.io/api/v2/")

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.gradle package gay.pizza.foundation.gradle
import org.gradle.api.DefaultTask import org.gradle.api.DefaultTask
import org.gradle.api.tasks.TaskAction import org.gradle.api.tasks.TaskAction
@ -13,7 +13,7 @@ open class RunPaperServer : DefaultTask() {
@TaskAction @TaskAction
fun runPaperServer() { fun runPaperServer() {
val foundation = project.extensions.getByType<FoundationExtension>() val foundation = project.extensions.getByType<gay.pizza.foundation.gradle.FoundationExtension>()
val minecraftServerDirectory = project.file(foundation.minecraftServerPath.get()) val minecraftServerDirectory = project.file(foundation.minecraftServerPath.get())
val paperJarFile = minecraftServerDirectory.resolve("paper.jar") val paperJarFile = minecraftServerDirectory.resolve("paper.jar")

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.gradle package gay.pizza.foundation.gradle
import org.gradle.api.DefaultTask import org.gradle.api.DefaultTask
import org.gradle.api.tasks.Input import org.gradle.api.tasks.Input
@ -21,7 +21,7 @@ open class SetupPaperServer : DefaultTask() {
@TaskAction @TaskAction
fun downloadPaperTask() { fun downloadPaperTask() {
val foundation = project.extensions.getByType<FoundationExtension>() val foundation = project.extensions.getByType<gay.pizza.foundation.gradle.FoundationExtension>()
val minecraftServerDirectory = project.file(foundation.minecraftServerPath.get()) val minecraftServerDirectory = project.file(foundation.minecraftServerPath.get())
if (!minecraftServerDirectory.exists()) { if (!minecraftServerDirectory.exists()) {

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.gradle package gay.pizza.foundation.gradle
import java.net.URI import java.net.URI
import java.nio.file.Files import java.nio.file.Files

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.gradle package gay.pizza.foundation.gradle
import org.gradle.api.DefaultTask import org.gradle.api.DefaultTask
import org.gradle.api.tasks.TaskAction import org.gradle.api.tasks.TaskAction
@ -21,7 +21,7 @@ open class UpdateManifestTask : DefaultTask() {
} else null } else null
}.toMap() }.toMap()
Files.writeString(updateFile, FoundationGlobals.gson.toJson(updateManifest)) Files.writeString(updateFile, gay.pizza.foundation.gradle.FoundationGlobals.gson.toJson(updateManifest))
} }
private fun ensureManifestsDir(): Path { private fun ensureManifestsDir(): Path {

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.gradle package gay.pizza.foundation.gradle
import org.gradle.api.Project import org.gradle.api.Project
import org.gradle.api.tasks.TaskOutputs import org.gradle.api.tasks.TaskOutputs

View File

@ -1,10 +1,10 @@
package cloud.kubelet.foundation.bifrost package gay.pizza.foundation.bifrost
import cloud.kubelet.foundation.bifrost.model.BifrostConfig
import cloud.kubelet.foundation.core.FoundationCorePlugin
import cloud.kubelet.foundation.core.Util
import cloud.kubelet.foundation.core.util.AdvancementTitleCache
import com.charleskorn.kaml.Yaml import com.charleskorn.kaml.Yaml
import gay.pizza.foundation.bifrost.model.BifrostConfig
import gay.pizza.foundation.core.FoundationCorePlugin
import gay.pizza.foundation.core.Util
import gay.pizza.foundation.core.util.AdvancementTitleCache
import io.papermc.paper.event.player.AsyncChatEvent import io.papermc.paper.event.player.AsyncChatEvent
import net.dv8tion.jda.api.EmbedBuilder import net.dv8tion.jda.api.EmbedBuilder
import net.dv8tion.jda.api.JDA import net.dv8tion.jda.api.JDA

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.bifrost.model package gay.pizza.foundation.bifrost.model
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable

View File

@ -1,6 +1,6 @@
name: Foundation-Bifrost name: Foundation-Bifrost
version: '${version}' version: '${version}'
main: cloud.kubelet.foundation.bifrost.FoundationBifrostPlugin main: gay.pizza.foundation.bifrost.FoundationBifrostPlugin
api-version: 1.18 api-version: 1.18
prefix: Foundation-Bifrost prefix: Foundation-Bifrost
load: STARTUP load: STARTUP

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.core package gay.pizza.foundation.core
import org.bukkit.Material import org.bukkit.Material
import org.bukkit.OfflinePlayer import org.bukkit.OfflinePlayer

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.core package gay.pizza.foundation.core
fun <T, R : Comparable<R>> Collection<T>.sortedBy(order: SortOrder, selector: (T) -> R?): List<T> = fun <T, R : Comparable<R>> Collection<T>.sortedBy(order: SortOrder, selector: (T) -> R?): List<T> =
if (order == SortOrder.Ascending) { if (order == SortOrder.Ascending) {

View File

@ -1,15 +1,15 @@
package cloud.kubelet.foundation.core package gay.pizza.foundation.core
import cloud.kubelet.foundation.core.abstraction.FoundationPlugin import gay.pizza.foundation.core.abstraction.FoundationPlugin
import cloud.kubelet.foundation.core.features.backup.BackupFeature import gay.pizza.foundation.core.features.backup.BackupFeature
import cloud.kubelet.foundation.core.features.dev.DevFeature import gay.pizza.foundation.core.features.dev.DevFeature
import cloud.kubelet.foundation.core.features.gameplay.GameplayFeature import gay.pizza.foundation.core.features.gameplay.GameplayFeature
import cloud.kubelet.foundation.core.features.persist.PersistenceFeature import gay.pizza.foundation.core.features.persist.PersistenceFeature
import cloud.kubelet.foundation.core.features.player.PlayerFeature import gay.pizza.foundation.core.features.player.PlayerFeature
import cloud.kubelet.foundation.core.features.scheduler.SchedulerFeature import gay.pizza.foundation.core.features.scheduler.SchedulerFeature
import cloud.kubelet.foundation.core.features.stats.StatsFeature import gay.pizza.foundation.core.features.stats.StatsFeature
import cloud.kubelet.foundation.core.features.update.UpdateFeature import gay.pizza.foundation.core.features.update.UpdateFeature
import cloud.kubelet.foundation.core.features.world.WorldFeature import gay.pizza.foundation.core.features.world.WorldFeature
import org.koin.dsl.module import org.koin.dsl.module
import java.nio.file.Path import java.nio.file.Path

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.core package gay.pizza.foundation.core
enum class SortOrder { enum class SortOrder {
Ascending, Ascending,

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.core package gay.pizza.foundation.core
import net.kyori.adventure.text.format.TextColor import net.kyori.adventure.text.format.TextColor

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.core package gay.pizza.foundation.core
import net.kyori.adventure.text.Component import net.kyori.adventure.text.Component
import net.kyori.adventure.text.format.TextColor import net.kyori.adventure.text.format.TextColor

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.core.abstraction package gay.pizza.foundation.core.abstraction
interface CoreFeature { interface CoreFeature {
fun enable() fun enable()

View File

@ -1,6 +1,6 @@
package cloud.kubelet.foundation.core.abstraction package gay.pizza.foundation.core.abstraction
import cloud.kubelet.foundation.core.FoundationCorePlugin import gay.pizza.foundation.core.FoundationCorePlugin
import org.bukkit.command.CommandExecutor import org.bukkit.command.CommandExecutor
import org.bukkit.command.TabCompleter import org.bukkit.command.TabCompleter
import org.bukkit.event.Listener import org.bukkit.event.Listener

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.core.abstraction package gay.pizza.foundation.core.abstraction
import org.bukkit.plugin.java.JavaPlugin import org.bukkit.plugin.java.JavaPlugin
import org.koin.core.KoinApplication import org.koin.core.KoinApplication

View File

@ -1,7 +1,7 @@
package cloud.kubelet.foundation.core.features.backup package gay.pizza.foundation.core.features.backup
import cloud.kubelet.foundation.core.FoundationCorePlugin import gay.pizza.foundation.core.FoundationCorePlugin
import cloud.kubelet.foundation.core.Util import gay.pizza.foundation.core.Util
import net.kyori.adventure.text.Component import net.kyori.adventure.text.Component
import net.kyori.adventure.text.format.TextColor import net.kyori.adventure.text.format.TextColor
import org.bukkit.Server import org.bukkit.Server

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.core.features.backup package gay.pizza.foundation.core.features.backup
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable

View File

@ -1,11 +1,11 @@
package cloud.kubelet.foundation.core.features.backup package gay.pizza.foundation.core.features.backup
import cloud.kubelet.foundation.core.FoundationCorePlugin
import cloud.kubelet.foundation.core.Util
import cloud.kubelet.foundation.core.abstraction.Feature
import cloud.kubelet.foundation.core.features.scheduler.cancel
import cloud.kubelet.foundation.core.features.scheduler.cron
import com.charleskorn.kaml.Yaml import com.charleskorn.kaml.Yaml
import gay.pizza.foundation.core.FoundationCorePlugin
import gay.pizza.foundation.core.Util
import gay.pizza.foundation.core.abstraction.Feature
import gay.pizza.foundation.core.features.scheduler.cancel
import gay.pizza.foundation.core.features.scheduler.cron
import org.koin.core.component.inject import org.koin.core.component.inject
import org.koin.dsl.module import org.koin.dsl.module
import software.amazon.awssdk.auth.credentials.AwsSessionCredentials import software.amazon.awssdk.auth.credentials.AwsSessionCredentials

View File

@ -1,6 +1,6 @@
package cloud.kubelet.foundation.core.features.dev package gay.pizza.foundation.core.features.dev
import cloud.kubelet.foundation.core.abstraction.Feature import gay.pizza.foundation.core.abstraction.Feature
class DevFeature : Feature() { class DevFeature : Feature() {
private lateinit var devUpdateServer: DevUpdateServer private lateinit var devUpdateServer: DevUpdateServer

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.core.features.dev package gay.pizza.foundation.core.features.dev
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.core.features.dev package gay.pizza.foundation.core.features.dev
import kotlinx.serialization.SerialName import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable

View File

@ -1,11 +1,11 @@
package cloud.kubelet.foundation.core.features.dev package gay.pizza.foundation.core.features.dev
import cloud.kubelet.foundation.core.FoundationCorePlugin
import cloud.kubelet.foundation.core.Util
import cloud.kubelet.foundation.core.features.update.UpdateService
import com.charleskorn.kaml.Yaml import com.charleskorn.kaml.Yaml
import com.sun.net.httpserver.HttpExchange import com.sun.net.httpserver.HttpExchange
import com.sun.net.httpserver.HttpServer import com.sun.net.httpserver.HttpServer
import gay.pizza.foundation.core.FoundationCorePlugin
import gay.pizza.foundation.core.Util
import gay.pizza.foundation.core.features.update.UpdateService
import kotlinx.serialization.json.Json import kotlinx.serialization.json.Json
import kotlinx.serialization.json.decodeFromStream import kotlinx.serialization.json.decodeFromStream
import kotlinx.serialization.json.jsonPrimitive import kotlinx.serialization.json.jsonPrimitive

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.core.features.gameplay package gay.pizza.foundation.core.features.gameplay
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable

View File

@ -1,9 +1,9 @@
package cloud.kubelet.foundation.core.features.gameplay package gay.pizza.foundation.core.features.gameplay
import cloud.kubelet.foundation.core.FoundationCorePlugin
import cloud.kubelet.foundation.core.Util
import cloud.kubelet.foundation.core.abstraction.Feature
import com.charleskorn.kaml.Yaml import com.charleskorn.kaml.Yaml
import gay.pizza.foundation.core.FoundationCorePlugin
import gay.pizza.foundation.core.Util
import gay.pizza.foundation.core.abstraction.Feature
import org.bukkit.Bukkit import org.bukkit.Bukkit
import org.bukkit.Material import org.bukkit.Material
import org.bukkit.entity.EntityType import org.bukkit.entity.EntityType

View File

@ -1,6 +1,6 @@
package cloud.kubelet.foundation.core.features.persist package gay.pizza.foundation.core.features.persist
import cloud.kubelet.foundation.core.abstraction.Feature import gay.pizza.foundation.core.abstraction.Feature
import org.koin.core.component.inject import org.koin.core.component.inject
import org.koin.core.module.Module import org.koin.core.module.Module
import org.koin.dsl.module import org.koin.dsl.module

View File

@ -1,6 +1,6 @@
package cloud.kubelet.foundation.core.features.persist package gay.pizza.foundation.core.features.persist
import cloud.kubelet.foundation.core.FoundationCorePlugin import gay.pizza.foundation.core.FoundationCorePlugin
import jetbrains.exodus.entitystore.Entity import jetbrains.exodus.entitystore.Entity
import jetbrains.exodus.entitystore.EntityIterable import jetbrains.exodus.entitystore.EntityIterable
import jetbrains.exodus.entitystore.PersistentEntityStores import jetbrains.exodus.entitystore.PersistentEntityStores

View File

@ -1,6 +1,6 @@
package cloud.kubelet.foundation.core.features.persist package gay.pizza.foundation.core.features.persist
import cloud.kubelet.foundation.core.features.stats.StatsFeature import gay.pizza.foundation.core.features.stats.StatsFeature
import org.bukkit.command.Command import org.bukkit.command.Command
import org.bukkit.command.CommandExecutor import org.bukkit.command.CommandExecutor
import org.bukkit.command.CommandSender import org.bukkit.command.CommandSender

View File

@ -1,6 +1,6 @@
package cloud.kubelet.foundation.core.features.persist package gay.pizza.foundation.core.features.persist
import cloud.kubelet.foundation.core.FoundationCorePlugin import gay.pizza.foundation.core.FoundationCorePlugin
import org.koin.core.component.KoinComponent import org.koin.core.component.KoinComponent
import org.koin.core.component.inject import org.koin.core.component.inject
import java.util.concurrent.ConcurrentHashMap import java.util.concurrent.ConcurrentHashMap

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.core.features.persist package gay.pizza.foundation.core.features.persist
import jetbrains.exodus.entitystore.Entity import jetbrains.exodus.entitystore.Entity

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.core.features.player package gay.pizza.foundation.core.features.player
import org.bukkit.GameMode import org.bukkit.GameMode
import org.bukkit.command.Command import org.bukkit.command.Command

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.core.features.player package gay.pizza.foundation.core.features.player
import org.bukkit.WeatherType import org.bukkit.WeatherType
import org.bukkit.command.Command import org.bukkit.command.Command

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.core.features.player package gay.pizza.foundation.core.features.player
import kotlinx.serialization.SerialName import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable

View File

@ -1,12 +1,12 @@
package cloud.kubelet.foundation.core.features.player package gay.pizza.foundation.core.features.player
import cloud.kubelet.foundation.core.FoundationCorePlugin
import cloud.kubelet.foundation.core.Util
import cloud.kubelet.foundation.core.abstraction.Feature
import com.charleskorn.kaml.Yaml import com.charleskorn.kaml.Yaml
import com.google.common.cache.Cache import com.google.common.cache.Cache
import com.google.common.cache.CacheBuilder import com.google.common.cache.CacheBuilder
import com.google.common.cache.RemovalCause import com.google.common.cache.RemovalCause
import gay.pizza.foundation.core.FoundationCorePlugin
import gay.pizza.foundation.core.Util
import gay.pizza.foundation.core.abstraction.Feature
import net.kyori.adventure.text.Component import net.kyori.adventure.text.Component
import org.bukkit.GameMode import org.bukkit.GameMode
import org.bukkit.event.EventHandler import org.bukkit.event.EventHandler

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.core.features.scheduler package gay.pizza.foundation.core.features.scheduler
import org.quartz.CronScheduleBuilder.cronSchedule import org.quartz.CronScheduleBuilder.cronSchedule
import org.quartz.JobBuilder.newJob import org.quartz.JobBuilder.newJob

View File

@ -1,6 +1,6 @@
package cloud.kubelet.foundation.core.features.scheduler package gay.pizza.foundation.core.features.scheduler
import cloud.kubelet.foundation.core.abstraction.CoreFeature import gay.pizza.foundation.core.abstraction.CoreFeature
import org.koin.dsl.module import org.koin.dsl.module
import org.quartz.Scheduler import org.quartz.Scheduler
import org.quartz.impl.StdSchedulerFactory import org.quartz.impl.StdSchedulerFactory

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.core.features.scheduler package gay.pizza.foundation.core.features.scheduler
import org.quartz.Job import org.quartz.Job
import org.quartz.JobExecutionContext import org.quartz.JobExecutionContext

View File

@ -1,7 +1,7 @@
package cloud.kubelet.foundation.core.features.stats package gay.pizza.foundation.core.features.stats
import cloud.kubelet.foundation.core.SortOrder import gay.pizza.foundation.core.SortOrder
import cloud.kubelet.foundation.core.allPlayerStatisticsOf import gay.pizza.foundation.core.allPlayerStatisticsOf
import org.bukkit.Statistic import org.bukkit.Statistic
import org.bukkit.command.Command import org.bukkit.command.Command
import org.bukkit.command.CommandExecutor import org.bukkit.command.CommandExecutor

View File

@ -1,7 +1,10 @@
package cloud.kubelet.foundation.core.features.stats package gay.pizza.foundation.core.features.stats
import cloud.kubelet.foundation.core.abstraction.Feature import gay.pizza.foundation.core.abstraction.Feature
import cloud.kubelet.foundation.core.features.persist.* import gay.pizza.foundation.core.features.persist.PersistentStore
import gay.pizza.foundation.core.features.persist.PersistentStoreCommand
import gay.pizza.foundation.core.features.persist.PluginPersistence
import gay.pizza.foundation.core.features.persist.setAllProperties
import io.papermc.paper.event.player.AsyncChatEvent import io.papermc.paper.event.player.AsyncChatEvent
import net.kyori.adventure.text.TextComponent import net.kyori.adventure.text.TextComponent
import org.bukkit.event.EventHandler import org.bukkit.event.EventHandler

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.core.features.update package gay.pizza.foundation.core.features.update
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.core.features.update package gay.pizza.foundation.core.features.update
import org.bukkit.command.Command import org.bukkit.command.Command
import org.bukkit.command.CommandExecutor import org.bukkit.command.CommandExecutor

View File

@ -1,6 +1,6 @@
package cloud.kubelet.foundation.core.features.update package gay.pizza.foundation.core.features.update
import cloud.kubelet.foundation.core.abstraction.Feature import gay.pizza.foundation.core.abstraction.Feature
class UpdateFeature : Feature() { class UpdateFeature : Feature() {
override fun enable() { override fun enable() {

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.core.features.update package gay.pizza.foundation.core.features.update
import org.bukkit.command.CommandSender import org.bukkit.command.CommandSender
import kotlin.io.path.name import kotlin.io.path.name

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.core.features.update package gay.pizza.foundation.core.features.update
import kotlinx.serialization.DeserializationStrategy import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.builtins.MapSerializer import kotlinx.serialization.builtins.MapSerializer

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.core.features.world package gay.pizza.foundation.core.features.world
import org.bukkit.command.Command import org.bukkit.command.Command
import org.bukkit.command.CommandExecutor import org.bukkit.command.CommandExecutor

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.core.features.world package gay.pizza.foundation.core.features.world
import org.bukkit.command.Command import org.bukkit.command.Command
import org.bukkit.command.CommandExecutor import org.bukkit.command.CommandExecutor

View File

@ -1,6 +1,6 @@
package cloud.kubelet.foundation.core.features.world package gay.pizza.foundation.core.features.world
import cloud.kubelet.foundation.core.abstraction.Feature import gay.pizza.foundation.core.abstraction.Feature
class WorldFeature : Feature() { class WorldFeature : Feature() {
override fun enable() { override fun enable() {

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.core.util package gay.pizza.foundation.core.util
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer

View File

@ -1,6 +1,6 @@
name: Foundation name: Foundation
version: '${version}' version: '${version}'
main: cloud.kubelet.foundation.core.FoundationCorePlugin main: gay.pizza.foundation.core.FoundationCorePlugin
api-version: 1.18 api-version: 1.18
prefix: Foundation prefix: Foundation
load: STARTUP load: STARTUP

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.heimdall package gay.pizza.foundation.heimdall
fun String.sqlSplitStatements(): List<String> { fun String.sqlSplitStatements(): List<String> {
val statements = mutableListOf<String>() val statements = mutableListOf<String>()

View File

@ -1,15 +1,22 @@
package cloud.kubelet.foundation.heimdall package gay.pizza.foundation.heimdall
import cloud.kubelet.foundation.core.FoundationCorePlugin
import cloud.kubelet.foundation.core.Util
import cloud.kubelet.foundation.heimdall.buffer.BufferFlushThread
import cloud.kubelet.foundation.heimdall.buffer.EventBuffer
import cloud.kubelet.foundation.heimdall.event.*
import cloud.kubelet.foundation.heimdall.model.HeimdallConfig
import cloud.kubelet.foundation.heimdall.export.ExportChunksCommand
import com.charleskorn.kaml.Yaml import com.charleskorn.kaml.Yaml
import com.zaxxer.hikari.HikariConfig import com.zaxxer.hikari.HikariConfig
import com.zaxxer.hikari.HikariDataSource import com.zaxxer.hikari.HikariDataSource
import gay.pizza.foundation.core.FoundationCorePlugin
import gay.pizza.foundation.core.Util
import gay.pizza.foundation.heimdall.buffer.BufferFlushThread
import gay.pizza.foundation.heimdall.buffer.EventBuffer
import gay.pizza.foundation.heimdall.event.BlockBreak
import gay.pizza.foundation.heimdall.event.BlockPlace
import gay.pizza.foundation.heimdall.event.EntityKill
import gay.pizza.foundation.heimdall.event.PlayerAdvancement
import gay.pizza.foundation.heimdall.event.PlayerDeath
import gay.pizza.foundation.heimdall.event.PlayerPosition
import gay.pizza.foundation.heimdall.event.PlayerSession
import gay.pizza.foundation.heimdall.event.WorldChange
import gay.pizza.foundation.heimdall.export.ExportChunksCommand
import gay.pizza.foundation.heimdall.model.HeimdallConfig
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer
import org.bukkit.event.EventHandler import org.bukkit.event.EventHandler
import org.bukkit.event.Listener import org.bukkit.event.Listener
@ -17,13 +24,17 @@ import org.bukkit.event.block.BlockBreakEvent
import org.bukkit.event.block.BlockPlaceEvent import org.bukkit.event.block.BlockPlaceEvent
import org.bukkit.event.entity.EntityDeathEvent import org.bukkit.event.entity.EntityDeathEvent
import org.bukkit.event.entity.PlayerDeathEvent import org.bukkit.event.entity.PlayerDeathEvent
import org.bukkit.event.player.* import org.bukkit.event.player.PlayerAdvancementDoneEvent
import org.bukkit.event.player.PlayerChangedWorldEvent
import org.bukkit.event.player.PlayerJoinEvent
import org.bukkit.event.player.PlayerMoveEvent
import org.bukkit.event.player.PlayerQuitEvent
import org.bukkit.plugin.java.JavaPlugin import org.bukkit.plugin.java.JavaPlugin
import org.jetbrains.exposed.sql.Database import org.jetbrains.exposed.sql.Database
import org.postgresql.Driver import org.postgresql.Driver
import java.time.Duration import java.time.Duration
import java.time.Instant import java.time.Instant
import java.util.* import java.util.UUID
import java.util.concurrent.ConcurrentHashMap import java.util.concurrent.ConcurrentHashMap
import kotlin.io.path.inputStream import kotlin.io.path.inputStream

View File

@ -1,6 +1,6 @@
package cloud.kubelet.foundation.heimdall.buffer package gay.pizza.foundation.heimdall.buffer
import cloud.kubelet.foundation.heimdall.FoundationHeimdallPlugin import gay.pizza.foundation.heimdall.FoundationHeimdallPlugin
import org.jetbrains.exposed.sql.transactions.transaction import org.jetbrains.exposed.sql.transactions.transaction
import java.util.concurrent.atomic.AtomicBoolean import java.util.concurrent.atomic.AtomicBoolean

View File

@ -1,6 +1,6 @@
package cloud.kubelet.foundation.heimdall.buffer package gay.pizza.foundation.heimdall.buffer
import cloud.kubelet.foundation.heimdall.event.HeimdallEvent import gay.pizza.foundation.heimdall.event.HeimdallEvent
import org.jetbrains.exposed.sql.Transaction import org.jetbrains.exposed.sql.Transaction
class EventBuffer { class EventBuffer {

View File

@ -1,13 +1,13 @@
package cloud.kubelet.foundation.heimdall.event package gay.pizza.foundation.heimdall.event
import cloud.kubelet.foundation.heimdall.table.BlockBreakTable import gay.pizza.foundation.heimdall.table.BlockBreakTable
import org.bukkit.Location import org.bukkit.Location
import org.bukkit.Material import org.bukkit.Material
import org.bukkit.event.block.BlockBreakEvent import org.bukkit.event.block.BlockBreakEvent
import org.jetbrains.exposed.sql.Transaction import org.jetbrains.exposed.sql.Transaction
import org.jetbrains.exposed.sql.insert import org.jetbrains.exposed.sql.insert
import java.time.Instant import java.time.Instant
import java.util.* import java.util.UUID
class BlockBreak( class BlockBreak(
val playerUniqueIdentity: UUID, val playerUniqueIdentity: UUID,

View File

@ -1,13 +1,13 @@
package cloud.kubelet.foundation.heimdall.event package gay.pizza.foundation.heimdall.event
import cloud.kubelet.foundation.heimdall.table.BlockPlaceTable import gay.pizza.foundation.heimdall.table.BlockPlaceTable
import org.bukkit.Location import org.bukkit.Location
import org.bukkit.Material import org.bukkit.Material
import org.bukkit.event.block.BlockPlaceEvent import org.bukkit.event.block.BlockPlaceEvent
import org.jetbrains.exposed.sql.Transaction import org.jetbrains.exposed.sql.Transaction
import org.jetbrains.exposed.sql.insert import org.jetbrains.exposed.sql.insert
import java.time.Instant import java.time.Instant
import java.util.* import java.util.UUID
class BlockPlace( class BlockPlace(
val playerUniqueIdentity: UUID, val playerUniqueIdentity: UUID,

View File

@ -1,11 +1,11 @@
package cloud.kubelet.foundation.heimdall.event package gay.pizza.foundation.heimdall.event
import cloud.kubelet.foundation.heimdall.table.EntityKillTable import gay.pizza.foundation.heimdall.table.EntityKillTable
import org.bukkit.Location import org.bukkit.Location
import org.jetbrains.exposed.sql.Transaction import org.jetbrains.exposed.sql.Transaction
import org.jetbrains.exposed.sql.insert import org.jetbrains.exposed.sql.insert
import java.time.Instant import java.time.Instant
import java.util.* import java.util.UUID
class EntityKill( class EntityKill(
val playerUniqueIdentity: UUID, val playerUniqueIdentity: UUID,

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.heimdall.event package gay.pizza.foundation.heimdall.event
import org.jetbrains.exposed.sql.Transaction import org.jetbrains.exposed.sql.Transaction

View File

@ -1,13 +1,13 @@
package cloud.kubelet.foundation.heimdall.event package gay.pizza.foundation.heimdall.event
import cloud.kubelet.foundation.heimdall.table.PlayerAdvancementTable import gay.pizza.foundation.heimdall.table.PlayerAdvancementTable
import org.bukkit.Location import org.bukkit.Location
import org.bukkit.advancement.Advancement import org.bukkit.advancement.Advancement
import org.bukkit.event.player.PlayerAdvancementDoneEvent import org.bukkit.event.player.PlayerAdvancementDoneEvent
import org.jetbrains.exposed.sql.Transaction import org.jetbrains.exposed.sql.Transaction
import org.jetbrains.exposed.sql.insert import org.jetbrains.exposed.sql.insert
import java.time.Instant import java.time.Instant
import java.util.* import java.util.UUID
class PlayerAdvancement( class PlayerAdvancement(
val playerUniqueIdentity: UUID, val playerUniqueIdentity: UUID,

View File

@ -1,12 +1,12 @@
package cloud.kubelet.foundation.heimdall.event package gay.pizza.foundation.heimdall.event
import cloud.kubelet.foundation.heimdall.table.PlayerDeathTable import gay.pizza.foundation.heimdall.table.PlayerDeathTable
import org.bukkit.Location import org.bukkit.Location
import org.bukkit.event.entity.PlayerDeathEvent import org.bukkit.event.entity.PlayerDeathEvent
import org.jetbrains.exposed.sql.Transaction import org.jetbrains.exposed.sql.Transaction
import org.jetbrains.exposed.sql.insert import org.jetbrains.exposed.sql.insert
import java.time.Instant import java.time.Instant
import java.util.* import java.util.UUID
class PlayerDeath( class PlayerDeath(
val playerUniqueIdentity: UUID, val playerUniqueIdentity: UUID,

View File

@ -1,12 +1,12 @@
package cloud.kubelet.foundation.heimdall.event package gay.pizza.foundation.heimdall.event
import cloud.kubelet.foundation.heimdall.table.PlayerPositionTable import gay.pizza.foundation.heimdall.table.PlayerPositionTable
import org.bukkit.Location import org.bukkit.Location
import org.bukkit.event.player.PlayerMoveEvent import org.bukkit.event.player.PlayerMoveEvent
import org.jetbrains.exposed.sql.Transaction import org.jetbrains.exposed.sql.Transaction
import org.jetbrains.exposed.sql.insert import org.jetbrains.exposed.sql.insert
import java.time.Instant import java.time.Instant
import java.util.* import java.util.UUID
class PlayerPosition( class PlayerPosition(
val playerUniqueIdentity: UUID, val playerUniqueIdentity: UUID,

View File

@ -1,10 +1,10 @@
package cloud.kubelet.foundation.heimdall.event package gay.pizza.foundation.heimdall.event
import cloud.kubelet.foundation.heimdall.table.PlayerSessionTable import gay.pizza.foundation.heimdall.table.PlayerSessionTable
import org.jetbrains.exposed.sql.Transaction import org.jetbrains.exposed.sql.Transaction
import org.jetbrains.exposed.sql.insert import org.jetbrains.exposed.sql.insert
import java.time.Instant import java.time.Instant
import java.util.* import java.util.UUID
class PlayerSession( class PlayerSession(
val playerUniqueIdentity: UUID, val playerUniqueIdentity: UUID,

View File

@ -1,10 +1,10 @@
package cloud.kubelet.foundation.heimdall.event package gay.pizza.foundation.heimdall.event
import cloud.kubelet.foundation.heimdall.table.WorldChangeTable import gay.pizza.foundation.heimdall.table.WorldChangeTable
import org.jetbrains.exposed.sql.Transaction import org.jetbrains.exposed.sql.Transaction
import org.jetbrains.exposed.sql.insert import org.jetbrains.exposed.sql.insert
import java.time.Instant import java.time.Instant
import java.util.* import java.util.UUID
class WorldChange( class WorldChange(
val playerUniqueIdentity: UUID, val playerUniqueIdentity: UUID,

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.heimdall.export package gay.pizza.foundation.heimdall.export
import kotlinx.serialization.json.Json import kotlinx.serialization.json.Json
import kotlinx.serialization.json.encodeToStream import kotlinx.serialization.json.encodeToStream

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.heimdall.export package gay.pizza.foundation.heimdall.export
import org.bukkit.command.Command import org.bukkit.command.Command
import org.bukkit.command.CommandExecutor import org.bukkit.command.CommandExecutor

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.heimdall.export package gay.pizza.foundation.heimdall.export
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.heimdall.export package gay.pizza.foundation.heimdall.export
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.heimdall.export package gay.pizza.foundation.heimdall.export
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.heimdall.model package gay.pizza.foundation.heimdall.model
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.heimdall.table package gay.pizza.foundation.heimdall.table
import org.jetbrains.exposed.sql.Table import org.jetbrains.exposed.sql.Table
import org.jetbrains.exposed.sql.javatime.timestamp import org.jetbrains.exposed.sql.javatime.timestamp

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.heimdall.table package gay.pizza.foundation.heimdall.table
import org.jetbrains.exposed.sql.Table import org.jetbrains.exposed.sql.Table
import org.jetbrains.exposed.sql.javatime.timestamp import org.jetbrains.exposed.sql.javatime.timestamp

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.heimdall.table package gay.pizza.foundation.heimdall.table
import org.jetbrains.exposed.sql.Table import org.jetbrains.exposed.sql.Table
import org.jetbrains.exposed.sql.javatime.timestamp import org.jetbrains.exposed.sql.javatime.timestamp

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.heimdall.table package gay.pizza.foundation.heimdall.table
import org.jetbrains.exposed.sql.Table import org.jetbrains.exposed.sql.Table
import org.jetbrains.exposed.sql.javatime.timestamp import org.jetbrains.exposed.sql.javatime.timestamp

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.heimdall.table package gay.pizza.foundation.heimdall.table
import org.jetbrains.exposed.sql.Table import org.jetbrains.exposed.sql.Table
import org.jetbrains.exposed.sql.javatime.timestamp import org.jetbrains.exposed.sql.javatime.timestamp

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.heimdall.table package gay.pizza.foundation.heimdall.table
import org.jetbrains.exposed.sql.Table import org.jetbrains.exposed.sql.Table
import org.jetbrains.exposed.sql.javatime.timestamp import org.jetbrains.exposed.sql.javatime.timestamp

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.heimdall.table package gay.pizza.foundation.heimdall.table
import org.jetbrains.exposed.sql.Table import org.jetbrains.exposed.sql.Table
import org.jetbrains.exposed.sql.javatime.timestamp import org.jetbrains.exposed.sql.javatime.timestamp

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.heimdall.table package gay.pizza.foundation.heimdall.table
import org.jetbrains.exposed.sql.Table import org.jetbrains.exposed.sql.Table
import org.jetbrains.exposed.sql.javatime.timestamp import org.jetbrains.exposed.sql.javatime.timestamp

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.heimdall.view package gay.pizza.foundation.heimdall.view
import org.jetbrains.exposed.sql.Table import org.jetbrains.exposed.sql.Table
import org.jetbrains.exposed.sql.javatime.timestamp import org.jetbrains.exposed.sql.javatime.timestamp

View File

@ -1,6 +1,6 @@
name: Foundation-Heimdall name: Foundation-Heimdall
version: '${version}' version: '${version}'
main: cloud.kubelet.foundation.heimdall.FoundationHeimdallPlugin main: gay.pizza.foundation.heimdall.FoundationHeimdallPlugin
api-version: 1.18 api-version: 1.18
prefix: Foundation-Heimdall prefix: Foundation-Heimdall
load: STARTUP load: STARTUP

View File

@ -6,5 +6,5 @@ dependencies {
} }
listOf(tasks.jar, tasks.shadowJar).map { it.get() }.forEach { task -> listOf(tasks.jar, tasks.shadowJar).map { it.get() }.forEach { task ->
task.manifest.attributes["Main-Class"] = "cloud.kubelet.foundation.gjallarhorn.MainKt" task.manifest.attributes["Main-Class"] = "gay.pizza.foundation.gjallarhorn.MainKt"
} }

View File

@ -1,11 +0,0 @@
package cloud.kubelet.foundation.gjallarhorn.export
import cloud.kubelet.foundation.gjallarhorn.state.BlockExpanse
import cloud.kubelet.foundation.gjallarhorn.state.SparseBlockStateMap
import kotlinx.serialization.Serializable
@Serializable
class CombinedChunkFormat(
val expanse: BlockExpanse,
val map: SparseBlockStateMap
)

View File

@ -1,14 +0,0 @@
package cloud.kubelet.foundation.gjallarhorn
import cloud.kubelet.foundation.gjallarhorn.commands.BlockChangeTimelapseCommand
import cloud.kubelet.foundation.gjallarhorn.commands.ChunkExportLoaderCommand
import cloud.kubelet.foundation.gjallarhorn.commands.PlayerPositionExport
import cloud.kubelet.foundation.gjallarhorn.commands.PlayerSessionExport
import com.github.ajalt.clikt.core.subcommands
fun main(args: Array<String>) = GjallarhornCommand().subcommands(
BlockChangeTimelapseCommand(),
PlayerSessionExport(),
PlayerPositionExport(),
ChunkExportLoaderCommand()
).main(args)

View File

@ -1,8 +0,0 @@
package cloud.kubelet.foundation.gjallarhorn.render
import cloud.kubelet.foundation.gjallarhorn.state.BlockStateMap
import cloud.kubelet.foundation.gjallarhorn.state.ChangelogSlice
interface BlockMapRenderer<T> {
fun render(slice: ChangelogSlice, map: BlockStateMap): T
}

View File

@ -1,4 +1,4 @@
package cloud.kubelet.foundation.gjallarhorn package gay.pizza.foundation.gjallarhorn
import com.github.ajalt.clikt.core.CliktCommand import com.github.ajalt.clikt.core.CliktCommand
import com.github.ajalt.clikt.parameters.options.default import com.github.ajalt.clikt.parameters.options.default

View File

@ -1,10 +1,5 @@
package cloud.kubelet.foundation.gjallarhorn.commands package gay.pizza.foundation.gjallarhorn.commands
import cloud.kubelet.foundation.gjallarhorn.render.*
import cloud.kubelet.foundation.gjallarhorn.state.*
import cloud.kubelet.foundation.gjallarhorn.util.compose
import cloud.kubelet.foundation.gjallarhorn.util.savePngFile
import cloud.kubelet.foundation.heimdall.view.BlockChangeView
import com.github.ajalt.clikt.core.CliktCommand import com.github.ajalt.clikt.core.CliktCommand
import com.github.ajalt.clikt.core.requireObject import com.github.ajalt.clikt.core.requireObject
import com.github.ajalt.clikt.parameters.options.default import com.github.ajalt.clikt.parameters.options.default
@ -13,6 +8,11 @@ import com.github.ajalt.clikt.parameters.options.option
import com.github.ajalt.clikt.parameters.options.required import com.github.ajalt.clikt.parameters.options.required
import com.github.ajalt.clikt.parameters.types.enum import com.github.ajalt.clikt.parameters.types.enum
import com.github.ajalt.clikt.parameters.types.int import com.github.ajalt.clikt.parameters.types.int
import gay.pizza.foundation.gjallarhorn.render.*
import gay.pizza.foundation.gjallarhorn.state.*
import gay.pizza.foundation.gjallarhorn.util.compose
import gay.pizza.foundation.gjallarhorn.util.savePngFile
import gay.pizza.foundation.heimdall.view.BlockChangeView
import org.jetbrains.exposed.sql.Database import org.jetbrains.exposed.sql.Database
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

View File

@ -1,11 +1,5 @@
package cloud.kubelet.foundation.gjallarhorn.commands package gay.pizza.foundation.gjallarhorn.commands
import cloud.kubelet.foundation.gjallarhorn.export.ChunkExportLoader
import cloud.kubelet.foundation.gjallarhorn.export.CombinedChunkFormat
import cloud.kubelet.foundation.gjallarhorn.state.BlockExpanse
import cloud.kubelet.foundation.gjallarhorn.state.BlockLogTracker
import cloud.kubelet.foundation.gjallarhorn.state.ChangelogSlice
import cloud.kubelet.foundation.gjallarhorn.util.savePngFile
import com.github.ajalt.clikt.core.CliktCommand import com.github.ajalt.clikt.core.CliktCommand
import com.github.ajalt.clikt.core.requireObject import com.github.ajalt.clikt.core.requireObject
import com.github.ajalt.clikt.parameters.arguments.argument import com.github.ajalt.clikt.parameters.arguments.argument
@ -14,6 +8,12 @@ import com.github.ajalt.clikt.parameters.options.option
import com.github.ajalt.clikt.parameters.types.enum import com.github.ajalt.clikt.parameters.types.enum
import com.github.ajalt.clikt.parameters.types.int import com.github.ajalt.clikt.parameters.types.int
import com.github.ajalt.clikt.parameters.types.path import com.github.ajalt.clikt.parameters.types.path
import gay.pizza.foundation.gjallarhorn.export.ChunkExportLoader
import gay.pizza.foundation.gjallarhorn.export.CombinedChunkFormat
import gay.pizza.foundation.gjallarhorn.state.BlockExpanse
import gay.pizza.foundation.gjallarhorn.state.BlockLogTracker
import gay.pizza.foundation.gjallarhorn.state.ChangelogSlice
import gay.pizza.foundation.gjallarhorn.util.savePngFile
import kotlinx.serialization.json.Json import kotlinx.serialization.json.Json
import kotlinx.serialization.json.decodeFromStream import kotlinx.serialization.json.decodeFromStream
import kotlinx.serialization.json.encodeToStream import kotlinx.serialization.json.encodeToStream

View File

@ -1,7 +1,7 @@
package cloud.kubelet.foundation.gjallarhorn.commands package gay.pizza.foundation.gjallarhorn.commands
import cloud.kubelet.foundation.gjallarhorn.render.* import gay.pizza.foundation.gjallarhorn.render.*
import cloud.kubelet.foundation.gjallarhorn.state.BlockExpanse import gay.pizza.foundation.gjallarhorn.state.BlockExpanse
import org.jetbrains.exposed.sql.Database import org.jetbrains.exposed.sql.Database
@Suppress("unused") @Suppress("unused")

View File

@ -1,11 +1,11 @@
package cloud.kubelet.foundation.gjallarhorn.commands package gay.pizza.foundation.gjallarhorn.commands
import cloud.kubelet.foundation.gjallarhorn.state.PlayerPositionChangelog
import cloud.kubelet.foundation.gjallarhorn.util.compose
import cloud.kubelet.foundation.heimdall.table.PlayerPositionTable
import com.github.ajalt.clikt.core.CliktCommand import com.github.ajalt.clikt.core.CliktCommand
import com.github.ajalt.clikt.core.requireObject import com.github.ajalt.clikt.core.requireObject
import com.github.ajalt.clikt.parameters.options.option import com.github.ajalt.clikt.parameters.options.option
import gay.pizza.foundation.gjallarhorn.state.PlayerPositionChangelog
import gay.pizza.foundation.gjallarhorn.util.compose
import gay.pizza.foundation.heimdall.table.PlayerPositionTable
import org.jetbrains.exposed.sql.Database import org.jetbrains.exposed.sql.Database
import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq
import org.jetbrains.exposed.sql.SqlExpressionBuilder.greaterEq import org.jetbrains.exposed.sql.SqlExpressionBuilder.greaterEq
@ -13,7 +13,7 @@ import org.jetbrains.exposed.sql.SqlExpressionBuilder.lessEq
import org.jetbrains.exposed.sql.and import org.jetbrains.exposed.sql.and
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.UUID
class PlayerPositionExport : CliktCommand(name = "export-player-positions", help = "Export Player Positions") { class PlayerPositionExport : CliktCommand(name = "export-player-positions", help = "Export Player Positions") {
private val db by requireObject<Database>() private val db by requireObject<Database>()

View File

@ -1,16 +1,16 @@
package cloud.kubelet.foundation.gjallarhorn.commands package gay.pizza.foundation.gjallarhorn.commands
import cloud.kubelet.foundation.gjallarhorn.util.compose
import cloud.kubelet.foundation.heimdall.table.PlayerSessionTable
import com.github.ajalt.clikt.core.CliktCommand import com.github.ajalt.clikt.core.CliktCommand
import com.github.ajalt.clikt.core.requireObject import com.github.ajalt.clikt.core.requireObject
import com.github.ajalt.clikt.parameters.options.option import com.github.ajalt.clikt.parameters.options.option
import gay.pizza.foundation.gjallarhorn.util.compose
import gay.pizza.foundation.heimdall.table.PlayerSessionTable
import org.jetbrains.exposed.sql.Database import org.jetbrains.exposed.sql.Database
import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq
import org.jetbrains.exposed.sql.and import org.jetbrains.exposed.sql.and
import org.jetbrains.exposed.sql.select import org.jetbrains.exposed.sql.select
import org.jetbrains.exposed.sql.transactions.transaction import org.jetbrains.exposed.sql.transactions.transaction
import java.util.* import java.util.UUID
class PlayerSessionExport : CliktCommand(name = "export-player-sessions", help = "Export Player Sessions") { class PlayerSessionExport : CliktCommand(name = "export-player-sessions", help = "Export Player Sessions") {
private val db by requireObject<Database>() private val db by requireObject<Database>()

View File

@ -1,10 +1,10 @@
package cloud.kubelet.foundation.gjallarhorn.export package gay.pizza.foundation.gjallarhorn.export
import cloud.kubelet.foundation.gjallarhorn.state.BlockCoordinate import gay.pizza.foundation.gjallarhorn.state.BlockCoordinate
import cloud.kubelet.foundation.gjallarhorn.state.BlockLogTracker import gay.pizza.foundation.gjallarhorn.state.BlockLogTracker
import cloud.kubelet.foundation.gjallarhorn.state.BlockState import gay.pizza.foundation.gjallarhorn.state.BlockState
import cloud.kubelet.foundation.gjallarhorn.state.SparseBlockStateMap import gay.pizza.foundation.gjallarhorn.state.SparseBlockStateMap
import cloud.kubelet.foundation.heimdall.export.ExportedChunk import gay.pizza.foundation.heimdall.export.ExportedChunk
import kotlinx.serialization.json.Json import kotlinx.serialization.json.Json
import kotlinx.serialization.json.decodeFromStream import kotlinx.serialization.json.decodeFromStream
import org.slf4j.LoggerFactory import org.slf4j.LoggerFactory

View File

@ -0,0 +1,11 @@
package gay.pizza.foundation.gjallarhorn.export
import gay.pizza.foundation.gjallarhorn.state.BlockExpanse
import gay.pizza.foundation.gjallarhorn.state.SparseBlockStateMap
import kotlinx.serialization.Serializable
@Serializable
class CombinedChunkFormat(
val expanse: BlockExpanse,
val map: SparseBlockStateMap
)

View File

@ -0,0 +1,14 @@
package gay.pizza.foundation.gjallarhorn
import com.github.ajalt.clikt.core.subcommands
import gay.pizza.foundation.gjallarhorn.commands.BlockChangeTimelapseCommand
import gay.pizza.foundation.gjallarhorn.commands.ChunkExportLoaderCommand
import gay.pizza.foundation.gjallarhorn.commands.PlayerPositionExport
import gay.pizza.foundation.gjallarhorn.commands.PlayerSessionExport
fun main(args: Array<String>) = GjallarhornCommand().subcommands(
BlockChangeTimelapseCommand(),
PlayerSessionExport(),
PlayerPositionExport(),
ChunkExportLoaderCommand()
).main(args)

Some files were not shown because too many files have changed in this diff Show More