We should be able to enact more than one command at a time if possible. It would still be backwards compatible.
For example, the new way would add commas between each command and value(s):
Original:
!set type stne brck
!set type watr dstw
!set type ttan gold
New:
!set type stne, watr, ttan brck,watr,gold
The order of the values must be in the order you want them, otherwise you will get the wrong results for each command(s).
For example:
Original Commands:
!set type goo spng
!set type cray dray
These commands change "goo" to "spng", and "cray" to "dray".
Incorrect command:
!set type cray, goo spng, dray
This command would instead change "goo" to "dray", and "cray" to "spng", unlike what we wanted. The order is important.
New command structure:
!set [command] [val1], [val2] [otherval1, the matching value for the first], [otherval2, the matching value for the second]
_______________________________________________________
It could even execute multiple instructions, too!
For example:
!set type, tmp, life glas, filt, bray iron, 3, 49
This command would change "glas" to "iron", set the tmp of "filt" to 3, and it would also set the life of "spng" to 49.
Those are easy to do with the En-masse manipulator script available in the script manager. These commands are equivalent to your examples:
tpt.all():neq("type", "dmnd"):set("type", "watr")
tpt.all():gt("temp", 400):eq("tmp", 1):set("type", "bray")
tpt.all():eq("type", "wood"):set("type", function(p) return p.y > 200 and "plnt" or "coal" end)
thanks