This is quite a good script, just from reading it. Adding custom events increases functionality and ease of use.
That being said, I'm worried about over usage of variables. You're giving every new player 3 variables when they join. Public servers (which this api seems designed for), especially on hosts like minehut, get hundreds to thousands of joins, even without many consistent players.
This could cause huge problems with overflowing of varabies.csv, so I recommend you instead use a byte tag, which is an nbt tag that stores an integer between -128 and 127. I also feel that you can do the entire config.yml as options, as having a config.yml does 2 things:
1. Force a download of an addon a good amount of people don't use
2. Complicate the download process by requiring things put in different folders.