A comprehensive collection of utility modules and libraries for Roblox game development.
Available modules:
Animation = "dig1t/[email protected]"
Badge = "dig1t/[email protected]"
Cache = "dig1t/[email protected]"
GamePass = "dig1t/[email protected]"
Maid = "dig1t/[email protected]"
Palette = "dig1t/[email protected]"
ProfileDB = "dig1t/[email protected]"
Promise = "dig1t/[email protected]"
Ragdoll = "dig1t/[email protected]"
ReactUtil = "dig1t/[email protected]"
Replica = "dig1t/[email protected]"
Signal = "dig1t/[email protected]"
State = "dig1t/[email protected]"
Trash = "dig1t/[email protected]"
Util = "dig1t/[email protected]"
Use version ^1.0 on any module to use its latest version.
- Util
dig1t/[email protected]
- General utility functions for common game development tasks - Promise
dig1t/[email protected]
- A Promise implementation for asynchronous operations - Signal
dig1t/[email protected]
- Event handling system similar to BindableEvents - Maid
dig1t/[email protected]
- Utility for managing the lifetime of objects, connections, and callbacks - Cache
dig1t/[email protected]
- Memory cache system for storing and retrieving data - Trash
dig1t/[email protected]
- Garbage collection utility
- Animation
dig1t/[email protected]
- Animation management utilities - Badge
dig1t/[email protected]
- Badge awarding system - GamePass
dig1t/[email protected]
- Game Pass verification and management - ProfileDB
dig1t/[email protected]
- Player data persistence system - Ragdoll
dig1t/[email protected]
- Character ragdoll physics system - Replica
dig1t/[email protected]
- Server-client data replication - State
dig1t/[email protected]
- State management system - Weapon - Modular weapon system with client/server implementation (WIP)
- Palette
dig1t/[email protected]
- Color picker that uses the Material color system
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Util = require(ReplicatedStorage.Packages.Util)
-- Player touch detection
local touchPart: BasePart = workspace:WaitForChild("Plate")
local connection = Util.onPlayerTouch(touchPart, function(player: Player)
print(player.Name .. " touched the part!")
if connection then
connection:Disconnect()
end
end)
local Promise = require(ReplicatedStorage.Packages.Promise)
-- Create and use a promise
local myPromise: Promise.Promise = Promise.new(function(resolve, reject)
-- Async operation
local success = pcall(function()
-- Simulate some work
task.wait(2)
print("Data loaded successfully")
end)
if success then
resolve(data)
else
reject(error)
end
end)
myPromise:andThen(function(result)
print("Success:", result)
end):catch(function(err)
warn("Error:", err)
end)
local Maid = require(ReplicatedStorage.Packages.Maid)
local myMaid = Maid.new()
-- Add tasks to be cleaned up later
myMaid:Add(workspace.ChildAdded:Connect(function() end))
myMaid:Add(function() print("Cleanup!") end)
-- Clean up all tasks
myMaid:Clean()
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Palette = require(ReplicatedStorage.Packages.Palette)
-- Get a specific color
local blueColor = Palette.get("blue", 500)
print(blueColor) -- Color3 value
local Cache = require(ReplicatedStorage.Packages.Cache)
local myCache = Cache.new()
-- Store and retrieve data
myCache:Set("playerStats", { coins = 100, level = 5 })
local stats = myCache:Get("playerStats")
print(stats.coins) -- 100
All modules include type definitions for Luau's type checking system. You can import types directly:
local Promise = require(ReplicatedStorage.Packages.Promise)
type Promise = Promise.Promise
local myPromise: Promise = Promise.new(function(resolve)
resolve(true)
end)