SHARE
TWEET

BlockWorks - Random Bot

capasha Aug 30th, 2017 (edited) 17 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using PlayerIOClient;
  7. namespace BlockWorksTest
  8. {
  9.     class Program
  10.     {
  11.         public static Dictionary<int, players> player = new Dictionary<int, players>();
  12.         static void Main(string[] args)
  13.         {
  14.             Console.Title = "No";
  15.             PlayerIO.Authenticate("blockworks-frdrlhtjneoipehnx9tmg", "public", new Dictionary<string, string>() { { "userId", "guest" } }, null,
  16.                 delegate (Client client)
  17.                 {
  18.                     Console.WriteLine("Logged in");
  19.                     client.Multiplayer.ListRooms(null, null, 0, 0,
  20.                         delegate (RoomInfo[] rinfo)
  21.                         {
  22.                             foreach (var value in rinfo)
  23.                             {
  24.                                 Console.WriteLine(value.Id + " " + value.RoomType + " " + value.OnlineUsers);
  25.                             }
  26.                         },
  27.                         delegate (PlayerIOError error)
  28.                         {
  29.                             Console.WriteLine("Listing Worlds Error: " + error.Message);
  30.                         });
  31.  
  32.                     client.Multiplayer.CreateJoinRoom("OR_Green", "Simple-2", true, null, new Dictionary<string, string>() { { "Username", "doh" } },
  33.                         delegate (Connection con)
  34.                         {
  35.                             con.Send("ready");
  36.                             con.OnMessage += delegate (object sender, PlayerIOClient.Message m)
  37.                             {
  38.                                 switch (m.Type)
  39.                                 {
  40.                                     default:
  41.                                         Console.WriteLine(m.ToString());
  42.                                         break;
  43.                                     case "join":
  44.                                         if (!player.ContainsKey(m.GetInt(0))) player.Add(m.GetInt(0), new players() { nick = m.GetString(2).ToLower() });
  45.                                         break;
  46.                                     case "left":
  47.                                         if (player.ContainsKey(m.GetInt(0))) player.Remove(m.GetInt(0));
  48.                                         break;
  49.                                     case "online":
  50.                                         uint incr = 0;
  51.                                         for (uint i = 0; i < m.Count; i++)
  52.                                         {
  53.                                             if (incr == 0 && !player.ContainsKey(m.GetInt(i)))
  54.                                             {
  55.                                                 player.Add(m.GetInt(i), new players() { nick = m.GetString(i + 2).ToLower() });
  56.                                             }
  57.                                             if (incr == 7) incr = 0;
  58.                                             else incr++;
  59.  
  60.                                         }
  61.                                         break;
  62.                                     case "say":
  63.                                         Console.WriteLine(player[m.GetInt(0)].nick + " Says: " + m.GetString(1));
  64.                                         break;
  65.                                     case "b":
  66.                                            Message send = Message.Create("b",new object[] { Convert.ToUInt32(toBlocks(getBlocks(m.GetInt(1))[0].X, getBlocks(m.GetInt(1))[0].Y,0)), Convert.ToUInt32(3) });
  67.                                            con.Send(send);
  68.                                         break;
  69.  
  70.                                 }
  71.                             };
  72.                         },
  73.                         delegate (PlayerIOError error)
  74.                         {
  75.                             Console.WriteLine("Connection Error: " + error.Message);
  76.                         });
  77.                 },
  78.                 delegate (PlayerIOError error)
  79.                 {
  80.                     Console.WriteLine("Login Error: " + error.Message);
  81.                 });
  82.             Console.ReadKey();
  83.         }
  84.         static int toBlocks(int x,int y,int c)
  85.         {
  86.             return (c & 3) << 30 | (x & 32767) << 15 | y & 32767;
  87.         }
  88.         static List<blocks> getBlocks(int value)
  89.         {
  90.             List<blocks> block = new List<blocks>();
  91.             block.Clear();
  92.             block.Add(new blocks()
  93.             {
  94.                 layer = value >> 30 & 3,
  95.                 X = value >> 15 & 32767,
  96.                 Y = value & 32767
  97.             });
  98.             return block;
  99.         }
  100.     }
  101.     class players
  102.     {
  103.         public string nick { get; set; }
  104.     }
  105.     class blocks
  106.     {
  107.         public int layer { get; set; }
  108.         public int X { get; set; }
  109.         public int Y { get; set; }
  110.     }
  111. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top