private Task OnPlayerJoin(PlayerJoinEventArgs e) { e.Server.Broadcast($"Player join event from sample plugin! {e.Joined.Username}"); e.Logger.LogMessage($"Player join event to logger from sample plugin! {e.Joined.Username}"); return Task.CompletedTask; }
public async Task OnPlayerJoin(PlayerJoinEventArgs playerJoinEvent) { var player = playerJoinEvent.Player; var server = playerJoinEvent.Server; await player.SendMessageAsync(IChatMessage.Simple($"Welcome {player.Username}!", ChatColor.Gold)); }
/*public async Task OnIncomingChatMessage(IncomingChatMessageEventArgs e) * { * var player = e.Player; * var message = e.Message; * await e.Server.BroadcastAsync($"<{player.Username}> {message}"); * e.Handled = true; * }*/ public async Task OnPlayerJoin(PlayerJoinEventArgs e) { var player = e.Player; var server = e.Server; await player.SendMessageAsync( Globals.Configs.Motd.ReplaceKeywords(player)); }
internal void InvokePlayerJoinEvent(Player player, ref string nickname) { var ev = new PlayerJoinEventArgs { Player = player, Nickname = nickname }; PlayerJoinEvent?.Invoke(ev); nickname = ev.Nickname; }
public void OnPlayerJoinGame(PlayerJoinEventArgs playerJoinEvent) { IPlayer player = playerJoinEvent.Player; using var packet = new PlayerInfoPacket(PlayerInfoActionType.Add, player); IEnumerable <IMinecraftUser> players = _server.ConnectedPlayers.Where(x => x.Player.Id != player.Id); _server.SendTo(players, packet); }
private async Task OnPlayerJoin(PlayerJoinEventArgs e) { var joined = e.Player as Player; joined.World.TryAddPlayer(joined); BroadcastMessage(string.Format(Config.JoinMessage, e.Player.Username)); foreach (Player other in Players) { await other.client.AddPlayerToListAsync(joined); } }
private async Task OnPlayerJoin(PlayerJoinEventArgs e) { var joined = e.Player as Player; this.World.AddPlayer(joined);//TODO Gotta make sure we add the player to whatever world they were last in so this has to change await this.BroadcastAsync(string.Format(this.Config.JoinMessage, e.Player.Username)); foreach (var(_, other) in this.OnlinePlayers) { await other.client.AddPlayerToListAsync(joined); } }
private async Task OnPlayerJoin(PlayerJoinEventArgs e) { var joined = e.Player; await this.BroadcastAsync(string.Format(this.Config.JoinMessage, e.Player.Username)); foreach (var(_, other) in this.OnlinePlayers) { await other.client.AddPlayerToListAsync(joined); } // Need a delay here, otherwise players start flying await Task.Delay(500); await this.SendSpawnPlayerAsync(joined); }
public async Task OnPlayerJoin(PlayerJoinEventArgs e) { if (!(_config.Enabled && _config.JoinLeaveMessages.Enabled)) { return; } _ = Task.Run(async() => { if (_config.ChatSync.Enabled) { string message = string.Format(_config.JoinLeaveMessages.JoinMessageTemplate, e.Player.Username); await(await _client.GetChannelAsync(_config.JoinLeaveMessages.ChannelId)).SendMessageAsync(message); } }); await Task.CompletedTask; }
internal Task InvokePlayerJoinAsync(PlayerJoinEventArgs eventArgs) => this.playerJoin.InvokeAsync(eventArgs);
public static void OnPlayerJoin(PlayerJoinEventArgs args) { PlayerJoin?.Invoke(args); }
public async Task OnPlayerJoin(PlayerJoinEventArgs playerJoinEvent) { var player = playerJoinEvent.Player; await player.SendMessageAsync(message : ChatMessage.Simple(text: $"Welcome {player.Username}!", color: ChatColor.Gold)); }
internal async Task InvokePlayerJoin(PlayerJoinEventArgs eventArgs) { await Task.Factory.StartNew(async() => { await this._playerJoin.InvokeAsync(eventArgs); }); }
private async Task OnPlayerJoin(PlayerJoinEventArgs e) { await e.Server.BroadcastAsync($"Player join event from sample plugin! {e.Player.Username}"); this.Logger.LogInformation($"Player join event to logger from sample plugin! {e.Player.Username}"); }
private void OnPlayerJoinEvent(PlayerJoinEventArgs ev) => Timing.CallDelayed(0.75f, () => MakeAndSendData(ev));
internal ValueTask InvokePlayerJoinAsync(PlayerJoinEventArgs eventArgs) => PlayerJoin.InvokeAsync(eventArgs);
private void ResourcePackClientResponsePacketHandle(ResourcePackClientResponsePacket pk) { if (this.PackSyncCompleted) { return; } else if (pk.ResponseStatus == ResourcePackClientResponsePacket.STATUS_REFUSED) { this.Close("disconnectionScreen.resourcePackn"); } else if (pk.ResponseStatus == ResourcePackClientResponsePacket.STATUS_SEND_PACKS) { //TODO: ResourcePackDataInfoPacket } else if (pk.ResponseStatus == ResourcePackClientResponsePacket.STATUS_HAVE_ALL_PACKS) { ResourcePackStackPacket resourcePackStackPacket = new ResourcePackStackPacket(); this.SendPacket(resourcePackStackPacket); this.HaveAllPacks = true; } else if (pk.ResponseStatus == ResourcePackClientResponsePacket.STATUS_COMPLETED && this.HaveAllPacks) { this.PackSyncCompleted = true; if (this.IsLogined) { return; } PlayerLoginEventArgs playerLoginEvent = new PlayerLoginEventArgs(this, ""); PlayerEvents.OnPlayerLogin(playerLoginEvent); if (playerLoginEvent.IsCancel) { this.Close(playerLoginEvent.KickMessage); return; } this.IsLogined = true; //if (World.Exists(worldName)) //{ // this.World = World.GetWorld(worldName); //} //else //{ this.World = World.GetMainWorld(); //} this.LoadData(); if (this.X == 0 && this.Y == 0 && this.Z == 0) { this.X = this.World.SpawnPoint.FloorX; this.Y = this.World.SpawnPoint.FloorY; this.Z = this.World.SpawnPoint.FloorZ; } StartGamePacket startGamePacket = new StartGamePacket(); startGamePacket.EntityUniqueId = this.EntityID; startGamePacket.EntityRuntimeId = this.EntityID; startGamePacket.PlayerGamemode = this.GameMode; startGamePacket.PlayerPosition = new Vector3(this.X, this.Y, this.Z); startGamePacket.Direction = new Vector2(this.Yaw, this.Pitch); startGamePacket.WorldGamemode = this.World.DefaultGameMode.GameModeToInt(); startGamePacket.Difficulty = this.World.Difficulty; startGamePacket.SpawnX = this.World.SpawnPoint.FloorX; startGamePacket.SpawnY = this.World.SpawnPoint.FloorY; startGamePacket.SpawnZ = this.World.SpawnPoint.FloorZ; startGamePacket.WorldName = this.World.Name; this.SendPacket(startGamePacket); this.SendPlayerAttribute(); AvailableCommandsPacket availableCommandsPacket = new AvailableCommandsPacket(); availableCommandsPacket.commands = Server.Instance.CommandManager.CommandList; this.SendPacket(availableCommandsPacket); this.Inventory.SendContents(); this.Inventory.ArmorInventory.SendContents(); this.Inventory.SendCreativeItems(); this.Inventory.SendMainHand(this); PlayerJoinEventArgs playerJoinEvent = new PlayerJoinEventArgs(this, $"§e{this.Name} が世界にやってきました", ""); PlayerEvents.OnPlayerJoin(playerJoinEvent); if (playerJoinEvent.IsCancel) { this.Close(playerJoinEvent.KickMessage); return; } if (!string.IsNullOrEmpty(playerJoinEvent.JoinMessage)) { Server.Instance.BroadcastMessage(playerJoinEvent.JoinMessage); } Logger.Info($"§e{this.Name} join the game"); this.SendPlayStatus(PlayStatusPacket.PLAYER_SPAWN); this.HasSpawned = true; GameRules rules = new GameRules(); rules.Add(new GameRule <bool>("ShowCoordinates", true)); GameRulesChangedPacket gameRulesChangedPacket = new GameRulesChangedPacket(); gameRulesChangedPacket.GameRules = rules; this.SendPacket(gameRulesChangedPacket); this.PlayerListEntry = new PlayerListEntry(this.LoginData.ClientUUID, this.EntityID, this.Name, this.ClientData.DeviceOS, this.ClientData.Skin, this.LoginData.XUID); AdventureSettingsEntry adventureSettingsEntry = new AdventureSettingsEntry(); adventureSettingsEntry.SetFlag(AdventureSettingsPacket.WORLD_IMMUTABLE, false); adventureSettingsEntry.SetFlag(AdventureSettingsPacket.NO_PVP, false); adventureSettingsEntry.SetFlag(AdventureSettingsPacket.AUTO_JUMP, false); adventureSettingsEntry.SetFlag(AdventureSettingsPacket.ALLOW_FLIGHT, true); adventureSettingsEntry.SetFlag(AdventureSettingsPacket.NO_CLIP, false); adventureSettingsEntry.SetFlag(AdventureSettingsPacket.FLYING, false); adventureSettingsEntry.CommandPermission = this.Op ? PlayerPermissions.OPERATOR : PlayerPermissions.MEMBER; adventureSettingsEntry.PlayerPermission = this.Op ? PlayerPermissions.OPERATOR : PlayerPermissions.MEMBER; adventureSettingsEntry.EntityUniqueId = this.EntityID; this.AdventureSettingsEntry = adventureSettingsEntry; this.SendSkin(this.Skin); Server.Instance.AddPlayer(this); this.World.AddPlayer(this); this.SendDataProperties(); Server.Instance.CraftingManager.SendPacket(this); } }