SHARE
TWEET

Everybody Edits - New EEPhysics

capasha Jun 30th, 2017 (edited) 219 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. using EEPhysics;
  8. namespace EEPhysicsDemo
  9. {
  10.     class Program
  11.     {
  12.         public static PhysicsWorld Physicsworld = new PhysicsWorld();
  13.         public static Dictionary<int, Player> Players = new Dictionary<int, Player>();
  14.         static void Main(string[] args)
  15.         {
  16.             string email = ""; //Don't forget to remove your email
  17.             string password = ""; //Don't forget to remove your password
  18.             string roomid = "PW4D7s-6CmcEI";
  19.             PlayerIO.QuickConnect.SimpleConnect("everybody-edits-su9rn58o40itdbnw69plyw", email, password, null,
  20.             delegate (Client client)
  21.             {
  22.                 Console.WriteLine("Logged in!");
  23.                 client.Multiplayer.CreateJoinRoom(roomid, "Everybodyedits" + client.BigDB.Load("config", "config")["version"], true, null, null,
  24.                 delegate (Connection con)
  25.                 {
  26.                     con.Send("init");
  27.                         con.OnMessage += delegate (object sender, PlayerIOClient.Message m)
  28.                         {
  29.                             Physicsworld.HandleMessage(m);
  30.                             switch (m.Type)
  31.                             {
  32.                                 case "init":
  33.                                     Players.Add(m.GetInt(5), new Player(m.GetInt(5), m.GetString(13)));
  34.                                     con.Send("init2");
  35.                                     break;
  36.                                 case "init2":
  37.                                     Console.WriteLine("Connected to the room.");
  38.                                     break;
  39.                                 case "add":
  40.                                     if (!Players.ContainsKey(m.GetInt(0))) { Players.Add(m.GetInt(0), new Player(m.GetInt(0), m.GetString(1)));
  41.                                         Players[m.GetInt(0)].Physics.OnHitGodBlock += Physics_OnHitGodBlock;
  42.                                         Players[m.GetInt(0)].Physics.OnHitGravityEffect += Physics_OnHitGravityEffect;
  43.                                         Players[m.GetInt(0)].Physics.OnBlockPositionChange += Physics_OnBlockPositionChange;
  44.                                     }
  45.                                     break;
  46.                                 case "left":
  47.                                     if (Players.ContainsKey(m.GetInt(0))) Players.Remove(m.GetInt(0));
  48.                                     break;
  49.                                 case "m":
  50.                                     break;
  51.                             }
  52.                         };
  53.                 },
  54.                 delegate (PlayerIOError error)
  55.                     {
  56.  
  57.                     });
  58.  
  59.             },
  60.             delegate (PlayerIOError error)
  61.             {
  62.  
  63.             });
  64.             Console.ReadKey();
  65.         }
  66.  
  67.         private static void Physics_OnBlockPositionChange(PlayerBlockEventArgs e)
  68.         {
  69.             if (EEPhysics.ItemId.IsSolid(e.BlockId) && !EEPhysics.ItemId.CanJumpThroughFromBelow(e.BlockId) && !e.Player.InGodMode)
  70.             {
  71.                 Console.WriteLine(e.Player.Name + " Tried to walk through a block");
  72.             }
  73.         }
  74.  
  75.         private static void Physics_OnHitGravityEffect(PlayerEventArgs e)
  76.         {
  77.             Console.WriteLine(e.Player.Name + " Hit gravity effect block");
  78.         }
  79.  
  80.         private static void Physics_OnHitGodBlock(PlayerEventArgs e)
  81.         {
  82.             Console.WriteLine(e.Player.Name + " Hit god block");
  83.         }
  84.     }
  85.     public class Player
  86.     {
  87.         public PhysicsPlayer Physics { get { return Program.Physicsworld.Players[Id]; } }
  88.  
  89.         public string Name { get; }
  90.         public int Id { get; }
  91.  
  92.         public double X { get { return Physics.X; } }
  93.         public double Y { get { return Physics.Y; } }
  94.         public int x { get { return (int)Math.Round(X / 16); } }
  95.         public int y { get { return (int)Math.Round(Y / 16); } }
  96.  
  97.         public Player(int id, string name)
  98.         {
  99.             Id = id;
  100.             Name = name;
  101.         }
  102.     }
  103. }
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