Minetest-WorldEditAdditions/worldeditadditions_core/init.lua
Starbeamrainbowlabs d49f6d2131
Lift orientation functions from screwdriver2 mod
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.
2024-09-17 23:18:37 +01:00

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