From 2aa5b584f4464ed892488829ea4e4614509c9b0f Mon Sep 17 00:00:00 2001 From: pandaro Date: Sun, 16 Apr 2017 14:48:34 +0200 Subject: [PATCH] implement rudimentary explorer experience (#55) * implement rudimentary explorer experience * move explorer_xp to xp folder --- mods/xp/init.lua | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/mods/xp/init.lua b/mods/xp/init.lua index d7cb6ac..aed9d6d 100644 --- a/mods/xp/init.lua +++ b/mods/xp/init.lua @@ -154,5 +154,24 @@ function xp.save_levels() end end +function xp.explorer_xp() + minetest.register_on_generated(function(minp, maxp, blockseed) + local center={x=minp.x+math.abs(minp.x-maxp.x),y=minp.y+math.abs(minp.y-maxp.y),z=minp.z+math.abs(minp.z-maxp.z)} + local nearest=nil + for i,v in pairs(minetest.get_connected_players()) do + local pos =v:getpos() + local dist=vector.distance(center, pos) + if nearest==nil then + nearest={name=v,dist=dist} + elseif dist < nearest.dist then + nearest.dist = dist + nearest.name=v + end + end + xp.add_xp(nearest.name, 0.1) + + end) +end +xp.explorer_xp() xp.load_xp() xp.load_levels()