From e2f863f81c562047041060bfd1811214aea884b3 Mon Sep 17 00:00:00 2001 From: Brandon Date: Fri, 27 May 2016 23:31:50 -0500 Subject: [PATCH] Add teleporting function that won't affect player energy. closes #31 --- mods/adventuretest/functions.lua | 6 ++++++ mods/mg_villages/chat_commands.lua | 3 ++- mods/potions/items.lua | 3 ++- mods/sethome/init.lua | 3 ++- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/mods/adventuretest/functions.lua b/mods/adventuretest/functions.lua index b84dc7a..14bc91c 100644 --- a/mods/adventuretest/functions.lua +++ b/mods/adventuretest/functions.lua @@ -36,4 +36,10 @@ end function adventuretest.register_pl_hook(f,t) table.insert(adventuretest.pl_hooks,{func=f,timeout=t,timer=0}) +end + +function adventuretest.teleport(player,pos) + local name = player:get_player_name(); + pd.set(name,"lastpos",pos) + player:moveto(pos) end \ No newline at end of file diff --git a/mods/mg_villages/chat_commands.lua b/mods/mg_villages/chat_commands.lua index b9dfa9e..fc0dd45 100644 --- a/mods/mg_villages/chat_commands.lua +++ b/mods/mg_villages/chat_commands.lua @@ -97,7 +97,8 @@ minetest.register_chatcommand( 'visit', { minetest.chat_send_player( name, "Initiating transfer to village no. "..tostring( v.nr )..", called "..( tostring( v.name or 'unknown')).."."); local player = minetest.get_player_by_name( name ); - player:moveto( { x=v.vx, y=(v.vh+1), z=v.vz }, false); + adventuretest.teleport(player,{ x=v.vx, y=(v.vh+1), z=v.vz }) + --player:moveto( { x=v.vx, y=(v.vh+1), z=v.vz }, false); return; end end diff --git a/mods/potions/items.lua b/mods/potions/items.lua index 6f50aec..ef0207e 100644 --- a/mods/potions/items.lua +++ b/mods/potions/items.lua @@ -72,7 +72,8 @@ minetest.register_craftitem("potions:bones", { if player_bones[name] ~= nil then local bpos = player_bones[name] bpos.y = bpos.y + 1 - player:moveto(bpos) + adventuretest.teleport(player,bpos) + --player:moveto(bpos) else minetest.chat_send_player(name,"Your bones were not found") end diff --git a/mods/sethome/init.lua b/mods/sethome/init.lua index c0b193b..092269c 100644 --- a/mods/sethome/init.lua +++ b/mods/sethome/init.lua @@ -107,7 +107,8 @@ function sethome_respawnplayer (player) end local homepos = pd.get(name,"homepos") if homepos ~= nil then - player:moveto(homepos) + adventuretest.teleport(player,homepos) + --player:moveto(homepos) return true else return false