ZoneGuard.kt
Branches > main > bfb8108 > files / src / main / kotlin / net / bowmap / handlers / ZoneGuard.kt
package net.bowmap.handlers
import net.bowmap.stormbow.*
import net.bowmap.stormbow.game.*
import net.bowmap.server.fact.*
// data class Region(val from: Location, val to: Location) {
// init {
// require(from.world == to.world) {
// "Regions can only exist in a single world"
// }
// }
// }
//
// // TODO hmm...
// // Would prefer if I didn't have to just rely on this
// val spawn = Region(Location(5, spawnWorld.minHeight.toDouble(), -5.0), Location(spawnWorld, -5.0, spawnWorld.maxHeight - 1.0, 5.0))
//
// fun isInsideRegion(region: Region, location: Location): Boolean {
// if (location.world != region.from.world) return false
//
// val minX = minOf(region.from.blockX, region.to.blockX)
// val maxX = maxOf(region.from.blockX, region.to.blockX)
//
// val minY = minOf(region.from.blockY, region.to.blockY)
// val maxY = maxOf(region.from.blockY, region.to.blockY)
//
// val minZ = minOf(region.from.blockZ, region.to.blockZ)
// val maxZ = maxOf(region.from.blockZ, region.to.blockZ)
//
// return location.blockX in minX..maxX &&
// location.blockY in minY..maxY &&
// location.blockZ in minZ..maxZ
// }
fun isBlockInSpawn(b: Block): Boolean =
// isInsideRegion(spawn, b.location)
false
fun handleBlockBreak(f: PlayerBrokeBlock): Effects =
if (isBlockInSpawn(f.block)) {
Effects(Cancel())
} else {
Effects()
}