public JavaClient(JavaWorldProvider javaWorldProvider, Socket socket, DedicatedThreadPool networkPool) : base(PacketDirection.ClientBound, socket, null, networkPool) { MCPacketFactory.Load(); JavaWorld = javaWorldProvider; WorldReceiver = javaWorldProvider; }
public Alex(LaunchSettings launchSettings) { EntityProperty.Factory = new AlexPropertyFactory(); Instance = this; LaunchSettings = launchSettings; OperatingSystem = $"{System.Runtime.InteropServices.RuntimeInformation.OSDescription} ({System.Runtime.InteropServices.RuntimeInformation.OSArchitecture})"; DeviceManager = new GraphicsDeviceManager(this) { PreferMultiSampling = false, SynchronizeWithVerticalRetrace = false, GraphicsProfile = GraphicsProfile.Reach, }; DeviceManager.PreparingDeviceSettings += (sender, args) => { Gpu = args.GraphicsDeviceInformation.Adapter.Description; args.GraphicsDeviceInformation.PresentationParameters.DepthStencilFormat = DepthFormat.Depth24Stencil8; DeviceManager.PreferMultiSampling = true; }; Content = new StreamingContentManager(base.Services, "assets"); // Content.RootDirectory = "assets"; IsFixedTimeStep = false; // graphics.ToggleFullScreen(); this.Window.AllowUserResizing = true; this.Window.ClientSizeChanged += (sender, args) => { if (DeviceManager.PreferredBackBufferWidth != Window.ClientBounds.Width || DeviceManager.PreferredBackBufferHeight != Window.ClientBounds.Height) { if (DeviceManager.IsFullScreen) { DeviceManager.PreferredBackBufferWidth = GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width; DeviceManager.PreferredBackBufferHeight = GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height; } else { DeviceManager.PreferredBackBufferWidth = Window.ClientBounds.Width; DeviceManager.PreferredBackBufferHeight = Window.ClientBounds.Height; } DeviceManager.ApplyChanges(); //CefWindow.Size = new System.Drawing.Size(Window.ClientBounds.Width, Window.ClientBounds.Height); } }; JsonConvert.DefaultSettings = () => new JsonSerializerSettings() { Converters = new List <JsonConverter>() { new Texture2DJsonConverter(GraphicsDevice) }, Formatting = Formatting.Indented }; ServerTypeManager = new ServerTypeManager(); PluginManager = new PluginManager(); Storage = new StorageSystem(LaunchSettings.WorkDir); Options = new OptionsProvider(Storage); IServiceCollection serviceCollection = new ServiceCollection(); serviceCollection.AddSingleton <Alex>(this); serviceCollection.AddSingleton <ContentManager>(Content); serviceCollection.AddSingleton <IStorageSystem>(Storage); serviceCollection.AddSingleton <IOptionsProvider>(Options); InitiatePluginSystem(serviceCollection); ConfigureServices(serviceCollection); Services = serviceCollection.BuildServiceProvider(); PluginManager.Setup(Services); PluginManager.LoadPlugins(); ServerTypeManager.TryRegister("java", new JavaServerType(this)); ServerTypeManager.TryRegister("bedrock", new BedrockServerType(this, Services.GetService <XboxAuthService>())); UIThreadQueue = new ConcurrentQueue <Action>(); FpsMonitor = new FpsMonitor(); Resources = Services.GetRequiredService <ResourceManager>(); ThreadPool = new DedicatedThreadPool(new DedicatedThreadPoolSettings(Environment.ProcessorCount, ThreadType.Background, "Dedicated ThreadPool")); KeyboardInputListener.InstanceCreated += KeyboardInputCreated; }