Simple Shelves

Simple Shelves

238k Downloads

When loading shelves into the world, the entity renderer does not work.

Pinaz993 opened this issue ยท 15 comments

commented

When a shelf is loaded into the world, generic items on the shelf are not visible.

commented

Breaking on ShelfEntity.toUpdatePacket() reveals that placing and removing books triggers an update packet, but placing and removing generic items does not.

commented

Stacking books into an already established stack does NOT trigger a client update. It also doesn't trigger a blockstate change. I wonder...

commented

Causes client desyncronization.

commented

Does not effect books.
Does not appear to be effected by sim distance.

commented

Desyncronization does not occur when moving beyond entity render distance.
Desync is not resolved by placing another item in the generic slots.

commented

When right clicking onto empty portions of the shelf while a book is in place, the book flashes, as if the client is evaluating the state as the book being absent, then being corrected by block state info from the server.

commented

Debug stick allows me to set block state property of induvidual books to true or false. Right clicking on the shelf reasserts the inventory based behavior.

commented

Placing or Removing books DOES resolve the desync.

commented

As expected, right clicking on the back of a desynced shelf had no effect.

commented

world.setBlockState(pos, state); does not force it to sync with the clients.

commented

Can confirm. Leaving and joining my server causes the shelves not to render the items.

commented

Can confirm. Leaving and joining my server causes the shelves not to render the items.

I was hoping to fix this before anyone noticed, dangit!

Checked readNBT(), and the method is only being called on the client if the block's state changes. Someone's not doing their job.

commented

this still persists on 1.19.2

commented

I thought I had fixed this. @netcore10, can you tell if there are any special circumstances behind this behavior? Or does reloading the chunk at any time cause a de-sync? I'm hoping to narrow down the cause, if you're able to help.

commented

I thought I had fixed this. @netcore10, can you tell if there are any special circumstances behind this behavior? Or does reloading the chunk at any time cause a de-sync? I'm hoping to narrow down the cause, if you're able to help.

It seemed to happen when i closed and opened the world, meaning server restarts would affect it too