diff options
Diffstat (limited to 'src/main/kotlin/io/dico/parcels2/util/Vec3i.kt')
-rw-r--r-- | src/main/kotlin/io/dico/parcels2/util/Vec3i.kt | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/main/kotlin/io/dico/parcels2/util/Vec3i.kt b/src/main/kotlin/io/dico/parcels2/util/Vec3i.kt index d400fac..a4655d0 100644 --- a/src/main/kotlin/io/dico/parcels2/util/Vec3i.kt +++ b/src/main/kotlin/io/dico/parcels2/util/Vec3i.kt @@ -1,13 +1,19 @@ package io.dico.parcels2.util +import org.bukkit.World +import org.bukkit.block.Block + data class Vec3i( val x: Int, val y: Int, val z: Int -) +) { + operator fun plus(o: Vec3i) = Vec3i(x + o.x, y + o.y, z + o.z) + infix fun addX(o: Int) = Vec3i(x + o, y, z) + infix fun addY(o: Int) = Vec3i(x, y + o, z) + infix fun addZ(o: Int) = Vec3i(x, y, z + o) + fun add(ox: Int, oy: Int, oz: Int) = Vec3i(x + ox, y + oy, z + oz) +} -data class MutableVec3i( - var x: Int, - var y: Int, - var z: Int -)
\ No newline at end of file +@Suppress("NOTHING_TO_INLINE") +inline operator fun World.get(vec: Vec3i): Block = getBlockAt(vec.x, vec.y, vec.z)
\ No newline at end of file |