This applies https://github.com/Pryaxis/TShock/pull/3018 as a patch per @punchready because they deleted the head repository so that we can't merge it and none of the git objects have valid refs anymore on the command line and we can't merge it on the gui.
The player being CC'd does not cause any issues for us if SSC isn't
enabled, so we can relax it's restriction.
This also allows the `RequireLogin` config option to function usefully
again, as it would disable the player, causing them to be CC'd until
they logged in, creating a vicious cycle.
We needed to modify `NetItem` to know that these new inventory now
exist.
`PlayerData` can now re/store these items, and properly sync them. It
also now knows of the player's currently selected index, and how to sync
it.
This replaces several strings with i18n-friendly variants so that they
can be internationalized.
Sometimes, the command in English has been reworded, because it was
dumb.
I stopped at GrabUserUserInfo, mostly because I was tired. My
rationale/thinking is that rather than doing a huge commit with the
entire file (which may take a while to build up) it would be better to
get more strings to translators faster. This is because these strings,
in particular, are some of the most important ones to translate.
To help debug #2516, this commit adds the currently running game mode to
/worldinfo. I didn't bother converting this in the dictionary back since
my primary goal by adding it right now is to debug the currently running
mode, not to necessarily try to parse the data.
After updates to the firework command, a guard was lost, allowing the
switch statement that selected the color to execute on a parameter that
was empty. A guard was added to prevent falling into the switch
statement without enough arguments to match a color.
The default type of firework was manually set to a red firework.
Fixes#2507
The previous version of the code always told the player having their god
mode toggled the state of the player that issued the command, rather
than their own god mode state. This fixes that issue, and now returns
the correct player's state to the correct player.