Skip to content

Commit b8c90d2

Browse files
Added method to check snapshot state of TileStates (#7325)
1 parent 8788bf7 commit b8c90d2

File tree

2 files changed

+36
-1
lines changed

2 files changed

+36
-1
lines changed

patches/api/0074-API-to-get-a-BlockState-without-a-snapshot.patch

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,26 @@ index ce1e1e6cc6740d568fbf859c7e2c014fab5a59cd..62ab55729e69bfac8eb4b40d877b945d
2929
/**
3030
* Returns the biome that this block resides in
3131
*
32+
diff --git a/src/main/java/org/bukkit/block/TileState.java b/src/main/java/org/bukkit/block/TileState.java
33+
index 3b10fcc13893403b29f0260b8605144679e89b82..5c8517c5bcae10161952c104b6a4ff7c713bcdbd 100644
34+
--- a/src/main/java/org/bukkit/block/TileState.java
35+
+++ b/src/main/java/org/bukkit/block/TileState.java
36+
@@ -36,4 +36,18 @@ public interface TileState extends BlockState, PersistentDataHolder {
37+
@NotNull
38+
@Override
39+
PersistentDataContainer getPersistentDataContainer();
40+
+
41+
+ // Paper start
42+
+ /**
43+
+ * Checks if this TileState is a snapshot or a live
44+
+ * representation of the underlying tile entity.
45+
+ * <p>
46+
+ * NOTE: You may still have to call {@link BlockState#update()} on
47+
+ * live representations to update any visuals on the block.
48+
+ *
49+
+ * @return true if this is a snapshot
50+
+ * @see Block#getState(boolean)
51+
+ */
52+
+ boolean isSnapshot();
53+
+ // Paper end
54+
}

patches/server/0164-API-to-get-a-BlockState-without-a-snapshot.patch

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ index 52fc42050d5df0882586c8f4bb4890ef1dbf979e..ba8f9ffed49bf377be8b37532d4f2bdc
6969
public Biome getBiome() {
7070
return this.getWorld().getBiome(this.getX(), this.getY(), this.getZ());
7171
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java
72-
index 7629a51ec284cab0db7e9238027d6acfa4f3083c..c2c0b4bfab64394e55f2832e37e49bccb7e955ab 100644
72+
index 7629a51ec284cab0db7e9238027d6acfa4f3083c..a76cce199acdcecfdd8b998ec08974c2ed0751cf 100644
7373
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java
7474
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java
7575
@@ -10,15 +10,26 @@ public class CraftBlockEntityState<T extends BlockEntity> extends CraftBlockStat
@@ -101,6 +101,18 @@ index 7629a51ec284cab0db7e9238027d6acfa4f3083c..c2c0b4bfab64394e55f2832e37e49bcc
101101
}
102102

103103
public void refreshSnapshot() {
104+
@@ -105,4 +116,11 @@ public class CraftBlockEntityState<T extends BlockEntity> extends CraftBlockStat
105+
public PersistentDataContainer getPersistentDataContainer() {
106+
return this.getSnapshot().persistentDataContainer;
107+
}
108+
+
109+
+ // Paper start
110+
+ @Override
111+
+ public boolean isSnapshot() {
112+
+ return !this.snapshotDisabled;
113+
+ }
114+
+ // Paper end
115+
}
104116
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java
105117
index 51ea68c433c4d530f8404d3174c5a121ce808a96..93a8aeb5545c794ac425c35f8af52a443cd060ca 100644
106118
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java

0 commit comments

Comments
 (0)