If this is implemented we could do something like this:
function OnPluginsLoaded() cPluginManager:CallPlugin("WorldEdit", "ExecuteString", [[ -- Retrieve the size of each portion, and ticks between each partion write local PartionSize, TicksBetweenWrite = ... PartionSize = Vector3i(PartionSize, PartionSize, PartionSize) function cBlockArea:Write(a_World, a_Position, a_Y, a_Z) if (type(a_Position) ~= "Vector3i") then a_Position = Vector3i(a_Positoin, a_Y, a_Z) end local SizeX, SizeY, SizeZ = self:GetCoordRange() local Positions = {} for X = 0, SizeX, PartionSize do for Y = 0, SizeY, PartionSize do for Z = 0, SizeZ, PartionSize do table.insert(Positions, Vector3i(X, Y, Z)) end end end local function WriteIntoWorld = function(a_World) -- TODO add a Max value in Positoins[1] + PortionSize self:WritePortion(a_World, a_Position + Positions[1], Positions[1], Positions[1] + PartionSize, cBlockArea.baTypes + cBlockArea.baMetas) table.remove(Positions, 1) if (Positions[1] ~= nil) then a_World:ScheduleTask(WriteIntoWorld, TicksBetweenWrite) end end WriteIntoWorld(a_World) end ]], 25, 40) end