Conversation
|
PS: I have an automated formatter, so it unnecessarily realigned many of the source files. |
|
Many thanks for the Pull Request @Froredion, it looks like a collection of fantastic improvements, and I'm excited to fully dive in and review once a few other projects are wrapped up in 2026 |
|
When you destroy a zone with Is this what you mean? If so, I can see why it's happening. |
revert if this did not fix the issue.
|
yeah seems its fixed and i dont think you have to do this: local occupantsDict = zonesAndOccupants[zone] or {}
local occupantsPresent = false
for k, v in pairs(occupantsDict) do
occupantsPresent = true
break
endit should be: local occupantsDict = zonesAndOccupants[zone] or {}
local occupantsPresent = next(occupantsDict) ~= nilalso, i dont think if you still have to use |
|
Got it, will do the edit soon. |
|
This seems fully Ai written, assuming it’s entirely ai since its from superbullet |
|
I am the creator of Superbullet. |
- added a tester for zone destroying - improved code maintainability - added selene.toml for people who wants to contribute and has selene installed
I've added the following:
I can say that all are now properly tested. |

Added
Zone.fromBox(cframe, size)- Creates optimized box-shaped zones using GetPartBoundsInBoxZone.fromSphere(position, radius)- Creates optimized spherical zones using GetPartBoundsInRadiusZone:setZoneShape(enumIdOrName)- Allows manual control over spatial query methodZoneShapeenum with options: Auto, Box, SphereChanged
Region3with modernCFrame + Sizeapproachzone.regionis now split intozone.regionCFrameandzone.regionSizezone.exactRegionis nowzone.exactRegionCFrameandzone.exactRegionSizeFilterType.Whitelist/Blacklistto modernFilterType.Include/Exclude