minetest.register_chatcommand("landowner", { params = "", description = "tells the owner of the current map chunk", privs = {interact=true}, func = function(name, param) local player = minetest.env:get_player_by_name(name) local pos = player:getpos() local owner = landrush.get_owner(pos) if owner then minetest.chat_send_player(name, "This area is owned by "..owner) else minetest.chat_send_player(name, "This area is unowned.") end end, }) minetest.register_chatcommand("unclaim", { params = "", description = "unclaims the current map chunk", privs = {interact=true}, func = function(name, param) local player = minetest.env:get_player_by_name(name) local pos = player:getpos() local owner = landrush.get_owner(pos) local inv = player:get_inventory() if owner then if owner == name or minetest.check_player_privs(name, {landrush=true}) then chunk = landrush.get_chunk(pos) --if inv:room_for_item("main", claims[chunk].claimtype) then -- player:get_inventory():add_item("main", {name=claims[chunk].claimtype}) -- they don't get their claim item back claims[chunk] = nil landrush.save_claims() minetest.chat_send_player(name, "You renounced your claim on this area.") --else -- minetest.chat_send_player(name, "Your inventory is full.") -- end else minetest.chat_send_player(name, "This area is owned by "..owner) end else minetest.chat_send_player(name, "This area is unowned.") end end, }) minetest.register_chatcommand("sharearea", { params = " or *all to retain ownership but allow anyone to build", description = "shares the current map chunk with ", privs = {interact=true}, func = function(name, param) local player = minetest.env:get_player_by_name(name) local pos = player:getpos() local owner = landrush.get_owner(pos) if owner then if ( owner == name and name ~= param ) or minetest.check_player_privs(name, {landrush=true}) then if minetest.env:get_player_by_name(param) or param=="*all" then claims[landrush.get_chunk(pos)].shared[param] = param landrush.save_claims() minetest.chat_send_player(name, param.." may now edit this area.") minetest.chat_send_player(param, name.." has just shared an area with you.") else minetest.chat_send_player(name, param.." is not a valid player.") end else minetest.chat_send_player(name, "This area is owned by "..owner) end else minetest.chat_send_player(name, "This area is unowned.") end end, }) minetest.register_chatcommand("unsharearea", { params = "", description = "unshares the current map chunk with ", privs = {interact=true}, func = function(name, param) local player = minetest.env:get_player_by_name(name) local pos = player:getpos() local owner = landrush.get_owner(pos) if owner then if owner == name or minetest.check_player_privs(name, {landrush=true}) then if name ~= param then claims[landrush.get_chunk(pos)].shared[param] = nil landrush.save_claims() minetest.chat_send_player(name, param.." may no longer edit this area.") minetest.chat_send_player(param, name.." has just revoked your editing privileges in an area.") else minetest.chat_send_player(name, 'Use "/unclaim" to unclaim the aria.') end else minetest.chat_send_player(name, "This area is owned by "..owner) end else minetest.chat_send_player(name, "This area is unowned.") end end, }) minetest.register_chatcommand("mayedit", { params = "", description = "lists the people who may edit the current map chunk", privs = {interact=true}, func = function(name, param) local player = minetest.env:get_player_by_name(name) local pos = player:getpos() local mayedit = landrush.get_owner(pos) if mayedit then local chunk = landrush.get_chunk(pos) for user, user in pairs(claims[chunk].shared) do mayedit = mayedit..", "..user end minetest.chat_send_player(name, mayedit) else minetest.chat_send_player(name, "This area is unowned.") end end, }) minetest.register_chatcommand("showarea", { params = "", description = "highlights the boundaries of the current protected area", privs = {interact=true}, func = function(name, param) local player = minetest.env:get_player_by_name(name) local pos = player:getpos() --local owner = landrush.get_owner(pos) -- if owner then --if landrush.can_interact(name, pos) then local entpos = landrush.get_chunk_center(pos) entpos.y = (pos.y-1) minetest.env:add_entity(entpos, "landrush:showarea") --else -- minetest.chat_send_player(name, "This area is owned by "..owner) --end --[[ else minetest.chat_send_player(name, "This area is unowned.") end]] -- (Removed at Rarkenin's request) end, }) minetest.register_chatcommand("shareall", { params = "", description = "shares all your landclaims with ", privs = {interact=true}, func = function(name, param) if minetest.env:get_player_by_name(param) then local qdone = 0 for k,v in pairs(claims) do if claims[k].owner == name then claims[k].shared[param] = param qdone = qdone + 1 end end landrush.save_claims() if qdone > 0 then minetest.chat_send_player(name, param.." may now edit all of your areas.") minetest.chat_send_player(name, qdone.." total areas were shared.") minetest.chat_send_player(param, name.." has just shared all of their areas with you.") else minetest.chat_send_player(name, param.." was not given any permissions. You may not own any land.") end else minetest.chat_send_player(name, param.." is not a valid player. Player must be online to share.") end end, }) minetest.register_chatcommand("unshareall", { params = "", description = "unshares all your landclaims with ", privs = {interact=true}, func = function(name, param) if minetest.env:get_player_by_name(param) then local qdone = 0 for k,v in pairs(claims) do if claims[k].owner == name then claims[k].shared[param] = nil qdone = qdone + 1 end end landrush.save_claims() if qdone > 0 then minetest.chat_send_player(name, param.." no longer may edit all of your areas.") minetest.chat_send_player(name, qdone.." total areas were unshared.") minetest.chat_send_player(param, name.." has just unshared all of their areas with you.") else minetest.chat_send_player(name, param.." had noting changed. You may not own any land.") end else minetest.chat_send_player(name, param.." is not a valid player. Player must be online to unshare.") end end, })