geforkt von Mirrors/Paper
2f92d4e00e
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: 01bb6ba7 PR-936: Add new PersistentDataContainer methods and clean up docs bc145b90 PR-940: Create registry for banner pattern and cat type CraftBukkit Changes: cb2ea54de SPIGOT-7440, PR-1292: Fire EntityTeleportEvent for end gateways 4fea66e44 PR-1299: Add new PersistentDataContainer methods and clean up docs b483a20db PR-1303: Create registry for banner pattern and cat type 4642dd526 SPIGOT-7535: Fix maps not having an ID and also call MapInitializeEvent in more places
42 Zeilen
1.7 KiB
Diff
42 Zeilen
1.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
Date: Mon, 27 Mar 2023 10:20:06 -0700
|
|
Subject: [PATCH] Add Structure check API
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
|
|
index f72f0f0f8eee95f95adc969d55ba7de82ee30e2a..567a36a4887da8994c9170e2885aa8cc357efa0c 100644
|
|
--- a/src/main/java/org/bukkit/World.java
|
|
+++ b/src/main/java/org/bukkit/World.java
|
|
@@ -76,6 +76,30 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
|
|
*/
|
|
int getPlayerCount();
|
|
// Paper end
|
|
+ // Paper start - structure check API
|
|
+ /**
|
|
+ * Check if the naturally-generated structure exists at the position.
|
|
+ * <p>
|
|
+ * Note that if the position is not loaded, this may cause chunk loads/generation
|
|
+ * to check if a structure is at that position. Use {@link #isPositionLoaded(io.papermc.paper.math.Position)}
|
|
+ * to check if a position is loaded
|
|
+ *
|
|
+ * @param position the position to check at
|
|
+ * @param structure the structure to check for
|
|
+ * @return true if that structure exists at the position
|
|
+ */
|
|
+ boolean hasStructureAt(io.papermc.paper.math.@NotNull Position position, @NotNull Structure structure);
|
|
+
|
|
+ /**
|
|
+ * Checks if this position is loaded.
|
|
+ *
|
|
+ * @param position position to check
|
|
+ * @return true if loaded
|
|
+ */
|
|
+ default boolean isPositionLoaded(io.papermc.paper.math.@NotNull Position position) {
|
|
+ return this.isChunkLoaded(position.blockX() >> 4, position.blockZ() >> 4);
|
|
+ }
|
|
+ // Paper end
|
|
|
|
/**
|
|
* Gets the {@link Block} at the given coordinates
|