2019-07-09 15:55:56 -07:00
|
|
|
classroom = {}
|
|
|
|
|
2019-11-24 12:42:22 -08:00
|
|
|
-- Required MT version
|
|
|
|
assert(minetest.features.formspec_version_element, "Minetest 5.1 or later is required")
|
|
|
|
|
|
|
|
-- Internationalisaton
|
2019-11-24 06:42:44 -08:00
|
|
|
classroom.S = minetest.get_translator("classroom")
|
|
|
|
classroom.FS = function(...)
|
|
|
|
return minetest.formspec_escape(classroom.S(...))
|
|
|
|
end
|
|
|
|
|
2019-11-24 12:42:22 -08:00
|
|
|
-- Source files
|
2019-07-09 15:55:56 -07:00
|
|
|
dofile(minetest.get_modpath("classroom") .. "/api.lua")
|
2019-12-10 10:11:30 -08:00
|
|
|
dofile(minetest.get_modpath("classroom") .. "/gui_dash.lua")
|
|
|
|
dofile(minetest.get_modpath("classroom") .. "/gui_group.lua")
|
2019-12-19 13:27:58 -08:00
|
|
|
dofile(minetest.get_modpath("classroom") .. "/freeze.lua")
|
2019-07-09 15:55:56 -07:00
|
|
|
dofile(minetest.get_modpath("classroom") .. "/actions.lua")
|
2019-07-09 21:46:34 -07:00
|
|
|
|
2019-11-24 12:42:22 -08:00
|
|
|
-- Privileges
|
2019-07-09 21:46:34 -07:00
|
|
|
minetest.register_privilege("teacher", {
|
|
|
|
give_to_singleplayer = false
|
|
|
|
})
|
2019-07-10 04:44:12 -07:00
|
|
|
|
2019-11-24 06:42:44 -08:00
|
|
|
-- Hooks needed to make api.lua testable
|
2019-07-10 04:44:12 -07:00
|
|
|
classroom.get_connected_players = minetest.get_connected_players
|
|
|
|
classroom.get_player_by_name = minetest.get_player_by_name
|
|
|
|
classroom.check_player_privs = minetest.check_player_privs
|
2019-11-24 07:56:51 -08:00
|
|
|
|
2019-11-24 12:40:42 -08:00
|
|
|
-- Mod storage for persistence
|
|
|
|
local storage = minetest.get_mod_storage()
|
|
|
|
|
|
|
|
classroom.load_from(storage)
|
|
|
|
|
|
|
|
function classroom.save()
|
|
|
|
classroom.save_to(storage)
|
|
|
|
end
|
|
|
|
|
|
|
|
minetest.register_on_shutdown(classroom.save)
|