How to make a LaunchAgent with StartCalendarInterval
You must specify the full path in ProgramArguments. Things which your shell normally expands, such as ~ and * are not expanded by launchd.

After making those changes, this LaunchAgent worked for me.

You said you made these changes, but it didn't fix it. It is possible that you did not reload the LaunchAgent after making the changes.

Troubleshooting LaunchAgents

You can check if your LaunchAgent is currently loaded by running

launchctl list | grep com.nocturnal.mcworldsBackup


If it is not running, you can load it by using

launchctl load ~/Library/LaunchAgents/com.nocturnal.mcworldsBackup.plist


If you make any changes to the plist file, you will need to unload it using

luanchctl unload ~/Library/LaunchAgents/com.nocturnal.mcworldsBackup.plist


You will then need to load it again, using the command from above.

If you want to force the LaunchAgent to start now, instead of waiting until 4:30, you can run 

launchctl start com.nocturnal.mcworldsBackup


You can then list it using 

launchctl list | grep com.nocturnal.mcworldsBackup


The first column of the result is the PID of the process, if it is currently running. The second column is the exit code returned last time it was run. Use this to check if it ran properly. If not, the error message is written to /var/log/system.log.