13
0
geforkt von Mirrors/Paper

Added method to check snapshot state of TileStates (#7325)

Dieser Commit ist enthalten in:
Jake Potrebic 2022-03-16 18:28:06 -07:00
Ursprung f258c4f2e9
Commit 2f393a5bdd
2 geänderte Dateien mit 35 neuen und 0 gelöschten Zeilen

Datei anzeigen

@ -29,3 +29,26 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
/**
* Returns the biome that this block resides in
*
diff --git a/src/main/java/org/bukkit/block/TileState.java b/src/main/java/org/bukkit/block/TileState.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/block/TileState.java
+++ b/src/main/java/org/bukkit/block/TileState.java
@@ -0,0 +0,0 @@ public interface TileState extends BlockState, PersistentDataHolder {
@NotNull
@Override
PersistentDataContainer getPersistentDataContainer();
+
+ // Paper start
+ /**
+ * Checks if this TileState is a snapshot or a live
+ * representation of the underlying tile entity.
+ * <p>
+ * NOTE: You may still have to call {@link BlockState#update()} on
+ * live representations to update any visuals on the block.
+ *
+ * @return true if this is a snapshot
+ * @see Block#getState(boolean)
+ */
+ boolean isSnapshot();
+ // Paper end
}

Datei anzeigen

@ -101,6 +101,18 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
}
public void refreshSnapshot() {
@@ -0,0 +0,0 @@ public class CraftBlockEntityState<T extends BlockEntity> extends CraftBlockStat
public PersistentDataContainer getPersistentDataContainer() {
return this.getSnapshot().persistentDataContainer;
}
+
+ // Paper start
+ @Override
+ public boolean isSnapshot() {
+ return !this.snapshotDisabled;
+ }
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java