lightweight module loading framework for roblox development

Nimblz 531d907494 Add callback argument 1 year ago
lib 531d907494 Add callback argument 1 year ago
test 147a0fa971 initial commit 2 years ago
.luacheckrc 147a0fa971 initial commit 2 years ago
LICENSE 147a0fa971 initial commit 2 years ago c8c88b4f0b added info on how to create a core 2 years ago
test.project.json 147a0fa971 initial commit 2 years ago
testplace.rbxlx 147a0fa971 initial commit 2 years ago


PizzaAlpaca is a lightweight module loading framework designed to help you modularize portions of your game.

How to create a core

print("Starting client.")

local ReplicatedStorage = game:GetService("ReplicatedStorage")

-- define some paths
local lib = ReplicatedStorage:WaitForChild("lib")
local common = ReplicatedStorage:WaitForChild("common")
local client = script.Parent

-- define our module directories
local sidedModules = client:WaitForChild("gameModules")
local commonModules = common:WaitForChild("gameModules")

local PizzaAlpaca = require(lib:WaitForChild("PizzaAlpaca"))

-- create PizzaAlpaca core instance
local clientCore =
-- clientCore._debugPrints = true -- debug prints allow you to see what PizzaAlpaca is doing in the output

-- load sided and common modules

-- start the core

print("Loading complete! Thanks for playing!~")

Module Structure

local ReplicatedStorage = game:GetService("ReplicatedStorage")

local lib = ReplicatedStorage:WaitForChild("lib")

local PizzaAlpaca = require(lib:WaitForChild("PizzaAlpaca"))

local TestModule = PizzaAlpaca.GameModule:extend("TestModule")

function TestModule:preInit()
    print("testmodule pre-initialized")

function TestModule:init()
    print("testmodule initialized")

function TestModule:postInit()
    print("testmodule post-initialized")

return TestModule

Module Loading

PizzaAlpaca provides two ways to load modules: registerModule and registerChildrenAsModules. registerModule will register an already required module class, wheras registerChildrenAsModules will automatically require and register the module children of a root instance.