Skip to content

Fix: call tickDeath for non-ticking armor stands - #14332

Open
JavierFlores09 wants to merge 1 commit into
PaperMC:mainfrom
JavierFlores09:fix/permanent-armor-stands
Open

JavierFlores09 wants to merge 1 commit into
PaperMC:mainfrom
JavierFlores09:fix/permanent-armor-stands

Conversation

@JavierFlores09

@JavierFlores09 JavierFlores09 commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

When entity.armor_stands.tick in paper-world-defaults.yml, or ArmorStand::canTick is set to false, it results in a non-ticking armor stand, which results in the death timer for a living entity with 0 health to never be incremented. This causes a non-ticking stand at 0 health to never be removed and reported as dead by isAlive() while still being tracked and saved with the world.

TL;DR: permanent armor stands by accident.

related issue: #14330

Skipping super.tick() skips LivingEntity#baseTick, which is the only
thing that advances the death timer for a living entity with 0 health.
Without this, a non-ticking stand at 0 health is never removed,
and is reported as dead by isAlive() while still being tracked and saved with the world.

TL;DR: permanent armor stands by accident

@Doc94 Doc94 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This only happen if you messs with NBT (like /summon minecraft:armor_stand ~ ~ ~ {Health:0}) or using NMS so i dont see reasons to not add this check.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Delayed approval

Development

Successfully merging this pull request may close these issues.

2 participants