IntellectualSites / FastAsyncWorldEdit

Blazingly fast world manipulation for artists, builders and everyone else: https://www.spigotmc.org/resources/13932/
Other
612 stars 219 forks source link

//undo causes tile entity data loss #2948

Open minelolpride opened 1 week ago

minelolpride commented 1 week ago

Server Implementation

Paper

Server Version

1.21

Describe the bug

Tile entities experience data loss after an '//undo' operation that replaces said tile entity. This data loss includes things such as orientation and container data. Symptoms found from this bug are shared with #2944.

To Reproduce

This example will utilize a chest.

  1. Load up a world, everything at defaults.
  2. Get a chest, rename it, place it down and add a couple items to it. (any items)
  3. Edit the chest such that it is no longer in it's source location (//move 2 up, //set 0, for example). If you used //move, you can observe the chest in the new location retaining all the data.
  4. //undo the operation to put the chest back. Chest is now invisible and contains no items. If the chest was also renamed, that is lost as well.

Expected behaviour

//undo was expected to retain tile entity data on replacing blocks. In the chest example above, the chest would not be invisible, and both the chest's name and contents would remain intact.

Screenshots / Videos

No response

Error log (if applicable)

No response

Fawe Debugpaste

https://athion.net/ISPaster/paste/view/b69ccc3795ca4a479dc2fd4201b6e423

Fawe Version

FastAsyncWorldEdit version 2.11.3-SNAPSHOT-937

Checklist

Anything else?

I was able to replicate this by rolling back to 2.11.2, but was fixed by rolling back to 2.11.1.

minelolpride commented 1 week ago

I have found snapshot 901 to be the first version where this occurs, snapshot 900 does not display this problem in my testing.

Tsoccerguy3 commented 1 day ago

2024-10-21_13 06 29

Doing a //paste -a , then doing //undo leaves most chunks untouched

Tsoccerguy3 commented 16 hours ago

After testing I found 1 bug . If a build has a furnace and you copy the build , then do a //paste -a and undo it will sometimes not undo everything . Refer to the picture above