Your repo site is offline, though, I'm only seeing the CloudFlare offline page. Guess I'll download the source instead for now.
The easiest solution is to just write "shortcut = " in front of your three "shortcut.replace(...)" lines.
Because strings are immutable, they can't be changed. Thus thre reason why String.replace() returns a string.
shortcut = shortcut.replace(a, b)...
Wooden buttons don't work in the current release, sorry. :p
edit: wow, those smileys are way too happy...
It's the 1.9. It still works, hence the [1.4.2-R0.2].
I'm guessing you put the main thread to sleep?
The constructor of the FCmdRoot class calls the method addSubCommand(MCommand<?> subCommand) in its ancestor class MCommand with the cmdInvite var...
Your code should be irrelevant since your problem is this: java.io.FileNotFoundException: Jar does not contain plugin.yml
Because it's caused by a FileNotFoundException. Open your jar with 7-zip or simething and see if it's there.
EDIT: The plugin.yml that is.
Maybe Factions assigned factions.cmdBase.cmdInvite to the real CmdInvite instance after you assigned it to your version? Which might be the case...
Oh, the "correct" way, I guess:
Assuming you know how to use events, use ev.setFormat(String format) to set the format (obz)....
Or you could schedule a task in onEnable to run one tick later, which would get the command using "getServer().getPluginCommand("command")", and...
Oh, one thing: I don't think line 19 of the code I provided will do you much good.
Separate names with a comma.