5960af9d87
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: 7da4c0be SPIGOT-6729: Add Chunk.isEntitiesLoaded() CraftBukkit Changes: 9217b523 #929: Call EntityBlockFormEvent for Wither Rose placed by dead entity 757d42ae SPIGOT-6729: Add Chunk.isEntitiesLoaded()
58 Zeilen
1.8 KiB
Diff
58 Zeilen
1.8 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Wed, 15 Aug 2018 01:04:58 -0400
|
|
Subject: [PATCH] Ability to get Tile Entities from a chunk without snapshots
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/Chunk.java b/src/main/java/org/bukkit/Chunk.java
|
|
index 40ddeb7abd49eeece531a8e90b4508f3831cc3e9..5a4884db36d448c885e49c965ae329a0638dd628 100644
|
|
--- a/src/main/java/org/bukkit/Chunk.java
|
|
+++ b/src/main/java/org/bukkit/Chunk.java
|
|
@@ -1,6 +1,8 @@
|
|
package org.bukkit;
|
|
|
|
import java.util.Collection;
|
|
+import java.util.function.Predicate;
|
|
+
|
|
import org.bukkit.block.Block;
|
|
import org.bukkit.block.BlockState;
|
|
import org.bukkit.block.data.BlockData;
|
|
@@ -111,13 +113,36 @@ public interface Chunk extends PersistentDataHolder {
|
|
@NotNull
|
|
Entity[] getEntities();
|
|
|
|
+ // Paper start
|
|
/**
|
|
* Get a list of all tile entities in the chunk.
|
|
*
|
|
* @return The tile entities.
|
|
*/
|
|
@NotNull
|
|
- BlockState[] getTileEntities();
|
|
+ default BlockState[] getTileEntities() {
|
|
+ return getTileEntities(true);
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Get a list of all tile entities in the chunk.
|
|
+ *
|
|
+ * @param useSnapshot Take snapshots or direct references
|
|
+ * @return The tile entities.
|
|
+ */
|
|
+ @NotNull
|
|
+ BlockState[] getTileEntities(boolean useSnapshot);
|
|
+
|
|
+ /**
|
|
+ * Get a list of all tile entities that match a given predicate in the chunk.
|
|
+ *
|
|
+ * @param blockPredicate The predicate of blocks to return tile entities for
|
|
+ * @param useSnapshot Take snapshots or direct references
|
|
+ * @return The tile entities.
|
|
+ */
|
|
+ @NotNull
|
|
+ Collection<BlockState> getTileEntities(@NotNull Predicate<Block> blockPredicate, boolean useSnapshot);
|
|
+ // Paper end
|
|
|
|
/**
|
|
* Checks if the chunk is loaded.
|