minetest mod.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Coder12a 6096d5601a Make: foreach take any pair data 4 months ago
LICENSE Initial commit 1 year ago
README.md Make: foreach take any pair data 4 months ago
async.lua Make: foreach take any pair data 4 months ago
init.lua Remove: all extend_api names from repo 9 months ago
mod.conf Remove: all extend_api names from repo 9 months ago

README.md

async

async mod is a library pack. It adds two new node events and contains async functions.

Usage Async

  1. create a async instance. lua async = async.Async()
  2. max time for thread before yielding (maxtime is in milliseconds). lua async.maxtime = 200
  3. queue_threads is the amount of active threads when you run function queue_task. lua async.queue_threads = 8
  4. iterate from 1 to 50 and log the value i. lua async.iterate(1, 50, function(i) minetest.log(i) end, function() minetest.log("Callback") end)
  5. run throught each element in a table. lua local array = {"start", "text2", "text3", "text4", "text5", "end"} async.foreach(pairs(array), function(k, v) minetest.log(v) end, function() minetest.log("Callback") end)
  6. async do while loop. lua local c = 50 async.do_while(function() return c > 0 end, function() minetest.log(c) c = c - 1 end, function() minetest.log("Callback") end)
  7. register a async globalstep. this one spams the chat with the word spam. lua async.register_globalstep(function(dtime) minetest.chat_send_all("spam") end)
  8. chain task runs a group of functions from a table. lua async.chain_task({ function(args) args.count = 1 minetest.log(args.count) return args end, function(args) args.count = args.count + 1 minetest.log(args.count) return args end}, function(args) minetest.log(args.count) end)
  9. adds a single function to the task queue. This is a sort of waiting list. lua async.queue_task(function() minetest.log("Hello World!") end, function(args) minetest.log("callback") end)
  10. Same as queue_task but the task does not go into a queue. lua async.single_task(function() minetest.log("Hello World!") end, function(args) minetest.log("callback") end)