internal ReadOnlyWorld() { World = new World("default"); Level = new Level(); Level.AddWorld(World); UnloadChunks = true; }
public Server(ISettingsProvider settingsProvider) { SettingsProvider = settingsProvider; // Touch TerrainGeneration to load it into app domain FlatlandGenerator.DefaultGeneratorOptions.ToString(); var generator = Level.GetGenerator(SettingsProvider.Get<string>("level.type")); if (generator == null) generator = new FlatlandGenerator(); Level level; if (Directory.Exists(SettingsProvider.Get<string>("level.name"))) level = Level.LoadFrom(SettingsProvider.Get<string>("level.name")); else { level = new Level(generator, SettingsProvider.Get<string>("level.name")); level.AddWorld("overworld"); level.SaveTo(SettingsProvider.Get<string>("level.name")); } MinecraftServer = new MinecraftServer(level); MinecraftServer.Settings.MotD = SettingsProvider.Get<string>("server.motd"); MinecraftServer.Settings.OnlineMode = SettingsProvider.Get<bool>("server.onlinemode"); MinecraftServer.ChatMessage += MinecraftServerOnChatMessage; MinecraftServer.PlayerLoggedIn += MinecraftServerOnPlayerLoggedIn; MinecraftServer.PlayerLoggedOut += MinecraftServerOnPlayerLoggedOut; //MinecraftServer.TabComplete += MinecraftServer_TabComplete; }
public void TestCakeItem() { using (var level = new Level(new FlatlandGenerator())) { level.AddWorld("overworld"); Item.OnItemUsedOnBlock(new ItemDescriptor(CakeItem.ItemId), level.DefaultWorld, new Coordinates3D(0, 3, 0), Coordinates3D.Up, Coordinates3D.Zero); Assert.AreEqual(CakeBlock.BlockId, level.DefaultWorld.GetBlockId(new Coordinates3D(0, 4, 0))); } }
static void Main(string[] args) { if (Directory.Exists("world")) Directory.Delete("world", true); level = new Level(new StandardGenerator(), "world"); level.AddWorld("region"); level.AddWorld("test", new FlatlandGenerator()); level.Worlds[1].GenerateChunk(Coordinates2D.Zero); level.SaveTo("world"); server = new MinecraftServer(level); server.ChatMessage += server_ChatMessage; server.Settings.OnlineMode = true; server.Settings.MotD = "Craft.Net Test Server"; server.Start(new IPEndPoint(IPAddress.Any, 25565)); Console.WriteLine("Press 'q' to exit"); ConsoleKeyInfo cki; do cki = Console.ReadKey(true); while (cki.KeyChar != 'q'); server.Stop(); }
static void Main(string[] args) { if (Directory.Exists("world")) Directory.Delete("world", true); level = new Level(new StandardGenerator(), "world"); level.AddWorld("region"); level.SaveTo("world"); var server = new MinecraftServer(level); server.ChatMessage += server_ChatMessage; server.PlayerLoggedIn += server_PlayerLoggedIn; server.Settings.OnlineMode = true; server.Start(new IPEndPoint(IPAddress.Any, 25565)); Console.WriteLine("Press 'q' to exit"); ConsoleKeyInfo cki; do cki = Console.ReadKey(true); while (cki.KeyChar != 'q'); server.Stop(); }