From 65c218c3e2b6fbac804af6b04b633574a64e5d9c Mon Sep 17 00:00:00 2001 From: Anthony Zhang Date: Wed, 20 Mar 2013 17:31:00 -0400 Subject: Dynamic module loading - you can now delete any file in the worldedit mod except init.lua, and the relevant functionality will simply not be included. --- worldedit/compatibility.lua | 2 ++ worldedit/init.lua | 19 +++++++++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) (limited to 'worldedit') diff --git a/worldedit/compatibility.lua b/worldedit/compatibility.lua index 3b9c889..0ea2333 100644 --- a/worldedit/compatibility.lua +++ b/worldedit/compatibility.lua @@ -1,3 +1,5 @@ +worldedit = worldedit or {} + worldedit.allocate_old = worldedit.allocate worldedit.deserialize_old = worldedit.deserialize worldedit.metasave = function(pos1, pos2, filename) diff --git a/worldedit/init.lua b/worldedit/init.lua index aaf70ae..f3eb9bb 100644 --- a/worldedit/init.lua +++ b/worldedit/init.lua @@ -1,7 +1,14 @@ local path = minetest.get_modpath("worldedit") -dofile(path .. "/manipulations.lua") -dofile(path .. "/primitives.lua") -dofile(path .. "/visualization.lua") -dofile(path .. "/serialization.lua") -dofile(path .. "/code.lua") -dofile(path .. "/compatibility.lua") \ No newline at end of file + +local loadmodule = function(path) + return pcall(function() + dofile(path) + end) +end + +loadmodule(path .. "/manipulations.lua") +loadmodule(path .. "/primitives.lua") +loadmodule(path .. "/visualization.lua") +loadmodule(path .. "/serialization.lua") +loadmodule(path .. "/code.lua") +loadmodule(path .. "/compatibility.lua") \ No newline at end of file -- cgit v1.2.3