So it does actually allow you to use all 16 characters? It just doesn't show up in the editor then. Did you create all of the entries in PokemonEditor, in the GLOBALMETADATA array? That's all I can think of that would keep it from displaying, since that's what tells it what to display. But again, it was kind of a mess to jump around to all of the different places editing stuff, so if that's not it then I see if I can find anything else I did and forgot about.
That's normal, it happened to me at first too. I had to do a lot of fidgeting to make it all work. Try manually putting the entries into the txt file (it likely won't recognize them) and compile the game (hold ctrl when clicking playtest). Then open up the debug menu and look at the global metadata again. I somehow got them to eventually appear. Although after putting them in the txt file manually, i noticed that some of the jumped around to the wrong spot. So you'll have to go back to the txt file and erase any duplicates (IF it makes any) and make sure the entries put back in the normal order. After that, it should work (only for the in-game editor though).
All right, I THINK I have it figured out. I got it to work, but Essentials is VERY fidgety, so some of it was trial and error and my memory isn't long enough to remember all of the little steps.
First, in PokemonEditor, find GLOBALMETADATA=[ (should be on line 2743) and right below it you should see entries for players A - D that look like this:
_INTL("Specifies player A.")],
Add identical entries starting right below the entry for D, but change the letters (it should go up to P if you have 16 characters). Then in PokemonUtilities there are 3 small edits to make. Look for these lines (around line 1493):
return false if id<0||id>=4
return "" if id<0||id>=4
return 0 if id<0||id>=4
They're not right together, but pretty close. Change the 4s to 16s. Next, in PokemonMap, starting on line 275, there will be some metadata items that look like this:
That SHOULD be all of the modifications, unless I forgot one somewhere. Now, to actually create the new characters, you must use the IN-GAME editor, not the editor file that comes with essentials (it doesn't see the new entries). To do that, just open up the debug menu and choose SET METADATA, then choose GLOBAL. The entries should be there, probably, I hope, and then you can choose the graphics and trainer type for that character. I found that doing it manually in the metadata.txt file didn't do anything, but you could try it just to see. It'd make it easier if it actually worked. To change the player to one of these characters, do it just the same with the pbChangePlayer(x) command, using numbers between 0 and 15. I hope it worked, because I'm bad at finding my footprints as I move from script to script editing things. I should probably make a tutorial of this...