diff --git a/init.lua b/init.lua index c004474..df874d3 100644 --- a/init.lua +++ b/init.lua @@ -5,6 +5,7 @@ if _VERSION then end if _VERSION > "Lua 5.1" then -- TODO automatically use _ENV instead of s/getfenv if _VERSION > 5.1 -- not throwing error("Too new Lua version! modlib requires Lua 5.1 or smaller.") anymore + unpack = unpack or table.unpack -- unpack was moved to table.unpack in Lua 5.2 loadstring = load function setfenv(fn, env) local i = 1 diff --git a/log.lua b/log.lua index 62e34c2..9bd2d3d 100644 --- a/log.lua +++ b/log.lua @@ -45,6 +45,10 @@ function write_all_to_file() write_to_file(name, channel, current_date) end end +function write_safe(channelname, msg) + write(channelname, msg) + write_all_to_file() +end local timer = 0 diff --git a/minetest.lua b/minetest.lua index 4d27b0d..887256f 100644 --- a/minetest.lua +++ b/minetest.lua @@ -63,6 +63,15 @@ function check_player_privs(playername, privtable) return missing_privs, to_lose_privs end +function box_box_collision(a, b) + for i=1, 3 do + if a[i] < (b[i] + b[i+3]) or b[i] < (a[i] + a[i+3]) then + return false + end + end + return true +end + minetest.register_globalstep(function(dtime) for k, v in pairs(delta_times) do local v=dtime+v diff --git a/text.lua b/text.lua index 601b52c..c2ce358 100644 --- a/text.lua +++ b/text.lua @@ -1,5 +1,11 @@ -- TODO probably set string metatables ? -- String helpers - split & trim at end & begin +function upper_first(str) + return str:sub(1,1):upper()..str:sub(2) +end +function lower_first(str) + return str:sub(1,1):lower()..str:sub(2) +end function starts_with(str, start) return str:sub(1, start:len()) == start end function ends_with(str, suffix) return str:sub(str:len() - suffix:len() + 1) == suffix