ef0e5a642d
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 9ae3f10f SPIGOT-3842: Add Player#fireworkBoost() and expand Firework API 48c0c547 PR-786: Add methods to get sounds from entities CraftBukkit Changes: 5cc9c022a SPIGOT-7152: Handle hand item changing during air interact event 4ffa1acf6 SPIGOT-7154: Players get kicked when interacting with a conversation 4daa21123 SPIGOT-3842: Add Player#fireworkBoost() and expand Firework API e5d6a9bbf PR-1100: Add methods to get sounds from entities b7e9f1c8b SPIGOT-7146: Reduce use of Material switch in ItemMeta Spigot Changes: 4c157bb4 Rebuild patches
58 Zeilen
2.6 KiB
Diff
58 Zeilen
2.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
|
|
Date: Wed, 6 Oct 2021 20:10:36 -0400
|
|
Subject: [PATCH] Collision API
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/RegionAccessor.java b/src/main/java/org/bukkit/RegionAccessor.java
|
|
index 3f7e860de4e28745fcdf8d2f41f4a8c210f48909..39fa4c65e0f61450901662ff5c08d54a5d9841b2 100644
|
|
--- a/src/main/java/org/bukkit/RegionAccessor.java
|
|
+++ b/src/main/java/org/bukkit/RegionAccessor.java
|
|
@@ -424,5 +424,15 @@ public interface RegionAccessor extends Keyed { // Paper
|
|
* @return whether a line of sight exists between {@code from} and {@code to}
|
|
*/
|
|
public boolean lineOfSightExists(@NotNull Location from, @NotNull Location to);
|
|
+
|
|
+ /**
|
|
+ * Checks if the world collides with the given boundingbox.
|
|
+ * This will check for any colliding hard entities (boats, shulkers) / worldborder / blocks.
|
|
+ * Does not load chunks that are within the bounding box.
|
|
+ *
|
|
+ * @param boundingBox the box to check collisions in
|
|
+ * @return collides or not
|
|
+ */
|
|
+ boolean hasCollisionsIn(@NotNull org.bukkit.util.BoundingBox boundingBox);
|
|
// Paper end
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
|
|
index 321f3ec6c7020ada38143832aea1c545850b9b21..6dd81f07ef4d6993187987d3352a01771ffb715e 100644
|
|
--- a/src/main/java/org/bukkit/entity/Entity.java
|
|
+++ b/src/main/java/org/bukkit/entity/Entity.java
|
|
@@ -924,4 +924,26 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
|
|
*/
|
|
boolean isInPowderedSnow();
|
|
// Paper end
|
|
+
|
|
+ // Paper Start - Collision API
|
|
+ /**
|
|
+ * Checks for any collisions with the entity's bounding box at the provided location.
|
|
+ * This will check for any colliding entities (boats, shulkers) / worldborder / blocks.
|
|
+ * Does not load chunks that are within the bounding box at the specified location.
|
|
+ *
|
|
+ * @param location the location to check collisions in
|
|
+ * @return collides or not
|
|
+ */
|
|
+ boolean collidesAt(@NotNull Location location);
|
|
+
|
|
+ /**
|
|
+ * This checks using the given boundingbox as the entity's boundingbox if the entity would collide with anything.
|
|
+ * This will check for any colliding entities (boats, shulkers) / worldborder / blocks.
|
|
+ * Does not load chunks that are within the bounding box.
|
|
+ *
|
|
+ * @param boundingBox the box to check collisions in
|
|
+ * @return collides or not
|
|
+ */
|
|
+ boolean wouldCollideUsing(@NotNull BoundingBox boundingBox);
|
|
+ // Paper End - Collision API
|
|
}
|