EverArenas

Persistent arena definitions and template export utilities.

Arenas are defined by:

  • a stable key (lowercase a-z0-9_-),

  • the source dimension id, and

  • at least two points (inclusive bounds are derived from all points).

Templates are exported to .nbt files compatible with Nucleoid map-templates.

Types

Link copied to clipboard
data class ArenaDefinition(val key: String, val dimension: String, val pos1: EverArenas.ArenaPos, val pos2: EverArenas.ArenaPos, val extraPoints: List<EverArenas.ArenaPos>? = null, val spawnMarkers: List<EverArenas.ArenaPos>? = null, val yBounds: EverArenas.ArenaYBounds? = null)

Stored arena definition.

Link copied to clipboard
data class ArenaExtras(val extraPoints: List<BlockPos> = emptyList(), val spawnMarkers: List<BlockPos> = emptyList(), val yBounds: EverArenas.ArenaYBounds? = null)

Additional arena data beyond bounds: extra boundary points and spawn markers.

Link copied to clipboard
data class ArenaPos(val x: Int, val y: Int, val z: Int)

JSON-serializable position.

Link copied to clipboard
data class ArenaYBounds(val minY: Int, val maxY: Int)

Manual Y bounds used for template export scanning.

Link copied to clipboard
sealed interface DefineResult

Result of defining an arena.

Link copied to clipboard
sealed interface DeleteResult

Result of deleting an arena definition.

Link copied to clipboard
data class RefreshAllResult(val ok: Int, val failed: Int, val results: Map<String, EverArenas.RefreshResult>)

Aggregated result for refreshing all templates.

Link copied to clipboard
sealed interface RefreshResult

Result of refreshing a single template.

Functions

Link copied to clipboard

Returns all configured arenas sorted by key.

Link copied to clipboard
fun define(key: String, dimension: Identifier, pos1: BlockPos, pos2: BlockPos, yBounds: EverArenas.ArenaYBounds? = null): EverArenas.DefineResult

Creates or updates an arena definition.

Link copied to clipboard
fun defineWithExtraPoints(key: String, dimension: Identifier, pos1: BlockPos, pos2: BlockPos, extras: EverArenas.ArenaExtras = ArenaExtras()): EverArenas.DefineResult

Creates or updates an arena definition with additional points.

Link copied to clipboard
fun delete(key: String, deleteTemplate: Boolean = true): EverArenas.DeleteResult

Deletes an arena definition and (optionally) its exported template file.

Link copied to clipboard
fun exists(key: String): Boolean

Returns true if an arena definition exists for the given key.

Link copied to clipboard

Returns a single arena definition if present.

Link copied to clipboard
fun loadTemplate(server: MinecraftServer, key: String): MapTemplate?

Loads a previously exported template by key.

Link copied to clipboard

Returns the current maximum allowed export volume in blocks.

Link copied to clipboard
fun refreshAll(server: MinecraftServer): EverArenas.RefreshAllResult

Exports all stored arenas.

Link copied to clipboard
fun refreshTemplate(server: MinecraftServer, key: String): EverArenas.RefreshResult

Exports an arena to config/evermod/arenas/templates/<key>.nbt.

Link copied to clipboard

Validates an arena key and returns a human-readable error message, or null if valid.