mojira.dev
MC-75045

Creeper {Fuse} NBT tag stuck at 30

I discovered, while attempting to find Creepers with a {Fuse} NBT value of under 30 (the default) that the value never decreases.
I wouldn't think it was a bug, except for the fact that the {Fuse} value of TNT decreases the closer it gets to exploding.

Linked issues

Attachments

Comments 15

Creepers are not constantly exploding, thus their fuse does not decrease.

The Fuse value decreases if you come near a Creeper in survival mode.

Actually, if you tested this bug before just brushing me off, it doesn't.
I mean it like this:
Create a scoreboard. Call it whatever. For the sake of this, I will call it "shortFuse"
Run on a /fill clock a command block with the commands

/scoreboard players set @e shortFuse 1 {Fuse:1s}

and

/scoreboard players set @e shortFuse 1 {Fuse:1b}

The first test for entities with the fuse value for creepers, and the second for the fuse value of TNT. They have different labels.

Then run another command block on the same /fill clock running

/execute @e[score_shortFuse_min=1] ~ ~ ~ /say Success

This will have any entity with a shortFuse value of 1 running the /say Success command.

Spawn some creepers. Run at them in survival. I guarantee there will not be a single success.
Create some TNT and set them off. I guarantee there WILL be some successes.

The value of TNT's fuse goes down as it nears explosion, but the value of creepers' does not.

Will test according your description.

5 more comments

"Fuse" is not meant to decrease. It holds the starting value of its internal fuse timer, which is only internal. Otherwise it could not know what value to return to if the player moves out of range while the creeper is beginning to explode. If the starting value was stored server-side, then exiting the world during a creeper's explosion phase would cause a loss of that starting value.

A separate tag would be required to hold the current value, which may be a feature request if not a different bug.

@Skylinerw

This bug here is not so much that the value doesn't decrease, but that there are 2 different tags with the same name. The TNT fuse tag does decrease, while the Creeper one doesn't.

Whether or not they have the same name is irrelevant. They are different tags that serve different purposes and are not inherited by the same class. TNT cannot stop its timer, creepers can. You'd be able to say that the id tag for entities is faulty because it doesn't include the same input from the id tag for items, or the Age tag on AreaEffectClouds is faulty because it doesn't despawn the entity after it reaches 6000 like the Age tag does with item entities. They are different tags that have specific purposes to their class and cannot be compared to one another.

EDIT: If needed, I have a list that details NBT inheritance here. Here's the two entity classes followed by their parent classes:

Creeper (Fuse) -> Monster -> Creature -> Living -> LivingBase -> Entity

PrimedTnt (Fuse) -> Entity

Both classes have their own Fuse tag. They are not inherited by a parent class, and are thus completely separate and are at the whim of the individual entity's class to determine the function of the tag. The function is not shared between two classes. The name is merely a coincidence.

Thank you Skylinerw for pointing out this is not a bug but a feature that Creeper NBT:fuse can not be tracked and expected to work like TNT NBT:fuse. Now the question is what NBT are we to track for Creeper fuse count down? Otherwise I guess we now have to suggest a real creeper fuse on Reddit and hope next year it gets added.

Connor Fauver

(Unassigned)

Community Consensus

Minecraft 1.8.1, Minecraft 1.8.3, Minecraft 1.8.8, Minecraft 15w37a

Retrieved