Skip to content

Conversation

Stick404
Copy link

In 1.20 Spell Circles can loop on their own slate, however this can cause massive NBT-Leaks due to the same positions stacking on the same positions. This PR just makes reachedPositions a HashSet/Set, and adds an extra Int Var of "reachedNumber", or how many slates it has come across (this is for the speed up of Spell Circles).

@Stick404 Stick404 changed the title Fixes NBT-Data Leak from Spell Circle Looping Optimizes Spell Circles Jun 30, 2025
@Stick404
Copy link
Author

A total list of things changed:

  • Removes the memory/NBT leak of Spell Circles
  • Stores only the highest and lowest vectors of the Spell Circle bounds, rather than all found possible slate
  • Removes an old Null Logger in Cleric Impetus
  • Optimized Spell Circle scanning, instead of calling the normal getBlockState, which loads many more chunks, it now calls getChunkFuture. In case the future fails/does not work, it still calls getBlockState as a fallback
  • Now respects the Slate Limit in the config

@Stick404
Copy link
Author

Went through these and fixed the local version. I'll make a push once there are no more random problems with the code

@github-project-automation github-project-automation bot moved this from 📋 Backlog to ✅ Done in Hex Casting Jul 14, 2025
@object-Object object-Object reopened this Jul 14, 2025
@github-project-automation github-project-automation bot moved this from ✅ Done to 📋 Backlog in Hex Casting Jul 14, 2025
@Stick404
Copy link
Author

This has been split into 3 PRs
#908
#909
#910

@Stick404 Stick404 closed this Jul 16, 2025
@github-project-automation github-project-automation bot moved this from 📋 Backlog to ✅ Done in Hex Casting Jul 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: ✅ Done
Development

Successfully merging this pull request may close these issues.

4 participants