local S = classroom.S classroom.register_action("bring", { title = S"Bring", description = S"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 = S"Look", description = S"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 = S"Mute", description = S"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 = S"Unmute", description = S"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 = S"Fly", description = S"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 = S"NoFly", description = S"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, })