2f782a6652
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing CraftBukkit Changes: 17543ecf SPIGOT-5035: Error Using Virtual Merchant GUI 0fc6922b SPIGOT-5028: Villager#setVillagerExperience() doesn't work bdbdbe44 SPIGOT-5024: Fox error - Unknown target reason
46 lines
1.5 KiB
Diff
46 lines
1.5 KiB
Diff
From 0250a611d073217330818e22a7a9a10d66e0b942 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
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 6021e6729..4f695faf4 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 {
|
|
}
|
|
|
|
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) {
|
|
--
|
|
2.21.0
|
|
|