diff --git a/items.lua b/items.lua index c23cfb3..e59796c 100644 --- a/items.lua +++ b/items.lua @@ -272,7 +272,7 @@ minetest.register_on_player_receive_fields(function(player, name, fields) local marker = k:match("marker%-(.+)"); local pos = player:get_pos(); if marker or k == "clear_marker" then - local player_x, player_z = map:to_coordinates(pos.x, pos.z); + local player_x, player_z = map:to_coordinates(pos.x, pos.z, true); map:set_marker(player_x, player_z, marker); audio.play_feedback("cartographer_write", player); diff --git a/map_api.lua b/map_api.lua index af076f4..5dc2ccc 100644 --- a/map_api.lua +++ b/map_api.lua @@ -44,7 +44,7 @@ end -- z: The z position, in map coordinates -- marker: The marker ID to set, or nil to unset function Map.set_marker(self, x, z, marker) - if x < self.x or x > self.x + self.w or z < self.z or z > self.z + self.h then + if x < 0 or x > self.w or z < 0 or z > self.h then return; end @@ -64,7 +64,7 @@ end -- -- Returns a marker id function Map.get_marker(self, x, z) - if x < self.x or x > self.x + self.w or z < self.z or z > self.z + self.h or not self.markers[x] then + if x < 0 or x > self.w or z < 0 or z > self.h or not self.markers[x] then return nil; end