Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-11-15 12:30:06 +01:00
ca708a0944
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: ed7bba95 SPIGOT-6547: Chunk#getEntities() doesn't return all entities immediately after chunk load d99a585c SPIGOT-6719: Add getTileEntities() to LimitedRegion CraftBukkit Changes: 422cec08 Rebuild patch 15f27fc7 SPIGOT-6547: Chunk#getEntities() doesn't return all entities immediately after chunk load cbd747af SPIGOT-6719: Add getTileEntities() to LimitedRegion Spigot Changes: 6c1c1b26 Rebuild patches
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 9c06b9c3a4ebb2bd5dae63b337779e3e7ca90862..50ef424e74b6f92fcc61a293fb92a0b9f88eb8cd 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;
|
|
@@ -104,13 +106,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.
|