aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/api/0105-Location.toBlockLocation-toCenterLocation.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/api/0105-Location.toBlockLocation-toCenterLocation.patch')
-rw-r--r--patches/api/0105-Location.toBlockLocation-toCenterLocation.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/patches/api/0105-Location.toBlockLocation-toCenterLocation.patch b/patches/api/0105-Location.toBlockLocation-toCenterLocation.patch
new file mode 100644
index 0000000000..30032ac6cf
--- /dev/null
+++ b/patches/api/0105-Location.toBlockLocation-toCenterLocation.patch
@@ -0,0 +1,43 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Aikar <[email protected]>
+Date: Thu, 24 May 2018 21:01:13 -0400
+Subject: [PATCH] Location.toBlockLocation/toCenterLocation()
+
+Convert location objects to their block coordinates, or the center of the block
+
+diff --git a/src/main/java/org/bukkit/Location.java b/src/main/java/org/bukkit/Location.java
+index e71beb48f2e35d97b9d5bf8dbf5ddbc0673565fe..5a219f132747eb62204e98de4cb850748a43c9b4 100644
+--- a/src/main/java/org/bukkit/Location.java
++++ b/src/main/java/org/bukkit/Location.java
+@@ -534,6 +534,31 @@ public class Location implements Cloneable, ConfigurationSerializable, io.paperm
+ }
+
+ public boolean isChunkLoaded() { return this.getWorld().isChunkLoaded(locToBlock(x) >> 4, locToBlock(z) >> 4); } // Paper
++
++ // Paper start
++ /**
++ * @return A new location where X/Y/Z are on the Block location (integer value of X/Y/Z)
++ */
++ @NotNull
++ public Location toBlockLocation() {
++ Location blockLoc = clone();
++ blockLoc.setX(getBlockX());
++ blockLoc.setY(getBlockY());
++ blockLoc.setZ(getBlockZ());
++ return blockLoc;
++ }
++ /**
++ * @return A new location where X/Y/Z are the center of the block
++ */
++ @NotNull
++ public Location toCenterLocation() {
++ Location centerLoc = clone();
++ centerLoc.setX(getBlockX() + 0.5);
++ centerLoc.setY(getBlockY() + 0.5);
++ centerLoc.setZ(getBlockZ() + 0.5);
++ return centerLoc;
++ }
++ // Paper end
+ @Override
+ public boolean equals(Object obj) {
+ if (obj == null) {