mirror of
https://github.com/sbrl/Minetest-WorldEditAdditions.git
synced 2024-12-23 12:05:01 +00:00
Starbeamrainbowlabs
d49f6d2131
Ref @12Me21 https://github.com/12Me21/screwdriver2/blob/master/init.lua#L75-L79 Ref @khonkhortisan https://forum.minetest.net/viewtopic.php?p=73195&sid=1d2d2e4e76ce2ef9c84646481a4b84bc#p73195 ....if either of you have an issue with this, please get in touch! The licence seems to allow this lifting and relicencing like this (given it's WTFPL as of the time of typing), but correct me if I'm wrong. For reference, WorldEditAdditions is currently licenced under the Mozilla Public License Version 2.0.
83 lines
3.3 KiB
Lua
83 lines
3.3 KiB
Lua
--- WorldEditAdditions core engine
|
|
-- This namespace contains the core command processing engine used by WorldEditAdditions and associated parsing, formatting, and utility functions. It does not contain any of the commands themselves - see the namespace/'mod' simply called 'worldeditadditions' for that.
|
|
-- @namespace worldeditadditions_core
|
|
-- @release 1.14.5
|
|
-- @copyright 2021 Starbeamrainbowlabs and VorTechnix
|
|
-- @license Mozilla Public License, 2.0
|
|
-- @author Starbeamrainbowlabs and VorTechnix
|
|
|
|
|
|
local modpath = minetest.get_modpath("worldeditadditions_core")
|
|
|
|
local EventEmitter = dofile(modpath .. "/utils/EventEmitter.lua")
|
|
|
|
worldeditadditions_core = EventEmitter.new({
|
|
version = "1.15-dev",
|
|
modpath = modpath,
|
|
registered_commands = {},
|
|
-- Storage for per-player node limits before safe_region kicks in.
|
|
-- TODO: Persist these to disk.
|
|
safe_region_limits = {},
|
|
-- The default limit for new players on the number of potential nodes changed before safe_region kicks in.
|
|
safe_region_limit_default = 100000,
|
|
})
|
|
local wea_c = worldeditadditions_core
|
|
wea_c.EventEmitter = EventEmitter
|
|
|
|
|
|
wea_c.Set = dofile(wea_c.modpath.."/utils/set.lua")
|
|
|
|
wea_c.Vector3 = dofile(wea_c.modpath.."/utils/vector3.lua")
|
|
wea_c.Mesh, wea_c.Face = dofile(wea_c.modpath.."/utils/mesh.lua")
|
|
wea_c.rotation = dofile(wea_c.modpath .. "/utils/rotation.lua")
|
|
wea_c.orientation = dofile(wea_c.modpath .. "/utils/orientation.lua")
|
|
wea_c.param2 = dofile(wea_c.modpath .. "/utils/param2.lua")
|
|
|
|
wea_c.Queue = dofile(wea_c.modpath.."/utils/queue.lua")
|
|
wea_c.LRU = dofile(wea_c.modpath.."/utils/lru.lua")
|
|
wea_c.NodeListMatcher = dofile(wea_c.modpath.."/utils/NodeListMatcher.lua")
|
|
wea_c.inspect = dofile(wea_c.modpath.."/utils/inspect.lua")
|
|
|
|
-- I/O compatibility layer
|
|
wea_c.io = dofile(wea_c.modpath.."/utils/io/init.lua")
|
|
|
|
wea_c.bit = dofile(wea_c.modpath.."/utils/bit.lua")
|
|
|
|
wea_c.terrain = dofile(wea_c.modpath.."/utils/terrain/init.lua")
|
|
|
|
local chaikin = dofile(wea_c.modpath.."/utils/chaikin.lua")
|
|
wea_c.chaikin = chaikin.chaikin
|
|
wea_c.lerp = chaikin.linear_interpolate
|
|
|
|
dofile(wea_c.modpath.."/utils/strings/init.lua")
|
|
dofile(wea_c.modpath.."/utils/format/init.lua")
|
|
dofile(wea_c.modpath.."/utils/parse/init.lua")
|
|
dofile(wea_c.modpath.."/utils/table/init.lua")
|
|
|
|
|
|
dofile(wea_c.modpath.."/utils/numbers.lua")
|
|
dofile(wea_c.modpath.."/utils/nodes.lua")
|
|
dofile(wea_c.modpath.."/utils/node_identification.lua")
|
|
|
|
dofile(wea_c.modpath.."/utils/raycast_adv.lua") -- For the farwand
|
|
dofile(wea_c.modpath.."/utils/player.lua") -- Player info functions
|
|
|
|
|
|
|
|
wea_c.setting_handler = dofile(wea_c.modpath.."/utils/setting_handler.lua") -- AFTER parser
|
|
|
|
wea_c.pos = dofile(modpath.."/core/pos.lua") -- AFTER EventEmitter
|
|
wea_c.register_command = dofile(modpath.."/core/register_command.lua")
|
|
wea_c.command_exists = dofile(modpath.."/core/command_exists.lua")
|
|
wea_c.fetch_command_def = dofile(modpath.."/core/fetch_command_def.lua")
|
|
wea_c.register_alias = dofile(modpath.."/core/register_alias.lua")
|
|
wea_c.entities = dofile(modpath.."/core/entities/init.lua") -- AFTER pos
|
|
dofile(modpath.."/core/pos_marker_manage.lua") -- AFTER pos, entities
|
|
dofile(modpath.."/core/pos_marker_wall_manage.lua") -- AFTER pos, entities
|
|
|
|
-- Initialise WorldEdit stuff if the WorldEdit mod is not present
|
|
if minetest.global_exists("worldedit") then
|
|
dofile(wea_c.modpath.."/core/integrations/worldedit.lua")
|
|
else
|
|
dofile(wea_c.modpath.."/core/integrations/noworldedit.lua")
|
|
end
|