summaryrefslogtreecommitdiff
path: root/src/main/kotlin/io/dico/parcels2/util/Vec3i.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/io/dico/parcels2/util/Vec3i.kt')
-rw-r--r--src/main/kotlin/io/dico/parcels2/util/Vec3i.kt18
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