Advertisement
Guest User

Untitled

a guest
Jan 31st, 2017
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1. var mineflayer = require('mineflayer');
  2. var vec3 = mineflayer.vec3;
  3. var navigatePlugin = require('mineflayer-navigate')(mineflayer);
  4. var bot = mineflayer.createBot({
  5. host: '37.120.172.40',
  6. port: Number(25565),
  7. username: 'my@mail.com',
  8. password: 'MyPassword',
  9. });
  10. navigatePlugin(bot);
  11. bot.navigate.blocksToAvoid[132] = true; // avoid tripwire
  12. bot.navigate.blocksToAvoid[59] = false; // ok to trample crops
  13. bot.navigate.on('pathPartFound', function (path) {
  14. bot.chat("Going " + path.length + " meters in the general direction for now.");
  15. });
  16. bot.navigate.on('pathFound', function (path) {
  17. bot.chat("I can get there in " + path.length + " moves.");
  18. });
  19. bot.navigate.on('cannotFind', function (closestPath) {
  20. bot.chat("unable to find path. getting as close as possible");
  21. bot.navigate.walk(closestPath);
  22. });
  23. bot.navigate.on('arrived', function () {
  24. bot.chat("I have arrived");
  25. });
  26. bot.navigate.on('interrupted', function() {
  27. bot.chat("stopping");
  28. });
  29. bot.on('chat', function(username, message) {
  30. if (username === bot.username) return;
  31. var target = bot.players[username].entity;
  32. if (message === 'come') {
  33. bot.navigate.to(target.position);
  34. } else if (message === 'stop') {
  35. bot.navigate.stop();
  36. } else if (message === 'testcb') {
  37. bot.chat("computing path to " + target.position);
  38. var results = bot.navigate.findPathSync(target.position);
  39. bot.chat("status: " + results.status);
  40. bot.navigate.walk(results.path, function(stopReason) {
  41. bot.chat("done. " + stopReason);
  42. });
  43. } else {
  44. var match = message.match(/^goto\s*\(\s*(-?\d+)\s*,\s*(-?\d+)\s*,\s*(-?\d+)\s*\)\s*$/);
  45. if (match) {
  46. var pt = vec3(
  47. parseFloat(match[1], 10),
  48. parseFloat(match[2], 10),
  49. parseFloat(match[3], 10));
  50. bot.navigate.to(pt);
  51. } else {
  52. console.log("no match");
  53. }
  54. }
  55. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement