{"id":"hawdevelopment/river","name":"river","scope":"hawdevelopment","platform":"roblox","description":"Mirrored from the Wally registry.","version":"1.1.0","latest":"1.1.0","versions":["1.1.0"],"license":"MIT","licenseRating":"safe","licenseCaveats":["License identified from the packaged LICENSE file; the manifest declared none."],"licenseVerified":true,"dependencies":{},"integrity":"3eb4bfbee4636653df2bd921b45c1183286bdd2ac1346cbf16646e82f635bb23","likes":0,"downloads":0,"install":"forest install hawdevelopment/river","url":"https://forest.dev/p/roblox/hawdevelopment/river","files":"https://api.forest.dev/ai/package/roblox/hawdevelopment/river/files","readme":"# River\r\n\r\n<img align=\"right\" src=\"assets/Duck-1.png\" width=\"128px\" style=\"margin-left: 10px;\">\r\n\r\nRiver is a fast and simple ECS made specifically with data in mind.\r\nMake your games faster and easier to manage. It has a simple syntax and lets you use Luau type system. River gets your data right when you want it.\r\n\r\n\r\nRead more here: https://HawDevelopment.github.io/River/\r\n\r\n---\r\n\r\nHeres some examples!\r\nCreate some data first!\r\n\r\n```lua\r\nlocal Component = River.Component\r\nlocal Type = River.Type\r\nlocal Entity = River.Entity\r\n\r\nlocal MyComponent = Component({\r\n    Name = Type(\"string\"),\r\n    Age = Type(\"number\"),\r\n})\r\n\r\nlocal MyEntity = Entity({\r\n    Person = MyComponent({\r\n        Name = \"Dave\",\r\n        Age = 69,\r\n    }),\r\n})\r\n```\r\n\r\nChange some data!\r\n\r\n```lua\r\nlocal System = River.System\r\nlocal Query = River.Query\r\n\r\nlocal MyQuery = Query(MyComponent)\r\n\r\nlocal MySystem = System(function(query)\r\n    for _, entity in pairs(query) do\r\n        entity.Person.Age += 1\r\n    end\r\nend)\r\nMySystem:add(MyQuery)\r\n```\r\n\r\nCall the system!\r\n\r\n```lua\r\nMySystem:call()\r\n\r\n-- OR\r\n\r\nlocal World = River.World\r\n\r\nlocal MyWorld = World()\r\nMyWorld:add(MySystem, \"update\")\r\nMyWorld:start()\r\n```\r\n","readmeTruncated":false}