2020-02-16 18:55:07 +01:00
|
|
|
local MAXINT = 2147483647;
|
|
|
|
|
2020-04-11 20:02:12 +02:00
|
|
|
-- /map <detail> -- Displays a regional map around the player
|
|
|
|
-- (Optional)detail: Specifies the map's detail level. Defaults to the highest
|
|
|
|
-- available detail.
|
2020-02-16 18:55:07 +01:00
|
|
|
minetest.register_chatcommand("map", {
|
|
|
|
params = "[<detail>]",
|
|
|
|
func = function(name, detail)
|
|
|
|
local player = minetest.get_player_by_name(name);
|
|
|
|
local pos = player:get_pos();
|
|
|
|
|
2020-04-11 20:02:12 +02:00
|
|
|
local player_x, player_z = cartographer.to_map_coordinates(nil, pos.x, pos.z);
|
2020-02-16 18:55:07 +01:00
|
|
|
|
|
|
|
if detail == "" then
|
|
|
|
detail = MAXINT;
|
|
|
|
end
|
|
|
|
|
2020-04-18 16:24:26 +02:00
|
|
|
minetest.sound_play("cartographer_open_map", { to_player=name }, true);
|
2020-04-11 20:02:12 +02:00
|
|
|
minetest.show_formspec(name, "map", cartographer.get_map_formspec(data, player_x, player_z, 40, 40, detail));
|
2020-02-16 18:55:07 +01:00
|
|
|
end,
|
|
|
|
})
|
|
|
|
|
|
|
|
-- TODO: Remove before release
|
|
|
|
minetest.register_chatcommand("scan", {
|
|
|
|
func = function(name)
|
|
|
|
local player = minetest.get_player_by_name(name);
|
|
|
|
local pos = player:get_pos();
|
|
|
|
|
|
|
|
local b = minetest.get_biome_data(pos).biome;
|
|
|
|
minetest.chat_send_all(minetest.get_biome_name(b));
|
|
|
|
end,
|
|
|
|
})
|