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..962b92d487b3c442d2fe8b665ec3b2d375aaa9aa --- /dev/null +++ b/src/main/java/io/papermc/paper/block/MovingPiston.java @@ -0,0 +1,42 @@ +package io.papermc.paper.block; + +import org.bukkit.block.BlockFace; +import org.bukkit.block.TileState; +import org.bukkit.block.data.BlockData; +import org.jspecify.annotations.NullMarked; + +@NullMarked +public interface MovingPiston extends TileState { + + /** + * Gets the block that is being pushed + * + * @return the pushed block + */ + BlockData getMovingBlock(); + + /** + * The direction that the current moving piston + * is pushing/pulling a block in. + * + * @return the direction + */ + 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(); + +}