diff --git a/CHANGELOG.md b/CHANGELOG.md index d02857e4..aa5dfd4f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,10 +22,15 @@ This is the rolling changelog for TShock for Terraria. Use past tense when addin * Adding GolfBallItemIDs list in Handlers.LandGolfBallInCupHandler.cs * Fixed an issue in the SendTileSquare handler that was rejecting valid tile objects (@QuiCM) * Fixed the issue where players were unable to place regular ropes because of the valid placement being caught in Bouncer OnTileEdit. (@Patrikkk) +* Added pet license usage permissions to `trustedadmin` and `owner` groups. Do note that this has a high network usage and can be easily be abused so it is not recommended to give out this permission to lower level groups. (@moisterrific) * Remove checks that prevented people placing personal storage tiles in SSC as the personal storage is synced with the server.(@Patrikkk) * Cleaned up a check in Bouner OnTileEdit where it checks for using the respective item when placing a tile to make it clearer. This change also fixed the issue in a previous commit where valid replace action was caught. Moved the check for max tile/wall types to the beginning of the method. (@Patrikkk) * Improved clarity for insufficient permission related error messages. (@moisterrific) * Remove redundant Boulder placement check that prevented placing chests on them, as it is no longer possible to place a chest on a boulder, so nothing crashes the server. "1.2.3: Boulders with Chests on them no longer crash the game if the boulder is hit." (@kevzhao2, @Patrikkk) +* Multiple modifications in Command.cs (@Patrikkk) + * `/itemban` - `/projban` - `/tileban` - Added a `default:` case to the commands so an invalid subcommand promts the player to enter the help subcommand to get more information on valid subcommands. (@Patrikkk) + * `/world` - Renamed to /worldinfo to be more accurate to it's function. Command now displays the world's `Seed`. Reformatted the world information so each line isn't repeatedly starting with "World". (@Patrikkk) + * `/who` - Changed the display format of the online players when the `-i` flag is used. From `PlayerName (ID: 0, ID: 0)` to `PlayerName (Index: 0, Account ID: 0)` for clarification. (@Patrikkk) * RequestTileEntity packet handling. (@Patrikkk) * Implemented the OnRequestTileEntityInteraction even hook in GetDataHandler. (@Patrikkk) * Created RequestTileEntityInteractionHandler which checks for building permissions when the player is attempting to open a display doll (Mannequin) or a Hat Rack. This now prevents players from opening a Mannequin or a Hat Rack if they have no building permissions at the position of these tile entities. As of 1.4.0.5, these are the only two items that use this packet. (@Patrikkk) diff --git a/TShockAPI/Commands.cs b/TShockAPI/Commands.cs index 4e8e773d..5cf3cbdb 100644 --- a/TShockAPI/Commands.cs +++ b/TShockAPI/Commands.cs @@ -521,7 +521,7 @@ namespace TShockAPI { HelpText = "Changes the wind speed." }); - add(new Command(Permissions.worldinfo, WorldInfo, "world") + add(new Command(Permissions.worldinfo, WorldInfo, "worldinfo") { HelpText = "Shows information about the current world." }); @@ -1155,9 +1155,11 @@ namespace TShockAPI private static void WorldInfo(CommandArgs args) { - args.Player.SendInfoMessage("World name: " + (TShock.Config.UseServerName ? TShock.Config.ServerName : Main.worldName)); - args.Player.SendInfoMessage("World size: {0}x{1}", Main.maxTilesX, Main.maxTilesY); - args.Player.SendInfoMessage("World ID: " + Main.worldID); + args.Player.SendInfoMessage("Information of the currently running world"); + args.Player.SendInfoMessage("Name: " + (TShock.Config.UseServerName ? TShock.Config.ServerName : Main.worldName)); + args.Player.SendInfoMessage("Size: {0}x{1}", Main.maxTilesX, Main.maxTilesY); + args.Player.SendInfoMessage("ID: " + Main.worldID); + args.Player.SendInfoMessage("Seed: " + WorldGen.currentWorldSeed); } #endregion @@ -3749,6 +3751,14 @@ namespace TShockAPI } #endregion return; + default: + #region Default + { + args.Player.SendErrorMessage("Invalid subcommand! Type {0}itemban help for more information on valid subcommands.", Specifier); + } + #endregion + return; + } } #endregion Item Management @@ -3919,6 +3929,13 @@ namespace TShockAPI } #endregion return; + default: + #region Default + { + args.Player.SendErrorMessage("Invalid subcommand! Type {0}projban help for more information on valid subcommands.", Specifier); + } + #endregion + return; } } #endregion Projectile Management @@ -4088,6 +4105,13 @@ namespace TShockAPI } #endregion return; + default: + #region Default + { + args.Player.SendErrorMessage("Invalid subcommand! Type {0}tileban help for more information on valid subcommands.", Specifier); + } + #endregion + return; } } #endregion Tile Management @@ -5066,7 +5090,7 @@ namespace TShockAPI { if (displayIdsRequested) { - players.Add(String.Format("{0} (ID: {1}{2})", ply.Name, ply.Index, ply.Account != null ? ", ID: " + ply.Account.ID : "")); + players.Add(String.Format("{0} (Index: {1}{2})", ply.Name, ply.Index, ply.Account != null ? ", Account ID: " + ply.Account.ID : "")); } else { diff --git a/TShockAPI/DB/GroupManager.cs b/TShockAPI/DB/GroupManager.cs index 1462411d..ceb8e433 100644 --- a/TShockAPI/DB/GroupManager.cs +++ b/TShockAPI/DB/GroupManager.cs @@ -77,7 +77,7 @@ namespace TShockAPI.DB Permissions.whisper, Permissions.wormhole, Permissions.canpaint, - Permissions.pylon)); + Permissions.pylon)); AddDefaultGroup("vip", "default", string.Join(",", @@ -125,7 +125,7 @@ namespace TShockAPI.DB Permissions.tppos, Permissions.tpsilent, Permissions.userinfo, - Permissions.spawn)); + Permissions.spawn)); AddDefaultGroup("trustedadmin", "admin", string.Join(",", @@ -158,7 +158,8 @@ namespace TShockAPI.DB Permissions.startdd2, Permissions.uploaddata, Permissions.uploadothersdata, - Permissions.journey_timefreeze, + Permissions.spawnpets, + Permissions.journey_timefreeze, Permissions.journey_timeset, Permissions.journey_timespeed, Permissions.journey_godmode, @@ -170,7 +171,7 @@ namespace TShockAPI.DB Permissions.journey_setdifficulty, Permissions.journey_biomespreadfreeze, Permissions.journey_setspawnrate, - Permissions.journey_contributeresearch)); + Permissions.journey_contributeresearch)); AddDefaultGroup("owner", "trustedadmin", string.Join(",",