diff --git a/commands.lua b/commands.lua index 2169de5..427f0ee 100644 --- a/commands.lua +++ b/commands.lua @@ -9,12 +9,6 @@ local MAXINT = 2147483647; minetest.register_chatcommand("map", { params = "[] []", func = function(name, param) - local player = minetest.get_player_by_name(name); - local pos = player:get_pos(); - - local player_x = chunk.to(pos.x); - local player_z = chunk.to(pos.z); - local detail, scale = param:match("(%d*) (%d*)"); if detail then @@ -29,8 +23,13 @@ minetest.register_chatcommand("map", { scale = 1; end + local player = minetest.get_player_by_name(name); + local pos = player:get_pos(); + local player_x = math.floor((chunk.to(pos.x) / scale) + 0.5); + local player_z = math.floor((chunk.to(pos.z) / scale) + 0.5); + audio.play_feedback("cartographer_open_map", player); - minetest.show_formspec(name, "map", map_formspec.from_coords(math.floor((player_x / scale) + 0.5), math.floor((player_z / scale) + 0.5), 40, 40, detail, scale, true)); + minetest.show_formspec(name, "map", map_formspec.from_coords(player_x, player_z, 40, 40, detail, scale, true)); end, })