SHARE
TWEET

BigDB World to .eelvl

capasha May 13th, 2019 103 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //This code needs:
  2. //https://github.com/atillabyte/World download and compile and copy the DLL
  3. //https://gitlab.com/LukeM212/EELVL/tree/v2.4-legacy download and compile and copy DLL
  4.  
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using static World;
  11. using EELVL;
  12. using PlayerIOClient;
  13. using System.IO;
  14. using System.Text.RegularExpressions;
  15. namespace WorldTest
  16. {
  17.     class Program
  18.     {
  19.         static void Main(string[] args)
  20.         {
  21.             if (args.Length == 1)
  22.             {
  23.                 if (args[0].Length >= 4 && args[0].ToString().Substring(0, 2) == "PW" || args[0].ToString().Substring(0, 2) == "BW") {
  24.                     PlayerIO.QuickConnect.SimpleConnect("everybody-edits-su9rn58o40itdbnw69plyw", "guest", "guest", null, (Client client) =>
  25.                         {
  26.                             var world = new World(InputType.BigDB, args[0].ToString(), client);
  27.                             string name = $"{world.Name} - {world.Username} - {args[0].ToString()}.eelvl";
  28.                             Level level = new Level(world.Width, world.Height, 0);
  29.                             level.WorldName = world.Name;
  30.                             level.OwnerName = world.Owner;
  31.                             var value = world.Blocks.ToArray();
  32.                             foreach (var val in value)
  33.                             {
  34.                                 int block = Convert.ToInt32(val.Type);
  35.                                 foreach (var vale in val.Locations)
  36.                                 {
  37.                                     if (Blocks.IsType(block, Blocks.BlockType.Normal))
  38.                                     {
  39.                                         if (val.Layer == 1)
  40.                                         {
  41.                                             level[1, vale.X, vale.Y] = new Blocks.Block(block);
  42.                                         }
  43.                                         else
  44.                                         {
  45.                                             level[0, vale.X, vale.Y] = new Blocks.Block(block);
  46.                                         }
  47.                                     }
  48.                                     if (Blocks.IsType(block, Blocks.BlockType.Number))
  49.                                     {
  50.                                         level[0, vale.X, vale.Y] = new Blocks.NumberBlock(block, val.Goal);
  51.                                     }
  52.                                     if (Blocks.IsType(block, Blocks.BlockType.NPC))
  53.                                     {
  54.                                         level[0, vale.X, vale.Y] = new Blocks.NPCBlock(block, val.Name, val.TextMessage1, val.TextMessage2, val.TextMessage3);
  55.                                     }
  56.                                     if (Blocks.IsType(block, Blocks.BlockType.Morphable))
  57.                                     {
  58.                                         level[0, vale.X, vale.Y] = new Blocks.MorphableBlock(block, val.Rotation);
  59.                                     }
  60.                                     if (Blocks.IsType(block, Blocks.BlockType.Enumerable))
  61.                                     {
  62.                                         level[0, vale.X, vale.Y] = new Blocks.EnumerableBlock(block, val.Rotation);
  63.                                     }
  64.                                     if (Blocks.IsType(block, Blocks.BlockType.Sign))
  65.                                     {
  66.                                         level[0, vale.X, vale.Y] = new Blocks.SignBlock(block, val.Text, val.SignType);
  67.                                     }
  68.                                     if (Blocks.IsType(block, Blocks.BlockType.Rotatable) || Blocks.IsType(block, Blocks.BlockType.RotatableButNotReally))
  69.                                     {
  70.                                         level[0, vale.X, vale.Y] = new Blocks.RotatableBlock(block, val.Rotation);
  71.                                     }
  72.                                     if (Blocks.IsType(block, Blocks.BlockType.Portal))
  73.                                     {
  74.                                         level[0, vale.X, vale.Y] = new Blocks.PortalBlock(block, val.Rotation, Convert.ToInt32(val.Id), Convert.ToInt32(val.Target));
  75.                                     }
  76.                                     if (Blocks.IsType(block, Blocks.BlockType.WorldPortal))
  77.                                     {
  78.                                         level[0, vale.X, vale.Y] = new Blocks.WorldPortalBlock(block, Convert.ToString(val.Target), val.Rotation);
  79.                                     }
  80.                                     if (Blocks.IsType(block, Blocks.BlockType.Music))
  81.                                     {
  82.                                         level[0, vale.X, vale.Y] = new Blocks.MusicBlock(block, val.Rotation);
  83.                                     }
  84.  
  85.  
  86.                                 }
  87.                             }
  88.                             using (FileStream file = File.OpenWrite($"{Directory.GetCurrentDirectory()}\\{name}"))
  89.                             {
  90.                                 level.Save(file);
  91.                             }
  92.                             Environment.Exit(0);
  93.                         }, (PlayerIOError error) => { Console.WriteLine($"Login Error: {error.Message}"); });
  94.                     Console.ReadKey();
  95.                 }
  96.             }
  97.         }
  98.     }
  99. }
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