OneLiteFeatherNET / BetterGoPaint

Based on the original goPaint but better
https://discord.onelitefeather.net
GNU General Public License v3.0
6 stars 1 forks source link

Undefined behavior when using paint brush across multiple worlds #22

Closed NonSwag closed 1 week ago

NonSwag commented 2 weeks ago

Server Implementation

Paper

Server Version

1.20

Describe the bug

Bézier spline uses locations bound to worlds (same with the selected points of a player). When painting, using the paint brush and changing the world while doing so, the result of the paint action is undefined, potentially blocking the edit thread, painting across the worlds or not performing anything.

To Reproduce

  1. select the paint brush
  2. add a bunch of strokes
  3. change the world
  4. add more strokes
  5. finalize the paint (sneak while using the brush)

Expected behaviour

Selected points should be world-bound or cleared completely when changing dimension. Best case would be to (also) rewrite the Bézier spline algorithm to not work with worlds entirely.

Screenshots / Videos

No response

Error log (if applicable)

No response

Fawe Debugpaste (if applicable)

No response

goPaint Version

1.1.0-SNAPSHOT

Checklist

Anything else?

No response