{"id":"miagobble/epoxyish","name":"epoxyish","scope":"miagobble","platform":"roblox","description":"Written by iGottic","version":"0.1.0","latest":"0.1.0","versions":["0.1.0"],"license":"MIT","licenseRating":"safe","licenseCaveats":[],"licenseVerified":true,"dependencies":{},"integrity":"79e20d7a9fc74aa511349d9b91d8ad22a5ce083f4b55afd75b85d711c74b75b8","likes":0,"downloads":0,"install":"forest install miagobble/epoxyish","url":"https://forest.dev/p/roblox/miagobble/epoxyish","files":"https://api.forest.dev/ai/package/roblox/miagobble/epoxyish/files","readme":"# Epoxyish\r\nEpoxyish is a generic solution to springing values unlike before. You can animate various data types and automatically have the springs animate to your instances based on values you create and change.\r\n\r\nEverything is fully type-checked and thus should autofill.\r\n\r\nSupported value types include:\r\n```\r\nNumber\r\nVector2 & Vector2int16\r\nVector3 & Vector3int16\r\nCFrame\r\nUDim\r\nUDim2\r\nColor3\r\n```\r\n\r\nThe ideal format of expoyish is to store Spring, Value, and Latch as variables to speed up development process, and this post shows examples assuming such.\r\n\r\n## Example Code\r\n```lua\r\nlocal ReplicatedStorage = game:GetService(\"ReplicatedStorage\")\r\n\r\nlocal Epoxyish = require(ReplicatedStorage.Epoxyish)\r\n\r\nlocal Value = Epoxyish.Value\r\nlocal Spring = Epoxyish.Spring\r\nlocal Latch = Epoxyish.Latch\r\n\r\nlocal Target = workspace.Target\r\nlocal Part = workspace.Value\r\n\r\nlocal PartPositionValue = Value(Target.Position)\r\n\r\nlocal PartPositionSpring = Spring {\r\n\tTarget = PartPositionValue,\r\n\t\r\n\tSpeed = 5,\r\n\tDampening = 3,\r\n}\r\n\r\nLatch(Part) {\r\n\tPosition = PartPositionSpring\r\n}\r\n\r\nwhile true do\r\n\ttask.wait(1)\r\n\tPartPositionValue:Set(Vector3.new(math.random(-30, 30), 10, math.random(-30, 30)))\r\nend\r\n```","readmeTruncated":false}