LorekeeperOutpostService

Handles permanent Lorekeeper outposts (HQ + settlement newsies) backed by world persistence.

Types

Link copied to clipboard
data class ForceRespawnResult(val hqConfigured: Boolean, val hqRespawned: Boolean, val newsieSitesConsidered: Int, val newsiesRespawned: Int, val staleSitesRemoved: Int)

Summary of one force-respawn operation.

Link copied to clipboard

Scope selector for forced outpost respawn operations.

Link copied to clipboard

Kind of permanent outpost lectern placement to apply.

Functions

Link copied to clipboard
fun buildHqLocationMessage(player: ServerPlayer): String

Returns a lorekeeper-style message guiding the player to HQ.

Link copied to clipboard
fun canPlaceOutpostLectern(player: ServerPlayer, level: ServerLevel, placementKind: LorekeeperOutpostService.PlacementKind): Boolean

Validates whether this player can place an outpost lectern now.

Link copied to clipboard

Force-respawns outpost NPCs for the provided dimension.

Link copied to clipboard
fun grantHqLectern(player: ServerPlayer)

Grants an HQ lectern placement item to an admin player.

Link copied to clipboard
fun grantNewsieLectern(player: ServerPlayer)

Grants a settlement newsie lectern placement item to an admin player.

Link copied to clipboard

Returns true when this Lorekeeper entity is the HQ Lorekeeper.

Link copied to clipboard

Returns true when this Lorekeeper entity is a settlement newsie.

Link copied to clipboard

Returns true when this Lorekeeper entity is a permanent outpost NPC.

Link copied to clipboard
fun onOutpostLecternPlaced(level: ServerLevel, player: ServerPlayer, clickedPos: BlockPos, face: Direction, placementKind: LorekeeperOutpostService.PlacementKind)

Finalizes outpost placement from a successful lectern item placement.

Link copied to clipboard
fun register()

Registers outpost penalties and maintenance ticking.

Link copied to clipboard
fun sendHqLocation(player: ServerPlayer)

Sends the local-dimension HQ coordinates, if configured.