/// <inheritdoc /> protected override void HandleJavaMeta(MetaDataEntry entry) { base.HandleJavaMeta(entry); if (entry.Index == 7 && entry is MetadataSlot slot) { var item = JavaWorldProvider.GetItemFromSlotData(slot.Value); if (item != null) { SetItem(item); } } }
public void ConnectToServer(IPEndPoint serverEndPoint, PlayerProfile profile, bool bedrock = false) { WorldProvider provider; INetworkProvider networkProvider; IsMultiplayer = true; if (bedrock) { provider = new BedrockWorldProvider(this, serverEndPoint, profile, out networkProvider); } else { provider = new JavaWorldProvider(this, serverEndPoint, profile, out networkProvider); } LoadWorld(provider, networkProvider); }
public void ConnectToServer(IPEndPoint serverEndPoint, PlayerProfile profile, bool bedrock = false, string hostname = null) { var oldNetworkPool = NetworkThreadPool; var optionsProvider = Services.GetService <IOptionsProvider>(); NetworkThreadPool = new DedicatedThreadPool(new DedicatedThreadPoolSettings(optionsProvider.AlexOptions.NetworkOptions.NetworkThreads.Value, ThreadType.Background, "Network ThreadPool")); try { var eventDispatcher = Services.GetRequiredService <IEventDispatcher>() as EventDispatcher; eventDispatcher?.Reset(); WorldProvider provider; INetworkProvider networkProvider; IsMultiplayer = true; if (bedrock) { provider = new BedrockWorldProvider(this, serverEndPoint, profile, NetworkThreadPool, out networkProvider); } else { provider = new JavaWorldProvider(this, serverEndPoint, profile, out networkProvider) { Hostname = hostname }; } LoadWorld(provider, networkProvider); } catch (Exception ex) { Log.Error(ex, $"FCL: {ex.ToString()}"); } oldNetworkPool?.Dispose(); }
public JavaClient(JavaWorldProvider javaWorldProvider, Socket socket, DedicatedThreadPool networkPool) : base(PacketDirection.ClientBound, socket, null, networkPool) { MCPacketFactory.Load(); JavaWorld = javaWorldProvider; WorldReceiver = javaWorldProvider; }
public JavaClient(JavaWorldProvider javaWorldProvider, Socket socket) : base(Direction.ClientBound, socket, null, null) { MCPacketFactory.Load(); WorldReceiver = javaWorldProvider; }