fCraft.MessageBlockHandler.Player_PlacingBlock C# (CSharp) Method

Player_PlacingBlock() private static method

private static Player_PlacingBlock ( object sender, Events e ) : void
sender object
e Events
return void
        private static void Player_PlacingBlock( object sender, Events.PlayerPlacingBlockEventArgs e )
        {
            Map map = e.Map;
            if ( e.Map.MessageBlocks != null ) {
                if ( e.Map.MessageBlocks.Count > 0 ) {
                    lock ( e.Map.MessageBlocks ) {
                        foreach ( MessageBlock mb in e.Map.MessageBlocks ) {
                            if ( e.Coords == mb.AffectedBlock ) {
                                e.Result = CanPlaceResult.Revert;
                                if ( e.Context == BlockChangeContext.Manual ) {
                                    if ( mb.IsInRange( e.Coords ) ) {
                                        string M = mb.GetMessage();
                                        if ( M == "" )
                                            return;
                                        if ( e.Player.LastUsedMessageBlock == null ) {
                                            e.Player.LastUsedMessageBlock = DateTime.UtcNow;
                                            e.Player.Message( M );
                                            return;
                                        }
                                        if ( ( DateTime.UtcNow - e.Player.LastUsedMessageBlock ).TotalSeconds > 4 ) {
                                            e.Player.Message( M );
                                            e.Player.LastUsedMessageBlock = DateTime.UtcNow;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }