{"id":"furukan/zoneplus","name":"zoneplus","scope":"furukan","platform":"roblox","description":"ForeverHD's ZonePlus packaged for Wally, with Luau types: zones that detect players, parts and items within their parts","version":"3.2.0","latest":"3.2.0","versions":["3.2.0"],"license":"MIT","licenseRating":"safe","licenseCaveats":[],"licenseVerified":true,"dependencies":{},"integrity":"f8ee2714b522db52ccbe2327edcff06de3f437613b752dc29062f2837a350c3a","likes":0,"downloads":0,"install":"forest install furukan/zoneplus","url":"https://forest.dev/p/roblox/furukan/zoneplus","files":"https://api.forest.dev/ai/package/roblox/furukan/zoneplus/files","readme":"# ZonePlus\n\nA Wally package of [1ForeverHD/ZonePlus](https://github.com/1ForeverHD/ZonePlus), ForeverHD's module for zones that\ndetect the players, parts and items within their parts, with Luau types.\n\n```toml\n[dependencies]\nZonePlus = \"furukan/zoneplus@3.2.0\"\n```\n\n```luau\nlocal Zone = require(ReplicatedStorage.Packages.ZonePlus)\n\nlocal zone = Zone.new(workspace.SafeZone)\nzone.localPlayerEntered:Connect(function()\n\tprint(\"Entered the safe zone\")\nend)\n```\n\nThe full API is in the [upstream documentation](https://1foreverhd.github.io/ZonePlus/).\n\n## Changes from upstream\n\nThe package is based on upstream commit `3bb4bdb` (`main`, ZonePlus v3.2.0 with the newer overlap filter names), and\nits version follows the upstream version it is based on.\n\n- **Wally package:** upstream's Rojo project is a whole DataModel; the package project is rooted at the Zone module, so\n  it installs and works from any location in the DataModel. The files use the `.luau` extension and are formatted with\n  StyLua.\n- **Types:** `Zone.new` and `Zone.fromRegion` return an exported `Zone` type with the public properties, events and\n  methods; the signals are typed with what they fire with (`playerEntered: Signal<Player>`). `Accuracy`, `Detection`,\n  `Container` and `Item` are exported too.\n- **Deprecated APIs:** `RaycastFilterType.Whitelist` is replaced with `Include`, and zone parts are checked to be in the\n  `Default` collision group through `CollisionGroup` instead of `CollisionGroupId`.\n- **Enum asserts:** the asserts that guard against repeated or reserved enum names always passed, as their conditions\n  were wrapped in `typeof()`; they now check them.\n\nThe full history, with a tag for every published version, is in this repository.\n\n## Development\n\nTools are pinned with Rokit (`rokit install`). luau-lsp builds the sourcemap from `default.project.json`. Publish with:\n\n```sh\nwally publish\n```\n\n## License\n\nZonePlus is licensed under the [MIT License](LICENSE) (Copyright (c) 2021 Ben Horton), and so is this package. The\nlicense text ships inside the package, and the module's header names the author, the license and this repository.\n","readmeTruncated":false}