Package-level declarations

Types

Link copied to clipboard
class CompassAction : ScriptAction<Any?>

Compass arguments evaluate in source order, including asynchronous coordinate expressions.

Link copied to clipboard
Link copied to clipboard
data class CompassCollision(val mode: String = "stack", val rows: Int = 2, val rowOffsetY: Int = -24)
Link copied to clipboard
data class CompassElement(val template: String = "", val id: String? = null)

A layout's compass binding. Omitted id shares the template's target collection.

Link copied to clipboard

One placement has finite rows. Horizontal bearing never allocates fonts, coordinates or textures.

Link copied to clipboard
Link copied to clipboard
data class CompassPosition(val worldId: UUID, val x: Double, val y: Double, val z: Double, val worldName: String = "")

Immutable world coordinates. No World/Entity/Player objects are retained in target data.

Link copied to clipboard
data class CompassProjection(val angle: Double, val x: Double, val distance: Double, val heightDifference: Double, val edge: String)
Link copied to clipboard
data class CompassResolution(val position: CompassPosition? = null, val entityId: UUID? = null)
Link copied to clipboard
sealed class CompassSource
Link copied to clipboard
interface CompassStorage

Physical storage adapter for one plugin-owned compass namespace.

Link copied to clipboard

Plugin-scoped target API returned by XerrCompassAPI.registerStorage. Target IDs passed here are local IDs; Xerr adds the registration owner namespace internally.

Link copied to clipboard
data class CompassTarget(val id: String, val source: CompassSource, val marker: String = "default", val label: String = "", val priority: Int = 0, val variables: Map<String, String> = emptyMap())
Link copied to clipboard
data class CompassTargetInfo(val target: CompassTarget, val position: CompassPosition?, val entityId: UUID?, val provider: String? = null)
Link copied to clipboard
fun interface CompassTargetProvider

Java-friendly dynamic target source. Provider snapshots do not emit managed target add/remove events.

Link copied to clipboard
data class CompassTemplate(val width: Int = 180, val fov: Double = 180.0, val refresh: Int = 1, val markerRefresh: Int = 5, val distanceMode: String = "horizontal", val directions: Map<String, String> = emptyMap(), val ticks: CompassTicks = CompassTicks(), val indicator: String? = null, val outside: String = "hide", val maxMarkers: Int = 0, val sort: List<String> = listOf("priority-desc", "distance-asc"), val collision: CompassCollision = CompassCollision(), val markers: Map<String, String> = emptyMap())

Templates describe appearance only; positions belong to layouts and targets belong to runtime data.

Link copied to clipboard

Templates and bindings are rebuilt together; target data lives separately.

Link copied to clipboard
data class CompassTicks(val step: Int = 15, val layout: String? = null)
Link copied to clipboard
interface XerrCompassAPI

Stable compass API exposed by com.hiusers.xerr.api.XerrAPI.