From 3849de3aa3c3cbc6180b248c7d7c89fbf4bef069 Mon Sep 17 00:00:00 2001 From: azastrael Date: Sun, 6 Dec 2015 04:13:30 +0100 Subject: [PATCH] Try number 42. --- src/lib/plugins/tp.js | 9 +++------ src/lib/plugins/updatePositions.js | 7 ++++++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/lib/plugins/tp.js b/src/lib/plugins/tp.js index b46f9ea..6ad9e0e 100644 --- a/src/lib/plugins/tp.js +++ b/src/lib/plugins/tp.js @@ -17,19 +17,16 @@ module.exports.player = (player, serv) => { if(!(player_from = serv.getPlayer(args[0])) || !(player_to = serv.getPlayer(args[1]))) return false; - player_from.position = new Vec3(player_to.position.x, player_to.position.y, player_to.position.z); - player_from.sendPosition(); + player_from.teleport(player_to.position.clone()); } else if(args.length === 3) { - player.position = new Vec3(args[0]*32, args[1]*32, args[2]*32); - player.sendPosition(); + player.teleport(new Vec3(args[0]*32, args[1]*32, args[2]*32)); } else if(args.length === 4) { let player_from; if(!(player_from = serv.getPlayer(args[0]))) return false; - player_from.position = new Vec3(args[1]*32, args[2]*32, args[3]*32); - player_from.sendPosition(); + player_from.teleport(new Vec3(args[1]*32, args[2]*32, args[3]*32)); } } }); diff --git a/src/lib/plugins/updatePositions.js b/src/lib/plugins/updatePositions.js index 749d77b..60a13fe 100644 --- a/src/lib/plugins/updatePositions.js +++ b/src/lib/plugins/updatePositions.js @@ -97,6 +97,11 @@ module.exports.player=function(player) flags: 0x00 }); }; + + player.teleport = (position) => { + player.sendRelativePositionChange(position, false); + player.sendPosition(); + } }; module.exports.entity=function(entity,serv){ @@ -157,4 +162,4 @@ module.exports.entity=function(entity,serv){ else z = Math.max(-max.z, Math.min(max.z, current.z + newVel.z)); return new Vec3(x, y, z); } -}; \ No newline at end of file +};