aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/features/world/FirmWaypoints.kt
blob: 1f368f60a98055c0808411c16fbfb8fc858d89d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package moe.nea.firmament.features.world

import net.minecraft.util.math.BlockPos

data class FirmWaypoints(
	var label: String,
	var id: String,
	/**
	 * A hint to indicate where to stand while loading the waypoints.
	 */
	var isRelativeTo: String?,
	var waypoints: MutableList<Waypoint>,
	var isOrdered: Boolean,
	// TODO: val resetOnSwap: Boolean,
) {
	val size get() = waypoints.size
	data class Waypoint(
		val x: Int,
		val y: Int,
		val z: Int,
	) {
		val blockPos get() = BlockPos(x, y, z)

		companion object {
			fun from(blockPos: BlockPos) = Waypoint(blockPos.x, blockPos.y, blockPos.z)
		}
	}
}