classroom.register_action("bring", { title = "Bring", description = "Teleport players to your location", online_required = true, func = function(runner, players) local pos = runner:get_pos() for _, name in pairs(players) do local player = minetest.get_player_by_name(name) player:set_pos(pos) end end, }) classroom.register_action("look", { title = "Look", description = "Make players look at you", online_required = true, func = function(runner, players) local pos = runner:get_pos() for _, name in pairs(players) do local player = minetest.get_player_by_name(name) local pos2 = player:get_pos() player:set_look_horizontal(vector.angle(pos, pos2)) end end, }) classroom.register_action("mute", { title = "Mute", description = "Revoke shout from players", online_required = false, func = function(runner, players) for _, name in pairs(players) do print("Muting " .. name) local privs = minetest.get_player_privs(name) privs.shout = nil minetest.set_player_privs(name, privs) end end, }) classroom.register_action("unmute", { title = "Unmute", description = "Grant shout to players", online_required = false, func = function(runner, players) for _, name in pairs(players) do local privs = minetest.get_player_privs(name) privs.shout = true minetest.set_player_privs(name, privs) end end, }) classroom.register_action("fly", { title = "Fly", description = "Grant fly to players", online_required = false, func = function(runner, players) for _, name in pairs(players) do local privs = minetest.get_player_privs(name) privs.fly = true minetest.set_player_privs(name, privs) end end, }) classroom.register_action("nofly", { title = "NoFly", description = "Revoke fly from players", online_required = false, func = function(runner, players) for _, name in pairs(players) do local privs = minetest.get_player_privs(name) privs.fly = nil minetest.set_player_privs(name, privs) end end, })