As of snapshot 12w32a, Adventure mode control blocks (herein referred to as AMCBs), can only handle one server command per block. If we are to implement a feature that would allow a player to indirectly issue server commands, then I think we should expand the functionality of the AMCB. Let me explain.
My overarching suggestion would be to allow each AMCB to run multiple commands. This can be achieved by using a command-line style GUI for the block. For example, An op could enter the following lines of server commands into the GUI:
If multi-command functionality could be implemented then I don't see why not we could implement a basic programming language into the AMCBs. The programming language would include most of the basic constructs of other programming languages, including but not limited to :
*Variable declaration and instantiation: e.g
int count = 3
*decision loops: IF, ELSE, ELSEIF, etc.
*repeat loops: WHILE, FOR
*output function: PRINT should push a line of text to the player.
To support these extra constructs additional server variables should be included, such as %w for weather or %gm for player's gamemode, etc.
An example syntax with this expanded functionality:
IF ( @p == "Notch" )
/give @p 57 64
PRINT "You are not notch!"
We do not use brackets, instead, the END statement is used.
Of course, server ops with no knowledge of programming whatsoever could still use the AMCB GUI. The additional functionality would just be there for those who wish to use it.
I believe that this added functionality will bring a new depth to the game. Please vote for this idea or click the up arrow in the bottom right corner if you support!