Package-level declarations

Types

Link copied to clipboard
data class AllyInviteSnapshot(val id: Int, val sourceFactionId: Int, val targetFactionId: Int, val expiresAtEpochMillis: Long)
Link copied to clipboard
data class BanSnapshot(val id: Int, val factionId: Int, val userId: Int)
Link copied to clipboard
data class ClaimKey(val world: String, val chunkX: Int, val chunkZ: Int)
Link copied to clipboard
class ClaimRepository(dispatcher: StorageDispatcher, cache: ClaimStateCache, loadSnapshot: () -> GameStateSnapshot)
Link copied to clipboard
data class ClaimSnapshot(val key: ClaimKey, val factionId: Int, val zoneType: String, val clusterId: UUID?, val isRaidable: Boolean, val id: Int = 0)
Link copied to clipboard
Link copied to clipboard
data class FactionSnapshot(val id: Int, val name: String, val owner: UUID, val joinType: String, val accumulatedPower: Int, val maxPower: Int, val claimCount: Int, val defaultRankId: Int = 0, val iconBase64: String? = null)
Link copied to clipboard

Runtime mutations expressed only in immutable scalar input and executed by StorageManager.

Link copied to clipboard
data class GameStateSnapshot(val claims: Map<ClaimKey, ClaimSnapshot>, val factions: Map<Int, FactionSnapshot>, val users: Map<UUID, UserSnapshot>, val playerNames: Map<UUID, String>, val ranks: Map<Int, RankSnapshot> = emptyMap(), val invites: Map<Int, InviteSnapshot> = emptyMap(), val bans: Map<Int, BanSnapshot> = emptyMap(), val relations: Set<RelationSnapshot> = emptySet(), val allyInvites: Map<Int, AllyInviteSnapshot> = emptyMap(), val homes: Map<Int, HomeSnapshot> = emptyMap(), val usageLimits: Map<UsageLimitKey, Int> = emptyMap())
Link copied to clipboard
data class HomeSnapshot(val factionId: Int, val world: String, val x: Double, val y: Double, val z: Double)
Link copied to clipboard
data class InviteSnapshot(val id: Int, val inviterUserId: Int, val invitedUserId: Int, val factionId: Int, val rankId: Int, val expiresAtEpochMillis: Long)
Link copied to clipboard
Link copied to clipboard
class JdbcStorageRepository(dataSource: DataSource, dispatcher: StorageDispatcher, snapshots: ClaimRepository)

The only runtime JDBC write boundary. Commands must contain copied scalar/DTO input only.

Link copied to clipboard
class KnownPlayerRepository(dataSource: DataSource, databaseType: DatabaseType)
Link copied to clipboard
class MainThreadContinuation(schedule: (Runnable) -> Unit)
Link copied to clipboard
data class RaidSnapshotConfig(val allowOverclaim: Boolean, val claimPowerKeep: Double, val guestRankName: String)
Link copied to clipboard
data class RankSnapshot(val id: Int, val factionId: Int, val name: String, val priority: Int, val permissions: Set<String>)
Link copied to clipboard
data class RelationSnapshot(val sourceFactionId: Int, val targetFactionId: Int, val type: String)
Link copied to clipboard

Starts the initial snapshot load on the storage dispatcher.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class UsageLimitKey(val registry: String, val playerId: UUID)
Link copied to clipboard
data class UserSnapshot(val uniqueId: UUID, val factionId: Int, val rankName: String, val id: Int = 0, val rankId: Int = 0, val rankPriority: Int = -1, val permissions: Set<String> = emptySet())

Functions

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun Chunk.claimKey(): ClaimKey
fun Location.claimKey(): ClaimKey
fun Block.claimKey(): ClaimKey
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard