mojira.dev
MC-274499

Falling block visual stuttering bug

COMMAND TO REPLICATE BUG HIGHLIGHTED AT THE BOTTOM

There exists a bug in current versions of Minecraft affecting certain types of Falling Block entities, specifically those that have a "position offset" (example: flowers, pointed dripstone, short and tall grass, most foliage) determined by the XZ coordinates and the world seed. Though happening very rarely in vanilla, both in-game circumstances and commands can easily demonstrate this visual bug.

[media]

When a Falling Block with a positional offset is spawned with or at any time during its fall is given (by tnt, a creeper, etc) enough horizontal velocity to cross the boundary into another XZ block position, the current rendering logic assumes that the Falling Block's visual offset must be updated to match its new position. This causes a horizontally moving pointed dripstone, for example, to stutter very jarringly along its trajectory. This "position offset" does not change along the Y axis which is why this bug can be difficult to spot in survival.

The proper rendering implementation for this should be very easy to set up since Falling Block's already contain data of where they spawned initially, which can be used to maintain the proper offset for the entirety of its trajectory. That said, this bug emerges from two classes within the code; ModelBlockRenderer and FallingBlockRender. ModelBlockRenderer has a problematic implementation where both the lighting and "position offset" are handled using the same block position (or BlockPos). This means that if you attempt to simply fix the issue by changing the inputted BlockPos to where the Falling Block initially spawned, as mentioned before, it will cause the entity to permanently retain the lighting of its initial spawning position, causing it to appear extremely unnatural as it falls through different light levels below it.

One way to address this is to allow the ModelBlockRenderer to accept an additional BlockPos object that contains the "position offset" data. That way both the lighting and offset data can be handled separately, since currently the logic that maintains proper lighting conversely breaks the offset rendering and vice versa. See:

[media]

Β 

After both changes are implemented, here's how it should look!

[media]

-

For the Mojang testers, you can easily confirm this bug for yourself by going into a 1.21 world with cheats and running:

/summon falling_block ~1 ~ ~ {BlockState:{Name:"minecraft:pointed_dripstone"},Time:1,Motion:[1.0,1.0,0.0]}

The entity will launch eastbound and you'll notice it stuttering as demonstrated.

Related issues

Attachments

Comments

migrated
[media][media][media]
Jarl-Penguin

Would MC-206356 describe your issue?

This issue is being temporarily resolved as Awaiting Response. Once the requested information has been delivered, the report will be reopened automatically.

Quick Links:
πŸ““ Bug Tracker Guidelines – πŸ’¬ Community Support – πŸ“§ Mojang Support (Technical Issues) – πŸ“§ Microsoft Support (Account Issues)
πŸ““ Project Summary – ✍️ Feedback and Suggestions – πŸ“– Game Wiki

migrated

@unknown Bug report MC-206356 does not describe my issue. My issue has nothing to do with the slowness of the falling block visual, but rather a bug regarding how the falling block renderer offsets the visual position of specific block types (example: flowers, pointed dripstone, short and tall grass, most foliage)Β depending on their XZ coordinates. Bug report MC-206356 does not include any of the aforementioned blocks that have the issue I've demonstrated, and in general seems to be demonstrating an entirely different issue than what I've presented.

Mine is also significantly easier to replicate, only requiring a single command rather than a redstone machine or fishing rod trick as seen in theirs.

migrated

@unknown I noticed you just added the other link that had been mentioned to the "related posts"... as I have said, these are categorically NOT the same issues. They have completely separate root causes. If this could please be remedied that would be greatly appreciated!

violine1101

Related does not mean it's the same, it just means the issue is similar.

migrated

@unknown Okay, sounds good! I just didn't want to cause any additional confusion. Thanks!

Viradex

Can confirm. Possibly relates to MC-65312.

migrated

(Unassigned)

Community Consensus

Platform

Normal

Entities

1.21, 1.21.1

Retrieved