public void packetHandler(object sender, Client.packetReceivedEventArgs e) { switch ((byte)e.Type) { case 0x0D: Packet_PlayerPosAndLook p = (Packet_PlayerPosAndLook)e.packet; moveCamera((float)p.X, (float)p.Y + 3f, (float)p.Z); break; case 8: Packet_UpdateHealth h = (Packet_UpdateHealth)e.packet; Console.WriteLine("Health Update: {0} {1}", h.Health, h.Food); if (h.Health <= 0) { Packet_Respawn r = new Packet_Respawn(); r.Dimension = 0; r.Difficulty = 1; r.Gamemode = 0; r.LevelType = "default"; r.WorldHeight = 256; mc.sendPacket(r); } break; /* case 0x32: * Packet_PreChunk c = (Packet_PreChunk)e.packet; * if (c.Mode) * { * if (!chunks.ContainsKey(c.X + "_" + c.Z)) * chunks.Add(c.X + "_" + c.Z, new Chunk()); * } * else * if (chunks.ContainsKey(c.X + "_" + c.Z)) * chunks.Remove(c.X + "_" + c.Z); * break; */ case 0x33: Packet_MapChunk mch = (Packet_MapChunk)e.packet; int cx, cz; cx = mch.X; cz = mch.Z; string key = cx + "_" + cz; //output("Chunk: " + key, true); if (!chunks.ContainsKey(key)) { chunks.Add(key, new Chunk()); //output("Chunk had to be added! " + key, true); } chunks[key].update(mch); QueueChunk(chunks[key]); break; case 0x34: Packet_MultiBlockChange mb = (Packet_MultiBlockChange)e.packet; chunks[mb.X + "_" + mb.Z].update(mb); QueueChunk(chunks[mb.X + "_" + mb.Z]); break; } }
public static void Main() { /* * //Yaml.Node n = Yaml.Node.FromFile("minecraft.yaml"); * //Console.WriteLine(n); * //Console.ReadLine(); * YamlMapping ns = (YamlMapping)YamlNode.FromYamlFile("minecraft.yaml")[0]; * outputNode(ns); * * YamlSequence m; * YamlNode n; * ns.TryGetValue("blocks", out n); * m = (YamlSequence)n; * foreach(YamlNode i in m) * foreach (YamlNode ii in ((YamlMapping)i).Values) * Console.WriteLine(ii.Tag); * * Console.ReadLine(); * return;*/ Thread renderThread = new Thread(() => { t.Go(); }); Client mc = t.mc; renderThread.Start(); mc.packetReceived += t.packetHandler; wl("Welcome to SharpMCLibrary"); w("Please enter a name:"); mc.name = Console.ReadLine(); mc.output2 = writeDebug; //mc.connect("127.0.0.1", 25564); //SMPROXY //mc.connect("127.0.0.1", 25565); //LOCAL mc.connect("192.168.0.119", 25565); //LOCAL //mc.connect("37.59.228.108", 25565); //mcags.com string tmp = ""; while (!(tmp == "/exit" || tmp == "/quit")) { tmp = Console.ReadLine(); if (tmp.StartsWith("/")) { if (tmp == "/respawn") { Packet_Respawn r = new Packet_Respawn(); r.Dimension = 0; r.Difficulty = 1; r.Gamemode = 0; r.LevelType = "default"; r.WorldHeight = 256; mc.sendPacket(r); } } else { mc.sendPacket(new Packet_Chat() { Message = tmp }); } } mc.disconnect(); }