{"id":"superdupernairobi/noid","name":"noid","scope":"superdupernairobi","platform":"roblox","description":"Humanoid state machine for custom Roblox character controllers. No physics, no raycasts and no networking.","version":"0.1.0","latest":"0.1.0","versions":["0.1.0"],"license":"MIT","licenseRating":"safe","licenseCaveats":[],"licenseVerified":true,"dependencies":{},"integrity":"a9472966d514f9f64071c7659d7770dfce45962ecb863979765466f0fce8a26b","likes":0,"downloads":0,"install":"forest install superdupernairobi/noid","url":"https://forest.dev/p/roblox/superdupernairobi/noid","files":"https://api.forest.dev/ai/package/roblox/superdupernairobi/noid/files","readme":"# Noid\r\n\r\nHumanoid styled state machine for custom Roblox character controllers.\r\n\r\nIt does not move anything and does not cast anything. Physics, raycasting and replication stay with you.\r\n\r\n![Noid example](assets/noid-example.gif)\r\n\r\n## Install\r\n\r\n### Wally\r\n\r\nAdd it to your `wally.toml`, then run `wally install`.\r\n\r\n```toml\r\n[dependencies]\r\nNoid = \"superdupernairobi/noid@0.1.0\"\r\n```\r\n\r\n### Studio\r\nDownload `Noid.rbxm` from the [latest release](https://github.com/superdupernairobi/Noid/releases), drag it into `ReplicatedStorage` and require it from wherever you put it.\r\n\r\n## Use\r\n\r\n```luau\r\nlocal Noid = require(game:GetService(\"ReplicatedStorage\").Packages.Noid)\r\n\r\nlocal machine = Noid.Machine.new(\"Idle\", \"client\")\r\n\r\nlocal desired = Noid.Conditions.resolve({ grounded = true })\r\nif desired then\r\n    machine:Change({ state = desired, source = \"sensor\" })\r\nend\r\n\r\nmachine:Changed():Connect(function(old, new)\r\n    print(old, \"to\", new)\r\nend)\r\n```","readmeTruncated":false}