fun_caves/chat.lua

62 lines
1.8 KiB
Lua

minetest.register_chatcommand("armor", {
params = "",
description = "Display your armor values",
privs = {},
func = function(player_name, param)
local player = minetest.get_player_by_name(player_name)
local armor = player:get_armor_groups()
if armor then
minetest.chat_send_player(player_name, "Armor:")
for group, value in pairs(armor) do
minetest.chat_send_player(player_name, " "..group.." "..value)
end
if fun_caves.db.armor_expire and fun_caves.db.armor_expire[player_name] then
local armor_time = fun_caves.db.armor_expire[player_name].time
local min = math.floor((armor_time - minetest.get_gametime()) / 60)
minetest.chat_send_player(player_name, "Your armor elixir will expire in "..min..' minutes.')
end
end
end,
})
minetest.register_chatcommand("setspawn", {
params = "",
description = "change your spawn position",
privs = {},
func = function(name, param)
local player = minetest.get_player_by_name(name)
local pos = player:getpos()
beds.spawn[name] = pos
minetest.chat_send_player(name, 'Your spawn position has been changed.')
end,
})
minetest.register_chatcommand("fixlight", {
params = "<radius>",
description = "attempt to fix light bugs",
privs = {},
func = function(name, param)
local privs = minetest.check_player_privs(name, {server=true})
if not privs then
return
end
print('Fun Caves: '..name..' used the fixlight command')
local player = minetest.get_player_by_name(name)
local pos = vector.round(player:getpos())
local radius = tonumber(param) or 50
radius = math.floor(radius)
local minp = vector.subtract(pos, radius)
local maxp = vector.add(pos, radius)
local vm = minetest.get_voxel_manip(minp, maxp)
--vm:set_lighting({day = 0, night = 0}, minp, maxp)
vm:calc_lighting(minp, maxp)
vm:update_liquids()
vm:write_to_map()
vm:update_map()
end,
})