I use plain text as well. For instance, this is what the file-definition of a painting furniture item looks like:
FPiece:Painting
Click:
advancestate;
EndClick
Worth:500
Materials:WOOD=4
Image:0=3,2|(846,847,848,878,879,880);1=3,2|(911,912,913,943,944,945);2=3,2|(908,909,910,940,941,942)
complexity:16
In the actual game, when you click on said painting, it cycles through the 3 paintings (as referenced by frame numbers from my sprite file)
You might also like to see some more advanced scripting that can be put into the system:
FPiece:Metal Hatch
Proximity:
#state 0 = hatch is closed
#state 1 = hatch is open
IF state(0) AND power(2) AND enterproximity(60,anyone) THEN usepower(2) state(1) passable(true) play(slamdoor) END;
IF state(1) AND leaveproximity(60,anyone) THEN state(0) passable(false) play(slamdoor) END;
IF state(1) AND !countproximity(1) THEN state(0) passable(false) END;
EndProximity
Power:
IF !power(max_power_storage) AND determinepowersource(2) THEN takepower(max) END;
EndPower
Worth:200
power_capacity:6
cur_power:6
Materials:Iron Ingot=5
craft-require:anvil
Image:0=2,1|(722,723);1=2,1|(690,691)
passable:false
state_item_draw:0
break-below:true
complexity:50
I have 9 different types of files that all contain essential data (block definitions, furniture,ini file, pieces of items (intended to be combined by the user into items), bodies (build npcs and characters out of the body-parts), plants, craft materials, craft recipies, and the world creation properties.
I did have to create my own custom parser for them, but I have also been able to make it easy for me to extend. I even can just make comments or disable items quickly by simply using a # symbol to comment the line out. They all use the same file-formats, so the general parser they all use is the same, just different cases in the switch-case. (when it comes down to it, you are going to have to do some sort of parsing anyways, even just to massage the data from a json structure into your classes you are using)
If you want to check out more of how I put it all together, you can get a hold of the Euthenia file (
https://www.dropbox.com/s/4u8umxn3z02vllq/Euthenia_0.01.zip.