{"_id":"@antivivi/jconveyor","name":"@antivivi/jconveyor","dist-tags":{"latest":"0.0.0"},"versions":{"0.0.0":{"name":"@antivivi/jconveyor","version":"0.0.0","description":"Roblox tycoon simulated conveyor physics system","main":"JConveyor/init.lua","scripts":{"build":"zap src/packets.zap & rbxtsc","watch":"rbxtsc -w","docs":"npx typedoc","pub":"npm run build & npm run docs & npm publish & wally publish"},"repository":{"type":"git","url":"git+https://github.com/evilbocchi/jconveyor.git"},"keywords":[],"author":{"name":"evilbocchi"},"license":"MIT","bugs":{"url":"https://github.com/evilbocchi/jconveyor/issues"},"homepage":"https://github.com/evilbocchi/jconveyor#readme","types":"JConveyor/index.d.ts","publishConfig":{"access":"public"},"devDependencies":{"@rbxts/compiler-types":"^2.3.0-types.1","@rbxts/types":"^1.0.791","@typescript-eslint/eslint-plugin":"^7.18.0","@typescript-eslint/parser":"^7.18.0","eslint":"^8.57.0","eslint-plugin-roblox-ts":"^0.0.36","roblox-ts":"^2.3.0","typedoc":"^0.26.5","typedoc-material-theme":"^1.1.0","typedoc-plugin-extras":"^3.1.0","typedoc-plugin-missing-exports":"^3.0.0","typescript":"^5.5.4"},"_id":"@antivivi/jconveyor@0.0.0","gitHead":"2ebc38322f54b7fa495dc28c51c0c86fa6f03c6d","_nodeVersion":"20.18.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-rgpEfpfPSR76el/lFEEnIHIQoQt4FIfr3bHPmr0OJeu/VLMqjgWwOLAbZwi/iwfEDieXEv5ive8tWaBtHoQN9w==","shasum":"2f222e0325fb3b825a3c9989cc95a9e095bb8352","tarball":"https://registry.npmjs.org/@antivivi/jconveyor/-/jconveyor-0.0.0.tgz","fileCount":8,"unpackedSize":29714,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEMtW3CAlxpoQfl5nxAJ63Uzudb1JvC9GVwwjQvQU3IUAiAU7f8SYhcvGR/lx4/nUb6n+/bPmpEZmU84bxgJRekgZA=="}]},"_npmUser":{"name":"evilbocchi","email":"kunetics888@gmail.com"},"directories":{},"maintainers":[{"name":"evilbocchi","email":"kunetics888@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jconveyor_0.0.0_1732095039489_0.3666193620495637"},"_hasShrinkwrap":false}},"time":{"created":"2024-11-20T09:30:39.377Z","0.0.0":"2024-11-20T09:30:39.660Z","modified":"2024-11-20T09:30:40.005Z"},"maintainers":[{"name":"evilbocchi","email":"kunetics888@gmail.com"}],"description":"Roblox tycoon simulated conveyor physics system","homepage":"https://github.com/evilbocchi/jconveyor#readme","keywords":[],"repository":{"type":"git","url":"git+https://github.com/evilbocchi/jconveyor.git"},"author":{"name":"evilbocchi"},"bugs":{"url":"https://github.com/evilbocchi/jconveyor/issues"},"license":"MIT","readme":"<p align=\"center\">\r\n  <img width=\"350\" alt=\"JConveyor logo\" src=\"assets/logo.png\"></img>\r\n</p>\r\n\r\n# JConveyor\r\n\r\nA simple physics simulating system that attempts to optimize Roblox step contacts with interpolation and raycasts.\r\n\r\nTo set up JConveyor, you will need to have:\r\n- A `workspace.Droplets` folder where parts will be simulated as soon as they land on a registered JConveyor.\r\n- A unique droplet Name system. The Name property of each droplet must be unique and a 32-bit integer; this is for easy data serialization, though this can change in the future. A simple auto-incrementing by 1 system will suffice.\r\n- An Actor that runs the module on a parallel thread. Not required, but highly recommended.\r\n\r\nTransform a part with an AssemblyLinearVelocity into a JConveyor with `JConveyor.new` which will make the part start listening to droplet touches. \r\n- Server-wise, droplets landing onto the conveyor will seemingly teleport to the end of the conveyor after the calculated duration it would take normally.\r\n- Client-wise, droplets will be interpolated to the end of the conveyor.\r\n\r\nSince droplets are anchored when travelling on JConveyors, their `.Touched` events will not fire. Instead, use `JConveyor.touched(BasePart)` on parts that need to listen to droplet collisions.\r\n\r\n## Limitations\r\n\r\nJConveyor cannot do the following:\r\n- Simulating conveyors with a part shape other than `Block`.\r\n- Simulate the same droplet on the same conveyor more than once.\r\n- Proper falling physics. Droplets are rotationally aligned when touching\r\nconveyors, and the interpolation for this on the client looks choppy.\r\n- Simulate overlapping conveyors.\r\n\r\nClient-side, JConveyor can also increase network received usage and lower FPS, though this problem is mostly localized to low-end devices.","readmeFilename":"README.md"}