local D={}function D.init(p)local n=script.Parent.Parent local I=n.Shared local b=n.Server local F=require(I.Manager)I.Parent=game:GetService("\082\101\112\108\105\099\097\116\101\100\083\116\111\114\097\103\101")I.Name="\086\111\120\101\108"D.loader=p D.manager=F _G.Voxel=D F.locations={b;I}F.init(D)F.loadModules()F.initModules()end return D
-- OptimisticSide
-- 5/7/2021
-- Main system core

local Core = {}

-- Main initialization routine for system.
-- Calls manager to load and initialize modules.
function Core.init(loader)
	local package = script.Parent.Parent
	local shared = package.Shared
	local server = package.Server

	local Manager = require(shared.Manager)

	-- Move shared folder into replicated storage.
	shared.Parent = game:GetService("ReplicatedStorage")
	shared.Name = "Voxel"

	-- Update fields and set global.
	Core.loader = loader
	Core.manager = Manager
	_G.Voxel = Core

	-- Load and initialize modules.
	Manager.locations = { server, shared }
	Manager.init(Core)
	Manager.loadModules()
	Manager.initModules()
end

return Core
