<?xml version="1.0"?>
<doc>
    <assembly>
        <name>TShockAPI</name>
    </assembly>
    <members>
        <member name="T:TShockAPI.Bouncer">
            <summary>Bouncer is the TShock anti-hack and anti-cheat system.</summary>
        </member>
        <member name="T:TShockAPI.Bouncer.BuffLimit">
            <summary>
            A class that represents the limits for a particular buff when a client applies it with PlayerAddBuff.
            </summary>
        </member>
        <member name="P:TShockAPI.Bouncer.BuffLimit.MaxTicks">
            <summary>
            How many ticks at the maximum a player can apply this to another player for.
            </summary>
        </member>
        <member name="P:TShockAPI.Bouncer.BuffLimit.CanBeAddedWithoutHostile">
            <summary>
            Can this buff be added without the receiver being hostile (PvP)
            </summary>
        </member>
        <member name="P:TShockAPI.Bouncer.BuffLimit.CanOnlyBeAppliedToSender">
            <summary>
            Can this buff only be applied to the sender?
            </summary>
        </member>
        <member name="T:TShockAPI.Bouncer.PlaceStyleCorrector">
            <summary>
            Represents a place style corrector.
            </summary>
            <param name="player">The player placing the tile.</param>
            <param name="requestedPlaceStyle">The requested place style to be placed.</param>
            <param name="actualItemPlaceStyle">The actual place style that should be placed, based of the player's held item.</param>
            <returns>The correct place style in the current context.</returns>
        </member>
        <member name="F:TShockAPI.Bouncer.PlaceStyleCorrectors">
            <summary>
            Represents a dictionary of <see cref="T:TShockAPI.Bouncer.PlaceStyleCorrector"/>s, the key is the tile ID and the value is the corrector.
            </summary>
        </member>
        <member name="M:TShockAPI.Bouncer.#ctor">
            <summary>Constructor call initializes Bouncer and related functionality.</summary>
            <returns>A new Bouncer.</returns>
        </member>
        <member name="M:TShockAPI.Bouncer.OnPlayerUpdate(System.Object,TShockAPI.GetDataHandlers.PlayerUpdateEventArgs)">
            <summary>Handles disabling enforcement and minor anti-exploit stuff</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="args">The packet arguments that the event has.</param>
        </member>
        <member name="M:TShockAPI.Bouncer.OnTileEdit(System.Object,TShockAPI.GetDataHandlers.TileEditEventArgs)">
            <summary>Bouncer's TileEdit hook is used to revert malicious tile changes.</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="args">The packet arguments that the event has.</param>
        </member>
        <member name="M:TShockAPI.Bouncer.GetRollbackRectSize(System.Int32,System.Int32,System.Byte@,System.Byte@,System.Int32@)">
            <summary>
            Gets the size of the rectangle required to rollback all tiles impacted by a single tile.
            Eg, rolling back the destruction of a tile that had a Safe on top would require rolling back the safe as well as the
            tile that was destroyed
            </summary>
            <param name="tileX">X position of the initial tile</param>
            <param name="tileY">Y position of the initial tile</param>
            <param name="width">The calculated width of the rectangle</param>
            <param name="length">The calculated length of the rectangle</param>
            <param name="offsetY">The Y offset from the initial tile Y that the rectangle should begin at</param>
        </member>
        <member name="M:TShockAPI.Bouncer.OnItemDrop(System.Object,TShockAPI.GetDataHandlers.ItemDropEventArgs)">
            <summary>Registered when items fall to the ground to prevent cheating.</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="args">The packet arguments that the event has.</param>
        </member>
        <member name="M:TShockAPI.Bouncer.OnNewProjectile(System.Object,TShockAPI.GetDataHandlers.NewProjectileEventArgs)">
            <summary>Bouncer's projectile trigger hook stops world damaging projectiles from destroying the world.</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="args">The packet arguments that the event has.</param>
        </member>
        <member name="M:TShockAPI.Bouncer.OnNPCStrike(System.Object,TShockAPI.GetDataHandlers.NPCStrikeEventArgs)">
            <summary>Handles the NPC Strike event for Bouncer.</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="args">The packet arguments that the event has.</param>
        </member>
        <member name="M:TShockAPI.Bouncer.OnProjectileKill(System.Object,TShockAPI.GetDataHandlers.ProjectileKillEventArgs)">
            <summary>Handles ProjectileKill events for throttling and out of bounds projectiles.</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="args">The packet arguments that the event has.</param>
        </member>
        <member name="M:TShockAPI.Bouncer.OnChestItemChange(System.Object,TShockAPI.GetDataHandlers.ChestItemEventArgs)">
            <summary>Handles when a chest item is changed.</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="args">The packet arguments that the event has.</param>
        </member>
        <member name="M:TShockAPI.Bouncer.OnChestOpen(System.Object,TShockAPI.GetDataHandlers.ChestOpenEventArgs)">
            <summary>The Bouncer handler for when chests are opened.</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="args">The packet arguments that the event has.</param>
        </member>
        <member name="M:TShockAPI.Bouncer.OnPlaceChest(System.Object,TShockAPI.GetDataHandlers.PlaceChestEventArgs)">
            <summary>The place chest event that Bouncer hooks to prevent accidental damage.</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="args">The packet arguments that the event has.</param>
        </member>
        <member name="M:TShockAPI.Bouncer.OnPlayerZone(System.Object,TShockAPI.GetDataHandlers.PlayerZoneEventArgs)">
            <summary>Handles PlayerZone events for preventing spawning NPC maliciously.</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="args">The packet arguments that the event has.</param>
        </member>
        <member name="M:TShockAPI.Bouncer.OnPlayerAnimation(System.Object,TShockAPI.GetDataHandlers.PlayerAnimationEventArgs)">
            <summary>Handles basic animation throttling for disabled players.</summary>
            <param name="sender">sender</param>
            <param name="args">args</param>
        </member>
        <member name="M:TShockAPI.Bouncer.OnLiquidSet(System.Object,TShockAPI.GetDataHandlers.LiquidSetEventArgs)">
            <summary>Handles Bouncer's liquid set anti-cheat.</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="args">The packet arguments that the event has.</param>
        </member>
        <member name="M:TShockAPI.Bouncer.OnPlayerBuff(System.Object,TShockAPI.GetDataHandlers.PlayerBuffEventArgs)">
            <summary>Handles Buff events.</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="args">The packet arguments that the event has.</param>
        </member>
        <member name="M:TShockAPI.Bouncer.OnNPCAddBuff(System.Object,TShockAPI.GetDataHandlers.NPCAddBuffEventArgs)">
            <summary>Handles NPCAddBuff events.</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="args">The packet arguments that the event has.</param>
        </member>
        <member name="M:TShockAPI.Bouncer.OnUpdateNPCHome(System.Object,TShockAPI.GetDataHandlers.NPCHomeChangeEventArgs)">
            <summary>The Bouncer handler for when an NPC is rehomed.</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="args">The packet arguments that the event has.</param>
        </member>
        <member name="M:TShockAPI.Bouncer.OnHealOtherPlayer(System.Object,TShockAPI.GetDataHandlers.HealOtherPlayerEventArgs)">
            <summary>Bouncer's HealOther handler prevents gross misuse of HealOther packets by hackers.</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="args">The packet arguments that the event has.</param>
        </member>
        <member name="M:TShockAPI.Bouncer.OnReleaseNPC(System.Object,TShockAPI.GetDataHandlers.ReleaseNpcEventArgs)">
            <summary>
            A bouncer for checking NPC released by player
            </summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="args">The packet arguments that the event has.</param>
        </member>
        <member name="M:TShockAPI.Bouncer.OnPlaceObject(System.Object,TShockAPI.GetDataHandlers.PlaceObjectEventArgs)">
            <summary>Bouncer's PlaceObject hook reverts malicious tile placement.</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="args">The packet arguments that the event has.</param>
        </member>
        <member name="M:TShockAPI.Bouncer.OnPlaceTileEntity(System.Object,TShockAPI.GetDataHandlers.PlaceTileEntityEventArgs)">
            <summary>Fired when a PlaceTileEntity occurs for basic anti-cheat on perms and range.</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="args">The packet arguments that the event has.</param>
        </member>
        <member name="M:TShockAPI.Bouncer.OnPlaceItemFrame(System.Object,TShockAPI.GetDataHandlers.PlaceItemFrameEventArgs)">
            <summary>Fired when an item frame is placed for anti-cheat detection.</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="args">The packet arguments that the event has.</param>
        </member>
        <member name="M:TShockAPI.Bouncer.OnGemLockToggle(System.Object,TShockAPI.GetDataHandlers.GemLockToggleEventArgs)">
            <summary>Handles the anti-cheat components of gem lock toggles.</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="args">The packet arguments that the event has.</param>
        </member>
        <member name="M:TShockAPI.Bouncer.OnMassWireOperation(System.Object,TShockAPI.GetDataHandlers.MassWireOperationEventArgs)">
            <summary>Handles validation of of basic anti-cheat on mass wire operations.</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="args">The packet arguments that the event has.</param>
        </member>
        <member name="M:TShockAPI.Bouncer.OnPlayerDamage(System.Object,TShockAPI.GetDataHandlers.PlayerDamageEventArgs)">
            <summary>Called when a player is damaged.</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="args">The packet arguments that the event has.</param>
        </member>
        <member name="M:TShockAPI.Bouncer.OnKillMe(System.Object,TShockAPI.GetDataHandlers.KillMeEventArgs)">
            <summary>Bouncer's KillMe hook stops crash exploits from out of bounds values.</summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="args">The packet arguments that the event has.</param>
        </member>
        <member name="M:TShockAPI.Bouncer.OnFishOutNPC(System.Object,TShockAPI.GetDataHandlers.FishOutNPCEventArgs)">
            <summary>
            Called when the player fishes out an NPC.
            </summary>
            <param name="sender"></param>
            <param name="args"></param>
        </member>
        <member name="M:TShockAPI.Bouncer.OnFoodPlatterTryPlacing(System.Object,TShockAPI.GetDataHandlers.FoodPlatterTryPlacingEventArgs)">
            <summary>
            Called when a player is trying to place an item into a food plate.
            </summary>
            <param name="sender"></param>
            <param name="args"></param>
        </member>
        <member name="M:TShockAPI.Bouncer.GetMaxPlaceStyle(System.Int32)">
            <summary>
            Returns the max <see cref="F:Terraria.Item.placeStyle"/> associated with the given <paramref name="tileID"/>. Or -1 if there's no association
            </summary>
            <param name="tileID">Tile ID to query for</param>
            <returns>The max <see cref="F:Terraria.Item.placeStyle"/>, otherwise -1 if there's no association</returns>
        </member>
        <member name="F:TShockAPI.Bouncer.orientableTiles">
            <summary>
            Tile IDs that can be oriented:
            Cannon,
            Chairs,
            Beds,
            Bathtubs,
            Statues,
            Mannequin,
            Traps,
            MusicBoxes,
            ChristmasTree,
            WaterFountain,
            Womannequin,
            MinecartTrack,
            WeaponsRack,
            LunarMonolith,
            TargetDummy,
            Campfire
            </summary>
        </member>
        <member name="F:TShockAPI.Bouncer.directionalProjectiles">
            <summary>
            These projectiles have been added or modified with Terraria 1.4.
            They come from normal items, but to have the directional functionality, they must be projectiles.
            </summary>
        </member>
        <member name="T:TShockAPI.CLI.CommandLineParser">
            <summary>
            A simple command-line parser for retrieving basic information from a command-line. Array types are not supported
            </summary>
        </member>
        <member name="M:TShockAPI.CLI.CommandLineParser.Reset">
            <summary>
            Resets the CommandLineParser, removing any results and flags, and clearing the source
            </summary>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.CLI.CommandLineParser.AddFlag(System.String,System.Boolean)">
            <summary>
            Adds a flag to be parsed
            </summary>
            <param name="flag">The flag to be added</param>
            <param name="noArgs">Whether or not the flag is followed by an argument</param>
        </member>
        <member name="M:TShockAPI.CLI.CommandLineParser.AddFlag(System.String,System.Action{System.String})">
            <summary>
            Adds a flag to be parsed, with the given callback being invoked with the flag's argument when it is found.
            The callback's parameter is the argument passed to the flag
            </summary>
            <param name="flag"></param>
            <param name="callback"></param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.CLI.CommandLineParser.AddFlag(System.String,System.Action)">
            <summary>
            Adds a flag to be parsed, with the given callback being invoked when the flag is found.
            This method assumes the flag has no arguments
            </summary>
            <param name="flag"></param>
            <param name="callback"></param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.CLI.CommandLineParser.AddFlags(TShockAPI.CLI.FlagSet)">
            <summary>
            Adds a range of flags to be parsed
            </summary>
            <param name="flags">The FlagSet to be added</param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.CLI.CommandLineParser.AddFlags(TShockAPI.CLI.FlagSet,System.Action{System.String})">
            <summary>
            Adds a range of flags to be parsed, with the given callback being invoked with the flag's argument when it is found.
            The callback's parameter is the argument passed to the flag
            </summary>
            <param name="flags">The FlagSet to be added</param>
            <param name="callback">An Action with a single string parameter. This parameter is the value passed to the flag</param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.CLI.CommandLineParser.AddFlags(TShockAPI.CLI.FlagSet,System.Action)">
            <summary>
            Adds a range of flags to be parsed, with the given callback being invoked when the flag's argument is found.
            This method assumes the flag has no arguments
            </summary>
            <param name="flags">The FlagSet to be added</param>
            <param name="callback">An Action with no parameters.</param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.CLI.CommandLineParser.After(System.Action)">
            <summary>
            Adds a callback after a flag's parsing has been completed.
            This method automatically attaches the callback to the last added flag
            </summary>
            <param name="callback">An Action with no parameters.</param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.CLI.CommandLineParser.Get``1(TShockAPI.CLI.FlagSet)">
            <summary>
            Gets the result of a FlagSet, cast to the given type parameter. Array types are not supported
            </summary>
            <typeparam name="T"></typeparam>
            <param name="flags"></param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.CLI.CommandLineParser.ParseFromSource(System.String[])">
            <summary>
            Parses the given source for flags registered with the parser
            </summary>
            <param name="source"></param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.CLI.CommandLineParser.Get``1(System.String)">
            <summary>
            Gets the result of a flag, cast to the given type parameter. Array types are not supported
            </summary>
            <typeparam name="T"></typeparam>
            <param name="flag"></param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.CLI.CommandLineParser.TryGet``1(System.String,``0@)">
            <summary>
            Attempts to get the result of a flag, cast to the given type parameter. Array types are not supported
            </summary>
            <typeparam name="T"></typeparam>
            <param name="flag"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.CLI.CommandLineParser.TryGet``1(TShockAPI.CLI.FlagSet,``0@)">
            <summary>
            Attempts to get the result of a FlagSet, cast to the given type parameter. Array types are not supported
            </summary>
            <typeparam name="T"></typeparam>
            <param name="flags"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:TShockAPI.CLI.FlagSet">
            <summary>
            Describes a set of flags that are responsible for one CL argument
            </summary>
        </member>
        <member name="P:TShockAPI.CLI.FlagSet.NoArgs">
            <summary>
            Whether or not the set of flags represented by this FlagSet is followed by an argument
            </summary>
        </member>
        <member name="M:TShockAPI.CLI.FlagSet.#ctor(System.String[])">
            <summary>
            Creates a new <see cref="T:TShockAPI.CLI.FlagSet"/> with the given flags
            </summary>
            <param name="flags">Flags represented by this FlagSet</param>
        </member>
        <member name="M:TShockAPI.CLI.FlagSet.#ctor(System.String[],System.Boolean)">
            <summary>
            Creates a new <see cref="T:TShockAPI.CLI.FlagSet"/> with the given flags and arguments option
            </summary>
            <param name="flags">Flags represented by this FlagSet</param>
            <param name="noArgs">Whether or not the flags specified will be followed by an argument</param>
        </member>
        <member name="M:TShockAPI.CLI.FlagSet.Contains(System.String)">
            <summary>
            Determines whether or not this flag set contains the given flag
            </summary>
            <param name="flag"></param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.CLI.FlagSet.Equals(TShockAPI.CLI.FlagSet)">
            <summary>
            Determines whether or not this flag set is equatable to another
            </summary>
            <param name="other"></param>
            <returns></returns>
        </member>
        <member name="P:TShockAPI.CommandArgs.Parameters">
            <summary>
            Parameters passed to the argument. Does not include the command name.
            IE '/kick "jerk face"' will only have 1 argument
            </summary>
        </member>
        <member name="P:TShockAPI.Command.AllowServer">
            <summary>
            Gets or sets whether to allow non-players to use this command.
            </summary>
        </member>
        <member name="P:TShockAPI.Command.DoLog">
            <summary>
            Gets or sets whether to do logging of this command.
            </summary>
        </member>
        <member name="P:TShockAPI.Command.HelpText">
            <summary>
            Gets or sets the help text of this command.
            </summary>
        </member>
        <member name="P:TShockAPI.Command.HelpDesc">
            <summary>
            Gets or sets an extended description of this command.
            </summary>
        </member>
        <member name="P:TShockAPI.Command.Name">
            <summary>
            Gets the name of the command.
            </summary>
        </member>
        <member name="P:TShockAPI.Command.Names">
            <summary>
            Gets the names of the command.
            </summary>
        </member>
        <member name="P:TShockAPI.Command.Permissions">
            <summary>
            Gets the permissions of the command.
            </summary>
        </member>
        <member name="P:TShockAPI.Commands.Specifier">
            <summary>
            The command specifier, defaults to "/"
            </summary>
        </member>
        <member name="P:TShockAPI.Commands.SilentSpecifier">
            <summary>
            The silent command specifier, defaults to "."
            </summary>
        </member>
        <member name="M:TShockAPI.Commands.ParseParameters(System.String)">
            <summary>
            Parses a string of parameters into a list. Handles quotes.
            </summary>
            <param name="str"></param>
            <returns></returns>
        </member>
        <member name="T:TShockAPI.Configuration.ConfigFile`1">
            <summary>
            Implements <see cref="T:TShockAPI.Configuration.IConfigFile`1"/> to provide a generic config file containing some settings
            </summary>
            <typeparam name="TSettings"></typeparam>
        </member>
        <member name="P:TShockAPI.Configuration.ConfigFile`1.Settings">
            <summary>
            Settings managed by this config file
            </summary>
        </member>
        <member name="F:TShockAPI.Configuration.ConfigFile`1.OnConfigRead">
            <summary>
            Action invoked when the config file is read
            </summary>
        </member>
        <member name="M:TShockAPI.Configuration.ConfigFile`1.Read(System.String,System.Boolean@)">
            <summary>
            Reads json-formatted settings from a given path.
            If the given path does not exist <paramref name="incompleteSettings"/> is set to <see langword="true"/>
            and a default <typeparamref name="TSettings"/> object is returned
            </summary>
            <param name="path">The path to the file containing the settings</param>
            <param name="incompleteSettings">
            Whether the config object has any new fields in it, meaning that the config file should be
            overwritten.
            </param>
            <returns>Settings object</returns>
        </member>
        <member name="M:TShockAPI.Configuration.ConfigFile`1.Read(System.IO.Stream,System.Boolean@)">
            <summary>
            Reads json-formatted settings from a given stream
            </summary>
            <param name="stream">stream</param>
            <param name="incompleteSettings">
            Whether the config object has any new fields in it, meaning that the config file has to be
            overwritten.
            </param>
            <returns>Settings object</returns>
        </member>
        <member name="M:TShockAPI.Configuration.ConfigFile`1.ConvertJson(System.String,System.Boolean@)">
            <summary>
            Converts a json-formatted string into the settings object used by this configuration. Invokes the <see cref="F:TShockAPI.Configuration.ConfigFile`1.OnConfigRead"/> hook
            </summary>
            <param name="json">Json string to parse</param>
            <param name="incompleteSettings">Whether or not the json string contained an incomplete set of settings</param>
            <returns>Settings object</returns>
        </member>
        <member name="M:TShockAPI.Configuration.ConfigFile`1.Write(System.String)">
            <summary>
            Writes the configuration to a given path
            </summary>
            <param name="path">The file path the configuration file will be written to</param>
        </member>
        <member name="M:TShockAPI.Configuration.ConfigFile`1.Write(System.IO.Stream)">
            <summary>
            Writes the configuration to a stream
            </summary>
            <param name="stream">stream</param>
        </member>
        <member name="T:TShockAPI.Configuration.IConfigFile`1">
            <summary>
            Describes a generic configuration interface wrapping some settings
            </summary>
            <typeparam name="TSettings"></typeparam>
        </member>
        <member name="P:TShockAPI.Configuration.IConfigFile`1.Settings">
            <summary>
            Settings managed by this config file
            </summary>
        </member>
        <member name="M:TShockAPI.Configuration.IConfigFile`1.Read(System.String,System.Boolean@)">
            <summary>
            Reads settings from a given path
            </summary>
            <param name="path">The path to the file containing the settings</param>
            <param name="incompleteSettings">
            Whether the settings object has any new fields in it, meaning that the configuration should be
            overwritten.
            </param>
            <returns>Settings object</returns>
        </member>
        <member name="M:TShockAPI.Configuration.IConfigFile`1.Read(System.IO.Stream,System.Boolean@)">
            <summary>
            Reads settings from a given stream
            </summary>
            <param name="stream">The stream containing the settings</param>
            <param name="incompleteSettings">
            Whether the settings object has any new fields in it, meaning that the configuration should be
            overwritten.
            </param>
            <returns>Settings object</returns>
        </member>
        <member name="M:TShockAPI.Configuration.IConfigFile`1.ConvertJson(System.String,System.Boolean@)">
            <summary>
            Converts a json-formatted string into the settings object used by this configuration
            </summary>
            <param name="json">Json string to parse</param>
            <param name="incompleteSettings">Whether or not the json string contained an incomplete set of settings</param>
            <returns>Settings object</returns>
        </member>
        <member name="M:TShockAPI.Configuration.IConfigFile`1.Write(System.String)">
            <summary>
            Writes this configuration to a given path
            </summary>
            <param name="path">File location the configuration will be written to</param>
        </member>
        <member name="M:TShockAPI.Configuration.IConfigFile`1.Write(System.IO.Stream)">
            <summary>
            Writes this configuration to a stream
            </summary>
            <param name="stream">Stream the configuration will be written to</param>
        </member>
        <member name="T:TShockAPI.Configuration.SscSettings">
            <summary>
            Settings used to configure server side characters
            </summary>
        </member>
        <member name="F:TShockAPI.Configuration.SscSettings.Enabled">
            <summary>
            Enable server side characters, causing client data to be saved on the server instead of the client.
            </summary>
        </member>
        <member name="F:TShockAPI.Configuration.SscSettings.ServerSideCharacterSave">
            <summary>
            How often SSC should save, in minutes.
            </summary>
        </member>
        <member name="F:TShockAPI.Configuration.SscSettings.LogonDiscardThreshold">
            <summary>
            Time, in milliseconds, to disallow discarding items after logging in when ServerSideCharacters is ON.
            </summary>
        </member>
        <member name="F:TShockAPI.Configuration.SscSettings.StartingHealth">
            <summary>
            The starting default health for new players when SSC is enabled.
            </summary>
        </member>
        <member name="F:TShockAPI.Configuration.SscSettings.StartingMana">
            <summary>
            The starting default mana for new players when SSC is enabled.
            </summary>
        </member>
        <member name="F:TShockAPI.Configuration.SscSettings.StartingInventory">
            <summary>
            The starting default inventory for new players when SSC is enabled.
            </summary>
        </member>
        <member name="F:TShockAPI.Configuration.SscSettings.WarnPlayersAboutBypassPermission">
            <summary>
            Warns players that they have the bypass SSC permission enabled. To disable warning, turn this off.
            </summary>
        </member>
        <member name="T:TShockAPI.Configuration.ServerSideConfig">
            <summary>
            Configuration for the server side characters system
            </summary>
        </member>
        <member name="M:TShockAPI.Configuration.ServerSideConfig.ConvertJson(System.String,System.Boolean@)">
            <summary>
            Upgrades the configuration file from the old format if required, then reads and returns the currently configured <see cref="T:TShockAPI.Configuration.SscSettings"/>
            </summary>
            <param name="json"></param>
            <param name="incompleteSettings"></param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.Configuration.ServerSideConfig.DumpDescriptions">
            <summary>
            Dumps all configuration options to a text file in Markdown format
            </summary>
        </member>
        <member name="T:TShockAPI.Configuration.TShockSettings">
            <summary>
            Settings used in the TShock configuration file
            </summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.ServerPassword">
            <summary>The server password required to join the server.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.ServerPort">
            <summary>The port the server runs on.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.MaxSlots">
            <summary>Maximum number of clients connected at once. If lower than Terraria's setting, the server will kick excess connections.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.ReservedSlots">
            <summary>The number of reserved slots past your max server slots that can be joined by reserved players.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.ServerName">
            <summary>Replaces the world name during a session if UseServerName is true.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.UseServerName">
            <summary>Whether or not to use ServerName in place of the world name.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.LogPath">
            <summary>The path to the directory where logs should be written to.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.DebugLogs">
            <summary>Whether or not the server should output debug level messages related to system operation.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.DisableLoginBeforeJoin">
            <summary>Prevents users from being able to login before they finish connecting.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.IgnoreChestStacksOnLoad">
            <summary>Allows stacks in chests to go beyond the stack limit during world loading.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.WorldTileProvider">
            <summary>Allows changing of the default world tile provider.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.AutoSave">
            <summary>Enable or disable Terraria's built-in world auto save.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.AnnounceSave">
            <summary>Enable or disable world save announcements.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.ShowBackupAutosaveMessages">
            <summary>Whether or not to show backup auto save messages.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.BackupInterval">
            <summary>The interval between backups, in minutes. Backups are stored in the tshock/backups folder.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.BackupKeepFor">
            <summary>For how long backups are kept in minutes.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.SaveWorldOnCrash">
            <summary>Whether or not to save the world if the server crashes from an unhandled exception.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.SaveWorldOnLastPlayerExit">
            <summary>Whether or not to save the world when the last player disconnects.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.InvasionMultiplier">
            <summary>Determines the size of invasion events. The equation for calculating invasion size = 100 + (multiplier * (number of active players > 200 hp)).</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.DefaultMaximumSpawns">
            <summary>The default maximum number of mobs that will spawn per wave. Higher means more mobs in that wave.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.DefaultSpawnRate">
            <summary>The delay between waves. Lower values lead to more mobs.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.InfiniteInvasion">
            <summary>Enables never-ending invasion events. You still need to start the event.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.PvPMode">
            <summary>Sets the PvP mode. Valid types are: "normal", "always", "pvpwithnoteam", "disabled".</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.SpawnProtection">
            <summary>Prevents tiles from being placed within SpawnProtectionRadius of the default spawn.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.SpawnProtectionRadius">
            <summary>The tile radius around the spawn tile that is protected by the SpawnProtection setting.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.RangeChecks">
            <summary>Enable or disable anti-cheat range checks based on distance between the player and their block placements.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.HardcoreOnly">
            <summary>Prevents non-hardcore players from connecting.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.MediumcoreOnly">
            <summary>Prevents softcore players from connecting.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.SoftcoreOnly">
            <summary>Prevents non-softcore players from connecting.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.DisableBuild">
            <summary>Disables any placing, or removal of blocks.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.DisableHardmode">
            <summary>If enabled, hardmode will not be activated by the Wall of Flesh or the /starthardmode command.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.DisableDungeonGuardian">
            <summary>Prevents the dungeon guardian from being spawned while sending players to their spawn point instead.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.DisableClownBombs">
            <summary>Disables clown bomb projectiles from spawning.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.DisableSnowBalls">
            <summary>Disables snow ball projectiles from spawning.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.DisableTombstones">
            <summary>Disables tombstone dropping during death for all players.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.DisablePrimeBombs">
            <summary>
            Disables Skeletron Prime Bombs from spawning, useful for preventing unwanted world destruction on for the worthy seed world.
            </summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.ForceTime">
            <summary>Forces the world time to be normal, day, or night.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.DisableInvisPvP">
            <summary>Disables the effect of invisibility potions while PvP is enabled by turning the player visible to the other clients.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.MaxRangeForDisabled">
            <summary>The maximum distance, in tiles, that disabled players can move from.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.RegionProtectChests">
            <summary>Whether or not region protection should apply to chests.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.RegionProtectGemLocks">
            <summary>Whether or not region protection should apply to gem locks.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.IgnoreProjUpdate">
            <summary>Ignores checks to see if a player 'can' update a projectile.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.IgnoreProjKill">
            <summary>Ignores checks to see if a player 'can' kill a projectile.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.AllowCutTilesAndBreakables">
            <summary>Allows players to break temporary tiles (grass, pots, etc) where they cannot usually build.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.AllowIce">
            <summary>Allows ice placement even where a user cannot usually build.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.AllowCrimsonCreep">
            <summary>Allows the crimson to spread when a world is in hardmode.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.AllowCorruptionCreep">
            <summary>Allows the corruption to spread when a world is in hardmode.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.AllowHallowCreep">
            <summary>Allows the hallow to spread when a world is in hardmode.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.StatueSpawn200">
            <summary>How many NPCs a statue can spawn within 200 pixels(?) before it stops spawning.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.StatueSpawn600">
            <summary>How many NPCs a statue can spawn within 600 pixels(?) before it stops spawning.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.StatueSpawnWorld">
            <summary>How many NPCs a statue can spawn before it stops spawning.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.PreventBannedItemSpawn">
            <summary>Prevent banned items from being spawned or given with commands.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.PreventDeadModification">
            <summary>Prevent players from interacting with the world while they are dead.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.PreventInvalidPlaceStyle">
            <summary>Prevents players from placing tiles with an invalid style.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.ForceXmas">
            <summary>Forces Christmas-only events to occur all year.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.ForceHalloween">
            <summary>Forces Halloween-only events to occur all year.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.AllowAllowedGroupsToSpawnBannedItems">
            <summary>Allows groups on the banned item allowed list to spawn banned items even if PreventBannedItemSpawn is set to true.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.RespawnSeconds">
            <summary>The number of seconds a player must wait before being respawned. Valid range: 0 (default) to 15 seconds. Use at your own risk.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.RespawnBossSeconds">
            <summary>The number of seconds a player must wait before being respawned if there is a boss nearby. Valid range: 0 (default) to 30 seconds. Use at your own risk.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.AnonymousBossInvasions">
            <summary>Whether or not to announce boss spawning or invasion starts.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.MaxHP">
            <summary>The maximum HP a player can have, before equipment buffs.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.MaxMP">
            <summary>The maximum MP a player can have, before equipment buffs.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.BombExplosionRadius">
            <summary>Determines the range in tiles that a bomb can affect tiles from detonation point.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.GiveItemsDirectly">
            <summary>If set to true, items given to players will be inserted directly into their inventory. Requires SSC. Otherwise, items given to players will spawn as dropped items.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.DefaultRegistrationGroupName">
            <summary>The default group name to place newly registered users under.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.DefaultGuestGroupName">
            <summary>The default group name to place unregistered players under.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.RememberLeavePos">
            <summary>Remembers where a player left off, based on their IP. Does not persist through server restarts.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.MaximumLoginAttempts">
            <summary>Number of failed login attempts before kicking the player.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.KickOnMediumcoreDeath">
            <summary>Whether or not to kick mediumcore players on death.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.MediumcoreKickReason">
            <summary>The reason given if kicking a mediumcore players on death.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.BanOnMediumcoreDeath">
            <summary>Whether or not to ban mediumcore players on death.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.MediumcoreBanReason">
            <summary>The reason given if banning a mediumcore player on death.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.DisableDefaultIPBan">
            <summary>Disbales IP bans by default, if no arguments are passed to the ban command.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.EnableWhitelist">
            <summary>Enable or disable the whitelist based on IP addresses in the whitelist.txt file.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.WhitelistKickReason">
            <summary>The reason given when kicking players for not being on the whitelist.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.ServerFullReason">
            <summary>The reason given when kicking players that attempt to join while the server is full.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.ServerFullNoReservedReason">
            <summary>The reason given when kicking players that attempt to join while the server is full with no reserved slots available.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.KickOnHardcoreDeath">
            <summary>Whether or not to kick hardcore players on death.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.HardcoreKickReason">
            <summary>The reason given when kicking hardcore players on death.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.BanOnHardcoreDeath">
            <summary>Whether or not to ban hardcore players on death.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.HardcoreBanReason">
            <summary>The reason given when banning hardcore players on death.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.KickProxyUsers">
            <summary>If GeoIP is enabled, this will kick users identified as being under a proxy.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.RequireLogin">
            <summary>Require all players to register or login before being allowed to play.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.AllowLoginAnyUsername">
            <summary>Allows users to login to any account even if the username doesn't match their character name.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.AllowRegisterAnyUsername">
            <summary>Allows users to register a username that doesn't necessarily match their character name.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.MinimumPasswordLength">
            <summary>The minimum password length for new user accounts. Can never be lower than 4.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.BCryptWorkFactor">
            <summary>Determines the BCrypt work factor to use. If increased, all passwords will be upgraded to new work-factor on verify.
            The number of computational rounds is 2^n. Increase with caution. Range: 5-31.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.DisableUUIDLogin">
            <summary>Prevents users from being able to login with their client UUID.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.KickEmptyUUID">
            <summary>Kick clients that don't send their UUID to the server.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.TilePaintThreshold">
            <summary>Disables a player if this number of tiles is painted within 1 second.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.KickOnTilePaintThresholdBroken">
            <summary>Whether or not to kick users when they surpass the TilePaint threshold.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.MaxDamage">
            <summary>The maximum damage a player/NPC can inflict.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.MaxProjDamage">
            <summary>The maximum damage a projectile can inflict.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.KickOnDamageThresholdBroken">
            <summary>Whether or not to kick users when they surpass the MaxDamage threshold.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.TileKillThreshold">
            <summary>Disables a player and reverts their actions if this number of tile kills is exceeded within 1 second.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.KickOnTileKillThresholdBroken">
            <summary>Whether or not to kick users when they surpass the TileKill threshold.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.TilePlaceThreshold">
            <summary>Disables a player and reverts their actions if this number of tile places is exceeded within 1 second.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.KickOnTilePlaceThresholdBroken">
            <summary>Whether or not to kick users when they surpass the TilePlace threshold.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.TileLiquidThreshold">
            <summary>Disables a player if this number of liquid sets is exceeded within 1 second.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.KickOnTileLiquidThresholdBroken">
            <summary>Whether or not to kick users when they surpass the TileLiquid threshold.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.ProjIgnoreShrapnel">
            <summary>Whether or not to ignore shrapnel from crystal bullets for the projectile threshold count.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.ProjectileThreshold">
            <summary>Disable a player if this number of projectiles is created within 1 second.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.KickOnProjectileThresholdBroken">
            <summary>Whether or not to kick users when they surpass the Projectile threshold.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.HealOtherThreshold">
            <summary>Disables a player if this number of HealOtherPlayer packets is sent within 1 second.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.KickOnHealOtherThresholdBroken">
            <summary>Whether or not to kick users when they surpass the HealOther threshold.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.SuppressPermissionFailureNotices">
            <summary>Whether or not the server should suppress build permission failure warnings from regions, spawn point, or server edit failure.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.DisableModifiedZenith">
            <summary>Prohibit the use of Zenith projectile with different objects instead of weapons.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.DisableCustomDeathMessages">
            <summary>Allows you to disable or enable protection against creating custom messages with death. Created for developers who came up with a more original solution to this problem.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.CommandSpecifier">
            <summary>Specifies which string starts a command.
            Note: Will not function properly if the string length is bigger than 1.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.CommandSilentSpecifier">
            <summary>Specifies which string starts a command silently.
            Note: Will not function properly if the string length is bigger than 1.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.DisableSpewLogs">
            <summary>Disables sending logs as messages to players with the log permission.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.DisableSecondUpdateLogs">
            <summary>Prevents OnSecondUpdate checks from writing to the log file.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.SuperAdminChatRGB">
            <summary>The chat color for the superadmin group.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.SuperAdminChatPrefix">
            <summary>The superadmin chat prefix.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.SuperAdminChatSuffix">
            <summary>The superadmin chat suffix.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.EnableGeoIP">
            <summary>Whether or not to announce a player's geographic location on join, based on their IP.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.DisplayIPToAdmins">
            <summary>Displays a player's IP on join to users with the log permission.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.ChatFormat">
            <summary>Changes in-game chat format: {0} = Group Name, {1} = Group Prefix, {2} = Player Name, {3} = Group Suffix, {4} = Chat Message.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.ChatAboveHeadsFormat">
            <summary>Changes the player name when using chat above heads. Starts with a player name wrapped in brackets, as per Terraria's formatting.\nSame formatting as ChatFormat without the message.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.EnableChatAboveHeads">
            <summary>Whether or not to display chat messages above players' heads.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.BroadcastRGB">
            <summary>The RGB values used for the color of broadcast messages.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.StorageType">
            <summary>The type of database to use when storing data (either "sqlite" or "mysql").</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.SqliteDBPath">
            <summary>The path of sqlite db.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.MySqlHost">
            <summary>The MySQL hostname and port to direct connections to.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.MySqlDbName">
            <summary>The database name to connect to when using MySQL as the database type.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.MySqlUsername">
            <summary>The username used when connecting to a MySQL database.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.MySqlPassword">
            <summary>The password used when connecting to a MySQL database.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.UseSqlLogs">
            <summary>Whether or not to save logs to the SQL database instead of a text file.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.RevertToTextLogsOnSqlFailures">
            <summary>Number of times the SQL log must fail to insert logs before falling back to the text log.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.RestApiEnabled">
            <summary>Enable or disable the REST API.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.RestApiPort">
            <summary>The port used by the REST API.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.LogRest">
            <summary>Whether or not to log REST API connections.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.EnableTokenEndpointAuthentication">
            <summary>Whether or not to require token authentication to use the public REST API endpoints.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.RESTMaximumRequestsPerInterval">
            <summary>The maximum REST requests in the bucket before denying requests. Minimum value is 5.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.RESTRequestBucketDecreaseIntervalMinutes">
            <summary>How often in minutes the REST requests bucket is decreased by one. Minimum value is 1 minute.</summary>
        </member>
        <member name="F:TShockAPI.Configuration.TShockSettings.ApplicationRestTokens">
            <summary>A dictionary of REST tokens that external applications may use to make queries to your server.</summary>
        </member>
        <member name="T:TShockAPI.Configuration.TShockConfig">
            <summary>
            TShock's configuration file
            </summary>
        </member>
        <member name="M:TShockAPI.Configuration.TShockConfig.ConvertJson(System.String,System.Boolean@)">
            <summary>
            Upgrades the configuration file from the old format if required, then reads and returns the currently configured <see cref="T:TShockAPI.Configuration.TShockSettings"/>
            </summary>
            <param name="json"></param>
            <param name="incompleteSettings"></param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.Configuration.TShockConfig.DumpDescriptions">
            <summary>
            Dumps all configuration options to a text file in Markdown format
            </summary>
        </member>
        <member name="T:TShockAPI.DB.BanManager">
            <summary>
            Class that manages bans.
            </summary>
        </member>
        <member name="P:TShockAPI.DB.BanManager.Bans">
            <summary>
            Readonly dictionary of Bans, keyed on ban ticket number.
            </summary>
        </member>
        <member name="E:TShockAPI.DB.BanManager.OnBanValidate">
            <summary>
            Event invoked when a ban is checked for validity
            </summary>
        </member>
        <member name="E:TShockAPI.DB.BanManager.OnBanPreAdd">
            <summary>
            Event invoked before a ban is added
            </summary>
        </member>
        <member name="E:TShockAPI.DB.BanManager.OnBanPostAdd">
            <summary>
            Event invoked after a ban is added
            </summary>
        </member>
        <member name="M:TShockAPI.DB.BanManager.#ctor(System.Data.IDbConnection)">
            <summary>
            Initializes a new instance of the <see cref="T:TShockAPI.DB.BanManager"/> class.
            </summary>
            <param name="db">A valid connection to the TShock database</param>
        </member>
        <member name="M:TShockAPI.DB.BanManager.EnsureBansCollection">
            <summary>
            Ensures the <see cref="F:TShockAPI.DB.BanManager._bans"/> collection is ready to use.
            </summary>
        </member>
        <member name="M:TShockAPI.DB.BanManager.TryConvertBans">
            <summary>
            Converts bans from the old ban system to the new.
            </summary>
        </member>
        <member name="M:TShockAPI.DB.BanManager.IsValidBan(TShockAPI.DB.Ban,TShockAPI.TSPlayer)">
            <summary>
            Determines whether or not a ban is valid
            </summary>
            <param name="ban"></param>
            <param name="player"></param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.DB.BanManager.InsertBan(System.String,System.String,System.String,System.DateTime,System.DateTime)">
            <summary>
            Adds a new ban for the given identifier. Returns a Ban object if the ban was added, else null
            </summary>
            <param name="identifier"></param>
            <param name="reason"></param>
            <param name="banningUser"></param>
            <param name="fromDate"></param>
            <param name="toDate"></param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.DB.BanManager.InsertBan(TShockAPI.DB.BanPreAddEventArgs)">
            <summary>
            Adds a new ban for the given data. Returns a Ban object if the ban was added, else null
            </summary>
            <param name="args">A predefined instance of <see cref="T:TShockAPI.DB.BanPreAddEventArgs"/></param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.DB.BanManager.RemoveBan(System.Int32,System.Boolean)">
            <summary>
            Attempts to remove a ban. Returns true if the ban was removed or expired. False if the ban could not be removed or expired
            </summary>
            <param name="ticketNumber">The ticket number of the ban to change</param>
            <param name="fullDelete">If true, deletes the ban from the database. If false, marks the expiration time as now, rendering the ban expired. Defaults to false</param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.DB.BanManager.GetBanById(System.Int32)">
            <summary>
            Retrieves a single ban from a ban's ticket number
            </summary>
            <param name="id"></param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.DB.BanManager.RetrieveBansByIdentifier(System.String,System.Boolean)">
            <summary>
            Retrieves an enumerable of all bans for a given identifier
            </summary>
            <param name="identifier">Identifier to search with</param>
            <param name="currentOnly">Whether or not to exclude expired bans</param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.DB.BanManager.GetBansByIdentifiers(System.Boolean,System.String[])">
            <summary>
            Retrieves an enumerable of bans for a given set of identifiers
            </summary>
            <param name="currentOnly">Whether or not to exclude expired bans</param>
            <param name="identifiers"></param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.DB.BanManager.RetrieveAllBans">
            <summary>
            Retrieves a list of bans from the database, sorted by their addition date from newest to oldest
            </summary>
        </member>
        <member name="M:TShockAPI.DB.BanManager.RetrieveAllBansSorted(TShockAPI.DB.BanSortMethod)">
            <summary>
            Retrieves an enumerable of <see cref="T:TShockAPI.DB.Ban"/>s from the database, sorted using the provided sort method
            </summary>
            <param name="sortMethod"></param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.DB.BanManager.ClearBans">
            <summary>
            Removes all bans from the database
            </summary>
            <returns><c>true</c>, if bans were cleared, <c>false</c> otherwise.</returns>
        </member>
        <member name="T:TShockAPI.DB.BanSortMethod">
            <summary>
            Enum containing sort options for ban retrieval
            </summary>
        </member>
        <member name="F:TShockAPI.DB.BanSortMethod.ExpirationSoonestToLatest">
            <summary>
            Bans will be sorted on expiration date, from soonest to latest
            </summary>
        </member>
        <member name="F:TShockAPI.DB.BanSortMethod.ExpirationLatestToSoonest">
            <summary>
            Bans will be sorted on expiration date, from latest to soonest
            </summary>
        </member>
        <member name="F:TShockAPI.DB.BanSortMethod.AddedNewestToOldest">
            <summary>
            Bans will be sorted by the date they were added, from newest to oldest
            </summary>
        </member>
        <member name="F:TShockAPI.DB.BanSortMethod.AddedOldestToNewest">
            <summary>
            Bans will be sorted by the date they were added, from oldest to newest
            </summary>
        </member>
        <member name="F:TShockAPI.DB.BanSortMethod.TicketNumber">
            <summary>
            Bans will be sorted by their ticket number
            </summary>
        </member>
        <member name="T:TShockAPI.DB.AddBanResult">
            <summary>
            Result of an attempt to add a ban
            </summary>
        </member>
        <member name="P:TShockAPI.DB.AddBanResult.Message">
            <summary>
            Message generated from the attempt
            </summary>
        </member>
        <member name="P:TShockAPI.DB.AddBanResult.Ban">
            <summary>
            Ban object generated from the attempt, or null if the attempt failed
            </summary>
        </member>
        <member name="T:TShockAPI.DB.BanEventArgs">
            <summary>
            Event args used for completed bans
            </summary>
        </member>
        <member name="P:TShockAPI.DB.BanEventArgs.Ban">
            <summary>
            Complete ban object
            </summary>
        </member>
        <member name="P:TShockAPI.DB.BanEventArgs.Player">
            <summary>
            Player ban is being applied to
            </summary>
        </member>
        <member name="P:TShockAPI.DB.BanEventArgs.Valid">
            <summary>
            Whether or not the operation should be considered to be valid
            </summary>
        </member>
        <member name="T:TShockAPI.DB.BanPreAddEventArgs">
            <summary>
            Event args used for ban data prior to a ban being formalized
            </summary>
        </member>
        <member name="P:TShockAPI.DB.BanPreAddEventArgs.Identifier">
            <summary>
            An identifiable piece of information to ban
            </summary>
        </member>
        <member name="P:TShockAPI.DB.BanPreAddEventArgs.Reason">
            <summary>
            Gets or sets the ban reason.
            </summary>
            <value>The ban reason.</value>
        </member>
        <member name="P:TShockAPI.DB.BanPreAddEventArgs.BanningUser">
            <summary>
            Gets or sets the name of the user who added this ban entry.
            </summary>
            <value>The banning user.</value>
        </member>
        <member name="P:TShockAPI.DB.BanPreAddEventArgs.BanDateTime">
            <summary>
            DateTime from which the ban will take effect
            </summary>
        </member>
        <member name="P:TShockAPI.DB.BanPreAddEventArgs.ExpirationDateTime">
            <summary>
            DateTime at which the ban will end
            </summary>
        </member>
        <member name="P:TShockAPI.DB.BanPreAddEventArgs.Valid">
            <summary>
            Whether or not the operation should be considered to be valid
            </summary>
        </member>
        <member name="P:TShockAPI.DB.BanPreAddEventArgs.Message">
            <summary>
            Optional message to explain why the event was invalidated, if it was
            </summary>
        </member>
        <member name="T:TShockAPI.DB.Identifier">
            <summary>
            Describes an identifier used by the ban system
            </summary>
        </member>
        <member name="F:TShockAPI.DB.Identifier.Available">
            <summary>
            Identifiers currently registered
            </summary>
        </member>
        <member name="P:TShockAPI.DB.Identifier.Prefix">
            <summary>
            The prefix of the identifier. E.g, 'ip:'
            </summary>
        </member>
        <member name="P:TShockAPI.DB.Identifier.Description">
            <summary>
            Short description of the identifier and its basic usage
            </summary>
        </member>
        <member name="F:TShockAPI.DB.Identifier.IP">
            <summary>
            IP identifier
            </summary>
        </member>
        <member name="F:TShockAPI.DB.Identifier.UUID">
            <summary>
            UUID identifier
            </summary>
        </member>
        <member name="F:TShockAPI.DB.Identifier.Name">
            <summary>
            Player name identifier
            </summary>
        </member>
        <member name="F:TShockAPI.DB.Identifier.Account">
            <summary>
            User account identifier
            </summary>
        </member>
        <member name="M:TShockAPI.DB.Identifier.ToString">
            <summary>
            Returns the identifier's prefix
            </summary>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.DB.Identifier.Register(System.String,System.String)">
            <summary>
            Registers a new identifier with the given prefix and description
            </summary>
            <param name="prefix"></param>
            <param name="description"></param>
        </member>
        <member name="T:TShockAPI.DB.Ban">
            <summary>
            Model class that represents a ban entry in the TShock database.
            </summary>
        </member>
        <member name="P:TShockAPI.DB.Ban.TicketNumber">
            <summary>
            A unique ID assigned to this ban
            </summary>
        </member>
        <member name="P:TShockAPI.DB.Ban.Identifier">
            <summary>
            An identifiable piece of information to ban
            </summary>
        </member>
        <member name="P:TShockAPI.DB.Ban.Reason">
            <summary>
            Gets or sets the ban reason.
            </summary>
            <value>The ban reason.</value>
        </member>
        <member name="P:TShockAPI.DB.Ban.BanningUser">
            <summary>
            Gets or sets the name of the user who added this ban entry.
            </summary>
            <value>The banning user.</value>
        </member>
        <member name="P:TShockAPI.DB.Ban.BanDateTime">
            <summary>
            DateTime from which the ban will take effect
            </summary>
        </member>
        <member name="P:TShockAPI.DB.Ban.ExpirationDateTime">
            <summary>
            DateTime at which the ban will end
            </summary>
        </member>
        <member name="M:TShockAPI.DB.Ban.GetPrettyExpirationString">
            <summary>
            Returns a string in the format dd:mm:hh:ss indicating the time until the ban expires.
            If the ban is not set to expire (ExpirationDateTime == DateTime.MaxValue), returns the string 'Never'
            </summary>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.DB.Ban.GetPrettyTimeSinceBanString">
            <summary>
            Returns a string in the format dd:mm:hh:ss indicating the time elapsed since the ban was added.
            </summary>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.DB.Ban.#ctor(System.Int32,System.String,System.String,System.String,System.Int64,System.Int64)">
            <summary>
            Initializes a new instance of the <see cref="T:TShockAPI.DB.Ban"/> class.
            </summary>
            <param name="ticketNumber">Unique ID assigned to the ban</param>
            <param name="identifier">Identifier to apply the ban to</param>
            <param name="reason">Reason for the ban</param>
            <param name="banningUser">Account name that executed the ban</param>
            <param name="start">System ticks at which the ban began</param>
            <param name="end">System ticks at which the ban will end</param>
        </member>
        <member name="M:TShockAPI.DB.Ban.#ctor(System.Int32,System.String,System.String,System.String,System.DateTime,System.DateTime)">
            <summary>
            Initializes a new instance of the <see cref="T:TShockAPI.DB.Ban"/> class.
            </summary>
            <param name="ticketNumber">Unique ID assigned to the ban</param>
            <param name="identifier">Identifier to apply the ban to</param>
            <param name="reason">Reason for the ban</param>
            <param name="banningUser">Account name that executed the ban</param>
            <param name="start">DateTime at which the ban will start</param>
            <param name="end">DateTime at which the ban will end</param>
        </member>
        <member name="M:TShockAPI.DB.CharacterManager.InsertPlayerData(TShockAPI.TSPlayer,System.Boolean)">
            <summary>
            Inserts player data to the tsCharacter database table
            </summary>
            <param name="player">player to take data from</param>
            <returns>true if inserted successfully</returns>
        </member>
        <member name="M:TShockAPI.DB.CharacterManager.RemovePlayer(System.Int32)">
            <summary>
            Removes a player's data from the tsCharacter database table
            </summary>
            <param name="userid">User ID of the player</param>
            <returns>true if removed successfully</returns>
        </member>
        <member name="M:TShockAPI.DB.CharacterManager.InsertSpecificPlayerData(TShockAPI.TSPlayer,TShockAPI.PlayerData)">
            <summary>
            Inserts a specific PlayerData into the SSC table for a player.
            </summary>
            <param name="player">The player to store the data for.</param>
            <param name="data">The player data to store.</param>
            <returns>If the command succeeds.</returns>
        </member>
        <member name="T:TShockAPI.DB.GroupManager">
            <summary>
            Represents the GroupManager, which is in charge of group management.
            </summary>
        </member>
        <member name="M:TShockAPI.DB.GroupManager.#ctor(System.Data.IDbConnection)">
            <summary>
            Initializes a new instance of the <see cref="T:TShockAPI.DB.GroupManager"/> class with the specified database connection.
            </summary>
            <param name="db">The connection.</param>
        </member>
        <member name="M:TShockAPI.DB.GroupManager.AssertGroupValid(TShockAPI.TSPlayer,TShockAPI.Group,System.Boolean)">
            <summary>
            Asserts that the group reference can be safely assigned to the player object.
            <para>If this assertion fails, and <paramref name="kick"/> is true, the player is disconnected. If <paramref name="kick"/> is false, the player will receive an error message.</para>
            </summary>
            <param name="player">The player in question</param>
            <param name="group">The group we want to assign them</param>
            <param name="kick">Whether or not failing this check disconnects the player.</param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.DB.GroupManager.GroupExists(System.String)">
            <summary>
            Determines whether the given group exists.
            </summary>
            <param name="group">The group.</param>
            <returns><c>true</c> if it does; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:TShockAPI.DB.GroupManager.GetEnumerator">
            <summary>
            Gets the enumerator.
            </summary>
            <returns>The enumerator.</returns>
        </member>
        <member name="M:TShockAPI.DB.GroupManager.GetGroupByName(System.String)">
            <summary>
            Gets the group matching the specified name.
            </summary>
            <param name="name">The name.</param>
            <returns>The group.</returns>
        </member>
        <member name="M:TShockAPI.DB.GroupManager.AddGroup(System.String,System.String,System.String,System.String)">
            <summary>
            Adds group with name and permissions if it does not exist.
            </summary>
            <param name="name">name of group</param>
            <param name="parentname">parent of group</param>
            <param name="permissions">permissions</param>
            <param name="chatcolor">chatcolor</param>
        </member>
        <member name="M:TShockAPI.DB.GroupManager.UpdateGroup(System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            Updates a group including permissions
            </summary>
            <param name="name">name of the group to update</param>
            <param name="parentname">parent of group</param>
            <param name="permissions">permissions</param>
            <param name="chatcolor">chatcolor</param>
            <param name="suffix">suffix</param>
            <param name="prefix">prefix</param> //why is suffix before prefix?!
        </member>
        <member name="M:TShockAPI.DB.GroupManager.RenameGroup(System.String,System.String)">
            <summary>
            Renames the specified group.
            </summary>
            <param name="name">The group's name.</param>
            <param name="newName">The new name.</param>
            <returns>The result from the operation to be sent back to the user.</returns>
        </member>
        <member name="M:TShockAPI.DB.GroupManager.DeleteGroup(System.String,System.Boolean)">
            <summary>
            Deletes the specified group.
            </summary>
            <param name="name">The group's name.</param>
            <param name="exceptions">Whether exceptions will be thrown in case something goes wrong.</param>
            <returns>The result from the operation to be sent back to the user.</returns>
        </member>
        <member name="M:TShockAPI.DB.GroupManager.AddPermissions(System.String,System.Collections.Generic.List{System.String})">
            <summary>
            Enumerates the given permission list and adds permissions for the specified group accordingly.
            </summary>
            <param name="name">The group name.</param>
            <param name="permissions">The permission list.</param>
            <returns>The result from the operation to be sent back to the user.</returns>
        </member>
        <member name="M:TShockAPI.DB.GroupManager.DeletePermissions(System.String,System.Collections.Generic.List{System.String})">
            <summary>
            Enumerates the given permission list and removes valid permissions for the specified group accordingly.
            </summary>
            <param name="name">The group name.</param>
            <param name="permissions">The permission list.</param>
            <returns>The result from the operation to be sent back to the user.</returns>
        </member>
        <member name="M:TShockAPI.DB.GroupManager.LoadPermisions">
            <summary>
            Enumerates the group list and loads permissions for each group appropriately.
            </summary>
        </member>
        <member name="T:TShockAPI.DB.GroupManagerException">
            <summary>
            Represents the base GroupManager exception.
            </summary>
        </member>
        <member name="M:TShockAPI.DB.GroupManagerException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:TShockAPI.DB.GroupManagerException"/> with the specified message.
            </summary>
            <param name="message">The message.</param>
        </member>
        <member name="M:TShockAPI.DB.GroupManagerException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:TShockAPI.DB.GroupManagerException"/> with the specified message and inner exception.
            </summary>
            <param name="message">The message.</param>
            <param name="inner">The inner exception.</param>
        </member>
        <member name="T:TShockAPI.DB.GroupExistsException">
            <summary>
            Represents the GroupExists exception.
            This exception is thrown whenever an attempt to add an existing group into the database is made.
            </summary>
        </member>
        <member name="M:TShockAPI.DB.GroupExistsException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:TShockAPI.DB.GroupExistsException"/> with the specified group name.
            </summary>
            <param name="name">The group name.</param>
        </member>
        <member name="T:TShockAPI.DB.GroupNotExistException">
            <summary>
            Represents the GroupNotExist exception.
            This exception is thrown whenever we try to access a group that does not exist.
            </summary>
        </member>
        <member name="M:TShockAPI.DB.GroupNotExistException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:TShockAPI.DB.GroupNotExistException"/> with the specified group name.
            </summary>
            <param name="name">The group name.</param>
        </member>
        <member name="T:TShockAPI.DB.IQueryBuilder">
            <summary>
            Interface for various SQL related utilities.
            </summary>
        </member>
        <member name="M:TShockAPI.DB.IQueryBuilder.CreateTable(TShockAPI.DB.SqlTable)">
            <summary>
            Creates a table from a SqlTable object.
            </summary>
            <param name="table">The SqlTable to create the table from</param>
            <returns>The sql query for the table creation.</returns>
        </member>
        <member name="M:TShockAPI.DB.IQueryBuilder.AlterTable(TShockAPI.DB.SqlTable,TShockAPI.DB.SqlTable)">
            <summary>
            Alter a table from source to destination
            </summary>
            <param name="from">Must have name and column names. Column types are not required</param>
            <param name="to">Must have column names and column types.</param>
            <returns>The SQL Query</returns>
        </member>
        <member name="M:TShockAPI.DB.IQueryBuilder.DbTypeToString(MySql.Data.MySqlClient.MySqlDbType,System.Nullable{System.Int32})">
            <summary>
            Converts the MySqlDbType enum to it's string representation.
            </summary>
            <param name="type">The MySqlDbType type</param>
            <param name="length">The length of the datatype</param>
            <returns>The string representation</returns>
        </member>
        <member name="M:TShockAPI.DB.IQueryBuilder.UpdateValue(System.String,System.Collections.Generic.List{TShockAPI.DB.SqlValue},System.Collections.Generic.List{TShockAPI.DB.SqlValue})">
            <summary>
            A UPDATE Query
            </summary>
            <param name="table">The table to update</param>
            <param name="values">The values to change</param>
            <param name="wheres"></param>
            <returns>The SQL query</returns>
        </member>
        <member name="M:TShockAPI.DB.IQueryBuilder.InsertValues(System.String,System.Collections.Generic.List{TShockAPI.DB.SqlValue})">
            <summary>
            A INSERT query
            </summary>
            <param name="table">The table to insert to</param>
            <param name="values"></param>
            <returns>The SQL Query</returns>
        </member>
        <member name="M:TShockAPI.DB.IQueryBuilder.ReadColumn(System.String,System.Collections.Generic.List{TShockAPI.DB.SqlValue})">
            <summary>
            A SELECT query to get all columns
            </summary>
            <param name="table">The table to select from</param>
            <param name="wheres"></param>
            <returns>The SQL query</returns>
        </member>
        <member name="M:TShockAPI.DB.IQueryBuilder.DeleteRow(System.String,System.Collections.Generic.List{TShockAPI.DB.SqlValue})">
            <summary>
            Deletes row(s).
            </summary>
            <param name="table">The table to delete the row from</param>
            <param name="wheres"></param>
            <returns>The SQL query</returns>
        </member>
        <member name="M:TShockAPI.DB.IQueryBuilder.RenameTable(System.String,System.String)">
            <summary>
            Renames the given table.
            </summary>
            <param name="from">Old name of the table</param>
            <param name="to">New name of the table</param>
            <returns>The sql query for renaming the table.</returns>
        </member>
        <member name="T:TShockAPI.DB.SqliteQueryCreator">
            <summary>
            Query Creator for Sqlite
            </summary>
        </member>
        <member name="M:TShockAPI.DB.SqliteQueryCreator.CreateTable(TShockAPI.DB.SqlTable)">
            <summary>
            Creates a table from a SqlTable object.
            </summary>
            <param name="table">The SqlTable to create the table from</param>
            <returns>The sql query for the table creation.</returns>
        </member>
        <member name="M:TShockAPI.DB.SqliteQueryCreator.RenameTable(System.String,System.String)">
            <summary>
            Renames the given table.
            </summary>
            <param name="from">Old name of the table</param>
            <param name="to">New name of the table</param>
            <returns>The sql query for renaming the table.</returns>
        </member>
        <member name="M:TShockAPI.DB.SqliteQueryCreator.DbTypeToString(MySql.Data.MySqlClient.MySqlDbType,System.Nullable{System.Int32})">
            <summary>
            Converts the MySqlDbType enum to it's string representation.
            </summary>
            <param name="type">The MySqlDbType type</param>
            <param name="length">The length of the datatype</param>
            <returns>The string representation</returns>
        </member>
        <member name="M:TShockAPI.DB.SqliteQueryCreator.EscapeTableName(System.String)">
            <summary>
            Escapes the table name
            </summary>
            <param name="table">The name of the table to be escaped</param>
            <returns></returns>
        </member>
        <member name="T:TShockAPI.DB.MysqlQueryCreator">
            <summary>
            Query Creator for MySQL
            </summary>
        </member>
        <member name="M:TShockAPI.DB.MysqlQueryCreator.CreateTable(TShockAPI.DB.SqlTable)">
            <summary>
            Creates a table from a SqlTable object.
            </summary>
            <param name="table">The SqlTable to create the table from</param>
            <returns>The sql query for the table creation.</returns>
        </member>
        <member name="M:TShockAPI.DB.MysqlQueryCreator.RenameTable(System.String,System.String)">
            <summary>
            Renames the given table.
            </summary>
            <param name="from">Old name of the table</param>
            <param name="to">New name of the table</param>
            <returns>The sql query for renaming the table.</returns>
        </member>
        <member name="M:TShockAPI.DB.MysqlQueryCreator.DbTypeToString(MySql.Data.MySqlClient.MySqlDbType,System.Nullable{System.Int32})">
            <summary>
            Converts the MySqlDbType enum to it's string representation.
            </summary>
            <param name="type">The MySqlDbType type</param>
            <param name="length">The length of the datatype</param>
            <returns>The string representation</returns>
        </member>
        <member name="M:TShockAPI.DB.MysqlQueryCreator.EscapeTableName(System.String)">
            <summary>
            Escapes the table name
            </summary>
            <param name="table">The name of the table to be escaped</param>
            <returns></returns>
        </member>
        <member name="T:TShockAPI.DB.GenericQueryCreator">
            <summary>
            A Generic Query Creator (abstract)
            </summary>
        </member>
        <member name="M:TShockAPI.DB.GenericQueryCreator.EscapeTableName(System.String)">
            <summary>
            Escapes the table name
            </summary>
            <param name="table">The name of the table to be escaped</param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.DB.GenericQueryCreator.CreateTable(TShockAPI.DB.SqlTable)">
            <summary>
            Creates a table from a SqlTable object.
            </summary>
            <param name="table">The SqlTable to create the table from</param>
            <returns>The sql query for the table creation.</returns>
        </member>
        <member name="M:TShockAPI.DB.GenericQueryCreator.RenameTable(System.String,System.String)">
            <summary>
            Renames the given table.
            </summary>
            <param name="from">Old name of the table</param>
            <param name="to">New name of the table</param>
            <returns>The sql query for renaming the table.</returns>
        </member>
        <member name="M:TShockAPI.DB.GenericQueryCreator.AlterTable(TShockAPI.DB.SqlTable,TShockAPI.DB.SqlTable)">
            <summary>
            Alter a table from source to destination
            </summary>
            <param name="from">Must have name and column names. Column types are not required</param>
            <param name="to">Must have column names and column types.</param>
            <returns>The SQL Query</returns>
        </member>
        <member name="M:TShockAPI.DB.GenericQueryCreator.ValidateSqlColumnType(System.Collections.Generic.List{TShockAPI.DB.SqlColumn})">
            <summary>
            Check for errors in the columns.
            </summary>
            <param name="columns"></param>
            <exception cref="T:TShockAPI.DB.SqlColumnException"></exception>
        </member>
        <member name="M:TShockAPI.DB.GenericQueryCreator.DeleteRow(System.String,System.Collections.Generic.List{TShockAPI.DB.SqlValue})">
            <summary>
            Deletes row(s).
            </summary>
            <param name="table">The table to delete the row from</param>
            <param name="wheres"></param>
            <returns>The SQL query</returns>
        </member>
        <member name="M:TShockAPI.DB.GenericQueryCreator.UpdateValue(System.String,System.Collections.Generic.List{TShockAPI.DB.SqlValue},System.Collections.Generic.List{TShockAPI.DB.SqlValue})">
            <summary>
            A UPDATE Query
            </summary>
            <param name="table">The table to update</param>
            <param name="values">The values to change</param>
            <param name="wheres"></param>
            <returns>The SQL query</returns>
        </member>
        <member name="M:TShockAPI.DB.GenericQueryCreator.ReadColumn(System.String,System.Collections.Generic.List{TShockAPI.DB.SqlValue})">
            <summary>
            A SELECT query to get all columns
            </summary>
            <param name="table">The table to select from</param>
            <param name="wheres"></param>
            <returns>The SQL query</returns>
        </member>
        <member name="M:TShockAPI.DB.GenericQueryCreator.InsertValues(System.String,System.Collections.Generic.List{TShockAPI.DB.SqlValue})">
            <summary>
            A INSERT query
            </summary>
            <param name="table">The table to insert to</param>
            <param name="values"></param>
            <returns>The SQL Query</returns>
        </member>
        <member name="M:TShockAPI.DB.GenericQueryCreator.BuildWhere(System.Collections.Generic.List{TShockAPI.DB.SqlValue})">
            <summary>
            Builds the SQL WHERE clause
            </summary>
            <param name="wheres"></param>
            <returns></returns>
        </member>
        <member name="T:TShockAPI.DB.RegionManager">
            <summary>
            Represents the Region database manager.
            </summary>
        </member>
        <member name="F:TShockAPI.DB.RegionManager.Regions">
            <summary>
            The list of regions.
            </summary>
        </member>
        <member name="M:TShockAPI.DB.RegionManager.Reload">
            <summary>
            Reloads all regions.
            </summary>
        </member>
        <member name="M:TShockAPI.DB.RegionManager.AddRegion(System.Int32,System.Int32,System.Int32,System.Int32,System.String,System.String,System.String,System.Int32)">
            <summary>
            Adds a region to the database.
            </summary>
            <param name="tx">TileX of the top left corner.</param>
            <param name="ty">TileY of the top left corner.</param>
            <param name="width">Width of the region in tiles.</param>
            <param name="height">Height of the region in tiles.</param>
            <param name="regionname">The name of the region.</param>
            <param name="owner">The User Account Name of the person who created this region.</param>
            <param name="worldid">The world id that this region is in.</param>
            <param name="z">The Z index of the region.</param>
            <returns>Whether the region was created and added successfully.</returns>
        </member>
        <member name="M:TShockAPI.DB.RegionManager.DeleteRegion(System.Int32)">
            <summary>
            Deletes the region from this world with a given ID.
            </summary>
            <param name="id">The ID of the region to delete.</param>
            <returns>Whether the region was successfully deleted.</returns>
        </member>
        <member name="M:TShockAPI.DB.RegionManager.DeleteRegion(System.String)">
            <summary>
            Deletes the region from this world with a given name.
            </summary>
            <param name="name">The name of the region to delete.</param>
            <returns>Whether the region was successfully deleted.</returns>
        </member>
        <member name="M:TShockAPI.DB.RegionManager.SetRegionState(System.Int32,System.Boolean)">
            <summary>
            Sets the protected state of the region with a given ID.
            </summary>
            <param name="id">The ID of the region to change.</param>
            <param name="state">New protected state of the region.</param>
            <returns>Whether the region's state was successfully changed.</returns>
        </member>
        <member name="M:TShockAPI.DB.RegionManager.SetRegionState(System.String,System.Boolean)">
            <summary>
            Sets the protected state of the region with a given name.
            </summary>
            <param name="name">The name of the region to change.</param>
            <param name="state">New protected state of the region.</param>
            <returns>Whether the region's state was successfully changed.</returns>
        </member>
        <member name="M:TShockAPI.DB.RegionManager.CanBuild(System.Int32,System.Int32,TShockAPI.TSPlayer)">
            <summary>
            Checks if a given player can build in a region at the given (x, y) coordinate
            </summary>
            <param name="x">X coordinate</param>
            <param name="y">Y coordinate</param>
            <param name="ply">Player to check permissions with</param>
            <returns>Whether the player can build at the given (x, y) coordinate</returns>
        </member>
        <member name="M:TShockAPI.DB.RegionManager.InArea(System.Int32,System.Int32)">
            <summary>
            Checks if any regions exist at the given (x, y) coordinate
            </summary>
            <param name="x">X coordinate</param>
            <param name="y">Y coordinate</param>
            <returns>Whether any regions exist at the given (x, y) coordinate</returns>
        </member>
        <member name="M:TShockAPI.DB.RegionManager.InAreaRegionName(System.Int32,System.Int32)">
            <summary>
            Checks if any regions exist at the given (x, y) coordinate
            and returns an IEnumerable containing their names
            </summary>
            <param name="x">X coordinate</param>
            <param name="y">Y coordinate</param>
            <returns>The names of any regions that exist at the given (x, y) coordinate</returns>
        </member>
        <member name="M:TShockAPI.DB.RegionManager.InAreaRegionID(System.Int32,System.Int32)">
            <summary>
            Checks if any regions exist at the given (x, y) coordinate
            and returns an IEnumerable containing their IDs
            </summary>
            <param name="x">X coordinate</param>
            <param name="y">Y coordinate</param>
            <returns>The IDs of any regions that exist at the given (x, y) coordinate</returns>
        </member>
        <member name="M:TShockAPI.DB.RegionManager.InAreaRegion(System.Int32,System.Int32)">
            <summary>
            Checks if any regions exist at the given (x, y) coordinate
            and returns an IEnumerable containing their <see cref="T:TShockAPI.DB.Region"/> objects
            </summary>
            <param name="x">X coordinate</param>
            <param name="y">Y coordinate</param>
            <returns>The <see cref="T:TShockAPI.DB.Region"/> objects of any regions that exist at the given (x, y) coordinate</returns>
        </member>
        <member name="M:TShockAPI.DB.RegionManager.ResizeRegion(System.String,System.Int32,System.Int32)">
            <summary>
            Changes the size of a given region
            </summary>
            <param name="regionName">Name of the region to resize</param>
            <param name="addAmount">Amount to resize</param>
            <param name="direction">Direction to resize in:
            0 = resize height and Y.
            1 = resize width.
            2 = resize height.
            3 = resize width and X.</param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.DB.RegionManager.RenameRegion(System.String,System.String)">
            <summary>
            Renames a region
            </summary>
            <param name="oldName">Name of the region to rename</param>
            <param name="newName">New name of the region</param>
            <returns>true if renamed successfully, false otherwise</returns>
        </member>
        <member name="M:TShockAPI.DB.RegionManager.RemoveUser(System.String,System.String)">
            <summary>
            Removes an allowed user from a region
            </summary>
            <param name="regionName">Name of the region to modify</param>
            <param name="userName">Username to remove</param>
            <returns>true if removed successfully</returns>
        </member>
        <member name="M:TShockAPI.DB.RegionManager.AddNewUser(System.String,System.String)">
            <summary>
            Adds a user to a region's allowed user list
            </summary>
            <param name="regionName">Name of the region to modify</param>
            <param name="userName">Username to add</param>
            <returns>true if added successfully</returns>
        </member>
        <member name="M:TShockAPI.DB.RegionManager.PositionRegion(System.String,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Sets the position of a region.
            </summary>
            <param name="regionName">The region name.</param>
            <param name="x">The X position.</param>
            <param name="y">The Y position.</param>
            <param name="height">The height.</param>
            <param name="width">The width.</param>
            <returns>Whether the operation succeeded.</returns>
        </member>
        <member name="M:TShockAPI.DB.RegionManager.ListAllRegions(System.String)">
            <summary>
            Gets all the regions names from world
            </summary>
            <param name="worldid">World name to get regions from</param>
            <returns>List of regions with only their names</returns>
        </member>
        <member name="M:TShockAPI.DB.RegionManager.GetRegionByName(System.String)">
            <summary>
            Returns a region with the given name
            </summary>
            <param name="name">Region name</param>
            <returns>The region with the given name, or null if not found</returns>
        </member>
        <member name="M:TShockAPI.DB.RegionManager.GetRegionByID(System.Int32)">
            <summary>
            Returns a region with the given ID
            </summary>
            <param name="id">Region ID</param>
            <returns>The region with the given ID, or null if not found</returns>
        </member>
        <member name="M:TShockAPI.DB.RegionManager.ChangeOwner(System.String,System.String)">
            <summary>
            Changes the owner of the region with the given name
            </summary>
            <param name="regionName">Region name</param>
            <param name="newOwner">New owner's username</param>
            <returns>Whether the change was successful</returns>
        </member>
        <member name="M:TShockAPI.DB.RegionManager.AllowGroup(System.String,System.String)">
            <summary>
            Allows a group to use a region
            </summary>
            <param name="regionName">Region name</param>
            <param name="groupName">Group's name</param>
            <returns>Whether the change was successful</returns>
        </member>
        <member name="M:TShockAPI.DB.RegionManager.RemoveGroup(System.String,System.String)">
            <summary>
            Removes a group's access to a region
            </summary>
            <param name="regionName">Region name</param>
            <param name="group">Group name</param>
            <returns>Whether the change was successful</returns>
        </member>
        <member name="M:TShockAPI.DB.RegionManager.GetTopRegion(System.Collections.Generic.IEnumerable{TShockAPI.DB.Region})">
            <summary>
            Returns the <see cref="T:TShockAPI.DB.Region"/> with the highest Z index of the given list
            </summary>
            <param name="regions">List of Regions to compare</param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.DB.RegionManager.SetZ(System.String,System.Int32)">
            <summary>
            Sets the Z index of a given region
            </summary>
            <param name="name">Region name</param>
            <param name="z">New Z index</param>
            <returns>Whether the change was successful</returns>
        </member>
        <member name="M:TShockAPI.DB.Region.InArea(Microsoft.Xna.Framework.Rectangle)">
            <summary>
            Checks if a given point is in the region's area
            </summary>
            <param name="point">Point to check</param>
            <returns>Whether the point exists in the region's area</returns>
        </member>
        <member name="M:TShockAPI.DB.Region.InArea(System.Int32,System.Int32)">
            <summary>
            Checks if a given (x, y) coordinate is in the region's area
            </summary>
            <param name="x">X coordinate to check</param>
            <param name="y">Y coordinate to check</param>
            <returns>Whether the coordinate exists in the region's area</returns>
        </member>
        <member name="M:TShockAPI.DB.Region.HasPermissionToBuildInRegion(TShockAPI.TSPlayer)">
            <summary>
            Checks if a given player has permission to build in the region
            </summary>
            <param name="ply">Player to check permissions with</param>
            <returns>Whether the player has permission</returns>
        </member>
        <member name="M:TShockAPI.DB.Region.SetAllowedIDs(System.String)">
            <summary>
            Sets the user IDs which are allowed to use the region
            </summary>
            <param name="ids">String of IDs to set</param>
        </member>
        <member name="M:TShockAPI.DB.Region.SetAllowedGroups(System.String)">
            <summary>
            Sets the group names which are allowed to use the region
            </summary>
            <param name="groups">String of group names to set</param>
        </member>
        <member name="M:TShockAPI.DB.Region.RemoveID(System.Int32)">
            <summary>
            Removes a user's access to the region
            </summary>
            <param name="id">User ID to remove</param>
            <returns>true if the user was found and removed from the region's allowed users</returns>
        </member>
        <member name="M:TShockAPI.DB.Region.RemoveGroup(System.String)">
            <summary>
            Removes a group's access to the region
            </summary>
            <param name="groupName">Group name to remove</param>
            <returns></returns>
        </member>
        <member name="T:TShockAPI.DB.ResearchDatastore">
            <summary>
            This class is used as the data interface for Journey mode research.
            This information is maintained such that SSC characters will be properly set up with
            the world's current research.
            </summary>
        </member>
        <member name="F:TShockAPI.DB.ResearchDatastore._itemsSacrificed">
            <summary>
            In-memory cache of what items have been sacrificed.
            The first call to GetSacrificedItems will load this with data from the database.
            </summary>
        </member>
        <member name="M:TShockAPI.DB.ResearchDatastore.#ctor(System.Data.IDbConnection)">
            <summary>
            Initializes a new instance of the <see cref="T:TShockAPI.DB.ResearchDatastore"/> class.
            </summary>
            <param name="db">A valid connection to the TShock database</param>
        </member>
        <member name="M:TShockAPI.DB.ResearchDatastore.GetSacrificedItems">
            <summary>
            This call will return the memory-cached list of items sacrificed.
            If the cache is not initialized, it will be initialized from the database.
            </summary>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.DB.ResearchDatastore.ReadFromDatabase">
            <summary>
            This function will return a Dictionary&lt;ItemId, AmountSacrificed&gt; representing
            what the progress of research on items is for this world.
            </summary>
            <returns>A dictionary of ItemID keys and Amount Sacrificed values.</returns>
        </member>
        <member name="M:TShockAPI.DB.ResearchDatastore.SacrificeItem(System.Int32,System.Int32,TShockAPI.TSPlayer)">
            <summary>
            This method will sacrifice an amount of an item for research.
            </summary>
            <param name="itemId">The net ItemId that is being researched.</param>
            <param name="amount">The amount of items being sacrificed.</param>
            <param name="player">The player who sacrificed the item for research.</param>
            <returns>The cumulative total sacrifices for this item.</returns>
        </member>
        <member name="P:TShockAPI.DB.SqlColumn.Unique">
            <summary>
            Sets/Gets if it's unique 
            </summary>
        </member>
        <member name="P:TShockAPI.DB.SqlColumn.Primary">
            <summary>
            Sets/Gets if it's primary key
            </summary>
        </member>
        <member name="P:TShockAPI.DB.SqlColumn.AutoIncrement">
            <summary>
            Sets/Gets if it autoincrements
            </summary>
        </member>
        <member name="P:TShockAPI.DB.SqlColumn.NotNull">
            <summary>
            Sets/Gets if it can be or not null
            </summary>
        </member>
        <member name="P:TShockAPI.DB.SqlColumn.DefaultValue">
            <summary>
            Sets the default value
            </summary>
        </member>
        <member name="P:TShockAPI.DB.SqlColumn.DefaultCurrentTimestamp">
            <summary>
            Use on DateTime only, if true, sets the default value to the current date when creating the row.
            </summary>
        </member>
        <member name="P:TShockAPI.DB.SqlColumn.Length">
            <summary>
            Length of the data type, null = default
            </summary>
        </member>
        <member name="T:TShockAPI.DB.SqlColumnException">
            <summary>
            Used when a SqlColumn has validation errors.
            </summary>
        </member>
        <member name="M:TShockAPI.DB.SqlColumnException.#ctor(System.String)">
            <summary>
            Creates a new SqlColumnException with the given message.
            </summary>
            <param name="message"></param>
        </member>
        <member name="T:TShockAPI.DB.UserAccountManager">
            <summary>UserAccountManager - Methods for dealing with database user accounts and other related functionality within TShock.</summary>
        </member>
        <member name="F:TShockAPI.DB.UserAccountManager._database">
            <summary>database - The database object to use for connections.</summary>
        </member>
        <member name="M:TShockAPI.DB.UserAccountManager.#ctor(System.Data.IDbConnection)">
            <summary>Creates a UserAccountManager object. During instantiation, this method will verify the table structure against the format below.</summary>
            <param name="db">The database to connect to.</param>
            <returns>A UserAccountManager object.</returns>
        </member>
        <member name="M:TShockAPI.DB.UserAccountManager.AddUserAccount(TShockAPI.DB.UserAccount)">
            <summary>
            Adds the given user account to the database
            </summary>
            <param name="account">The user account to be added</param>
        </member>
        <member name="M:TShockAPI.DB.UserAccountManager.RemoveUserAccount(TShockAPI.DB.UserAccount)">
            <summary>
            Removes all user accounts from the database whose usernames match the given user account
            </summary>
            <param name="account">The user account</param>
        </member>
        <member name="M:TShockAPI.DB.UserAccountManager.SetUserAccountPassword(TShockAPI.DB.UserAccount,System.String)">
            <summary>
            Sets the Hashed Password for a given username
            </summary>
            <param name="account">The user account</param>
            <param name="password">The user account password to be set</param>
        </member>
        <member name="M:TShockAPI.DB.UserAccountManager.SetUserAccountUUID(TShockAPI.DB.UserAccount,System.String)">
            <summary>
            Sets the UUID for a given username
            </summary>
            <param name="account">The user account</param>
            <param name="uuid">The user account uuid to be set</param>
        </member>
        <member name="M:TShockAPI.DB.UserAccountManager.SetUserGroup(TShockAPI.DB.UserAccount,System.String)">
            <summary>
            Sets the group for a given username
            </summary>
            <param name="account">The user account</param>
            <param name="group">The user account group to be set</param>
        </member>
        <member name="M:TShockAPI.DB.UserAccountManager.UpdateLogin(TShockAPI.DB.UserAccount)">
            <summary>Updates the last accessed time for a database user account to the current time.</summary>
            <param name="account">The user account object to modify.</param>
        </member>
        <member name="M:TShockAPI.DB.UserAccountManager.GetUserAccountID(System.String)">
            <summary>Gets the database ID of a given user account object from the database.</summary>
            <param name="username">The username of the user account to query for.</param>
            <returns>The user account ID</returns>
        </member>
        <member name="M:TShockAPI.DB.UserAccountManager.GetUserAccountByName(System.String)">
            <summary>Gets a user account object by name.</summary>
            <param name="name">The user's name.</param>
            <returns>The user account object returned from the search.</returns>
        </member>
        <member name="M:TShockAPI.DB.UserAccountManager.GetUserAccountByID(System.Int32)">
            <summary>Gets a user account object by their user account ID.</summary>
            <param name="id">The user's ID.</param>
            <returns>The user account object returned from the search.</returns>
        </member>
        <member name="M:TShockAPI.DB.UserAccountManager.GetUserAccount(TShockAPI.DB.UserAccount)">
            <summary>Gets a user account object by a user account object.</summary>
            <param name="account">The user account object to search by.</param>
            <returns>The user object that is returned from the search.</returns>
        </member>
        <member name="M:TShockAPI.DB.UserAccountManager.GetUserAccounts">
            <summary>Gets all the user accounts from the database.</summary>
            <returns>The user accounts from the database.</returns>
        </member>
        <member name="M:TShockAPI.DB.UserAccountManager.GetUserAccountsByName(System.String,System.Boolean)">
            <summary>
            Gets all user accounts from the database with a username that starts with or contains <see cref="!:username"/>
            </summary>
            <param name="username">Rough username search. "n" will match "n", "na", "nam", "name", etc</param>
            <param name="notAtStart">If <see cref="!:username"/> is not the first part of the username. If true then "name" would match "name", "username", "wordsnamewords", etc</param>
            <returns>Matching users or null if exception is thrown</returns>
        </member>
        <member name="M:TShockAPI.DB.UserAccountManager.LoadUserAccountFromResult(TShockAPI.DB.UserAccount,TShockAPI.DB.QueryResult)">
            <summary>Fills out the fields of a User account object with the results from a QueryResult object.</summary>
            <param name="account">The user account to add data to.</param>
            <param name="result">The QueryResult object to add data from.</param>
            <returns>The 'filled out' user object.</returns>
        </member>
        <member name="T:TShockAPI.DB.UserAccount">
            <summary>A database user account.</summary>
        </member>
        <member name="P:TShockAPI.DB.UserAccount.ID">
            <summary>The database ID of the user account.</summary>
        </member>
        <member name="P:TShockAPI.DB.UserAccount.Name">
            <summary>The user's name.</summary>
        </member>
        <member name="P:TShockAPI.DB.UserAccount.Password">
            <summary>The hashed password for the user account.</summary>
        </member>
        <member name="P:TShockAPI.DB.UserAccount.UUID">
            <summary>The user's saved Universally Unique Identifier token.</summary>
        </member>
        <member name="P:TShockAPI.DB.UserAccount.Group">
            <summary>The group object that the user account is a part of.</summary>
        </member>
        <member name="P:TShockAPI.DB.UserAccount.Registered">
            <summary>The unix epoch corresponding to the registration date of the user account.</summary>
        </member>
        <member name="P:TShockAPI.DB.UserAccount.LastAccessed">
            <summary>The unix epoch corresponding to the last access date of the user account.</summary>
        </member>
        <member name="P:TShockAPI.DB.UserAccount.KnownIps">
            <summary>A JSON serialized list of known IP addresses for a user account.</summary>
        </member>
        <member name="M:TShockAPI.DB.UserAccount.#ctor(System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>Constructor for the user account object, assuming you define everything yourself.</summary>
            <param name="name">The user's name.</param>
            <param name="pass">The user's password hash.</param>
            <param name="uuid">The user's UUID.</param>
            <param name="group">The user's group name.</param>
            <param name="registered">The unix epoch for the registration date.</param>
            <param name="last">The unix epoch for the last access date.</param>
            <param name="known">The known IPs for the user account, serialized as a JSON object</param>
            <returns>A completed user account object.</returns>
        </member>
        <member name="M:TShockAPI.DB.UserAccount.#ctor">
            <summary>Default constructor for a user account object; holds no data.</summary>
            <returns>A user account object.</returns>
        </member>
        <member name="M:TShockAPI.DB.UserAccount.VerifyPassword(System.String)">
            <summary>
            Verifies if a password matches the one stored in the database.
            If the password is stored in an unsafe hashing algorithm, it will be converted to BCrypt.
            If the password is stored using BCrypt, it will be re-saved if the work factor in the config
            is greater than the existing work factor with the new work factor.
            </summary>
            <param name="password">The password to check against the user account object.</param>
            <returns>bool true, if the password matched, or false, if it didn't.</returns>
        </member>
        <member name="M:TShockAPI.DB.UserAccount.UpgradePasswordWorkFactor(System.String)">
            <summary>Upgrades a password to the highest work factor available in the config.</summary>
            <param name="password">The raw user account password (unhashed) to upgrade</param>
        </member>
        <member name="M:TShockAPI.DB.UserAccount.CreateBCryptHash(System.String)">
            <summary>Creates a BCrypt hash for a user account and stores it in this object.</summary>
            <param name="password">The plain text password to hash</param>
        </member>
        <member name="M:TShockAPI.DB.UserAccount.CreateBCryptHash(System.String,System.Int32)">
            <summary>Creates a BCrypt hash for a user account and stores it in this object.</summary>
            <param name="password">The plain text password to hash</param>
            <param name="workFactor">The work factor to use in generating the password hash</param>
        </member>
        <member name="M:TShockAPI.DB.UserAccount.Equals(TShockAPI.DB.UserAccount)">
            <summary>Indicates whether the current <see cref="T:TShockAPI.DB.UserAccount"/> is equal to another <see cref="T:TShockAPI.DB.UserAccount"/>.</summary>
            <returns>true if the <see cref="T:TShockAPI.DB.UserAccount"/> is equal to the <paramref name="other" /> parameter; otherwise, false.</returns>
            <param name="other">An <see cref="T:TShockAPI.DB.UserAccount"/> to compare with this <see cref="T:TShockAPI.DB.UserAccount"/>.</param>
        </member>
        <member name="M:TShockAPI.DB.UserAccount.Equals(System.Object)">
            <summary>Indicates whether the current <see cref="T:TShockAPI.DB.UserAccount"/> is equal to another object.</summary>
            <returns>true if the <see cref="T:TShockAPI.DB.UserAccount"/> is equal to the <paramref name="obj" /> parameter; otherwise, false.</returns>
            <param name="obj">An <see cref="T:System.Object"/> to compare with this <see cref="T:TShockAPI.DB.UserAccount"/>.</param>
        </member>
        <member name="M:TShockAPI.DB.UserAccount.GetHashCode">
            <summary>Serves as the hash function. </summary>
            <returns>A hash code for the current <see cref="T:TShockAPI.DB.UserAccount"/>.</returns>
        </member>
        <member name="M:TShockAPI.DB.UserAccount.op_Equality(TShockAPI.DB.UserAccount,TShockAPI.DB.UserAccount)">
            <summary>
            Compares equality of two <see cref="T:TShockAPI.DB.UserAccount"/> objects.
            </summary>
            <param name="left">Left hand of the comparison.</param>
            <param name="right">Right hand of the comparison.</param>
            <returns>true if the <see cref="T:TShockAPI.DB.UserAccount"/> objects are equal; otherwise, false.</returns>
        </member>
        <member name="M:TShockAPI.DB.UserAccount.op_Inequality(TShockAPI.DB.UserAccount,TShockAPI.DB.UserAccount)">
            <summary>
            Compares equality of two <see cref="T:TShockAPI.DB.UserAccount"/> objects.
            </summary>
            <param name="left">Left hand of the comparison.</param>
            <param name="right">Right hand of the comparison.</param>
            <returns>true if the <see cref="T:TShockAPI.DB.UserAccount"/> objects aren't equal; otherwise, false.</returns>
        </member>
        <member name="M:TShockAPI.DB.UserAccount.ToString">
            <summary>
            Converts the UserAccount to it's string representation
            </summary>
            <returns>Returns the UserAccount string representation</returns>
        </member>
        <member name="T:TShockAPI.DB.UserAccountManagerException">
            <summary>UserAccountManagerException - An exception generated by the user account manager.</summary>
        </member>
        <member name="M:TShockAPI.DB.UserAccountManagerException.#ctor(System.String)">
            <summary>Creates a new UserAccountManagerException object.</summary>
            <param name="message">The message for the object.</param>
            <returns>A new UserAccountManagerException object.</returns>
        </member>
        <member name="M:TShockAPI.DB.UserAccountManagerException.#ctor(System.String,System.Exception)">
            <summary>Creates a new UserAccountManager Object with an internal exception.</summary>
            <param name="message">The message for the object.</param>
            <param name="inner">The inner exception for the object.</param>
            <returns>A new UserAccountManagerException with a defined inner exception.</returns>
        </member>
        <member name="T:TShockAPI.DB.UserAccountExistsException">
            <summary>A UserExistsException object, used when a user account already exists when attempting to create a new one.</summary>
        </member>
        <member name="M:TShockAPI.DB.UserAccountExistsException.#ctor(System.String)">
            <summary>Creates a new UserAccountExistsException object.</summary>
            <param name="name">The name of the user account that already exists.</param>
            <returns>A UserAccountExistsException object with the user's name passed in the message.</returns>
        </member>
        <member name="T:TShockAPI.DB.UserAccountNotExistException">
            <summary>A UserNotExistException, used when a user does not exist and a query failed as a result of it.</summary>
        </member>
        <member name="M:TShockAPI.DB.UserAccountNotExistException.#ctor(System.String)">
            <summary>Creates a new UserAccountNotExistException object, with the user account name in the message.</summary>
            <param name="name">The user account name to be pasesd in the message.</param>
            <returns>A new UserAccountNotExistException object with a message containing the user account name that does not exist.</returns>
        </member>
        <member name="T:TShockAPI.DB.GroupNotExistsException">
            <summary>A GroupNotExistsException, used when a group does not exist.</summary>
        </member>
        <member name="M:TShockAPI.DB.GroupNotExistsException.#ctor(System.String)">
            <summary>Creates a new GroupNotExistsException object with the group's name in the message.</summary>
            <param name="group">The group name.</param>
            <returns>A new GroupNotExistsException with the group that does not exist's name in the message.</returns>
        </member>
        <member name="F:TShockAPI.DB.WarpManager.Warps">
            <summary>
            The list of warps.
            </summary>
        </member>
        <member name="M:TShockAPI.DB.WarpManager.Add(System.Int32,System.Int32,System.String)">
            <summary>
            Adds a warp.
            </summary>
            <param name="x">The X position.</param>
            <param name="y">The Y position.</param>
            <param name="name">The name.</param>
            <returns>Whether the operation succeeded.</returns>
        </member>
        <member name="M:TShockAPI.DB.WarpManager.ReloadWarps">
            <summary>
            Reloads all warps.
            </summary>
        </member>
        <member name="M:TShockAPI.DB.WarpManager.Remove(System.String)">
            <summary>
            Removes a warp.
            </summary>
            <param name="warpName">The warp name.</param>
            <returns>Whether the operation succeeded.</returns>
        </member>
        <member name="M:TShockAPI.DB.WarpManager.Find(System.String)">
            <summary>
            Finds the warp with the given name.
            </summary>
            <param name="warpName">The name.</param>
            <returns>The warp, if it exists, or else null.</returns>
        </member>
        <member name="M:TShockAPI.DB.WarpManager.Position(System.String,System.Int32,System.Int32)">
            <summary>
            Sets the position of a warp.
            </summary>
            <param name="warpName">The warp name.</param>
            <param name="x">The X position.</param>
            <param name="y">The Y position.</param>
            <returns>Whether the operation succeeded.</returns>
        </member>
        <member name="M:TShockAPI.DB.WarpManager.Hide(System.String,System.Boolean)">
            <summary>
            Sets the hidden state of a warp.
            </summary>
            <param name="warpName">The warp name.</param>
            <param name="state">The state.</param>
            <returns>Whether the operation succeeded.</returns>
        </member>
        <member name="T:TShockAPI.DB.Warp">
            <summary>
            Represents a warp.
            </summary>
        </member>
        <member name="P:TShockAPI.DB.Warp.Name">
            <summary>
            Gets or sets the name.
            </summary>
        </member>
        <member name="P:TShockAPI.DB.Warp.IsPrivate">
            <summary>
            Gets or sets the warp's privacy state.
            </summary>
        </member>
        <member name="P:TShockAPI.DB.Warp.Position">
            <summary>
            Gets or sets the position.
            </summary>
        </member>
        <member name="M:TShockAPI.DB.Warp.#ctor">
            <summary>Creates a warp with a default coordinate of zero, an empty name, public.</summary>
        </member>
        <member name="T:TShockAPI.DB.DbExt">
            <summary>
            Database extensions
            </summary>
        </member>
        <member name="M:TShockAPI.DB.DbExt.Query(System.Data.IDbConnection,System.String,System.Object[])">
            <summary>
            Executes a query on a database.
            </summary>
            <param name="olddb">Database to query</param>
            <param name="query">Query string with parameters as @0, @1, etc.</param>
            <param name="args">Parameters to be put in the query</param>
            <returns>Rows affected by query</returns>
        </member>
        <member name="M:TShockAPI.DB.DbExt.QueryReader(System.Data.IDbConnection,System.String,System.Object[])">
            <summary>
            Executes a query on a database.
            </summary>
            <param name="olddb">Database to query</param>
            <param name="query">Query string with parameters as @0, @1, etc.</param>
            <param name="args">Parameters to be put in the query</param>
            <returns>Query result as IDataReader</returns>
        </member>
        <member name="M:TShockAPI.DB.DbExt.QueryScalar``1(System.Data.IDbConnection,System.String,System.Object[])">
            <summary>
            Executes a query on a database, returning the first column of the first row of the result set.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="olddb">Database to query</param>
            <param name="query">Query string with parameters as @0, @1, etc.</param>
            <param name="args">Parameters to be put in the query</param>
            <returns></returns>
        </member>
        <member name="T:TShockAPI.Extensions.ExceptionExt">
            <summary>
            Extensions for Exceptions
            </summary>
        </member>
        <member name="M:TShockAPI.Extensions.ExceptionExt.BuildExceptionString(System.Exception)">
            <summary>
            Builds a formatted string containing the messages of the given exception, and any inner exceptions it contains
            </summary>
            <param name="ex"></param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.LinqExt.TryGetValue``1(System.Collections.Generic.IEnumerable{``0},System.Int32,``0@)">
            <summary>
            Attempts to retrieve the value at the given index from the enumerable
            </summary>
            <typeparam name="T"></typeparam>
            <param name="enumerable"></param>
            <param name="index"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.StringExt.Color(System.Object,System.String)">
            <summary>
            Wraps the string representation of an object with a Terraria color code for the given color
            </summary>
            <param name="obj"></param>
            <param name="color"></param>
            <returns></returns>
        </member>
        <member name="P:TShockAPI.FileTools.RulesPath">
            <summary>
            Path to the file containing the rules.
            </summary>
        </member>
        <member name="P:TShockAPI.FileTools.MotdPath">
            <summary>
            Path to the file containing the message of the day.
            </summary>
        </member>
        <member name="P:TShockAPI.FileTools.WhitelistPath">
            <summary>
            Path to the file containing the whitelist.
            </summary>
        </member>
        <member name="P:TShockAPI.FileTools.ConfigPath">
            <summary>
            Path to the file containing the config.
            </summary>
        </member>
        <member name="P:TShockAPI.FileTools.ServerSideCharacterConfigPath">
            <summary>
            Path to the file containing the config.
            </summary>
        </member>
        <member name="M:TShockAPI.FileTools.CreateFile(System.String)">
            <summary>
            Creates an empty file at the given path.
            </summary>
            <param name="file">The path to the file.</param>
        </member>
        <member name="M:TShockAPI.FileTools.CreateIfNot(System.String,System.String)">
            <summary>
            Creates a file if the files doesn't already exist.
            </summary>
            <param name="file">The path to the files</param>
            <param name="data">The data to write to the file.</param>
        </member>
        <member name="M:TShockAPI.FileTools.SetupConfig">
            <summary>
            Sets up the configuration file for all variables, and creates any missing files.
            </summary>
        </member>
        <member name="M:TShockAPI.FileTools.OnWhitelist(System.String)">
            <summary>
            Tells if a user is on the whitelist
            </summary>
            <param name="ip">string ip of the user</param>
            <returns>true/false</returns>
        </member>
        <member name="M:TShockAPI.FileTools.AttemptConfigUpgrade(Newtonsoft.Json.Linq.JObject,System.Boolean@)">
            <summary>
            Looks for a 'Settings' token in the json object. If one is not found, returns a new json object with all tokens of the previous object added
            as children to a root 'Settings' token
            </summary>
            <param name="cfg"></param>
            <param name="requiredUpgrade"></param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.FileTools.LoadConfigAndCheckForChanges``1(Newtonsoft.Json.Linq.JObject,System.Boolean@)">
            <summary>
            Parses a JObject into a TSettings object, also emitting a bool indicating if the JObject was incomplete
            </summary>
            <typeparam name="TSettings">The type of the config file object</typeparam>
            <param name="jObject">The json object to parse</param>
            <param name="writeConfig">Whether the config needs to be written to disk again</param>
            <returns>The config object</returns>
        </member>
        <member name="T:TShockAPI.GetDataHandledEventArgs">
            <summary>
            A custom HandledEventArgs that contains TShock's TSPlayer for the triggering uesr and the Terraria MP data stream.
            Differentiated by GetDataHandlerArgs because it can be handled and responds to being handled.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandledEventArgs.Player">
            <summary>The TSPlayer that triggered the event.</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandledEventArgs.Data">
            <summary>The raw MP packet data associated with the event.</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerInfoEventArgs.PlayerId">
            <summary>
            The Terraria playerID of the player
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerInfoEventArgs.Hair">
            <summary>
            Hair color
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerInfoEventArgs.Style">
            <summary>
            Clothing style. 0-3 are for male characters, and 4-7 are for female characters.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerInfoEventArgs.Difficulty">
            <summary>
            Character difficulty
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerInfoEventArgs.Name">
            <summary>
            Player/character name
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.PlayerInfo">
            <summary>
            PlayerInfo - called at a PlayerInfo event
            If this is cancelled, the server will kick the player. If this should be changed in the future, let someone know.
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.PlayerSlotEventArgs">
            <summary>
            For use in a PlayerSlot event
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerSlotEventArgs.PlayerId">
            <summary>
            The Terraria playerID
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerSlotEventArgs.Slot">
            <summary>
            The slot edited
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerSlotEventArgs.Stack">
            <summary>
            The stack edited
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerSlotEventArgs.Prefix">
            <summary>
            The item prefix
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerSlotEventArgs.Type">
            <summary>
            Item type
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.PlayerSlot">
            <summary>
            PlayerSlot - called at a PlayerSlot event
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.GetSectionEventArgs">
            <summary>The arguments to a GetSection packet.</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.GetSectionEventArgs.X">
            <summary>The X position requested. Or -1 for spawn.</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.GetSectionEventArgs.Y">
            <summary>The Y position requested. Or -1 for spawn.</summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.GetSection">
            <summary>The hook for a GetSection event.</summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.PlayerUpdateEventArgs">
            <summary>
            For use in a PlayerUpdate event
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerUpdateEventArgs.PlayerId">
            <summary>
            The Terraria playerID of the player
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerUpdateEventArgs.Control">
            <summary>
            Control direction (BitFlags)
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerUpdateEventArgs.MiscData1">
            <summary>
            Misc Data Set 1
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerUpdateEventArgs.MiscData2">
            <summary>
            Misc Data Set 2
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerUpdateEventArgs.MiscData3">
            <summary>
            Misc Data Set 3
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerUpdateEventArgs.SelectedItem">
            <summary>
            The selected item in player's hand.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerUpdateEventArgs.Position">
            <summary>
            Position of the player.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerUpdateEventArgs.Velocity">
            <summary>
            Velocity of the player.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerUpdateEventArgs.OriginalPos">
            <summary>
            Original position of the player when using Potion of Return.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerUpdateEventArgs.HomePos">
            <summary>
            Home Position of the player for Potion of Return.
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.PlayerUpdate">
            <summary>
            PlayerUpdate - When the player sends it's updated information to the server
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.PlayerHPEventArgs">
            <summary>
            For use in a PlayerHP event
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerHPEventArgs.PlayerId">
            <summary>
            The Terraria playerID of the player
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerHPEventArgs.Current">
            <summary>
            Current HP
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerHPEventArgs.Max">
            <summary>
            Maximum HP
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.PlayerHP">
            <summary>
            PlayerHP - called at a PlayerHP event
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.TileEditEventArgs">
            <summary>
            Used when a TileEdit event is called.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.TileEditEventArgs.X">
            <summary>
            The tile coordinate on the X plane
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.TileEditEventArgs.Y">
            <summary>
            The tile coordinate on the Y plane
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.TileEditEventArgs.EditData">
            <summary>
            The Tile ID being edited.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.TileEditEventArgs.Action">
            <summary>
            The EditType.
            (KillTile = 0, PlaceTile = 1, KillWall = 2, PlaceWall = 3, KillTileNoItem = 4, PlaceWire = 5, KillWire = 6)
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.TileEditEventArgs.editDetail">
            <summary>
            Did the tile get destroyed successfully.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.TileEditEventArgs.Style">
            <summary>
            Used when a tile is placed to denote a subtype of tile. (e.g. for tile id 21: Chest = 0, Gold Chest = 1)
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.TileEdit">
            <summary>
            TileEdit - called when a tile is placed or destroyed
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.DoorUseEventArgs">
            <summary>
            DoorUseEventArgs - the arguments for a DoorUse event
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.DoorUseEventArgs.X">
            <summary>
            X - The x position of the door being used
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.DoorUseEventArgs.Y">
            <summary>
            Y - The y position of the door being used
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.DoorUseEventArgs.Direction">
            <summary>
            Direction - Information about which way the door opens or where the player is relative to the door
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.DoorUseEventArgs.Action">
            <summary>
            Action - The type of thing happening to the door
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.DoorUse">
            <summary>
            DoorUse - called when a door is opened or closed (normal or trap)
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.SendTileRectEventArgs">
            <summary>
            For use in a SendTileRect event
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.SendTileRectEventArgs.TileX">
            <summary>
            X position of the rectangle
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.SendTileRectEventArgs.TileY">
            <summary>
            Y position of the rect
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.SendTileRectEventArgs.Width">
            <summary>
            Width of the rectangle
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.SendTileRectEventArgs.Length">
            <summary>
            Length of the rectangle
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.SendTileRectEventArgs.ChangeType">
            <summary>
            Change type involved in the rectangle
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.SendTileRect">
            <summary>
            When the player sends a tile square
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.ItemDropEventArgs">
            <summary>
            For use in an ItemDrop event
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.ItemDropEventArgs.ID">
            <summary>
            ID of the item.
            If below 400 and NetID(Type) is 0 Then Set Null. If ItemID is 400 Then New Item
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.ItemDropEventArgs.Position">
            <summary>
            Position of the item
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.ItemDropEventArgs.Velocity">
            <summary>
            Velocity at which the item is deployed
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.ItemDropEventArgs.Stacks">
            <summary>
            Stacks
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.ItemDropEventArgs.Prefix">
            <summary>
            Prefix of the item
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.ItemDropEventArgs.NoDelay">
            <summary>
            No Delay on pickup
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.ItemDropEventArgs.Type">
            <summary>
            Item type
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.ItemDrop">
            <summary>
            ItemDrop - Called when an item is dropped
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.NewProjectileEventArgs">
            <summary>
            For use in a NewProjectile event
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.NewProjectileEventArgs.Identity">
            <summary>
            ???
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.NewProjectileEventArgs.Position">
            <summary>
            Location of the projectile
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.NewProjectileEventArgs.Velocity">
            <summary>
            Velocity of the projectile
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.NewProjectileEventArgs.Knockback">
            <summary>
            Knockback
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.NewProjectileEventArgs.Damage">
            <summary>
            Damage from the projectile
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.NewProjectileEventArgs.Owner">
            <summary>
            Terraria playerID owner of the projectile
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.NewProjectileEventArgs.Type">
            <summary>
            Type of projectile
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.NewProjectileEventArgs.Index">
            <summary>
            ???
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.NewProjectileEventArgs.Ai">
            <summary>
            The special meaning of the projectile.
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.NewProjectile">
            <summary>
            NewProjectile - Called when a client creates a new projectile
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.NPCStrikeEventArgs">
            <summary>
            For use with a NPCStrike event
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.NPCStrikeEventArgs.ID">
            <summary>
            ???
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.NPCStrikeEventArgs.Direction">
            <summary>
            Direction the damage occurred from
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.NPCStrikeEventArgs.Damage">
            <summary>
            Amount of damage
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.NPCStrikeEventArgs.Knockback">
            <summary>
            Knockback
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.NPCStrikeEventArgs.Critical">
            <summary>
            Critical?
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.NPCStrike">
            <summary>
            NPCStrike - Called when an NPC is attacked
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.ProjectileKillEventArgs">
            <summary>The arguments to the ProjectileKill packet.</summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.ProjectileKillEventArgs.ProjectileIdentity">
            <summary>The projectile's identity...?</summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.ProjectileKillEventArgs.ProjectileOwner">
            <summary>The player index of the projectile's owner (Main.players).</summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.ProjectileKillEventArgs.ProjectileIndex">
            <summary>The index of the projectile in Main.projectile.</summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.ProjectileKill">
            <summary>The event fired when a projectile kill packet is received.</summary>
        </member>
        <member name="M:TShockAPI.GetDataHandlers.OnProjectileKill(TShockAPI.TSPlayer,System.IO.MemoryStream,System.Int32,System.Byte,System.Int32)">
            <summary>Fires the ProjectileKill event.</summary>
            <param name="player">The TSPlayer that caused the event.</param>
            <param name="data">The MemoryStream containing the raw event data.</param>
            <param name="identity">The projectile identity (from the packet).</param>
            <param name="owner">The projectile's owner (from the packet).</param>
            <param name="index">The projectile's index (from Main.projectiles).</param>
            <returns>bool</returns>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.TogglePvpEventArgs">
            <summary>
            For use in a TogglePvp event
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.TogglePvpEventArgs.PlayerId">
            <summary>
            The Terraria player ID of the player
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.TogglePvpEventArgs.Pvp">
            <summary>
            Enable/disable pvp?
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.TogglePvp">
            <summary>
            TogglePvp - called when a player toggles pvp
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.SpawnEventArgs">
            <summary>
            For use in a PlayerSpawn event
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.SpawnEventArgs.PlayerId">
            <summary>
            The Terraria playerID of the player
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.SpawnEventArgs.SpawnX">
            <summary>
            X location of the player's spawn
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.SpawnEventArgs.SpawnY">
            <summary>
            Y location of the player's spawn
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.SpawnEventArgs.RespawnTimer">
            <summary>
            Value of the timer countdown before the player can respawn alive.
            If > 0, then player is still dead.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.SpawnEventArgs.NumberOfDeathsPVE">
            <summary>
            Number Of Deaths PVE
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.SpawnEventArgs.NumberOfDeathsPVP">
            <summary>
            Number Of Deaths PVP
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.SpawnEventArgs.SpawnContext">
            <summary>
            Context of where the player is spawning from.
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.PlayerSpawn">
            <summary>
            PlayerSpawn - When a player spawns
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.ChestItemEventArgs">
            <summary>
            For use in a ChestItemChange event
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.ChestItemEventArgs.ID">
            <summary>
            ChestID
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.ChestItemEventArgs.Slot">
            <summary>
            Slot of the item
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.ChestItemEventArgs.Stacks">
            <summary>
            How many?
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.ChestItemEventArgs.Prefix">
            <summary>
            Item prefix
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.ChestItemEventArgs.Type">
            <summary>
            Item type
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.ChestItemChange">
            <summary>
            ChestItemChange - Called when an item in a chest changes
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.ChestOpenEventArgs">
            <summary>
            For use with a ChestOpen event
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.ChestOpenEventArgs.X">
            <summary>
            X location of said chest
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.ChestOpenEventArgs.Y">
            <summary>
            Y location of said chest
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.ChestOpen">
            <summary>
            ChestOpen - Called when any chest is opened
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.PlaceChestEventArgs">
            <summary>
            For use in a PlaceChest event
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlaceChestEventArgs.Flag">
            <summary>What the packet is doing (see MP packet docs).</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlaceChestEventArgs.TileX">
            <summary>
            The X coordinate
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlaceChestEventArgs.TileY">
            <summary>
            The Y coordinate
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlaceChestEventArgs.Style">
            <summary>
            Place style used
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.PlaceChest">
            <summary>
            When a chest is added or removed from the world.
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.PlayerZoneEventArgs">
            <summary>
            For use in a PlayerZone event
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerZoneEventArgs.PlayerId">
            <summary>
            The Terraria playerID of the player
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerZoneEventArgs.Zone1">
            <summary>
            0 = Dungeon, 1 = Corruption,2 =Holy, 3 = Meteor, 4 = Jungle, 5 = Snow, 6 = Crimson, 7 = Water Candle
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerZoneEventArgs.Zone2">
            <summary>
            0 = Peace Candle, 1 = Solar Tower, 2 = Vortex Tower, 3 = Nebula Tower, 4 = Stardust Tower, 5 = Desert, 6 = Glowshroom, 7 = Underground Desert
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerZoneEventArgs.Zone3">
            <summary>
            0 = Overworld, 1 = Dirt Layer, 2 = Rock Layer, 3 = Underworld, 4 = Beach, 5 = Rain, 6 = Sandstorm
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerZoneEventArgs.Zone4">
            <summary>
            0 = Old One's Army, 1 = Granite, 2 = Marble, 3 = Hive, 4 = Gem Cave, 5 = Lihzhard Temple, 6 = Graveyard
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerZoneEventArgs.Zone5">
            <summary>
            0 = The Aether
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.PlayerZone">
            <summary>
            PlayerZone - When the player sends it's zone/biome information to the server
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.NpcTalkEventArgs">
            <summary>
            Using when player trying to talk to a NPC
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.NpcTalkEventArgs.PlayerId">
            <summary>
            The Terraria ID of the player talking to the NPC
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.NpcTalkEventArgs.NPCTalkTarget">
            <summary>
            The NPC ID of the NPC the player is talking to
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.PlayerAnimationEventArgs">
            <summary>
            For use with a PlayerAnimation event
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.PlayerAnimation">
            <summary>
            PlayerAnimation - Called when a player animates
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.PlayerManaEventArgs">
            <summary>
            For use in a PlayerMana event
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.PlayerMana">
            <summary>
            PlayerMana - called at a PlayerMana event
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.PlayerTeamEventArgs">
            <summary>
            For use in a PlayerTeam event
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerTeamEventArgs.PlayerId">
            <summary>
            The Terraria player ID of the player
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerTeamEventArgs.Team">
            <summary>
            Enable/disable pvp?
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.PlayerTeam">
            <summary>
            TogglePvp - called when a player toggles pvp
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.SignReadEventArgs">
            <summary>
            For use in a SignRead event
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.SignReadEventArgs.X">
            <summary>
            X location of the sign
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.SignReadEventArgs.Y">
            <summary>
            Y location of the sign
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.SignRead">
            <summary>
            Sign - Called when a sign is read
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.SignEventArgs">
            <summary>
            For use in a Sign event
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.SignEventArgs.ID">
            <summary>
            The Terraria playerID of the player
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.SignEventArgs.X">
            <summary>
            X location of the sign
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.SignEventArgs.Y">
            <summary>
            Y location of the sign
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.Sign">
            <summary>
            Sign - Called when a sign is changed
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.LiquidSetEventArgs">
            <summary>
            For use in a LiquidSet event
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.LiquidSetEventArgs.TileX">
            <summary>
            X location of the tile
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.LiquidSetEventArgs.TileY">
            <summary>
            Y location of the tile
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.LiquidSetEventArgs.Amount">
            <summary>
            Amount of liquid
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.LiquidSetEventArgs.Type">
            <summary>
            Type of Liquid: 0=water, 1=lava, 2=honey
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.LiquidType">
            <summary>
            LiquidType - supported liquid types
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.LiquidSet">
            <summary>
            LiquidSet - When ever a liquid is set
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.PlayerBuffUpdateEventArgs">
            <summary>
            For use in a PlayerBuffUpdate event
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerBuffUpdateEventArgs.ID">
            <summary>
            The Terraria playerID of the player
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.PlayerBuffUpdate">
            <summary>
            PlayerBuffUpdate - Called when a player updates buffs
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.NPCSpecialEventArgs">
            <summary>
            For use with a NPCSpecial event
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.NPCSpecialEventArgs.ID">
            <summary>
            ???
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.NPCSpecialEventArgs.Type">
            <summary>
            Type...?
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.NPCSpecial">
            <summary>
            NPCSpecial - Called at some point
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.NPCAddBuffEventArgs">
            <summary>
            For use in a NPCAddBuff event
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.NPCAddBuffEventArgs.ID">
            <summary>
            The ID of the npc
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.NPCAddBuffEventArgs.Type">
            <summary>
            Buff Type
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.NPCAddBuffEventArgs.Time">
            <summary>
            Time the buff lasts
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.NPCAddBuff">
            <summary>
            NPCAddBuff - Called when a npc is buffed
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.PlayerBuffEventArgs">
            <summary>
            For use in a PlayerBuff event
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerBuffEventArgs.ID">
            <summary>
            The Terraria playerID of the player
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerBuffEventArgs.Type">
            <summary>
            Buff Type
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerBuffEventArgs.Time">
            <summary>
            Time the buff lasts
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.PlayerBuff">
            <summary>
            PlayerBuff - Called when a player is buffed
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.NPCHomeChangeEventArgs">
            <summary>
            For use in a NPCHome event
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.NPCHomeChangeEventArgs.ID">
            <summary>
            The Terraria playerID of the player
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.NPCHomeChangeEventArgs.X">
            <summary>
            X location of the NPC home change
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.NPCHomeChangeEventArgs.Y">
            <summary>
            Y location of the NPC home change
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.NPCHomeChangeEventArgs.HouseholdStatus">
            <summary>
            HouseholdStatus of the NPC
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.NPCHome">
            <summary>
            NPCHome - Called when an NPC's home is changed
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.PaintTileEventArgs">
            <summary>
            For use with a PaintTile event
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PaintTileEventArgs.X">
            <summary>
            X Location
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PaintTileEventArgs.Y">
            <summary>
            Y Location
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PaintTileEventArgs.type">
            <summary>
            Type
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PaintTileEventArgs.coatTile">
            <summary>
            Paint Coat Tile
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.PaintTile">
            <summary>
            NPCStrike - Called when an NPC is attacked
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.PaintWallEventArgs">
            <summary>
            For use with a PaintWall event
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PaintWallEventArgs.X">
            <summary>
            X Location
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PaintWallEventArgs.Y">
            <summary>
            Y Location
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PaintWallEventArgs.type">
            <summary>
            Type
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PaintWallEventArgs.coatWall">
            <summary>
            Paint Coat Wall
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.PaintWall">
            <summary>
            Called When a wall is painted
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.TeleportEventArgs">
            <summary>
            For use with a NPCStrike event
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.TeleportEventArgs.ID">
            <summary>
            ???
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.TeleportEventArgs.Flag">
            <summary>
            Flag is a bit field
              if the first bit is set -> 0 = player, 1 = NPC
              if the second bit is set, ignore this packet
              if the third bit is set, "get extra info from target" is true
              if the fourth bit is set, extra information is valid to read
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.TeleportEventArgs.X">
            <summary>
            X Location
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.TeleportEventArgs.Y">
            <summary>
            Y Location
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.TeleportEventArgs.Style">
            <summary>
            Style
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.TeleportEventArgs.ExtraInfo">
            <summary>
            "Extra info"
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.Teleport">
            <summary>
            NPCStrike - Called when an NPC is attacked
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.HealOtherPlayerEventArgs">
            <summary>The event args object for the HealOtherPlayer event</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.HealOtherPlayerEventArgs.TargetPlayerIndex">
            <summary>The Terraria player index of the target player</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.HealOtherPlayerEventArgs.Amount">
            <summary>The amount to heal by</summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.HealOtherPlayer">
            <summary>When a player heals another player</summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.ReleaseNpcEventArgs">
            <summary>
            The ReleaseNPC event arguments
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.ReleaseNpcEventArgs.X">
            <summary>
            The X value of where NPC released
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.ReleaseNpcEventArgs.Y">
            <summary>
            The Y value of where NPC released
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.ReleaseNpcEventArgs.Type">
            <summary>
            The NPC Type that player release
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.ReleaseNpcEventArgs.Style">
            <summary>
            The NPC release style
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.ReleaseNPC">
            <summary>
            Called when player release a NPC, for checking critter released from item.
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.PlaceObjectEventArgs">
            <summary>The arguments to the PlaceObject hook.</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlaceObjectEventArgs.X">
            <summary>The X location where the object was placed.</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlaceObjectEventArgs.Y">
            <summary>The Y location where the object was placed.</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlaceObjectEventArgs.Type">
            <summary>The type of object that was placed.</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlaceObjectEventArgs.Style">
            <summary>The style of the object was placed.</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlaceObjectEventArgs.Alternate">
            <summary>Alternate variation of the object placed.</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlaceObjectEventArgs.Random">
            <summary>Related to Rubblemaker.</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlaceObjectEventArgs.Direction">
            <summary>The direction the object was placed.</summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.PlaceObject">
            <summary>Fired when an object is placed in the world.</summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.PlaceTileEntityEventArgs">
            <summary>For use in a PlaceTileEntity event.</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlaceTileEntityEventArgs.X">
            <summary>The X coordinate of the event.</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlaceTileEntityEventArgs.Y">
            <summary>The Y coordinate of the event.</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlaceTileEntityEventArgs.Type">
            <summary>The Type of event.</summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.PlaceTileEntity">
            <summary>Fired when a PlaceTileEntity event occurs.</summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.PlaceItemFrameEventArgs">
            <summary>The arguments to the PlaceItemFrame event.</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlaceItemFrameEventArgs.X">
            <summary>The X coordinate of the item frame.</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlaceItemFrameEventArgs.Y">
            <summary>The Y coordinate of the item frame.</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlaceItemFrameEventArgs.ItemID">
            <summary>The ItemID of the item frame.</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlaceItemFrameEventArgs.Prefix">
            <summary>The prefix.</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlaceItemFrameEventArgs.Stack">
            <summary>The stack.</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlaceItemFrameEventArgs.ItemFrame">
            <summary>The ItemFrame object associated with this event.</summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.PlaceItemFrame">
            <summary>Fired when an ItemFrame is placed.</summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.TeleportThroughPortalEventArgs">
            <summary>The event args object for the PortalTeleport event</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.TeleportThroughPortalEventArgs.TargetPlayerIndex">
            <summary>The Terraria player index of the target player</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.TeleportThroughPortalEventArgs.NewPosition">
            <summary>
            The position the target player will be at after going through the portal
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.TeleportThroughPortalEventArgs.NewVelocity">
            <summary>
            The velocity the target player will have after going through the portal
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.TeleportThroughPortalEventArgs.PortalColorIndex">
            <summary>
            Index of the portal's color (for use with <see cref="M:Terraria.GameContent.PortalHelper.GetPortalColor(System.Int32)"/>)
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.PortalTeleport">
            <summary>When a player passes through a portal</summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.GemLockToggleEventArgs">
            <summary>
            For use with a ToggleGemLock event
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.GemLockToggleEventArgs.X">
            <summary>
            X Location
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.GemLockToggleEventArgs.Y">
            <summary>
            Y Location
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.GemLockToggleEventArgs.On">
            <summary>
            On status
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.GemLockToggle">
            <summary>
            GemLockToggle - Called when a gem lock is switched
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.MassWireOperationEventArgs">
            <summary>The arguments to the MassWireOperation event.</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.MassWireOperationEventArgs.StartX">
            <summary>The start X point in the operation.</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.MassWireOperationEventArgs.StartY">
            <summary>The start Y point in the operation.</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.MassWireOperationEventArgs.EndX">
            <summary>The end X point in the operation.</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.MassWireOperationEventArgs.EndY">
            <summary>The end Y point in the operation.</summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.MassWireOperationEventArgs.ToolMode">
            <summary>ToolMode</summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.MassWireOperation">
            <summary>Fired on a mass wire edit operation.</summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.PlayerDamageEventArgs">
            <summary>
            For use in a PlayerDamage event
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerDamageEventArgs.ID">
            <summary>
            The Terraria playerID of the player
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerDamageEventArgs.Direction">
            <summary>
            The direction the damage is occurring from
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerDamageEventArgs.Damage">
            <summary>
            Amount of damage
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerDamageEventArgs.PVP">
            <summary>
            If the player has PVP on
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerDamageEventArgs.Critical">
            <summary>
            Is the damage critical?
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerDamageEventArgs.CooldownCounter">
            <summary>
            Cooldown Counter
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.PlayerDamageEventArgs.PlayerDeathReason">
            <summary>The reason the player took damage and/or died.</summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.PlayerDamage">
            <summary>
            PlayerDamage - Called when a player is damaged
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.KillMeEventArgs">
            <summary>
            For use in a KillMe event
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.KillMeEventArgs.PlayerId">
            <summary>
            The Terraria playerID of the player
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.KillMeEventArgs.Direction">
            <summary>
            The direction the damage is coming from (?)
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.KillMeEventArgs.Damage">
            <summary>
            Amount of damage dealt
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.KillMeEventArgs.Pvp">
            <summary>
            Player's current pvp setting
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.KillMeEventArgs.PlayerDeathReason">
            <summary>The reason the player died.</summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.KillMe">
            <summary>
            KillMe - Terraria's crappy way of handling damage from players
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.EmojiEventArgs">
            <summary>
            For use in an Emoji event.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.EmojiEventArgs.PlayerIndex">
            <summary>
            The player index in the packet, who sends the emoji.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.EmojiEventArgs.EmojiID">
            <summary>
            The ID of the emoji, that is being received.
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.Emoji">
            <summary>
            Called when a player sends an emoji.
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.DisplayDollItemSyncEventArgs">
            <summary>
            For use in a TileEntityDisplayDollItemSync event.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.DisplayDollItemSyncEventArgs.PlayerIndex">
            <summary>
            The player index in the packet who modifies the DisplayDoll item slot.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.DisplayDollItemSyncEventArgs.TileEntityID">
            <summary>
            The ID of the TileEntity that is being modified.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.DisplayDollItemSyncEventArgs.DisplayDollEntity">
            <summary>
            The TEDisplayDoll object that is being modified.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.DisplayDollItemSyncEventArgs.Slot">
            <summary>
            The slot of the DisplayDoll that is being modified.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.DisplayDollItemSyncEventArgs.IsDye">
            <summary>
            Whether or not the slot that is being modified is a Dye slot.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.DisplayDollItemSyncEventArgs.OldItem">
            <summary>
            The current item that is present in the slot before the modification.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.DisplayDollItemSyncEventArgs.NewItem">
            <summary>
            The item that is about to replace the OldItem in the slot that is being modified.
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.DisplayDollItemSync">
            <summary>
            Called when a player modifies a DisplayDoll (Mannequin) item slot.
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.RequestTileEntityInteractionEventArgs">
            <summary>
            For use in an OnRequestTileEntityInteraction event.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.RequestTileEntityInteractionEventArgs.TileEntity">
            <summary>
            The TileEntity object that the player is requesting interaction with.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.RequestTileEntityInteractionEventArgs.PlayerIndex">
            <summary>
            The player index in the packet who requests interaction with the TileEntity.
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.RequestTileEntityInteraction">
            <summary>
            Called when a player requests interaction with a TileEntity.
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.SyncTilePickingEventArgs">
            <summary>
            For use in a SyncTilePicking event.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.SyncTilePickingEventArgs.PlayerIndex">
            <summary>
            The player index in the packet, who sends the tile picking data.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.SyncTilePickingEventArgs.TileX">
            <summary>
            The X world position of the tile that is being picked.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.SyncTilePickingEventArgs.TileY">
            <summary>
            The Y world position of the tile that is being picked.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.SyncTilePickingEventArgs.TileDamage">
            <summary>
            The damage that is being dealt on the tile.
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.SyncTilePicking">
            <summary>
            Called when a player hits and damages a tile.
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.LandGolfBallInCupEventArgs">
            <summary>
            For use in a LandBallInCup event.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.LandGolfBallInCupEventArgs.PlayerIndex">
            <summary>
            The player index in the packet, who puts the ball in the cup.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.LandGolfBallInCupEventArgs.TileX">
            <summary>
            The X tile position of where the ball lands in a cup.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.LandGolfBallInCupEventArgs.TileY">
            <summary>
            The Y tile position of where the ball lands in a cup.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.LandGolfBallInCupEventArgs.Hits">
            <summary>
            The amount of hits it took for the player to land the ball in the cup.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.LandGolfBallInCupEventArgs.ProjectileType">
            <summary>
            The type of the projectile that was landed in the cup. A golfball in legit cases.
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.LandGolfBallInCup">
            <summary>
            Called when a player lands a golf ball in a cup.
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.FishOutNPCEventArgs">
            <summary>
            For use in a FishOutNPC event.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.FishOutNPCEventArgs.TileX">
            <summary>
            The X world position of the spawning NPC.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.FishOutNPCEventArgs.TileY">
            <summary>
            The Y world position of the spawning NPC.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.FishOutNPCEventArgs.NpcID">
            <summary>
            The NPC type that is being spawned.
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.FishOutNPC">
            <summary>
            Called when a player fishes out an NPC.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.FoodPlatterTryPlacingEventArgs.TileX">
            <summary>
            The X tile position of the placement action.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.FoodPlatterTryPlacingEventArgs.TileY">
            <summary>
            The Y tile position of the placement action.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.FoodPlatterTryPlacingEventArgs.ItemID">
            <summary>
            The Item ID that is being placed in the plate.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.FoodPlatterTryPlacingEventArgs.Prefix">
            <summary>
            The prefix of the item that is being placed in the plate.
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.FoodPlatterTryPlacingEventArgs.Stack">
            <summary>
            The stack of the item that is being placed in the plate.
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.FoodPlatterTryPlacing">
            <summary>
            Called when a player is placing an item in a food plate.
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.ReadNetModuleEventArgs">
            <summary>
            Used when a net module is loaded
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.ReadNetModuleEventArgs.ModuleType">
            <summary>
            The type of net module being loaded
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.ReadNetModule">
            <summary>
            Called when a net module is received
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.MaxPlaceStyles">
            <summary>
            The maximum place styles for each tile.
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.breakableTiles">
            <summary>
            Tiles that can be broken without any pickaxes/etc.
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.FishingRodItemIDs">
            <summary>
            List of Fishing rod item IDs.
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.FishableNpcIDs">
            <summary>
            List of NPC IDs that can be fished out by the player.
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.projectileCreatesTile">
            <summary>
            These projectiles create tiles on death.
            </summary>
        </member>
        <member name="F:TShockAPI.GetDataHandlers.ExtraneousPlaceStyles">
            <summary>
            Extra place style limits for strange hardcoded values in Terraria
            </summary>
        </member>
        <member name="T:TShockAPI.GetDataHandlers.ProjectileStruct">
            <summary>
            Contains brief information about a projectile
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.ProjectileStruct.Index">
            <summary>
            Index inside Main.projectile
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.ProjectileStruct.Type">
            <summary>
            Projectile's type ID
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.ProjectileStruct.CreatedAt">
            <summary>
            Time at which the projectile was created
            </summary>
        </member>
        <member name="P:TShockAPI.GetDataHandlers.ProjectileStruct.Killed">
            <summary>
            Whether or not the projectile has been killed
            </summary>
        </member>
        <member name="T:TShockAPI.Group">
            <summary>
            A class used to group multiple users' permissions and settings.
            </summary>
        </member>
        <member name="F:TShockAPI.Group.defaultChatColor">
            <summary>
            Default chat color.
            </summary>
        </member>
        <member name="F:TShockAPI.Group.permissions">
            <summary>
            List of permissions available to the group.
            </summary>
        </member>
        <member name="F:TShockAPI.Group.negatedpermissions">
            <summary>
            List of permissions that the group is explicitly barred from.
            </summary>
        </member>
        <member name="P:TShockAPI.Group.Name">
            <summary>
            The group's name.
            </summary>
        </member>
        <member name="P:TShockAPI.Group.Parent">
            <summary>
            The group that this group inherits permissions from.
            </summary>
        </member>
        <member name="P:TShockAPI.Group.Prefix">
            <summary>
            The chat prefix for this group.
            </summary>
        </member>
        <member name="P:TShockAPI.Group.Suffix">
            <summary>
            The chat suffix for this group.
            </summary>
        </member>
        <member name="P:TShockAPI.Group.ParentName">
            <summary>
            The name of the parent, not particularly sure why this is here.
            We can use group.Parent.Name and not have this second reference. 
            This was added for rest, so a discussion with Shank is necessary.
            </summary>
        </member>
        <member name="P:TShockAPI.Group.ChatColor">
            <summary>
            The chat color of the group.
            Returns "255,255,255", sets "255,255,255"
            </summary>
        </member>
        <member name="P:TShockAPI.Group.Permissions">
            <summary>
            The permissions of the user in string form.
            </summary>
        </member>
        <member name="P:TShockAPI.Group.TotalPermissions">
            <summary>
            The permissions of this group and all that it inherits from.
            </summary>
        </member>
        <member name="F:TShockAPI.Group.R">
            <summary>
            The group's chat color red byte.
            </summary>
        </member>
        <member name="F:TShockAPI.Group.G">
            <summary>
            The group's chat color green byte.
            </summary>
        </member>
        <member name="F:TShockAPI.Group.B">
            <summary>
            The group's chat color blue byte.
            </summary>
        </member>
        <member name="F:TShockAPI.Group.DefaultGroup">
            <summary>
            The default group attributed to unregistered users.
            </summary>
        </member>
        <member name="M:TShockAPI.Group.#ctor(System.String,TShockAPI.Group,System.String,System.String)">
            <summary>
            Initializes a new instance of the group class.
            </summary>
            <param name="groupname">The name of the group.</param>
            <param name="parentgroup">The parent group, if any.</param>
            <param name="chatcolor">The chat color, in "RRR,GGG,BBB" format.</param>
            <param name="permissions">The list of permissions associated with this group, separated by commas.</param>
        </member>
        <member name="M:TShockAPI.Group.HasPermission(System.String)">
            <summary>
            Checks to see if a group has a specified permission.
            </summary>
            <param name="permission">The permission to check.</param>
            <returns>True if the group has that permission.</returns>
        </member>
        <member name="M:TShockAPI.Group.NegatePermission(System.String)">
            <summary>
            Adds a permission to the list of negated permissions.
            </summary>
            <param name="permission">The permission to negate.</param>
        </member>
        <member name="M:TShockAPI.Group.AddPermission(System.String)">
            <summary>
            Adds a permission to the list of permissions.
            </summary>
            <param name="permission">The permission to add.</param>
        </member>
        <member name="M:TShockAPI.Group.SetPermission(System.Collections.Generic.List{System.String})">
            <summary>
            Clears the permission list and sets it to the list provided, 
            will parse "!permission" and add it to the negated permissions.
            </summary>
            <param name="permission">The new list of permissions to associate with the group.</param>
        </member>
        <member name="M:TShockAPI.Group.RemovePermission(System.String)">
            <summary>
            Will remove a permission from the respective list,
            where "!permission" will remove a negated permission.
            </summary>
            <param name="permission"></param>
        </member>
        <member name="M:TShockAPI.Group.AssignTo(TShockAPI.Group)">
            <summary>
            Assigns all fields of this instance to another.
            </summary>
            <param name="otherGroup">The other instance.</param>
        </member>
        <member name="T:TShockAPI.SuperAdminGroup">
            <summary>
            This class is the SuperAdminGroup, which has access to everything.
            </summary>
        </member>
        <member name="P:TShockAPI.SuperAdminGroup.TotalPermissions">
            <summary>
            The superadmin class has every permission, represented by '*'.
            </summary>
        </member>
        <member name="M:TShockAPI.SuperAdminGroup.#ctor">
            <summary>
            Initializes a new instance of the SuperAdminGroup class with the configured parameters.
            Those can be changed in the config file.
            </summary>
        </member>
        <member name="M:TShockAPI.SuperAdminGroup.HasPermission(System.String)">
            <summary>
            Override to allow access to everything.
            </summary>
            <param name="permission">The permission</param>
            <returns>True</returns>
        </member>
        <member name="M:TShockAPI.HandlerList`1.Register(System.EventHandler{`0},TShockAPI.HandlerPriority,System.Boolean)">
            <summary>
            Register a handler
            </summary>
            <param name="handler">Delegate to be called</param>
            <param name="priority">Priority of the delegate</param>
            <param name="gethandled">Should the handler receive a call even if it has been handled</param>
        </member>
        <member name="T:TShockAPI.Handlers.DisplayDollItemSyncHandler">
            <summary>
            Handles the TileEntityDisplayDollItemSync packets and checks for permissions.
            </summary>
        </member>
        <member name="T:TShockAPI.Handlers.EmojiHandler">
            <summary>
            Handles emoji packets and checks for permissions
            </summary>
        </member>
        <member name="M:TShockAPI.Handlers.EmojiHandler.OnReceive(System.Object,TShockAPI.GetDataHandlers.EmojiEventArgs)">
            <summary>
            Invoked when an emoji is sent in chat. Rejects the emoji packet if the player does not have emoji permissions
            </summary>
            <param name="sender"></param>
            <param name="args"></param>
        </member>
        <member name="T:TShockAPI.Handlers.IllegalPerSe.EmojiPlayerMismatch">
            <summary>
            Rejects emoji packets with mismatched identifiers
            </summary>
        </member>
        <member name="M:TShockAPI.Handlers.IllegalPerSe.EmojiPlayerMismatch.OnReceive(System.Object,TShockAPI.GetDataHandlers.EmojiEventArgs)">
            <summary>
            Invoked on emoji send. Rejects packets that are impossible.
            </summary>
            <param name="sender"></param>
            <param name="args"></param>
        </member>
        <member name="T:TShockAPI.Handlers.IPacketHandler`1">
            <summary>
            Describes a packet handler that receives a packet from a GetDataHandler
            </summary>
            <typeparam name="TEventArgs"></typeparam>
        </member>
        <member name="M:TShockAPI.Handlers.IPacketHandler`1.OnReceive(System.Object,`0)">
            <summary>
            Invoked when the packet is received
            </summary>
            <param name="sender"></param>
            <param name="args"></param>
        </member>
        <member name="T:TShockAPI.Handlers.LandGolfBallInCupHandler">
            <summary>
            Handles client side exploits of LandGolfBallInCup packet.
            </summary>
        </member>
        <member name="F:TShockAPI.Handlers.LandGolfBallInCupHandler.GolfBallProjectileIDs">
            <summary>
            List of golf ball projectile IDs.
            </summary>
        </member>
        <member name="F:TShockAPI.Handlers.LandGolfBallInCupHandler.GolfClubItemIDs">
            <summary>
            List of golf club item IDs
            </summary>
        </member>
        <member name="F:TShockAPI.Handlers.LandGolfBallInCupHandler.GolfBallItemIDs">
            <summary>
            List of golf ball item IDs.
            </summary>
        </member>
        <member name="M:TShockAPI.Handlers.LandGolfBallInCupHandler.OnReceive(System.Object,TShockAPI.GetDataHandlers.LandGolfBallInCupEventArgs)">
            <summary>
            Invoked when a player lands a golf ball in a cup.
            </summary>
            <param name="sender"></param>
            <param name="args"></param>
        </member>
        <member name="T:TShockAPI.Handlers.NetModules.AmbienceHandler">
            <summary>
            Rejects ambience new modules from clients
            </summary>
        </member>
        <member name="M:TShockAPI.Handlers.NetModules.AmbienceHandler.Deserialize(System.IO.MemoryStream)">
            <summary>
            No deserialization needed. This should never be received by the server
            </summary>
            <param name="data"></param>
        </member>
        <member name="M:TShockAPI.Handlers.NetModules.AmbienceHandler.HandlePacket(TShockAPI.TSPlayer,System.Boolean@)">
            <summary>
            This should never be received by the server
            </summary>
            <param name="player"></param>
            <param name="rejectPacket"></param>
        </member>
        <member name="T:TShockAPI.Handlers.NetModules.BestiaryHandler">
            <summary>
            Rejects client->server bestiary net modules as the client should never send this to the server
            </summary>
        </member>
        <member name="M:TShockAPI.Handlers.NetModules.BestiaryHandler.Deserialize(System.IO.MemoryStream)">
            <summary>
            No deserialization needed. This should never be received by the server
            </summary>
            <param name="data"></param>
        </member>
        <member name="M:TShockAPI.Handlers.NetModules.BestiaryHandler.HandlePacket(TShockAPI.TSPlayer,System.Boolean@)">
            <summary>
            This should never be received by the server
            </summary>
            <param name="player"></param>
            <param name="rejectPacket"></param>
        </member>
        <member name="T:TShockAPI.Handlers.NetModules.CreativePowerHandler">
            <summary>
            Provides handling for the Creative Power net module. Checks permissions on all creative powers
            </summary>
        </member>
        <member name="P:TShockAPI.Handlers.NetModules.CreativePowerHandler.PowerType">
            <summary>
            The power type being activated
            </summary>
        </member>
        <member name="M:TShockAPI.Handlers.NetModules.CreativePowerHandler.Deserialize(System.IO.MemoryStream)">
            <summary>
            Reads the power type from the stream
            </summary>
            <param name="data"></param>
        </member>
        <member name="M:TShockAPI.Handlers.NetModules.CreativePowerHandler.HandlePacket(TShockAPI.TSPlayer,System.Boolean@)">
            <summary>
            Determines if the player has permission to use the power type
            </summary>
            <param name="player"></param>
            <param name="rejectPacket"></param>
        </member>
        <member name="M:TShockAPI.Handlers.NetModules.CreativePowerHandler.HasPermission(TShockAPI.GetDataHandlers.CreativePowerTypes,TShockAPI.TSPlayer)">
            <summary>
            Determines if a player has permission to use a specific creative power
            </summary>
            <param name="powerType"></param>
            <param name="player"></param>
            <returns></returns>
        </member>
        <member name="F:TShockAPI.Handlers.NetModules.CreativePowerHandler.PowerToPermissionMap">
            <summary>
            Maps creative powers to permission nodes
            </summary>
        </member>
        <member name="F:TShockAPI.Handlers.NetModules.CreativePowerHandler.PermissionToDescriptionMap">
            <summary>
            Maps journey mode permission nodes to descriptions of what the permission allows
            </summary>
        </member>
        <member name="T:TShockAPI.Handlers.NetModules.CreativeUnlocksHandler">
            <summary>
            Handles creative unlock requests
            </summary>
        </member>
        <member name="P:TShockAPI.Handlers.NetModules.CreativeUnlocksHandler.UnknownField">
            <summary>
            An unknown field. If this does not have a value of '0' the packet should be rejected.
            </summary>
        </member>
        <member name="P:TShockAPI.Handlers.NetModules.CreativeUnlocksHandler.ItemId">
            <summary>
            ID of the item being sacrificed
            </summary>
        </member>
        <member name="P:TShockAPI.Handlers.NetModules.CreativeUnlocksHandler.Amount">
            <summary>
            Stack size of the item being sacrificed
            </summary>
        </member>
        <member name="M:TShockAPI.Handlers.NetModules.CreativeUnlocksHandler.Deserialize(System.IO.MemoryStream)">
            <summary>
            Reads the unlock data from the stream
            </summary>
            <param name="data"></param>
        </member>
        <member name="M:TShockAPI.Handlers.NetModules.CreativeUnlocksHandler.HandlePacket(TShockAPI.TSPlayer,System.Boolean@)">
            <summary>
            Determines if the unlock is valid and the player has permission to perform the unlock.
            Syncs unlock status if the packet is accepted
            </summary>
            <param name="player"></param>
            <param name="rejectPacket"></param>
        </member>
        <member name="T:TShockAPI.Handlers.NetModules.INetModuleHandler">
            <summary>
            Describes a handler for a net module
            </summary>
        </member>
        <member name="M:TShockAPI.Handlers.NetModules.INetModuleHandler.Deserialize(System.IO.MemoryStream)">
            <summary>
            Reads the net module's data from the given stream
            </summary>
            <param name="data"></param>
        </member>
        <member name="M:TShockAPI.Handlers.NetModules.INetModuleHandler.HandlePacket(TShockAPI.TSPlayer,System.Boolean@)">
            <summary>
            Provides handling for the packet and determines if it should be accepted or rejected
            </summary>
            <param name="player"></param>
            <param name="rejectPacket"></param>
        </member>
        <member name="T:TShockAPI.Handlers.NetModules.LiquidHandler">
            <summary>
            Handles the NetLiquidModule. Rejects all incoming net liquid requests, as clients should never send them
            </summary>
        </member>
        <member name="M:TShockAPI.Handlers.NetModules.LiquidHandler.Deserialize(System.IO.MemoryStream)">
            <summary>
            Does nothing. We should not deserialize this data
            </summary>
            <param name="data"></param>
        </member>
        <member name="M:TShockAPI.Handlers.NetModules.LiquidHandler.HandlePacket(TShockAPI.TSPlayer,System.Boolean@)">
            <summary>
            Rejects the packet. Clients should not send this to us
            </summary>
            <param name="player"></param>
            <param name="rejectPacket"></param>
        </member>
        <member name="T:TShockAPI.Handlers.NetModules.NetModulePacketHandler">
            <summary>
            Handles packet 82 - Load Net Module packets
            </summary>
        </member>
        <member name="F:TShockAPI.Handlers.NetModules.NetModulePacketHandler.NetModulesToHandlersMap">
            <summary>
            Maps net module types to handlers for the net module type. Add to or edit this dictionary to customise handling
            </summary>
        </member>
        <member name="M:TShockAPI.Handlers.NetModules.NetModulePacketHandler.OnReceive(System.Object,TShockAPI.GetDataHandlers.ReadNetModuleEventArgs)">
            <summary>
            Invoked when a load net module packet is received. This method picks a <see cref="T:TShockAPI.Handlers.NetModules.INetModuleHandler"/> based on the
            net module type being loaded, then forwards the data to the chosen handler to process
            </summary>
            <param name="sender"></param>
            <param name="args"></param>
        </member>
        <member name="T:TShockAPI.Handlers.NetModules.PylonHandler">
            <summary>
            Handles a pylon net module
            </summary>
        </member>
        <member name="P:TShockAPI.Handlers.NetModules.PylonHandler.PylonEventType">
            <summary>
            Event occurring
            </summary>
        </member>
        <member name="P:TShockAPI.Handlers.NetModules.PylonHandler.TileX">
            <summary>
            Tile X coordinate of the pylon
            </summary>
        </member>
        <member name="P:TShockAPI.Handlers.NetModules.PylonHandler.TileY">
            <summary>
            Tile Y coordinate of the pylon
            </summary>
        </member>
        <member name="P:TShockAPI.Handlers.NetModules.PylonHandler.PylonType">
            <summary>
            Type of Pylon
            </summary>
        </member>
        <member name="M:TShockAPI.Handlers.NetModules.PylonHandler.Deserialize(System.IO.MemoryStream)">
            <summary>
            Reads the pylon data from the net module
            </summary>
            <param name="data"></param>
        </member>
        <member name="M:TShockAPI.Handlers.NetModules.PylonHandler.HandlePacket(TShockAPI.TSPlayer,System.Boolean@)">
            <summary>
            Rejects a pylon teleport request if the player does not have permission
            </summary>
            <param name="player"></param>
            <param name="rejectPacket"></param>
        </member>
        <member name="T:TShockAPI.Handlers.RequestTileEntityInteractionHandler">
             <summary>
            
             </summary>
        </member>
        <member name="T:TShockAPI.Handlers.SendTileRectHandler">
            <summary>
            Provides processors for handling Tile Rect packets
            </summary>
        </member>
        <member name="F:TShockAPI.Handlers.SendTileRectHandler.FlowerBootPlantToGrassMap">
            <summary>
            Maps plant tile types to their valid grass ground tiles when using flower boots
            </summary>
        </member>
        <member name="F:TShockAPI.Handlers.SendTileRectHandler.FlowerBootPlantToStyleMap">
            <summary>
            Maps plant tile types to a list of valid styles, which are used to determine the FrameX value of the plant tile
            See `Player.DoBootsEffect_PlaceFlowersOnTile`
            </summary>
        </member>
        <member name="F:TShockAPI.Handlers.SendTileRectHandler.FlowerBootItems">
            <summary>
            Item IDs that can spawn flowers while you walk
            </summary>
        </member>
        <member name="F:TShockAPI.Handlers.SendTileRectHandler.TileEntityIdToTileIdMap">
            <summary>
            Maps TileIDs to Tile Entity IDs.
            Note: <see cref="T:Terraria.ID.TileEntityID"/> is empty at the time of writing, but entities are dynamically assigned their ID at initialize time
            which is why we can use the _myEntityId field on each entity type
            </summary>
        </member>
        <member name="M:TShockAPI.Handlers.SendTileRectHandler.OnReceive(System.Object,TShockAPI.GetDataHandlers.SendTileRectEventArgs)">
            <summary>
            Invoked when a SendTileRect packet is received
            </summary>
            <param name="sender"></param>
            <param name="args"></param>
        </member>
        <member name="M:TShockAPI.Handlers.SendTileRectHandler.IterateTileRect(TShockAPI.Net.NetTile[0:,0:],System.Boolean[0:,0:],TShockAPI.GetDataHandlers.SendTileRectEventArgs)">
            <summary>
            Iterates over each tile in the tile rectangle and performs processing on individual tiles or multi-tile Tile Objects
            </summary>
            <param name="tiles"></param>
            <param name="processed"></param>
            <param name="args"></param>
        </member>
        <member name="M:TShockAPI.Handlers.SendTileRectHandler.ProcessTileObject(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,TShockAPI.Net.NetTile[0:,0:],TShockAPI.GetDataHandlers.SendTileRectEventArgs)">
            <summary>
            Processes a tile object consisting of multiple tiles from the tile rect packet
            </summary>
            <param name="tileType">The tile type the object is comprised of</param>
            <param name="newTiles">2D array of NetTile containing the new tiles properties</param>
            <param name="realX">X position at the top left of the object</param>
            <param name="realY">Y position at the top left of the object</param>
            <param name="width">Width of the tile object</param>
            <param name="height">Height of the tile object</param>
            <param name="args">SendTileRectEventArgs containing event information</param>
        </member>
        <member name="M:TShockAPI.Handlers.SendTileRectHandler.ProcessSingleTile(System.Int32,System.Int32,TShockAPI.Net.NetTile,System.Byte,System.Byte,TShockAPI.GetDataHandlers.SendTileRectEventArgs)">
            <summary>
            Processes a single tile from the tile rect packet
            </summary>
            <param name="realX">X position at the top left of the object</param>
            <param name="realY">Y position at the top left of the object</param>
            <param name="newTile">The NetTile containing new tile properties</param>
            <param name="rectWidth">The width of the rectangle being processed</param>
            <param name="rectLength">The length of the rectangle being processed</param>
            <param name="args">SendTileRectEventArgs containing event information</param>
        </member>
        <member name="M:TShockAPI.Handlers.SendTileRectHandler.ProcessFlowerBoots(System.Int32,System.Int32,TShockAPI.Net.NetTile)">
            <summary>
            Applies changes to a tile if a tile rect for flower-growing boots is valid
            </summary>
            <param name="realX">The tile x position of the tile rect packet - this is where the flowers are intending to grow</param>
            <param name="realY">The tile y position of the tile rect packet - this is where the flowers are intending to grow</param>
            <param name="newTile">The NetTile containing information about the flowers that are being grown</param>
        </member>
        <member name="M:TShockAPI.Handlers.SendTileRectHandler.ProcessConversionSpreads(Terraria.ITile,TShockAPI.Net.NetTile)">
            <summary>
            Updates a single tile on the server if it is a valid conversion from one tile or wall type to another (eg stone -> corrupt stone)
            </summary>
            <param name="tile">The tile to update</param>
            <param name="newTile">The NetTile containing new tile properties</param>
        </member>
        <member name="M:TShockAPI.Handlers.SendTileRectHandler.UpdateServerTileState(Terraria.ITile,TShockAPI.Net.NetTile,Terraria.DataStructures.TileDataType)">
            <summary>
            Updates a single tile's world state with a set of changes from the networked tile state
            </summary>
            <param name="tile">The tile to update</param>
            <param name="newTile">The NetTile containing the change</param>
            <param name="updateType">The type of data to merge into world state</param>
        </member>
        <member name="M:TShockAPI.Handlers.SendTileRectHandler.UpdateMultipleServerTileStates(System.Int32,System.Int32,System.Int32,System.Int32,TShockAPI.Net.NetTile[0:,0:])">
            <summary>
            Performs <see cref="M:TShockAPI.Handlers.SendTileRectHandler.UpdateServerTileState(Terraria.ITile,TShockAPI.Net.NetTile,Terraria.DataStructures.TileDataType)"/> on multiple tiles
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="width"></param>
            <param name="height"></param>
            <param name="newTiles"></param>
        </member>
        <member name="M:TShockAPI.Handlers.SendTileRectHandler.ReadNetTilesFromStream(System.IO.MemoryStream,System.Byte,System.Byte)">
            <summary>
            Reads a set of NetTiles from a memory stream
            </summary>
            <param name="stream"></param>
            <param name="width"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.Handlers.SendTileRectHandler.ShouldSkipProcessing(TShockAPI.GetDataHandlers.SendTileRectEventArgs)">
            <summary>
            Determines whether or not the tile rect should be immediately accepted or rejected
            </summary>
            <param name="args"></param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.Handlers.SendTileRectHandler.DoesTileObjectFitInTileRect(System.Int32,System.Int32,System.Int32,System.Int32,System.Int16,System.Int16,System.Boolean[0:,0:])">
            <summary>
            Checks if a tile object fits inside the dimensions of a tile rectangle
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="width"></param>
            <param name="height"></param>
            <param name="rectWidth"></param>
            <param name="rectLength"></param>
            <param name="processed"></param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.Handlers.SendTileRectHandler.Debug.VisualiseTileSetDiff(System.Int32,System.Int32,System.Int32,System.Int32,TShockAPI.Net.NetTile[0:,0:])">
            <summary>
            Displays the difference in IDs between existing tiles and a set of NetTiles to the console
            </summary>
            <param name="tileX">X position at the top left of the rect</param>
            <param name="tileY">Y position at the top left of the rect</param>
            <param name="width">Width of the NetTile set</param>
            <param name="height">Height of the NetTile set</param>
            <param name="newTiles">New tiles to be visualised</param>
        </member>
        <member name="M:TShockAPI.Handlers.SendTileRectHandler.Debug.DisplayTileSetInGame(System.Int16,System.Int16,System.Byte,System.Byte,TShockAPI.Net.NetTile[0:,0:],TShockAPI.TSPlayer)">
            <summary>
            Sends a tile rect at the given (tileX, tileY) coordinate, using the given set of NetTiles information to update the tile rect
            </summary>
            <param name="tileX">X position at the top left of the rect</param>
            <param name="tileY">Y position at the top left of the rect</param>
            <param name="width">Width of the NetTile set</param>
            <param name="height">Height of the NetTile set</param>
            <param name="newTiles">New tiles to place in the rect</param>
            <param name="player">Player to send the debug display to</param>
        </member>
        <member name="M:TShockAPI.Handlers.SyncTilePickingHandler.OnReceive(System.Object,TShockAPI.GetDataHandlers.SyncTilePickingEventArgs)">
            <summary>
            Invoked when player damages a tile. Rejects the packet if its out of world bounds.
            </summary>
            <param name="sender"></param>
            <param name="args"></param>
        </member>
        <member name="T:TShockAPI.Hooks.PlayerPostLoginEventArgs">
            <summary>
            EventArgs used for the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerPostLogin"/> event.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerPostLoginEventArgs.Player">
            <summary>
            The player who fired the event.
            </summary>
        </member>
        <member name="M:TShockAPI.Hooks.PlayerPostLoginEventArgs.#ctor(TShockAPI.TSPlayer)">
            <summary>
            Initializes a new instance of the PlayerPostLoginEventArgs class.
            </summary>
            <param name="ply">The player who fired the event.</param>
        </member>
        <member name="T:TShockAPI.Hooks.PlayerPreLoginEventArgs">
            <summary>
            EventArgs used for the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerPreLogin"/> event.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerPreLoginEventArgs.Player">
            <summary>
            The player who fired the event.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerPreLoginEventArgs.LoginName">
            <summary>
            The player's login name.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerPreLoginEventArgs.Password">
            <summary>
            The player's raw password.
            </summary>
        </member>
        <member name="T:TShockAPI.Hooks.PlayerLogoutEventArgs">
            <summary>
            EventArgs used for the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerLogout"/> event.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerLogoutEventArgs.Player">
            <summary>
            The player who fired the event.
            </summary>
        </member>
        <member name="M:TShockAPI.Hooks.PlayerLogoutEventArgs.#ctor(TShockAPI.TSPlayer)">
            <summary>
            Initializes a new instance of the PlayerLogoutEventArgs class.
            </summary>
            <param name="player">The player who fired the event.</param>
        </member>
        <member name="T:TShockAPI.Hooks.PlayerCommandEventArgs">
            <summary>
            EventArgs used for the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerCommand"/> event.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerCommandEventArgs.Player">
            <summary>
            The player who fired the event.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerCommandEventArgs.CommandName">
            <summary>
            The command's name that follows the <see cref="P:TShockAPI.Commands.Specifier"/>.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerCommandEventArgs.CommandText">
            <summary>
            The command's full text.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerCommandEventArgs.Parameters">
            <summary>
            The command's parameters extracted from <see cref="P:TShockAPI.Hooks.PlayerCommandEventArgs.CommandText"/>.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerCommandEventArgs.CommandList">
            <summary>
            The full list of server commands.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerCommandEventArgs.CommandPrefix">
            <summary>
            The prefix used to send the command (either <see cref="P:TShockAPI.Commands.Specifier"/> or <see cref="P:TShockAPI.Commands.SilentSpecifier"/>).
            </summary>
        </member>
        <member name="T:TShockAPI.Hooks.PlayerChatEventArgs">
            <summary>
            EventArgs used for the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerChat"/> event.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerChatEventArgs.Player">
            <summary>
            The player who fired the event.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerChatEventArgs.RawText">
            <summary>
            The raw chat text as received by the server.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerChatEventArgs.TShockFormattedText">
            <summary>
            The <see cref="P:TShockAPI.Hooks.PlayerChatEventArgs.RawText"/> string after being formatted by TShock as specified in the config file.
            </summary>
        </member>
        <member name="T:TShockAPI.Hooks.PlayerPermissionEventArgs">
            <summary>
            EventArgs used for the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerPermission"/> event.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerPermissionEventArgs.Player">
            <summary>
            The player who fired the event.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerPermissionEventArgs.Permission">
            <summary>
            The permission being checked.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerPermissionEventArgs.Result">
            <summary>
            <see cref="T:TShockAPI.Hooks.PermissionHookResult"/> of the hook.
            </summary>
        </member>
        <member name="M:TShockAPI.Hooks.PlayerPermissionEventArgs.#ctor(TShockAPI.TSPlayer,System.String)">
            <summary>
            Initializes a new instance of the PlayerPermissionEventArgs class.
            </summary>
            <param name="player">The player who fired the event.</param>
            <param name="permission">The permission being checked.</param>
        </member>
        <member name="T:TShockAPI.Hooks.PlayerItembanPermissionEventArgs">
            <summary>
            EventArgs used for the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerItembanPermission"/> event.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerItembanPermissionEventArgs.Player">
            <summary>
            The player who fired the event.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerItembanPermissionEventArgs.BannedItem">
            <summary>
            The banned item being checked.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerItembanPermissionEventArgs.Result">
            <summary>
            <see cref="T:TShockAPI.Hooks.PermissionHookResult"/> of the hook.
            </summary>
        </member>
        <member name="M:TShockAPI.Hooks.PlayerItembanPermissionEventArgs.#ctor(TShockAPI.TSPlayer,TShockAPI.DB.ItemBan)">
            <summary>
            Initializes a new instance of the PlayerItembanPermissionEventArgs class.
            </summary>
            <param name="player">The player who fired the event.</param>
            <param name="bannedItem">The banned item being checked.</param>
        </member>
        <member name="T:TShockAPI.Hooks.PlayerProjbanPermissionEventArgs">
            <summary>
            EventArgs used for the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerProjbanPermission"/> event.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerProjbanPermissionEventArgs.Player">
            <summary>
            The player who fired the event.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerProjbanPermissionEventArgs.BannedProjectile">
            <summary>
            The banned projectile being checked.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerProjbanPermissionEventArgs.Result">
            <summary>
            <see cref="T:TShockAPI.Hooks.PermissionHookResult"/> of the hook.
            </summary>
        </member>
        <member name="M:TShockAPI.Hooks.PlayerProjbanPermissionEventArgs.#ctor(TShockAPI.TSPlayer,TShockAPI.DB.ProjectileBan)">
            <summary>
            Initializes a new instance of the PlayerProjbanPermissionEventArgs class.
            </summary>
            <param name="player">The player who fired the event.</param>
            <param name="checkedProjectile">The banned projectile being checked.</param>
        </member>
        <member name="T:TShockAPI.Hooks.PlayerTilebanPermissionEventArgs">
            <summary>
            EventArgs used for the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerTilebanPermission"/> event.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerTilebanPermissionEventArgs.Player">
            <summary>
            The player who fired the event.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerTilebanPermissionEventArgs.BannedTile">
            <summary>
            The banned tile being checked.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerTilebanPermissionEventArgs.Result">
            <summary>
            <see cref="T:TShockAPI.Hooks.PermissionHookResult"/> of the hook.
            </summary>
        </member>
        <member name="M:TShockAPI.Hooks.PlayerTilebanPermissionEventArgs.#ctor(TShockAPI.TSPlayer,TShockAPI.DB.TileBan)">
            <summary>
            Initializes a new instance of the PlayerTilebanPermissionEventArgs class.
            </summary>
            <param name="player">The player who fired the event.</param>
            <param name="checkedTile">The banned tile being checked.</param>
        </member>
        <member name="T:TShockAPI.Hooks.PlayerHasBuildPermissionEventArgs">
            <summary>
            EventArgs used for the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerHasBuildPermission"/> event.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerHasBuildPermissionEventArgs.Player">
            <summary>
            The player who fired the event.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerHasBuildPermissionEventArgs.X">
            <summary>
            The X coordinate being checked.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerHasBuildPermissionEventArgs.Y">
            <summary>
            The Y coordinate being checked.
            </summary>
        </member>
        <member name="P:TShockAPI.Hooks.PlayerHasBuildPermissionEventArgs.Result">
            <summary>
            <see cref="T:TShockAPI.Hooks.PermissionHookResult"/> of the hook.
            </summary>
        </member>
        <member name="T:TShockAPI.Hooks.PlayerHooks">
            <summary>
            A collection of events fired by players that can be hooked to.
            </summary>
        </member>
        <member name="T:TShockAPI.Hooks.PlayerHooks.PlayerPostLoginD">
            <summary>
            The delegate of the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerPostLogin"/> event.
            </summary>
            <param name="e">The EventArgs for this event.</param>
        </member>
        <member name="E:TShockAPI.Hooks.PlayerHooks.PlayerPostLogin">
            <summary>
            Fired by players after they've successfully logged in to a user account.
            </summary>
        </member>
        <member name="T:TShockAPI.Hooks.PlayerHooks.PlayerPreLoginD">
            <summary>
            The delegate of the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerPreLogin"/> event.
            </summary>
            <param name="e">The EventArgs for this event.</param>
        </member>
        <member name="E:TShockAPI.Hooks.PlayerHooks.PlayerPreLogin">
            <summary>
            Fired by players when sending login credentials to the server.
            </summary>
        </member>
        <member name="T:TShockAPI.Hooks.PlayerHooks.PlayerLogoutD">
            <summary>
            The delegate of the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerLogout"/> event.
            </summary>
            <param name="e">The EventArgs for this event.</param>
        </member>
        <member name="E:TShockAPI.Hooks.PlayerHooks.PlayerLogout">
            <summary>
            Fired by players upon logging out from a user account.
            </summary>
        </member>
        <member name="T:TShockAPI.Hooks.PlayerHooks.PlayerCommandD">
            <summary>
            The delegate of the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerCommand"/> event.
            </summary>
            <param name="e">The EventArgs for this event.</param>
        </member>
        <member name="E:TShockAPI.Hooks.PlayerHooks.PlayerCommand">
            <summary>
            Fired by players when using a command.
            </summary>
        </member>
        <member name="T:TShockAPI.Hooks.PlayerHooks.PlayerChatD">
            <summary>
            The delegate of the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerChat"/> event.
            </summary>
            <param name="e">The EventArgs for this event.</param>
        </member>
        <member name="E:TShockAPI.Hooks.PlayerHooks.PlayerChat">
            <summary>
            Fired by players when they send a chat message packet to the server
            and before it is transmitted to the rest of the players.
            </summary>
        </member>
        <member name="T:TShockAPI.Hooks.PlayerHooks.PlayerPermissionD">
            <summary>
            The delegate of the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerPermission"/> event.
            </summary>
            <param name="e">The EventArgs for this event.</param>
        </member>
        <member name="E:TShockAPI.Hooks.PlayerHooks.PlayerPermission">
            <summary>
            Fired by players every time a permission check involving them occurs.
            </summary>
        </member>
        <member name="T:TShockAPI.Hooks.PlayerHooks.PlayerItembanPermissionD">
            <summary>
            The delegate of the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerItembanPermission"/> event.
            </summary>
            <param name="e">The EventArgs for this event.</param>
        </member>
        <member name="E:TShockAPI.Hooks.PlayerHooks.PlayerItembanPermission">
            <summary>
            Fired by players every time a permission check on banned items involving them occurs.
            </summary>
        </member>
        <member name="T:TShockAPI.Hooks.PlayerHooks.PlayerProjbanPermissionD">
            <summary>
            The delegate of the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerProjbanPermission"/> event.
            </summary>
            <param name="e">The EventArgs for this event.</param>
        </member>
        <member name="E:TShockAPI.Hooks.PlayerHooks.PlayerProjbanPermission">
            <summary>
            Fired by players every time a permission check on banned projectiles involving them occurs.
            </summary>
        </member>
        <member name="T:TShockAPI.Hooks.PlayerHooks.PlayerTilebanPermissionD">
            <summary>
            The delegate of the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerTilebanPermission"/> event.
            </summary>
            <param name="e">The EventArgs for this event.</param>
        </member>
        <member name="E:TShockAPI.Hooks.PlayerHooks.PlayerTilebanPermission">
            <summary>
            Fired by players every time a permission check on banned tiles involving them occurs.
            </summary>
        </member>
        <member name="T:TShockAPI.Hooks.PlayerHooks.PlayerHasBuildPermissionD">
            <summary>
            The delegate of the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerHasBuildPermission"/> event.
            </summary>
            <param name="e">The EventArgs for this event.</param>
        </member>
        <member name="E:TShockAPI.Hooks.PlayerHooks.PlayerHasBuildPermission">
            <summary>
            Fired by players every time a build permission check occurs.
            </summary>
        </member>
        <member name="M:TShockAPI.Hooks.PlayerHooks.OnPlayerPostLogin(TShockAPI.TSPlayer)">
            <summary>
            Fires the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerPostLogin"/> event.
            </summary>
            <param name="ply">The player firing the event.</param>
        </member>
        <member name="M:TShockAPI.Hooks.PlayerHooks.OnPlayerCommand(TShockAPI.TSPlayer,System.String,System.String,System.Collections.Generic.List{System.String},System.Collections.Generic.IEnumerable{TShockAPI.Command}@,System.String)">
            <summary>
            Fires the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerCommand"/> event.
            </summary>
            <param name="player">The player firing the event.</param>
            <param name="cmdName">The command name.</param>
            <param name="cmdText">The raw command text.</param>
            <param name="args">The command args extracted from the command text.</param>
            <param name="commands">The list of commands.</param>
            <param name="cmdPrefix">The command specifier used.</param>
            <returns>True if the event has been handled.</returns>
        </member>
        <member name="M:TShockAPI.Hooks.PlayerHooks.OnPlayerPreLogin(TShockAPI.TSPlayer,System.String,System.String)">
            <summary>
            Fires the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerPreLogin"/> event.
            </summary>
            <param name="ply">The player firing the event.</param>
            <param name="name">The user name.</param>
            <param name="pass">The password.</param>
            <returns>True if the event has been handled.</returns>
        </member>
        <member name="M:TShockAPI.Hooks.PlayerHooks.OnPlayerLogout(TShockAPI.TSPlayer)">
            <summary>
            Fires the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerLogout"/> event.
            </summary>
            <param name="ply">The player firing the event.</param>
        </member>
        <member name="M:TShockAPI.Hooks.PlayerHooks.OnPlayerChat(TShockAPI.TSPlayer,System.String,System.String@)">
            <summary>
            Fires the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerChat"/> event.
            </summary>
            <param name="ply">The player firing the event.</param>
            <param name="rawtext">The raw chat text sent by the player.</param>
            <param name="tshockText">The chat text after being formatted.</param>
        </member>
        <member name="M:TShockAPI.Hooks.PlayerHooks.OnPlayerPermission(TShockAPI.TSPlayer,System.String)">
            <summary>
            Fires the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerPermission"/> event.
            </summary>
            <param name="player">The player firing the event.</param>
            <returns>Event result if the event has been handled, otherwise <see cref="F:TShockAPI.Hooks.PermissionHookResult.Unhandled"/>.</returns>
        </member>
        <member name="M:TShockAPI.Hooks.PlayerHooks.OnPlayerItembanPermission(TShockAPI.TSPlayer,TShockAPI.DB.ItemBan)">
            <summary>
            Fires the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerItembanPermission"/> event.
            </summary>
            <param name="player">The player firing the event.</param>
            <returns>Event result if the event has been handled, otherwise <see cref="F:TShockAPI.Hooks.PermissionHookResult.Unhandled"/>.</returns>
        </member>
        <member name="M:TShockAPI.Hooks.PlayerHooks.OnPlayerProjbanPermission(TShockAPI.TSPlayer,TShockAPI.DB.ProjectileBan)">
            <summary>
            Fires the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerProjbanPermission"/> event.
            </summary>
            <param name="player">The player firing the event.</param>
            <returns>Event result if the event has been handled, otherwise <see cref="F:TShockAPI.Hooks.PermissionHookResult.Unhandled"/>.</returns>
        </member>
        <member name="M:TShockAPI.Hooks.PlayerHooks.OnPlayerTilebanPermission(TShockAPI.TSPlayer,TShockAPI.DB.TileBan)">
            <summary>
            Fires the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerTilebanPermission"/> event.
            </summary>
            <param name="player">The player firing the event.</param>
            <returns>Event result if the event has been handled, otherwise <see cref="F:TShockAPI.Hooks.PermissionHookResult.Unhandled"/>.</returns>
        </member>
        <member name="M:TShockAPI.Hooks.PlayerHooks.OnPlayerHasBuildPermission(TShockAPI.TSPlayer,System.Int32,System.Int32)">
            <summary>
            Fires the <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerHasBuildPermission"/> event.
            </summary>
            <param name="player">The player firing the event.</param>
            <returns>Event result if the event has been handled, otherwise <see cref="F:TShockAPI.Hooks.PermissionHookResult.Unhandled"/>.</returns>
        </member>
        <member name="T:TShockAPI.Hooks.PermissionHookResult">
            <summary>
            Defines the possible outcomes of <see cref="E:TShockAPI.Hooks.PlayerHooks.PlayerPermission"/> handlers.
            </summary>
        </member>
        <member name="F:TShockAPI.Hooks.PermissionHookResult.Unhandled">
            <summary>Hook doesn't return a result on the permission check.</summary>
        </member>
        <member name="F:TShockAPI.Hooks.PermissionHookResult.Denied">
            <summary>Permission is explicitly denied by a hook.</summary>
        </member>
        <member name="F:TShockAPI.Hooks.PermissionHookResult.Granted">
            <summary>Permission is explicitly granted by a hook.</summary>
        </member>
        <member name="F:TShockAPI.I18n.C">
            <value>Instance of a <c>GetText.Catalog</c> loaded with TShockAPI translations for user's specified language</value>
        </member>
        <member name="M:TShockAPI.I18n.GetString(GetText.FormattableStringAdapter)">
            <summary>
            Returns <paramref name="text"/> translated into the selected language.
            Similar to <c>gettext</c> function.
            </summary>
            <param name="text">Text to translate.</param>
            <returns>Translated text.</returns>
        </member>
        <member name="M:TShockAPI.I18n.GetString(System.FormattableString)">
            <summary>
            Returns <paramref name="text"/> translated into the selected language.
            Similar to <c>gettext</c> function.
            </summary>
            <param name="text">Text to translate.</param>
            <returns>Translated text.</returns>
        </member>
        <member name="M:TShockAPI.I18n.GetString(GetText.FormattableStringAdapter,System.Object[])">
            <summary>
            Returns <paramref name="text"/> translated into the selected language.
            Similar to <c>gettext</c> function.
            </summary>
            <param name="text">Text to translate.</param>
            <param name="args">Optional arguments for <see cref="M:System.String.Format(System.String,System.Object[])"/> method.</param>
            <returns>Translated text.</returns>
        </member>
        <member name="M:TShockAPI.I18n.GetPluralString(GetText.FormattableStringAdapter,GetText.FormattableStringAdapter,System.Int64)">
            <summary>
            Returns the plural form for <paramref name="n"/> of the translation of <paramref name="text"/>.
            Similar to <c>gettext</c> function.
            </summary>
            <param name="text">Singular form of message to translate.</param>
            <param name="pluralText">Plural form of message to translate.</param>
            <param name="n">Value that determines the plural form.</param>
            <returns>Translated text.</returns>
        </member>
        <member name="M:TShockAPI.I18n.GetPluralString(System.FormattableString,System.FormattableString,System.Int64)">
            <summary>
            Returns the plural form for <paramref name="n"/> of the translation of <paramref name="text"/>.
            Similar to <c>gettext</c> function.
            </summary>
            <param name="text">Singular form of message to translate.</param>
            <param name="pluralText">Plural form of message to translate.</param>
            <param name="n">Value that determines the plural form.</param>
            <returns>Translated text.</returns>
        </member>
        <member name="M:TShockAPI.I18n.GetPluralString(GetText.FormattableStringAdapter,GetText.FormattableStringAdapter,System.Int64,System.Object[])">
            <summary>
            Returns the plural form for <paramref name="n"/> of the translation of <paramref name="text"/>.
            Similar to <c>gettext</c> function.
            </summary>
            <param name="text">Singular form of message to translate.</param>
            <param name="pluralText">Plural form of message to translate.</param>
            <param name="n">Value that determines the plural form.</param>
            <param name="args">Optional arguments for <see cref="M:System.String.Format(System.String,System.Object[])"/> method.</param>
            <returns>Translated text.</returns>
        </member>
        <member name="M:TShockAPI.I18n.GetParticularString(System.String,GetText.FormattableStringAdapter)">
            <summary>
            Returns <paramref name="text"/> translated into the selected language using given <paramref name="context"/>.
            Similar to <c>pgettext</c> function.
            </summary>
            <param name="context">Context.</param>
            <param name="text">Text to translate.</param>
            <returns>Translated text.</returns>
        </member>
        <member name="M:TShockAPI.I18n.GetParticularString(System.String,System.FormattableString)">
            <summary>
            Returns <paramref name="text"/> translated into the selected language using given <paramref name="context"/>.
            Similar to <c>pgettext</c> function.
            </summary>
            <param name="context">Context.</param>
            <param name="text">Text to translate.</param>
            <returns>Translated text.</returns>
        </member>
        <member name="M:TShockAPI.I18n.GetParticularString(System.String,GetText.FormattableStringAdapter,System.Object[])">
            <summary>
            Returns <paramref name="text"/> translated into the selected language using given <paramref name="context"/>.
            Similar to <c>pgettext</c> function.
            </summary>
            <param name="context">Context.</param>
            <param name="text">Text to translate.</param>
            <param name="args">Optional arguments for <see cref="M:System.String.Format(System.String,System.Object[])"/> method.</param>
            <returns>Translated text.</returns>
        </member>
        <member name="M:TShockAPI.I18n.GetParticularPluralString(System.String,GetText.FormattableStringAdapter,GetText.FormattableStringAdapter,System.Int64)">
            <summary>
            Returns the plural form for <paramref name="n"/> of the translation of <paramref name="text"/> using given <paramref name="context"/>.
            Similar to <c>npgettext</c> function.
            </summary>
            <param name="context">Context.</param>
            <param name="text">Singular form of message to translate.</param>
            <param name="pluralText">Plural form of message to translate.</param>
            <param name="n">Value that determines the plural form.</param>
            <returns>Translated text.</returns>
        </member>
        <member name="M:TShockAPI.I18n.GetParticularPluralString(System.String,System.FormattableString,System.FormattableString,System.Int64)">
            <summary>
            Returns the plural form for <paramref name="n"/> of the translation of <paramref name="text"/> using given <paramref name="context"/>.
            Similar to <c>npgettext</c> function.
            </summary>
            <param name="context">Context.</param>
            <param name="text">Singular form of message to translate.</param>
            <param name="pluralText">Plural form of message to translate.</param>
            <param name="n">Value that determines the plural form.</param>
            <returns>Translated text.</returns>
        </member>
        <member name="M:TShockAPI.I18n.GetParticularPluralString(System.String,GetText.FormattableStringAdapter,GetText.FormattableStringAdapter,System.Int64,System.Object[])">
            <summary>
            Returns the plural form for <paramref name="n"/> of the translation of <paramref name="text"/> using given <paramref name="context"/>.
            Similar to <c>npgettext</c> function.
            </summary>
            <param name="context">Context.</param>
            <param name="text">Singular form of message to translate.</param>
            <param name="pluralText">Plural form of message to translate.</param>
            <param name="n">Value that determines the plural form.</param>
            <param name="args">Optional arguments for <see cref="M:System.String.Format(System.String,System.Object[])"/> method.</param>
            <returns>Translated text.</returns>
        </member>
        <member name="T:TShockAPI.ILog">
            <summary>
            Logging interface
            </summary>
        </member>
        <member name="P:TShockAPI.ILog.FileName">
            <summary>
            Log file name
            </summary>
        </member>
        <member name="M:TShockAPI.ILog.MayWriteType(System.Diagnostics.TraceLevel)">
            <summary>
            Checks whether the log level contains the specified flag.
            </summary>
            <param name="type">The <see cref="T:System.Diagnostics.TraceLevel" /> value to check.</param>
        </member>
        <member name="M:TShockAPI.ILog.ConsoleInfo(System.String)">
            <summary>
            Writes an informative string to the log and to the console.
            </summary>
            <param name="message">The message to be written.</param>
        </member>
        <member name="M:TShockAPI.ILog.ConsoleInfo(System.String,System.Object[])">
            <summary>
            Writes an informative string to the log and to the console.
            </summary>
            <param name="format">The format of the message to be written.</param>
            <param name="args">The format arguments.</param>
        </member>
        <member name="M:TShockAPI.ILog.ConsoleWarn(System.String)">
            <summary>
            Writes a warning message to the log and to the console.
            </summary>
            <param name="message">The message to be written.</param>
        </member>
        <member name="M:TShockAPI.ILog.ConsoleWarn(System.String,System.Object[])">
            <summary>
            Writes a warning message to the log and to the console.
            </summary>
            <param name="format">The format of the message to be written.</param>
            <param name="args">The format arguments.</param>
        </member>
        <member name="M:TShockAPI.ILog.ConsoleError(System.String)">
            <summary>
            Writes an error message to the log and to the console.
            </summary>
            <param name="message">The message to be written.</param>
        </member>
        <member name="M:TShockAPI.ILog.ConsoleError(System.String,System.Object[])">
            <summary>
            Writes an error message to the log and to the console.
            </summary>
            <param name="format">The format of the message to be written.</param>
            <param name="args">The format arguments.</param>
        </member>
        <member name="M:TShockAPI.ILog.Warn(System.String)">
            <summary>
            Writes a warning to the log.
            </summary>
            <param name="message">The message to be written.</param>
        </member>
        <member name="M:TShockAPI.ILog.Warn(System.String,System.Object[])">
            <summary>
            Writes a warning to the log.
            </summary>
            <param name="format">The format of the message to be written.</param>
            <param name="args">The format arguments.</param>
        </member>
        <member name="M:TShockAPI.ILog.Error(System.String)">
            <summary>
            Writes an error to the log.
            </summary>
            <param name="message">The message to be written.</param>
        </member>
        <member name="M:TShockAPI.ILog.Error(System.String,System.Object[])">
            <summary>
            Writes an error to the log.
            </summary>
            <param name="format">The format of the message to be written.</param>
            <param name="args">The format arguments.</param>
        </member>
        <member name="M:TShockAPI.ILog.Info(System.String)">
            <summary>
            Writes an informative string to the log.
            </summary>
            <param name="message">The message to be written.</param>
        </member>
        <member name="M:TShockAPI.ILog.Info(System.String,System.Object[])">
            <summary>
            Writes an informative string to the log.
            </summary>
            <param name="format">The format of the message to be written.</param>
            <param name="args">The format arguments.</param>
        </member>
        <member name="M:TShockAPI.ILog.Data(System.String)">
            <summary>
            Writes data to the log.
            </summary>
            <param name="message">The message to be written.</param>
        </member>
        <member name="M:TShockAPI.ILog.Data(System.String,System.Object[])">
            <summary>
            Writes data to the log.
            </summary>
            <param name="format">The format of the message to be written.</param>
            <param name="args">The format arguments.</param>
        </member>
        <member name="M:TShockAPI.ILog.Write(System.String,System.Diagnostics.TraceLevel)">
            <summary>
            Writes a message to the log
            </summary>
            <param name="message">Message to write</param>
            <param name="level">LogLevel associated with the message</param>
        </member>
        <member name="M:TShockAPI.ILog.ConsoleDebug(System.String)">
            <summary>
            Writes a debug string to the log file and console. Only works if the DebugLogs config option is set to true.
            </summary>
            <param name="message">The message to be written.</param>
        </member>
        <member name="M:TShockAPI.ILog.ConsoleDebug(System.String,System.Object[])">
            <summary>
            Writes a debug string to the log file. Only works if the DebugLogs config option is set to true.
            </summary>
            <param name="message">The message to be written.</param>
        </member>
        <member name="M:TShockAPI.ILog.Debug(System.String)">
            <summary>
            Writes a debug string to the log file. Only works if the DebugLogs config option is set to true.
            </summary>
            <param name="message">The message to be written.</param>
        </member>
        <member name="M:TShockAPI.ILog.Debug(System.String,System.Object[])">
            <summary>
            Writes a debug string to the log file. Only works if the DebugLogs config option is set to true.
            </summary>
            <param name="format">The format of the message to be written.</param>
            <param name="args">The format arguments.</param>
        </member>
        <member name="M:TShockAPI.ILog.Dispose">
            <summary>
            Dispose the Log
            </summary>
        </member>
        <member name="T:TShockAPI.IPackable">
            <summary>
            Derived objects can be written to and read from streams.
            </summary>
        </member>
        <member name="M:TShockAPI.IPackable.Pack(System.IO.Stream)">
            <summary>
            Writes object information to the stream
            </summary>
            <param name="stream">Stream to write to</param>
        </member>
        <member name="M:TShockAPI.IPackable.Unpack(System.IO.Stream)">
            <summary>
            Reads object information from the stream
            </summary>
            <param name="stream">Stream to read from</param>
        </member>
        <member name="T:TShockAPI.ItemBans">
            <summary>The TShock item ban subsystem. It handles keeping things out of people's inventories.</summary>
        </member>
        <member name="F:TShockAPI.ItemBans.DataModel">
            <summary>The database connection layer to for the item ban subsystem.</summary>
        </member>
        <member name="F:TShockAPI.ItemBans.LastTimelyRun">
            <summary>The last time the second update process was run. Used to throttle task execution.</summary>
        </member>
        <member name="F:TShockAPI.ItemBans.Plugin">
            <summary>A reference to the TShock plugin so we can register events.</summary>
        </member>
        <member name="M:TShockAPI.ItemBans.#ctor(TShockAPI.TShock,System.Data.IDbConnection)">
            <summary>Creates an ItemBan system given a plugin to register events to and a database.</summary>
            <param name="plugin">The executing plugin.</param>
            <param name="database">The database the item ban information is stored in.</param>
            <returns>A new item ban system.</returns>
        </member>
        <member name="M:TShockAPI.ItemBans.OnGameUpdate(System.EventArgs)">
            <summary>Called on the game update loop (the XNA tickrate).</summary>
            <param name="args">The standard event arguments.</param>
        </member>
        <member name="M:TShockAPI.ItemBans.OnSecondlyUpdate(System.EventArgs)">
            <summary>Called by OnGameUpdate once per second to execute tasks regularly but not too often.</summary>
            <param name="args">The standard event arguments.</param>
        </member>
        <member name="T:TShockAPI.Localization.EnglishLanguage">
            <summary>
            Provides a series of methods that give English texts
            </summary>
        </member>
        <member name="M:TShockAPI.Localization.EnglishLanguage.GetItemNameById(System.Int32)">
            <summary>
            Get the english name of an item
            </summary>
            <param name="id">Id of the item</param>
            <returns>Item name in English</returns>
        </member>
        <member name="M:TShockAPI.Localization.EnglishLanguage.GetNpcNameById(System.Int32)">
            <summary>
            Get the english name of a npc
            </summary>
            <param name="id">Id of the npc</param>
            <returns>Npc name in English</returns>
        </member>
        <member name="M:TShockAPI.Localization.EnglishLanguage.GetPrefixById(System.Int32)">
            <summary>
            Get prefix in English
            </summary>
            <param name="id">Prefix Id</param>
            <returns>Prefix in English</returns>
        </member>
        <member name="M:TShockAPI.Localization.EnglishLanguage.GetBuffNameById(System.Int32)">
            <summary>
            Get buff name in English
            </summary>
            <param name="id">Buff Id</param>
            <returns>Buff name in English</returns>
        </member>
        <member name="T:TShockAPI.Models.PlayerUpdate.ControlSet">
            <summary>
            Model for a control event sent with a player update packet
            </summary>
        </member>
        <member name="F:TShockAPI.Models.PlayerUpdate.ControlSet.bitsbyte">
            <summary>
            Backing BitsByte field
            </summary>
        </member>
        <member name="P:TShockAPI.Models.PlayerUpdate.ControlSet.MoveUp">
            <summary>
            Gets or Sets the Up flag on the backing field
            </summary>
        </member>
        <member name="P:TShockAPI.Models.PlayerUpdate.ControlSet.MoveDown">
            <summary>
            Gets or Sets the Down flag on the backing field
            </summary>
        </member>
        <member name="P:TShockAPI.Models.PlayerUpdate.ControlSet.MoveLeft">
            <summary>
            Gets or Sets the Left flag on the backing field
            </summary>
        </member>
        <member name="P:TShockAPI.Models.PlayerUpdate.ControlSet.MoveRight">
            <summary>
            Gets or Sets the Right flag on the backing field
            </summary>
        </member>
        <member name="P:TShockAPI.Models.PlayerUpdate.ControlSet.Jump">
            <summary>
            Gets or Sets the Jump flag on the backing field
            </summary>
        </member>
        <member name="P:TShockAPI.Models.PlayerUpdate.ControlSet.IsUsingItem">
            <summary>
            Gets or Sets the ControlUseItem flag on the backing field
            </summary>
        </member>
        <member name="P:TShockAPI.Models.PlayerUpdate.ControlSet.FaceDirection">
            <summary>
            Gets or Sets the Direction flag on the backing field. True = 1, false  = -1
            </summary>
        </member>
        <member name="M:TShockAPI.Models.PlayerUpdate.ControlSet.#ctor(Terraria.BitsByte)">
            <summary>
            Constructs a new instance of ControlsModel with the given backing bitsbyte
            </summary>
            <param name="bitsbyte"></param>
        </member>
        <member name="T:TShockAPI.Models.PlayerUpdate.MiscDataSet1">
            <summary>
            Model for the first set of misc data sent with a player update packet
            </summary>
        </member>
        <member name="F:TShockAPI.Models.PlayerUpdate.MiscDataSet1.bitsbyte">
            <summary>
            Backing BitsByte field
            </summary>
        </member>
        <member name="P:TShockAPI.Models.PlayerUpdate.MiscDataSet1.IsUsingPulley">
            <summary>
            Gets or Sets the Pulley flag on the backing field
            </summary>
        </member>
        <member name="P:TShockAPI.Models.PlayerUpdate.MiscDataSet1.PulleyDirection">
            <summary>
            Gets or Sets the Pulley Direction flag on the backing field. True = 2, false = 1
            </summary>
        </member>
        <member name="P:TShockAPI.Models.PlayerUpdate.MiscDataSet1.HasVelocity">
            <summary>
            Gets or Sets the Velocity > 0 flag on the backing field
            </summary>
        </member>
        <member name="P:TShockAPI.Models.PlayerUpdate.MiscDataSet1.IsVortexStealthActive">
            <summary>
            Gets or Sets the Vortex Stealth flag on the backing field
            </summary>
        </member>
        <member name="P:TShockAPI.Models.PlayerUpdate.MiscDataSet1.GravityDirection">
            <summary>
            Gets or Sets the Gravity Direction flag on the backing field. True = 1, False = -1
            </summary>
        </member>
        <member name="P:TShockAPI.Models.PlayerUpdate.MiscDataSet1.IsShieldRaised">
            <summary>
            Gets or Sets the Shield Raised flag on the backing field
            </summary>
        </member>
        <member name="P:TShockAPI.Models.PlayerUpdate.MiscDataSet1.IsGhosted">
            <summary>
            Gets or Sets the Ghost flag on the backing field
            </summary>
        </member>
        <member name="M:TShockAPI.Models.PlayerUpdate.MiscDataSet1.#ctor(Terraria.BitsByte)">
            <summary>
            Constructs a new instance of MiscDataSet1 with the given backing BitsByte
            </summary>
            <param name="bitsbyte"></param>
        </member>
        <member name="T:TShockAPI.Models.PlayerUpdate.MiscDataSet2">
            <summary>
            Model for the second set of misc data sent with a player update packet
            </summary>
        </member>
        <member name="F:TShockAPI.Models.PlayerUpdate.MiscDataSet2.bitsbyte">
            <summary>
            Backing BitsByte field
            </summary>
        </member>
        <member name="P:TShockAPI.Models.PlayerUpdate.MiscDataSet2.TryHoveringUp">
            <summary>
            Gets or Sets the keepTryingHoverUp flag on the backing field
            </summary>
        </member>
        <member name="P:TShockAPI.Models.PlayerUpdate.MiscDataSet2.IsVoidVaultEnabled">
            <summary>
            Gets or Sets the Void Vault Enabled flag on the backing field
            </summary>
        </member>
        <member name="P:TShockAPI.Models.PlayerUpdate.MiscDataSet2.IsSitting">
            <summary>
            Gets or Sets the Sitting flag on the backing field
            </summary>
        </member>
        <member name="P:TShockAPI.Models.PlayerUpdate.MiscDataSet2.HasDownedDd2Event">
            <summary>
            Gets or Sets the Downed DD2 Event (any difficulty) flag on the backing field
            </summary>
        </member>
        <member name="P:TShockAPI.Models.PlayerUpdate.MiscDataSet2.IsPettingAnimal">
            <summary>
            Gets or Sets the Petting Animal flag on the backing field
            </summary>
        </member>
        <member name="P:TShockAPI.Models.PlayerUpdate.MiscDataSet2.IsPettedAnimalSmall">
            <summary>
            Gets or Sets the Is Petted Animal Small flag on the backing field
            </summary>
        </member>
        <member name="P:TShockAPI.Models.PlayerUpdate.MiscDataSet2.CanReturnWithPotionOfReturn">
            <summary>
            Gets or Sets the Can Return with Potion of Return flag on the backing field
            </summary>
        </member>
        <member name="P:TShockAPI.Models.PlayerUpdate.MiscDataSet2.TryHoveringDown">
            <summary>
            Gets or Sets the keepTryingHoverDown flag on the backing field
            </summary>
        </member>
        <member name="M:TShockAPI.Models.PlayerUpdate.MiscDataSet2.#ctor(Terraria.BitsByte)">
            <summary>
            Constructs a new instance of MiscDataSet2 with the given backing BitsByte
            </summary>
            <param name="bitsbyte"></param>
        </member>
        <member name="T:TShockAPI.Models.PlayerUpdate.MiscDataSet3">
            <summary>
            Model for the third set of misc data sent with a player update packet
            </summary>
        </member>
        <member name="P:TShockAPI.Models.PlayerUpdate.MiscDataSet3.IsSleeping">
            <summary>
            Gets or Sets the Sleeping flag on the backing field
            </summary>
        </member>
        <member name="M:TShockAPI.Models.PlayerUpdate.MiscDataSet3.#ctor(Terraria.BitsByte)">
            <summary>
            Constructs a new instance of MiscDataSet3 with the given backing BitsByte
            </summary>
            <param name="bitsbyte"></param>
        </member>
        <member name="T:TShockAPI.Models.Projectiles.NewProjectileData">
            <summary>
            Model for the data sent with a new projectile packet
            </summary>
        </member>
        <member name="P:TShockAPI.Models.Projectiles.NewProjectileData.AI">
            <summary>
            Gets or Sets the keepTryingHoverDown flag on the backing field
            </summary>
        </member>
        <member name="P:TShockAPI.Models.Projectiles.NewProjectileData.HasDamage">
            <summary>
            Gets or Sets the Damage flag on the backing field
            </summary>
        </member>
        <member name="P:TShockAPI.Models.Projectiles.NewProjectileData.HasKnockback">
            <summary>
            Gets or Sets the Knockback flag on the backing field
            </summary>
        </member>
        <member name="P:TShockAPI.Models.Projectiles.NewProjectileData.HasOriginalDamage">
            <summary>
            Gets or Sets the Original Damage flag on the backing field
            </summary>
        </member>
        <member name="P:TShockAPI.Models.Projectiles.NewProjectileData.HasUUUID">
            <summary>
            Gets or Sets the UUID flag on the backing field
            </summary>
        </member>
        <member name="M:TShockAPI.Models.Projectiles.NewProjectileData.#ctor(Terraria.BitsByte)">
            <summary>
            Constructs a new instance of NewProjectileData with the given backing BitsByte
            </summary>
            <param name="bitsbyte"></param>
        </member>
        <member name="M:TShockAPI.Modules.Module.Initialise">
            <summary>
            Entry point of the module
            </summary>
        </member>
        <member name="M:TShockAPI.Modules.Module.Dispose">
            <summary>
            Resource cleanup, e.g. hooks and events
            </summary>
        </member>
        <member name="M:TShockAPI.Modules.ModuleManager.CollectModules">
            <summary>
            Discovers <see cref="T:TShockAPI.Modules.Module"/> derived classes from across the assembly
            </summary>
            <returns>Type definitions of the modules that can be created</returns>
        </member>
        <member name="M:TShockAPI.Modules.ModuleManager.Initialise(System.Object[])">
            <summary>
            Initialises <see cref="T:TShockAPI.Modules.Module"/> derived classes defined across the assembly
            </summary>
            <param name="parameters">Additional constructor arguments allowed for modules</param>
        </member>
        <member name="M:TShockAPI.Modules.ModuleManager.InitialiseModule(System.Type,System.Object[])">
            <summary>
            Initialises a module by its type definition
            </summary>
            <param name="moduleType">The type of the module</param>
            <param name="parameters">Additional constructor arguments allowed for modules</param>
        </member>
        <member name="M:TShockAPI.Modules.ModuleManager.Dispose">
            <summary>
            Disposes of the module and the manager instance
            </summary>
        </member>
        <member name="F:TShockAPI.Modules.ReduceConsoleSpam._lastStatusText">
            <summary>
            Holds the last status text value, to determine if there is a suitable change to report.
            </summary>
        </member>
        <member name="M:TShockAPI.Modules.ReduceConsoleSpam.OnMainStatusTextChange(System.Object,OTAPI.Hooks.Main.StatusTextChangeArgs)">
            <summary>
            Aims to reduce the amount of console spam by filtering out load/save progress
            </summary>
            <param name="sender"></param>
            <param name="e">OTAPI event</param>
        </member>
        <member name="T:TShockAPI.NetItem">
            <summary>
            Represents an item.
            </summary>
        </member>
        <member name="F:TShockAPI.NetItem.PiggySlots">
            <summary>
            40 - The number of slots in a piggy bank
            </summary>
        </member>
        <member name="F:TShockAPI.NetItem.SafeSlots">
            <summary>
            40 - The number of slots in a safe
            </summary>
        </member>
        <member name="F:TShockAPI.NetItem.ForgeSlots">
            <summary>
            40 - The number of slots in a forge
            </summary>
        </member>
        <member name="F:TShockAPI.NetItem.VoidSlots">
            <summary>
            40 - The number of slots in a void vault
            </summary>
        </member>
        <member name="F:TShockAPI.NetItem.InventorySlots">
            <summary>
            59 - The size of the player's inventory (inventory, coins, ammo, held item)
            </summary>
        </member>
        <member name="F:TShockAPI.NetItem.ArmorSlots">
            <summary>
            20 - The number of armor slots.
            </summary>
        </member>
        <member name="F:TShockAPI.NetItem.MiscEquipSlots">
            <summary>
            5 - The number of other equippable items
            </summary>
        </member>
        <member name="F:TShockAPI.NetItem.DyeSlots">
            <summary>
            10 - The number of dye slots.
            </summary>
        </member>
        <member name="F:TShockAPI.NetItem.MiscDyeSlots">
            <summary>
            5 - The number of other dye slots (for <see cref="F:TShockAPI.NetItem.MiscEquipSlots"/>)
            </summary>
        </member>
        <member name="F:TShockAPI.NetItem.TrashSlots">
            <summary>
            1 - The number of trash can slots.
            </summary>
        </member>
        <member name="F:TShockAPI.NetItem.LoadoutArmorSlots">
            <summary>
            The number of armor slots in a loadout.
            </summary>
        </member>
        <member name="F:TShockAPI.NetItem.LoadoutDyeSlots">
            <summary>
            The number of dye slots in a loadout.
            </summary>
        </member>
        <member name="F:TShockAPI.NetItem.MaxInventory">
            <summary>
            180 - The inventory size (inventory, held item, armour, dies, coins, ammo, piggy, safe, and trash)
            </summary>
        </member>
        <member name="P:TShockAPI.NetItem.NetId">
            <summary>
            Gets the net ID.
            </summary>
        </member>
        <member name="P:TShockAPI.NetItem.PrefixId">
            <summary>
            Gets the prefix.
            </summary>
        </member>
        <member name="P:TShockAPI.NetItem.Stack">
            <summary>
            Gets the stack.
            </summary>
        </member>
        <member name="M:TShockAPI.NetItem.#ctor(System.Int32,System.Int32,System.Byte)">
            <summary>
            Creates a new <see cref="T:TShockAPI.NetItem"/>.
            </summary>
            <param name="netId">The net ID.</param>
            <param name="stack">The stack.</param>
            <param name="prefixId">The prefix ID.</param>
        </member>
        <member name="M:TShockAPI.NetItem.ToString">
            <summary>
            Converts the <see cref="T:TShockAPI.NetItem"/> to a string.
            </summary>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.NetItem.Parse(System.String)">
            <summary>
            Converts a string into a <see cref="T:TShockAPI.NetItem"/>.
            </summary>
            <param name="str">The string.</param>
            <exception cref="T:System.ArgumentNullException"/>
            <exception cref="T:System.FormatException"/>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.NetItem.op_Explicit(Terraria.Item)~TShockAPI.NetItem">
            <summary>
            Converts an <see cref="T:Terraria.Item"/> into a <see cref="T:TShockAPI.NetItem"/>.
            </summary>
            <param name="item">The <see cref="T:Terraria.Item"/>.</param>
            <returns></returns>
        </member>
        <member name="T:TShockAPI.PaginationTools">
            <summary>
            Provides tools for sending paginated output.
            </summary>
        </member>
        <member name="T:TShockAPI.Permissions">
            <summary>Contains the permission nodes used in TShock.</summary>
        </member>
        <member name="M:TShockAPI.Permissions.GetCommands(System.String)">
            <summary>
            Lists all commands associated with a given permission
            </summary>
            <param name="perm">string permission - the permission to get information on</param>
            <returns>List of commands</returns>
        </member>
        <member name="M:TShockAPI.Permissions.DumpDescriptions">
            <summary>
            Dumps the descriptions of each permission to a file in Markdown format.
            </summary>
        </member>
        <member name="M:TShockAPI.PlayerData.StoreSlot(System.Int32,System.Int32,System.Byte,System.Int32)">
            <summary>
            Stores an item at the specific storage slot
            </summary>
            <param name="slot"></param>
            <param name="netID"></param>
            <param name="prefix"></param>
            <param name="stack"></param>
        </member>
        <member name="M:TShockAPI.PlayerData.CopyCharacter(TShockAPI.TSPlayer)">
            <summary>
            Copies a characters data to this object
            </summary>
            <param name="player"></param>
        </member>
        <member name="M:TShockAPI.PlayerData.RestoreCharacter(TShockAPI.TSPlayer)">
            <summary>
            Restores a player's character to the state stored in the database
            </summary>
            <param name="player"></param>
        </member>
        <member name="T:TShockAPI.RegionHandler">
            <summary>
            Represents TShock's Region subsystem. This subsystem is in charge of executing region related logic, such as
            setting temp points or invoking region events.
            </summary>
        </member>
        <member name="M:TShockAPI.RegionHandler.#ctor(TShockAPI.DB.RegionManager)">
            <summary>
            Initializes a new instance of the <see cref="T:TShockAPI.RegionHandler"/> class with the specified <see cref="T:TShockAPI.DB.RegionManager"/> instance.
            </summary>
            <param name="regionManager">The <see cref="T:TShockAPI.DB.RegionManager"/> instance.</param>
        </member>
        <member name="M:TShockAPI.RegionHandler.Dispose">
            <summary>
            Disposes the region handler.
            </summary>
        </member>
        <member name="T:TShockAPI.Permission">
            <summary>
            Describes the permission required to use an API route
            </summary>
        </member>
        <member name="P:TShockAPI.Permission.Name">
            <summary>
            Name of the permission
            </summary>
        </member>
        <member name="M:TShockAPI.Permission.#ctor(System.String)">
            <summary>
            Creates a new instance of <see cref="T:TShockAPI.Permission"/> with the given name
            </summary>
            <param name="name">Permission required</param>
        </member>
        <member name="T:TShockAPI.RouteAttribute">
            <summary>
            Describes the route of a REST API call
            </summary>
        </member>
        <member name="P:TShockAPI.RouteAttribute.Route">
            <summary>
            The route used to call the API
            </summary>
        </member>
        <member name="M:TShockAPI.RouteAttribute.#ctor(System.String)">
            <summary>
            Creates a new instance of <see cref="T:TShockAPI.RouteAttribute"/> with the given route
            </summary>
            <param name="route">Route used to call the API</param>
        </member>
        <member name="T:TShockAPI.ParameterAttribute">
            <summary>
            Describes a parameter in a REST route
            </summary>
        </member>
        <member name="P:TShockAPI.ParameterAttribute.Name">
            <summary>
            The parameter's name
            </summary>
        </member>
        <member name="P:TShockAPI.ParameterAttribute.Required">
            <summary>
            Whether the parameter is required or not
            </summary>
        </member>
        <member name="P:TShockAPI.ParameterAttribute.Description">
            <summary>
            The parameter's description
            </summary>
        </member>
        <member name="P:TShockAPI.ParameterAttribute.ArgumentType">
            <summary>
            The parameter's System Type
            </summary>
        </member>
        <member name="M:TShockAPI.ParameterAttribute.#ctor(System.String,System.Boolean,System.String,System.Type)">
            <summary>
            Creates a new instance of <see cref="T:TShockAPI.ParameterAttribute"/> with the given name, description, and type.
            A ParameterAttribute may be optional or required.
            </summary>
            <param name="name"></param>
            <param name="req"></param>
            <param name="desc"></param>
            <param name="type"></param>
        </member>
        <member name="T:TShockAPI.Noun">
            <summary>
            Describes a parameter in a REST route
            </summary>
        </member>
        <member name="M:TShockAPI.Noun.#ctor(System.String,System.Boolean,System.String,System.Type)">
            <summary>
            Creates a new instance of <see cref="T:TShockAPI.Noun"/> with the given name, description, and type.
            Nouns may be optional or required. A required Noun is akin to a <see cref="T:TShockAPI.Verb"/>
            </summary>
            <param name="name">Name of the noun</param>
            <param name="req">Whether the noun is required or not</param>
            <param name="desc">Decription of the noun</param>
            <param name="type">System Type of the noun</param>
        </member>
        <member name="T:TShockAPI.Verb">
            <summary>
            Describes a parameter in a REST route
            </summary>
        </member>
        <member name="M:TShockAPI.Verb.#ctor(System.String,System.String,System.Type)">
            <summary>
            Creates a new instance of <see cref="T:TShockAPI.Verb"/> with the given name, description, and type.
            Verbs are required arguments.
            </summary>
            <param name="name">Name of the verb</param>
            <param name="desc">Description of the verb</param>
            <param name="type">System Type of the verb</param>
        </member>
        <member name="T:TShockAPI.Token">
            <summary>
            Describes a REST authentication token
            </summary>
        </member>
        <member name="M:TShockAPI.Token.#ctor">
            <summary>
            Creates a new instance of <see cref="T:TShockAPI.Token"/>
            </summary>
        </member>
        <member name="T:TShockAPI.RestManager">
            <summary>
            Manages a <see cref="T:Rests.Rest"/> instance
            </summary>
        </member>
        <member name="F:TShockAPI.RestManager.Rest">
            <summary>
            The RESTful API service that handles API requests
            </summary>
        </member>
        <member name="M:TShockAPI.RestManager.#ctor(Rests.Rest)">
            <summary>
            Creates a new instance of <see cref="T:TShockAPI.RestManager"/> using the provided <see cref="F:TShockAPI.RestManager.Rest"/> object
            </summary>
            <param name="rest"></param>
        </member>
        <member name="M:TShockAPI.RestManager.RegisterRestfulCommands">
            <summary>
            Registers default TShock REST commands
            </summary>
        </member>
        <member name="M:TShockAPI.SaveManager.OnSaveWorld(TerrariaApi.Server.WorldSaveEventArgs)">
            <summary>
            SaveWorld event handler which notifies users that the server may lag
            </summary>
        </member>
        <member name="M:TShockAPI.SaveManager.SaveWorld(System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Saves the map data
            </summary>
            <param name="wait">wait for all pending saves to finish (default: true)</param>
            <param name="resetTime">reset the last save time counter (default: false)</param>
            <param name="direct">use the realsaveWorld method instead of saveWorld event (default: false)</param>
        </member>
        <member name="M:TShockAPI.SaveManager.Dispose">
            <summary>
            Processes any outstanding saves, shutsdown the save thread and returns
            </summary>
        </member>
        <member name="T:TShockAPI.SqlLog">
            <summary>
            Class inheriting ILog for writing logs to TShock's SQL database
            </summary>
        </member>
        <member name="M:TShockAPI.SqlLog.#ctor(System.Data.IDbConnection,System.String,System.Boolean)">
            <summary>
            Sets the database connection and the initial log level.
            </summary>
            <param name="db">Database connection</param>
            <param name="textlogFilepath">File path to a backup text log in case the SQL log fails</param>
            <param name="clearTextLog"></param>
        </member>
        <member name="M:TShockAPI.SqlLog.Data(System.String)">
            <summary>
            Writes data to the log file.
            </summary>
            <param name="message">The message to be written.</param>
        </member>
        <member name="M:TShockAPI.SqlLog.Data(System.String,System.Object[])">
            <summary>
            Writes data to the log file.
            </summary>
            <param name="format">The format of the message to be written.</param>
            <param name="args">The format arguments.</param>
        </member>
        <member name="M:TShockAPI.SqlLog.Error(System.String)">
            <summary>
            Writes an error to the log file.
            </summary>
            <param name="message">The message to be written.</param>
        </member>
        <member name="M:TShockAPI.SqlLog.Error(System.String,System.Object[])">
            <summary>
            Writes an error to the log file.
            </summary>
            <param name="format">The format of the message to be written.</param>
            <param name="args">The format arguments.</param>
        </member>
        <member name="M:TShockAPI.SqlLog.ConsoleError(System.String)">
            <summary>
            Writes an error to the log file.
            </summary>
            <param name="message">The message to be written.</param>
        </member>
        <member name="M:TShockAPI.SqlLog.ConsoleError(System.String,System.Object[])">
            <summary>
            Writes an error to the log file.
            </summary>
            <param name="format">The format of the message to be written.</param>
            <param name="args">The format arguments.</param>
        </member>
        <member name="M:TShockAPI.SqlLog.ConsoleWarn(System.String)">
            <summary>
            Writes an error to the log file.
            </summary>
            <param name="message">The message to be written.</param>
        </member>
        <member name="M:TShockAPI.SqlLog.ConsoleWarn(System.String,System.Object[])">
            <summary>
            Writes an error to the log file.
            </summary>
            <param name="format">The format of the message to be written.</param>
            <param name="args">The format arguments.</param>
        </member>
        <member name="M:TShockAPI.SqlLog.Warn(System.String)">
            <summary>
            Writes a warning to the log file.
            </summary>
            <param name="message">The message to be written.</param>
        </member>
        <member name="M:TShockAPI.SqlLog.Warn(System.String,System.Object[])">
            <summary>
            Writes a warning to the log file.
            </summary>
            <param name="format">The format of the message to be written.</param>
            <param name="args">The format arguments.</param>
        </member>
        <member name="M:TShockAPI.SqlLog.Info(System.String)">
            <summary>
            Writes an informative string to the log file.
            </summary>
            <param name="message">The message to be written.</param>
        </member>
        <member name="M:TShockAPI.SqlLog.Info(System.String,System.Object[])">
            <summary>
            Writes an informative string to the log file.
            </summary>
            <param name="format">The format of the message to be written.</param>
            <param name="args">The format arguments.</param>
        </member>
        <member name="M:TShockAPI.SqlLog.ConsoleInfo(System.String)">
            <summary>
            Writes an informative string to the log file. Also outputs to the console.
            </summary>
            <param name="message">The message to be written.</param>
        </member>
        <member name="M:TShockAPI.SqlLog.ConsoleInfo(System.String,System.Object[])">
            <summary>
            Writes an informative string to the log file. Also outputs to the console.
            </summary>
            <param name="format">The format of the message to be written.</param>
            <param name="args">The format arguments.</param>
        </member>
        <member name="M:TShockAPI.SqlLog.ConsoleDebug(System.String)">
            <summary>
            Writes a debug string to the log file. Also outputs to the console. Requires config TShock.DebugLogs to be true.
            </summary>
            <param name="message">The message to be written.</param>
        </member>
        <member name="M:TShockAPI.SqlLog.ConsoleDebug(System.String,System.Object[])">
            <summary>
            Writes a debug string to the log file. Also outputs to the console. Requires config TShock.DebugLogs to be true.
            </summary>
            <param name="format">The format of the message to be written.</param>
            <param name="args">The format arguments.</param>
        </member>
        <member name="M:TShockAPI.SqlLog.Debug(System.String)">
            <summary>
            Writes a debug string to the log file.
            </summary>
            <param name="message">The message to be written.</param>
        </member>
        <member name="M:TShockAPI.SqlLog.Debug(System.String,System.Object[])">
            <summary>
            Writes a debug string to the log file.
            </summary>
            <param name="format">The format of the message to be written.</param>
            <param name="args">The format arguments.</param>
        </member>
        <member name="T:TShockAPI.TextLog">
            <summary>
            Class inheriting ILog for writing logs to a text file
            </summary>
        </member>
        <member name="P:TShockAPI.TextLog.FileName">
            <summary>
            File name of the Text log
            </summary>
        </member>
        <member name="M:TShockAPI.TextLog.#ctor(System.String,System.Boolean)">
            <summary>
            Creates the log file stream and sets the initial log level.
            </summary>
            <param name="filename">The output filename. This file will be overwritten if 'clear' is set.</param>
            <param name="clear">Whether or not to clear the log file on initialization.</param>
        </member>
        <member name="M:TShockAPI.TextLog.Data(System.String)">
            <summary>
            Writes data to the log file.
            </summary>
            <param name="message">The message to be written.</param>
        </member>
        <member name="M:TShockAPI.TextLog.Data(System.String,System.Object[])">
            <summary>
            Writes data to the log file.
            </summary>
            <param name="format">The format of the message to be written.</param>
            <param name="args">The format arguments.</param>
        </member>
        <member name="M:TShockAPI.TextLog.Error(System.String)">
            <summary>
            Writes an error to the log file.
            </summary>
            <param name="message">The message to be written.</param>
        </member>
        <member name="M:TShockAPI.TextLog.Error(System.String,System.Object[])">
            <summary>
            Writes an error to the log file.
            </summary>
            <param name="format">The format of the message to be written.</param>
            <param name="args">The format arguments.</param>
        </member>
        <member name="M:TShockAPI.TextLog.ConsoleError(System.String)">
            <summary>
            Writes an error to the log file.
            </summary>
            <param name="message">The message to be written.</param>
        </member>
        <member name="M:TShockAPI.TextLog.ConsoleWarn(System.String)">
            <summary>
            Writes an error to the log file.
            </summary>
            <param name="message">The message to be written.</param>
        </member>
        <member name="M:TShockAPI.TextLog.ConsoleWarn(System.String,System.Object[])">
            <summary>
            Writes an error to the log file.
            </summary>
            <param name="format">The format of the message to be written.</param>
            <param name="args">The format arguments.</param>
        </member>
        <member name="M:TShockAPI.TextLog.ConsoleError(System.String,System.Object[])">
            <summary>
            Writes an error to the log file.
            </summary>
            <param name="format">The format of the message to be written.</param>
            <param name="args">The format arguments.</param>
        </member>
        <member name="M:TShockAPI.TextLog.Warn(System.String)">
            <summary>
            Writes a warning to the log file.
            </summary>
            <param name="message">The message to be written.</param>
        </member>
        <member name="M:TShockAPI.TextLog.Warn(System.String,System.Object[])">
            <summary>
            Writes a warning to the log file.
            </summary>
            <param name="format">The format of the message to be written.</param>
            <param name="args">The format arguments.</param>
        </member>
        <member name="M:TShockAPI.TextLog.Info(System.String)">
            <summary>
            Writes an informative string to the log file.
            </summary>
            <param name="message">The message to be written.</param>
        </member>
        <member name="M:TShockAPI.TextLog.Info(System.String,System.Object[])">
            <summary>
            Writes an informative string to the log file.
            </summary>
            <param name="format">The format of the message to be written.</param>
            <param name="args">The format arguments.</param>
        </member>
        <member name="M:TShockAPI.TextLog.ConsoleInfo(System.String)">
            <summary>
            Writes an informative string to the log file. Also outputs to the console.
            </summary>
            <param name="message">The message to be written.</param>
        </member>
        <member name="M:TShockAPI.TextLog.ConsoleInfo(System.String,System.Object[])">
            <summary>
            Writes an informative string to the log file. Also outputs to the console.
            </summary>
            <param name="format">The format of the message to be written.</param>
            <param name="args">The format arguments.</param>
        </member>
        <member name="M:TShockAPI.TextLog.ConsoleDebug(System.String)">
            <summary>
            Writes a debug string to the log file. Also outputs to the console. Requires config TShock.DebugLogs to be true.
            </summary>
            <param name="message">The message to be written.</param>
        </member>
        <member name="M:TShockAPI.TextLog.ConsoleDebug(System.String,System.Object[])">
            <summary>
            Writes a debug string to the log file. Also outputs to the console. Requires config TShock.DebugLogs to be true.
            </summary>
            <param name="format">The format of the message to be written.</param>
            <param name="args">The format arguments.</param>
        </member>
        <member name="M:TShockAPI.TextLog.Debug(System.String)">
            <summary>
            Writes a debug string to the log file.
            </summary>
            <param name="message">The message to be written.</param>
        </member>
        <member name="M:TShockAPI.TextLog.Debug(System.String,System.Object[])">
            <summary>
            Writes a debug string to the log file.
            </summary>
            <param name="format">The format of the message to be written.</param>
            <param name="args">The format arguments.</param>
        </member>
        <member name="M:TShockAPI.TextLog.Write(System.String,System.Diagnostics.TraceLevel)">
            <summary>
            Writes a message to the log
            </summary>
            <param name="message"></param>
            <param name="level"></param>
        </member>
        <member name="T:TShockAPI.TShock">
            <summary>
            This is the TShock main class. TShock is a plugin on the TerrariaServerAPI, so it extends the base TerrariaPlugin.
            TShock also complies with the API versioning system, and defines its required API version here.
            </summary>
        </member>
        <member name="F:TShockAPI.TShock.VersionNum">
            <summary>VersionNum - The version number the TerrariaAPI will return back to the API. We just use the Assembly info.</summary>
        </member>
        <member name="F:TShockAPI.TShock.VersionCodename">
            <summary>VersionCodename - The version codename is displayed when the server starts. Inspired by software codenames conventions.</summary>
        </member>
        <member name="F:TShockAPI.TShock.SavePath">
            <summary>SavePath - This is the path TShock saves its data in. This path is relative to the TerrariaServer.exe (not in ServerPlugins).</summary>
        </member>
        <member name="F:TShockAPI.TShock.LogFormatDefault">
            <summary>LogFormatDefault - This is the default log file naming format. Actually, this is the only log format, because it never gets set again.</summary>
        </member>
        <member name="F:TShockAPI.TShock.LogFormat">
            <summary>LogFormat - This is the log format, which is never set again.</summary>
        </member>
        <member name="F:TShockAPI.TShock.LogPathDefault">
            <summary>LogPathDefault - The default log path.</summary>
        </member>
        <member name="F:TShockAPI.TShock.LogPath">
            <summary>This is the log path, which is initially set to the default log path, and then to the config file log path later.</summary>
        </member>
        <member name="F:TShockAPI.TShock.LogClear">
            <summary>LogClear - Determines whether or not the log file should be cleared on initialization.</summary>
        </member>
        <member name="F:TShockAPI.TShock.ShuttingDown">
            <summary>Will be set to true once Utils.StopServer() is called.</summary>
        </member>
        <member name="F:TShockAPI.TShock.Players">
            <summary>Players - Contains all TSPlayer objects for accessing TSPlayers currently on the server</summary>
        </member>
        <member name="F:TShockAPI.TShock.Bans">
            <summary>Bans - Static reference to the ban manager for accessing bans &amp; related functions.</summary>
        </member>
        <member name="F:TShockAPI.TShock.Warps">
            <summary>Warps - Static reference to the warp manager for accessing the warp system.</summary>
        </member>
        <member name="F:TShockAPI.TShock.Regions">
            <summary>Regions - Static reference to the region manager for accessing the region system.</summary>
        </member>
        <member name="F:TShockAPI.TShock.Backups">
            <summary>Backups - Static reference to the backup manager for accessing the backup system.</summary>
        </member>
        <member name="F:TShockAPI.TShock.Groups">
            <summary>Groups - Static reference to the group manager for accessing the group system.</summary>
        </member>
        <member name="F:TShockAPI.TShock.UserAccounts">
            <summary>Users - Static reference to the user manager for accessing the user database system.</summary>
        </member>
        <member name="F:TShockAPI.TShock.ProjectileBans">
            <summary>ProjectileBans - Static reference to the projectile ban system.</summary>
        </member>
        <member name="F:TShockAPI.TShock.TileBans">
            <summary>TileBans - Static reference to the tile ban system.</summary>
        </member>
        <member name="F:TShockAPI.TShock.RememberedPos">
            <summary>RememberedPos - Static reference to the remembered position manager.</summary>
        </member>
        <member name="F:TShockAPI.TShock.CharacterDB">
            <summary>CharacterDB - Static reference to the SSC character manager.</summary>
        </member>
        <member name="F:TShockAPI.TShock.ResearchDatastore">
            <summary>Contains the information about what research has been performed in Journey mode.</summary>
        </member>
        <member name="P:TShockAPI.TShock.Config">
            <summary>Config - Static reference to the config system, for accessing values set in users' config files.</summary>
        </member>
        <member name="F:TShockAPI.TShock.ServerSideCharacterConfig">
            <summary>ServerSideCharacterConfig - Static reference to the server side character config, for accessing values set by users to modify SSC.</summary>
        </member>
        <member name="F:TShockAPI.TShock.DB">
            <summary>DB - Static reference to the database.</summary>
        </member>
        <member name="F:TShockAPI.TShock.OverridePort">
            <summary>OverridePort - Determines if TShock should override the server port.</summary>
        </member>
        <member name="F:TShockAPI.TShock.Geo">
            <summary>Geo - Static reference to the GeoIP system which determines the location of an IP address.</summary>
        </member>
        <member name="F:TShockAPI.TShock.RestApi">
            <summary>RestApi - Static reference to the Rest API authentication manager.</summary>
        </member>
        <member name="F:TShockAPI.TShock.RestManager">
            <summary>RestManager - Static reference to the Rest API manager.</summary>
        </member>
        <member name="F:TShockAPI.TShock.Utils">
            <summary>Utils - Static reference to the utilities class, which contains a variety of utility functions.</summary>
        </member>
        <member name="F:TShockAPI.TShock.UpdateManager">
            <summary>UpdateManager - Static reference to the update checker, which checks for updates and notifies server admins of updates.</summary>
        </member>
        <member name="F:TShockAPI.TShock.Log">
            <summary>Log - Static reference to the log system, which outputs to either SQL or a text file, depending on user config.</summary>
        </member>
        <member name="F:TShockAPI.TShock.instance">
            <summary>instance - Static reference to the TerrariaPlugin instance.</summary>
        </member>
        <member name="P:TShockAPI.TShock.CliParser">
            <summary>
            Static reference to a <see cref="T:TShockAPI.CLI.CommandLineParser"/> used for simple command-line parsing
            </summary>
        </member>
        <member name="F:TShockAPI.TShock.RESTStartupTokens">
            <summary>
            Used for implementing REST Tokens prior to the REST system starting up.
            </summary>
        </member>
        <member name="F:TShockAPI.TShock.Bouncer">
            <summary>The TShock anti-cheat/anti-exploit system.</summary>
        </member>
        <member name="F:TShockAPI.TShock.ItemBans">
            <summary>The TShock item ban system.</summary>
        </member>
        <member name="F:TShockAPI.TShock.RegionSystem">
            <summary>
            TShock's Region subsystem.
            </summary>
        </member>
        <member name="E:TShockAPI.TShock.Initialized">
            <summary>
            Called after TShock is initialized. Useful for plugins that needs hooks before tshock but also depend on tshock being loaded.
            </summary>
        </member>
        <member name="P:TShockAPI.TShock.Version">
            <summary>Version - The version required by the TerrariaAPI to be passed back for checking &amp; loading the plugin.</summary>
            <value>value - The version number specified in the Assembly, based on the VersionNum variable set in this class.</value>
        </member>
        <member name="P:TShockAPI.TShock.Name">
            <summary>Name - The plugin name.</summary>
            <value>value - "TShock"</value>
        </member>
        <member name="P:TShockAPI.TShock.Author">
            <summary>Author - The author of the plugin.</summary>
            <value>value - "The TShock Team"</value>
        </member>
        <member name="P:TShockAPI.TShock.Description">
            <summary>Description - The plugin description.</summary>
            <value>value - "The administration modification of the future."</value>
        </member>
        <member name="M:TShockAPI.TShock.#ctor(Terraria.Main)">
            <summary>TShock - The constructor for the TShock plugin.</summary>
            <param name="game">game - The Terraria main game.</param>
        </member>
        <member name="M:TShockAPI.TShock.Initialize">
            <summary>Initialize - Called by the TerrariaServerAPI during initialization.</summary>
        </member>
        <member name="M:TShockAPI.TShock.Dispose(System.Boolean)">
            <summary>Dispose - Called when disposing.</summary>
            <param name="disposing">disposing - If set, disposes of all hooks and other systems.</param>
        </member>
        <member name="M:TShockAPI.TShock.OnPlayerLogin(TShockAPI.Hooks.PlayerPostLoginEventArgs)">
            <summary>OnPlayerLogin - Fires the PlayerLogin hook to listening plugins.</summary>
            <param name="args">args - The PlayerPostLoginEventArgs object.</param>
        </member>
        <member name="M:TShockAPI.TShock.OnAccountDelete(TShockAPI.Hooks.AccountDeleteEventArgs)">
            <summary>OnAccountDelete - Internal hook fired on account delete.</summary>
            <param name="args">args - The AccountDeleteEventArgs object.</param>
        </member>
        <member name="M:TShockAPI.TShock.OnAccountCreate(TShockAPI.Hooks.AccountCreateEventArgs)">
            <summary>OnAccountCreate - Internal hook fired on account creation.</summary>
            <param name="args">args - The AccountCreateEventArgs object.</param>
        </member>
        <member name="M:TShockAPI.TShock.OnPlayerPreLogin(TShockAPI.Hooks.PlayerPreLoginEventArgs)">
            <summary>OnPlayerPreLogin - Internal hook fired when on player pre login.</summary>
            <param name="args">args - The PlayerPreLoginEventArgs object.</param>
        </member>
        <member name="M:TShockAPI.TShock.NetHooks_NameCollision(TerrariaApi.Server.NameCollisionEventArgs)">
            <summary>NetHooks_NameCollision - Internal hook fired when a name collision happens.</summary>
            <param name="args">args - The NameCollisionEventArgs object.</param>
        </member>
        <member name="M:TShockAPI.TShock.OnItemForceIntoChest(TerrariaApi.Server.ForceItemIntoChestEventArgs)">
            <summary>OnItemForceIntoChest - Internal hook fired when a player quick stacks items into a chest.</summary>
            <param name="args">The <see cref="T:TerrariaApi.Server.ForceItemIntoChestEventArgs"/> object.</param>
        </member>
        <member name="M:TShockAPI.TShock.OnXmasCheck(TerrariaApi.Server.ChristmasCheckEventArgs)">
            <summary>OnXmasCheck - Internal hook fired when the XMasCheck happens.</summary>
            <param name="args">args - The ChristmasCheckEventArgs object.</param>
        </member>
        <member name="M:TShockAPI.TShock.OnHalloweenCheck(TerrariaApi.Server.HalloweenCheckEventArgs)">
            <summary>OnHalloweenCheck - Internal hook fired when the HalloweenCheck happens.</summary>
            <param name="args">args - The HalloweenCheckEventArgs object.</param>
        </member>
        <member name="M:TShockAPI.TShock.CurrentDomain_UnhandledException(System.Object,System.UnhandledExceptionEventArgs)">
            <summary>
            Handles exceptions that we didn't catch earlier in the code, or in Terraria.
            </summary>
            <param name="sender">sender - The object that sent the exception.</param>
            <param name="e">e - The UnhandledExceptionEventArgs object.</param>
        </member>
        <member name="M:TShockAPI.TShock.ConsoleCancelHandler(System.Object,System.ConsoleCancelEventArgs)">
            <summary> ConsoleCancelHandler - Handles when Ctrl + C is sent to the server for a safe shutdown. </summary>
            <param name="sender">The sender</param>
            <param name="args">The ConsoleCancelEventArgs associated with the event.</param>
        </member>
        <member name="M:TShockAPI.TShock.HandleCommandLine(System.String[])">
            <summary>HandleCommandLine - Handles the command line parameters passed to the server.</summary>
            <param name="parms">parms - The array of arguments passed in through the command line.</param>
        </member>
        <member name="M:TShockAPI.TShock.HandleCommandLinePostConfigLoad(System.String[])">
            <summary>HandleCommandLinePostConfigLoad - Handles additional command line options after the config file is read.</summary>
            <param name="parms">parms - The array of arguments passed in through the command line.</param>
        </member>
        <member name="F:TShockAPI.TShock.SetupToken">
            <summary>SetupToken - The auth token used by the setup system to grant temporary superadmin access to new admins.</summary>
        </member>
        <member name="M:TShockAPI.TShock.OnPostInit(System.EventArgs)">
            <summary>OnPostInit - Fired when the server loads a map, to perform world specific operations.</summary>
            <param name="args">args - The EventArgs object.</param>
        </member>
        <member name="F:TShockAPI.TShock.LastCheck">
            <summary>LastCheck - Used to keep track of the last check for basically all time based checks.</summary>
        </member>
        <member name="F:TShockAPI.TShock.LastSave">
            <summary>LastSave - Used to keep track of SSC save intervals.</summary>
        </member>
        <member name="M:TShockAPI.TShock.OnUpdate(System.EventArgs)">
            <summary>OnUpdate - Called when ever the server ticks.</summary>
            <param name="args">args - EventArgs args</param>
        </member>
        <member name="M:TShockAPI.TShock.OnSecondUpdate">
            <summary>OnSecondUpdate - Called effectively every second for all time based checks.</summary>
        </member>
        <member name="M:TShockAPI.TShock.OnHardUpdate(TerrariaApi.Server.HardmodeTileUpdateEventArgs)">
            <summary>OnHardUpdate - Fired when a hardmode tile update event happens.</summary>
            <param name="args">args - The HardmodeTileUpdateEventArgs object.</param>
        </member>
        <member name="M:TShockAPI.TShock.OnWorldGrassSpread(TerrariaApi.Server.GrassSpreadEventArgs)">
            <summary>OnWorldGrassSpread - Fired when grass is attempting to spread.</summary>
            <param name="args">args - The GrassSpreadEventArgs object.</param>
        </member>
        <member name="M:TShockAPI.TShock.OnCreep(System.Int32)">
            <summary>
            Checks if the tile type is allowed to creep
            </summary>
            <param name="tileType">Tile id</param>
            <returns>True if allowed, otherwise false</returns>
        </member>
        <member name="M:TShockAPI.TShock.OnStatueSpawn(TerrariaApi.Server.StatueSpawnEventArgs)">
            <summary>OnStatueSpawn - Fired when a statue spawns.</summary>
            <param name="args">args - The StatueSpawnEventArgs object.</param>
        </member>
        <member name="M:TShockAPI.TShock.OnConnect(TerrariaApi.Server.ConnectEventArgs)">
            <summary>OnConnect - Fired when a player connects to the server.</summary>
            <param name="args">args - The ConnectEventArgs object.</param>
        </member>
        <member name="M:TShockAPI.TShock.OnJoin(TerrariaApi.Server.JoinEventArgs)">
            <summary>OnJoin - Internal hook called when a player joins. This is called after OnConnect.</summary>
            <param name="args">args - The JoinEventArgs object.</param>
        </member>
        <member name="M:TShockAPI.TShock.OnLeave(TerrariaApi.Server.LeaveEventArgs)">
            <summary>OnLeave - Called when a player leaves the server.</summary>
            <param name="args">args - The LeaveEventArgs object.</param>
        </member>
        <member name="M:TShockAPI.TShock.OnChat(TerrariaApi.Server.ServerChatEventArgs)">
            <summary>OnChat - Fired when a player chats. Used for handling chat and commands.</summary>
            <param name="args">args - The ServerChatEventArgs object.</param>
        </member>
        <member name="M:TShockAPI.TShock.ServerHooks_OnCommand(TerrariaApi.Server.CommandEventArgs)">
            <summary>
            Called when a command is issued from the server console.
            </summary>
            <param name="args">The CommandEventArgs object</param>
        </member>
        <member name="M:TShockAPI.TShock.OnGetData(TerrariaApi.Server.GetDataEventArgs)">
            <summary>OnGetData - Called when the server gets raw data packets.</summary>
            <param name="e">e - The GetDataEventArgs object.</param>
        </member>
        <member name="M:TShockAPI.TShock.OnGreetPlayer(TerrariaApi.Server.GreetPlayerEventArgs)">
            <summary>OnGreetPlayer - Fired when a player is greeted by the server. Handles things like the MOTD, join messages, etc.</summary>
            <param name="args">args - The GreetPlayerEventArgs object.</param>
        </member>
        <member name="M:TShockAPI.TShock.NpcHooks_OnStrikeNpc(TerrariaApi.Server.NpcStrikeEventArgs)">
            <summary>NpcHooks_OnStrikeNpc - Fired when an NPC strike packet happens.</summary>
            <param name="e">e - The NpcStrikeEventArgs object.</param>
        </member>
        <member name="M:TShockAPI.TShock.OnProjectileSetDefaults(TerrariaApi.Server.SetDefaultsEventArgs{Terraria.Projectile,System.Int32})">
            <summary>OnProjectileSetDefaults - Called when a projectile sets the default attributes for itself.</summary>
            <param name="e">e - The SetDefaultsEventArgs object parameterized with Projectile and int.</param>
        </member>
        <member name="M:TShockAPI.TShock.NetHooks_SendData(TerrariaApi.Server.SendDataEventArgs)">
            <summary>NetHooks_SendData - Fired when the server sends data.</summary>
            <param name="e">e - The SendDataEventArgs object.</param>
        </member>
        <member name="M:TShockAPI.TShock.OnStartHardMode(System.ComponentModel.HandledEventArgs)">
            <summary>OnStartHardMode - Fired when hard mode is started.</summary>
            <param name="e">e - The HandledEventArgs object.</param>
        </member>
        <member name="M:TShockAPI.TShock.OnConfigRead(TShockAPI.Configuration.ConfigFile{TShockAPI.Configuration.TShockSettings})">
            <summary>OnConfigRead - Fired when the config file has been read.</summary>
            <param name="file">file - The config file object.</param>
        </member>
        <member name="T:TShockAPI.DisableFlags">
            <summary>
            Bitflags used with the <see cref="!:Disable(string, DisableFlags)"></see> method
            </summary>
        </member>
        <member name="F:TShockAPI.DisableFlags.None">
            <summary>
            Disable the player and leave no messages
            </summary>
        </member>
        <member name="F:TShockAPI.DisableFlags.WriteToConsole">
            <summary>
            Write the Disable message to the console
            </summary>
        </member>
        <member name="F:TShockAPI.DisableFlags.WriteToLog">
            <summary>
            Write the Disable message to the log
            </summary>
        </member>
        <member name="F:TShockAPI.DisableFlags.WriteToLogAndConsole">
            <summary>
            Equivalent to WriteToConsole | WriteToLog
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.Server">
            <summary>
            This represents the server as a player.
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.All">
            <summary>
            This player represents all the players.
            </summary>
        </member>
        <member name="M:TShockAPI.TSPlayer.FindByNameOrID(System.String)">
            <summary>
            Finds a TSPlayer based on name or ID.
            If the string comes with tsi: or tsn:, we'll only return a list with one element,
            either the player with the matching ID or name, respectively.
            </summary>
            <param name="plr">Player name or ID</param>
            <returns>A list of matching players</returns>
        </member>
        <member name="P:TShockAPI.TSPlayer.HasReceivedNPCPermissionError">
            <summary>
            Used in preventing players from seeing the npc spawnrate permission error on join.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.TileKillThreshold">
            <summary>
            The amount of tiles that the player has killed in the last second.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.TilePlaceThreshold">
            <summary>
            The amount of tiles the player has placed in the last second.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.TileLiquidThreshold">
            <summary>
            The amount of liquid (in tiles) that the player has placed in the last second.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.PaintThreshold">
            <summary>
            The amount of tiles that the player has painted in the last second.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.ProjectileThreshold">
            <summary>
            The number of projectiles created by the player in the last second.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.HealOtherThreshold">
            <summary>
            The number of HealOtherPlayer packets sent by the player in the last second.
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.RecentFuse">
            <summary>
            A timer to keep track of whether or not the player has recently thrown an explosive
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.IgnoreSSCPackets">
            <summary>
            Whether to ignore packets that are SSC-relevant.
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.RPPending">
            <summary>
            A system to delay Remembered Position Teleports a few seconds
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.TilesDestroyed">
            <summary>
            A queue of tiles destroyed by the player for reverting.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.TilesCreated">
            <summary>
            A queue of tiles placed by the player for reverting.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.Group">
            <summary>
            The player's group.
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.tempGroup">
            <summary>
            The player's temporary group.  This overrides the user's actual group.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.Index">
            <summary>
            The players index in the player array( Main.players[] ).
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.LastPvPTeamChange">
            <summary>
            The last time the player changed their team or pvp status.
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.TempPoints">
            <summary>
            Temp points for use in regions and other plugins.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.AwaitingTempPoint">
            <summary>
            Whether the player is waiting to place/break a tile to set as a temp point.
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.AwaitingResponse">
            <summary>
            A list of command callbacks indexed by the command they need to do.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.LastThreat">
            <summary>
            The last time a player broke a grief check.
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.DisplayLogs">
            <summary>
            Whether the player should see logs.
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.LastWhisper">
            <summary>
            The last player that the player whispered with (to or from).
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.LoginAttempts">
            <summary>
            The number of unsuccessful login attempts.
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.TeleportCoords">
            <summary>
            Unused.
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.LastNetPosition">
            <summary>
            The player's last known position from PlayerUpdate packet.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.Account">
            <summary>
            UserAccount object associated with the player.
            Set when the player logs in.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.LoginFailsBySsi">
            <summary>
            Whether the player performed a valid login attempt (i.e. entered valid user name and password) but is still blocked
            from logging in because of SSI.
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.IsLoggedIn">
            <summary>
            Whether the player is logged in or not.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.HasSentInventory">
            <summary>
            Whether the player has sent their whole inventory to the server while connecting.
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.HasBeenNaggedAboutLoggingIn">
            <summary>
            Whether the player has been nagged about logging in.
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.TPAllow">
            <summary>
            Whether other players can teleport to the player.
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.mute">
            <summary>
            Whether the player is muted or not.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.RespawnTimer">
            <summary>
            The player's respawn timer.
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.Dead">
            <summary>
            Whether the player is dead or not.
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.Difficulty">
            <summary>
            The players difficulty( normal[softcore], mediumcore, hardcore ).
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.IsDisabledForSSC">
            <summary>Determines if the player is disabled by the SSC subsystem for not being logged in.</summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.IsDisabledForStackDetection">
            <summary>Determines if the player is disabled by Bouncer for having hacked item stacks.</summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.IsDisabledForBannedWearable">
            <summary>Determines if the player is disabled by the item bans system for having banned wearables on the server.</summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.IsDisabledPendingTrashRemoval">
            <summary>Determines if the player is disabled for not clearing their trash. A re-login is the only way to reset this.</summary>
        </member>
        <member name="M:TShockAPI.TSPlayer.IsBouncerThrottled">
            <summary>Checks to see if active throttling is happening on events by Bouncer. Rejects repeated events by malicious clients in a short window.</summary>
            <returns>If the player is currently being throttled by Bouncer, or not.</returns>
        </member>
        <member name="M:TShockAPI.TSPlayer.IsBeingDisabled">
            <summary>Easy check if a player has any of IsDisabledForSSC, IsDisabledForStackDetection, IsDisabledForBannedWearable, or IsDisabledPendingTrashRemoval set. Or if they're not logged in and a login is required.</summary>
            <returns>If any of the checks that warrant disabling are set on this player. If true, Disable() is repeatedly called on them.</returns>
        </member>
        <member name="M:TShockAPI.TSPlayer.HasHackedItemStacks(System.Boolean)">
            <summary>Checks to see if a player has hacked item stacks in their inventory, and messages them as it checks.</summary>
            <param name="shouldWarnPlayer">If the check should send a message to the player with the results of the check.</param>
            <returns>True if any stacks don't conform.</returns>
        </member>
        <member name="F:TShockAPI.TSPlayer.PlayerData">
            <summary>
            The player's server side inventory data.
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.RequiresPassword">
            <summary>
            Whether the player needs to specify a password upon connection( either server or user account ).
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.AcceptingWhispers">
            <summary>
            Whether the player is accepting whispers from other users
            </summary>
        </member>
        <member name="M:TShockAPI.TSPlayer.IsInRange(System.Int32,System.Int32,System.Int32)">
            <summary>Checks if a player is in range of a given tile if range checks are enabled.</summary>
            <param name="x"> The x coordinate of the tile.</param>
            <param name="y">The y coordinate of the tile.</param>
            <param name="range">The range to check for.</param>
            <returns>True if the player is in range of a tile or if range checks are off. False if not.</returns>
        </member>
        <member name="M:TShockAPI.TSPlayer.HasBuildPermission(System.Int32,System.Int32,System.Boolean)">
            <summary>Determines if the player can build on a given point.</summary>
            <param name="x">The x coordinate they want to build at.</param>
            <param name="y">The y coordinate they want to build at.</param>
            <param name="shouldWarnPlayer">Whether or not the player should be warned if their build attempt fails</param>
            <returns>True if the player can build at the given point from build, spawn, and region protection.</returns>
        </member>
        <member name="M:TShockAPI.TSPlayer.HasBuildPermissionForTileObject(System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean)">
            <summary>
            Determines if the player can build a multi-block tile object on a given point.
            Tile objects include things like Doors, Trap Doors, Item Frames, Beds, and Dressers.
            </summary>
            <param name="x">The x coordinate they want to build at.</param>
            <param name="y">The y coordinate they want to build at.</param>
            <param name="width">The width of the tile object</param>
            <param name="height">The height of the tile object</param>
            <param name="shouldWarnPlayer">Whether or not the player should be warned if their build attempt fails</param>
            <returns>True if the player can build at the given point from build, spawn, and region protection.</returns>
        </member>
        <member name="M:TShockAPI.TSPlayer.HasPaintPermission(System.Int32,System.Int32)">
            <summary>Determines if the player can paint on a given point. Checks general build permissions, then paint.</summary>
            <param name="x">The x coordinate they want to paint at.</param>
            <param name="y">The y coordinate they want to paint at.</param>
            <returns>True if they can paint.</returns>
        </member>
        <member name="M:TShockAPI.TSPlayer.HasModifiedIceSuccessfully(System.Int32,System.Int32,System.Int16,TShockAPI.GetDataHandlers.EditAction)">
            <summary>Checks if a player can place ice, and if they can, tracks ice placements and removals.</summary>
            <param name="x">The x coordinate of the suspected ice block.</param>
            <param name="y">The y coordinate of the suspected ice block.</param>
            <param name="tileType">The tile type of the suspected ice block.</param>
            <param name="editAction">The EditAction on the suspected ice block.</param>
            <returns>True if a player successfully places an ice tile or removes one of their past ice tiles.</returns>
        </member>
        <member name="F:TShockAPI.TSPlayer.IceTiles">
            <summary>
            A list of points where ice tiles have been placed.
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.lastPermissionWarning">
            <summary>
            The last time the player was warned for build permissions.
            In MS, defaults to 1 (so it will warn on the first attempt).
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.LoginMS">
            <summary>
            The time in ms when the player has logged in.
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.LoginHarassed">
            <summary>
            Whether the player has been harrassed about logging in due to server side inventory or forced login.
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.GodMode">
            <summary>
            Player cant die, unless onehit
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.Confused">
            <summary>
            Players controls are inverted if using SSC
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.LastKilledProjectile">
            <summary>
            The last projectile type this player tried to kill.
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.RecentlyCreatedProjectiles">
            <summary>
            Keeps track of recently created projectiles by this player. TShock.cs OnSecondUpdate() removes from this in an async task.
            Projectiles older than 5 seconds are purged from this collection as they are no longer "recent."
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.CurrentRegion">
            <summary>
            The current region this player is in, or null if none.
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.data">
            <summary>
            Contains data stored by plugins
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.RealPlayer">
            <summary>
            Whether the player is a real, human, player on the server.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.ConnectionAlive">
            <summary>
            Checks if the player is active and not pending termination.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.SelectedItem">
            <summary>
            Gets the item that the player is currently holding.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.State">
            <summary>
            Gets the player's Client State.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.UUID">
            <summary>
            Gets the player's UUID.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.IP">
            <summary>
            Gets the player's IP.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.Inventory">
            <summary>
            Gets the player's inventory (first 5 rows)
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.Accessories">
            <summary>
            Gets the player's accessories.
            </summary>
        </member>
        <member name="M:TShockAPI.TSPlayer.SaveServerCharacter">
            <summary>
            Saves the player's inventory to SSC
            </summary>
            <returns>bool - True/false if it saved successfully</returns>
        </member>
        <member name="M:TShockAPI.TSPlayer.SendServerCharacter">
            <summary>
            Sends the players server side character to client
            </summary>
            <returns>bool - True/false if it saved successfully</returns>
        </member>
        <member name="P:TShockAPI.TSPlayer.TPlayer">
            <summary>
            Gets the Terraria Player object associated with the player.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.Name">
            <summary>
            Gets the player's name.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.Active">
            <summary>
            Gets the player's active state.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.Team">
            <summary>
            Gets the player's team.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.X">
            <summary>
            Gets the player's X coordinate.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.Y">
            <summary>
            Gets the player's Y coordinate.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.TileX">
            <summary>
            Player X coordinate divided by 16. Supposed X world coordinate.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.TileY">
            <summary>
            Player Y coordinate divided by 16. Supposed Y world coordinate.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.InventorySlotAvailable">
            <summary>
            Checks if the player has any inventory slots available.
            </summary>
        </member>
        <member name="P:TShockAPI.TSPlayer.DataWhenJoined">
            <summary>
            This contains the character data a player has when they join the server.
            </summary>
        </member>
        <member name="M:TShockAPI.TSPlayer.ContainsData(System.String)">
            <summary>
            Determines whether the player's storage contains the given key.
            </summary>
            <param name="key">Key to test.</param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.TSPlayer.GetData``1(System.String)">
            <summary>
            Returns the stored object associated with the given key.
            </summary>
            <typeparam name="T">Type of the object being retrieved.</typeparam>
            <param name="key">Key with which to access the object.</param>
            <returns>The stored object, or default(T) if not found.</returns>
        </member>
        <member name="M:TShockAPI.TSPlayer.SetData``1(System.String,``0)">
            <summary>
            Stores an object on this player, accessible with the given key.
            </summary>
            <typeparam name="T">Type of the object being stored.</typeparam>
            <param name="key">Key with which to access the object.</param>
            <param name="value">Object to store.</param>
        </member>
        <member name="M:TShockAPI.TSPlayer.RemoveData(System.String)">
            <summary>
            Removes the stored object associated with the given key.
            </summary>
            <param name="key">Key with which to access the object.</param>
            <returns>The removed object.	</returns>
        </member>
        <member name="M:TShockAPI.TSPlayer.Logout">
            <summary>
            Logs the player out of an account.
            </summary>
        </member>
        <member name="M:TShockAPI.TSPlayer.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:TShockAPI.TSPlayer"/> class.
            </summary>
            <param name="index">The player's index in the.</param>
        </member>
        <member name="M:TShockAPI.TSPlayer.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:TShockAPI.TSPlayer"/> class.
            </summary>
            <param name="playerName">The player's name.</param>
        </member>
        <member name="M:TShockAPI.TSPlayer.Disconnect(System.String)">
            <summary>
            Disconnects the player from the server.
            </summary>
            <param name="reason">The reason why the player was disconnected.</param>
        </member>
        <member name="M:TShockAPI.TSPlayer.TempGroupTimerElapsed(System.Object,System.Timers.ElapsedEventArgs)">
            <summary>
            Fired when the player's temporary group access expires.
            </summary>
            <param name="sender"></param>
            <param name="args"></param>
        </member>
        <member name="M:TShockAPI.TSPlayer.Teleport(System.Single,System.Single,System.Byte)">
            <summary>
            Teleports the player to the given coordinates in the world.
            </summary>
            <param name="x">The X coordinate.</param>
            <param name="y">The Y coordinate.</param>
            <param name="style">The teleportation style.</param>
            <returns>True or false.</returns>
        </member>
        <member name="M:TShockAPI.TSPlayer.Heal(System.Int32)">
            <summary>
            Heals the player.
            </summary>
            <param name="health">Heal health amount.</param>
        </member>
        <member name="M:TShockAPI.TSPlayer.Spawn(Terraria.PlayerSpawnContext,System.Nullable{System.Int32})">
            <summary>
            Spawns the player at his spawn point.
            </summary>
        </member>
        <member name="M:TShockAPI.TSPlayer.Spawn(System.Int32,System.Int32,Terraria.PlayerSpawnContext,System.Nullable{System.Int32},System.Nullable{System.Int16},System.Nullable{System.Int16})">
            <summary>
            Spawns the player at the given coordinates.
            </summary>
            <param name="tilex">The X coordinate.</param>
            <param name="tiley">The Y coordinate.</param>
            <param name="context">The PlayerSpawnContext.</param>
            <param name="respawnTimer">The respawn timer, will be Player.respawnTimer if parameter is null.</param>
            <param name="numberOfDeathsPVE">The number of deaths PVE, will be TPlayer.numberOfDeathsPVE if parameter is null.</param>
            <param name="numberOfDeathsPVP">The number of deaths PVP, will be TPlayer.numberOfDeathsPVP if parameter is null.</param>
        </member>
        <member name="M:TShockAPI.TSPlayer.RemoveProjectile(System.Int32,System.Int32)">
            <summary>
            Removes the projectile with the given index and owner.
            </summary>
            <param name="index">The projectile's index.</param>
            <param name="owner">The projectile's owner.</param>
        </member>
        <member name="M:TShockAPI.TSPlayer.SendTileSquare(System.Int32,System.Int32,System.Int32)">
            <summary>Sends a tile square at a location with a given size.
            Typically used to revert changes by Bouncer through sending the
            "old" version of modified data back to a client.
            Prevents desync issues.
            </summary>
            <param name="x">The x coordinate to send.</param>
            <param name="y">The y coordinate to send.</param>
            <param name="size">The size square set of tiles to send.</param>
            <returns>true if the tile square was sent successfully, else false</returns>
        </member>
        <member name="M:TShockAPI.TSPlayer.SendTileSquareCentered(System.Int32,System.Int32,System.Byte)">
            <summary>
            Sends a tile square at a center location with a given size.
            Typically used to revert changes by Bouncer through sending the
            "old" version of modified data back to a client.
            Prevents desync issues.
            </summary>
            <param name="x">The x coordinates of the center of the square.</param>
            <param name="y">The y coordinates of the center of the square.</param>
            <param name="size">The size square set of tiles to send.</param>
            <returns>true if the tile square was sent successfully, else false</returns>
        </member>
        <member name="M:TShockAPI.TSPlayer.SendTileRect(System.Int16,System.Int16,System.Byte,System.Byte,Terraria.ID.TileChangeType)">
            <summary>
            Sends a rectangle of tiles at a location with the given length and width.
            </summary>
            <param name="x">The x coordinate the rectangle will begin at</param>
            <param name="y">The y coordinate the rectangle will begin at</param>
            <param name="width">The width of the rectangle</param>
            <param name="length">The length of the rectangle</param>
            <param name="changeType">Optional change type. Default None</param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.TSPlayer.GiveItemCheck(System.Int32,System.String,System.Int32,System.Int32)">
            <summary>
            Gives an item to the player. Includes banned item spawn prevention to check if the player can spawn the item.
            </summary>
            <param name="type">The item ID.</param>
            <param name="name">The item name.</param>
            <param name="stack">The item stack.</param>
            <param name="prefix">The item prefix.</param>
            <returns>True or false, depending if the item passed the check or not.</returns>
        </member>
        <member name="M:TShockAPI.TSPlayer.GiveItem(System.Int32,System.Int32,System.Int32)">
            <summary>
            Gives an item to the player.
            </summary>
            <param name="type">The item ID.</param>
            <param name="stack">The item stack.</param>
            <param name="prefix">The item prefix.</param>
        </member>
        <member name="M:TShockAPI.TSPlayer.SendInfoMessage(System.String)">
            <summary>
            Sends an information message to the player.
            </summary>
            <param name="msg">The message.</param>
        </member>
        <member name="M:TShockAPI.TSPlayer.SendInfoMessage(System.String,System.Object[])">
            <summary>
            Sends an information message to the player.
            Replaces format items in the message with the string representation of a specified object.
            </summary>
            <param name="format">The message.</param>
            <param name="args">An array of objects to format.</param>
        </member>
        <member name="M:TShockAPI.TSPlayer.SendSuccessMessage(System.String)">
            <summary>
            Sends a success message to the player.
            </summary>
            <param name="msg">The message.</param>
        </member>
        <member name="M:TShockAPI.TSPlayer.SendSuccessMessage(System.String,System.Object[])">
            <summary>
            Sends a success message to the player.
            Replaces format items in the message with the string representation of a specified object.
            </summary>
            <param name="format">The message.</param>
            <param name="args">An array of objects to format.</param>
        </member>
        <member name="M:TShockAPI.TSPlayer.SendWarningMessage(System.String)">
            <summary>
            Sends a warning message to the player.
            </summary>
            <param name="msg">The message.</param>
        </member>
        <member name="M:TShockAPI.TSPlayer.SendWarningMessage(System.String,System.Object[])">
            <summary>
            Sends a warning message to the player.
            Replaces format items in the message with the string representation of a specified object.
            </summary>
            <param name="format">The message.</param>
            <param name="args">An array of objects to format.</param>
        </member>
        <member name="M:TShockAPI.TSPlayer.SendErrorMessage(System.String)">
            <summary>
            Sends an error message to the player.
            </summary>
            <param name="msg">The message.</param>
        </member>
        <member name="M:TShockAPI.TSPlayer.SendErrorMessage(System.String,System.Object[])">
            <summary>
            Sends an error message to the player.
            Replaces format items in the message with the string representation of a specified object
            </summary>
            <param name="format">The message.</param>
            <param name="args">An array of objects to format.</param>
        </member>
        <member name="M:TShockAPI.TSPlayer.SendMessage(System.String,Microsoft.Xna.Framework.Color)">
            <summary>
            Sends a message with the specified color.
            </summary>
            <param name="msg">The message.</param>
            <param name="color">The message color.</param>
        </member>
        <member name="M:TShockAPI.TSPlayer.SendMessage(System.String,System.Byte,System.Byte,System.Byte)">
            <summary>
            Sends a message with the specified RGB color.
            </summary>
            <param name="msg">The message.</param>
            <param name="red">The amount of red color to factor in. Max: 255.</param>
            <param name="green">The amount of green color to factor in. Max: 255</param>
            <param name="blue">The amount of blue color to factor in. Max: 255</param>
        </member>
        <member name="M:TShockAPI.TSPlayer.SendMessageFromPlayer(System.String,System.Byte,System.Byte,System.Byte,System.Int32)">
            <summary>
            Sends a message to the player with the specified RGB color.
            </summary>
            <param name="msg">The message.</param>
            <param name="red">The amount of red color to factor in. Max: 255.</param>
            <param name="green">The amount of green color to factor in. Max: 255.</param>
            <param name="blue">The amount of blue color to factor in. Max: 255.</param>
            <param name="ply">The player who receives the message.</param>
        </member>
        <member name="M:TShockAPI.TSPlayer.SendFileTextAsMessage(System.String)">
            <summary>
            Sends the text of a given file to the player. Replacement of %map% and %players% if in the file.
            </summary>
            <param name="file">Filename relative to <see cref="F:TShockAPI.TShock.SavePath"></see></param>
        </member>
        <member name="M:TShockAPI.TSPlayer.DamagePlayer(System.Int32)">
            <summary>
            Wounds the player with the given damage.
            </summary>
            <param name="damage">The amount of damage the player will take.</param>
        </member>
        <member name="M:TShockAPI.TSPlayer.KillPlayer">
            <summary>
            Kills the player.
            </summary>
        </member>
        <member name="M:TShockAPI.TSPlayer.SetTeam(System.Int32)">
            <summary>
            Sets the player's team.
            </summary>
            <param name="team">The team color index.</param>
        </member>
        <member name="M:TShockAPI.TSPlayer.SetPvP(System.Boolean,System.Boolean)">
            <summary>
            Sets the player's pvp.
            </summary>
            <param name="mode">The state of the pvp mode.</param>
        </member>
        <member name="F:TShockAPI.TSPlayer.ActiveChest">
            <summary>
            Represents the ID of the chest that the player is viewing.
            </summary>
        </member>
        <member name="F:TShockAPI.TSPlayer.ItemInHand">
            <summary>
            Represents the current item the player is holding.
            </summary>
        </member>
        <member name="M:TShockAPI.TSPlayer.Disable(System.String,TShockAPI.DisableFlags)">
            <summary>
            Disables the player for the given <paramref name="reason"/>
            </summary>
            <param name="reason">The reason why the player was disabled.</param>
            <param name="flags">Flags to dictate where this event is logged to.</param>
        </member>
        <member name="M:TShockAPI.TSPlayer.Kick(System.String,System.Boolean,System.Boolean,System.String,System.Boolean)">
            <summary>
            Disconnects this player from the server with a reason.
            </summary>
            <param name="reason">The reason to display to the user and to the server on kick.</param>
            <param name="force">If the kick should happen regardless of immunity to kick permissions.</param>
            <param name="silent">If no message should be broadcasted to the server.</param>
            <param name="adminUserName">The originator of the kick, for display purposes.</param>
            <param name="saveSSI">If the player's server side character should be saved on kick.</param>
        </member>
        <member name="M:TShockAPI.TSPlayer.Ban(System.String,System.String)">
            <summary>
            Bans and disconnects the player from the server.
            </summary>
            <param name="reason">The reason to be displayed to the server.</param>
            <param name="adminUserName">The player who initiated the ban.</param>
        </member>
        <member name="M:TShockAPI.TSPlayer.SendMultipleMatchError(System.Collections.Generic.IEnumerable{System.Object})">
            <summary>
            Sends the player an error message stating that more than one match was found
            appending a csv list of the matches.
            </summary>
            <param name="matches">An enumerable list with the matches</param>
        </member>
        <member name="M:TShockAPI.TSPlayer.Whoopie(System.Object)">
            <summary>
            Annoys the player for a specified amount of time.
            </summary>
            <param name="time">The</param>
        </member>
        <member name="M:TShockAPI.TSPlayer.SetBuff(System.Int32,System.Int32,System.Boolean)">
            <summary>
            Applies a buff to the player.
            </summary>
            <param name="type">The buff type.</param>
            <param name="time">The buff duration.</param>
            <param name="bypass"></param>
        </member>
        <member name="M:TShockAPI.TSPlayer.SendData(PacketTypes,System.String,System.Int32,System.Single,System.Single,System.Single,System.Int32)">
            <summary>
            Sends data to the player.
            </summary>
            <param name="msgType">The sent packet</param>
            <param name="text">The packet text.</param>
            <param name="number"></param>
            <param name="number2"></param>
            <param name="number3"></param>
            <param name="number4"></param>
            <param name="number5"></param>
        </member>
        <member name="M:TShockAPI.TSPlayer.SendDataFromPlayer(PacketTypes,System.Int32,System.String,System.Single,System.Single,System.Single,System.Int32)">
            <summary>
            Sends data from the given player.
            </summary>
            <param name="msgType">The sent packet.</param>
            <param name="ply">The packet sender.</param>
            <param name="text">The packet text.</param>
            <param name="number2"></param>
            <param name="number3"></param>
            <param name="number4"></param>
            <param name="number5"></param>
        </member>
        <member name="M:TShockAPI.TSPlayer.SendRawData(System.Byte[])">
            <summary>
            Sends raw data to the player's socket object.
            </summary>
            <param name="data">The data to send.</param>
        </member>
        <member name="M:TShockAPI.TSPlayer.AddResponse(System.String,System.Action{System.Object})">
            <summary>
            Adds a command callback to a specified command string.
            </summary>
            <param name="name">The string representing the command i.e "yes" == /yes</param>
            <param name="callback">The method that will be executed on confirmation ie user accepts</param>
        </member>
        <member name="M:TShockAPI.TSPlayer.HasPermission(System.String)">
            <summary>
            Checks to see if a player has a specific permission.
            Fires the <see cref="M:TShockAPI.Hooks.PlayerHooks.OnPlayerPermission(TShockAPI.TSPlayer,System.String)"/> hook which may be handled to override permission checks.
            If the OnPlayerPermission hook is not handled and the player is assigned a temporary group, this method calls <see cref="M:TShockAPI.Group.HasPermission(System.String)"/> on the temporary group and returns the result.
            If the OnPlayerPermission hook is not handled and the player is not assigned a temporary group, this method calls <see cref="M:TShockAPI.Group.HasPermission(System.String)"/> on the player's current group.
            </summary>
            <param name="permission">The permission to check.</param>
            <returns>True if the player has that permission.</returns>
        </member>
        <member name="M:TShockAPI.TSPlayer.HasPermission(TShockAPI.DB.ItemBan)">
            <summary>
            Checks to see if a player has permission to use the specific banned item.
            Fires the <see cref="M:TShockAPI.Hooks.PlayerHooks.OnPlayerItembanPermission(TShockAPI.TSPlayer,TShockAPI.DB.ItemBan)"/> hook which may be handled to override item ban permission checks.
            </summary>
            <param name="bannedItem">The <see cref="T:TShockAPI.DB.ItemBan" /> to check.</param>
            <returns>True if the player has permission to use the banned item.</returns>
        </member>
        <member name="M:TShockAPI.TSPlayer.HasPermission(TShockAPI.DB.ProjectileBan)">
            <summary>
            Checks to see if a player has permission to use the specific banned projectile.
            Fires the <see cref="M:TShockAPI.Hooks.PlayerHooks.OnPlayerProjbanPermission(TShockAPI.TSPlayer,TShockAPI.DB.ProjectileBan)"/> hook which may be handled to override projectile ban permission checks.
            </summary>
            <param name="bannedProj">The <see cref="T:TShockAPI.DB.ProjectileBan" /> to check.</param>
            <returns>True if the player has permission to use the banned projectile.</returns>
        </member>
        <member name="M:TShockAPI.TSPlayer.HasPermission(TShockAPI.DB.TileBan)">
            <summary>
            Checks to see if a player has permission to use the specific banned tile.
            Fires the <see cref="M:TShockAPI.Hooks.PlayerHooks.OnPlayerTilebanPermission(TShockAPI.TSPlayer,TShockAPI.DB.TileBan)"/> hook which may be handled to override tile ban permission checks.
            </summary>
            <param name="bannedTile">The <see cref="T:TShockAPI.DB.TileBan" /> to check.</param>
            <returns>True if the player has permission to use the banned tile.</returns>
        </member>
        <member name="T:TShockAPI.UpdateManager">
            <summary>
            Responsible for checking for and notifying users about new updates to TShock
            </summary>
        </member>
        <member name="F:TShockAPI.UpdateManager.CheckXMinutes">
            <summary>
            Check once every X minutes.
            </summary>
        </member>
        <member name="M:TShockAPI.UpdateManager.#ctor">
            <summary>
            Creates a new instance of <see cref="T:TShockAPI.UpdateManager"/> and starts the update thread
            </summary>
        </member>
        <member name="M:TShockAPI.UpdateManager.UpdateCheckAsync(System.Object)">
            <summary>
            Checks for updates to the TShock server
            </summary>
            <param name="o"></param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.UpdateManager.ServerIsOutOfDateAsync">
            <summary>
            Checks to see if the server is out of date.
            </summary>
            <returns></returns>
        </member>
        <member name="T:TShockAPI.Utils">
            <summary>
            Utilities and other TShock core calls that don't fit anywhere else
            </summary>
        </member>
        <member name="F:TShockAPI.Utils.BoldHighlight">
            <summary>
            Hex code for a blue pastel color
            </summary>
        </member>
        <member name="F:TShockAPI.Utils.RedHighlight">
            <summary>
            Hex code for a red pastel color
            </summary>
        </member>
        <member name="F:TShockAPI.Utils.GreenHighlight">
            <summary>
            Hex code for a green pastel color
            </summary>
        </member>
        <member name="F:TShockAPI.Utils.PinkHighlight">
            <summary>
            Hex code for a pink pastel color
            </summary>
        </member>
        <member name="F:TShockAPI.Utils.YellowHighlight">
            <summary>
            Hex code for a yellow pastel color
            </summary>
        </member>
        <member name="F:TShockAPI.Utils.WhiteHighlight">
            <summary>
            Hex code for a white highlight
            </summary>
        </member>
        <member name="F:TShockAPI.Utils.CyanHighlight">
            <summary>
            Hex code for a cyan pastel color
            </summary>
        </member>
        <member name="F:TShockAPI.Utils.FirstItemPrefix">
            <summary>
            The lowest id for a prefix.
            </summary>
        </member>
        <member name="F:TShockAPI.Utils.LastItemPrefix">
            <summary>
            The highest id for a prefix.
            </summary>
        </member>
        <member name="F:TShockAPI.Utils.instance">
            <summary>instance - an instance of the utils class</summary>
        </member>
        <member name="M:TShockAPI.Utils.#ctor">
            <summary>Utils - Creates a utilities object.</summary>
        </member>
        <member name="P:TShockAPI.Utils.Instance">
            <summary>Instance - An instance of the utils class.</summary>
            <value>value - the Utils instance</value>
        </member>
        <member name="M:TShockAPI.Utils.GetRealIP(System.String)">
            <summary>
            Provides the real IP address from a RemoteEndPoint string that contains a port and an IP
            </summary>
            <param name="mess">A string IPv4 address in IP:PORT form.</param>
            <returns>A string IPv4 address.</returns>
        </member>
        <member name="M:TShockAPI.Utils.Clamp``1(``0,``0,``0)">
            <summary>
            It's a clamp function
            </summary>
            <typeparam name="T"></typeparam>
            <param name="value">Value to clamp</param>
            <param name="max">Maximum bounds of the clamp</param>
            <param name="min">Minimum bounds of the clamp</param>
            <returns></returns>
        </member>
        <member name="M:TShockAPI.Utils.SaveWorld">
            <summary>
            Saves the map data by calling the SaveManager and instructing it to save the world.
            </summary>
        </member>
        <member name="M:TShockAPI.Utils.Broadcast(System.String,System.Byte,System.Byte,System.Byte)">
            <summary>Broadcast - Broadcasts a message to all players on the server, as well as the server console, and the logs.</summary>
            <param name="msg">msg - The message to send</param>
            <param name="red">red - The amount of red (0-255) in the color for supported destinations.</param>
            <param name="green">green - The amount of green (0-255) in the color for supported destinations.</param>
            <param name="blue">blue - The amount of blue (0-255) in the color for the supported destinations.</param>
        </member>
        <member name="M:TShockAPI.Utils.Broadcast(System.String,Microsoft.Xna.Framework.Color)">
            <summary>>Broadcast - Broadcasts a message to all players on the server, as well as the server console, and the logs.</summary>
            <param name="msg">msg - The message to send</param>
            <param name="color">color - The color object for supported destinations.</param>
        </member>
        <member name="M:TShockAPI.Utils.Broadcast(System.Int32,System.String,System.Byte,System.Byte,System.Byte)">
            <summary>
            Broadcasts a message from a Terraria player, not TShock
            </summary>
            <param name="ply">ply - the Terraria player index that will send the packet</param>
            <param name="msg">msg - The message to send</param>
            <param name="red">red - The amount of red (0-255) in the color for supported destinations.</param>
            <param name="green">green - The amount of green (0-255) in the color for supported destinations.</param>
            <param name="blue">blue - The amount of blue (0-255) in the color for the supported destinations.</param>
        </member>
        <member name="M:TShockAPI.Utils.SendLogs(System.String,Microsoft.Xna.Framework.Color,TShockAPI.TSPlayer)">
            <summary>
            Sends message to all players with 'logs' permission.
            </summary>
            <param name="log">Message to send</param>
            <param name="color">Color of the message</param>
            <param name="excludedPlayer">The player to not send the message to.</param>
        </member>
        <member name="M:TShockAPI.Utils.GetActivePlayerCount">
            <summary>
            Gets the number of active players on the server.
            </summary>
            <returns>The number of active players on the server.</returns>
        </member>
        <member name="M:TShockAPI.Utils.GetRandomClearTileWithInRange(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32@,System.Int32@)">
            <summary>
            Gets a random clear tile in range
            </summary>
            <param name="startTileX">Bound X</param>
            <param name="startTileY">Bound Y</param>
            <param name="tileXRange">Range on the X axis</param>
            <param name="tileYRange">Range on the Y axis</param>
            <param name="tileX">X location</param>
            <param name="tileY">Y location</param>
        </member>
        <member name="M:TShockAPI.Utils.TilePlacementValid(System.Int32,System.Int32)">
            <summary>
            Determines if a tile is valid.
            </summary>
            <param name="tileX">Location X</param>
            <param name="tileY">Location Y</param>
            <returns>If the tile is valid</returns>
        </member>
        <member name="M:TShockAPI.Utils.TileSolid(System.Int32,System.Int32)">
            <summary>
            Checks if the tile is solid.
            </summary>
            <param name="tileX">Location X</param>
            <param name="tileY">Location Y</param>
            <returns>The tile's solidity.</returns>
        </member>
        <member name="M:TShockAPI.Utils.GetItemByIdOrName(System.String)">
            <summary>
            Gets a list of items by ID, Name or Tag.
            </summary>
            <param name="text">Item ID, Name or Tag.</param>
            <returns>A list of matching items.</returns>
        </member>
        <member name="M:TShockAPI.Utils.GetItemById(System.Int32)">
            <summary>
            Gets an item by ID
            </summary>
            <param name="id">ID</param>
            <returns>Item</returns>
        </member>
        <member name="M:TShockAPI.Utils.GetItemByName(System.String)">
            <summary>
            Gets items by name
            </summary>
            <param name="name">name</param>
            <returns>List of Items</returns>
        </member>
        <member name="M:TShockAPI.Utils.GetItemFromTag(System.String)">
            <summary>
            Gets an item based on a chat item tag.
            </summary>
            <param name="tag">A tag in the [i/s#/p#:netid] format.</param>
            <returns>The item represented by the tag.</returns>
        </member>
        <member name="M:TShockAPI.Utils.GetNPCByIdOrName(System.String)">
            <summary>
            Gets an NPC by ID or Name
            </summary>
            <param name="idOrName"></param>
            <returns>List of NPCs</returns>
        </member>
        <member name="M:TShockAPI.Utils.GetNPCById(System.Int32)">
            <summary>
            Gets an NPC by ID
            </summary>
            <param name="id">ID</param>
            <returns>NPC</returns>
        </member>
        <member name="M:TShockAPI.Utils.GetNPCByName(System.String)">
            <summary>
            Gets a NPC by name
            </summary>
            <param name="name">Name</param>
            <returns>List of matching NPCs</returns>
        </member>
        <member name="M:TShockAPI.Utils.GetBuffName(System.Int32)">
            <summary>
            Gets a buff name by id
            </summary>
            <param name="id">ID</param>
            <returns>name</returns>
        </member>
        <member name="M:TShockAPI.Utils.GetBuffDescription(System.Int32)">
            <summary>
            Gets the description of a buff
            </summary>
            <param name="id">ID</param>
            <returns>description</returns>
        </member>
        <member name="M:TShockAPI.Utils.GetBuffByName(System.String)">
            <summary>
            Gets a list of buffs by name
            </summary>
            <param name="name">name</param>
            <returns>Matching list of buff ids</returns>
        </member>
        <member name="M:TShockAPI.Utils.GetPrefixById(System.Int32)">
            <summary>
            Gets a prefix based on its id
            </summary>
            <param name="id">ID</param>
            <returns>Prefix name</returns>
        </member>
        <member name="M:TShockAPI.Utils.GetPrefixByName(System.String)">
            <summary>
            Gets a list of prefixes by name
            </summary>
            <param name="name">Name</param>
            <returns>List of prefix IDs</returns>
        </member>
        <member name="M:TShockAPI.Utils.GetPrefixByIdOrName(System.String)">
            <summary>
            Gets a prefix by ID or name
            </summary>
            <param name="idOrName">ID or name</param>
            <returns>List of prefix IDs</returns>
        </member>
        <member name="M:TShockAPI.Utils.StopServer(System.Boolean,System.String)">
            <summary>
            Stops the server after kicking all players with a reason message, and optionally saving the world
            </summary>
            <param name="save">bool perform a world save before stop (default: true)</param>
            <param name="reason">string reason (default: "Server shutting down!")</param>
        </member>
        <member name="M:TShockAPI.Utils.Reload">
            <summary>
            Reloads all configuration settings, groups, regions and raises the reload event.
            </summary>
        </member>
        <member name="M:TShockAPI.Utils.GetIPv4AddressFromHostname(System.String)">
            <summary>
            Returns an IPv4 address from a DNS query
            </summary>
            <param name="hostname">string ip</param>
        </member>
        <member name="M:TShockAPI.Utils.HasWorldReachedMaxChests">
            <summary>
            Checks if world has hit the max number of chests
            </summary>
            <returns>True if the entire chest array is used</returns>
        </member>
        <member name="M:TShockAPI.Utils.TryParseTime(System.String,System.Int32@)">
            <summary>
            Attempts to parse a string as a timespan (_d_m_h_s).
            </summary>
            <param name="str">The time string.</param>
            <param name="seconds">The seconds.</param>
            <returns>Whether the string was parsed successfully.</returns>
        </member>
        <member name="M:TShockAPI.Utils.TryParseTime(System.String,System.UInt64@)">
            <summary>
            Attempts to parse a string as a positive timespan (_d_m_h_s).
            </summary>
            <param name="str">The time string.</param>
            <param name="seconds">The seconds.</param>
            <returns>Whether the string was parsed successfully.</returns>
        </member>
        <member name="M:TShockAPI.Utils.SearchProjectile(System.Int16,System.Int32)">
            <summary>
            Searches for a projectile by identity and owner
            </summary>
            <param name="identity">identity</param>
            <param name="owner">owner</param>
            <returns>projectile ID</returns>
        </member>
        <member name="M:TShockAPI.Utils.EnumerateRegionBoundaries(Microsoft.Xna.Framework.Rectangle)">
            <summary>
            Enumerates boundary points of the given region's rectangle.
            </summary>
            <param name="regionArea">The region's area to enumerate through.</param>
            <returns>The enumerated boundary points.</returns>
        </member>
        <member name="M:TShockAPI.Utils.EncodeColor(System.Nullable{Microsoft.Xna.Framework.Color})">
            <summary>EncodeColor - Encodes a color as an int.</summary>
            <param name="color">color - The color to encode</param>
            <returns>int? - The encoded color</returns>
        </member>
        <member name="M:TShockAPI.Utils.DecodeColor(System.Nullable{System.Int32})">
            <summary>DecodeColor - Decodes a color encoded by the EncodeColor function.</summary>
            <param name="encodedColor">encodedColor - The encoded color</param>
            <returns>Color? - The decoded color</returns>
        </member>
        <member name="M:TShockAPI.Utils.EncodeBoolArray(System.Boolean[])">
            <summary>
            Encodes a Boolean Array as an int.
            </summary>
            <param name="bools">The boolean array to encode.</param>
            <returns>The encoded int.</returns>
        </member>
        <member name="M:TShockAPI.Utils.DecodeBoolArray(System.Nullable{System.Int32})">
            <summary>
            Decodes a Boolean Array from an int.
            </summary>
            <param name="encodedbools">The encoded Boolean Array.</param>
            <returns>The resulting Boolean Array.</returns>
        </member>
        <member name="M:TShockAPI.Utils.EncodeBitsByte(System.Nullable{Terraria.BitsByte})">
            <summary>EncodeBitsByte - Encodes a BitsByte as a byte.</summary>
            <param name="bitsByte">bitsByte - The BitsByte object</param>
            <returns>byte? - The converted byte</returns>
        </member>
        <member name="M:TShockAPI.Utils.DecodeBitsByte(System.Nullable{System.Int32})">
            <summary>DecodeBitsByte - Decodes a bitsbyte from an int.</summary>
            <param name="encodedBitsByte">encodedBitsByte - The encoded bitsbyte object.</param>
            <returns>BitsByte? - The decoded bitsbyte object</returns>
        </member>
        <member name="M:TShockAPI.Utils.GetResponseNoException(System.Net.HttpWebRequest)">
            <summary>GetResponseNoException - Gets a web response without generating an exception.</summary>
            <param name="req">req - The request to send.</param>
            <returns>HttpWebResponse - The response object.</returns>
        </member>
        <member name="M:TShockAPI.Utils.ColorTag(System.String,Microsoft.Xna.Framework.Color)">
            <summary>
            Colors the given text by correctly applying the color chat tag.
            </summary>
            <param name="text">The text to color.</param>
            <param name="color">The color to apply.</param>
            <returns>The <paramref name="text"/>, surrounded by the color tag with the appropriated hex code.</returns>
        </member>
        <member name="M:TShockAPI.Utils.ItemTag(Terraria.Item)">
            <summary>
            Converts an item into its text representation using the item chat tag.
            </summary>
            <param name="item">The item to convert.</param>
            <returns>The <paramref name="item"/> NetID surrounded by the item tag with proper stack/prefix data.</returns>
        </member>
        <member name="M:TShockAPI.Utils.GetMassWireOperationRange(Microsoft.Xna.Framework.Point,Microsoft.Xna.Framework.Point,System.Boolean)">
            <summary>
            Gets a list of points selected by a mass-wiring tool.
            </summary>
            <param name="start">The starting point for the selection.</param>
            <param name="end">The ending point for the selection.</param>
            <param name="direction">False if facing left, True if facing right.</param>
            <returns>
            A list of coordinates containing the <paramref name="start"/> and <paramref name="end"/>
            points and a list of points between them, forming an L shape based on <paramref name="direction"/>.
            </returns>
        </member>
        <member name="M:TShockAPI.Utils.Dump(System.Boolean)">
            <summary>
            Dumps information and optionally exits afterwards
            </summary>
            <param name="exit"></param>
        </member>
        <member name="M:TShockAPI.Utils.DumpPermissionMatrix(System.String)">
            <summary>Dumps a matrix of all permissions &amp; all groups in Markdown table format.</summary>
            <param name="path">The save destination.</param>
        </member>
        <member name="M:TShockAPI.Utils.StartInvasion(System.Int32)">
            <summary>Starts an invasion on the server.</summary>
            <param name="type">The invasion type id.</param>
        </member>
        <member name="M:TShockAPI.Utils.FixChestStacks">
            <summary>Verifies that each stack in each chest is valid and not over the max stack count.</summary>
        </member>
        <member name="M:TShockAPI.Utils.SetConsoleTitle(System.Boolean)">
            <summary>Updates the console title with some pertinent information.</summary>
            <param name="empty">If the server is empty; determines if we should use Utils.GetActivePlayerCount() for player count or 0.</param>
        </member>
        <member name="M:TShockAPI.Utils.Distance(Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2)">
            <summary>Determines the distance between two vectors.</summary>
            <param name="value1">The first vector location.</param>
            <param name="value2">The second vector location.</param>
            <returns>The distance between the two vectors.</returns>
        </member>
        <member name="M:TShockAPI.Utils.IsInSpawn(System.Int32,System.Int32)">
            <summary>Checks to see if a location is in the spawn protection area.</summary>
            <param name="x">The x coordinate to check.</param>
            <param name="y">The y coordinate to check.</param>
            <returns>If the given x,y location is in the spawn area.</returns>
        </member>
        <member name="M:TShockAPI.Utils.ComputeMaxStyles">
            <summary>Computes the max styles...</summary>
        </member>
        <member name="T:MaxMind.GeoIPCountry">
            <summary>
            Allows for looking up a country based on an IP address.  See www.maxmind.com for more details.
            </summary>
            <example>
            	static void Main(string[] args)
            	{
            		using(GeoIPCountry geo = new GeoIPCountry("GeoIP.dat"))
            		{
            			try
            			{
            				Console.WriteLine("Country code of IP address 67.15.94.80: " + geo.GetCountryCode("67.15.94.80"));
            			}
            			catch(Exception ex)
            			{
            				Console.WriteLine(ex.ToString());
            			}
            		}
            	}
            </example>
        </member>
        <member name="M:MaxMind.GeoIPCountry.#ctor(System.IO.Stream)">
            <summary>
            Initialises a new instance of this class.
            </summary>
            <param name="datafile">An already open stream pointing to the contents of a GeoIP.dat file.</param>
            <remarks>The stream is not closed when this class is disposed. Be sure to clean up afterwards!</remarks>
        </member>
        <member name="M:MaxMind.GeoIPCountry.#ctor(System.String)">
            <summary>
            Initialises a new instance of this class, using an on-disk database.
            </summary>
            <param name="filename">Path to database file.</param>
            <remarks>The file will be closed when this class is disposed.</remarks>
        </member>
        <member name="M:MaxMind.GeoIPCountry.GetCountryCode(System.Net.IPAddress)">
            <summary>
            Retrieves a two-letter code, defined by MaxMind, which details the country the specified IP address is located.
            </summary>
            <param name="ip">IP address to query.</param>
            <returns>A two-letter code string. Throws exceptions on failure.</returns>
            <remarks>The IP address must be IPv4.</remarks>
        </member>
        <member name="M:MaxMind.GeoIPCountry.TryGetCountryCode(System.Net.IPAddress)">
            <summary>
            Retrieves a two-letter code, defined by MaxMind, which details the country the specified IP address is located. Does not throw exceptions on failure.
            </summary>
            <param name="ip">IP address to query.</param>
            <returns>Two-letter country code or null on failure.</returns>
        </member>
        <member name="M:MaxMind.GeoIPCountry.GetCountryNameByCode(System.String)">
            <summary>
            Gets the English name of a country, by a country code.
            </summary>
            <param name="countrycode">Country code to look up, returned by GetCountryCode or TryGetCountryCode.</param>
            <returns>English name of the country, or null on failure.</returns>
        </member>
        <member name="T:Rests.EscapedParameter">
            <summary>
            Wraps an <see cref="T:HttpServer.IParameter"/>, providing URI-unescaping for its value
            </summary>
        </member>
        <member name="P:Rests.EscapedParameter.Name">
            <summary>
            Name of the parameter
            </summary>
        </member>
        <member name="P:Rests.EscapedParameter.Value">
            <summary>
            URI-unescaped value of the parameter
            </summary>
        </member>
        <member name="M:Rests.EscapedParameter.#ctor(HttpServer.IParameter)">
            <summary>
            Constructs a new EscapedParameter wrapping the given <see cref="T:HttpServer.IParameter"/>
            </summary>
            <param name="parameter"></param>
        </member>
        <member name="T:Rests.EscapedParameterCollection">
            <summary>
            Wraps an <see cref="T:HttpServer.IParameterCollection"/>, providing URI-unescaping for the parameters in the collection
            </summary>
        </member>
        <member name="P:Rests.EscapedParameterCollection.Item(System.String)">
            <summary>
            Retrieve a parameter by name, returning the URI-unescaped value
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Rests.EscapedParameterCollection.#ctor(HttpServer.IParameterCollection)">
            <summary>
            Constructs a new EscapedParameterCollection wrapping the given <see cref="T:HttpServer.IParameterCollection"/>
            </summary>
            <param name="collection"></param>
        </member>
        <member name="M:Rests.EscapedParameterCollection.GetEnumerator">
            <summary>
            Returns an enumerator that can be used to iterate over this collection
            </summary>
            <returns></returns>
        </member>
        <member name="T:Rests.RestCommandD">
            <summary>
            Rest command delegate
            </summary>
            <param name="args"><see cref="T:Rests.RestRequestArgs"/> object containing Verbs, Parameters, Request, and TokenData</param>
            <returns>Response object or null to not handle request</returns>
        </member>
        <member name="T:Rests.RestRequestArgs">
            <summary>
            Describes the data contained in a REST request
            </summary>
        </member>
        <member name="P:Rests.RestRequestArgs.Verbs">
            <summary>
            Verbs sent in the request
            </summary>
        </member>
        <member name="P:Rests.RestRequestArgs.Parameters">
            <summary>
            Parameters sent in the request
            </summary>
        </member>
        <member name="P:Rests.RestRequestArgs.Request">
            <summary>
            The HTTP request
            </summary>
        </member>
        <member name="P:Rests.RestRequestArgs.TokenData">
            <summary>
            Token data used by the request
            </summary>
        </member>
        <member name="P:Rests.RestRequestArgs.Context">
            <summary>
            <see cref="T:HttpServer.IHttpContext"/> used by the request
            </summary>
        </member>
        <member name="M:Rests.RestRequestArgs.#ctor(Rests.RestVerbs,HttpServer.IParameterCollection,HttpServer.IRequest,HttpServer.IHttpContext)">
            <summary>
            Creates a new instance of <see cref="T:Rests.RestRequestArgs"/> with the given verbs, parameters, request, and context.
            No token data is used
            </summary>
            <param name="verbs">Verbs used in the request</param>
            <param name="param">Parameters used in the request</param>
            <param name="request">The HTTP request</param>
            <param name="context">The HTTP context</param>
        </member>
        <member name="M:Rests.RestRequestArgs.#ctor(Rests.RestVerbs,HttpServer.IParameterCollection,HttpServer.IRequest,Rests.SecureRest.TokenData,HttpServer.IHttpContext)">
            <summary>
            Creates a new instance of <see cref="T:Rests.RestRequestArgs"/> with the given verbs, parameters, request, token data, and context.
            </summary>
            <param name="verbs">Verbs used in the request</param>
            <param name="param">Parameters used in the request</param>
            <param name="request">The HTTP request</param>
            <param name="tokenData">Token data used in the request</param>
            <param name="context">The HTTP context</param>
        </member>
        <member name="M:Rests.RestRequestArgs.#ctor(Rests.RestVerbs,Rests.EscapedParameterCollection,HttpServer.IRequest,Rests.SecureRest.TokenData,HttpServer.IHttpContext)">
            <summary>
            Creates a new instance of <see cref="T:Rests.RestRequestArgs"/> with the given verbs, escaped parameters, request, token data, and context.
            </summary>
            <param name="verbs"></param>
            <param name="param"></param>
            <param name="request"></param>
            <param name="tokenData"></param>
            <param name="context"></param>
        </member>
        <member name="T:Rests.Rest">
            <summary>
            A RESTful API service
            </summary>
        </member>
        <member name="F:Rests.Rest.redirects">
            <summary>
            Contains redirect URIs. The key is the base URI. The first item of the tuple is the redirect URI.
            The second item of the tuple is an optional "upgrade" URI which will be added to the REST response.
            </summary>
        </member>
        <member name="F:Rests.Rest.tokenBucket">
            <summary>
            Contains tokens used to manage REST authentication
            </summary>
        </member>
        <member name="P:Rests.Rest.Ip">
            <summary>
            <see cref="T:System.Net.IPAddress"/> the REST service is listening on
            </summary>
        </member>
        <member name="P:Rests.Rest.Port">
            <summary>
            Port the REST service is listening on
            </summary>
        </member>
        <member name="M:Rests.Rest.#ctor(System.Net.IPAddress,System.Int32)">
            <summary>
            Creates a new instance of <see cref="T:Rests.Rest"/> listening on the given IP and port
            </summary>
            <param name="ip"><see cref="T:System.Net.IPAddress"/> to listen on</param>
            <param name="port">Port to listen on</param>
        </member>
        <member name="M:Rests.Rest.Start">
            <summary>
            Starts the RESTful API service
            </summary>
        </member>
        <member name="M:Rests.Rest.Start(System.Net.IPAddress,System.Int32)">
            <summary>
            Starts the RESTful API service using the given <see cref="T:System.Net.IPAddress"/> and port
            </summary>
            <param name="ip"><see cref="T:System.Net.IPAddress"/> to listen on</param>
            <param name="port">Port to listen on</param>
        </member>
        <member name="M:Rests.Rest.Stop">
            <summary>
            Stops the RESTful API service
            </summary>
        </member>
        <member name="M:Rests.Rest.Register(System.String,Rests.RestCommandD)">
            <summary>
            Registers a command using the given route
            </summary>
            <param name="path">URL route</param>
            <param name="callback">Command callback</param>
        </member>
        <member name="M:Rests.Rest.Register(Rests.RestCommand)">
            <summary>
            Registers a <see cref="T:Rests.RestCommand"/>
            </summary>
            <param name="com"><see cref="T:Rests.RestCommand"/> to register</param>
        </member>
        <member name="M:Rests.Rest.RegisterRedirect(System.String,System.String,System.String,System.Boolean)">
            <summary>
            Registers a redirection from a given REST route to a target REST route, with an optional upgrade URI
            </summary>
            <param name="baseRoute">The base URI that will be requested</param>
            <param name="targetRoute">The target URI to redirect to from the base URI</param>
            <param name="upgradeRoute">The upgrade route that will be added as an object to the <see cref="T:Rests.RestObject"/> response of the target route</param>
            <param name="parameterized">Whether the route uses parameterized querying or not.</param>
        </member>
        <member name="M:Rests.Rest.AddCommand(Rests.RestCommand)">
            <summary>
            Adds a <see cref="T:Rests.RestCommand"/> to the service's command list
            </summary>
            <param name="com"><see cref="T:Rests.RestCommand"/> to add</param>
        </member>
        <member name="M:Rests.Rest.OnRequest(System.Object,HttpServer.RequestEventArgs)">
            <summary>
            Called when the <see cref="T:HttpServer.HttpListener"/> receives a request
            </summary>
            <param name="sender">Sender of the request</param>
            <param name="e">RequestEventArgs received</param>
        </member>
        <member name="M:Rests.Rest.ProcessRequest(System.Object,HttpServer.RequestEventArgs)">
            <summary>
            Attempts to process a request received by the <see cref="T:HttpServer.HttpListener"/>
            </summary>
            <param name="sender">Sender of the request</param>
            <param name="e">RequestEventArgs received</param>
            <returns>A <see cref="T:Rests.RestObject"/> describing the state of the request</returns>
        </member>
        <member name="M:Rests.Rest.ExecuteCommand(Rests.RestCommand,Rests.RestVerbs,HttpServer.IParameterCollection,HttpServer.IRequest,HttpServer.IHttpContext)">
            <summary>
            Executes a <see cref="T:Rests.RestCommand"/> using the provided verbs, parameters, request, and context objects
            </summary>
            <param name="cmd">The REST command to execute</param>
            <param name="verbs">The REST verbs used in the command</param>
            <param name="parms">The REST parameters used in the command</param>
            <param name="request">The HTTP request object associated with the command</param>
            <param name="context">The HTTP context associated with the command</param>
            <returns></returns>
        </member>
        <member name="M:Rests.Rest.BuildRequestUri(Rests.RestCommand,Rests.RestVerbs,HttpServer.IParameterCollection,System.Boolean)">
            <summary>
            Builds a request URI from the parameters, verbs, and URI template of a <see cref="T:Rests.RestCommand"/>
            </summary>
            <param name="cmd">The REST command to take the URI template from</param>
            <param name="verbs">Verbs used in building the URI string</param>
            <param name="parms">Parameters used in building the URI string</param>
            <param name="includeToken">Whether or not to include a token in the URI</param>
            <returns></returns>
        </member>
        <member name="M:Rests.Rest.Dispose">
            <summary>
            Disposes the RESTful API service
            </summary>
        </member>
        <member name="M:Rests.Rest.Dispose(System.Boolean)">
            <summary>
            Disposes the RESTful API service
            </summary>
            <param name="disposing"></param>
        </member>
        <member name="M:Rests.Rest.Finalize">
            <summary>
            Destructor
            </summary>
        </member>
        <member name="M:Rests.RestCommand.#ctor(System.String,System.String,Rests.RestCommandD)">
            <summary>
            Creates a new <see cref="T:Rests.RestCommand"/> used with the REST API
            </summary>
            <param name="name">Used for identification</param>
            <param name="uritemplate">Url template</param>
            <param name="callback">Rest Command callback</param>
        </member>
        <member name="M:Rests.RestCommand.#ctor(System.String,Rests.RestCommandD)">
            <summary>
            Creates a new <see cref="T:Rests.RestCommand"/> used with the REST API
            </summary>
            <param name="uritemplate">Url template</param>
            <param name="callback">Rest Command callback</param>
        </member>
        <member name="P:Rests.RestObject.Item(System.String)">
            <summary>
            Gets value safely, if it does not exist, return null. Sets/Adds value safely, if null it will remove.
            </summary>
            <param name="key">the key</param>
            <returns>Returns null if key does not exist.</returns>
        </member>
        <member name="T:Rests.RestPermissions">
            <summary>Contains the REST permission nodes used in TShock.</summary>
        </member>
        <member name="T:Rests.RestVerbs">
            <summary>
            A dictionary collection of verbs used in a REST request
            </summary>
        </member>
        <member name="P:Rests.RestVerbs.Item(System.String)">
            <summary>
            Gets value safely, if it does not exist, return null. Sets/Adds value safely, if null it will remove.
            </summary>
            <param name="key">the key</param>
            <returns>Returns null if key does not exist.</returns>
        </member>
    </members>
</doc>
