Skip to content

Conversation

@samrussell
Copy link
Contributor

AbstractArrow.startFalling() and AbstractArrow.lerpMotion() reset AbstractArrow.life to 0. This patch disables this when maxArrowDespawnInvulnerability is enabled and prevents players from keeping an arrow alive by letting it periodically fall (e.g. with an up-facing piston on a timer)

Related to #13409 and fixes a loophole for the fix in #3859

AbstractArrow.startFalling() and AbstractArrow.lerpMotion() reset
AbstractArrow.life to 0. This patch disables this when
maxArrowDespawnInvulnerability is enabled and prevents players
from keeping an arrow alive by letting it periodically fall
(e.g. with an up-facing piston on a timer)
@samrussell samrussell requested a review from a team as a code owner December 28, 2025 11:38
@github-project-automation github-project-automation bot moved this to Awaiting review in Paper PR Queue Dec 28, 2025
@Owen1212055 Owen1212055 merged commit 7813de1 into PaperMC:main Dec 29, 2025
5 checks passed
@github-project-automation github-project-automation bot moved this from Awaiting review to Merged in Paper PR Queue Dec 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Merged

Development

Successfully merging this pull request may close these issues.

3 participants