BlockPistonExtendEvent doesn't fire when nothing is pushed
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 12.7k
- Forks
- 3.5k
- Avg merge
- 3d 13h
- Merged PRs (30d)
- 11
Description
Expected behavior
BlockPistonExtendEvent should fire when a piston is activated even if nothing is pushed.
Observed/Actual behavior
The event does not fire when the piston pushes no blocks.
Steps/models to reproduce
Listen for BlockPistonExtendEvent, trigger a piston which is set up to push air & observe nothing even though the piston clearly fires. The event doesn't fire when blocks aren't pushed.
Plugin and Datapack List
No datapacks & no other plugins.
Paper version
Paper version git-Paper-485 (MC: 1.20.4) (Implementing API version 1.20.4-R0.1-SNAPSHOT) (Git: https://github.com/PaperMC/Paper/commit/862299b6a6588ff60db69dbc40e8514f9690d318)
Other
When looking at the paper documentation the described behavior for BlockPistonExtendEvent is "Called when a piston extends" which doesn't seem to be the case if nothing is pushed. BlockPistonRetractEvent has the same issue.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing where BlockPistonExtendEvent and BlockPistonRetractEvent are dispatched during piston activation, especially when no blocks are pushed. Reproduce the behavior on Paper 1.20.4 with the event listener described in the issue. Done means both events fire consistently when their pistons extend or retract, including empty pushes or pulls, with tests covering the behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- api
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100