e105354330
Also fixes EntityBreakDoorEvent not having the correct 'to' block data Also standardizes how to handle EntityChangeBlockEvent before a removeBlock or destroyBlock call. Always use 'state.getFluidState().createLegacyBlock()' to get the new state instead of just using the 'air' state.
56 Zeilen
1.5 KiB
Diff
56 Zeilen
1.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
|
|
Date: Sat, 4 Dec 2021 13:29:45 -0500
|
|
Subject: [PATCH] Add Moving Piston API
|
|
|
|
|
|
diff --git a/src/main/java/io/papermc/paper/block/MovingPiston.java b/src/main/java/io/papermc/paper/block/MovingPiston.java
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..ee7c85abf66dc11920bb29f9ce3b407121a665ee
|
|
--- /dev/null
|
|
+++ b/src/main/java/io/papermc/paper/block/MovingPiston.java
|
|
@@ -0,0 +1,43 @@
|
|
+package io.papermc.paper.block;
|
|
+
|
|
+import org.bukkit.block.BlockFace;
|
|
+import org.bukkit.block.TileState;
|
|
+import org.bukkit.block.data.BlockData;
|
|
+import org.jetbrains.annotations.NotNull;
|
|
+
|
|
+public interface MovingPiston extends TileState {
|
|
+
|
|
+ /**
|
|
+ * Gets the block that is being pushed
|
|
+ *
|
|
+ * @return the pushed block
|
|
+ */
|
|
+ @NotNull
|
|
+ BlockData getMovingBlock();
|
|
+
|
|
+ /**
|
|
+ * The direction that the current moving piston
|
|
+ * is pushing/pulling a block in.
|
|
+ *
|
|
+ * @return the direction
|
|
+ */
|
|
+ @NotNull
|
|
+ BlockFace getDirection();
|
|
+
|
|
+ /**
|
|
+ * Gets if the piston is extending or not.
|
|
+ * Returns false if the piston is retracting.
|
|
+ *
|
|
+ * @return is extending or not
|
|
+ */
|
|
+ boolean isExtending();
|
|
+
|
|
+ /**
|
|
+ * Returns if this moving piston represents the main piston head
|
|
+ * from the original piston.
|
|
+ *
|
|
+ * @return is the piston head or not
|
|
+ */
|
|
+ boolean isPistonHead();
|
|
+
|
|
+}
|