Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhancement: Allow for limited, non-spherical scan #8

Open
TonyGravagno opened this issue Aug 23, 2020 · 0 comments
Open

Enhancement: Allow for limited, non-spherical scan #8

TonyGravagno opened this issue Aug 23, 2020 · 0 comments

Comments

@TonyGravagno
Copy link

TonyGravagno commented Aug 23, 2020

Sometimes it doesn't make sense to do a spherical scan so I'm hoping we can disable this with a ```/ll mode`` .
The goal is to eliminate processing cycles that are unnecessary.

Examples:

  • In a cave where we are strip mining and there is only exposed space before and behind, not above or below. Yes, we can open into a cavern where we will want to see what's spawnable but then we can change the setting.
  • On the ground where there is nothing but air above, there's no sense in looking for blocks to test. And we might not care what is below us, hidden underground and out of sight.

I haven't looked at the code but maybe an enhancement like this would help: Start scanning at the current Y and scan down and up by +1 and -1. Only proceed to the next +/-Y if there is >=1 transparent block which allows us to see to that Y. Similarly, stop scanning along a specific vector as soon as line of sight is blocked. So if we are in a solid 4x4x2 box, there's no sense in scanning up, down, or beyond the 4x4 border.

Then again, checking every block in the entire sphere might be faster than doing these other tests. And for all I know you're already doing exactly this. :)

I know we can disable spherical scanning. I don't know if this reduces the scan as I've described or if it just makes the scan a rectangle of Radius*Height.

Maybe a better explanation for this request would be : Check to see if a block is in a vector with line of sight first, before determining if it is spawnable, because if we can't see the particles, there's no sense in calculating the spawnability.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants