Do serialization languages (like YAML) actively do anything and how do to explain that to someone who thinks otherwise?
===

I'm asking this question mainly to settle an argument.

My friend has done some crash-course Minecraft modding using Bukkit and YAML for most of the things he has done.

My understanding is that YAML is just a serialization language, for storing representations of objects to a file to be read by a program later. Acting as a map in a car or a bouncer's list outside of an exclusive club. The driver reads the map, but the map doesn't actively participate in the transporation in any way. The bouncer reads the list and lets people in based on it, but the list itself does not actively lead people into the bar.

He uses an example in a spell mod in which this snippet (which he paraphrased and shortened for the sake of his argument) is present:

    mark:
        spell-class: ".instant.MarkSpell"
        name: mark
        spell-icon: 355
        description: Marks your location for later recall.
        cooldown: 43200
        permanent-marks: true
        cost:
            - item amt
            - item amt
        str-cost: blah blah blah
        str-cast-self: You have marked your location.

He says that without this block of code, the Mark spell would not exist and that this code is enabler code. While the Mark spell would not exist if either of us were right, he claims that the code actively enables the spell in the program.

My understanding is that, back to the original examples of the bouncer, the bouncer doesn't see a name on a list, so it doesn't let that person in. If a name is added to the list, it doesn't actively invite the person to the club, it just means when the bouncer checks for that name, he will let that person into the club.

How would the correct person explain it to the incorrect person based on this?

I'm pretty sure I'm right, but I could be wrong seeing as I've not mucked with Bukkit or YAML, so I've tried to be as fair as possible in this whole thing.