Description

The bug

Exploding tnt minecarts drop a minecart and can drop a tnt item if they were ignited by fire. Normally the explosion then destroys the items, but there should not be a reason for the minecart to drop anything in the first place. Additionally MC-116669 can be used to prevent the explosion from destroying the items.

How to reproduce

Use the steps provided in MC-116669 and then enter the world again after the crash.
→ All exploded minecarts dropped an item

Code analysis

Based on 1.11.2 decompiled using MCP 9.35 rc1

The method net.minecraft.entity.item.EntityMinecartTNT.killMinecart(DamageSource) calls the parent method and drops the tnt item regardless of whether or not the minecart exploded.

Important: If this is changed so that the parent method is not called all the time this method should first mark the entity as dead, otherwise MC-116669 could cause two exploding tnt minecarts to explode each other infinitely and multiple times.