2021-06-11 14:02:28 +02:00
|
|
|
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
|
2021-09-01 14:03:36 +02:00
|
|
|
index 9c06b9c3a4ebb2bd5dae63b337779e3e7ca90862..50ef424e74b6f92fcc61a293fb92a0b9f88eb8cd 100644
|
2021-06-11 14:02:28 +02:00
|
|
|
--- 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;
|
2021-09-01 14:03:36 +02:00
|
|
|
@@ -104,13 +106,36 @@ public interface Chunk extends PersistentDataHolder {
|
2021-06-11 14:02:28 +02:00
|
|
|
@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.
|