{"id":"hollower233/playertable","name":"playertable","scope":"hollower233","platform":"roblox","description":"Persistent player data storage and replication for Roblox.","version":"0.1.0-alpha.4","latest":"0.1.0-alpha.4","versions":["0.1.0-alpha.1","0.1.0-alpha.2","0.1.0-alpha.3","0.1.0-alpha.4"],"license":"MIT","licenseRating":"safe","licenseCaveats":[],"licenseVerified":true,"dependencies":{"sleitnick/net":{"version":"^0.2.0","alias":"Net"},"sleitnick/observers":{"version":"^0.4.0","alias":"Observers"},"sleitnick/signal":{"version":"^2.0.3","alias":"Signal"}},"integrity":"d9fa024d23c2f254abadfb39d33e22dc6a2041f74310e86b8214b0aac6cd78eb","likes":0,"downloads":0,"install":"forest install hollower233/playertable","url":"https://forest.dev/p/roblox/hollower233/playertable","files":"https://api.forest.dev/ai/package/roblox/hollower233/playertable/files","readme":"# PlayerTable\n\nPlayer data storage and replication module for Roblox.\n\n## Status\n\nPre-release `0.1.0-alpha.3`. It creates its remote instances when first\nrequired on the server.\n\nEach field must be registered before it is read or written. Field definitions\nown the default value and whether other clients may read that field.\n\n## API\n\n```lua\nlocal PlayerTable = require(ReplicatedStorage.Packages.PlayerTable)\n\nPlayerTable.server.defineKey(\"Coins\", {\n\tdefault = 0,\n\tpublic = true,\n})\nPlayerTable.server.set(player, \"Coins\", 100)\n\nPlayerTable.server.update(player, \"Coins\", function(coins)\n\treturn coins + 25\nend)\n\nPlayerTable.client.observe(\"Coins\", function(coins)\n\tprint(coins)\nend)\n\nPlayerTable.client.observeOther(otherPlayer, \"Coins\", function(coins)\n\tprint(coins)\nend)\n```\n\nBoth `server.observe` and `client.observe` return a connection that can be disconnected when observation is no longer needed.\n\n`defineDefault`, `setPublic`, and `setPublicKeys` remain available for\nincremental migration from the earlier interface. `getData` is retained for\ncompatibility, but callers should use `get`, `set`, or `update` so changes are\nreplicated.\n\n## Development\n\n```powershell\nwally install\nrojo serve\n```\n","readmeTruncated":false}