Exemple #1
0
        public virtual void DespawnFromPlayers(Player[] players)
        {
            McpeRemoveEntity mcpeRemoveEntity = McpeRemoveEntity.CreateObject();

            mcpeRemoveEntity.entityIdSelf = EntityId;
            Level.RelayBroadcast(players, mcpeRemoveEntity);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        public virtual void DespawnFromPlayer(Player player)
        {
            McpeRemoveEntity mcpeRemoveEntity = McpeRemoveEntity.CreateObject();

            mcpeRemoveEntity.entityId = EntityId;
            player.SendPackage(mcpeRemoveEntity);
        }
Exemple #5
0
 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);
     }
 }
Exemple #6
0
        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);
            }
        }
Exemple #7
0
        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);
        }
Exemple #8
0
 public virtual void HandleMcpeRemoveEntity(McpeRemoveEntity message)
 {
 }
 public abstract void HandleMcpeRemoveEntity(McpeRemoveEntity message);
Exemple #10
0
 public override void HandleMcpeRemoveEntity(McpeRemoveEntity message)
 {
     Client.Entities.TryRemove(message.entityIdSelf, out _);
 }
Exemple #11
0
 public override void HandleMcpeRemoveEntity(McpeRemoveEntity message)
 {
     BaseClient.WorldReceiver?.DespawnEntity(message.entityIdSelf);
 }
Exemple #12
0
 public override void HandleMcpeRemoveEntity(McpeRemoveEntity message)
 {
 }