gnembon / fabric-carpet

Fabric Carpet
MIT License
1.73k stars 275 forks source link

Edgecase in optimizedTNT #1989

Open cubicmetre opened 2 months ago

cubicmetre commented 2 months ago

With the rule enabled, The first TnT to explode at a position forms a cache of the affected entities within the blast radius and uses that cache for future explosions which occur at the same position within the same tick. However this cache does not account for entities entering the blast radius after the intial cache is created.

For example it is possible for TnT to move into a position, explode, then an entity moves within range after the explosion and is not included in the intitial cache and gets ignored by future explosions at that position.

Slinel commented 2 months ago

It is also important to note that the exposure can change while explosion is processing, for example: explosion can kill an armor stand which instantly triggers a sculk catalyst which instantly sends block updates which instantly closes a trapdoor which changes the exposure for next entity to be processed, this behavior is occasionally useful in cannon tech and cache breaks it.