MAMS Gaming said: GiGs said: Yes, that's perfectly accurate. Lol, sorry about that, too much of a habit when writing code to write variable names like that. I got into that habit while writing Lua for TTS, but I could have sworn I read somewhere that there are instances in html that caps messes with (other than first letter). I've learned to avoid _underscores_ during repeating sections, but I couldn't remember where to avoid caps, so i just avoided them in general. Javascript is fine with caps, generally. In roll20 there's one specific place where caps cause issues: on the event line of sheet workers. This part on('change:attributeName' on the change line, attribute names must be entirely lower case. Everywhere else they are fine - in fact, roll20 is completely case insenstive everywhere else. So if you have an attribute you'd named SourceBook, this would work amusingly: on('change:sourcebook', () => { getAttrs['SOURCEBOOK'], v => { var source = v.sOURceBOok; setAttrs({ sourceBOOK: source }); }); }); The above would work fine, because roll20 does not recognise the case of attribute names, but the event line needs all attribute names to be lower cased. So with that same attribute, SourceBook, this would fail: on('change:SourceBook', () => { getAttrs['SourceBook'], v => { var source = v.SourceBook; setAttrs({ SourceBook: source }); }); }); More confusingly, it likely would work some of the time, then fail when you least expect it. So avoid lower case on the change line. This is why the wiki recommends using lower case all the time for all attributes. Just to avoid accidents here. If you know what you're doing, you dont have to follow that suggestion, but its pretty good advice. PS: yes Java and Javascript are very different. If you need to shorten it, its best to use JS.