public virtual void DespawnFromPlayers(Player[] players) { McpeRemoveEntity mcpeRemoveEntity = McpeRemoveEntity.CreateObject(); mcpeRemoveEntity.entityIdSelf = EntityId; Level.RelayBroadcast(players, mcpeRemoveEntity); }
public override void DespawnFromPlayers(Player[] players) { { var fake = new Player(null, null) { ClientUuid = ClientUuid, EntityId = EntityId, NameTag = NameTag, Skin = Skin }; McpePlayerList playerList = McpePlayerList.CreateObject(); playerList.records = new PlayerRemoveRecords { fake }; Level.RelayBroadcast(players, Level.CreateMcpeBatch(playerList.Encode())); playerList.records = null; playerList.PutPool(); } McpeRemoveEntity mcpeRemovePlayer = McpeRemoveEntity.CreateObject(); mcpeRemovePlayer.entityIdSelf = EntityId; Level.RelayBroadcast(players, mcpeRemovePlayer); }
public void Hide(Player player, string type) { EntityType mobType; try { mobType = (EntityType)Enum.Parse(typeof(EntityType), type, true); } catch (ArgumentException e) { return; } Level level = player.Level; HidePlayer(player, true); Mob entity = new Mob(mobType, level) { KnownPosition = player.KnownPosition, HealthManager = player.HealthManager, NameTag = player.NameTag, }; entity.SpawnEntity(); var remove = McpeRemoveEntity.CreateObject(); remove.entityIdSelf = entity.EntityId; player.SendPacket(remove); _playerEntities[player] = entity; level.BroadcastMessage($"Player {player.Username} spawned as {mobType}.", type: MessageType.Raw); }
public virtual void DespawnFromPlayer(Player player) { McpeRemoveEntity mcpeRemoveEntity = McpeRemoveEntity.CreateObject(); mcpeRemoveEntity.entityId = EntityId; player.SendPackage(mcpeRemoveEntity); }
public void RemoveEntity(Entity entity) { lock (Entities) { if (!Entities.TryRemove(entity.EntityId, out entity)) { return; // It's ok. Holograms destroy this play.. } McpeRemoveEntity mcpeRemoveEntity = McpeRemoveEntity.CreateObject(); mcpeRemoveEntity.entityId = entity.EntityId; RelayBroadcast(mcpeRemoveEntity); } }
public void RemoveEntity(Entity entity) { lock (Entities) { if (!Entities.Remove(entity)) { throw new Exception("Expected entity to exist on remove."); } McpeRemoveEntity mcpeRemoveEntity = McpeRemoveEntity.CreateObject(); mcpeRemoveEntity.entityId = entity.EntityId; RelayBroadcast(mcpeRemoveEntity); } }
public override void DespawnFromPlayers(Player[] players) { { Player fake = new Player(null, null) { ClientUuid = Uuid, EntityId = EntityId, NameTag = NameTag, Skin = Skin }; McpePlayerList playerList = McpePlayerList.CreateObject(); playerList.records = new PlayerRemoveRecords { fake }; Level.RelayBroadcast(players, playerList); } McpeRemoveEntity mcpeRemovePlayer = McpeRemoveEntity.CreateObject(); mcpeRemovePlayer.entityId = EntityId; Level.RelayBroadcast(players, mcpeRemovePlayer); }
public virtual void HandleMcpeRemoveEntity(McpeRemoveEntity message) { }
public abstract void HandleMcpeRemoveEntity(McpeRemoveEntity message);
public override void HandleMcpeRemoveEntity(McpeRemoveEntity message) { Client.Entities.TryRemove(message.entityIdSelf, out _); }
public override void HandleMcpeRemoveEntity(McpeRemoveEntity message) { BaseClient.WorldReceiver?.DespawnEntity(message.entityIdSelf); }
public override void HandleMcpeRemoveEntity(McpeRemoveEntity message) { }