<?xml version="1.0"?>
<doc>
    <assembly>
        <name>VintagestoryAPI</name>
    </assembly>
    <members>
        <member name="T:Vintagestory.API.Common.IAmbientManager">
            <summary>
            This is the system that manages the worlds ambient settings, such as fog color/density and clouds.
            The ambient manager basically blends ambientmodifiers on top of each other to generate the final ambient values.
            Blending is in order how the modifiers are held in CurrentModifiers in the likes of
            float weight = modifier.FogMin.Weight;
            BlendedFogMin = w * modifier.FogMin.Value + (1 - w) * BlendedFogMin;
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IAmbientManager.Base">
            <summary>
            The base value or background ambient to overlay everything onto
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IAmbientManager.CurrentModifiers">
            <summary>
            The list of modifiers that result in the blended values
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IAmbientManager.BlendedFogColor">
            <summary>
            The blended fog color, calculated every frame from the list of modifiers
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IAmbientManager.BlendedAmbientColor">
            <summary>
            The blended ambient color, calculated every frame from the list of modifiers
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IAmbientManager.BlendedFogDensity">
            <summary>
            The blended fog density, calculated every frame from the list of modifiers
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IAmbientManager.BlendedFlatFogDensity">
            <summary>
            The blended flat fog density, calculated every frame from the list of modifiers
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IAmbientManager.BlendedFlatFogYOffset">
            <summary>
            The blended flat fog y-offset, calculated every frame from the list of modifiers
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IAmbientManager.BlendedFlatFogYPosForShader">
            <summary>
            BlendedFlatFogYPos + SeaLevel - MainCamera.TargetPosition.Y
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IAmbientManager.BlendedFogMin">
            <summary>
            The blended fog min, calculated every frame from the list of modifiers
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IAmbientManager.BlendedCloudBrightness">
            <summary>
            The blended cloud brightness, calculated every frame from the list of modifiers
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IAmbientManager.BlendedCloudDensity">
            <summary>
            The blended cloud density, calculated every frame from the list of modifiers
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IAmbientManager.UpdateAmbient(System.Single)">
            <summary>
            The update loop for this manager. Runs every frame.
            </summary>
            <param name="dt">the Delta or change in Time</param>
        </member>
        <member name="M:Vintagestory.API.Common.INetworkAPI.RegisterChannel(System.String)">
            <summary>
            Supplies you with your very own and personal network channel with which you can send packets to the server. Use the same channelName on the client and server to have them link up.
            </summary>
            <param name="channelName">Unique channel identifier</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.INetworkAPI.RegisterUdpChannel(System.String)">
            <summary>
            Supplies you with your very own and personal network channel with which you can send packets to the server. Use the same channelName on the client and server to have them link up.
            Do not send larger messages then 508 bytes since some clients may be behind NAT/firwalls that may drop your packets if they get fragmented
            </summary>
            <param name="channelName">Unique channel identifier</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.INetworkAPI.GetChannel(System.String)">
            <summary>
            Returns a previously registered channeled, null otherwise
            </summary>
            <param name="channelName"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.INetworkAPI.GetUdpChannel(System.String)">
            <summary>
            Returns a previously registered channeled, null otherwise
            </summary>
            <param name="channelName"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.BlockLayersAccess">
            <summary>
            Constants used for GetBlock or GetBlockId calls throughout the engine, to guide whether the block should be read from the solid blocks layer, the fluids layer, or perhaps both.
            <br/>The game engine supports different block layers in 1.17+.  Currently there is a solid blocks layer (e.g. terrain, loose stones, plants, reeds) and a fluid layer (e.g. still water, flowing water, lava, lake ice). Both layers can contain a block at the same position.
            <br/>Use the .Default value for getting blocks in the general case, use the .Solid/.Fluid value to read from the solid blocks or fluid layer specifically
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockLayersAccess.Default">
            <summary>
            GetBlock:<br/>
            Returns the contents of the solid blocks layer. If the solid blocks layer is completely empty, returns the value from the fluid layer instead. Keep in mind, the fluid layer might contain ice!<br/>
            If this returns air (block id 0) then it really is an air block: there is nothing in either the solid blocks layer or the fluid layer
            SetBlock:<br/>
            Sets supplied block id. If that blocks property ForFluidsLayer is true, it will be placed in the fluids layer instead and the solid block layer will be cleared.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockLayersAccess.SolidBlocks">
            <summary>
            Returns a block from the solid blocks layer only.  <br/>A return value of air (block id 0) signifies no solid block is present but there may still be a fluid block, for example still water
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockLayersAccess.Solid">
            <summary>
            Returns a block from the solid blocks layer only. Same as <see cref="F:Vintagestory.API.Common.BlockLayersAccess.SolidBlocks"/>
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockLayersAccess.Fluid">
            <summary>
            Returns a block from the fluid layer only, which might contain ice. <br/>A return value of air (block id 0) signifies no fluid is present at this position
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockLayersAccess.FluidOrSolid">
            <summary>
            Returns the contents of the fluid layer, unless it is empty in which case returns the solid blocks layer - useful for generating the RainHeightMap for example
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockLayersAccess.MostSolid">
            <summary>
            Returns the most solid block, in the following order: <br/>
            1. Ice in the fluid layer<br/>
            2. Whichever block is in the solid blocks layer<br/>
            3. Air (block id 0) if neither is present - note this access may therefore return 0 even if liquid water or lava is present in the fluid layer.<br/><br/>
            Useful for block collision checks, side solid checks (can a block attach here?) and similar physics
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.CmdArgs">
            <summary>
            The arguments from a client or sever command
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.CmdArgs.#ctor">
            <summary>
            Creates a new instance of the CmdArgs util with no arguments
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.CmdArgs.#ctor(System.String)">
            <summary>
            Creates a new instance of the CmdArgs util
            </summary>
            <param name="joinedargs"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CmdArgs.#ctor(System.String[])">
            <summary>
            Creates a new instance of the CmdArgs util
            </summary>
            <param name="args"></param>
        </member>
        <member name="P:Vintagestory.API.Common.CmdArgs.Item(System.Int32)">
            <summary>
            Returns the n-th arugment
            </summary>
            <param name="index"></param>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.CmdArgs.Length">
            <summary>
            Amount of arguments passed
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.CmdArgs.PopAll">
            <summary>
            Returns all remaining arguments as single merged string, concatenated with spaces
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CmdArgs.PeekChar(System.Nullable{System.Char})">
            <summary>
            Returns the first char of the first argument
            </summary>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CmdArgs.PopChar(System.Nullable{System.Char})">
            <summary>
            Remove the first character from the first argument and returns it
            </summary>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CmdArgs.PopWord(System.String)">
            <summary>
            Removes the first argument and returns it, scans until it encounters a white space
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.CmdArgs.PeekWord(System.String)">
            <summary>
            Removes the first argument and returns it
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.CmdArgs.PushSingle(System.String)">
            <summary>
            Adds an arg to the beginning
            </summary>
            <param name="arg"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CmdArgs.AppendSingle(System.String)">
            <summary>
            Adds an arg to the end
            </summary>
            <param name="arg"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CmdArgs.PopEnum``1(``0)">
            <summary>
            Tries to retrieve arg at given index as enum value or default if not enough arguments or not part of the enum
            </summary>
            <typeparam name="T"></typeparam>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CmdArgs.PopInt(System.Nullable{System.Int32})">
            <summary>
            Tries to retrieve arg at given index as int, or null if not enough arguments or not an integer
            </summary>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CmdArgs.TryParseIntFancy(System.String,System.Int32@)">
            <summary>
            Tries to parse a string to an integer, returns 0 if it fails
            <br/>Enhancements over system int.TryParse():  (1) the thousands separator (comma) is ignored  (2) hex numbers are possible with 0x prefix  (3) uint values over int.MaxValue are possible (may convert to a negative int, but that can be converted back to the original uint), more generally any valid long value is permitted
            <br/>All three enhancements are useful if we ever need, in a command, to set - for example - a color value (32 bits) from hex or unsigned decimal
            </summary>
            <param name="arg"></param>
            <param name="val"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CmdArgs.PopLong(System.Nullable{System.Int64})">
            <summary>
            Tries to retrieve arg at given index as long, or null if not enough arguments or not a long
            </summary>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CmdArgs.PopBool(System.Nullable{System.Boolean},System.String)">
            <summary>
            Tries to retrieve arg at given index as boolean, or null if not enough arguments or not an integer
            <br/>'true', 'yes' and '1' will all be interpreted as true.  Parameter trueAlias (with default value 'on') allows one additional word to be used to signify true.  Anything else will return false.
            </summary>
            <param name="defaultValue"></param>
            <param name="trueAlias"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CmdArgs.PopDouble(System.Nullable{System.Double})">
            <summary>
            Tries to retrieve arg at given index as int, or null if not enough arguments or not an integer
            </summary>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CmdArgs.PopFloat(System.Nullable{System.Single})">
            <summary>
            Tries to retrieve arg at given index as float, or null if not enough arguments or not a float
            </summary>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CmdArgs.PopVec3i(Vintagestory.API.MathTools.Vec3i)">
            <summary>
            Tries to retrieve 3 int coordinates from the next 3 arguments
            </summary>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CmdArgs.PopFlexiblePos(Vintagestory.API.MathTools.Vec3d,Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Retrieves a player position with following syntax:
            [coord] [coord] [coord]
            whereas 
            [coord] may be ~[decimal]  or =[decimal] or [decimal]
            ~ denotes a position relative to the player
            = denotes an absolute position
            no prefix denots a position relative to the map middle
            </summary>
            <param name="playerPos"></param>
            <param name="mapMiddle"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CmdArgs.PopFlexiblePos2D(Vintagestory.API.MathTools.Vec3d,Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Retrieves a player position with following syntax:
            [coord] [coord] [coord]
            whereas 
            [coord] may be ~[decimal]  or =[decimal] or [decimal]
            ~ denotes a position relative to the player
            = denotes an absolute position
            no prefix denots a position relative to the map middle
            </summary>
            <param name="playerPos"></param>
            <param name="mapMiddle"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CommandArgumentParsers.OptionalEntities(System.String)">
            <summary>
            Defaults to caller entity
            </summary>
            <param name="argName"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CommandArgumentParsers.OnlinePlayer(System.String)">
            <summary>
            A currently online player
            </summary>
            <param name="argName"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CommandArgumentParsers.PlayerUids(System.String)">
            <summary>
            All selected players
            </summary>
            <param name="argName"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CommandArgumentParsers.OptionalPlayerUids(System.String)">
            <summary>
            All selected players
            </summary>
            <param name="argName"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CommandArgumentParsers.PlayerRole(System.String)">
            <summary>
            Parses IPlayerRole, only works on Serverside since it needs the Serverconfig
            </summary>
            <param name="argName"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CommandArgumentParsers.OptionalPlayerRole(System.String)">
            <summary>
            Parses IPlayerRole, only works on Serverside since it needs the Serverconfig
            </summary>
            <param name="argName"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CommandArgumentParsers.Color(System.String)">
            <summary>
            Parses a string which is either a color name or a hex value as a <see cref="T:System.Drawing.Color"/>
            </summary>
            <param name="argName"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CommandArgumentParsers.OptionalColor(System.String)">
            <summary>
            Parses a string which is either a color name or a hex value as a <see cref="T:System.Drawing.Color"/>
            </summary>
            <param name="argName"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CommandArgumentParsers.All(System.String)">
            <summary>
            All remaining arguments together
            </summary>
            <param name="argName"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CommandArgumentParsers.OptionalAll(System.String)">
            <summary>
            All remaining arguments together
            </summary>
            <param name="argName"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CommandArgumentParsers.OptionalWorldPosition(System.String)">
            <summary>
            Defaults to caller position
            </summary>
            <param name="argName"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CommandArgumentParsers.DateTime(System.String)">
            <summary>
            Currently only supports time spans (i.e. now + time)
            </summary>
            <param name="argName"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ArgumentParserBase.GetSyntaxWithExplanation(System.String)">
            <summary>
            Like GetSyntaxExplanation() but can return the custom-specified explanation instead of the default explanation. Sub-classes should not normally modify this
            </summary>
            <param name="indent"></param>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IChatCommand.FullName">
            <summary>
            Name of this command plus parent command names
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IChatCommand.Name">
            <summary>
            Name of this command
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IChatCommand.Description">
            <summary>
            Get the description of this command
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IChatCommand.AdditionalInformation">
            <summary>
            Get the detailed description of this command
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IChatCommand.Examples">
            <summary>
            Get the examples of this command
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IChatCommand.Incomplete">
            <summary>
            True if either name or privilege has not been set
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IChatCommand.Aliases">
            <summary>
            Aliases for this command or subcommand
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IChatCommand.RootAliases">
            <summary>
            RootAliases for this command or subcommand
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IChatCommand.CommandPrefix">
            <summary>
            Get the prefix of this command
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IChatCommand.Item(System.String)">
            <summary>
            Retrieve subcommand
            </summary>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IChatCommand.WithPreCondition(Vintagestory.API.Common.CommandPreconditionDelegate)">
            <summary>
            If return value is error, command cannot be executed
            </summary>
            <param name="p"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IChatCommand.WithName(System.String)">
            <summary>
            Sets the command name
            </summary>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IChatCommand.WithAlias(System.String[])">
            <summary>
            Registers alternative names for this command
            </summary>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IChatCommand.WithRootAlias(System.String)">
            <summary>
            Registers an alternative name for this command, always at the root level, i.e. /name
            </summary>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IChatCommand.WithDescription(System.String)">
            <summary>
            Set command description
            </summary>
            <param name="description"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IChatCommand.WithAdditionalInformation(System.String)">
            <summary>
            Set additional detailed command description, for command-specific help
            </summary>
            <param name="detail"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IChatCommand.WithExamples(System.String[])">
            <summary>
            Define one ore more examples on how this command can be executed
            </summary>
            <param name="examaples"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IChatCommand.WithArgs(Vintagestory.API.Common.ICommandArgumentParser[])">
            <summary>
            Define command arguments, you'd usually want to use one of the parsers supplied from from capi.ChatCommands.Parsers
            </summary>
            <param name="args"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IChatCommand.RequiresPrivilege(System.String)">
            <summary>
            Define the required privilege to run this command / subcommand
            </summary>
            <param name="privilege"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IChatCommand.RequiresPlayer">
            <summary>
            This command can only be run if the caller is a player
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IChatCommand.BeginSubCommand(System.String)">
            <summary>
            Define/Modify a subcommnad. Returns a new subcommand instance.
            </summary>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IChatCommand.BeginSubCommands(System.String[])">
            <summary>
            Define/Modify multiple subcommands. Returns a new subcommand instance.
            </summary>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IChatCommand.EndSubCommand">
            <summary>
            Leave current subcommand. Returns parent command instance.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IChatCommand.HandleWith(Vintagestory.API.Common.OnCommandDelegate)">
            <summary>
            Define method to be called when the command is executed
            </summary>
            <param name="handler"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IChatCommand.Execute(Vintagestory.API.Common.TextCommandCallingArgs,System.Action{Vintagestory.API.Common.TextCommandResult})">
            <summary>
            Manually execute this command
            </summary>
            <param name="callargs"></param>
            <param name="onCommandComplete"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IChatCommand.IsAvailableTo(Vintagestory.API.Common.Caller)">
            <summary>
            Confirm whether the specified caller has the required privilege for this command
            </summary>
            <param name="caller"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IChatCommand.Validate">
            <summary>
            Optional validation step that ensures that all the command and all its subcommands has a name, handler, privilege and description defined
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IChatCommand.CallSyntax">
            <summary>
            Get a string showing how to call this command or subcommand
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IChatCommand.AddParameterSyntax(System.Text.StringBuilder,System.String)">
            <summary>
            Add text listing the parameters
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IChatCommand.AddSyntaxExplanation(System.Text.StringBuilder,System.String)">
            <summary>
            Add text explaining the form and interpretation of some of the more complex parameter types
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.CommandAbbr.IChatCommandExt">
            <summary>
            ChatCommand Abbreviations
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.CommandAbbr.IChatCommandExt.WithDesc(Vintagestory.API.Common.IChatCommand,System.String)">
            <summary>
            Alias of WithDescription()
            </summary>
            <param name="cmd"></param>
            <param name="description"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CommandAbbr.IChatCommandExt.BeginSub(Vintagestory.API.Common.IChatCommand,System.String)">
            <summary>
            Alias for BeginSubCommand
            </summary>
            <param name="cmd"></param>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CommandAbbr.IChatCommandExt.BeginSubs(Vintagestory.API.Common.IChatCommand,System.String[])">
            <summary>
            Alias for BeginSubCommands
            </summary>
            <param name="cmd"></param>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CommandAbbr.IChatCommandExt.EndSub(Vintagestory.API.Common.IChatCommand)">
            <summary>
            Alias for EndSubCommand
            </summary>
            <param name="cmd"></param>
            <returns></returns>
        </member>
        <member name="F:Vintagestory.API.Common.EnumCommandStatus.Deferred">
            <summary>
            Command cannot execute at this point, likely doing an async call. Prints no output. 
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumCommandStatus.Error">
            <summary>
            The command encountered an issue
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumCommandStatus.UnknownLegacy">
            <summary>
            Command status is unknown because this is a legacy command using the old method of registering commands
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.TextCommandResult.StatusMessage">
            <summary>
            Will be displayed with a Lang.Get()
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ICommandArgumentParser.ArgCount">
            <summary>
            Return -1 to ignore arg count checking
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ICommandArgumentParser.TryProcess(Vintagestory.API.Common.TextCommandCallingArgs,System.Action{Vintagestory.API.Common.AsyncParseResults})">
            <summary>
            Parse the args.
            </summary>
            <param name="args"></param>
            <param name="onReady">Only needs to be called when returning Deferred as parseresult</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ICommandArgumentParser.SetValue(System.Object)">
            <summary>
            Used by the async system
            </summary>
            <param name="data"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ICommandArgumentParser.WithExplanation(System.String)">
            <summary>
            An optional description of this argument (or an example), to be shown in command handbook or with /help
            </summary>
            <param name="desc"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IChatCommandApi.Execute(System.String,Vintagestory.API.Common.TextCommandCallingArgs,System.Action{Vintagestory.API.Common.TextCommandResult})">
            <summary>
            Executes a parsed command
            </summary>
            <param name="name">Name of the command without arguments, without prefix</param>
            <param name="args"></param>
            <param name="onCommandComplete">Called when the command finished executing</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IChatCommandApi.ExecuteUnparsed(System.String,Vintagestory.API.Common.TextCommandCallingArgs,System.Action{Vintagestory.API.Common.TextCommandResult})">
            <summary>
            Executes a raw command 
            </summary>
            <param name="message">Full command line, e.g. /entity spawn chicken-hen 1</param>
            <param name="args"></param>
            <param name="onCommandComplete">Called when the command finished executing</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IChatCommandApi.GetOrdered(System.Collections.Generic.Dictionary{System.String,Vintagestory.API.Common.IChatCommand})">
            <summary>
            Get all commands ordered by name ASC
            </summary>
            <param name="command"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IChatCommandApi.GetOrdered(Vintagestory.API.Common.IChatCommandApi)">
            <summary>
            Get all commands from <see cref="T:Vintagestory.API.Common.IChatCommandApi"/> ordered by name ASC
            </summary>
            <param name="chatCommandApi"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.ChatCommand">
            <summary>
            A base class for all chat commands.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ChatCommand.Command">
            <summary>
            the command calling name.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ChatCommand.Syntax">
            <summary>
            The syntax of the command.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ChatCommand.Description">
            <summary>
            The description of the command.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ChatCommand.RequiredPrivilege">
            <summary>
            The required privilage for the command to be ran.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ChatCommand.CallHandler(Vintagestory.API.Common.IPlayer,System.Int32,Vintagestory.API.Common.CmdArgs)">
            <summary>
            The call handler for the command.
            </summary>
            <param name="player">The player calling the command.</param>
            <param name="groupId">The groupID of the player.</param>
            <param name="args">The arguments of the command.</param>
        </member>
        <member name="M:Vintagestory.API.Common.ChatCommand.GetDescription">
            <summary>
            gets the description of the command.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ChatCommand.GetSyntax">
            <summary>
            Gets the syntax of the command.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ChatCommand.GetHelpMessage">
            <summary>
            Gets the help message of the command.
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.ServerChatCommand">
            <summary>
            A handler for creating server commands.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ServerChatCommand.HasPrivilege(Vintagestory.API.Server.IServerPlayer)">
            <summary>
            Whether or not the player has the privilage to run the command.
            </summary>
            <param name="player"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.ClientChatCommand">
            <summary>
            A handle for creating client commands.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.OnInventorySlot">
            <summary>
            Return false to stop walking the inventory
            </summary>
            <param name="slot"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.ActionConsumable`1">
            <summary>
            Return true if the action/event should be "consumed" (e.g. mark a mouse click as handled)
            </summary>
            <typeparam name="T"></typeparam>
            <param name="t1"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.ActionConsumable">
            <summary>
            Return true if the action/event should be "consumed" (e.g. mark a mouse click as handled)
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.ActionBoolReturn">
            <summary>
            Return true if the action/event was successfull
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.ActionBoolReturn`1">
            <summary>
            Returns true if the action/event was successfull.
            </summary>
            <typeparam name="T">The additional type to pass in.</typeparam>
            <param name="t">The arguments for the event.</param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.ActionBoolReturn`2">
            <summary>
            Returns true if the action/event was successfull.
            </summary>
            <typeparam name="T1">The additional type to pass in.</typeparam>
            <typeparam name="T2">The additional type to pass in.</typeparam>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.ActionBoolReturn`3">
            <summary>
            Returns true if the action/event was successfull.
            </summary>
            <typeparam name="T1">The additional type to pass in.</typeparam>
            <typeparam name="T2">The additional type to pass in.</typeparam>
            <typeparam name="T3">The additional type to pass in.</typeparam>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.ActionBoolReturn`4">
            <summary>
            Returns true if the action/event was successfull.
            </summary>
            <typeparam name="T1">The additional type to pass in.</typeparam>
            <typeparam name="T2">The additional type to pass in.</typeparam>
            <typeparam name="T3">The additional type to pass in.</typeparam>
            <typeparam name="T4">The additional type to pass in.</typeparam>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.ActionConsumable`2">
            <summary>
            Return true if the action/event should be "consumed" (e.g. mark a mouse click as handled)
            </summary>
            <typeparam name="T1"></typeparam>
            <typeparam name="T2"></typeparam>
            <param name="t1"></param>
            <param name="t2"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.PlayerChatDelegate">
            <summary>
            When the player wrote a chat message. Set consumed.value to true to prevent further processing of this chat message
            </summary>
            <param name="byPlayer">The player that submitted the chat message</param>
            <param name="channelId">The chat group id from where the message was sent from</param>
            <param name="message">The chat message</param>
            <param name="consumed">If set, the even is considered consumed, i.e. should no longer be handled further by the game engine</param>
            <param name="data"></param>
            <returns>The resulting string.</returns>
        </member>
        <member name="T:Vintagestory.API.Common.PlayerDeathDelegate">
            <summary>
            When the player died, this delegate will fire.
            </summary>
            <param name="byPlayer">The player that died.</param>
            <param name="damageSource">The source of the damage.</param>
        </member>
        <member name="T:Vintagestory.API.Common.DialogClickDelegate">
            <summary>
            The delegate for a dialogue click.
            </summary>
            <param name="byPlayer">The player that clicked the dialogue.</param>
            <param name="widgetId">The internal name of the Widget.</param>
        </member>
        <member name="T:Vintagestory.API.Common.CanPlaceOrBreakDelegate">
            <summary>
            Test if a player has the privilege to modify a block at given block selection
            </summary>
            <param name="byPlayer"></param>
            <param name="blockSel"></param>
            <param name="claimant">Needs to be set when false is returned. Is used to display the reason why the placement was denied. Either it needs to be the name of a player/npc who owns this block, or it needs to be prefixed with custommessage- for a custom error message, e.g. "custommessage-nobuildprivilege": "No build privilege" </param>
            <returns>False to deny placement</returns>
        </member>
        <member name="T:Vintagestory.API.Common.EnumAppSide">
            <summary>
            A server/client side used by for the Vintage Story app. 
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumAppSide.Server">
            <summary>
            For server side things only.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumAppSide.Client">
            <summary>
            For client side things only.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumAppSide.Universal">
            <summary>
            For server and client side things.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.EnumAppSideExtensions.IsServer(Vintagestory.API.Common.EnumAppSide)">
            <summary>
            Am I the server?
            </summary>
            <param name="side"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.EnumAppSideExtensions.IsClient(Vintagestory.API.Common.EnumAppSide)">
            <summary>
            Am I the client?
            </summary>
            <param name="side"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.EnumAppSideExtensions.IsUniversal(Vintagestory.API.Common.EnumAppSide)">
            <summary>
            Am I a universal?
            </summary>
            <param name="side"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.EnumAppSideExtensions.Is(Vintagestory.API.Common.EnumAppSide,Vintagestory.API.Common.EnumAppSide)">
            <summary>
            Am I this side?
            </summary>
            <param name="side"></param>
            <param name="other"></param>
            <returns></returns>
        </member>
        <member name="F:Vintagestory.API.Common.EnumWorldAccessResponse.Granted">
            <summary>
            Access ok or was called client side
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumWorldAccessResponse.InSpectatorMode">
            <summary>
            Players in spectator mode may not place blocks
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumWorldAccessResponse.InGuestMode">
            <summary>
            Player tries to place/break blocks but is in guest mode
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumWorldAccessResponse.PlayerDead">
            <summary>
            Dead players may not place blocks
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumWorldAccessResponse.NoPrivilege">
            <summary>
            This player was not granted the block build or use privilege
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumWorldAccessResponse.LandClaimed">
            <summary>
            Player does not have the build/use blocks every privilege and the position is claimed by another player
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumWorldAccessResponse.DeniedByMod">
            <summary>
            A mod denied use/placement
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.EnumHandInteractNw">
            <summary>
            Internal state number when sending an interaction from client to server
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockUpdate.OldBlockId">
            <summary>
            Contains either liquid layer of solid layer block
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockUpdate.OldFluidBlockId">
            <summary>
            Contains liquid layer of block
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockUpdate.NewSolidBlockId">
            <summary>
            If this value is negative, it indicates no change to the block (neither air block nor anything else) because only the fluid is being updated
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockUpdate.NewFluidBlockId">
            <summary>
            If this value is negative, it indicates no change to the fluids layer block (neither air block nor anything else) because only the solid block is being updated
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityUpdate.EntityId">
            <summary>
            If set this entity was spawned or Moved (position needs to be set too)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityUpdate.EntityProperties">
            <summary>
            If set this entity needs to be spawned
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityUpdate.OldPosition">
            <summary>
            If set the entity was moved
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.ClimateCondition">
            A climate condition at a given position
        </member>
        <member name="F:Vintagestory.API.Common.ClimateCondition.Temperature">
            <summary>
            Between -20 and +40 degrees
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ClimateCondition.WorldgenRainfall">
            <summary>
            If you read the now values, you can still get the world gen rain fall from this value. Between 0..1
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ClimateCondition.WorldGenTemperature">
            <summary>
            If you read the now values, you can still get the world gen temp from this value
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ClimateCondition.GeologicActivity">
            <summary>
            Nomalized value between 0..1. Static value determined on world generation
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ClimateCondition.Rainfall">
            <summary>
            Nomalized value between 0..1. When loading the now values, this is set to the current precipitation value, otherwise to "yearly averages" or the values generated during worldgen
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ClimateCondition.Fertility">
            <summary>
            Nomalized value between 0..1
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ClimateCondition.ForestDensity">
            <summary>
            Nomalized value between 0..1
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ClimateCondition.ShrubDensity">
            <summary>
            Nomalized value between 0..1
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.EnumLightLevelType">
            <summary>
            Used in blockAccessor.GetLightLevel() to determine what kind of light level you want
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumLightLevelType.OnlyBlockLight">
            <summary>
            Will get you just the block light
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumLightLevelType.OnlySunLight">
            <summary>
            Will get you just the sun light unaffected by the day/night cycle
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumLightLevelType.MaxLight">
            <summary>
            Will get you max(sunlight, onlyblocklight)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumLightLevelType.MaxTimeOfDayLight">
            <summary>
            Will get you max(sunlight * sunbrightness, blocklight)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumLightLevelType.TimeOfDaySunLight">
            <summary>
            Will get you sunlight * sunbrightness
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumLightLevelType.Sunbrightness">
            <summary>
            Will get you sunbrightness
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ICachingBlockAccessor.LastChunkLoaded">
            <summary>
            True if the most recent GetBlock or SetBlock had a laoded chunk
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.IBlockAccessor">
            <summary>
            Provides read/write access to the blocks of a world
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IBlockAccessor.ChunkSize">
            <summary>
            Width, Length and Height of a chunk
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IBlockAccessor.RegionSize">
            <summary>
            Width and Length of a region in blocks
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IBlockAccessor.MapSizeX">
            <summary>
            X Size of the world in blocks
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IBlockAccessor.MapSizeY">
            <summary>
            Y Size of the world in blocks
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IBlockAccessor.MapSizeZ">
            <summary>
            Z Size of the world in blocks
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IBlockAccessor.UpdateSnowAccumMap">
            <summary>
            Whether to update the snow accum map on a SetBlock()
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IBlockAccessor.MapSize">
            <summary>
            Size of the world in blocks
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetChunk(System.Int32,System.Int32,System.Int32)">
            <summary>
            Retrieve chunk at given chunk position (= divide block position by chunk size)
            <br/>For dimension awareness, chunkY would need to be based on BlockPos.InternalY / chunksize or else explicitly include the dimensionId multiplied by GlobalConstants.DimensionSizeInChunks
            </summary>
            <param name="chunkX"></param>
            <param name="chunkY"></param>
            <param name="chunkZ"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetChunk(System.Int64)">
            <summary>
            Retrieve chunk at given chunk position, returns null if chunk is not loaded
            </summary>
            <param name="chunkIndex3D"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetMapRegion(System.Int32,System.Int32)">
            <summary>
            Retrieves a map region at given region position, returns null if region is not loaded
            </summary>
            <param name="regionX"></param>
            <param name="regionZ"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetChunkAtBlockPos(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Retrieve chunk at given block position, returns null if chunk is not loaded
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetBlockId(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Get the block id of the block at the given world coordinate
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetBlock(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Get the block type of the block at the given world coordinate, dimension aware. Will never return null. For air blocks or invalid coordinates you'll get a block instance with block code "air" and id 0
            Same as <see cref="M:Vintagestory.API.Common.IBlockAccessor.GetBlock(Vintagestory.API.MathTools.BlockPos,System.Int32)"/> with BlockLayersAccess.Default as layer
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetBlockRaw(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Direct raw coordinate access to blocks. PLEASE NOTE: The caller has to ensure dimension awareness (i.e. pos.InternalY when using BlockPos)<br/>
            Gets the block type of the block at the given world coordinate.
            </summary>
            <param name="x">x coordinate</param>
            <param name="y">y coordinate</param>
            <param name="z">z coordinate</param>
            <param name="layer">The block layer to retrieve from. See also <see cref="T:Vintagestory.API.Common.BlockLayersAccess"/></param>
            <returns>Never null. For unpopulated locations or invalid coordinates you'll get a block instance with block code "air" and id 0</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetBlock(Vintagestory.API.MathTools.BlockPos,System.Int32)">
            <summary>
            Get block type at given world coordinate, dimension aware. Will never return null. For airblocks or invalid coordinates you'll get a block instance with block code "air" and id 0
            <br/>Reads the block from the specified layer(s), see BlockLayersAccess documentation for details.
            </summary>
            <param name="pos"></param>
            <param name = "layer">blocks layer e.g. solid, fluid etc.</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetMostSolidBlock(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Same as <see cref="M:Vintagestory.API.Common.IBlockAccessor.GetBlock(Vintagestory.API.MathTools.BlockPos,System.Int32)"/> with BlockLayersAccess.MostSolid as layer
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetChunkAtBlockPos(System.Int32,System.Int32,System.Int32)">
            <summary>
            Not dimension aware. For internal use only, where posY includes the dimension
            </summary>
            <param name="posX"></param>
            <param name="posY"></param>
            <param name="posZ"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetBlockId(System.Int32,System.Int32,System.Int32)">
            <summary>
            Get the block id of the block at the given world coordinate
            </summary>
            <param name="posX"></param>
            <param name="posY"></param>
            <param name="posZ"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetBlockOrNull(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Get the block type of the block at the given world coordinate. For invalid or unloaded coordinates this method returns null.
            </summary>
            <param name = "x">x coordinate</param>
            <param name = "y">y coordinate</param>
            <param name = "z">z coordinate</param>
            <param name="layer">Block layer</param>
            <returns>ID of the block at the given position</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetBlock(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Get the block type of the block at the given world coordinate. Will never return null. For airblocks or invalid coordinates you'll get a block instance with block code "air" and id 0
            <br/>Reads the block from the specified layer(s), see <see cref="T:Vintagestory.API.Common.BlockLayersAccess"/> documentation for details.
            <br/>If this must be used even though it's deprecated, please consider using .GetBlockRaw() instead where calling code is explicitly dimension-aware
            </summary>
            <param name = "x">x coordinate</param>
            <param name = "y">y coordinate</param>
            <param name = "z">z coordinate</param>
            <param name = "layer">blocks layer e.g. solid, fluid etc.</param>
            <returns>ID of the block at the given position</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetBlock(System.Int32,System.Int32,System.Int32)">
            <summary>
            Get the block type of the block at the given world coordinate. Will never return null. For air blocks or invalid coordinates you'll get a block instance with block code "air" and id 0
            Same as <see cref="M:Vintagestory.API.Common.IBlockAccessor.GetBlock(Vintagestory.API.MathTools.BlockPos,System.Int32)"/> with BlockLayersAccess.Default as layer
            </summary>
            <param name="posX"></param>
            <param name="posY"></param>
            <param name="posZ"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetMostSolidBlock(System.Int32,System.Int32,System.Int32)">
            <summary>
            Same as <see cref="M:Vintagestory.API.Common.IBlockAccessor.GetBlock(System.Int32,System.Int32,System.Int32,System.Int32)"/> with BlockLayersAccess.MostSolid as layer
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.WalkBlocks(Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.BlockPos,System.Action{Vintagestory.API.Common.Block,System.Int32,System.Int32,System.Int32},System.Boolean)">
            <summary>
            A method to iterate over blocks in an area. Less overhead than when calling GetBlock(pos) many times. If there is liquids in the liquid layer, the onBlock method will be called twice. Currently used for more efficient collision testing.
            <br/>Currently NOT dimensionally aware
            </summary>
            <param name="minPos"></param>
            <param name="maxPos"></param>
            <param name="onBlock">The method in which you want to check for the block, whatever it may be.</param>
            <param name="centerOrder">If true, the blocks will be ordered by the distance to the center position</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.SearchBlocks(Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.ActionConsumable{Vintagestory.API.Common.Block,Vintagestory.API.MathTools.BlockPos},System.Action{System.Int32,System.Int32,System.Int32})">
            <summary>
            A method to search for a given block in an area
            <br/>Currently NOT dimensionally aware
            </summary>
            <param name="minPos"></param>
            <param name="maxPos"></param>
            <param name="onBlock">Return false to stop the search</param>
            <param name="onChunkMissing">Called when a missing/unloaded chunk was encountered</param>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.SearchFluidBlocks(Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.ActionConsumable{Vintagestory.API.Common.Block,Vintagestory.API.MathTools.BlockPos},System.Action{System.Int32,System.Int32,System.Int32})">
            <summary>
            A method to search for a given fluid block in an area
            <br/>Currently NOT dimensionally aware
            </summary>
            <param name="minPos"></param>
            <param name="maxPos"></param>
            <param name="onBlock">Return false to stop the search</param>
            <param name="onChunkMissing">Called when a missing/unloaded chunk was encountered</param>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.WalkStructures(Vintagestory.API.MathTools.BlockPos,System.Action{Vintagestory.API.Common.GeneratedStructure})">
            <summary>
            Calls given handler if it encounters one or more generated structure at given position (read from mapregions, assuming a max structure size of 256x256x256)
            </summary>
            <param name="pos"></param>
            <param name="onStructure"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.WalkStructures(Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.BlockPos,System.Action{Vintagestory.API.Common.GeneratedStructure})">
            <summary>
            Calls given handler if it encounters one or more generated structure that intersect any position inside minpos->maxpos (read from mapregions, assuming a max structure size of 256x256x256)
            </summary>
            <param name="minpos"></param>
            <param name="maxpos"></param>
            <param name="onStructure"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.SetBlock(System.Int32,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Set a block at the given position. Use blockid 0 to clear that position from any blocks. Marks the chunk dirty so that it gets saved to disk during shutdown or next autosave.
            If called with a fluid block, the fluid will automatically get set in the fluid layer, and the solid layer will be emptied.
            </summary>
            <param name="blockId"></param>
            <param name="pos"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.SetBlock(System.Int32,Vintagestory.API.MathTools.BlockPos,System.Int32)">
            <summary>
            Sets a block to given layer. Can only use "BlockLayersAccess.Solid" or "BlockLayersAccess.Liquid". Use id 0 to clear a block from given position. Marks the chunk dirty so that it gets saved to disk during shutdown or next autosave.
            </summary>
            <param name="blockId"></param>
            <param name="pos"></param>
            <param name="layer"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.SetBlock(System.Int32,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.ItemStack)">
            <summary>
            Set a block at the given position. Use blockid 0 to clear that position from any blocks. Marks the chunk dirty so that it gets saved to disk during shutdown or next autosave.
            If called with a fluid block, the fluid will automatically get set in the fluid layer, and the solid layer will be emptied.
            </summary>
            <param name="blockId"></param>
            <param name="pos"></param>
            <param name="byItemstack">If set then it will be passed onto the block.OnBlockPlaced method</param>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.ExchangeBlock(System.Int32,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Set a block at the given position without calling OnBlockRemoved or OnBlockPlaced, which prevents any block entity from being removed or placed. Marks the chunk dirty so that it gets saved to disk during shutdown or next autosave. Should only be used if you want to prevent any block entity deletion at this position.
            <br/>This also, for example, does not change a block's reinforcement level, useful for openable blocks such as doors, gates etc
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.BreakBlock(Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.IPlayer,System.Single)">
            <summary>
            Removes the block at given position and calls Block.GetDrops(), Block.OnBreakBlock() and Block.OnNeighbourBlockChange() for all neighbours. Drops the items that are return from Block.GetDrops()
            </summary>
            <param name="pos"></param>
            <param name="byPlayer"></param>
            <param name="dropQuantityMultiplier"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.DamageBlock(Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.BlockFacing,System.Single)">
            <summary>
            Client Side: Will render the block breaking decal on that block. If the remaining block resistance reaches 0, will call break block
            Server Side: Broadcasts a package to all nearby clients to update the block damage of this block for rendering the decal (note: there is currently no server side list of current block damages, these are client side only at the moemnt)
            </summary>
            <param name="pos"></param>
            <param name="facing"></param>
            <param name="damage"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetBlock(System.Int32)">
            <summary>
            Get the Block object of a certain block ID. Returns null when not found.
            </summary>
            <param name = "blockId">The block ID to search for</param>
            <returns>BlockType object</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetBlock(Vintagestory.API.Common.AssetLocation)">
            <summary>
            Get the Block object of for given block code. Returns null when not found.
            </summary>
            <param name="code"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.SpawnBlockEntity(System.String,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.ItemStack)">
            <summary>
            Spawn block entity at this position. Does not place its corresponding block, you have to do this yourself.
            </summary>
            <param name="classname"></param>
            <param name="position"></param>
            <param name="byItemStack"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.SpawnBlockEntity(Vintagestory.API.Common.BlockEntity)">
            <summary>
            Adds pre-initialized block entity to the world. Does not call CreateBehaviors/Initialize/OnBlockPlaced on the block entity. This is a very low level method for block entity spawning, normally you'd want to use <see cref="M:Vintagestory.API.Common.IBlockAccessor.SpawnBlockEntity(System.String,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.ItemStack)"/>
            </summary>
            <param name="be"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.RemoveBlockEntity(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Permanently removes any block entity at this postion. Does not remove its corresponding block, you have to do this yourself. Marks the chunk dirty so that it gets saved to disk during shutdown or next autosave.
            </summary>
            <param name="position"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetBlockEntity(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Retrieve the block entity at given position. Returns null if there is no block entity at this position
            </summary>
            <param name="position"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetBlockEntity``1(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Retrieve the block entity at given position. Returns null if there is no block entity at this position
            </summary>
            <typeparam name="T"></typeparam>
            <param name="position"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.IsValidPos(System.Int32,System.Int32,System.Int32)">
            <summary>
            Checks if the position is inside the maps boundaries
            </summary>
            <param name="posX"></param>
            <param name="posY"></param>
            <param name="posZ"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.IsValidPos(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Checks if the position is inside the maps boundaries
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.IsNotTraversable(System.Double,System.Double,System.Double)">
            <summary>
            Checks if this position can be traversed by a normal player (returns false for outside map or not yet loaded chunks)
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.IsNotTraversable(System.Double,System.Double,System.Double,System.Int32)">
            <summary>
            Checks if this position can be traversed by a normal player (returns false for outside map or not yet loaded chunks)
            Dimension-aware version
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <param name="dim"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.IsNotTraversable(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Checks if this position can be traversed by a normal player (returns false for outside map or not yet loaded chunks)
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.Commit">
            <summary>
            Calling this method has no effect in normal block acessors except for:
            - Bulk update block accessor: Sets all blocks, relight all affected one chunks in one go and send blockupdates to clients in a packed format.
            - World gen block accessor: To Recalculate the heightmap in of all updated blocks in one go
            - Revertable block accessor: Same as bulk update block accessor plus stores a new history state.
            </summary>
            <returns>List of changed blocks</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.Rollback">
            <summary>
            For the bulk update block accessor reverts all the SetBlocks currently called since the last Commit()
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.MarkBlockEntityDirty(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Server side call: Resends the block entity data (if present) to all clients. Triggers a block changed event on the client once received , but will not redraw the chunk. Marks also the chunk dirty so that it gets saved to disk during shutdown or next autosave.<br/>
            Client side call: No effect
            </summary>
            <param name="pos"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.TriggerNeighbourBlockUpdate(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Triggers the method OnNeighbourBlockChange() to all neighbour blocks at given position
            </summary>
            <param name="pos"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.MarkBlockDirty(Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.IPlayer)">
            <summary>
            Server side: Sends that block to the client (via bulk packet).  Through that packet the client will do a SetBlock on that position (which triggers a redraw if oldblockid != newblockid).<br/>
            Client side: Triggers a block changed event and redraws the chunk
            </summary>
            <param name="skipPlayer">Server side: Does not send the update to this player, Client Side: No effect</param>
            <param name="pos"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.MarkBlockModified(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Server side: Triggers a OnNeighbourBlockChange on that position and sends that block to the client (via bulk packet), through that packet the client will do a SetBlock on that position (which triggers a redraw if oldblockid != newblockid).<br/>
            Client side: Triggers a block changed event and redraws the chunk. Deletes and re-create block entities
            </summary>
            <param name="pos"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.MarkBlockDirty(Vintagestory.API.MathTools.BlockPos,System.Action)">
            <summary>
            Server Side: Same as MarkBlockDirty()<br/>
            Client Side: Same as MarkBlockDirty(), but also calls supplied delegate after the chunk has been re-retesselated. This can be used i.e. for block entities to dynamically switch between static models and dynamic models at exactly the right timing
            </summary>
            <param name="pos"></param>
            <param name="OnRetesselated"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetLightLevel(Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.EnumLightLevelType)">
            <summary>
            Returns the light level (0..32) at given position. If the chunk at that position is not loaded this method will return the default sunlight value
            </summary>
            <param name="pos"></param>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetLightLevel(System.Int32,System.Int32,System.Int32,Vintagestory.API.Common.EnumLightLevelType)">
            <summary>
            Returns the light level (0..32) at given position. If the chunk at that position is not loaded this method will return the default sunlight value
            <br/>Note this is not currently dimensionally aware
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetLightRGBs(System.Int32,System.Int32,System.Int32)">
            <summary>
            Returns the light values at given position. XYZ component = block light rgb, W component = sun light brightness
            <br/>Note this is not currently dimensionally aware
            </summary>
            <param name="posX"></param>
            <param name="posY"></param>
            <param name="posZ"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetLightRGBs(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Returns the light values at given position. XYZ component = block light rgb, W component = sun light brightness
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetLightRGBsAsInt(System.Int32,System.Int32,System.Int32)">
            <summary>
            Returns the light values at given position. bit 0-23: block rgb light, bit 24-31: sun light brightness
            </summary>
            <param name="posX"></param>
            <param name="posY"></param>
            <param name="posZ"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetTerrainMapheightAt(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Returns the topmost solid surface position at given x/z coordinate as it was during world generation. This map is not updated after placing/removing blocks
            <br/>Note this is meaningless in dimensions other than the normal world
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetRainMapHeightAt(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Returns the topmost non-rain-permeable position at given x/z coordinate. This map is always updated after placing/removing blocks
            <br/>Note this is meaningless in dimensions other than the normal world
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetDistanceToRainFall(Vintagestory.API.MathTools.BlockPos,System.Int32,System.Int32)">
            <summary>
            Returns a number of how many blocks away there is rain fall. Does a cheap 2D bfs up to x blocks away. Returns 99 if none was found within given blocks
            </summary>
            <param name="pos"></param>
            <param name="horziontalSearchWidth">Horizontal search distance, 4 default</param>
            <param name="verticalSearchWidth">Vertical search distance, 1 default</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetRainMapHeightAt(System.Int32,System.Int32)">
            <summary>
            Returns the topmost non-rain-permeable position at given x/z coordinate. This map is always updated after placing/removing blocks
            <br/>Note this is meaningless in dimensions other than the normal world
            </summary>
            <param name="posX"></param>
            <param name="posZ"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetMapChunk(Vintagestory.API.MathTools.Vec2i)">
            <summary>
            Returns the map chunk at given chunk position
            </summary>
            <param name="chunkPos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetMapChunk(System.Int32,System.Int32)">
            <summary>
            Returns the map chunk at given chunk position
            </summary>
            <param name="chunkX"></param>
            <param name="chunkZ"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetMapChunkAtBlockPos(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Returns the map chunk at given block position
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetClimateAt(Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.EnumGetClimateMode,System.Double)">
            <summary>
            Returns the position's current climate conditions
            </summary>
            <param name="pos"></param>
            <param name="mode">WorldGenValues = values as determined by the worldgenerator, NowValues = additionally modified to take season, day/night and hemisphere into account</param>
            <param name="totalDays">When mode == ForSuppliedDateValues then supply here the date. Not used param otherwise</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetClimateAt(Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.ClimateCondition,Vintagestory.API.Common.EnumGetClimateMode,System.Double)">
            <summary>
            Returns the position's climate conditions at specified date, making use of previously obtained worldgen climate conditions
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetClimateAt(Vintagestory.API.MathTools.BlockPos,System.Int32)">
            <summary>
            Fast shortcut method for the clound renderer
            </summary>
            <param name="pos"></param>
            <param name="climate"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetWindSpeedAt(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Retrieves the wind speed for given position
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetWindSpeedAt(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Retrieves the wind speed for given position
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.MarkAbsorptionChanged(System.Int32,System.Int32,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Used by the chisel block when enough chiseled have been removed and the blocks light absorption changes as a result of that
            </summary>
            <param name="oldAbsorption"></param>
            <param name="newAbsorption"></param>
            <param name="pos"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.RemoveBlockLight(System.Byte[],Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Call this on OnBlockBroken() when your block entity modifies the blocks light range. That way the lighting task can still retrieve the block entity before its gone.
            </summary>
            <param name="oldLightHsV"></param>
            <param name="pos"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.SetDecor(Vintagestory.API.Common.Block,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.BlockFacing)">
            <summary>
            Add a decor block to the side of an existing block. Use air block (id 0) to remove a decor.<br/>
            </summary>
            <param name="position"></param>
            <param name="onFace"></param>
            <param name="block"></param>
            <returns>True if the decor was sucessfully set</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.SetDecor(Vintagestory.API.Common.Block,Vintagestory.API.MathTools.BlockPos,System.Int32)">
            <summary>
            Add a decor block to a specific sub-position on the side of an existing block. Use air block (id 0) to remove a decor.<br/>
            </summary>
            <param name="position"></param>
            <param name="block"></param>
            <param name="decorIndex">You can get this value via <see cref="M:Vintagestory.API.Common.BlockSelection.ToDecorIndex"/> or via constructor <see cref="M:Vintagestory.API.Common.DecorBits.#ctor(Vintagestory.API.MathTools.BlockFacing)"/> or <see cref="M:Vintagestory.API.Common.DecorBits.#ctor(Vintagestory.API.MathTools.BlockFacing,System.Int32,System.Int32,System.Int32)"/>. It can include a subPosition for cave art etc.</param>
            <returns>True if the decor was sucessfully set</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetDecors(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Get a list of all decors at this position
            </summary>
            <param name="position"></param>
            <returns>null if this block has no decors. Otherwise a 6 element long list of decor blocks, any of which may be null if not set</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetSubDecors(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Get a list of all decors at this position.  The Dictionary keys are the faceAndSubposition value for each one, see <see cref="M:Vintagestory.API.Common.DecorBits.#ctor(System.Int32)"/>
            </summary>
            <param name="position"></param>
            <returns>null if this block position has no decors. Otherwise, a Dictionary with the index being the faceAndSubposition (subposition used for cave art etc.), see <see cref="T:Vintagestory.API.Common.DecorBits"/></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.GetDecor(Vintagestory.API.MathTools.BlockPos,System.Int32)">
            <summary>
            Retrieves a single decor at given position
            </summary>
            <param name="pos"></param>
            <param name="decorIndex">You can get this value via <see cref="M:Vintagestory.API.Common.BlockSelection.ToDecorIndex"/> or via constructor <see cref="M:Vintagestory.API.Common.DecorBits.#ctor(Vintagestory.API.MathTools.BlockFacing)"/> or <see cref="M:Vintagestory.API.Common.DecorBits.#ctor(Vintagestory.API.MathTools.BlockFacing,System.Int32,System.Int32,System.Int32)"/></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.BreakDecor(Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.BlockFacing,System.Nullable{System.Int32})">
            <summary>
            Removes all decors at given position, drops items if set
            </summary>
            <param name="pos"></param>
            <param name="side">If not null, breaks all the decor on given block face, otherwise the decor blocks on all sides are removed</param>
            <param name="decorIndex">If not null breaks only this part of the decor for give face. You can get this value via <see cref="M:Vintagestory.API.Common.BlockSelection.ToDecorIndex"/> or via constructor <see cref="M:Vintagestory.API.Common.DecorBits.#ctor(Vintagestory.API.MathTools.BlockFacing)"/> or <see cref="M:Vintagestory.API.Common.DecorBits.#ctor(Vintagestory.API.MathTools.BlockFacing,System.Int32,System.Int32,System.Int32)"/></param>
            <returns>True if a decor was removed</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.MarkChunkDecorsModified(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Server: Marks this position as required for resending to the client
            Client: No effect
            </summary>
            <param name="pos"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.IsSideSolid(System.Int32,System.Int32,System.Int32,Vintagestory.API.MathTools.BlockFacing)">
            <summary>
            Tests whether a side at the specified position is solid - testing both fluids layer (which could be ice) and solid blocks layer
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <param name="facing"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessor.CreateMiniDimension(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Used by World Edit to create previews, ships etc.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.EnumGetClimateMode">
            <summary>
            The type of climate values you wish to receive
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumGetClimateMode.WorldGenValues">
            <summary>
            The values generate during world generation, these are loosely considered as yearly averages
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumGetClimateMode.NowValues">
            <summary>
            The values at the current calendar time
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumGetClimateMode.ForSuppliedDateValues">
            <summary>
            The values at the supplied calendar time, supplied as additional arg
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumGetClimateMode.ForSuppliedDate_TemperatureOnly">
            <summary>
            The values at the supplied calendar time, ignoring rainfall etc.  Calling IBlockAccessor.GetClimateAt with this mode will never return a null ClimateCondition value, if it would be null it returns a ClimateCondition with a default 4 degrees temperature value
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumGetClimateMode.ForSuppliedDate_TemperatureRainfallOnly">
            <summary>
            The values at the supplied calendar time, ignoring forest cover etc.  Calling IBlockAccessor.GetClimateAt with this mode will never return a null ClimateCondition value, if it would be null it returns a ClimateCondition with a default 4 degrees temperature value and no rain
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.IBlockAccessorPrefetch">
            <summary>
            Useful for when you have to scan multiple times over the same set of blocks
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessorPrefetch.PrefetchBlocks(Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Pre-loads all blocks inside given area which can then be accessed very quickly using .GetBlock(). 
            This method must be called before using GetBlock()
            </summary>
            <param name="minPos"></param>
            <param name="maxPos"></param>
        </member>
        <member name="T:Vintagestory.API.Common.IBlockAccessorRevertable">
            <summary>
            Provides read/write access to the blocks of a world.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IBlockAccessorRevertable.Relight">
            <summary>
            Whether or not to do relighting on the chunk
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IBlockAccessorRevertable.CurrentHistoryState">
            <summary>
            0 = working on latest version, 1 = undo used one time, 2 = undo used 2 times, etc.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessorRevertable.ChangeHistoryState(System.Int32)">
            <summary>
            1 = perform 1 undo
            -1 = perform 1 redo
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IBlockAccessorRevertable.QuantityHistoryStates">
            <summary>
            Maximum Amount of undos you can perform. More states means more memory usage.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IBlockAccessorRevertable.AvailableHistoryStates">
            <summary>
            Amount of currently stored history states
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockAccessorRevertable.SetHistoryStateBlock(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Manually set the history state of a block for the to-be-comitted history state
            </summary>
            <param name="posX"></param>
            <param name="posY"></param>
            <param name="posZ"></param>
            <param name="oldBlockId"></param>
            <param name="newBlockId"></param>
        </member>
        <member name="T:Vintagestory.API.Common.IBulkBlockAccessor">
            <summary>
            Useful for setting many blocks at once efficiently
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IBulkBlockAccessor.StagedBlocks">
            <summary>
            The full list of staged blocks that will get commited after calling Commit()
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IBulkBlockAccessor.ReadFromStagedByDefault">
            <summary>
            If set to true, the methods GetBlock() and GetBlockId() will behave like GetStagedBlockId() until the next commit
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IBulkBlockAccessor.GetStagedBlockId(System.Int32,System.Int32,System.Int32)">
            <summary>
            Gets the block for a not yet commited block. If no block has been staged for this pos the original block is returned
            </summary>
            <param name="posX"></param>
            <param name="posY"></param>
            <param name="posZ"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBulkBlockAccessor.GetStagedBlockId(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Gets the block for a not yet commited block. If no block has been staged for this pos the original block is returned
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IBulkBlockAccessor.SetChunks(Vintagestory.API.MathTools.Vec2i,Vintagestory.API.Common.IWorldChunk[])">
            <summary>
            Implemented only by BlockAccessorMapChunkLoading
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IBulkBlockAccessor.PostCommitCleanup(System.Collections.Generic.List{Vintagestory.API.Common.BlockUpdate})">
            <summary>
            Used to fix certain things like flowing water from the edge of a pasted schematic/selection when undone or /we delete is used
            </summary>
            <param name="updatedBlocks"></param>
        </member>
        <member name="T:Vintagestory.API.Common.IClassRegistryAPI">
            <summary>
            Interface for creating instances
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IClassRegistryAPI.CreateBlock(System.String)">
            <summary>
            Creates a block instance from given block class 
            </summary>
            <param name="blockclass"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IClassRegistryAPI.GetBlockClass(System.String)">
            <summary>
            Returns the type of the registered block class or null otherwise
            </summary>
            <param name="blockclass"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IClassRegistryAPI.CreateBlockEntity(System.String)">
            <summary>
            Creates a block entity instance from given block entity class 
            </summary>
            <param name="blockEntityClass"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IClassRegistryAPI.CreateEntity(System.String)">
            <summary>
            Creates a entity instance from given entity class 
            </summary>
            <param name="entityClass"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IClassRegistryAPI.CreateEntity(Vintagestory.API.Common.Entities.EntityProperties)">
            <summary>
            Creates a entity instance from given entity type 
            </summary>
            <param name="entityType"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IClassRegistryAPI.GetMountable(Vintagestory.API.Datastructures.TreeAttribute)">
            <summary>
            Creates an instance of a mountable that has been registered with api.RegisterMountable
            </summary>
            <param name="tree"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IClassRegistryAPI.CreateBlockBehavior(Vintagestory.API.Common.Block,System.String)">
            <summary>
            Creates a block behavior instance from given behavior code
            </summary>
            <param name="forBlock"></param>
            <param name="code"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IClassRegistryAPI.CreateCollectibleBehavior(Vintagestory.API.Common.CollectibleObject,System.String)">
            <summary>
            Creates a collectible behavior instance from given behavior code
            </summary>
            <param name="forCollectible"></param>
            <param name="code"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IClassRegistryAPI.GetBlockEntityBehaviorClass(System.String)">
            <summary>
            Returns the block entity behavior type if such is registered under supplied name
            </summary>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IClassRegistryAPI.CreateBlockEntityBehavior(Vintagestory.API.Common.BlockEntity,System.String)">
            <summary>
            Creates a block entity behavior instance for given block entity
            </summary>
            <param name="blockEntity"></param>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IClassRegistryAPI.GetBlockBehaviorClass(System.String)">
            <summary>
            Returns the block behavior type registered for given name or null
            </summary>
            <param name="code"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IClassRegistryAPI.GetCollectibleBehaviorClass(System.String)">
            <summary>
            Returns the collectible behavior type registered for given name or null
            </summary>
            <param name="code"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IClassRegistryAPI.CreateEntityBehavior(Vintagestory.API.Common.Entities.Entity,System.String)">
            <summary>
            Creates a block behavior instance from given block class 
            </summary>
            <param name="forEntity"></param>
            <param name="entityBehaviorName"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IClassRegistryAPI.CreateItem(System.String)">
            <summary>
            Creates an item instance from given item class 
            </summary>
            <param name="itemclass"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IClassRegistryAPI.GetItemClass(System.String)">
            <summary>
            Gets the registered item type or null if not registered
            </summary>
            <param name="itemClass"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IClassRegistryAPI.CreateJsonTreeAttributeFromDict(System.Collections.Generic.Dictionary{System.String,Vintagestory.API.Datastructures.JsonTreeAttribute})">
            <summary>
            Creates a json serializable version of an ITreeAttribute
            </summary>
            <param name="attributes"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IClassRegistryAPI.GetBlockEntity(System.String)">
            <summary>
            Returns the type for given BlockEntity class name as register in the ClassRegistry
            </summary>
            <param name="bockEntityClass"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IClassRegistryAPI.GetBlockEntityClass(System.Type)">
            <summary>
            Returns the block entity class code if give Type is a registered block entity class
            </summary>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IClassRegistryAPI.GetEntityClassName(System.Type)">
            <summary>
            Returns the entity class code if give Type is a registered entity class
            </summary>
            <param name="entityType"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IClassRegistryAPI.CreateCropBehavior(Vintagestory.API.Common.Block,System.String)">
            <summary>
            Creates a crop behavior instance from given block class 
            </summary>
            <param name="forBlock"></param>
            <param name="cropBehaviorName"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.GetMountableDelegate">
            <summary>
            This method needs to find your mountable based on the tree attribute data, which you can write to in IMountable.MountableToTreeAttributes()
            For example if its an entity, you will want to store the entity id, then this method can simply contain <code>return world.GetEntityById(tree.GetLong("entityId"));</code>
            </summary>
            <param name="world"></param>
            <param name="tree"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.ICoreAPICommon">
            <summary>
            API Methods common to the server and client
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ICoreAPICommon.RegisterRecipeRegistry``1(System.String)">
            <summary>
            Registers a recipe registry
            </summary>
            <typeparam name="T"></typeparam>
            <param name="recipeRegistryCode"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ICoreAPICommon.RegisterColorMap(Vintagestory.API.Common.ColorMap)">
            <summary>
            Registers a new color map. Typically used to color in-game blocks with a texture - i.e. climate and seasonal coloring
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ICoreAPICommon.RegisterEntity(System.String,System.Type)">
            <summary>
            Registers a non-block entity. Be sure to register it on the client and server side.
            </summary>
            <param name="className"></param>
            <param name="entity"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ICoreAPICommon.RegisterEntityBehaviorClass(System.String,System.Type)">
            <summary>
            Registers a non-block entity behavior. Be sure to register it on the client and server side.
            </summary>
            <param name="className"></param>
            <param name="entityBehavior"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ICoreAPICommon.RegisterBlockClass(System.String,System.Type)">
            <summary>
            Register a new Blockclass. Must happen before any blocks are loaded. Be sure to register it on the client and server side.
            </summary>
            <param name = "className">Class to register</param>
            <param name = "blockType">Name of the class</param>
        </member>
        <member name="M:Vintagestory.API.Common.ICoreAPICommon.RegisterCropBehavior(System.String,System.Type)">
            <summary>
            Register a new crop behavior
            </summary>
            <param name="className"></param>
            <param name="type"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ICoreAPICommon.RegisterBlockEntityClass(System.String,System.Type)">
            <summary>
            Register a new BlockEntity Class. Must happen before any blocks are loaded. Be sure to register it on the client and server side.
            </summary>
            <param name="className"></param>
            <param name="blockentityType"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ICoreAPICommon.RegisterItemClass(System.String,System.Type)">
            <summary>
            Register a new Item Class. Must happen before any blocks are loaded. Be sure to register it on the client and server side.
            </summary>
            <param name="className"></param>
            <param name="itemType"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ICoreAPICommon.RegisterCollectibleBehaviorClass(System.String,System.Type)">
            <summary>
            Registers a new collectible behavior class, which can be used for items or for blocks. 
            </summary>
            <param name="className"></param>
            <param name="blockBehaviorType"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ICoreAPICommon.RegisterBlockBehaviorClass(System.String,System.Type)">
            <summary>
            Register a new block behavior class. Must happen before any blocks are loaded. Be sure to register it on the client and server side.
            </summary>
            <param name="className"></param>
            <param name="blockBehaviorType"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ICoreAPICommon.RegisterBlockEntityBehaviorClass(System.String,System.Type)">
            <summary>
            Register a new block entity behavior class. Must happen before any blocks are loaded. Be sure to register it on the client and server side.
            </summary>
            <param name="className"></param>
            <param name="blockEntityBehaviorType"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ICoreAPICommon.RegisterMountable(System.String,Vintagestory.API.Common.GetMountableDelegate)">
            <summary>
            Register a new block behavior class. Must happen before any blocks are loaded. Be sure to register it on the client and server side.
            Make your your delegate also set tree.SetString("className", "[your className]");
            </summary>
            <param name="className"></param>
            <param name="mountableInstancer"></param>
        </member>
        <member name="P:Vintagestory.API.Common.ICoreAPICommon.ObjectCache">
            <summary>
            Can be used to store non-persistent, game wide data. E.g. used for firewood piles to pregenerate all meshes only once during startup
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ICoreAPICommon.DataBasePath">
            <summary>
            Returns the root path of the games data folder
            </summary>
            <value></value>
        </member>
        <member name="M:Vintagestory.API.Common.ICoreAPICommon.GetOrCreateDataPath(System.String)">
            <summary>
            Returns the path to given foldername inside the games data folder. Ensures that the folder exists
            </summary>
            <param name="foldername"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ICoreAPICommon.StoreModConfig``1(``0,System.String)">
            <summary>
            Stores a config file in a prepared modconfig folder. You only need to provide a unique filename.
            For T just make a class with all fields public - this is your configuration class. Be sure to set useful default values for your settings
            Be aware that these configs are not synchronized between client and server. Each side will store their own copy of the configuration. If these configs affect gameplay, you will likely need to synchronize it via network packet
            </summary>
            <typeparam name="T"></typeparam>
            <param name="jsonSerializeableData"></param>
            <param name="filename"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ICoreAPICommon.StoreModConfig(Vintagestory.API.Datastructures.JsonObject,System.String)">
            <summary>
            Stores a config file in a prepared modconfig folder. You only need to provide a unique filename.
            Be aware that these configs are not synchronized between client and server. Each side will store their own copy of the configuration. If these configs affect gameplay, you will likely need to synchronize it to client it via network packet
            </summary>
            <param name="jobj"></param>
            <param name="filename"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ICoreAPICommon.LoadModConfig``1(System.String)">
            <summary>
            Loads a config file from a prepared modconfig folder, you only need to provide a unique filename. Recommendation: Surround this call with a try/catch in case the user made a typo while changing the configuration
            Be aware that these configs are not synchronized between client and server. Each side will store their own copy of the configuration. If these configs affect gameplay, you will likely need to synchronize it to client via network packet
            Returns null if the file does not exist
            </summary>
            <typeparam name="T"></typeparam>
            <param name="filename"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ICoreAPICommon.LoadModConfig(System.String)">
            <summary>
            Loads a config file from a prepared modconfig folder, you only need to provide a unique filename. Recommendation: Surround this call with a try/catch in case the user made a typo while changing the configuration
            Be aware that these configs are not synchronized between client and server. Each side will store their own copy of the configuration. If these configs affect gameplay, you will likely need to synchronize it to client via network packet
            Returns null if the file does not exist
            </summary>
            <param name="filename"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.ICoreAPI">
            <summary>
            Common API Components that are available on the server and the client. Cast to ICoreServerAPI or ICoreClientAPI to access side specific features.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ICoreAPI.Logger">
            <summary>
            The local Logger instance.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ICoreAPI.CmdlArguments">
            <summary>
            The command line arguments that were used to start the client or server application
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ICoreAPI.Side">
            <summary>
            Returns if you are currently on server or on client
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ICoreAPI.Event">
            <summary>
            Api component to register/trigger events
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ICoreAPI.World">
            <summary>
            Second API Component for access/modify everything game world related
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ICoreAPI.ClassRegistry">
            <summary>
            API Compoment for creating instances of certain classes, such as Itemstacks
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ICoreAPI.Network">
            <summary>
            API for sending/receiving network packets
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ICoreAPI.Assets">
            <summary>
            API Component for loading and reloading one or multiple assets at once from the assets folder
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ICoreAPI.ModLoader">
            <summary>
            API Component for checking for and interacting with other mods and mod systems
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ICoreAPI.TagsManager">
            <summary>
            API for registering tags and tag types, converting between string tags and tag arrays
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ICoreAPI.RegisterEntityClass(System.String,Vintagestory.API.Common.Entities.EntityProperties)">
            <summary>
            Registers a new entity config for given entity class
            </summary>
            <param name="entityClassName"></param>
            <param name="config"></param>
        </member>
        <member name="T:Vintagestory.API.Common.EventBusListenerDelegate">
            <summary>
            For handling events on the event bus
            </summary>
            <param name="eventName"></param>
            <param name="handling">Set to EnumHandling.Last to stop further propagation of the event</param>
            <param name="data"></param>
        </member>
        <member name="T:Vintagestory.API.Common.ChunkDirtyDelegate">
            <summary>
            For handling dirty chunks
            </summary>
            <param name="chunkCoord"></param>
            <param name="chunk"></param>
            <param name="reason"></param>
        </member>
        <member name="T:Vintagestory.API.Common.ChunkColumnBeginLoadChunkThread">
            <summary>
            Triggered immediately when the server loads a chunk column from disk or generates a new one, in the SupplyChunks thread (not the main thread)
            </summary>
            <param name="mapChunk"></param>
            <param name="chunkX"></param>
            <param name="chunkZ"></param>
            <param name="chunks"></param>
        </member>
        <member name="T:Vintagestory.API.Common.ChunkColumnLoadedDelegate">
            <summary>
            Triggered when the server loaded a chunk column from disk or generated a new one
            </summary>
            <param name="chunkCoord"></param>
            <param name="chunks"></param>
        </member>
        <member name="T:Vintagestory.API.Common.ChunkColumnUnloadDelegate">
            <summary>
            Triggered just before a chunk column gets unloaded
            </summary>
            <param name="chunkCoord">chunkX and chunkZ of the column (multiply with chunksize to get position). The Y component is zero</param>
        </member>
        <member name="T:Vintagestory.API.Common.MountGaitReceivedDelegate">
            <summary>
            Triggered when a server receives a gait update from a client-authoritative mount
            </summary>
            <param name="mountEntity"></param>
            <param name="gaitCode"></param>
        </member>
        <member name="T:Vintagestory.API.Common.MapRegionLoadedDelegate">
            <summary>
            Triggered when the server loaded a map region from disk or generated a new one
            </summary>
            <param name="mapCoord">regionX and regionZ (multiply with region size to get block position)</param>
            <param name="region"></param>
        </member>
        <member name="T:Vintagestory.API.Common.MapRegionUnloadDelegate">
            <summary>
            Triggered just before a map region gets unloaded
            </summary>
            <param name="mapCoord">regionX and regionZ (multiply with region size to get block position)</param>
            <param name="region"></param>
        </member>
        <member name="T:Vintagestory.API.Common.IEventAPI">
            <summary>
            Events that are available on the server and the client
            </summary>
        </member>
        <member name="E:Vintagestory.API.Common.IEventAPI.PlayerDimensionChanged">
            <summary>
            Called when a player changed dimension
            </summary>
        </member>
        <member name="E:Vintagestory.API.Common.IEventAPI.OnTestBlockAccess">
            <summary>
            Triggered when block access is tested, allows you to override the engine response
            </summary>
        </member>
        <member name="E:Vintagestory.API.Common.IEventAPI.OnEntitySpawn">
            <summary>
            Triggered when a new entity spawned
            </summary>
        </member>
        <member name="E:Vintagestory.API.Common.IEventAPI.OnEntityLoaded">
            <summary>
            Triggered when a new entity got loaded (either spawned or loaded from disk)
            </summary>
        </member>
        <member name="E:Vintagestory.API.Common.IEventAPI.OnEntityDespawn">
            <summary>
            Triggered when a new entity despawned
            </summary>
        </member>
        <member name="E:Vintagestory.API.Common.IEventAPI.ChunkDirty">
            <summary>
            Called whenever a chunk was marked dirty (as in, its blocks or light values have been modified or it got newly loaded or newly created)
            </summary>
        </member>
        <member name="E:Vintagestory.API.Common.IEventAPI.MapRegionLoaded">
            <summary>
            Called whenever the server loaded from disk or newly generated a map region
            </summary>
        </member>
        <member name="E:Vintagestory.API.Common.IEventAPI.MapRegionUnloaded">
            <summary>
            Called just before a map region is about to get unloaded. On shutdown this method is called for all loaded map regions.
            </summary>
        </member>
        <member name="E:Vintagestory.API.Common.IEventAPI.OnGetClimate">
            <summary>
            Called whenever any method calls world.BlockAccessor.GetClimateAt(). Used by the survival mod to modify the rainfall and temperature values to adjust for seasonal and day/night temperature variations. Be sure to also register to OnGetClimateForDate.
            </summary>
        </member>
        <member name="E:Vintagestory.API.Common.IEventAPI.OnGetWindSpeed">
            <summary>
            Called whenever any method calls world.BlockAccessor.GetWindSpeedAt(). Used by the survival mod to set the wind speed
            </summary>
        </member>
        <member name="E:Vintagestory.API.Common.IEventAPI.MatchesGridRecipe">
            <summary>
            Called when a player tries to gridcraft something
            </summary>
        </member>
        <member name="E:Vintagestory.API.Common.IEventAPI.MatchesRecipe">
            <summary>
            Called when a player tries to craft something
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IEventAPI.PushEvent(System.String,Vintagestory.API.Datastructures.IAttribute)">
            <summary>
            There's 2 global event busses, 1 on the client and 1 on the server. This pushes an event onto the bus.
            </summary>
            <param name="eventName"></param>
            <param name="data"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IEventAPI.RegisterEventBusListener(Vintagestory.API.Common.EventBusListenerDelegate,System.Double,System.String)">
            <summary>
            Registers a listener on the event bus. This is intended for mods as the game engine itself does not push any events.
            </summary>
            <param name="OnEvent">The handler for the events</param>
            <param name="priority">Set this to a different value if you want to catch an event before/after another mod catches it</param>
            <param name="filterByEventName">If set, events only with given eventName are received</param>
        </member>
        <member name="M:Vintagestory.API.Common.IEventAPI.RegisterGameTickListener(System.Action{System.Single},System.Int32,System.Int32)">
            <summary>
            Calls given method after every given interval until unregistered. The engine may call your method slightly later since these event are handled only during fixed interval game ticks.
            </summary>
            <param name="onGameTick"></param>
            <param name="millisecondInterval"></param>
            <param name="initialDelayOffsetMs"></param>
            <returns>listenerId</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IEventAPI.RegisterGameTickListener(System.Action{System.Single},System.Action{System.Exception},System.Int32,System.Int32)">
            <summary>
            Calls given method after every given interval until unregistered. The engine may call your method slightly later since these event are handled only during fixed interval game ticks.
            This overload includes an ErrorHandler callback, triggered if calling onGameTick throws an exception
            </summary>
            <param name="onGameTick"></param>
            <param name="errorHandler"></param>
            <param name="millisecondInterval"></param>
            <param name="initialDelayOffsetMs"></param>
            <returns>listenerId</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IEventAPI.RegisterGameTickListener(System.Action{Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,System.Single},Vintagestory.API.MathTools.BlockPos,System.Int32,System.Int32)">
            <summary>
            Calls given method after every given interval until unregistered. The engine may call your method slightly later since these event are handled only during fixed interval game ticks.
            </summary>
            <param name="onGameTick"></param>
            <param name="pos"></param>
            <param name="millisecondInterval"></param>
            <param name="initialDelayOffsetMs"></param>
            <returns>listenerId</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IEventAPI.RegisterGameTickListener(System.Action{Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,System.Single},Vintagestory.API.MathTools.BlockPos,System.Action{System.Exception},System.Int32,System.Int32)">
            <summary>
            Calls given method after every given interval until unregistered. The engine may call your method slightly later since these event are handled only during fixed interval game ticks.
            This overload includes an ErrorHandler callback, triggered if calling onGameTick throws an exception
            </summary>
            <param name="onGameTick"></param>
            <param name="pos"></param>
            <param name="errorHandler"></param>
            <param name="millisecondInterval"></param>
            <param name="initialDelayOffsetMs"></param>
            <returns>listenerId</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IEventAPI.RegisterGameTickListener(System.Action{System.Single},Vintagestory.API.MathTools.BlockPos,System.Action{System.Exception},System.Int32,System.Int32)">
            <summary>
            Calls given method after every given interval until unregistered. The engine may call your method slightly later since these event are handled only during fixed interval game ticks.
            This overload includes an ErrorHandler callback, triggered if calling onGameTick throws an exception
            </summary>
            <param name="onGameTick"></param>
            <param name="pos"></param>
            <param name="errorHandler"></param>
            <param name="millisecondInterval"></param>
            <param name="initialDelayOffsetMs"></param>
            <returns>listenerId</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IEventAPI.RegisterCallback(System.Action{System.Single},System.Int32)">
            <summary>
            Calls given method after supplied amount of milliseconds. The engine may call your method slightly later since these event are handled only during fixed interval game ticks.
            </summary>
            <param name="OnTimePassed"></param>
            <param name="millisecondDelay"></param>
            <returns>listenerId</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IEventAPI.RegisterCallback(System.Action{System.Single},System.Int32,System.Boolean)">
            <summary>
            Calls given method after supplied amount of milliseconds. The engine may call your method slightly later since these event are handled only during fixed interval game ticks.
            This overload can be used to signify callbacks which do no harm if registered while the game is paused (otherwise, registering a callback while paused will produce an error in logs, or an intentional exception in Developer Mode)
            </summary>
            <param name="OnTimePassed"></param>
            <param name="millisecondDelay"></param>
            <param name="permittedWhilePaused"></param>
            <returns>listenerId</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IEventAPI.RegisterCallback(System.Action{Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,System.Single},Vintagestory.API.MathTools.BlockPos,System.Int32)">
            <summary>
            Calls given method after supplied amount of milliseconds, lets you supply a block position to be passed to the method. The engine may call your method slightly later since these event are handled only during fixed interval game ticks.
            </summary>
            <param name="OnTimePassed"></param>
            <param name="pos"></param>
            <param name="millisecondDelay"></param>
            <returns>listenerId</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IEventAPI.UnregisterCallback(System.Int64)">
            <summary>
            Removes a delayed callback
            </summary>
            <param name="listenerId"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IEventAPI.UnregisterGameTickListener(System.Int64)">
            <summary>
            Removes a game tick listener
            </summary>
            <param name="listenerId"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IEventAPI.EnqueueMainThreadTask(System.Action,System.String)">
            <summary>
            Can be used to execute supplied method a frame later or can be called from a seperate thread to ensure some code is executed in the main thread. Calling this method is thread safe.
            </summary>
            <param name="action"></param>
            <param name="code">Task category identifier for the frame profiler</param>
        </member>
        <member name="P:Vintagestory.API.Common.IClientGameCalendar.SunPositionNormalized">
            <summary>
            Returns a normalized vector of the sun position at the players current location
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IClientGameCalendar.SunPosition">
            <summary>
            Returns a vector of the sun position at the players current location
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IClientGameCalendar.MoonPosition">
            <summary>
            Returns a vector of the moon position at the players current location
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IClientGameCalendar.SunColor">
            <summary>
            Returns a normalized color of the sun at the players current location
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IClientGameCalendar.SunsetMod">
            <summary>
            A horizontal offset that is applied when reading the sky glow color at the players current location. Creates a greater variety of sunsets. Changes to a different value once per day (during midnight)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IClientGameCalendar.DayLightStrength">
            <summary>
            Returns a value between 0 (no sunlight) and 1 (full sunlight) at the players current location
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IClientGameCalendar.MoonLightStrength">
            <summary>
            Returns a value between 0 (no sunlight) and 1 (full sunlight) at the players current location
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IClientGameCalendar.Dusk">
            <summary>
            If true, its currently dusk at the players current location
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.SolarSphericalCoordsDelegate">
            <summary>
            Should return sin(solar altitude angle). i.e. -1 for 90 degrees far below horizon, 0 for horizon and 1 for vertical
            </summary>
            <param name="posX">World x coordinate</param>
            <param name="posZ">World z coordinate</param>
            <param name="yearRel">Current year progress, from 0..1</param>
            <param name="dayRel">Current day progress, from 0..1</param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.IGameCalendar">
            <summary>
            Main API for retrieving anything calender or astronomy related
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IGameCalendar.OnGetHemisphere">
            <summary>
            Assigned by the survival mod. Must return the hemisphere at give location
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IGameCalendar.OnGetSolarSphericalCoords">
            <summary>
            Assigned by the survival mod. The calendar uses this method to determine the solar altitude at given location and time. If not set, the calendar uses a default value of about 0.75
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IGameCalendar.OnGetLatitude">
            <summary>
            Assigned by the survival mod. Must return the latitude for given position. If not set, the calendar uses a default value of 0.5<br/>
            -1 for south pole, 0 for equater, 1 for north pole
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IGameCalendar.GetDayLightStrength(System.Double,System.Double)">
            <summary>
            Retrieve the current daylight strength at given coordinates, the values are roughly beween 0 and 1.2f
            </summary>
            <param name="x"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IGameCalendar.GetDayLightStrength(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Retrieve the current daylight strength at given coordinates. The Y-Component is ignored
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IGameCalendar.GetSunPosition(Vintagestory.API.MathTools.Vec3d,System.Double)">
            <summary>
            Get the suns position in the sky at given date as a normalized vector
            </summary>
            <param name="pos"></param>
            <param name="totalDays"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IGameCalendar.GetMoonPosition(Vintagestory.API.MathTools.Vec3d,System.Double)">
            <summary>
            Get the moons position in the sky at given date as a normalized vector
            </summary>
            <param name="position"></param>
            <param name="totaldays"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IGameCalendar.PrettyDate">
            <summary>
            The worlds current date, nicely formatted
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IGameCalendar.SpeedOfTime">
            <summary>
            This acts as a multiplier on how much faster an ingame second passes by compared to a real life second. Affects physics, like the motion speed of waving grass. The default is 60, hence per default a day lasts 24 minutes, but it's also multiplied by CalendarSpeedMul which is 0.5 by default so the end result is 48 minutes per day
            This is the sum of all modifiers
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IGameCalendar.SetTimeSpeedModifier(System.String,System.Single)">
            <summary>
            If you want to modify the time speed, set a value here
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IGameCalendar.RemoveTimeSpeedModifier(System.String)">
            <summary>
            To remove a previously added time speed modifier
            </summary>
            <param name="name"></param>
        </member>
        <member name="P:Vintagestory.API.Common.IGameCalendar.ElapsedSeconds">
            <summary>
            Amount of in-game seconds that have passed since the game started
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IGameCalendar.ElapsedHours">
            <summary>
            Amount of in-game hours that have passed since the game started
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IGameCalendar.ElapsedDays">
            <summary>
            Amount of in-game days that have passed since the game started
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IGameCalendar.CalendarSpeedMul">
            <summary>
            A multiplier thats applied to the progression of the calendar. Set this to 0.1 and a day will last 10 times longer, does not affect physics.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IGameCalendar.HoursPerDay">
            <summary>
            Amount of hours per day
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IGameCalendar.DaysPerYear">
            <summary>
            Amount of days per year
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IGameCalendar.DaysPerMonth">
            <summary>
            Amount of days per month
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IGameCalendar.FullHourOfDay">
            <summary>
            The current hour of the day as integer
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IGameCalendar.HourOfDay">
            <summary>
            The current hour of the day as decimal 
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IGameCalendar.TotalHours">
            <summary>
            Total passed hours since the beginning of the first year (january 1st 0:00)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IGameCalendar.TotalDays">
            <summary>
            Total passed days  since the beginning of the first year (january 1st 0:00)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IGameCalendar.DayOfYear">
            <summary>
            The current day of the year (goes from 0 to DaysPerYear)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IGameCalendar.DayOfYearf">
            <summary>
            The current day of the year (goes from 0 to DaysPerYear)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IGameCalendar.Year">
            <summary>
            Returns the year. Every game begins with 1386
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IGameCalendar.GetSeason(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Returns the season at given position
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IGameCalendar.GetSeasonRel(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Returns the season at given position between 0..1, respects hemisphere
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IGameCalendar.GetHemisphere(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Returns the hemisphere at given position
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IGameCalendar.YearRel">
            <summary>
            Returns the current season in a value of 0 to 1
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IGameCalendar.Add(System.Single)">
            <summary>
            Adds given time to the calendar
            </summary>
            <param name="hours"></param>
        </member>
        <member name="P:Vintagestory.API.Common.IGameCalendar.MoonPhase">
            <summary>
            The current moonphase
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IGameCalendar.MoonPhaseExact">
            <summary>
            The current moonphase represented by number from 0..8
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IGameCalendar.MoonPhaseBrightness">
            <summary>
            The moons current brightness (higher during full moon)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IGameCalendar.MoonSize">
            <summary>
            The moons current size (larger during full moon)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IGameCalendar.SetSeasonOverride(System.Nullable{System.Single})">
            <summary>
            If non-null, will override the value retrieved by GetSeason(). Set to null to have seasons progress normally again.
            </summary>
            <param name="seasonRel"></param>
        </member>
        <member name="P:Vintagestory.API.Common.IGameCalendar.Timelapse">
            <summary>
            Can be used to adjust apparent time of day and season for rendering, e.g. to create a series of timelapse images; restore to 0 when done
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ILandClaimAPI.All">
            <summary>
            List of all claims on the server. Same as WorldManager.SaveGame.Claims.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILandClaimAPI.TestAccess(Vintagestory.API.Common.IPlayer,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.EnumBlockAccessFlags)">
            <summary>
            Checks with the permission system if given player has use or place/break permissions on supplied position. Returns always true when called on the client!
            </summary>
            <param name="player"></param>
            <param name="pos"></param>
            <param name="accessFlag"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ILandClaimAPI.TryAccess(Vintagestory.API.Common.IPlayer,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.EnumBlockAccessFlags)">
            <summary>
            Same as <see cref="M:Vintagestory.API.Common.ILandClaimAPI.TestAccess(Vintagestory.API.Common.IPlayer,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.EnumBlockAccessFlags)"/> but also sends an error message to the player and executes a MarkDirty() event the block. Returns always true when called on the client!
            </summary>
            <param name="player"></param>
            <param name="pos"></param>
            <param name="accessFlag"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ILandClaimAPI.Get(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Get all claims registered at this position
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ILandClaimAPI.Add(Vintagestory.API.Common.LandClaim)">
            <summary>
            Add a new claim. 
            </summary>
            <param name="claim"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ILandClaimAPI.Remove(Vintagestory.API.Common.LandClaim)">
            <summary>
            Remove a claim. Returns false if no such claim was registered
            </summary>
            <param name="claim"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.ILogger">
            <summary>
            Interface to the client's and server's event, debug and error logging utilty.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ILogger.TraceLog">
            <summary>
            If true, will also print to Diagnostics.Debug.
            </summary>
        </member>
        <member name="E:Vintagestory.API.Common.ILogger.EntryAdded">
            <summary>
            Fired each time a new log entry has been added.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILogger.ClearWatchers">
            <summary>
            Removes any handler that registered to the EntryAdded event.
            This method is called when the client leaves a world or server shuts down.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILogger.Log(Vintagestory.API.Common.EnumLogType,System.String,System.Object[])">
            <summary>
            Adds a new log entry with the specified log type, format string and arguments.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILogger.Log(Vintagestory.API.Common.EnumLogType,System.String)">
            <summary>
            Adds a new log entry with the specified log type and message.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILogger.LogException(Vintagestory.API.Common.EnumLogType,System.Exception)">
            <summary>
            Logs an exception with the specified log type.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILogger.Chat(System.String,System.Object[])">
            <summary>
            Adds a new <see cref="F:Vintagestory.API.Common.EnumLogType.Chat"/> log entry with the specified format string and arguments.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILogger.Chat(System.String)">
            <summary>
            Adds a new <see cref="F:Vintagestory.API.Common.EnumLogType.Chat"/> log entry with the specified message.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILogger.Event(System.String,System.Object[])">
            <summary>
            Adds a new <see cref="F:Vintagestory.API.Common.EnumLogType.Event"/> log entry with the specified format string and arguments.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILogger.Event(System.String)">
            <summary>
            Adds a new <see cref="F:Vintagestory.API.Common.EnumLogType.Event"/> log entry with the specified message.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILogger.StoryEvent(System.String,System.Object[])">
            <summary>
            Adds a new <see cref="F:Vintagestory.API.Common.EnumLogType.StoryEvent"/> log entry with the specified format string and arguments.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILogger.StoryEvent(System.String)">
            <summary>
            Adds a new <see cref="F:Vintagestory.API.Common.EnumLogType.StoryEvent"/> log entry with the specified message.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILogger.Build(System.String,System.Object[])">
            <summary>
            Adds a new <see cref="F:Vintagestory.API.Common.EnumLogType.Build"/> log entry with the specified format string and arguments.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILogger.Build(System.String)">
            <summary>
            Adds a new <see cref="F:Vintagestory.API.Common.EnumLogType.Build"/> log entry with the specified message.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILogger.VerboseDebug(System.String,System.Object[])">
            <summary>
            Adds a new <see cref="F:Vintagestory.API.Common.EnumLogType.VerboseDebug"/> log entry with the specified format string and arguments.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILogger.VerboseDebug(System.String)">
            <summary>
            Adds a new <see cref="F:Vintagestory.API.Common.EnumLogType.VerboseDebug"/> log entry with the specified message.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILogger.Debug(System.String,System.Object[])">
            <summary>
            Adds a new <see cref="F:Vintagestory.API.Common.EnumLogType.Debug"/> log entry with the specified format string and arguments.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILogger.Debug(System.String)">
            <summary>
            Adds a new <see cref="F:Vintagestory.API.Common.EnumLogType.Debug"/> log entry with the specified message.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILogger.Notification(System.String,System.Object[])">
            <summary>
            Adds a new <see cref="F:Vintagestory.API.Common.EnumLogType.Notification"/> log entry with the specified format string and arguments.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILogger.Notification(System.String)">
            <summary>
            Adds a new <see cref="F:Vintagestory.API.Common.EnumLogType.Notification"/> log entry with the specified message.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILogger.Warning(System.String,System.Object[])">
            <summary>
            Adds a new <see cref="F:Vintagestory.API.Common.EnumLogType.Warning"/> log entry with the specified format string and arguments.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILogger.Warning(System.String)">
            <summary>
            Adds a new <see cref="F:Vintagestory.API.Common.EnumLogType.Warning"/> log entry with the specified message.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILogger.Warning(System.Exception)">
            <summary>
            Convenience method for logging exceptions in try/catch blocks
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILogger.Error(System.String,System.Object[])">
            <summary>
            Adds a new <see cref="F:Vintagestory.API.Common.EnumLogType.Error"/> log entry with the specified format string and arguments.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILogger.Error(System.String)">
            <summary>
            Adds a new <see cref="F:Vintagestory.API.Common.EnumLogType.Error"/> log entry with the specified message.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILogger.Error(System.Exception)">
            <summary>
            Convenience method for logging exceptions in try/catch blocks
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILogger.Fatal(System.String,System.Object[])">
            <summary>
            Adds a new <see cref="F:Vintagestory.API.Common.EnumLogType.Fatal"/> log entry with the specified format string and arguments.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILogger.Fatal(System.String)">
            <summary>
            Adds a new <see cref="F:Vintagestory.API.Common.EnumLogType.Fatal"/> log entry with the specified message.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILogger.Fatal(System.Exception)">
            <summary>
            Convenience method for logging exceptions in try/catch blocks
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILogger.Audit(System.String,System.Object[])">
            <summary>
            Adds a new <see cref="F:Vintagestory.API.Common.EnumLogType.Audit"/> log entry with the specified format string and arguments.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ILogger.Audit(System.String)">
            <summary>
            Adds a new <see cref="F:Vintagestory.API.Common.EnumLogType.Audit"/> log entry with the specified message.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.LoggerBase">
            <summary>
            Base implementation for <see cref="T:Vintagestory.API.Common.ILogger"/> which implements all
            methods besides a new abstract method <see cref="M:Vintagestory.API.Common.LoggerBase.LogImpl(Vintagestory.API.Common.EnumLogType,System.String,System.Object[])"/>.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.LoggerBase.LogImpl(Vintagestory.API.Common.EnumLogType,System.String,System.Object[])">
            <summary>
            This is the only method necessary to be overridden by the
            implementing class, actually does the logging as necessary.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.LoggerBase.CleanStackTrace(System.String)">
            <summary>
            Remove the full path from the stacktrace of the machine that compiled the code
            </summary>
            <param name="stackTrace"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.IMapChunk">
            <summary>
            Holds 2 dimensional data for one chunk column
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMapChunk.MapRegion">
            <summary>
            The map region this map chunk resides in
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMapChunk.CurrentPass">
            <summary>
            The current world generation pass this chunk column is in
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IMapChunk.SetData(System.String,System.Byte[])">
            <summary>
            Server: Can be used to store custom data along with the map chunk
            Client: Not implemented. Map chunk Moddata is not synced from server to client
            </summary>
            <param name="key"></param>
            <param name="data"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IMapChunk.GetData(System.String)">
            <summary>
            Server: Can be used to retrieve custom data from the map chunk (as previously set by SetModdata)
            Client: Not implemented. Map chunk Moddata is not synced from server to client
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IMapChunk.SetModdata(System.String,System.Byte[])">
            <summary>
            Server: Allows setting of arbitrary, permanently stored moddata of this map chunk.
            Client: Not implemented. Map chunk Moddata is not synced from server to client
            </summary>
            <param name="key"></param>
            <param name="data"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IMapChunk.RemoveModdata(System.String)">
            <summary>
            Server: Removes the permanently stored data. 
            Client: Not implemented. Map chunk Moddata is not synced from server to client
            </summary>
            <param name="key"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IMapChunk.GetModdata(System.String)">
            <summary>
            Server: Retrieve arbitrary, permanently stored mod data
            Client: Not implemented. Map chunk Moddata is not synced from server to client
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IMapChunk.SetModdata``1(System.String,``0)">
            <summary>
            Server: Allows setting of arbitrary, permanantly stored moddata of this map chunk.
            Client: Not implemented. Map chunk Moddata is not synced from server to client
            </summary>
            <typeparam name="T"></typeparam>
            <param name="key"></param>
            <param name="data"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IMapChunk.GetModdata``1(System.String,``0)">
            <summary>
            Server: Retrieve arbitrary, permantly stored mod data
            Client: Not implemented. Map chunk Moddata is not synced from server to client
            </summary>
            <typeparam name="T"></typeparam>
            <param name="key"></param>
            <param name="defaultValue">Default value</param>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IMapChunk.RainHeightMap">
            <summary>
            The position of the last block that is not rain permeable before the first airblock
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMapChunk.WorldGenTerrainHeightMap">
            <summary>
            The position of the last block before the first airblock before world gen pass Vegetation. For oceans/sealevel lakes this will be seafloor position.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMapChunk.TopRockIdMap">
            <summary>
            The rock block id of the topmost rock layer
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMapChunk.YMax">
            <summary>
            The highest position of any non-air block
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IMapChunk.MarkFresh">
            <summary>
            Causes the TTL counter to reset so that it the mapchunk does not unload. No effect when called client side.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IMapChunk.MarkDirty">
            <summary>
            Tells the server that it has to save the changes of this chunk to disk. No effect when called client side.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.GeneratedStructure.Location">
            <summary>
            Block position of the structure
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.GeneratedStructure.Code">
            <summary>
            Code as defined in the WorldGenStructure object
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.GeneratedStructure.Group">
            <summary>
            Group as defined in the WorldGenStructure object
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.GeneratedStructure.SuppressTreesAndShrubs">
            <summary>
            If this flag is set, trees and shrubs will not generate inside the structure's bounding box
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.GeneratedStructure.SuppressRivulets">
            <summary>
            If this flag is set, rivulets will not generate inside the structure's bounding box
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.IMapRegion">
            <summary>
            2D Map data for a 16x16 area of chunk columns. Holds a few maps for the chunk generation.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMapRegion.BlockPatchMaps">
            <summary>
            Density maps for block patches
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMapRegion.AnimalSpawnMaps">
            <summary>
            Density maps for animal spawning
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMapRegion.FlowerMap">
            <summary>
            Currently unuseds
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMapRegion.ShrubMap">
            <summary>
            Holds a shrub density map
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMapRegion.ForestMap">
            <summary>
            Holds a forest density map
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMapRegion.BeachMap">
            <summary>
            Holds a beach strength map
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMapRegion.LandformMap">
            <summary>
            Holds the landform indices
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMapRegion.ClimateMap">
            <summary>
            Holds temperature and rain fall.<br/>
            16-23 bits = Red = temperature<br/>
            8-15 bits = Green = rain<br/>
            0-7 bits = Blue = unused
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMapRegion.GeologicProvinceMap">
            <summary>
            Holds the geologic province indices
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMapRegion.RockStrata">
            <summary>
            Holds the rock strata noise maps
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMapRegion.ModData">
            <summary>
            Holds the raw mod data.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMapRegion.ModMaps">
            <summary>
            Holds the mod mappings.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMapRegion.OreMaps">
            <summary>
            Gets the ore map for the given item.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMapRegion.GeneratedStructures">
            <summary>
            List of structures that were generated in this region
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMapRegion.TerrainMap">
            <summary>
            Low-resolution terrain height map
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMapRegion.RiversMap">
            <summary>
            Rivers map for medium rivers
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IMapRegion.SetModdata(System.String,System.Byte[])">
            <summary>
            Server: Allows setting of arbitrary, permanently stored moddata of this map region.
            Client: Not implemented. Map chunk Moddata is not synced from server to client
            </summary>
            <param name="key"></param>
            <param name="data">Use SerializerUtil to encode your data to bytes</param>
        </member>
        <member name="M:Vintagestory.API.Common.IMapRegion.RemoveModdata(System.String)">
            <summary>
            Server: Removes the permanently stored data.
            Client: Not implemented. Map chunk Moddata is not synced from server to client
            </summary>
            <param name="key"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IMapRegion.GetModdata(System.String)">
            <summary>
            Server: Retrieve arbitrary, permanently stored mod data
            Client: Not implemented. Map chunk Moddata is not synced from server to client
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IMapRegion.SetModdata``1(System.String,``0)">
            <summary>
            Server: Allows setting of arbitrary, permanantly stored moddata of this map region.
            Client: Not implemented. Map chunk Moddata is not synced from server to client
            </summary>
            <typeparam name="T"></typeparam>
            <param name="key"></param>
            <param name="data"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IMapRegion.GetModdata``1(System.String)">
            <summary>
            Server: Retrieve arbitrary, permantly stored mod data
            Client: Not implemented. Map chunk Moddata is not synced from server to client
            </summary>
            <typeparam name="T"></typeparam>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IMapRegion.AddGeneratedStructure(Vintagestory.API.Common.GeneratedStructure)">
            <summary>
            A thread-safe way to add a new GeneratedStructure, also marks DirtyForSaving = true
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IMapRegion.AddGeneratedStructures(System.Collections.Generic.IEnumerable{Vintagestory.API.Common.GeneratedStructure})">
            <summary>
            A thread-safe way to add new GeneratedStructures, also marks DirtyForSaving = true
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IMapRegion.UpdateLowResTerrainPadding(Vintagestory.API.Common.IMapRegion,System.Int32,System.Int32,System.Int32)">
            <summary>
            Add a map region's terrainmap data to the padding regions of its neighbor's terrainmap
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.IMiniDimension">
            <summary>
            Provides read/write access to the blocks of a movable mini-dimension.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMiniDimension.BlocksPreviewSubDimension_Server">
            <summary>
            If this matches the subDimensionId, it indicates that this is a blocks preview minidimension
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IMiniDimension.CollectChunksForSending(Vintagestory.API.Common.IPlayer[])">
            <summary>
            Sends dirty chunks to nearby clients
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IMiniDimension.ClearChunks">
            <summary>
            Clears this mini-dimension (and empties any chunks but does not unload them) ready for re-use
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IMiniDimension.UnloadUnusedServerChunks">
            <summary>
            Unload any chunks which are still empty after the dimension has been re-used
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IMiniDimension.GetRenderOffset(System.Single)">
            <summary>
            Used when rendering
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IModLoader.Mods">
            <summary>
            Gets a collection of all enabled mods.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IModLoader.Systems">
            <summary>
            Gets a collection of all loaded and enabled mod systems.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IModLoader.GetMod(System.String)">
            <summary>
            Gets the enabled mod with the specified mod ID (domain).
            Returns null if no mod with that mod ID was found.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IModLoader.IsModEnabled(System.String)">
            <summary>
            Returns if the mod with the specified mod ID (domain) is enabled.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IModLoader.GetModSystem(System.String)">
            <summary>
            Gets a loaded mod system with the specified full name, that is the namespace and
            class name, for example "Vintagestory.ServerMods.Core" for the survival mod.
            Returns null if no mod with that name was found.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IModLoader.GetModSystem``1(System.Boolean)">
            <summary>
            Gets a loaded mod system with the specified type.
            Returns null if no mod of that type was found.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IModLoader.IsModSystemEnabled(System.String)">
            <summary>
            Returns if the mod system with the specified full name is loaded and enabled.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.IWorldAccessor">
            <summary>
            Important interface to access the game world.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.Config">
            <summary>
            The current world config
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.DefaultSpawnPosition">
            <summary>
            The default spawn position as sent by the server (usually the map middle). Does not take player specific spawn point into account
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.FrameProfiler">
            <summary>
            Gets the frame profiler utility.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.Api">
            <summary>
            The api interface
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.Claims">
            <summary>
            The land claiming api interface
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.LoadedChunkIndices">
            <summary>
            Returns a list all loaded chunk positions in the form of a long index. Code to turn that into x/y/z coords:
            Vec3i coords = new Vec3i(
               (int)(chunkIndex3d % ChunkMapSizeX),
               (int)(chunkIndex3d / ((long)ChunkMapSizeX * ChunkMapSizeZ)),
               (int)((chunkIndex3d / ChunkMapSizeX) % ChunkMapSizeZ)
            );
            Retrieving the list is not a very fast process, not suggested to be called every frame
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.LoadedMapChunkIndices">
            <summary>
            Returns a list all loaded chunk positions in the form of a long index
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.BlockLightLevels">
            <summary>
            The currently configured block light brightness levels
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.SunLightLevels">
            <summary>
            The currently configured sun light brightness levels
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.SeaLevel">
            <summary>
            The currently configured sea level (y-coordinate)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.Seed">
            <summary>
            The world seed. Accessible on the server and the client
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.SavegameIdentifier">
            <summary>
            A globally unique identifier for this savegame
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.SunBrightness">
            <summary>
            The currently configured max sun light level
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.EntityDebugMode">
            <summary>
            Whether the current side (client/server) is in entity debug mode
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.AssetManager">
            <summary>
            Loaded game assets
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.Logger">
            <summary>
            Logging Utility
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.Side">
            <summary>
            The current side (client/server)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.BlockAccessor">
            <summary>
            Access blocks and other world data from loaded chunks, fault tolerant
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.BulkBlockAccessor">
            <summary>
            Fault tolerant bulk block access to the worlds block data. Since this is a single bulk block access instance the cached data is shared for everything accessing this method, hence should only be accessed from the main thread and any changed comitted within the same game tick. You can however use the WorldManager api to get your own instance of a bulk block accessor
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.ClassRegistry">
            <summary>
            Interface to create instance of certain classes
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.Calendar">
            <summary>
            Interface to access the game calendar. On the server side only available after run stage 'LoadGamePre' (before that it is null)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.CollisionTester">
            <summary>
            For collision testing in the main thread
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.Rand">
            <summary>
            Just a random number generator. Makes use of ThreadLocal for thread safety.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.ElapsedMilliseconds">
            <summary>
            Amount of milliseconds ellapsed since startup
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.Collectibles">
            <summary>
            List of all loaded blocks and items without placeholders
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.Blocks">
            <summary>
            List of all loaded blocks. The array index is the block id. Some may be null or placeholders (then block.code is null). Client-side none are null, what was null return as air blocks.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.Items">
            <summary>
            List of all loaded items. The array index is the item id. Some may be placeholders (then item.code is null).  Server-side, some may be null; client-side, a check for item == null is not necessary.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.EntityTypes">
            <summary>
            List of all loaded entity types.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.EntityTypeCodes">
            <summary>
            List of the codes of all loaded entity types, in the AssetLocation short string format (e.g. "creature" for entities with domain game:, "domain:creature" for entities with other domains)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.GridRecipes">
            <summary>
            List of all loaded crafting recipes
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.GetRecipeRegistry(System.String)">
            <summary>
            Retrieve a previously registered recipe registry
            </summary>
            <param name="code"></param>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.DefaultEntityTrackingRange">
            <summary>
            The range in blocks within a client will receive regular updates for an entity
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.GetItem(System.Int32)">
            <summary>
            Retrieve the item class from given item id
            </summary>
            <param name="itemId"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.GetBlock(System.Int32)">
            <summary>
            Retrieve the block class from given block id
            </summary>
            <param name="blockId"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.SearchBlocks(Vintagestory.API.Common.AssetLocation)">
            <summary>
            Returns all blocktypes matching given wildcard
            </summary>
            <param name="wildcard"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.SearchItems(Vintagestory.API.Common.AssetLocation)">
            <summary>
            Returns all item types matching given wildcard
            </summary>
            <param name="wildcard"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.GetItem(Vintagestory.API.Common.AssetLocation)">
            <summary>
            Retrieve the item class from given item code. Will return null if the item does not exist.
            </summary>
            <param name="itemCode"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.GetBlock(Vintagestory.API.Common.AssetLocation)">
            <summary>
            Retrieve the block class from given block code. Will return null if the block does not exist. Logs a warning if block does not exist
            </summary>
            <param name="blockCode"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.GetEntityType(Vintagestory.API.Common.AssetLocation)">
            <summary>
            Retrieve the entity class from given entity code. Will return null if the entity does not exist.
            </summary>
            <param name="entityCode"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.SpawnItemEntity(Vintagestory.API.Common.ItemStack,Vintagestory.API.MathTools.Vec3d,Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Spawns a dropped itemstack at given position. Will immediately disappear if stacksize==0
            Returns the entity spawned (may be null!)
            </summary>
            <param name="itemstack"></param>
            <param name="position"></param>
            <param name="velocity"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.SpawnItemEntity(Vintagestory.API.Common.ItemStack,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Spawns a dropped itemstack at given position. Will immediately disappear if stacksize==0
            Returns the entity spawned (may be null!)
            </summary>
            <param name="itemstack"></param>
            <param name="pos"></param>
            <param name="velocity"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.SpawnEntity(Vintagestory.API.Common.Entities.Entity)">
            <summary>
            Creates a new entity. It's the responsibility of the given Entity to call set its EntityType.
            This should be done inside its Initialize method before base.Initialize is called.
            </summary>
            <param name="entity"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.SpawnPriorityEntity(Vintagestory.API.Common.Entities.Entity)">
            <summary>
            Like SpawnEntity() but sends out the entity spawn and motion packets to nearby clients immediately. Use this e.g. for more responsive projectiles
            </summary>
            <param name="entity"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.LoadEntity(Vintagestory.API.Common.Entities.Entity,System.Int64)">
            <summary>
            Loads a previously created entity into the loadedEntities list. Used when a chunk is loaded.
            </summary>
            <param name="entity"></param>
            <param name="fromChunkIndex3d"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.UpdateEntityChunk(Vintagestory.API.Common.Entities.Entity,System.Int64)">
            <summary>
            Removes an entity from its old chunk and adds it to the chunk with newChunkIndex3d
            </summary>
            <param name="entity"></param>
            <param name="newChunkIndex3d"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.GetEntitiesAround(Vintagestory.API.MathTools.Vec3d,System.Single,System.Single,Vintagestory.API.Common.ActionConsumable{Vintagestory.API.Common.Entities.Entity})">
            <summary>
            Retrieve all entities within given range and given matcher method. If now matcher method is supplied, all entities are returned.
            </summary>
            <param name="position"></param>
            <param name="horRange"></param>
            <param name="vertRange"></param>
            <param name="matches"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.GetEntitiesInsideCuboid(Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.ActionConsumable{Vintagestory.API.Common.Entities.Entity})">
            <summary>
            Retrieve all entities within a cuboid bound by startPos and endPos. If now matcher method is supplied, all entities are returned.
            </summary>
            <param name="startPos"></param>
            <param name="endPos"></param>
            <param name="matches"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.GetPlayersAround(Vintagestory.API.MathTools.Vec3d,System.Single,System.Single,Vintagestory.API.Common.ActionConsumable{Vintagestory.API.Common.IPlayer})">
            <summary>
            Retrieve all players within given range and given matcher method. This method is faster than when using GetEntitiesAround with a matcher for players
            </summary>
            <param name="position"></param>
            <param name="horRange"></param>
            <param name="vertRange"></param>
            <param name="matches"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.GetNearestEntity(Vintagestory.API.MathTools.Vec3d,System.Single,System.Single,Vintagestory.API.Common.ActionConsumable{Vintagestory.API.Common.Entities.Entity})">
            <summary>
            Retrieve the nearest entity within given range and given matcher method
            </summary>
            <param name="position"></param>
            <param name="horRange"></param>
            <param name="vertRange"></param>
            <param name="matches"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.GetEntityById(System.Int64)">
            <summary>
            Retrieve an entity by its unique id, returns null if no such entity exists or hasn't been loaded
            </summary>
            <param name="entityId"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.GetIntersectingEntities(Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.Cuboidf[],Vintagestory.API.Common.ActionConsumable{Vintagestory.API.Common.Entities.Entity})">
            <summary>
            Retrieves the first found entity that intersects any of the supplied collisionboxes offseted by basePos. This is a helper method for you to determine if you can place a block at given position. You can also implement it yourself with intersection testing and GetEntitiesAround()
            </summary>
            <param name="collisionBoxes"></param>
            <param name="basePos"></param>
            <param name="matches"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.NearestPlayer(System.Double,System.Double,System.Double)">
            <summary>
            Find the nearest player to the given position. Thread safe.
            </summary>
            <param name = "x">x coordinate</param>
            <param name = "y">y coordinate</param>
            <param name = "z">z coordinate</param>
            <returns>ID of the nearest player</returns>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.AllOnlinePlayers">
            <summary>
            Gets a list of all online players. Warning: Also returns currently connecting player whose player data may not have been fully initialized. Check for player.ConnectionState to avoid these.
            </summary>
            <returns>Array containing the IDs of online players</returns>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.AllPlayers">
            <summary>
            Gets a list of all players that connected to this server at least once while the server was running. When called client side you will receive the same as AllOnlinePlayers
            </summary>
            <returns>Array containing the IDs of online players</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.PlayerByUid(System.String)">
            <summary>
            Retrieves the worldplayer data object of given player. When called server side the player does not need to be connected.
            </summary>
            <param name="playerUid"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.PlaySoundAt(Vintagestory.API.Common.SoundAttributes,System.Double,System.Double,System.Double,System.Int32,Vintagestory.API.Common.IPlayer,System.Single)">
            <summary>
            Plays given sound at given position.
            </summary>
            <param name="sound">The sound information, including file location, type, and how to choose volume and pitch</param>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <param name="dimension"></param>
            <param name="dualCallByPlayer">If this call is made on client and on server, set this to the causing playerUID to prevent double playing. Essentially dualCall will play the sound on the client, and send it to all other players except source client</param>
            <param name="volumeMultiplier"></param>
            <returns>On client, duration of the playing sound in milliseconds, or 0 if it could not be played. On server, 0.</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.PlaySoundAt(Vintagestory.API.Common.AssetLocation,System.Double,System.Double,System.Double,Vintagestory.API.Common.IPlayer,System.Boolean,System.Single,System.Single)">
            <summary>
            Plays given sound at given position.
            </summary>
            <param name="location">The sound path, with sounds/ prefix and without the .ogg ending</param>
            <param name="posx"></param>
            <param name="posy"></param>
            <param name="posz"></param>
            <param name="dualCallByPlayer">If this call is made on client and on server, set this to the causing playerUID to prevent double playing. Essentially dualCall will play the sound on the client, and send it to all other players except source client</param>
            <param name="randomizePitch"></param>
            <param name="range">The range at which the gain will be attenuated to 1% of the supplied volume</param>
            <param name="volume"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.PlaySoundAt(Vintagestory.API.Common.SoundAttributes,Vintagestory.API.MathTools.BlockPos,System.Double,Vintagestory.API.Common.IPlayer,System.Single)">
            <summary>
            Plays given sound at given position - dimension aware. Plays at the center of the BlockPos
            </summary>
            <param name="sound">The sound information, including file location, type, and how to choose volume and pitch</param>
            <param name="pos"></param>
            <param name="yOffsetFromCenter">How much above or below the central Y position of the block to play</param>
            <param name="dualCallByPlayer">If this call is made on client and on server, set this to the causing playerUID to prevent double playing. Essentially dualCall will play the sound on the client, and send it to all other players except source client</param>
            <param name="volumeMultiplier"></param>
            <returns>On client, duration of the playing sound in milliseconds, or 0 if it could not be played. On server, 0.</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.PlaySoundAt(Vintagestory.API.Common.AssetLocation,Vintagestory.API.MathTools.BlockPos,System.Double,Vintagestory.API.Common.IPlayer,System.Boolean,System.Single,System.Single)">
            <summary>
            Plays given sound at given position - dimension aware. Plays at the center of the BlockPos
            </summary>
            <param name="location">The sound path, with sounds/ prefix and without the .ogg ending</param>
            <param name="pos"></param>
            <param name="yOffsetFromCenter">How much above or below the central Y position of the block to play</param>
            <param name="dualCallByPlayer">If this call is made on client and on server, set this to the causing playerUID to prevent double playing. Essentially dualCall will play the sound on the client, and send it to all other players except source client</param>
            <param name="randomizePitch"></param>
            <param name="range">The range at which the gain will be attenuated to 1% of the supplied volume</param>
            <param name="volume"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.PlaySoundAt(Vintagestory.API.Common.SoundAttributes,Vintagestory.API.Common.Entities.Entity,Vintagestory.API.Common.IPlayer,System.Single)">
            <summary>
            Plays given sound at given position.
            </summary>
            <param name="sound">The sound information, including file location, type, and how to choose volume and pitch</param>
            <param name="atEntity"></param>
            <param name="dualCallByPlayer">If this call is made on client and on server, set this to the causing playerUID to prevent double playing. Essentially dualCall will play the sound on the client, and send it to all other players except source client</param>
            <param name="volumeMultiplier"></param>
            <returns>On client, duration of the playing sound in milliseconds, or 0 if it could not be played. On server, 0.</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.PlaySoundAt(Vintagestory.API.Common.AssetLocation,Vintagestory.API.Common.Entities.Entity,Vintagestory.API.Common.IPlayer,System.Boolean,System.Single,System.Single)">
            <summary>
            Plays given sound at given position.
            </summary>
            <param name="location">The sound path, with sounds/ prefix and without the .ogg ending</param>
            <param name="atEntity"></param>
            <param name="dualCallByPlayer">If this call is made on client and on server, set this to the causing playerUID to prevent double playing. Essentially dualCall will play the sound on the client, and send it to all other players except source client</param>
            <param name="randomizePitch"></param>
            <param name="range">The range at which the gain will be attenuated to 1% of the supplied volume</param>
            <param name="volume"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.PlaySoundAt(Vintagestory.API.Common.AssetLocation,Vintagestory.API.Common.Entities.Entity,Vintagestory.API.Common.IPlayer,System.Single,System.Single,System.Single)">
            <summary>
            Plays given sound at given position.
            </summary>
            <param name="location"></param>
            <param name="atEntity"></param>
            <param name="dualCallByPlayer"></param>
            <param name="pitch"></param>
            <param name="range"></param>
            <param name="volume"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.PlaySoundAt(Vintagestory.API.Common.AssetLocation,System.Double,System.Double,System.Double,Vintagestory.API.Common.IPlayer,System.Single,System.Single,System.Single)">
            <summary>
            Plays given sound at given position.
            </summary>
            <param name="location"></param>
            <param name="posx"></param>
            <param name="posy"></param>
            <param name="posz"></param>
            <param name="dualCallByPlayer"></param>
            <param name="pitch"></param>
            <param name="range"></param>
            <param name="volume"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.PlaySoundAt(Vintagestory.API.Common.SoundAttributes,Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.IPlayer,System.Single)">
            <summary>
            Plays given sound at given player position.
            </summary>
            <param name="sound">The sound information, including file location, type, and how to choose volume and pitch</param>
            <param name="atPlayer"></param>
            <param name="dualCallByPlayer">If this call is made on client and on server, set this to the causing playerUID to prevent double playing. Essentially dualCall will play the sound on the client, and send it to all other players except source client</param>
            <param name="volumeMultiplier"></param>
            <returns>On client, duration of the playing sound in milliseconds, or 0 if it could not be played. On server, 0.</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.PlaySoundAt(Vintagestory.API.Common.AssetLocation,Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.IPlayer,System.Boolean,System.Single,System.Single)">
            <summary>
            Plays given sound at given player position.
            </summary>
            <param name="location">The sound path, with sounds/ prefix and without the .ogg ending</param>
            <param name="atPlayer"></param>
            <param name="dualCallByPlayer">If this call is made on client and on server, set this to the causing playerUID to prevent double playing. Essentially dualCall will play the sound on the client, and send it to all other players except source client</param>
            <param name="randomizePitch"></param>
            <param name="range">The range at which the gain will be attenuated to 1% of the supplied volume</param>
            <param name="volume"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.PlaySoundFor(Vintagestory.API.Common.SoundAttributes,Vintagestory.API.Common.IPlayer,System.Single)">
            <summary>
            Plays given sound only for given player. Useful when called server side, for the client side there is no difference over using PlaySoundAt or PlaySoundFor
            </summary>
            <param name="sound">The sound information, including file location, type, and how to choose volume and pitch</param>
            <param name="forPlayer"></param>
            <param name="volumeMultiplier"></param>
            <returns>On client, duration of the playing sound in milliseconds, or 0 if it could not be played. On server, 0.</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.PlaySoundFor(Vintagestory.API.Common.AssetLocation,Vintagestory.API.Common.IPlayer,System.Boolean,System.Single,System.Single)">
            <summary>
            Plays given sound only for given player. Useful when called server side, for the client side there is no difference over using PlaySoundAt or PlaySoundFor
            </summary>
            <param name="location">The sound path, with sounds/ prefix and without the .ogg ending</param>
            <param name="forPlayer"></param>
            <param name="randomizePitch"></param>
            <param name="range">The range at which the gain will be attenuated to 1% of the supplied volume</param>
            <param name="volume"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.SpawnParticles(System.Single,System.Int32,Vintagestory.API.MathTools.Vec3d,Vintagestory.API.MathTools.Vec3d,Vintagestory.API.MathTools.Vec3f,Vintagestory.API.MathTools.Vec3f,System.Single,System.Single,System.Single,Vintagestory.API.Common.EnumParticleModel,Vintagestory.API.Common.IPlayer)">
            <summary>
            Spawn a bunch of particles
            </summary>
            <param name="quantity"></param>
            <param name="color"></param>
            <param name="minPos"></param>
            <param name="maxPos"></param>
            <param name="minVelocity"></param>
            <param name="maxVelocity"></param>
            <param name="lifeLength"></param>
            <param name="gravityEffect"></param>
            <param name="scale"></param>
            <param name="model"></param>
            <param name="dualCallByPlayer">If this call is made on client and on server, set this to the causing playerUID to prevent double spawning. Essentially dualCall will spawn the particles on the client, and send it to all other players except source client</param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.SpawnParticles(Vintagestory.API.Common.IParticlePropertiesProvider,Vintagestory.API.Common.IPlayer)">
            <summary>
            Spawn a bunch of particles
            </summary>
            <param name="particlePropertiesProvider"></param>
            <param name="dualCallByPlayer">If this call is made on client and on server, set this to the causing playerUID to prevent double spawning. Essentially dualCall will spawn the particles on the client, and send it to all other players except source client</param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.SpawnCubeParticles(Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.Vec3d,System.Single,System.Int32,System.Single,Vintagestory.API.Common.IPlayer,Vintagestory.API.MathTools.Vec3f)">
            <summary>
            Spawn a bunch of particles colored by the block at given position
            </summary>
            <param name="blockPos">The position of the block to take the color from</param>
            <param name="pos">The position where the particles should spawn</param>
            <param name="radius"></param>
            <param name="quantity"></param>
            <param name="scale"></param>
            <param name="dualCallByPlayer">If this call is made on client and on server, set this to the causing playerUID to prevent double spawning. Essentially dualCall will spawn the particles on the client, and send it to all other players except source client</param>
            <param name="velocity"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.SpawnCubeParticles(Vintagestory.API.MathTools.Vec3d,Vintagestory.API.Common.ItemStack,System.Single,System.Int32,System.Single,Vintagestory.API.Common.IPlayer,Vintagestory.API.MathTools.Vec3f)">
            <summary>
            Spawn a bunch of particles colored by given itemstack
            </summary>
            <param name="pos">The position where the particles should spawn</param>
            <param name="item"></param>
            <param name="radius"></param>
            <param name="quantity"></param>
            <param name="scale"></param>
            <param name="dualCallByPlayer">If this call is made on client and on server, set this to the causing playerUID to prevent double spawning. Essentially dualCall will spawn the particles on the client, and send it to all other players except source client</param>
            <param name="velocity"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.RayTraceForSelection(Vintagestory.API.MathTools.Vec3d,Vintagestory.API.MathTools.Vec3d,Vintagestory.API.Common.BlockSelection@,Vintagestory.API.Common.EntitySelection@,Vintagestory.API.MathTools.BlockFilter,Vintagestory.API.MathTools.EntityFilter)">
            <summary>
            Shoots out a virtual ray at between given positions and stops when the ray hits a block or entity selection box. The block/entity it struck first is then returned by reference.
            </summary>
            <param name="fromPos"></param>
            <param name="toPos"></param>
            <param name="blockSelection"></param>
            <param name="entitySelection"></param>
            <param name="bfilter">Can be used to ignore certain blocks. Return false to ignore</param>
            <param name="efilter">Can be used to ignore certain entities. Return false to ignore</param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.RayTraceForSelection(Vintagestory.API.MathTools.IWorldIntersectionSupplier,Vintagestory.API.MathTools.Vec3d,Vintagestory.API.MathTools.Vec3d,Vintagestory.API.Common.BlockSelection@,Vintagestory.API.Common.EntitySelection@,Vintagestory.API.MathTools.BlockFilter,Vintagestory.API.MathTools.EntityFilter)">
            <summary>
            Shoots out a virtual ray at between given positions and stops when the ray hits a block or entity intersection box supplied by given supplier. The block/entity it struck first is then returned by reference.
            </summary>
            <param name="supplier"></param>
            <param name="fromPos"></param>
            <param name="toPos"></param>
            <param name="blockSelection"></param>
            <param name="entitySelection"></param>
            <param name="bfilter">Can be used to ignore certain blocks. Return false to ignore</param>
            <param name="efilter">Can be used to ignore certain entities. Return false to ignore</param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.RayTraceForSelection(Vintagestory.API.MathTools.Vec3d,System.Single,System.Single,System.Single,Vintagestory.API.Common.BlockSelection@,Vintagestory.API.Common.EntitySelection@,Vintagestory.API.MathTools.BlockFilter,Vintagestory.API.MathTools.EntityFilter)">
            <summary>
            Shoots out a virtual ray at given position and angle and stops when the ray hits a block or entity selection box. The block/entity it struck first is then returned by reference.
            </summary>
            <param name="fromPos"></param>
            <param name="pitch"></param>
            <param name="yaw"></param>
            <param name="range"></param>
            <param name="blockSelection"></param>
            <param name="entitySelection"></param>
            <param name="bfilter">Can be used to ignore certain blocks. Return false to ignore</param>
            <param name="efilter">Can be used to ignore certain entities. Return false to ignore</param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.RayTraceForSelection(Vintagestory.API.MathTools.Ray,Vintagestory.API.Common.BlockSelection@,Vintagestory.API.Common.EntitySelection@,Vintagestory.API.MathTools.BlockFilter,Vintagestory.API.MathTools.EntityFilter)">
            <summary>
            Shoots out a given ray and stops when the ray hits a block or entity selection box. The block/entity it struck first is then returned by reference.
            </summary>
            <param name="ray"></param>
            <param name="blockSelection"></param>
            <param name="entitySelection"></param>
            <param name="filter"></param>
            <param name="efilter">Can be used to ignore certain entities. Return false to ignore</param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.RegisterGameTickListener(System.Action{System.Single},System.Int32,System.Int32)">
            <summary>
            Calls given method after every given interval until unregistered. The engine may call your method slightly later since these event are handled only during fixed interval game ticks.
            </summary>
            <param name="onGameTick"></param>
            <param name="millisecondInterval"></param>
            <param name="initialDelayOffsetMs"></param>
            <returns>listenerId</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.UnregisterGameTickListener(System.Int64)">
            <summary>
            Removes a game tick listener
            </summary>
            <param name="listenerId"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.RegisterCallback(System.Action{System.Single},System.Int32)">
            <summary>
            Calls given method after supplied amount of milliseconds. The engine may call your method slightly later since these event are handled only during fixed interval game ticks.
            </summary>
            <param name="OnTimePassed"></param>
            <param name="millisecondDelay"></param>
            <returns>listenerId</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.RegisterCallbackUnique(System.Action{Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,System.Single},Vintagestory.API.MathTools.BlockPos,System.Int32)">
            <summary>
            Calls given method after supplied amount of milliseconds. The engine may call your method slightly later since these event are handled only during fixed interval game ticks.
            Ignores any subsequent registers for the same blockpos while a callback is still in the queue. Used e.g. for liquid physics to prevent unnecessary multiple updates
            </summary>
            <param name="OnGameTick"></param>
            <param name="pos"></param>
            <param name="millisecondInterval"></param>
            <returns>listenerId</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.RegisterCallback(System.Action{Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,System.Single},Vintagestory.API.MathTools.BlockPos,System.Int32)">
            <summary>
            Calls given method after supplied amount of milliseconds, lets you supply a block position to be passed to the method. The engine may call your method slightly later since these event are handled only during fixed interval game ticks.
            </summary>
            <param name="OnTimePassed"></param>
            <param name="pos"></param>
            <param name="millisecondDelay"></param>
            <returns>listenerId</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.PlayerHasPrivilege(System.Int32,System.String)">
            <summary>
            Returns true if given client has a privilege. Always returns true on the client.
            </summary>
            <param name="clientid"></param>
            <param name="privilege"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.UnregisterCallback(System.Int64)">
            <summary>
            Removes a delayed callback
            </summary>
            <param name="listenerId"></param>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldAccessor.InteresectionTester">
            <summary>
            Utility for testing intersections. Only access from main thread.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.HighlightBlocks(Vintagestory.API.Common.IPlayer,System.Int32,System.Collections.Generic.List{Vintagestory.API.MathTools.BlockPos},System.Collections.Generic.List{System.Int32},Vintagestory.API.Client.EnumHighlightBlocksMode,Vintagestory.API.Common.EnumHighlightShape,System.Single)">
            <summary>
            Sends given player a list of block positions that should be highlighted
            </summary>
            <param name="player"></param>
            <param name="highlightSlotId">for multiple highlights use a different number</param>
            <param name="blocks"></param>
            <param name="colors"></param>
            <param name="mode"></param>
            <param name="shape"></param>
            <param name="scale"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.HighlightBlocks(Vintagestory.API.Common.IPlayer,System.Int32,System.Collections.Generic.List{Vintagestory.API.MathTools.BlockPos},Vintagestory.API.Client.EnumHighlightBlocksMode,Vintagestory.API.Common.EnumHighlightShape)">
            <summary>
            Sends given player a list of block positions that should be highlighted (using a default color)
            </summary>
            <param name="player"></param>
            <param name="highlightSlotId">for multiple highlights use a different number</param>
            <param name="blocks"></param>
            <param name="mode"></param>
            <param name="shape">When arbitrary, the blocks list represents the blocks to be highlighted. When Cube the blocks list should contain 2 positions for start and end</param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.GetBlockAccessor(System.Boolean,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Retrieve a customized interface to access blocks in the loaded game world.
            </summary>
            <param name="synchronize">Whether or not a call to Setblock should send the update also to all connected clients</param>
            <param name="relight">Whether or not to relight the chunk after a call to SetBlock and the light values changed by that</param>
            <param name="strict">Log an error message if GetBlock/SetBlock was called to an unloaded chunk</param>
            <param name="debug">If strict, crashes the server if a unloaded chunk was crashed, prints an exception and exports a png image of the current loaded chunks</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.GetBlockAccessorBulkUpdate(System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Retrieve a customized interface to access blocks in the loaded game world. Does not to relight/sync on a SetBlock until Commit() is called. On commit all touched blocks are relit/synced at once. This method should be used when setting many blocks (e.g. tree generation, explosion, etc.).
            </summary>
            <param name="synchronize">Whether or not a call to Setblock should send the update also to all connected clients</param>
            <param name="relight">Whether or not to relight the chunk after the a call to SetBlock and the light values changed by that</param>
            <param name="debug"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.GetBlockAccessorBulkMinimalUpdate(System.Boolean,System.Boolean)">
            <summary>
            Retrieve a customized interface to access blocks in the loaded game world. Does not relight. On commit all touched blocks are updated at once. This method is currently used for the snow accumulation system
            </summary>
            <param name="synchronize"></param>
            <param name="debug"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.GetBlockAccessorMapChunkLoading(System.Boolean,System.Boolean)">
            <summary>
            Retrieve a special Bulk blockaccessor which can have the chunks it accesses directly provided to it from a loading mapchunk. On commit all touched blocks are updated at once. This method is currently used for the snow accumulation system
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.GetBlockAccessorRevertable(System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Same as GetBlockAccessorBulkUpdate, additionally, each Commit() stores the previous state and you can perform undo/redo operations on these.
            </summary>
            <param name="synchronize">Whether or not a call to Setblock should send the update also to all connected clients</param>
            <param name="relight">Whether or not to relight the chunk after a call to SetBlock and the light values changed by that</param>
            <param name="debug"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.GetBlockAccessorPrefetch(System.Boolean,System.Boolean)">
            <summary>
            Same as GetBlockAccessor but you have to call PrefetchBlocks() before using GetBlock(). It pre-loads all blocks in given area resulting in faster GetBlock() access
            </summary>
            <param name="synchronize">Whether or not a call to Setblock should send the update also to all connected clients</param>
            <param name="relight">Whether or not to relight the chunk after a call to SetBlock and the light values changed by that</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.GetCachingBlockAccessor(System.Boolean,System.Boolean)">
            <summary>
            Same as the normal block accessor but remembers the previous chunk that was accessed. This can give you a 10-50% performance boosts when you scan many blocks in tight loops
            DONT FORGET: Call .Begin() before getting/setting in a tight loop. Not calling it can cause the game to crash
            </summary>
            <param name="synchronize"></param>
            <param name="relight"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldAccessor.GetLockFreeBlockAccessor">
            <summary>
            This block accessor is *read only* and does not use lock() or chunk.Unpack() in order to make it very fast. This comes at the cost of sometimes reading invalid data (block id = 0) when the chunk is packed or being packed.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IChunkBlocks.Item(System.Int32)">
            <summary>
            Retrieves the first solid block, if that one is empty, retrieves the first fluid block
            </summary>
            <param name="index3d"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IChunkBlocks.ClearBlocksAndPrepare">
            <summary>
            Same as ClearBlocks but initialises the chunkdata palette, so that SetBlockUnsafe can be used  (useful in worldgen)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IChunkBlocks.SetBlockBulk(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Efficiently bulk-set a single block id in a chunk throughout a y-layer.  lenX will be ignored (always treated as 32), the y-position is specified in index3d, the width lenZ will be respected
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IChunkBlocks.SetBlockUnsafe(System.Int32,System.Int32)">
            <summary>
            Not threadsafe, used only in cases where we know that the chunk already has a palette (e.g. in worldgen when replacing rock with other blocks)
            </summary>
            <param name="index3d"></param>
            <param name="value"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IChunkBlocks.SetFluid(System.Int32,System.Int32)">
            <summary>
            Used to place blocks into the fluid layer instead of the solid blocks layer; calling code must do this
            </summary>
            <param name="index3d"></param>
            <param name="value"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IChunkBlocks.GetBlockIdUnsafe(System.Int32)">
            <summary>
            Like get (i.e. this[]) but not threadsafe - only for use where setting and getting is guaranteed to be all on the same thread (e.g. during worldgen)
            </summary>
            <param name="index3d"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IChunkBlocks.TakeBulkReadLock">
            <summary>
            Enter a locked section for bulk block reads from this ChunkData, using Unsafe read methods
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IChunkBlocks.ReleaseBulkReadLock">
            <summary>
            Leave a locked section for bulk block reads from this ChunkData, using Unsafe read methods
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IChunkBlocks.ContainsBlock(System.Int32)">
            <summary>
            Does this chunk contain any examples of the specified block?
            <br/>(If the result is false, this is a very fast lookup because it quickly scans the blocks palette, not every block individually.)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IChunkBlocks.FuzzyListBlockIds(System.Collections.Generic.List{System.Int32})">
            <summary>
            Populates the list with all block IDs which are present in this chunk.  The list may contain false positives (i.e. blocks which used to be here but were removed) so that's why it's called a "Fuzzy" list.
            There will be no false negatives, therefore useful as a first-pass filter when scanning chunks for various types of block e.g. ITickable
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IClientChunk.LoadedFromServer">
            <summary>
            True if fully initialized
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IClientChunk.SetVisibility(System.Boolean)">
            <summary>
            Can be used to set a chunk as invisible, probably temporarily (e.g. for the Timeswitch system)
            </summary>
            <param name="visible"></param>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldChunk.MapChunk">
            <summary>
            Holds a reference to the current map data of this chunk column
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldChunk.Data">
            <summary>
            Holds all the blockids for each coordinate, access via index: (y * chunksize + z) * chunksize + x
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldChunk.Blocks">
            <summary>
            Use <see cref="P:Vintagestory.API.Common.IWorldChunk.Data"/> instead
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldChunk.Lighting">
            <summary>
            Holds all the lighting data for each coordinate, access via index: (y * chunksize + z) * chunksize + x
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldChunk.MaybeBlocks">
            <summary>
            Faster (non-blocking) access to blocks at the cost of sometimes returning 0 instead of the real block. Use <see cref="P:Vintagestory.API.Common.IWorldChunk.Data"/> if you need reliable block access. Also should only be used for reading. Currently used for the particle system.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldChunk.Entities">
            <summary>
            An array holding all Entities currently residing in this chunk. This array may be larger than the amount of entities in the chunk.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldChunk.EntitiesCount">
            <summary>
            Actual count of entities in this chunk
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldChunk.BlockEntities">
            <summary>
            An array holding block Entities currently residing in this chunk. This array may be larger than the amount of block entities in the chunk.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.Unpack">
            <summary>
            Blockdata and Light might be compressed, always call this method if you want to access these
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.Unpack_ReadOnly">
            <summary>
            Like Unpack(), except it must be used readonly: the calling code promises not to write any changes to this chunk's blocks or lighting
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.UnpackAndReadBlock(System.Int32,System.Int32)">
            <summary>
            Like Unpack_ReadOnly(), except it actually reads and returns the block ID at index<br/>
            (Returns 0 if the chunk was disposed)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.Unpack_AndReadLight(System.Int32)">
            <summary>
            Like Unpack_ReadOnly(), except it actually reads and returns the Light at index<br/>
            (Returns 0 if the chunk was disposed)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.Unpack_AndReadLight(System.Int32,System.Int32@)">
            <summary>
            A version of Unpack_AndReadLight which also returns the lightSat<br/>
            (Returns 0 if the chunk was disposed)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.MarkModified">
            <summary>
            Marks this chunk as modified. If called on server side it will be stored to disk on the next autosave or during shutdown, if called on client not much happens (but it will be preserved from packing for next ~8 seconds)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.MarkFresh">
            <summary>
            Marks this chunk as recently accessed. This will prevent the chunk from getting compressed by the in-memory chunk compression algorithm
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldChunk.LightPositions">
            <summary>
            Returns a list of a in-chunk indexed positions of all light sources in this chunk
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldChunk.Disposed">
            <summary>
            Whether this chunk got unloaded
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.AddEntity(Vintagestory.API.Common.Entities.Entity)">
            <summary>
            Adds an entity to the chunk.
            </summary>
            <param name="entity">The entity to add.</param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.RemoveEntity(System.Int64)">
            <summary>
            Removes an entity from the chunk.
            </summary>
            <param name="entityId">the ID for the entity</param>
            <returns>Whether or not the entity was removed.</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.SetModdata(System.String,System.Byte[])">
            <summary>
            Allows setting of arbitrary, permanantly stored moddata of this chunk. When set on the server before the chunk is sent to the client, the data will also be sent to the client.
            When set on the client the data is discarded once the chunk gets unloaded
            </summary>
            <param name="key"></param>
            <param name="data"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.RemoveModdata(System.String)">
            <summary>
            Removes the permanently stored data.
            </summary>
            <param name="key"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.GetModdata(System.String)">
            <summary>
            Retrieve arbitrary, permantly stored mod data
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.SetModdata``1(System.String,``0)">
            <summary>
            Allows setting of arbitrary, permanantly stored moddata of this chunk. When set on the server before the chunk is sent to the client, the data will also be sent to the client.
            When set on the client the data is discarded once the chunk gets unloaded
            </summary>
            <typeparam name="T"></typeparam>
            <param name="key"></param>
            <param name="data"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.GetModdata``1(System.String,``0)">
            <summary>
            Retrieve arbitrary, permantly stored mod data
            </summary>
            <typeparam name="T"></typeparam>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldChunk.LiveModData">
            <summary>
            Can be used to store non-serialized mod data that is only serialized into the standard moddata dictionary on unload. This prevents the need for constant serializing/deserializing. Useful when storing large amounts of data. Is not populated on chunk load, you need to populate it with stored data yourself using GetModData()
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.GetLocalBlockAtBlockPos(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Retrieve a block from this chunk ignoring ice/water layer, performs Unpack() and a modulo operation on the position arg to get a local position in the 0..chunksize range (it's your job to pick out the right chunk before calling this method)
            </summary>
            <param name="world"></param>
            <param name="position"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.GetLocalBlockAtBlockPos_LockFree(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,System.Int32)">
            <summary>
            As GetLocalBlockAtBlockPos except lock-free, use it inside paired LockForReading(true/false) calls
            </summary>
            <param name="world"></param>
            <param name="position"></param>
            <param name="layer"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.GetLocalBlockEntityAtBlockPos(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Retrieve a block entity from this chunk
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.SetDecor(Vintagestory.API.Common.Block,System.Int32,Vintagestory.API.MathTools.BlockFacing)">
            <summary>
            Sets a decor block to the side of an existing block. Use air block (id 0) to remove a decor.<br/>
            </summary>
            <param name="index3d"></param>
            <param name="onFace"></param>
            <param name="block"></param>
            <returns>False if there already exists a block in this position and facing</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.SetDecor(Vintagestory.API.Common.Block,System.Int32,System.Int32)">
            <summary>
            Sets a decor block to a specific sub-position on the side of an existing block. Use air block (id 0) to remove a decor.<br/>
            </summary>
            <param name="block"></param>
            <param name="index3d"></param>
            <param name="faceAndSubposition"></param>
            <returns>False if there already exists a block in this position and facing</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.BreakDecor(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.BlockFacing,System.Nullable{System.Int32})">
            <summary>
            If allowed by a player action, removes all decors at given position and calls OnBrokenAsDecor() on all selected decors and drops the items that are returned from Block.GetDrops()
            </summary>
            <param name="world"></param>
            <param name="pos"></param>
            <param name="side">If null, all the decor blocks on all sides are removed</param>
            <param name="decorIndex">If not null breaks only this part of the decor for give face. Requires side to be set.</param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.BreakAllDecorFast(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,System.Int32,System.Boolean)">
            <summary>
            Removes a decor block from given position, saves a few cpu cycles by not calculating index3d
            </summary>
            <param name="world"></param>
            <param name="pos"></param>
            <param name="index3d"></param>
            <param name="callOnBrokenAsDecor">When set to true it will call block.OnBrokenAsDecor(...) which is used to drop the decors of that block</param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.GetDecors(Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.MathTools.BlockPos)">
             <summary>
            
             </summary>
             <param name="blockAccessor"></param>
             <param name="pos"></param>
             <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.GetSubDecors(Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.MathTools.BlockPos)">
             <summary>
            
             </summary>
             <param name="blockAccessor"></param>
             <param name="position"></param>
             <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.SetDecors(System.Collections.Generic.Dictionary{System.Int32,Vintagestory.API.Common.Block})">
            <summary>
            Set entire Decors for a chunk - used in Server->Client updates
            </summary>
            <param name="newDecors"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.AdjustSelectionBoxForDecor(Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.Cuboidf[])">
            <summary>
            Adds extra selection boxes in case a decor block is attached at given position
            </summary>
            <param name="blockAccessor"></param>
            <param name="pos"></param>
            <param name="orig"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.FinishLightDoubleBuffering">
            <summary>
            Only to be implemented client side
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.GetLightAbsorptionAt(System.Int32,Vintagestory.API.MathTools.BlockPos,System.Collections.Generic.IList{Vintagestory.API.Common.Block})">
            <summary>
            Returns the higher light absorption between solids and fluids block layers
            </summary>
            <param name="index3d"></param>
            <param name="blockPos"></param>
            <param name="blockTypes"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.AcquireBlockReadLock">
            <summary>
            For bulk chunk GetBlock operations, allows the chunkDataLayers to be pre-locked for reading, instead of entering and releasing one lock per read
            <br/>Best used mainly on the server side unless you know what you are doing.  The client-side Chunk Tesselator can need read-access to a chunk at any time so making heavy use of this would cause rendering delays on the client
            <br/>Make sure always to call ReleaseBulkReadLock() when finished.  Use a try/finally block if necessary, and complete all read operations within 8 seconds
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.ReleaseBlockReadLock">
            <summary>
            For bulk chunk GetBlock operations, allows the chunkDataLayers to be pre-locked for reading, instead of entering and releasing one lock per read
            <br/>Make sure always to call ReleaseBulkReadLock() when finished.  Use a try/finally block if necessary, and complete all read operations within 8 seconds
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldChunk.Dispose">
            <summary>
            Free up chunk data and pool
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.ModDependency">
            <summary>
            Represents a mod dependency requirement of one mod for another.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ModDependency.ModID">
            <summary> The required mod id (domain) of this dependency. </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ModDependency.Version">
            <summary>
            The minimum version requirement of this dependency.
            May be empty if the no specific version is required.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ModDependency.#ctor(System.String,System.String)">
            <summary>
            Creates a new ModDependancy object.
            </summary>
            <param name="modID">The ID of the required mod.</param>
            <param name="version">The version of the required mod (default: empty string.)</param>
        </member>
        <member name="M:Vintagestory.API.Common.ModDependency.ToString">
            <summary>
            Returns the Mod Dependancy as a string.
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.ModDependencyAttribute">
            <summary>
            Applied to a mod assembly multiple times for each required dependency.
            Superseded by this mod's "modinfo.json" file, if available.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ModDependencyAttribute.ModID">
            <summary> The required mod id (domain) of this dependency. </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ModDependencyAttribute.Version">
            <summary>
            The minimum version requirement of this dependency.
            May be empty if the no specific version is required.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.EnumModType">
            <summary>
            Describes the type of a mod. Allows easy recognition and limiting of
            what any particular mod can do.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumModType.Theme">
            <summary>
            Makes only theme changes (texture, shape, sound, music) to existing
            game or mod assets / content without adding new content or code.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumModType.Content">
            <summary>
            Can modify any existing assets, or add new content, but no code.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumModType.Code">
            <summary>
            Can modify existing assets, add new content and make use of C#
            source files (.cs) and pre-compiled assemblies (.dll).
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.ModInfo">
            <summary>
            Meta data for a specific mod folder, archive, source file or assembly.
            Either loaded from a "modinfo.json" or from the assembly's
            <see cref="T:Vintagestory.API.Common.ModInfoAttribute"/>.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ModInfo.Type">
            <summary> The type of this mod. Can be "Theme", "Content" or "Code". </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ModInfo.TextureSize">
            <summary>
            If the mod is a texture pack that changes topsoil grass textures, define the texture size here
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ModInfo.Name">
            <summary> The name of this mod. For example "My Example Mod". </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ModInfo.ModID">
            <summary>
            The mod id (domain) of this mod. For example "myexamplemod".
            (Optional. Uses mod name (converted to lowercase, stripped of
            whitespace and special characters) if missing.)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ModInfo.Version">
            <summary> The version of this mod. For example "2.10.4". (optional) </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ModInfo.NetworkVersion">
            <summary>
            The network version of this mod. Change this number when a user that has an older version of your mod should not be allowed to connected to server with a newer version. If not set, the version value is used.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ModInfo.IconPath">
            <summary>
            The path relative to the mod root to load the icon from.
            If this is not set, the game will also try to load "./modicon.png" before giving up.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ModInfo.Description">
            <summary> A short description of what this mod does. (optional) </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ModInfo.Website">
            <summary> Location of the website or project site of this mod. (optional) </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ModInfo.Authors">
            <summary> Names of people working on this mod. (optional) </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ModInfo.Contributors">
            <summary> Names of people contributing to this mod. (optional) </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ModInfo.Side">
            <summary>
            Which side(s) this mod runs on. Can be "Server", "Client" or "Universal".
            (Optional. Universal (both server and client) by default.)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ModInfo.RequiredOnClient">
            <summary>
            If set to false and the mod is universal, clients don't need the mod
            to join. (Optional. True by default.)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ModInfo.RequiredOnServer">
            <summary>
            If set to false and the mod is universal, the mod is not disabled
            if it's not present on the server. (Optional. True by default.)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ModInfo.Dependencies">
            <summary> List of mods (and versions) this mod depends on. </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ModInfo.CoreMod">
            <summary> Not exposed as a JsonProperty, only coded mods can set this to true </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ModInfo.ToModID(System.String)">
            <summary>
            Attempts to convert the specified mod name to a mod ID, stripping any
            non-alphanumerical (including spaces and dashes) and lowercasing letters.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ModInfo.IsValidModID(System.String)">
             <summary>
             Returns whether the specified domain is valid.
            
             Tests if the string is non-null, has a length of at least 1, starts with
             a basic lowercase letter and contains only lowercase letters and numbers.
             </summary>
        </member>
        <member name="T:Vintagestory.API.Common.ModInfoAttribute">
            <summary>
            Applied to a mod assembly to provide additional meta data information
            about a code mod. Superseded by "modinfo.json" file, if available.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ModInfoAttribute.Name">
            <summary> The name of this mod. For example "My Example Mod". </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ModInfoAttribute.ModID">
            <summary> The mod ID (domain) of this mod. For example "myexamplemod". </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ModInfoAttribute.Version">
            <summary> The version of this mod. For example "2.10.4". (optional) </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ModInfoAttribute.CoreMod">
            <summary> Is this mod part of the core game, i.e. vanilla Vintage Story?  (optional)  <br/>Only affects whether the player is given a warning when attempting to disable this mod.<br/>Mods other than VSSurvival, VSEssentials, VSCreative should not use this, obviously... </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ModInfoAttribute.NetworkVersion">
            <summary>
            The network version of this mod. Change this number when a user that has an older version of your mod should not be allowed to connected to server with a newer version. If not set, the version value is used.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ModInfoAttribute.Description">
            <summary> A short description of what this mod does. (optional) </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ModInfoAttribute.Website">
            <summary> Location of the website or project site of this mod. (optional) </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ModInfoAttribute.Authors">
            <summary> Names of people working on this mod. (optional) </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ModInfoAttribute.Contributors">
            <summary> Names of people contributing to this mod. (optional) </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ModInfoAttribute.Side">
            <summary>
            Which side(s) this mod runs on. Can be "Server", "Client" or "Universal".
            (Optional. Universal (both server and client) by default.)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ModInfoAttribute.RequiredOnClient">
            <summary>
            If set to false and the mod is universal, clients don't need it to join.
            (Optional. True (required) by default.)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ModInfoAttribute.RequiredOnServer">
            <summary>
            If set to false and the mod is universal, the mod is not disabled
            if it's not present on the server. (Optional. True by default.)
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.ModSystem">
            <summary>
            Base of a system, which is part of a code mod. Takes care of setting up,
            registering and handling all sorts of things. You may choose to split up
            a mod into multiple distinct systems if you so choose, but there may
            also be just one.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ModSystem.Mod">
            <summary>
            Gets the <see cref="T:Vintagestory.API.Common.Mod"/> this mod system is part of.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ModSystem.ShouldLoad(Vintagestory.API.Common.ICoreAPI)">
            <summary>
            Returns if this mod should be loaded for the given app side.
            </summary>
            <param name="api"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ModSystem.ShouldLoad(Vintagestory.API.Common.EnumAppSide)">
            <summary>
            Returns if this mod should be loaded for the given app side, called by ShouldLoad(ICoreApi api)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ModSystem.ExecuteOrder">
            <summary>
            If you need mods to be executed in a certain order, adjust this methods return value.<br/>
            The server will call each Mods StartPre() and Start() methods in ascending order of each mods execute order value. And thus, as long as every mod registers it's event handlers in the Start() method, all event handlers will be called in the same execution order.<br/>
            Default execute order of some survival mod parts<br/>
            Worldgen:<br/>
            - GenTerra: 0 <br/>
            - RockStrata: 0.1<br/>
            - Deposits: 0.2<br/>
            - Caves: 0.3<br/>
            - Blocklayers: 0.4<br/>
            AssetsLoaded event<br/>
            - JsonPatch loader: 0.05<br/>
            - Load hardcoded mantle block: 0.1<br/>
            - Block and Item Loader: 0.2<br/>
            - Recipes (Smithing, Knapping, Clayforming, Grid recipes, Alloys) Loader: 1<br/>
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ModSystem.StartPre(Vintagestory.API.Common.ICoreAPI)">
            <summary>
            Called during intial mod loading, called before any mod receives the call to Start()
            </summary>
            <param name="api"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ModSystem.Start(Vintagestory.API.Common.ICoreAPI)">
            <summary>
            Start method, called on both server and client after all mods already received a call to StartPre(), but before Blocks/Items/Entities/Recipes etc are loaded and some time before StartServerSide / StartClientSide.
            <br/>Typically used to register for events and network packets etc
            <br/>Typically also used in a mod's core to register the classes for your blocks, items, entities, blockentities, behaviors etc, prior to loading assets
            <br/><br/>Do not make calls to api.Assets at this stage, the assets may not be found, resulting in errors (even if the json file exists on disk). Use AssetsLoaded() stage instead.
            </summary>
            <param name="api"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ModSystem.AssetsLoaded(Vintagestory.API.Common.ICoreAPI)">
            <summary>
            Called on the server or the client; implementing code may need to check which side it is.
            <br/>On a server, called only after all mods have received Start(), and after asset JSONs have been read from disk and patched, but before runphase ModsAndConfigReady.
            <br/>Asset files are now available to load using api.Assets.TryGet() calls or similar. If your execute order is below 0.2, blocks and items are not yet registered at this point, if below 0.6 recipes are not yet registered.
            </summary>
            <param name="api"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ModSystem.AssetsFinalize(Vintagestory.API.Common.ICoreAPI)">
            <summary>
            When called on a server, all Block.OnLoaded() methods etc. have already been called, this is for any final asset set-up steps to be done after that.  See VSSurvivalMod system BlockReinforcement.cs for an example.
            </summary>
            <param name="api"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ModSystem.StartClientSide(Vintagestory.API.Client.ICoreClientAPI)">
            <summary>
            Full start to the mod on the client side.
            <br/>Note, in multiplayer games, the server assets (blocks, items, entities, recipes) have not yet been received and so no blocks etc. are yet registered
            <br/>For code that must run only after we have blocks, items, entities and recipes all registered and loaded, add your method to event BlockTexturesLoaded
            </summary>
            <param name="api"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ModSystem.StartServerSide(Vintagestory.API.Server.ICoreServerAPI)">
            <summary>
            Full start to the mod on the server side
            <br/><br/>Note: preferably, your code which adds or updates behaviors or attributes or other fixed properties of any block, item or entity, should have been run before now.
            For example, code which needs to do that could be placed in an overridden AssetsFinalize() method. See VSSurvivalMod system BlockReinforcement.cs for an example.
            </summary>
            <param name="api"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ModSystem.Dispose">
            <summary>
            If this mod allows runtime reloading, you must implement this method to unregister any listeners / handlers
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AssetCategory.Code">
            <summary>
            Path and name
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AssetCategory.SideType">
            <summary>
            Determines wether it will be used on server, client or both.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AssetCategory.AffectsGameplay">
            <summary>
            Temporary solution to not change block types. Will be changed
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.AssetCategory.FromCode(System.String)">
            <summary>
            Gets the asset category by code name
            </summary>
            <param name="code">The code name for the asset category.</param>
            <returns>An asset category.</returns>
        </member>
        <member name="T:Vintagestory.API.Common.SourceStringComponents">
            <summary>
            For performance, don't build and store new concatenated strings for every block variant, item and entity, when these will only be used (if ever) for error logging
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.SourceStringComponents.#ctor(System.String,System.String,System.String,System.Int32)">
            <summary>
            Store references to the source strings, to be able to build a logging string later if necessary
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.AssetLocationAndSource">
            <summary>
            Defines a complete path to an assets, including it's domain. Includes an extra Source field for debugging.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AssetLocationAndSource.Source">
            <summary>
            The source of a given asset.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AssetLocationAndSource.loadedAlready">
            <summary>
            Used to avoid duplication when loading colormaps and shapes
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.AssetLocation">
            <summary>
            Defines a complete path to an assets, including it's domain.
            </summary>
            <example>
            In JSON assets, asset locations are represented as single strings in the form "domain:path". To access an asset in the vanilla game, use the domain 'game'.
            <code language="json">"code": "game:vegetable-cookedcattailroot",</code>
            </example>
        </member>
        <member name="M:Vintagestory.API.Common.AssetLocation.#ctor(System.String)">
            <summary>
            Create a new AssetLocation from a single string (e.g. when parsing an AssetLocation in a JSON file). If no domain is prefixed, the default 'game' domain is used.
            This ensures the domain and path in the created AssetLocation are lowercase (as the input string could have any case)
            </summary>
            <param name="domainAndPath"></param>
        </member>
        <member name="M:Vintagestory.API.Common.AssetLocation.ResolveToDomainAndPath(System.String,System.String@,System.String@)">
            <summary>
            Helper function to resolve path dependancies.
            </summary>
            <param name="domainAndPath">Full path</param>
            <param name="domain">The mod domain to get</param>
            <param name="path">The resulting path to get</param>
        </member>
        <member name="M:Vintagestory.API.Common.AssetLocation.#ctor(System.String,System.String)">
            <summary>
            Create a new AssetLocation with given domain and path: for efficiency it is the responsibility of calling code to ensure these are lowercase
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.AssetLocation.CreateOrNull(System.String)">
            <summary>
            Create a new AssetLocation if a non-empty string is provided, otherwise return null. Useful when deserializing packets
            </summary>
            <param name="domainAndPath"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.AssetLocation.Create(System.String,System.String)">
            <summary>
            Create an Asset Location from a string which may optionally have no prefixed domain: - in which case the defaultDomain is used.
            This may be used to create an AssetLocation from any string (e.g. from custom Attributes in a JSON file).  For safety and consistency it ensures the domainAndPath string is lowercase.
            BUT: the calling code has the responsibility to ensure the defaultDomain parameter is lowercase (normally the defaultDomain will be taken from another existing AssetLocation, in which case it should already be lowercase).
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AssetLocation.Valid">
            <summary>
            Returns true if this is a valid path. For an asset location to be valid it needs to
            have any string as domain, any string as path, the domain may not contain slashes, and the path may not contain 2 consecutive slashes
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.AssetLocation.FirstPathPart(System.Int32)">
            <summary>
            Returns the n-th path part
            </summary>
            <param name="posFromLeft"></param>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.AssetLocation.Category">
            <summary>
            Gets the category of the asset.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.AssetLocation.HasDomain">
            <summary>
            Whether or not the Asset has a domain.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.AssetLocation.GetName">
            <summary>
            Gets the name of the asset.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.AssetLocation.RemoveEnding">
            <summary>
            Removes the file ending from the asset path.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.AssetLocation.EndVariant">
            <summary>
            Returns the code of the last variant in the path, for example for a path of "water-still-7" it would return "7"
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.AssetLocation.Clone">
            <summary>
            Clones this asset.
            </summary>
            <returns>the cloned asset.</returns>
        </member>
        <member name="M:Vintagestory.API.Common.AssetLocation.PermanentClone">
            <summary>
            Clones this asset in a way which saves RAM, if the calling code created the AssetLocation from JSON/deserialisation. Use for objects expected to be held for a long time - for example, building Blocks at game launch
            (at the cost of slightly more CPU time when creating the Clone())
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.AssetLocation.CopyWithPath(System.String)">
            <summary>
            Makes a copy of the asset with a modified path.
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.AssetLocation.WithPath(System.String)">
            <summary>
            Sets the path of the asset location
            </summary>
            <param name="path">the new path to set.</param>
            <returns>The modified AssetLocation</returns>
        </member>
        <member name="M:Vintagestory.API.Common.AssetLocation.WithFilename(System.String)">
            <summary>
            Sets the last part after the last /
            </summary>
            <param name="filename"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.AssetLocation.toLocations(System.String[])">
            <summary>
            Converts a collection of paths to AssetLocations.
            </summary>
            <param name="names">The names of all of the locations</param>
            <returns>The AssetLocations for all the names given.</returns>
        </member>
        <member name="M:Vintagestory.API.Common.AssetLocationExtensions.ToNonNullString(Vintagestory.API.Common.AssetLocation)">
            <summary>
            Convenience method and aids performance, avoids double field look-up
            </summary>
            <param name="loc"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.IAsset">
            <summary>
            Represents a loaded asset from the assets folder
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IAsset.Name">
            <summary>
            The assets Filename 
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IAsset.Location">
            <summary>
            The AssetLocation of the asset.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IAsset.Origin">
            <summary>
            The origin informaton of the asset.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IAsset.Data">
            <summary>
            The file contents in binary format
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IAsset.ToObject``1(Newtonsoft.Json.JsonSerializerSettings)">
            <summary>
            If the asset is a json file you can use this convenience method to turn it into an object
            </summary>
            <typeparam name="T">Attempts to convert the asset into the given type.</typeparam>
            <param name="settings">Settings for the Json Serializer.</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IAsset.ToText">
            <summary>
            Turns the binary data into a UTF-8 string. Use for text files.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IAsset.ToBitmap(Vintagestory.API.Client.ICoreClientAPI)">
            <summary>
            Turns the binary data into a Bitmap. Use for .png images. Does not work on other image formats.
            </summary>
            <param name="capi"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IAsset.IsLoaded">
            <summary>
            Whether or not the asset is currently loaded.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IAsset.IsPatched">
            <summary>
            Set to true if the asset has been patched by JsonPatchLoader - if so, we don't want to unload it
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.IAssetManager">
            <summary>
            Takes care loading, reloading and managing all files inside the assets folder. All asset names and paths are always converted to lower case.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IAssetManager.AllAssets">
            <summary>
            All assets found in the assets folder
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IAssetManager.Exists(Vintagestory.API.Common.AssetLocation)">
            <summary>
            Returns true if given asset exists in the list of loaded assets
            </summary>
            <param name="location"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IAssetManager.Add(Vintagestory.API.Common.AssetLocation,Vintagestory.API.Common.IAsset)">
            <summary>
            Adds a runtime asset to the game, curently used by ModCompatiblityUtil. Allows you do add an asset found at <paramref name="path"/> but loaded from path <paramref name="asset"/>.Path.
            </summary>
            <param name="path"></param>
            <param name="asset"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IAssetManager.Get(Vintagestory.API.Common.AssetLocation)">
            <summary>
            Retrieves an asset from given path within the assets folder. Throws an exception when the asset does not exist. Remember to use lower case paths.
            </summary>
            <param name="Location"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IAssetManager.TryGet(Vintagestory.API.Common.AssetLocation,System.Boolean)">
            <summary>
            Retrieves an asset from given path within the assets folder. Returns null when the asset does not exist. Remember to use lower case paths.
            <br/><br/> Mods must not call TryGet to get assets before AssetsLoaded stage in a ModSystem - do not load assets in the Start() method!  (Or if you absolutely have to load assets in Start(), use IAssetManager.Get(), but it will throw an exception for anything except a base asset.)
            </summary>
            <param name="Location"></param>
            <param name="loadAsset"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IAssetManager.GetMany(System.String,System.String,System.Boolean)">
            <summary>
            Returns all assets inside given domain with the given path. If no domain is specified, all domains will be searched.
            The returned list is considered unsorted.
            </summary>
            <param name="pathBegins"></param>
            <param name="domain"></param>
            <param name="loadAsset">Whether it should load the contents of this asset</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IAssetManager.GetManyInCategory(System.String,System.String,System.String,System.Boolean)">
            <summary>
            Returns all assets inside given category with the given path. If no domain is specified, all domains will be searched.
            The returned list is considered unsorted.
            </summary>
            <param name="categoryCode"> See class <see cref="T:Vintagestory.API.Common.AssetCategory"/> </param>
            <param name="pathBegins"></param>
            <param name="domain"></param>
            <param name="loadAsset"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IAssetManager.GetMany``1(Vintagestory.API.Common.ILogger,System.String,System.String)">
            <summary>
            Searches for all assets in given basepath and uses Newtonsoft.Json to automatically turn them into objects. Will log an error to given ILogger if it can't parse the json file and continue with the next asset. Remember to use lower case paths. If no domain is specified, all domains will be searched.
            The returned list is considered unsorted.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="logger"></param>
            <param name="pathBegins"></param>
            <param name="domain"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IAssetManager.GetLocations(System.String,System.String)">
            <summary>
            Returns all asset locations that begins with given path and domain. If no domain is specified, all domains will be searched. The returned list is considered unsorted.
            </summary>
            <param name="pathBegins"></param>
            <param name="domain"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IAssetManager.Get``1(Vintagestory.API.Common.AssetLocation)">
            <summary>
            Retrieves an asset from given path within the assets folder and uses JSON.NET to automatically turn them into objects. Throws an exception when the asset does not exist or the conversion failed. Remember to use lower case paths.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="location"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IAssetManager.Reload(Vintagestory.API.Common.AssetLocation)">
            <summary>
            Reloads all assets in given base location path. It returns the amount of the found locations.
            </summary>
            <param name="baseLocation"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IAssetManager.Reload(Vintagestory.API.Common.AssetCategory)">
            <summary>
            Reloads all assets in given base location path. It returns the amount of the found locations.
            </summary>
            <param name="category"></param>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IAssetManager.Origins">
            <summary>
            Returns all origins in the priority order. Highest (First) to Lowest (Last)
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IAssetOrigin.LoadAsset(Vintagestory.API.Common.IAsset)">
            <summary>
            Loads the asset into memeory.
            </summary>
            <param name="asset">The asset to be loaded</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IAssetOrigin.TryLoadAsset(Vintagestory.API.Common.IAsset)">
            <summary>
            Attempts to load the asset.  Returns false if it fails.
            </summary>
            <param name="asset">The asset to be loaded.</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IAssetOrigin.GetAssets(Vintagestory.API.Common.AssetCategory,System.Boolean)">
            <summary>
            Returns all assets of the given category which can be found in this origin 
            </summary>
            <param name="category"></param>
            <param name="shouldLoad"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IAssetOrigin.GetAssets(Vintagestory.API.Common.AssetLocation,System.Boolean)">
            <summary>
            Returns all assets of the given base location path which can be found in this origin 
            </summary>
            <param name="baseLocation"></param>
            <param name="shouldLoad"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IAssetOrigin.IsAllowedToAffectGameplay">
            <summary>
            Resource packs are not allowed to affect gameplay
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.Mod">
            <summary>
            Represents a mod in the mod manager. May contain zero to multiple
            <see cref="T:Vintagestory.API.Common.ModSystem"/> instances within it.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Mod.SourceType">
            <summary> Gets the origin file type of the mod (.cs, .dll, .zip or folder). </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Mod.SourcePath">
            <summary> Gets the full path to where this mod originated from, including file name. </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Mod.FileName">
            <summary> Gets the file name of this mod. </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Mod.Info">
            <summary>
            Gets the info of this mod. Found either as "modinfo.json" in the
            of the mod's folder or archive, or in the case of raw .cs and .dll
            files, using the <see cref="T:Vintagestory.API.Common.ModInfoAttribute"/>
            on the assembly.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Mod.Icon">
            <summary>
            Holds the icon of this mod. Found as "modicon.png" in the root of
            the mod's folder or archive. May be null.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Mod.Logger">
            <summary> Gets the logger associated with this mod. </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Mod.Systems">
            <summary> Gets a collection of systems belonging to this mod. </summary>
        </member>
        <member name="T:Vintagestory.API.Common.EnumModSourceType">
            <summary>
            Represents the origin file type of the mod.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumModSourceType.CS">
            <summary> A single .cs source file. (Code mod without assets.) </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumModSourceType.DLL">
            <summary> A single .dll source file. (Code mod without assets.) </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumModSourceType.ZIP">
            <summary> A .zip archive able to contain assets and code files. </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumModSourceType.Folder">
            <summary> A folder able to contain assets and code files. </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Climate.Sealevel">
            <summary>
            This value is update once the config is loaded and the Sealevel is known
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Climate.TemperatureScaleConversion">
            <summary>
            Temperature conversion factor used to get real temperatures from the climate's temperature int
            Used to convert from real temperature range float [-50 , 40] to int [0 , 255]
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Climate.DescaleTemperature(System.Single)">
            <summary>
            Convert from real temperature range float [-50 , 40] to int [0 , 255]
            </summary>
            <param name="temperature"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Climate.GetRainFall(System.Int32,System.Int32)">
             <summary>
            
             </summary>
             <param name="rainfall"></param>
             <param name="y"></param>
             <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Climate.GetScaledAdjustedTemperature(System.Int32,System.Int32)">
            <summary>
            Convert from int [0 , 255] range to real temperature range float [-20 , 40]
            The distToSealevel/1.5f is also hardcoded in shaderincluds/colormap.vsh
            </summary>
            <param name="unscaledTemp"></param>
            <param name="distToSealevel"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Climate.GetScaledAdjustedTemperatureFloat(System.Int32,System.Int32)">
            <summary>
            Convert from int [0 , 255] range to real temperature range float [-20 , 40]
            The distToSealevel/1.5f is also hardcoded in shaderincluds/colormap.vsh
            </summary>
            <param name="unscaledTemp"></param>
            <param name="distToSealevel"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Climate.GetScaledAdjustedTemperatureFloatClient(System.Int32,System.Int32)">
             <summary>
             Convert from int [0 , 255] range to real temperature range float [-50 , 40]
             The distToSealevel/1.5f is also hardcoded in shaderincluds/colormap.vsh
            
             This exists since the client had a different value for min
             </summary>
             <param name="unscaledTemp"></param>
             <param name="distToSealevel"></param>
             <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Climate.GetAdjustedTemperature(System.Int32,System.Int32)">
            <summary>
            Convert from int [0 , 255] range to real temperature range int [-20 , 40]
            The distToSealevel/1.5f is also hardcoded in shaderincluds/colormap.vsh
            </summary>
            <param name="unscaledTemp"></param>
            <param name="distToSealevel"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Climate.GetFertility(System.Int32,System.Single,System.Single)">
             <summary>
            
             </summary>
             <param name="rain"></param>
             <param name="scaledTemp"></param>
             <param name="posYRel"></param>
             <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Climate.GetFertilityFromUnscaledTemp(System.Int32,System.Int32,System.Single)">
             <summary>
            
             </summary>
             <param name="rain"></param>
             <param name="unscaledTemp"></param>
             <param name="posYRel"></param>
             <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.Block">
            <summary>
            Basic class for a placeable block
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.DefaultCollisionBox">
            <summary>
            Default Full Block Collision Box
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.DefaultCollisionSelectionBoxes">
            <summary>
            Default Collision boxes (and also Selection boxes) array containing just the Default Collision Box
            This is standard for most solid blocks in the game. Since it is in practice immutable, all blocks can use a single copy of the same array
            This will help both RAM performance (avoids duplicate copies) and physics tick performance (this commonly accessed object can be well cached)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Block.Id">
            <summary>
            Returns the block id
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Block.ItemClass">
            <summary>
            Returns EnumItemClass.Block
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Block.ForFluidsLayer">
            <summary>
            Return true if this block should be stored in the fluids layer in chunks instead of the solid blocks layer (e.g. water, flowing water, lake ice)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Block.RemapToLiquidsLayer">
            <summary>
            Return non-null if this block should have water (or ice) placed in its position in the fluids layer when updating from 1.16 to 1.17; irrelevant if not updating a chunk from a pre 1.17 savegame
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.BlockId">
            <summary>
            Unique number of the block. Same as <see cref="P:Vintagestory.API.Common.Block.Id"/>. This number depends on the order in which the blocks are order. The numbering is however always ensured to remain the same on a per world basis.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.DrawType">
            <summary>
            If not set to JSON it will use an efficient hardcoded model
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.RenderPass">
            <summary>
            During which render pass this block should be rendered
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.Ambientocclusion">
            <summary>
            Currently not used
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.WalkSpeedMultiplier">
            <summary>
            Walk speed when standing or inside this block
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.DragMultiplier">
            <summary>
            Drag multiplier applied to entities standing on it
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.PartialSelection">
            <summary>
            If true, players can target individual selection boxes of the block
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.Sounds">
            <summary>
            The sounds played for this block during step, break, build and walk. Use GetSounds() to query if not performance critical.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.VertexFlags">
            <summary>
            Data thats passed on to the graphics card for every vertex of the blocks model
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.Frostable">
            <summary>
            A bit uploaded to the shader to add a frost overlay below freezing temperature
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.LightAbsorption">
            <summary>
            For light blocking blocks. Any value above 32 will completely block all light.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.PlacedPriorityInteract">
            <summary>
            If true, when the player holds the sneak key and right clicks this block, calls the blocks OnBlockInteractStart first, the items OnHeldInteractStart second. Without it the order is reversed.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.Replaceable">
            <summary>
            A value usually between 0-9999 that indicates which blocks may be replaced with others.
            - Any block with replaceable value above 5000 will be washed away by water
            - Any block with replaceable value above 6000 will replaced when the player tries to place a block
            Examples:
            0 = Bedrock
            6000 = Tallgrass
            9000 = Lava
            9500 = Water
            9999 = Air
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.Fertility">
            <summary>
            0 = nothing can grow, 10 = some tallgrass and small trees can grow on it, 100 = all grass and trees can grow on it
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.RequiredMiningTier">
            <summary>
            The mining tier required to break this block
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.Resistance">
            <summary>
            How long it takes to break this block in seconds. Use GetResistance() to query if not performance critical.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.BlockMaterial">
            <summary>
            A way to categorize blocks. Used for getting the mining speed for each tool type, amongst other things. Use GetBlockMaterial() to query if not performance critical.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.RandomizeAxes">
            <summary>
            Random texture selection - whether or not to use the Y axis during randomization (for multiblock plants)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.RandomDrawOffset">
            <summary>
            If true then the block will be randomly offseted by 1/3 of a block when placed
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.alternatingVOffset">
            <summary>
            If true, the block will render with a UV offset enabling it to use the "other half" of a 64 x 64 texture on each alternate block position  (e.g. Redwood trunk)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.alternatingVOffsetFaces">
            <summary>
            Bit flags for the direction in which the alternatingVOffset is to be applied e.g. 0x30 to apply alternatingVOffset as the y position moves up and down
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.ShapeInventory">
            <summary>
            The block shape to be used when displayed in the inventory GUI, held in hand or dropped on the ground
            <br/>Note: from game version 1.20.4, this is <b>null on server-side</b> (except during asset loading start-up stage)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.Shape">
            <summary>
            The default json block shape to be used when drawtype==JSON
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.Lod0Shape">
            <summary>
            The additional shape elements seen only at close distance ("LOD0"). For example, see leaves
            <br/>Note: from game version 1.20.4, this is <b>null on server-side</b> (except during asset loading start-up stage)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.Lod2Shape">
            <summary>
            The alternative simplified shape seen at far distance ("LOD2"). For example, see flowers
            <br/>Note: from game version 1.20.4, this is <b>null on server-side</b> (except during asset loading start-up stage)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.Textures">
            <summary>
            Default textures to be used for this block. The Dictionary keys are the texture short names, as referenced in this block's shape ShapeElementFaces
            <br/>(may be null on clients, prior to receipt of server assets)
            <br/>Note: from game version 1.20.4, this is <b>null on server-side</b> (except during asset loading start-up stage)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.FastTextureVariants">
            <summary>
            Fast array of texture variants, for use by cube (or similar) tesselators if the block has alternate shapes
            The outer array is indexed based on the 6 BlockFacing.Index numerals; the inner array is the variants
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.TexturesInventory">
            <summary>
            Textures to be used for this block in the inventory GUI, held in hand or dropped on the ground
            <br/>(may be null on clients, prior to receipt of server assets)
            <br/>Note: from game version 1.20.4, this is <b>null on server-side</b> (except during asset loading start-up stage)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Block.FirstTextureInventory">
            <summary>
            Returns the first textures in the TexturesInventory dictionary
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.SideOpaque">
            <summary>
            Defines which of the 6 block sides are completely opaque. Used to determine which block faces can be culled during tesselation.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.SideSolid">
            <summary>
            Defines which of the 6 block side are solid. Used to determine if attachable blocks can be attached to this block. Also used to determine if snow can rest on top of this block.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.SideAo">
            <summary>
            Defines which of the 6 block side should be shaded with ambient occlusion
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.EmitSideAo">
            <summary>
            Defines which of the 6 block neighbours should receive AO if this block is in front of them
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.AllowSpawnCreatureGroups">
            <summary>
            Defines what creature groups may spawn on this block
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.FaceCullMode">
            <summary>
            Determines which sides of the blocks should be rendered
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.ClimateColorMap">
            <summary>
            The color map for climate color mapping. Leave null for no coloring by climate
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.SeasonColorMap">
            <summary>
            The color map for season color mapping. Leave null for no coloring by season
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.ShapeUsesColormap">
            <summary>
            Internal value that's set during if the block shape has any tint indexes for use in chunk tesselation and stuff O_O
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.ExtraColorBits">
            <summary>
            Three extra color / season bits which may have meaning for specific blocks, such as leaves
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.CollisionBoxes">
            <summary>
            Defines the area with which the player character collides with.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.SelectionBoxes">
            <summary>
            Defines the area which the players mouse pointer collides with for selection.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.ParticleCollisionBoxes">
            <summary>
            Defines the area with which particles collide with (if null, will be the same as CollisionBoxes).
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.Climbable">
            <summary>
            Used for ladders. If true, walking against this blocks collisionbox will make the player climb
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.RainPermeable">
            <summary>
            Will be used for not rendering rain below this block
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.LiquidLevel">
            <summary>
            Value between 0..7 for Liquids to determine the height of the liquid
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.LiquidCode">
            <summary>
            If this block is or contains a liquid, this should be the code (or "identifier") of the liquid
            </summary>
            <returns></returns>
        </member>
        <member name="F:Vintagestory.API.Common.Block.HasAlternates">
            <summary>
            A flag set during texture block shape tesselation
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.BlockBehaviors">
            <summary>
            Modifiers that can alter the behavior of a block, particularly when being placed or removed
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.BlockEntityBehaviors">
            <summary>
            Modifiers that can alter the behavior of a block entity
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.Drops">
            <summary>
            The items that should drop from breaking this block
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.SplitDropStacks">
            <summary>
            If true, a blocks drops will be split into stacks of stacksize 1 for more game juice. This field is only used in OnBlockBroken() and OnBlockExploded()
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.CropProps">
            <summary>
            Information about the blocks as a crop
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.EntityClass">
            <summary>
            If this block has a block entity attached to it, this will store it's code
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Block.PushVector">
            <summary>
            Entity pushing while an entity is inside this block. Read from attributes because i'm lazy.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.decorBehaviorFlags">
            <summary>
            To allow Decor Behavior settings to be accessed through the Block API.  See DecorFlags class for interpretation.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.DecorThickness">
            <summary>
            Used to adjust selection box of parent block
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Block.IceCheckOffset">
            <summary>
            To tell the JsonTesselator the offset to use when checking whether this is being rendered in/on ice
            (Currently only implemented by BlockWaterLily, compare seaweed and other water plants which check whether the block they are inside is ice, so their IceCheckOffset has the default value of 0)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Block.#ctor">
            <summary>
            Creates a new instance of a block with null model transforms; BlockTypeNet will add default transforms client-side if they are null in the BlockType packet; transforms should not be needed on a server
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Block.OnLoaded(Vintagestory.API.Common.ICoreAPI)">
            <summary>
            Called when this block was loaded by the server or the client
            </summary>
            <param name="api"></param>
        </member>
        <member name="P:Vintagestory.API.Common.Block.AllSidesOpaque">
            <summary>
            Sets the whole SideOpaque array to true
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Block.DisplacesLiquids(Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Called for example when the player places a block inside a liquid block. Needs to return true if the liquid should get removed.
            </summary>
            <param name="blockAccess"></param>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.SideIsSolid(Vintagestory.API.MathTools.BlockPos,System.Int32)">
            <summary>
            Does the side APPEAR fully solid?  Called for example when deciding to render water edges at a position, or not
            Note: Worldgen code uses the blockAccessor-aware overload of this method
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Block.SideIsSolid(Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.MathTools.BlockPos,System.Int32)">
            <summary>
            Is the side solid or almost fully solid (in the case of chiselled blocks)?  Called for example when deciding to place loose stones or boulders above this during worldgen
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Block.ShouldMergeFace(System.Int32,Vintagestory.API.Common.Block,System.Int32)">
            <summary>
            This method gets called when facecull mode is set to 'Callback'. Curently used for custom behaviors when merging ice
            </summary>
            <param name="facingIndex">The index of the BlockFacing face of this block being tested</param>
            <param name="neighbourBlock">The neighbouring block</param>
            <param name="intraChunkIndex3d">The position index within the chunk (z * 32 * 32 + y * 32 + x): the BlockEntity can be obtained using this if necessary</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetParticleBreakBox(Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.BlockFacing)">
            <summary>
            The cuboid used to determine where to spawn particles when breaking the block
            </summary>
            <param name="blockAccess"></param>
            <param name="pos"></param>
            <param name="facing"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetSelectionBoxes(Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Returns the blocks selection boxes at this position in the world.
            </summary>
            <param name="blockAccessor"></param>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetCollisionBoxes(Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Returns the blocks collision box. Warning: This method may get called by different threads, so it has to be thread safe.
            </summary>
            <param name="blockAccessor"></param>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetParticleCollisionBoxes(Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Returns the blocks particle collision box. Warning: This method may get called by different threads, so it has to be thread safe.
            </summary>
            <param name="blockAccessor"></param>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetBlockMaterial(Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.ItemStack)">
            <summary>
            Should return the blocks material
            Warning: This method is may get called in a background thread. Please make sure your code in here is thread safe.
            </summary>
            <param name="blockAccessor"></param>
            <param name="pos">May be null and therfore stack is non-null</param>
            <param name="stack"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetResistance(Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Should return the blocks resistance to breaking
            </summary>
            <param name="blockAccessor"></param>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetSounds(Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.ItemStack)">
            <summary>
            Should returns the blocks sounds
            </summary>
            <param name="blockAccessor"></param>
            <param name="blockSel"></param>
            <param name="stack"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetAttributes(Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Position-aware version of Attributes, for example can be used by BlockMultiblock
            </summary>
            <param name="blockAccessor"></param>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetLiquidCode(Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            If this block is or contains a liquid, it should return the code of it. Used for example by farmland to check if a nearby block is water
            </summary>
            <param name="blockAccessor"></param>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetDecal(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Client.ITexPositionSource,Vintagestory.API.Client.MeshData@,Vintagestory.API.Client.MeshData@)">
            <summary>
            Called before a decal is created.
            </summary>
            <param name="world"></param>
            <param name="pos"></param>
            <param name="decalTexSource"></param>
            <param name="decalModelData">The block model which need UV values for the decal texture</param>
            <param name="blockModelData">The original block model</param>
        </member>
        <member name="M:Vintagestory.API.Common.Block.CanAttachBlockAt(Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.Common.Block,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.BlockFacing,Vintagestory.API.MathTools.Cuboidi)">
            <summary>
            Used by torches and other blocks to check if it can attach itself to that block
            </summary>
            <param name="blockAccessor"></param>
            <param name="block"></param>
            <param name="pos"></param>
            <param name="blockFace"></param>
            <param name="attachmentArea">Area of attachment of given face in voxel dimensions (0..15)</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.CanCreatureSpawnOn(Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.Entities.EntityProperties,Vintagestory.API.Common.Entities.BaseSpawnConditions)">
            <summary>
            Should return if supplied entitytype is allowed to spawn on this block. Might be called outside the main thread.
            </summary>
            <param name="blockAccessor"></param>
            <param name="pos"></param>
            <param name="type"></param>
            <param name="sc"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.TryPlaceBlockForWorldGen(Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.BlockFacing,Vintagestory.API.MathTools.IRandom,Vintagestory.API.Common.BlockPatchAttributes)">
            <summary>
            Currently used for wildvines and saguaro cactus
            </summary>
            <param name="blockAccessor"></param>
            <param name="pos"></param>
            <param name="onBlockFace"></param>
            <param name="worldgenRandom"></param>
            <param name="attributes"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.TryPlaceBlock(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.ItemStack,Vintagestory.API.Common.BlockSelection,System.String@)">
            <summary>
            Called when the player attempts to place this block
            </summary>
            <param name="world"></param>
            <param name="byPlayer"></param>
            <param name="itemstack"></param>
            <param name="blockSel"></param>
            <param name="failureCode">If you return false, set this value to a code why it cannot be placed. Its used for the ingame error overlay. Set to "__ignore__" to not trigger an error</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.CanPlaceBlock(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.BlockSelection,System.String@)">
            <summary>
            Checks if this block does not intersect with something at given position
            </summary>
            <param name="world"></param>
            <param name="byPlayer"></param>
            <param name="blockSel"></param>
            <param name="failureCode"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Block.DoPlaceBlock(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.ItemStack)">
            <summary>
            Called by TryPlaceBlock if placement is possible
            </summary>
            <param name="world"></param>
            <param name="byPlayer"></param>
            <param name="blockSel"></param>
            <param name="byItemStack">Might be null</param>
        </member>
        <member name="M:Vintagestory.API.Common.Block.OnBeingLookedAt(Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.BlockSelection,System.Boolean)">
            <summary>
            Called by the server and the client when the player currently looks at this block. Gets called continously every tick.
            </summary>
            <param name="byPlayer"></param>
            <param name="blockSel"></param>
            <param name="firstTick">True when previous tick the player looked at a different block. You can use it to make an efficient, single-event lookat trigger</param>
        </member>
        <member name="M:Vintagestory.API.Common.Block.OnGettingBroken(Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.ItemSlot,System.Single,System.Single,System.Int32)">
            <summary>
            Player is breaking this block. Has to reduce remainingResistance by the amount of time it should be broken. This method is called only client side, every 40ms during breaking.
            </summary>
            <param name="player"></param>
            <param name="blockSel"></param>
            <param name="itemslot">The item the player currently has in his hands</param>
            <param name="remainingResistance">how many seconds was left until the block breaks fully</param>
            <param name="dt">seconds passed since last render frame</param>
            <param name="counter">Total count of hits (every 40ms)</param>
            <returns>how many seconds now left until the block breaks fully. If a value equal to or below 0 is returned, OnBlockBroken() will get called.</returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.OnBlockBroken(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.IPlayer,System.Single)">
            <summary>
            Called when a survival player has broken the block. This method needs to remove the block.
            </summary>
            <param name="world"></param>
            <param name="pos"></param>
            <param name="byPlayer"></param>
            <param name="dropQuantityMultiplier"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetDropsForHandbook(Vintagestory.API.Common.ItemStack,Vintagestory.API.Common.IPlayer)">
            <summary>
            Should return all of the blocks drops for display in the handbook
            </summary>
            <param name="handbookStack"></param>
            <param name="forPlayer"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetHandbookDropsFromBreakDrops(Vintagestory.API.Common.ItemStack,Vintagestory.API.Common.IPlayer)">
            <summary>
            Helper method for a number of blocks
            </summary>
            <param name="handbookStack"></param>
            <param name="forPlayer"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetDrops(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.IPlayer,System.Single)">
            <summary>
            Is called before a block is broken, should return what items this block should drop. Return null or empty array for no drops.
            </summary>
            <param name="world"></param>
            <param name="pos"></param>
            <param name="byPlayer"></param>
            <param name="dropQuantityMultiplier"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.OnPickBlock(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            When the player has presed the middle mouse click on the block
            </summary>
            <param name="world"></param>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.OnBlockRemoved(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Always called when a block has been removed through whatever method, except during worldgen or via ExchangeBlock()
            For Worldgen you might be able to use TryPlaceBlockForWorldGen() to attach custom behaviors during placement/removal
            </summary>
            <param name="world"></param>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.OnBlockPlaced(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.ItemStack)">
            <summary>
            Always called when a block has been placed through whatever method, except during worldgen or via ExchangeBlock()
            Spawns the associated block entity, remember to call the base method!
            For Worldgen you might be able to use TryPlaceBlockForWorldGen() to attach custom behaviors during placement/removal
            </summary>
            <param name="world"></param>
            <param name="blockPos"></param>
            <param name="byItemStack">May be null!</param>
        </member>
        <member name="M:Vintagestory.API.Common.Block.OnNeighbourBlockChange(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Called when any of its 6 neighbour blocks has been changed
            </summary>
            <param name="world"></param>
            <param name="pos"></param>
            <param name="neibpos"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Block.OnBlockInteractStart(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.BlockSelection)">
            <summary>
            When a player does a right click while targeting this placed block. Should return true if the event is handled, so that other events can occur, e.g. eating a held item if the block is not interactable with.
            </summary>
            <param name="world"></param>
            <param name="byPlayer"></param>
            <param name="blockSel"></param>
            <returns>False if the interaction should be stopped. True if the interaction should continue. If you return false, the interaction will not be synced to the server.</returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.Activate(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.Caller,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Datastructures.ITreeAttribute)">
            <summary>
            When a Command Block, console command or (perhaps in future) non-player entity wants to activate this placed block
            </summary>
            <param name="world"></param>
            <param name="caller"></param>
            <param name="blockSel"></param>
            <param name="activationArgs"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Block.OnBlockInteractStep(System.Single,Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.BlockSelection)">
            <summary>
            Called every frame while the player is using this block. Return false to stop the interaction.
            </summary>
            <param name="secondsUsed"></param>
            <param name="world"></param>
            <param name="byPlayer"></param>
            <param name="blockSel"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.OnBlockInteractStop(System.Single,Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.BlockSelection)">
            <summary>
            Called when the player successfully completed the using action, always called once an interaction is over
            </summary>
            <param name="secondsUsed"></param>
            <param name="world"></param>
            <param name="byPlayer"></param>
            <param name="blockSel"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Block.OnBlockInteractCancel(System.Single,Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.EnumItemUseCancelReason)">
            <summary>
            When the player released the right mouse button. Return false to deny the cancellation (= will keep using the block until OnBlockInteractStep returns false).
            </summary>
            <param name="secondsUsed"></param>
            <param name="world"></param>
            <param name="byPlayer"></param>
            <param name="blockSel"></param>
            <param name="cancelReason"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Block.OnEntityInside(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.Entities.Entity,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            When an entity is inside a block 1x1x1 space, independent of of its selection box or collision box
            </summary>
            <param name="world"></param>
            <param name="entity"></param>
            <param name="pos"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Block.OnEntityCollide(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.Entities.Entity,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.BlockFacing,Vintagestory.API.MathTools.Vec3d,System.Boolean)">
            <summary>
            Whenever an entity collides with the collision box of the block
            </summary>
            <param name="world"></param>
            <param name="entity"></param>
            <param name="pos"></param>
            <param name="facing"></param>
            <param name="collideSpeed"></param>
            <param name="isImpact"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Block.OnFallOnto(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.Block,Vintagestory.API.Datastructures.TreeAttribute)">
            <summary>
            Called when a falling block falls onto this one. Return true to cancel default behavior.
            <br/>Note: From game version 1.20.4, if overriding this you should also override <see cref="M:Vintagestory.API.Common.Block.CanAcceptFallOnto(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.Block,Vintagestory.API.Datastructures.TreeAttribute)"/>(). See BlockCoalPile for an example. If CanAcceptFallOnto() is not implemented, then this OnFallOnto() method will most likely never be called
            </summary>
            <param name="world"></param>
            <param name="pos"></param>
            <param name="block"></param>
            <param name="blockEntityAttributes"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.CanAcceptFallOnto(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.Block,Vintagestory.API.Datastructures.TreeAttribute)">
            <summary>
            Called on the main main thread or, potentially, on a separate thread if multiple physics threads is enabled. Return true to have <see cref="M:Vintagestory.API.Common.Block.OnFallOnto(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.Block,Vintagestory.API.Datastructures.TreeAttribute)"/>() called, which will always be on the main thread
            </summary>
            <param name="world"></param>
            <param name="pos"></param>
            <param name="fallingBlock"></param>
            <param name="blockEntityAttributes"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.ShouldReceiveClientParticleTicks(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.IPlayer,Vintagestory.API.MathTools.BlockPos,System.Boolean@)">
            <summary>
            Everytime the player moves by 8 blocks (or rather leaves the current 8-grid), a scan of all blocks 32x32x32 blocks around the player is initiated<br/>
            and this method is called. If the method returns true, the block is registered to a client side game ticking for spawning particles and such.<br/>
            This method will be called everytime the player left his current 8-grid area.
            </summary>
            <param name="world"></param>
            <param name="player"></param>
            <param name="pos"></param>
            <param name="isWindAffected"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetAmbientSoundStrength(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            If this block defines an ambient sounds, the intensity the ambient should be played at. Between 0 and 1. Return 0 to not play the ambient sound.
            </summary>
            <param name="world"></param>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.OnAsyncClientParticleTick(Vintagestory.API.Client.IAsyncParticleManager,Vintagestory.API.MathTools.BlockPos,System.Single,System.Single)">
            <summary>
            Called evey 25ms if the block is in range (32 blocks) and block returned true on ShouldReceiveClientGameTicks(). Takes a few seconds for the game to register the block.
            </summary>
            <param name="manager"></param>
            <param name="pos"></param>
            <param name="windAffectednessAtPos"></param>
            <param name="secondsTicking"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Block.ShouldReceiveServerGameTicks(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,System.Random,System.Object@)">
            <summary>
            Called every interval specified in Server.Config.RandomTickInterval. Defaults to 50ms. This method
            is called on a separate server thread. This should be considered when deciding how to access blocks.
            If true is returned, the server will call OnServerGameTick on the main thread passing the BlockPos
            and the 'extra' object if specified. The 'extra' parameter is meant to prevent duplicating lookups
            and other calculations when OnServerGameTick is called.
            </summary>
            <param name="world"></param>
            <param name="pos">The position of this block</param>
            <param name="offThreadRandom">If you do anything with random inside this method, don't use world.Rand because <see cref="T:System.Random"/> its not thread safe, use this or create your own instance</param>
            <param name="extra">Optional parameter to set if you need to pass additional data to the OnServerGameTick method</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.OnServerGameTick(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,System.Object)">
            <summary>
            Called by the main server thread if and only if this block returned true in ShouldReceiveServerGameTicks.
            </summary>
            <param name="world"></param>
            <param name="pos">The position of this block</param>
            <param name="extra">The value set for the 'extra' parameter when ShouldReceiveGameTicks was called.</param>
        </member>
        <member name="M:Vintagestory.API.Common.Block.OnJsonTesselation(Vintagestory.API.Client.MeshData@,System.Int32[]@,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.Block[],System.Int32)">
            <summary>
            If this block uses drawtype json, this method will be called everytime a chunk containing this block is tesselated.
            </summary>
            <param name="sourceMesh"></param>
            <param name="lightRgbsByCorner">Emitted light from this block</param>
            <param name="pos"></param>
            <param name="chunkExtBlocks">Optional, fast way to look up a direct neighbouring block. This is an array of the current chunk blocks, also including all direct neighbours, so it's a 34 x 34 x 34 block list. extIndex3d is the index of the current Block in this array. Use extIndex3d+TileSideEnum.MoveIndex[tileSide] to move around in the array.</param>
            <param name="extIndex3d">See description of chunkExtBlocks</param>
        </member>
        <member name="M:Vintagestory.API.Common.Block.DetermineTopMiddlePos">
            <summary>
            Used as base position for particles.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Block.IsReplacableBy(Vintagestory.API.Common.Block)">
            <summary>
            Used to determine if a block should be treated like air when placing blocks. (e.g. used for tallgrass)
            </summary>
            <param name="block"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.SuggestedHVOrientation(Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.BlockSelection)">
            <summary>
            Returns a horizontal and vertical orientation which should be used for oriented blocks like stairs during placement.
            </summary>
            <param name="byPlayer"></param>
            <param name="blockSel"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.PerformSnowLevelUpdate(Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.Block,System.Single)">
            <summary>
            Called in the servers main thread
            </summary>
            <param name="ba"></param>
            <param name="pos"></param>
            <param name="newBlock">The block as returned by your GetSnowLevelUpdateBlock() method</param>
            <param name="snowLevel"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetSnowCoveredVariant(Vintagestory.API.MathTools.BlockPos,System.Single)">
            <summary>
            Should return the snow covered block code for given snow level. Return null if snow cover is not supported for this block. If not overridden, it will check if Variant["cover"] exists and return its snow covered variant.
            </summary>
            <param name="pos"></param>
            <param name="snowLevel"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetHeatRetention(Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.BlockFacing)">
            <summary>
            Return a positive integer if the block retains heat (for warm rooms or greenhouses) or a negative integer if it preserves cool (for cellars)
            </summary>
            <param name="pos"></param>
            <param name="facing"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetRetention(Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.BlockFacing,Vintagestory.API.Common.EnumRetentionType)">
            <summary>
            Return a positive integer if the block retains something, e.g. (for warm rooms or greenhouses) or a negative integer if something can pass through, e.g. cool for cellars
            </summary>
            <param name="pos"></param>
            <param name="facing"></param>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetTraversalCost(Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.EnumAICreatureType)">
            <summary>
            The cost of traversing this block as part of the AI pathfinding system.
            Return a negative value to prefer traversal of a block, return a positive value to avoid traversal of this block. A value over 10000f is considered impassable.
            Default value is 0
            </summary>
            <param name="pos"></param>
            <param name="creatureType"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetRotatedBlockCode(System.Int32)">
            <summary>
            For any block that can be rotated, this method should be implemented to return the correct rotated block code. It is used by the world edit tool for allowing block data rotations
            </summary>
            <param name="angle"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetVerticallyFlippedBlockCode">
            <summary>
            For any block that can be flipped upside down, this method should be implemented to return the correctly flipped block code. It is used by the world edit tool for allowing block data rotations
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetHorizontallyFlippedBlockCode(Vintagestory.API.MathTools.EnumAxis)">
            <summary>
            For any block that can be flipped vertically, this method should be implemented to return the correctly flipped block code. It is used by the world edit tool for allowing block data rotations
            </summary>
            <param name="axis"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetBehavior(System.Type,System.Boolean)">
            <summary>
            Returns the blocks behavior of given type, if it has such behavior
            </summary>
            <param name="type"></param>
            <param name="withInheritance"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetPlacedBlockInteractionHelp(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.IPlayer)">
            <summary>
            Called by the block info HUD for display the interaction help besides the crosshair
            </summary>
            <param name="world"></param>
            <param name="selection"></param>
            <param name="forPlayer"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetPlacedBlockName(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Called by the block info HUD for displaying the blocks name
            </summary>
            <param name="world"></param>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetPlacedBlockInfo(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.IPlayer)">
            <summary>
            Called by the block info HUD for displaying additional information
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetRequiredMiningTier(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            The mining tier required to break this block
            </summary>
            <param name="world"></param>
            <param name="pos"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetHeldItemInfo(Vintagestory.API.Common.ItemSlot,System.Text.StringBuilder,Vintagestory.API.Common.IWorldAccessor,System.Boolean)">
            <summary>
            Called by the inventory system when you hover over an item stack. This is the text that is getting displayed.
            </summary>
            <param name="inSlot"></param>
            <param name="dsc"></param>
            <param name="world"></param>
            <param name="withDebugInfo"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Block.AddExtraHeldItemInfoPostMaterial(Vintagestory.API.Common.ItemSlot,System.Text.StringBuilder,Vintagestory.API.Common.IWorldAccessor)">
            <summary>
            Opportunity for blocks to add additional lines to the Held Item info _prior to_ the behaviors output (such as nutrition properties or block reinforcement)
            </summary>
            <param name="inSlot"></param>
            <param name="dsc"></param>
            <param name="world"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Block.DoPartialSelection(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            If true, the player can select invdividual selection boxes of this block
            </summary>
            <param name="world"></param>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetSelectionColor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.MathTools.BlockPos)">
             <summary>
            
             </summary>
             <param name="capi"></param>
             <param name="pos"></param>
             <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.OnCollectTextures(Vintagestory.API.Common.ICoreAPI,Vintagestory.API.Common.ITextureLocationDictionary)">
            <summary>
            Called by the texture atlas manager when building up the block atlas. Has to add all of the blocks texture
            </summary>
            <param name="api"></param>
            <param name="textureDict"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetBlastResistance(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.Vec3f,Vintagestory.API.Common.EnumBlastType)">
            <summary>
            Should return the blocks blast resistance. Default behavior is to return BlockMaterialUtil.MaterialBlastResistance(blastType, BlockMaterial);
            </summary>
            <param name="world"></param>
            <param name="pos"></param>
            <param name="blastDirectionVector"></param>
            <param name="blastType"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.ExplosionDropChance(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.EnumBlastType)">
            <summary>
            Should return the chance of the block dropping its upon upon being exploded. Default behavior is to return BlockMaterialUtil.MaterialBlastDropChances(blastType, BlockMaterial);
            </summary>
            <param name="world"></param>
            <param name="pos"></param>
            <param name="blastType"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.OnBlockExploded(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.EnumBlastType,System.String)">
            <summary>
            Called when the block was blown up by explosives
            </summary>
            <param name="world"></param>
            <param name="pos"></param>
            <param name="explosionCenter"></param>
            <param name="blastType"></param>
            <param name="ignitedByPlayerUid"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetRandomColor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.BlockFacing,System.Int32)">
            <summary>
            Should return the color to be used for the block particle coloring
            </summary>
            <param name="capi"></param>
            <param name="pos"></param>
            <param name="facing"></param>
            <param name="rndIndex"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetRandomColor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Common.ItemStack)">
            <summary>
            Should return a random pixel within the items/blocks texture
            </summary>
            <param name="capi"></param>
            <param name="stack"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetColor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Should return an RGB color for this block. Current use: In the world map. Default behavior: The 2 averaged pixels at 40%/40% ad 60%/60% position
            </summary>
            <param name="capi"></param>
            <param name="pos"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetColorWithoutTint(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Tint less version of GetColor. Used for map color export
            </summary>
            <param name="capi"></param>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.AllowSnowCoverage(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Whether snow is allowed to fall on this block, by default it tests if the up face is a solid face
            </summary>
            <param name="world"></param>
            <param name="blockPos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetBlockEntity``1(Vintagestory.API.Common.BlockSelection)">
            <summary>
            Alias of api.World.BlockAccessor.GetBlockEntity(blockSel.Position) as T
            </summary>
            <typeparam name="T"></typeparam>
            <param name="blockSel"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetBlockEntity``1(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Alias of api.World.BlockAccessor.GetBlockEntity(position) as T
            </summary>
            <typeparam name="T"></typeparam>
            <param name="position"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetBEBehavior``1(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Alias of api.World.BlockAccessor.GetBlockEntity(pos)?.GetBehavior&lt;T&gt;()
            </summary>
            <typeparam name="T"></typeparam>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetInterface``1(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Returns instance of class that implements this interface in the following order<br/>
            1. Block (returns itself)<br/>
            2. BlockBehavior (returns on of our own behavior)<br/>
            3. BlockEntity<br/>
            4. BlockEntityBehavior
            </summary>
            <typeparam name="T"></typeparam>
            <param name="world"></param>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.Clone">
            <summary>
            Creates a deep copy of the block
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.HasBlockBehavior``1(System.Boolean)">
            <summary>
            Returns true if the block has given block behavior
            </summary>
            <typeparam name="T"></typeparam>
            <param name="withInheritance"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.HasBehavior``1(System.Boolean)">
            <summary>
            Returns true if the block has given block behavior OR collectible behavior
            </summary>
            <typeparam name="T"></typeparam>
            <param name="withInheritance"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Block.GetLiquidBarrierHeightOnSide(Vintagestory.API.MathTools.BlockFacing,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Return a decimal between 0.0 and 1.0 indicating - if this block is solid enough to block liquid flow on that side - how high the barrier is
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Block.ToString">
            <summary>
            Simple string representation for debugging
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.BlockBehavior">
            <summary>
            Allows for definitions of behaviors of a block that can be applied to any block
            See the derived types for a list of all documented block behaviors.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockBehavior.block">
            <summary>
            The block for this behavior instance.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.BlockBehavior.OnBlockBroken(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            Called when a survival player has broken the block. The default behavior removes the block and spawns the block drops.
            </summary>
            <param name="world"></param>
            <param name="pos"></param>
            <param name="byPlayer"></param>
            <param name="handling"></param>
        </member>
        <member name="M:Vintagestory.API.Common.BlockBehavior.OnPickBlock(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            When the player has presed the middle mouse click on the block. The default behavior returns an itemstack with the block itself
            </summary>
            <param name="world"></param>
            <param name="pos"></param>
            <param name="handling"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockBehavior.GetDrops(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.IPlayer,System.Single@,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            Is called before a block is broken, should return what items this block should drop. Return null or empty array for no drops. The default behavior drops whatever block.Drops is set to.
            </summary>
            <param name="world"></param>
            <param name="pos"></param>
            <param name="byPlayer"></param>
            <param name="dropChanceMultiplier"></param>
            <param name="handling"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockBehavior.OnNeighbourBlockChange(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            Called when any of it's 6 neighbour blocks has been changed
            </summary>
            <param name="world"></param>
            <param name="pos"></param>
            <param name="neibpos"></param>
            <param name="handling"></param>
        </member>
        <member name="M:Vintagestory.API.Common.BlockBehavior.CanAttachBlockAt(Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.Common.Block,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.BlockFacing,Vintagestory.API.Common.EnumHandling@,Vintagestory.API.MathTools.Cuboidi)">
            <summary>
            Used by torches and other blocks to check if it can attach itself to that block. The default behavior tests for SideSolid[blockFace.Index]
            </summary>
            <param name="world"></param>
            <param name="block"></param>
            <param name="pos"></param>
            <param name="blockFace"></param>
            <param name="handling"></param>
            <param name="attachmentArea"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockBehavior.CanCreatureSpawnOn(Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.Entities.EntityProperties,Vintagestory.API.Common.Entities.BaseSpawnConditions,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            Should return if supplied entitytype is allowed to spawn on this block
            </summary>
            <param name="blockAccessor"></param>
            <param name="pos"></param>
            <param name="type"></param>
            <param name="sc"></param>
            <param name="handling"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockBehavior.GetRotatedBlockCode(System.Int32,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            For any block that can be rotated, this method should be implemented to return the correct rotated block code. It is used by the world edit tool for allowing block data rotations
            </summary>
            <param name="angle"></param>
            <param name="handling"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockBehavior.GetVerticallyFlippedBlockCode(Vintagestory.API.Common.EnumHandling@)">
            <summary>
            For any block that can be flipped upside down, this method should be implemented to return the correctly flipped block code. It is used by the world edit tool for allowing block data rotations
            </summary>
            <param name="handling"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockBehavior.GetHorizontallyFlippedBlockCode(Vintagestory.API.MathTools.EnumAxis,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            For any block that can be flipped vertically, this method should be implemented to return the correctly flipped block code. It is used by the world edit tool for allowing block data rotations
            </summary>
            <param name="axis"></param>
            <param name="handling"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockBehavior.IsReplacableBy(Vintagestory.API.Common.Block,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            Used to determine if a block should be treated like air when placing blocks. (e.g. used for tallgrass)
            </summary>
            <param name="block"></param>
            <param name="handling"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockBehavior.ShouldReceiveClientParticleTicks(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.IPlayer,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            Everytime the player moves by 8 blocks (or rather leaves the current 8-grid), a scan of all blocks 32x32x32 blocks around the player is initiated
            and this method is called. If the method returns true, the block is registered to a client side game ticking for spawning particles and such.
            This method will be called everytime the player left his current 8-grid area. 
            
            The default behavior is to return true if block.ParticleProperties are set
            </summary>
            <param name="world"></param>
            <param name="byPlayer"></param>
            <param name="pos"></param>
            <param name="handling"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockBehavior.OnBlockRemoved(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            Always called when a block has been removed through whatever method, except during worldgen or via ExchangeBlock()
            For Worldgen you might be able to use TryPlaceBlockForWorldGen() to attach custom behaviors during placement/removal
            
            The default behavior is to delete the block entity, if this block has any
            </summary>
            <param name="world"></param>
            <param name="pos"></param>
            <param name="handling"></param>
        </member>
        <member name="M:Vintagestory.API.Common.BlockBehavior.OnBlockInteractStart(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            When a player does a right click while targeting this placed block. Should return true if the event is handled, so that other events can occur, e.g. eating a held item if the block is not interactable with.
            </summary>
            <param name="world"></param>
            <param name="byPlayer"></param>
            <param name="blockSel"></param>
            <param name="handling"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockBehavior.GetPlacedBlockInfo(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.IPlayer)">
            <summary>
            Called by the block info HUD for displaying additional information
            </summary>
            <param name="world"></param>
            <param name="pos"></param>
            <param name="forPlayer"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockBehavior.TryPlaceBlock(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.ItemStack,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.EnumHandling@,System.String@)">
            <summary>
            Step 1: Called when the player attempts to place this block. The default behavior calls Block.DoPlaceBlock().
            If returned true and default behavior has not been prevented, the game will next call CanPlaceBlock(). If that method also returns true and default behavior has not been overriden, DoPlaceBlock() will get called.
            </summary>
            <param name="world"></param>
            <param name="byPlayer"></param>
            <param name="itemstack"></param>
            <param name="blockSel"></param>
            <param name="handling"></param>
            <param name="failureCode"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockBehavior.CanPlaceBlock(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.EnumHandling@,System.String@)">
            <summary>
            Step 2: Test if the block can be placed
            </summary>
            <param name="world"></param>
            <param name="byPlayer"></param>
            <param name="blockSel"></param>
            <param name="handling"></param>
            <param name="failureCode"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockBehavior.DoPlaceBlock(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.ItemStack,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            Step 3: Place the block. Return false if it cannot be placed (but you should rather return false in CanPlaceBlock).
            </summary>
            <param name="world"></param>
            <param name="byPlayer"></param>
            <param name="blockSel"></param>
            <param name="byItemStack"></param>
            <param name="handling"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockBehavior.OnBlockPlaced(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            Step 4: Block was placed. Always called when a block has been placed through whatever method, except during worldgen or via ExchangeBlock()
            Until 1.20: The BlockEntity (if the block has one) does not exist yet at this point and will not be generated if handling is not PassThrough
            1.21+: The BlockEntity (if the block has one) exists at this point. Setting handling to PreventDefault or PreventSubsequent has no effect on BlockEntity creation, but may affect/prevent later behaviors
            </summary>
            <param name="world"></param>
            <param name="blockPos"></param>
            <param name="handling"></param>
        </member>
        <member name="M:Vintagestory.API.Common.BlockBehavior.GetMiningSpeedModifier(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.IPlayer)">
            <summary>
            If this is less than 1.0, will slow down mining of the given block  (e.g. used for reinforced blocks)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.WeightedBlockDropItemstack.Weight">
            <summary>
            How strongly to weight this drop
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.BlockDropItemStack">
             <summary>
             Represents an itemstack that is dropped when breaking a block, with a potentially random quantity.
             </summary>
             <example>
             <code language="json">
            "drops": [
            	{
            		"type": "item",
            		"code": "bone",
            		"quantity": {
            			"avg": 4,
            			"var": 2
            		}
            	}
            ]
             </code>
             </example>
        </member>
        <member name="F:Vintagestory.API.Common.BlockDropItemStack.Type">
            <summary>
            Block or Item?
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockDropItemStack.Code">
            <summary>
            Code of the block or item
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockDropItemStack.Quantity">
            <summary>
            Quantity to be dropped
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockDropItemStack.Attributes">
            <summary>
            Tree Attributes that should be attached to the resulting itemstack
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockDropItemStack.LastDrop">
            <summary>
            If true, and this drop occurs, no further drops will happen.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockDropItemStack.Tool">
            <summary>
            If set, then the given tool is required to make this block drop anything.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockDropItemStack.ResolvedItemstack">
            <summary>
            The resulting ItemStack for this block being broken by a tool.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockDropItemStack.DropModbyStat">
            <summary>
            If set, the drop quantity will be modified by the collecting entity stat code - entity.Stats.GetBlended(code).
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.BlockDropItemStack.Resolve(Vintagestory.API.Common.IWorldAccessor,System.String,Vintagestory.API.Common.AssetLocation)">
            <summary>
            Sets itemstack.block or itemstack.item
            </summary>
            <param name="resolver"></param>
            <param name="sourceForErrorLogging"></param>
            <param name="assetLoc"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockDropItemStack.GetNextItemStack(System.Single)">
            <summary>
            Returns an itemstack with random quantity as configured via the Quantity field
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockDropItemStack.Clone">
            <summary>
            Creates a deep copy of this object
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockDropItemStack.FromBytes(System.IO.BinaryReader,Vintagestory.API.Common.IClassRegistryAPI)">
            <summary>
            Reads the contents of the block bytes and converts it into a block.
            </summary>
            <param name="reader">The reader of the block</param>
            <param name="instancer">The block registry</param>
        </member>
        <member name="M:Vintagestory.API.Common.BlockDropItemStack.ToBytes(System.IO.BinaryWriter)">
            <summary>
            The save data writer.
            </summary>
            <param name="writer">The writer to write blocks to.</param>
        </member>
        <member name="T:Vintagestory.API.Common.BlockEntity">
            <summary>
            Basic class for block entities - a data structures to hold custom information for blocks, e.g. for chests to hold it's contents
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockEntity.Api">
            <summary>
            The core API added to the block.  Accessable after initialization.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockEntity.Pos">
            <summary>
            Position of the block for this block entity
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.BlockEntity.Block">
            <summary>
            The block type at the position of the block entity. This poperty is updated by the engine if ExchangeBlock is called
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockEntity.Behaviors">
            <summary>
            List of block entity behaviors associated with this block entity
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.BlockEntity.#ctor">
            <summary>
            Creats an empty instance. Use initialize to initialize it with the api.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.BlockEntity.Initialize(Vintagestory.API.Common.ICoreAPI)">
            <summary>
            This method is called right after the block entity was spawned or right after it was loaded from a newly loaded chunk. You do have access to the world and its blocks at this point.
            However if this block entity already existed then FromTreeAttributes is called first!
            You should still call the base method to sets the this.api field
            </summary>
            <param name="api"></param>
        </member>
        <member name="M:Vintagestory.API.Common.BlockEntity.RegisterGameTickListener(System.Action{System.Single},System.Int32,System.Int32)">
            <summary>
            Registers a game tick listener that does the disposing for you when the Block is removed
            </summary>
            <param name="onGameTick"></param>
            <param name="millisecondInterval"></param>
            <param name="initialDelayOffsetMs"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockEntity.RegisterGameTickListener(System.Action{Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,System.Single},System.Int32,System.Int32)">
            <summary>
            Registers a game tick block listener that does the disposing for you when the Block is removed
            </summary>
            <param name="onGameTick"></param>
            <param name="millisecondInterval"></param>
            <param name="initialDelayOffsetMs"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockEntity.UnregisterGameTickListener(System.Int64)">
            <summary>
            Removes a registered game tick listener from the game.
            </summary>
            <param name="listenerId">the ID of the listener to unregister.</param>
        </member>
        <member name="M:Vintagestory.API.Common.BlockEntity.RegisterDelayedCallback(System.Action{System.Single},System.Int32)">
            <summary>
            Registers a delayed callback that does the disposing for you when the Block is removed
            </summary>
            <param name="OnDelayedCallbackTick"></param>
            <param name="millisecondInterval"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockEntity.UnregisterDelayedCallback(System.Int64)">
            <summary>
            Unregisters a callback.  This is usually done automatically.
            </summary>
            <param name="listenerId">The ID of the callback listiner.</param>
        </member>
        <member name="M:Vintagestory.API.Common.BlockEntity.OnBlockRemoved">
            <summary>
            Called when the block at this position was removed in some way. Removes the game tick listeners, so still call the base method
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.BlockEntity.OnExchanged(Vintagestory.API.Common.Block)">
            <summary>
            Called when blockAccessor.ExchangeBlock() is used to exchange this block. Make sure to call the base method when overriding.
            </summary>
            <param name="block"></param>
        </member>
        <member name="M:Vintagestory.API.Common.BlockEntity.OnBlockBroken(Vintagestory.API.Common.IPlayer)">
            <summary>
            Called when the block was broken in survival mode or through explosions and similar. Generally in situations where you probably want
            to drop the block entity contents, if it has any
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.BlockEntity.HistoryStateRestore">
            <summary>
            Called by the undo/redo system, after calling FromTreeAttributes
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.BlockEntity.OnBlockUnloaded">
            <summary>
            Called when the chunk the block entity resides in was unloaded. Removes the game tick listeners, so still call the base method
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.BlockEntity.OnBlockPlaced(Vintagestory.API.Common.ItemStack)">
            <summary>
            Called when the block entity just got placed, not called when it was previously placed and the chunk is loaded. Always called after Initialize()
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.BlockEntity.ToTreeAttributes(Vintagestory.API.Datastructures.ITreeAttribute)">
            <summary>
            Called when saving the world or when sending the block entity data to the client. When overriding, make sure to still call the base method.
            </summary>
            <param name="tree"></param>
        </member>
        <member name="M:Vintagestory.API.Common.BlockEntity.FromTreeAttributes(Vintagestory.API.Datastructures.ITreeAttribute,Vintagestory.API.Common.IWorldAccessor)">
            <summary>
            Called when loading the world or when receiving block entity from the server. When overriding, make sure to still call the base method.
            FromTreeAttributes is always called before Initialize() is called, so the this.api field is not yet set!
            </summary>
            <param name="tree"></param>
            <param name="worldAccessForResolve">Use this api if you need to resolve blocks/items. Not suggested for other purposes, as the residing chunk may not be loaded at this point</param>
        </member>
        <member name="M:Vintagestory.API.Common.BlockEntity.OnReceivedClientPacket(Vintagestory.API.Common.IPlayer,System.Int32,System.Byte[])">
            <summary>
            Called whenever a blockentity packet at the blocks position has been received from the client
            </summary>
            <param name="fromPlayer"></param>
            <param name="packetid"></param>
            <param name="data"></param>
        </member>
        <member name="M:Vintagestory.API.Common.BlockEntity.OnReceivedServerPacket(System.Int32,System.Byte[])">
            <summary>
            Called whenever a blockentity packet at the blocks position has been received from the server
            </summary>
            <param name="packetid"></param>
            <param name="data"></param>
        </member>
        <member name="M:Vintagestory.API.Common.BlockEntity.MarkDirty(System.Boolean,Vintagestory.API.Common.IPlayer)">
            <summary>
            When called on Server: Will resync the block entity with all its TreeAttribute to the client, but will not resend or redraw the block unless specified.
            When called on Client: Triggers a block changed event on the client, but will not redraw the block unless specified.
            </summary>
            <param name="redrawOnClient">When true, the block is also marked dirty and thus redrawn. When called serverside a dirty block packet is sent to the client for it to be redrawn</param>
            <param name="skipPlayer"></param>
        </member>
        <member name="M:Vintagestory.API.Common.BlockEntity.GetBlockInfo(Vintagestory.API.Common.IPlayer,System.Text.StringBuilder)">
            <summary>
            Called by the block info HUD for displaying additional information
            </summary>
            <param name="forPlayer"></param>
            <param name="dsc"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockEntity.OnStoreCollectibleMappings(System.Collections.Generic.Dictionary{System.Int32,Vintagestory.API.Common.AssetLocation},System.Collections.Generic.Dictionary{System.Int32,Vintagestory.API.Common.AssetLocation})">
            <summary>
            Called by the worldedit schematic exporter so that it can also export the mappings of items/blocks stored inside blockentities
            </summary>
            <param name="blockIdMapping"></param>
            <param name="itemIdMapping"></param>
        </member>
        <member name="M:Vintagestory.API.Common.BlockEntity.OnLoadCollectibleMappings(Vintagestory.API.Common.IWorldAccessor,System.Collections.Generic.Dictionary{System.Int32,Vintagestory.API.Common.AssetLocation},System.Collections.Generic.Dictionary{System.Int32,Vintagestory.API.Common.AssetLocation},System.Int32)">
            <summary>
            Called by the blockschematic loader so that you may fix any blockid/itemid mappings against the mapping of the savegame, if you store any collectibles in this blockentity.
            Note: Some vanilla blocks resolve randomized contents in this method.
            Hint: Use itemstack.FixMapping() to do the job for you.
            </summary>
            <param name="worldForNewMappings"></param>
            <param name="oldBlockIdMapping"></param>
            <param name="oldItemIdMapping"></param>
            <param name="schematicSeed">If you need some sort of randomness consistency accross an imported schematic, you can use this value</param>
        </member>
        <member name="M:Vintagestory.API.Common.BlockEntity.OnLoadCollectibleMappings(Vintagestory.API.Common.IWorldAccessor,System.Collections.Generic.Dictionary{System.Int32,Vintagestory.API.Common.AssetLocation},System.Collections.Generic.Dictionary{System.Int32,Vintagestory.API.Common.AssetLocation},System.Int32,System.Boolean)">
            <summary>
            Called by the blockschematic loader so that you may fix any blockid/itemid mappings against the mapping of the savegame, if you store any collectibles in this blockentity.
            Note: Some vanilla blocks resolve randomized contents in this method.
            Hint: Use itemstack.FixMapping() to do the job for you.
            </summary>
            <param name="worldForNewMappings"></param>
            <param name="oldBlockIdMapping"></param>
            <param name="oldItemIdMapping"></param>
            <param name="schematicSeed">If you need some sort of randomness consistency accross an imported schematic, you can use this value</param>
            <param name="resolveImports">Turn it off to spawn structures as they are. For example, in this mode, instead of traders, their meta spawners will spawn</param>
        </member>
        <member name="M:Vintagestory.API.Common.BlockEntity.OnTesselation(Vintagestory.API.Client.ITerrainMeshPool,Vintagestory.API.Client.ITesselatorAPI)">
            <summary>
            Let's you add your own meshes to a chunk. Don't reuse the meshdata instance anywhere in your code. Return true to skip the default mesh.
            WARNING!
            The Tesselator runs in a seperate thread, so you have to make sure the fields and methods you access inside this method are thread safe.
            </summary>
            <param name="mesher">The chunk mesh, add your stuff here</param>
            <param name="tessThreadTesselator">If you need to tesselate something, you should use this tesselator, since using the main thread tesselator can cause race conditions and crash the game</param>
            <returns>True to skip default mesh, false to also add the default mesh</returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockEntity.OnPlacementBySchematic(Vintagestory.API.Server.ICoreServerAPI,Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.MathTools.BlockPos,System.Collections.Generic.Dictionary{System.Int32,System.Collections.Generic.Dictionary{System.Int32,System.Int32}},System.Int32,Vintagestory.API.Common.Block,System.Boolean)">
            <summary>
            Called when this block entity was placed by a schematic, either through world edit or by worldgen
            </summary>
            <param name="api"></param>
            <param name="blockAccessor"></param>
            <param name="pos"></param>
            <param name="replaceBlocks"></param>
            <param name="centerrockblockid"></param>
            <param name="layerBlock">If block.CustomBlockLayerHandler is true and the block is below the surface, this value is set</param>
            <param name="resolveImports">Turn it off to spawn structures as they are. For example, in this mode, instead of traders, their meta spawners will spawn</param>
        </member>
        <member name="T:Vintagestory.API.Common.BlockEntityBehaviorType">
             <summary>
             Allows adding behaviors for block entities. Remember, block entities are specific instances of blocks placed within the world.
             </summary>
             <example>
             <code language="json">
            "entityClass": "Brake",
            "entityBehaviors": [
            	{ "name": "MPBrake" },
            	{ "name": "Animatable" }
            ],
             </code>
             </example>
        </member>
        <member name="F:Vintagestory.API.Common.BlockEntityBehaviorType.Name">
            <summary>
            The ID for this block entity behavior.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockEntityBehaviorType.properties">
            <summary>
            A set of properties specific to the block entity behavior class.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.BlockEntityBehavior">
            <summary>
            Basic class for block entities - a data structures to hold custom information for blocks, e.g. for chests to hold it's contents
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockEntityBehavior.Blockentity">
            <summary>
            The block for this behavior instance.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.BlockEntityBehavior.Pos">
            <summary>
            Alias of Blockentity.Pos
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.BlockEntityBehavior.Block">
            <summary>
            Alias of BlockEntity.Block
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockEntityBehavior.properties">
            <summary>
            The properties of this block behavior.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.BlockEntityBehavior.Initialize(Vintagestory.API.Common.ICoreAPI,Vintagestory.API.Datastructures.JsonObject)">
            <summary>
            Called right after the block behavior was created
            </summary>
            <param name="api"></param>
            <param name="properties"></param>
        </member>
        <member name="M:Vintagestory.API.Common.BlockEntityBehavior.OnTesselation(Vintagestory.API.Client.ITerrainMeshPool,Vintagestory.API.Client.ITesselatorAPI)">
            <summary>
            Let's you add your own meshes to a chunk. Don't reuse the meshdata instance anywhere in your code. Return true to skip the default mesh.
            WARNING!
            The Tesselator runs in a seperate thread, so you have to make sure the fields and methods you access inside this method are thread safe.
            </summary>
            <param name="mesher">The chunk mesh, add your stuff here</param>
            <param name="tessThreadTesselator">If you need to tesselate something, you should use this tesselator, since using the main thread tesselator can cause race conditions and crash the game</param>
            <returns>True to skip default mesh, false to also add the default mesh</returns>
        </member>
        <member name="F:Vintagestory.API.Common.CoralPlantConfig.Height">
            <summary>
            Height distribution for plants inside the coral reef
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CoralPlantConfig.Chance">
            <summary>
            chance for this plant to spawn in a reef if
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockPatchAttributes.CoralBase">
            <summary>
            List of asset codes for the base (coralblock) types of a coral reef blockpatch
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockPatchAttributes.CoralStructure">
            <summary>
            List of asset codes for the coral structure types of a coral reef blockpatch
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockPatchAttributes.CoralShelve">
            <summary>
            List of asset codes for the coral shelved types of a coral reef blockpatch
            These need to have HorizontalOrientable behaviour and only specify one side in here "coralshelf-north"
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockPatchAttributes.CoralDecor">
            <summary>
            List of asset codes for the coral decor of a coral reef blockpatch
            These will be placed on solid surfaces around coral base blocks and on top of structures
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockPatchAttributes.Coral">
            <summary>
            List of asset codes for the coral types of a coral reef blockpatch coral-brain, coral-fan ...
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockPatchAttributes.CoralMinSize">
            <summary>
            Defines the minimum 2D size of the coral reef
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockPatchAttributes.CoralRandomSize">
            <summary>
            Defines the random size between 0 - X that will be added additionally to the reef
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockPatchAttributes.CoralVerticalGrowChance">
            <summary>
            Chance for a shelf block to spawn on a under water cliff. The chance is rolled for each height
            The patch will try to spawn them until it reaches minWaterDepth
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockPatchAttributes.CoralPlantsChance">
            <summary>
            Chance that any Plant will spawn
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockPatchAttributes.CoralPlants">
            <summary>
            Specifiy which plants should spawn for this blockpatch and their heigh and how often a specific plant should be chosen
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockPatchAttributes.CoralShelveChance">
            <summary>
            Chance that a shelf will spawn instead of a structure on top of a coralblock
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockPatchAttributes.CoralReplaceOtherPatches">
            <summary>
            Chance that coral generating will replace all other block patches in its area
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockPatchAttributes.CoralStructureChance">
            <summary>
            If no shelf was spawned this chance controls how likely a structure will spawn instead of a coral.
            If a structure is spawned then a coral will spawn on top
            If no shelve nor structure was spawned then also a coral will be spawned
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockPatchAttributes.CoralDecorChance">
            <summary>
            When a coral [brain, fan] gets spawned also try if a decor should spawn below it
            Also on vertical growth we try to spawn decors cliffs
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockPatchAttributes.CoralChance">
            <summary>
            Chance to spawn a coral [brain, fan] on top of base blocks or structures
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockPatchAttributes.CoralBaseHeight">
            <summary>
            How thick the base coral full block layer should be for this patch (goes down into the ground, helpful for cliffs)
            1 -> replace the gravel with coral
            2 -> go 1 block below gravel and also replace and so on
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockPatchAttributes.FlowerChance">
            <summary>
            Chance that a BlockCrowfoot will spawn a flower when it reaches the water surface
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockPatchAttributes.Height">
            <summary>
            Heigh distribution for BlockSeaweed and BlockCrowfoot types
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumReplaceMode.Replaceable">
            <summary>
            Replace if new block replaceable value > old block replaceable value
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumReplaceMode.ReplaceAll">
            <summary>
            Replace always, no matter what blocks were there previously
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumReplaceMode.ReplaceAllNoAir">
            <summary>
            Replace always, no matter what blocks were there previously, but skip air blocks in the schematic
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumReplaceMode.ReplaceOnlyAir">
            <summary>
            Replace only air blocks
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockSchematic.Indices">
            <summary>
            X/Y/Z position. First 10 bits is X, next 10 is Z and next 10 bits is Y
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockSchematic.PathwayStarts">
            <summary>
            Distance positions from bottom left corner of the schematic. Only the first door block.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockSchematic.PathwayOffsets">
            <summary>
            Distance from the bottom left door block, so the bottom left door block is always at 0,0,0
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.BlockSchematic.BlockRemaps">
            <summary>
            Set by the RemapperAssistant in OnFinalizeAssets
            <br/>Heads up!:  This is unordered, it will iterate through the different game versions' remaps not necessarily in the order they originally appear in remaps.json config.  If any block remaps over the years have duplicate original block names, behavior for those ones may be unpredictable
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.BlockSchematic.ItemRemaps">
            <summary>
            Set by the RemapperAssistant in OnFinalizeAssets
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockSchematic.PosBitMask">
            <summary>
            This bitmask for the position in schematics
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.BlockSchematic.#ctor(Vintagestory.API.Server.IServerWorldAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.BlockPos,System.Boolean)">
            <summary>
            Construct a schematic from a specified area in the specified world
            </summary>
            <param name="world"></param>
            <param name="start"></param>
            <param name="end"></param>
            <param name="notLiquids"></param>
        </member>
        <member name="M:Vintagestory.API.Common.BlockSchematic.LoadMetaInformationAndValidate(Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.Common.IWorldAccessor,System.String)">
            <summary>
            Loads the meta information for each block in the schematic.
            </summary>
            <param name="blockAccessor"></param>
            <param name="worldForResolve"></param>
            <param name="fileNameForLogging"></param>
        </member>
        <member name="M:Vintagestory.API.Common.BlockSchematic.AddArea(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Adds an area to the schematic.
            </summary>
            <param name="world">The world the blocks are in</param>
            <param name="start">The start position of all the blocks.</param>
            <param name="end">The end position of all the blocks.</param>
        </member>
        <member name="M:Vintagestory.API.Common.BlockSchematic.Place(Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,System.Boolean)">
            <summary>
            Will place all blocks using the configured replace mode. Note: If you use a revertable or bulk block accessor you will have to call PlaceBlockEntities() after the Commit()
            </summary>
            <param name="blockAccessor"></param>
            <param name="worldForCollectibleResolve"></param>
            <param name="startPos"></param>
            <param name="replaceMetaBlocks"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockSchematic.Place(Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.EnumReplaceMode,System.Boolean)">
            <summary>
            Will place all blocks using the supplied replace mode. Note: If you use a revertable or bulk block accessor you will have to call PlaceBlockEntities() after the Commit()
            </summary>
            <param name="blockAccessor"></param>
            <param name="worldForCollectibleResolve"></param>
            <param name="startPos"></param>
            <param name="mode"></param>
            <param name="replaceMetaBlocks"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockSchematic.TransformWhilePacked(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.EnumOrigin,System.Int32,System.Nullable{Vintagestory.API.MathTools.EnumAxis})">
            <summary>
            Attempts to transform each block as they are placed in directions different from the schematic.
            </summary>
            <param name="worldForResolve"></param>
            <param name="aroundOrigin"></param>
            <param name="angle"></param>
            <param name="flipAxis"></param>
        </member>
        <member name="M:Vintagestory.API.Common.BlockSchematic.PlaceEntitiesAndBlockEntities(Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,System.Collections.Generic.Dictionary{System.Int32,Vintagestory.API.Common.AssetLocation},System.Collections.Generic.Dictionary{System.Int32,Vintagestory.API.Common.AssetLocation},System.Boolean,System.Collections.Generic.Dictionary{System.Int32,System.Collections.Generic.Dictionary{System.Int32,System.Int32}},System.Int32,System.Collections.Generic.Dictionary{Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.Block},System.Boolean)">
            <summary>
            Places all the entities and blocks in the schematic at the position.
            </summary>
            <param name="blockAccessor"></param>
            <param name="worldForCollectibleResolve"></param>
            <param name="startPos"></param>
            <param name="blockCodes"></param>
            <param name="itemCodes"></param>
            <param name="replaceBlockEntities"></param>
            <param name="replaceBlocks"></param>
            <param name="centerrockblockid"></param>
            <param name="layerBlockForBlockEntities"></param>
            <param name="resolveImports">Turn it off to spawn structures as they are. For example, in this mode, instead of traders, their meta spawners will spawn</param>
        </member>
        <member name="M:Vintagestory.API.Common.BlockSchematic.GetJustPositions(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Gets just the positions of the blocks.
            </summary>
            <param name="origin">The origin point to start from</param>
            <returns>An array containing the BlockPos of each block in the area.</returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockSchematic.GetStartPos(Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.EnumOrigin)">
            <summary>
            Gets the starting position of the schematic.
            </summary>
            <param name="pos"></param>
            <param name="origin"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockSchematic.AdjustStartPos(Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.EnumOrigin)">
            <summary>
            Adjusts the starting position of the schemtic.
            </summary>
            <param name="startpos"></param>
            <param name="origin"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockSchematic.LoadFromFile(System.String,System.String@)">
            <summary>
            Loads the schematic from a file.
            </summary>
            <param name="infilepath"></param>
            <param name="error"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockSchematic.LoadFromString(System.String,System.String@)">
            <summary>
            Loads a schematic from a string.
            </summary>
            <param name="jsoncode"></param>
            <param name="error"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockSchematic.Save(System.String)">
            <summary>
            Saves a schematic to a file.
            </summary>
            <param name="outfilepath"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockSchematic.EncodeBlockEntityData(Vintagestory.API.Common.BlockEntity)">
            <summary>
            Exports the block entity data to a string.
            </summary>
            <param name="be"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockSchematic.StringEncodeTreeAttribute(Vintagestory.API.Datastructures.ITreeAttribute)">
            <summary>
            Exports the tree attribute data to a string.
            </summary>
            <param name="tree"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockSchematic.DecodeBlockEntityData(System.String)">
            <summary>
            Imports the tree data from a string.
            </summary>
            <param name="data"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockSchematic.ClonePacked">
            <summary>
            Makes a deep copy of the packed schematic. Unpacked data and loaded meta information is not cloned.
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.BlockSelection">
            <summary>
            Contains all the information for a players block selection event
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockSelection.Position">
            <summary>
            The position the player wants to place/break something at
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockSelection.Face">
            <summary>
            The face the player aimed at
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockSelection.HitPosition">
            <summary>
            The coordinate of the exact aimed position, relative to the Block Position
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockSelection.SelectionBoxIndex">
            <summary>
            Which selection box was aimed at. The index corresponds to the array returned by Block.GetSelectionBoxes()
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockSelection.SelectionBoxId">
            <summary>
            Which selection box was aimed at. The id corresponds to CuboidfWithId.Id, if the selection box cuboid is of that type
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockSelection.DidOffset">
            <summary>
            Always false during block use. True during placement if the Position value was offseted. Example:
            - When trying to place planks while aiming at rock, the Position is the one in front of the Rock and DidOffset is True
            - When trying to place planks while aiming at tallgrass, the Position is where the tall grass is and DidOffset is false (because tallgrass is replacable)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockSelection.Block">
            <summary>
            The block actually being looked at!
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.BlockSelection.#ctor(Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.BlockFacing,Vintagestory.API.Common.Block)">
            <summary>
            Creates a basic BlockSelection from limited data
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.BlockSelection.Clone">
            <summary>
            Creates a deep copy 
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockSelection.ToDecorIndex">
            <summary>
            Returns a subposition index for use addressing decor subpositions on a block
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.BlockSounds">
             <summary>
             A set of sounds that are defined for a block. All fields use default or empty sounds if not set.
             </summary>
             <example>
             <code language="json">
            "sounds": {
            	"place": "block/dirt",
            	"break": "block/dirt",
            	"hit": "block/dirt",
            	"walk": "walk/grass"
            },
             </code>
             </example>
        </member>
        <member name="P:Vintagestory.API.Common.BlockSounds.Walk">
            <summary>
            Played when an entity walks on this block.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.BlockSounds.Inside">
            <summary>
            Played when an entity moves inside this block. Primarily used for liquids and foliage.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.BlockSounds.Break">
            <summary>
            Played when this block is broken.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.BlockSounds.Place">
            <summary>
            Played when this block is placed.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.BlockSounds.Hit">
            <summary>
            Played when this block is hit. Will be overridden by <see cref="P:Vintagestory.API.Common.BlockSounds.ByTool"/> if an appropriate tool is set.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockSounds.Ambient">
            <summary>
            Played in ambience for this block.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockSounds.AmbientSoundType">
            <summary>
            The type of sound for this block's ambient sound.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockSounds.AmbientMaxDistanceMerge">
            <summary>
            Adjacent ambient sound sources are merged to avoid playing too many sounds too loudly. This is the maximum distance a sound source can be from another to allow a merge.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockSounds.AmbientBlockCount">
            <summary>
            Amount of nearby ambient sound blocks in order to reach full ambient sound volume
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.BlockSounds.ByTool">
            <summary>
            Gets the sound that occurs when a specific tool hits a block.  (Note for coders: if none specified in the JSON, this will be null from version 1.20.4 onwards)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.BlockSounds.Clone">
            <summary>
            Clones the block sounds.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockSounds.GetBreakSound(Vintagestory.API.Common.IPlayer)">
            <summary>
            Gets the breaking sound, either provided by the tool or by this sound.
            </summary>
            <param name="byPlayer"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockSounds.GetHitSound(Vintagestory.API.Common.IPlayer)">
            <summary>
            Gets the hit sound either provided by the tool or by the block.
            </summary>
            <param name="byPlayer"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockSounds.GetBreakSound(Vintagestory.API.Common.EnumTool)">
            <summary>
            Gets the break sound either by the tool or by the block if the tool does not have a break sound.
            </summary>
            <param name="tool">The Tool used.</param>
            <returns>The resulting sound</returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockSounds.GetHitSound(Vintagestory.API.Common.EnumTool)">
            <summary>
            Gets the hit sound either by the tool or by the block if the tool does not have a hit sound.
            </summary>
            <param name="tool"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.EnumSoilNutrient">
            <summary>
            The three types of soil nutrient for farmland and crops.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockCropProperties.RequiredNutrient">
            <summary>
            Which nutrient category this crop requires to grow
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockCropProperties.NutrientConsumption">
            <summary>
            Total amount of nutrient consumed to reach full maturity. (100 is the maximum available for farmland)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockCropProperties.GrowthStages">
            <summary>
            Amount of growth stages this crop has
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockCropProperties.TotalGrowthDays">
            <summary>
            Total time in ingame days required for the crop to reach full maturity assuming full nutrient levels
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockCropProperties.TotalGrowthMonths">
            <summary>
            Total time in ingame months required for the crop to reach full maturity assuming full nutrient levels
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockCropProperties.MultipleHarvests">
            <summary>
            If true, the player may harvests from the crop multiple times
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockCropProperties.HarvestGrowthStageLoss">
            <summary>
            When multiple harvets is true, this is the amount of growth stages the crop should go back when harvested
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockCropProperties.Behaviors">
            <summary>
            Allows customization of crop growth behavior. BlockEntityFarmland calls methods on all behaviors to allow greater control.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.CropBehavior.Initialize(Vintagestory.API.Datastructures.JsonObject)">
            <summary>
            Initializes the crop with additional properties.
            </summary>
            <param name="properties"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CropBehavior.TryGrowCrop(Vintagestory.API.Common.ICoreAPI,Vintagestory.API.Common.IFarmlandBlockEntity,System.Double,System.Int32,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            Attempts to grow the crop.
            </summary>
            <param name="api">The Core API</param>
            <param name="farmland">The farmland below the crop.</param>
            <param name="currentTotalHours"></param>
            <param name="newGrowthStage">The next growth stage.</param>
            <param name="handling">Whether or not this event was handled.</param>
            <returns>Whether or not the crop grew.</returns>
        </member>
        <member name="M:Vintagestory.API.Common.CropBehavior.OnPlanted(Vintagestory.API.Common.ICoreAPI,Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EntityAgent,Vintagestory.API.Common.BlockSelection)">
            <summary>
            The event fired when the crop is planted.
            </summary>
            <param name="api">The core API.</param>
            <param name="itemslot">The itemslot that the plant was planted with.</param>
            <param name="byEntity">The entity that planted the plant.</param>
            <param name="blockSel">The block selection used when the seed was planted.</param>
        </member>
        <member name="P:Vintagestory.API.Common.IFarmlandBlockEntity.TotalHoursForNextStage">
            <summary>
            Total game hours from where on it can enter the next growth stage 
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IFarmlandBlockEntity.TotalHoursFertilityCheck">
            <summary>
            The last time fertility increase was checked
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IFarmlandBlockEntity.Nutrients">
            <summary>
            Farmland has 3 nutrient levels N, P and K located in this array in that order. 
            Each nutrient level has a range of 0-100.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IFarmlandBlockEntity.MoistureLevel">
            <summary>
            The farmlands moisture level
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IFarmlandBlockEntity.OriginalFertility">
            <summary>
            The fertility the soil will recover to (the soil from which the farmland was made of)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IFarmlandBlockEntity.Pos">
            <summary>
            The position of the farmland
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IFarmlandBlockEntity.UpPos">
            <summary>
            The position directly above the farmland
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.DecorBits">
            <summary>
            An actual instance of this struct is the 'faceAndSubposition' data.
            <br/>The struct also provides various static methods to convert elements to and from a PackedIndex used in WorldChunk storage
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.DecorBits.#ctor(System.Int32)">
            <summary>
            The value is the faceAndSubposition - i.e. BlockFacing.Index + 6 * subPosition.  For normal full-face decors, it should have values 0-5.
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:Vintagestory.API.Common.DecorBits.#ctor(Vintagestory.API.MathTools.BlockFacing)">
            <summary>
            Simplest case, we supply just a face  (no subposition for cave-art, and no rotation)
            </summary>
            <param name="face"></param>
        </member>
        <member name="M:Vintagestory.API.Common.DecorBits.#ctor(Vintagestory.API.MathTools.BlockFacing,System.Int32,System.Int32,System.Int32)">
            <summary>
            Turn both face and local voxel position to a decor faceAndSubposition index
            </summary>
            <param name="face"></param>
            <param name="vx">0..15</param>
            <param name="vy">0..15</param>
            <param name="vz">0..15</param>
        </member>
        <member name="F:Vintagestory.API.Common.DecorBits.Index3dMask">
            <summary>
            A bit mask to select bits 0-14, i.e. the chunk's index3d
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.DecorBits.mask3Bits">
            <summary>
            A bit mask to select the three most significant bits of a byte, 0b11100000 or 0xE0
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.DecorBits.mask5Bits">
            <summary>
            A bit mask to select the five least significant bits of a byte, 0b00011111 or 0x1F
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.DecorBits.maskRotationData">
            <summary>
            A bit mask to select the three rotation data bits; this is also the maxvalue of the rotationData
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.DecorBits.FaceAndSubpositionToIndex(System.Int32)">
             <summary>
            The packedIndex works like this: [radfast 7 Dec 2024, 1.20-rc.2]
             <code>
             The packedIndex has four components:
                 index3d for the block's local x,y,z value within the chunk, each in the range 0-31, for 15 bits in total
                 faceindex for the face of the block this decor is on (corresponding to BlockFacing.Index), range 0-5
                 optionally, a subposition in the range 0-256, where 0 means no subposition, and values 1-256 give a subposition in the 16x16 subgrid, used for ArtPigment or similar
                 optionally, 3 bits of rotation data
                 
             These are packed into bits in the following way, it has to be this way for backwards compatibility reasons (assuming we do not want to add a new chunk dataversion)
             31 - 24  (the five Least Significant Bits of the subposition) * 6 + faceindex
             23 - 21  (the three Most Significant Bits of the subposition)
             20 - 19  (unused)
             18 - 16  rotation data
             15       (unused)  
             14 - 0   index3d
             
             (Exceptionally, the value in bits 31-24 has the magic value of (0x20 * 6 + faceindex), and the value in bits 23-16 is 0xE0, if a subposition value of 256 is intended: this works within the existing algorithms because 0xE0 + 0x20 == 0x100 i.e. 256.   If necessary we can have values up to 0x2A there, so the range of possible subpositions is up to 266)
             
             0000 0000 0000 0000 0000 0000 0000 0000
             </code>
            
             </summary>
        </member>
        <member name="T:Vintagestory.API.Common.EnumBlockMaterial">
            <summary>
            Materials of which a block may be made of.
            Currently only used for mining speed for tools and blast resistance.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.BlockMaterialUtil.MaterialBlastResistance(Vintagestory.API.Common.EnumBlastType,Vintagestory.API.Common.EnumBlockMaterial)">
            <summary>
            Calculates the blast resistance of a given material.
            </summary>
            <param name="blastType">The blast type the material is being it with.</param>
            <param name="material">The material of the block.</param>
            <returns>the resulting blast resistance.</returns>
        </member>
        <member name="M:Vintagestory.API.Common.BlockMaterialUtil.MaterialBlastDropChances(Vintagestory.API.Common.EnumBlastType,Vintagestory.API.Common.EnumBlockMaterial)">
            <summary>
            Calculates the blast drop chance of a given material.
            </summary>
            <param name="blastType">The blast type the material is being it with.</param>
            <param name="material">The material of the block.</param>
            <returns>the resulting drop chance.</returns>
        </member>
        <member name="T:Vintagestory.API.Common.EnumMatterState">
            <summary>
            Various states of matter to use for collectibles.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumMatterState.Gas">
            <summary>
            The state of being so thin that molecules don't often touch
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumMatterState.Liquid">
            <summary>
            The state of being still together but loose enough to move around each other.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumMatterState.Solid">
            <summary>
            The state of being together and held still by the internal structure.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumMatterState.Plasma">
            <summary>
            The state of reacting with itself with some kind of reactant, a high heat state.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumMatterState.BoseEinsteinCondensate">
            <summary>
            The state of becoming Quantum Jelly.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.IDrawYAdjustable">
            <summary>
            Used for blocks (e.g. crops and dead crops) where the y-position might need to be adjusted at the time of tesselating an individual block
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.IGeometryTester">
            <summary>
            Used for blocks (e.g. chiselled blocks) where the basic block geometry: AO shading, side opaque etc - depends on the individual block or blockEntity
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.IRotatable">
            <summary>
            Implement this interface if schematics containing this block entity needs to modify it's tree attribute data. Beware, this method is called without
            the block entity existing in the world (yet). The modified tree will then be used to actually create the block
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IRotatable.OnTransformed(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Datastructures.ITreeAttribute,System.Int32,System.Collections.Generic.Dictionary{System.Int32,Vintagestory.API.Common.AssetLocation},System.Collections.Generic.Dictionary{System.Int32,Vintagestory.API.Common.AssetLocation},System.Nullable{Vintagestory.API.MathTools.EnumAxis})">
            <summary>
            If flipAxis is null it means it was not flipped, only horizontally rotated. Apply flip first, and then rotation.
            </summary>
            <param name="worldAccessor"></param>
            <param name="tree"></param>
            <param name="degreeRotation"></param>
            <param name="oldBlockIdMapping">Used for rotation of schematics, so microblocks can update their materials</param>
            <param name="oldItemIdMapping"></param>
            <param name="flipAxis"></param>
        </member>
        <member name="T:Vintagestory.API.Common.IWithDrawnHeight">
            <summary>
            Used for blocks (e.g. tallgrass and flowers) where the drawnHeight is set in attributes
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWithDrawnHeight.drawnHeight">
            <summary>
            Measured in texture pixels based on our standard pixel density for 32x32 textures.  So a value of 32 would be one block high; the typical value of 48 is the full height of tallgrass or a flowerTall because those use 48x48 pixel textures
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.StrongBlockBehavior">
            <summary>
            Same as block behavior but allows even more control over a block, such as the blocks collision boxes and world gen behavior. These are not part of default block behaviors for performance reasons. Requires the block to use the GenericBlock block class (or inherit from it)
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.EnumReflectiveMode">
            <summary>
            On the graphics card we have only one reflective bit, but we can store the mode in the wind data bits
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumReflectiveMode.None">
            <summary>
            Not reflective
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumReflectiveMode.Weak">
            <summary>
            Sun-Position independent reflectivity
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumReflectiveMode.Medium">
            <summary>
            Sun-Position dependent weak reflectivity
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumReflectiveMode.Strong">
            <summary>
            Sun-Position dependent weak reflectivity
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumReflectiveMode.Sparkly">
            <summary>
            Many small sparkles
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumWindBitMode.NoWind">
            <summary>
            Not affected by wind
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumWindBitMode.WeakWind">
            <summary>
            Slightly affected by wind. Wiggle + Height bend based on ground distance.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumWindBitMode.NormalWind">
            <summary>
            Normally affected by wind. Wiggle + Height bend based on ground distance.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumWindBitMode.Leaves">
            <summary>
            Same as normal wind, but with some special behavior for leaves. Wiggle + Height bend based on ground distance.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumWindBitMode.Bend">
            <summary>
            Same as normal wind, but no wiggle. Weak height bend based on ground distance.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumWindBitMode.TallBend">
            <summary>
            Bend behavior for tall plants
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumWindBitMode.Water">
            <summary>
            Vertical wiggle
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.EnumWindBitModeMask">
            <summary>
            Windmode flags, which can be ORed with existing vertex data to add the specified wind mode (assuming it was 0 previously!)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumWindBitModeMask.WeakWind">
            <summary>
            Slightly affected by wind. Wiggle + Height bend based on ground distance.<br/>
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumWindBitModeMask.NormalWind">
            <summary>
            Normally affected by wind. Wiggle + Height bend based on ground distance.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumWindBitModeMask.Leaves">
            <summary>
            Same as normal wind, but with some special behavior for leaves. Wiggle + Height bend based on ground distance.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumWindBitModeMask.Bend">
            <summary>
            Same as weak wind, but no wiggle. Height bend based on ground distance.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumWindBitModeMask.TallBend">
            <summary>
            Bend behavior for tall plants
            </summary> 
        </member>
        <member name="F:Vintagestory.API.Common.EnumWindBitModeMask.Water">
            <summary>
            Vertical wiggle
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumWindBitModeMask.ExtraWeakWind">
            <summary>
            Vertical wiggle
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.VertexFlags">
             <summary>
             Special class to handle the vertex flagging in a very nicely compressed space.<br/>
             Bit 0-7: Glow level<br/>
             Bit 8-10: Z-Offset<br/>
             Bit 11: Reflective bit<br/>
             Bit 12: Lod 0 Bit<br/>
             Bit 13-24: X/Y/Z Normals<br/>
             Bit 25, 26, 27, 28: Wind mode<br/>
             Bit 29, 30, 31: Wind data  (also sometimes used for other data, e.g. reflection mode if Reflective bit is set, or additional water surface data if this is a water block)<br/>
             </summary>
             <example>
             <code language="json">
            "vertexFlagsByType": {
            	"metalblock-new-*": {
            		"reflective": true,
            		"windDataByType": {
            			"*-gold": 1,
            			"*": 1
            		}
            	}
            },
             </code>
             </example>
        </member>
        <member name="F:Vintagestory.API.Common.VertexFlags.GlowLevelBitMask">
            <summary>
            Bit 0..7
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.VertexFlags.ZOffsetBitMask">
            <summary>
            Bit 8..10
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.VertexFlags.ReflectiveBitMask">
            <summary>
            Bit 11.   Note if this is set to 1, then WindData has a different meaning, 
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.VertexFlags.Lod0BitMask">
            <summary>
            Bit 12
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.VertexFlags.NormalBitMask">
            <summary>
            Bit 13..24
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.VertexFlags.WindModeBitsMask">
            <summary>
            Bit 25..28
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.VertexFlags.WindDataBitsMask">
            <summary>
            Bit 29..31   Note that WindData is sometimes used for other purposes if WindMode == 0, for example it can hold reflections data, see EnumReflectiveMode.
            <br/>Also worth noting that WindMode and WindData have totally different meanings for liquid water
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.VertexFlags.WindBitsMask">
            <summary>
            Bit 26..31
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.VertexFlags.LiquidIsLavaBitMask">
            <summary>
            Important: DO NOT USE THIS WITH THE &lt;&lt; OPERATOR: it's already shifted. It is a bit mask not a bit pos!
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.VertexFlags.LiquidWeakFoamBitMask">
            <summary>
            Important: DO NOT USE THIS WITH THE &lt;&lt; OPERATOR: it's already shifted. It is a bit mask not a bit pos!
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.VertexFlags.LiquidWeakWaveBitMask">
            <summary>
            Important: DO NOT USE THIS WITH THE &lt;&lt; OPERATOR: it's already shifted. It is a bit mask not a bit pos!
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.VertexFlags.LiquidFullAlphaBitMask">
            <summary>
            Important: DO NOT USE THIS WITH THE &lt;&lt; OPERATOR: it's already shifted. It is a bit mask not a bit pos!
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.VertexFlags.LiquidExposedToSkyBitMask">
            <summary>
            Important: DO NOT USE THIS WITH THE &lt;&lt; OPERATOR: it's already shifted. It is a bit mask not a bit pos!
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.VertexFlags.All">
            <summary>
            Sets all the vertex flags from one integer.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.VertexFlags.PackNormal(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Creates an already bit shifted normal
            </summary>
            <param name="normal"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.VertexFlags.PackNormal(System.Double,System.Double,System.Double)">
            <summary>
            Creates an already bit shifted normal
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.VertexFlags.PackNormal(Vintagestory.API.MathTools.Vec3f)">
            <summary>
            Creates an already bit shifted normal
            </summary>
            <param name="normal"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.VertexFlags.PackNormal(Vintagestory.API.MathTools.Vec3i)">
            <summary>
            Creates an already bit shifted normal
            </summary>
            <param name="normal"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.VertexFlags.Clone">
            <summary>
            Clones this set of vertex flags.  
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.CollectibleObject">
            <summary>
            Contains all properties shared by Blocks and Items
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.MatterState">
            <summary>
            Liquids are handled and rendered differently than solid blocks.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.CollectibleObject.IsMissing">
            <summary>
            This value is set by the BlockId- or ItemId-Remapper if it encounters a block/item in the savegame,
            but no longer exists as a loaded block/item
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.CollectibleObject.Id">
            <summary>
            The block or item id
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetHashCode">
            <summary>
            For blocks and items, the hashcode is the id - useful when building HashSets
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.CollectibleObject.ItemClass">
            <summary>
            Block or Item?
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.MaxStackSize">
            <summary>
            Max amount of collectible that one default inventory slot can hold
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.Durability">
            <summary>
            How many uses does this collectible has when being used. Item disappears at durability 0
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.Dimensions">
            <summary>
            Physical size of this collectible when held or (notionally) in a container. 0.5 x 0.5 x 0.5 meters by default.
            <br/>Note, if all three dimensions are set to zero, the default will be used.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.LiquidSelectable">
            <summary>
            When true, liquids become selectable to the player when being held in hands
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.AttackPower">
            <summary>
            How much damage this collectible deals when used as a weapon
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.HeldPriorityInteract">
            <summary>
            If true, when the player holds the sneak key and right clicks with this item in hand, calls OnHeldInteractStart first. Without it, the order is reversed. Takes precedence over priority interact placed blocks.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.AttackRange">
            <summary>
            Until how for away can you attack entities using this collectibe
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.DamagedBy">
            <summary>
            From which damage sources does the item takes durability damage
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.MiningSpeed">
            <summary>
            Modifies how fast the player can break a block when holding this item
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.ToolTier">
            <summary>
            What tier this block can mine when held in hands
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.CreativeInventoryTabs">
            <summary>
            List of creative tabs in which this collectible should appear in
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.ParticlesTextureCode">
            <summary>
            If set, the breaking particles will be taken from this texture, otherwise it'll just pick the first texture
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.CreativeInventoryStacks">
            <summary>
            If you want to add itemstacks with custom attributes to the creative inventory, add them to this list
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.RenderAlphaTest">
            <summary>
            Alpha test value for rendering in gui, fp hand, tp hand or on the ground
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.GuiTransform">
            <summary>
            Used for scaling, rotation or offseting the block when rendered in guis
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.FpHandTransform">
            <summary>
            Used for scaling, rotation or offseting the block when rendered in the first person mode hand
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.TpHandTransform">
            <summary>
            Used for scaling, rotation or offseting the block when rendered in the third person mode hand
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.TpOffHandTransform">
            <summary>
            Used for scaling, rotation or offseting the block when rendered in the third person mode offhand
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.GroundTransform">
            <summary>
            Used for scaling, rotation or offseting the rendered as a dropped item on the ground
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.Attributes">
            <summary>
            Custom Attributes that's always assiociated with this item
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.CombustibleProps">
            <summary>
            Information about the burnable states
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.NutritionProps">
            <summary>
            Information about the nutrition states
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.TransitionableProps">
            <summary>
            Information about the transitionable states
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.GrindingProps">
            <summary>
            If set, the collectible can be ground into something else
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.CrushingProps">
            <summary>
            If set, the collectible can be crushed into something else
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.ParticleProperties">
            <summary>
            Particles that should spawn in regular intervals from this block or item when held in hands
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.TopMiddlePos">
            <summary>
            The origin point from which particles are being spawned
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.Tool">
            <summary>
            If set, this item will be classified as given tool
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.StorageFlags">
            <summary>
            Determines in which kind of bags the item can be stored in
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.MaterialDensity">
            <summary>
            Determines on whether an object floats on liquids or not. Water has a density of 1000
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.HeldTpHitAnimation">
            <summary>
            The animation to play in 3rd person mod when hitting with this collectible
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.HeldRightTpIdleAnimation">
            <summary>
            The animation to play in 3rd person mod when holding this collectible in the right hand
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.HeldLeftTpIdleAnimation">
            <summary>
            The animation to play in 3rd person mod when holding this collectible in the left hand
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.HeldLeftReadyAnimation">
             <summary>
            
             </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.HeldRightReadyAnimation">
             <summary>
            
             </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.HeldTpUseAnimation">
            <summary>
            The animation to play in 3rd person mod when using this collectible
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.api">
            <summary>
            The api object, assigned during OnLoaded
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.CollectibleBehaviors">
            <summary>
            Modifiers that can alter the behavior of the item or block, mostly for held interaction
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleObject.LightHsv">
            <summary>
            For light emitting collectibles: hue, saturation and brightness value
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnLoaded(Vintagestory.API.Common.ICoreAPI)">
            <summary>
            Server Side: Called one the collectible has been registered
            Client Side: Called once the collectible has been loaded from server packet
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnUnloaded(Vintagestory.API.Common.ICoreAPI)">
            <summary>
            Called when the client/server is shutting down
            </summary>
            <param name="api"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetLightHsv(Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.ItemStack)">
            <summary>
            Should return the light HSV values.
            Warning: This method is likely to get called in a background thread. Please make sure your code in here is thread safe.
            </summary>
            <param name="blockAccessor"></param>
            <param name="pos">May be null</param>
            <param name="stack">Set if its an itemstack for which the engine wants to check the light level</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetCombustibleProperties(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.ItemStack,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Should return the burnable properties of the item/block
            </summary>
            <param name="world">May be null</param>
            <param name="itemstack">Set if its an itemstack for which to get properties</param>
            <param name="pos">May be null</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetNutritionProperties(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.ItemStack,Vintagestory.API.Common.Entities.Entity)">
            <summary>
            Should return the nutrition properties of the item/block
            </summary>
            <param name="world"></param>
            <param name="itemstack"></param>
            <param name="forEntity"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetTransitionableProperties(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.ItemStack,Vintagestory.API.Common.Entities.Entity)">
            <summary>
            Should return the transition properties of the item/block when in itemstack form
            </summary>
            <param name="world"></param>
            <param name="itemstack"></param>
            <param name="forEntity"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetGrindingProperties(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.ItemStack)">
            <summary>
            Should return properties used for grounding collectible into something else
            </summary>
            <param name="world"></param>
            <param name="itemstack"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetCrushingProperties(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.ItemStack)">
            <summary>
            Should return properties used for crushing collectible into something else
            </summary>
            <param name="world"></param>
            <param name="itemstack"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.RequiresTransitionableTicking(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.ItemStack)">
            <summary>
            Should returns true if this collectible requires UpdateAndGetTransitionStates() to be called when ticking.
            <br/>Typical usage: true if this collectible itself has transitionable properties, or true for collectibles which hold other itemstacks with transitionable properties (for example, a cooked food container)
            </summary>
            <param name="world"></param>
            <param name="itemstack"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetStorageFlags(Vintagestory.API.Common.ItemStack)">
            <summary>
            Should return in which storage containers this item can be placed in
            </summary>
            <param name="itemstack"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetItemDamageColor(Vintagestory.API.Common.ItemStack)">
            <summary>
            Returns a hardcoded rgb color (green->yellow->red) that is representative for its remaining durability vs total durability
            </summary>
            <param name="itemstack"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.ShouldDisplayItemDamage(Vintagestory.API.Common.ItemStack)">
            <summary>
            Return true if remaining durability != total durability
            </summary>
            <param name="itemstack"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnBeforeRender(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Common.ItemStack,Vintagestory.API.Client.EnumItemRenderTarget,Vintagestory.API.Client.ItemRenderInfo@)">
            <summary>
            This method is called before rendering the item stack into GUI, first person hand, third person hand and/or on the ground
            The renderinfo object is pre-filled with default values.
            </summary>
            <param name="capi"></param>
            <param name="itemstack"></param>
            <param name="target"></param>
            <param name="renderinfo"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetMaxDurability(Vintagestory.API.Common.ItemStack)">
            <summary>
            Returns the items total durability
            </summary>
            <param name="itemstack"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetAttackPower(Vintagestory.API.Common.ItemStack)">
            <summary>
            The amount of damage dealt when used as a weapon
            </summary>
            <param name="itemStack"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetDamageToEntity(System.Single,Vintagestory.API.Common.Entities.Entity,Vintagestory.API.Common.ItemStack,System.Boolean@)">
            <summary>
            The amount of damage dealt when used as a weapon on given entity
            </summary>
            <param name="baseDamage"></param>
            <param name="entity"></param>
            <param name="itemStack"></param>
            <param name="isCriticalHit"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetAttackRange(Vintagestory.API.Common.IItemStack)">
            <summary>
            The the attack range when used as a weapon
            </summary>
            <param name="withItemStack"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnBlockBreaking(Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.ItemSlot,System.Single,System.Single,System.Int32)">
            <summary>
            Player is holding this collectible and breaks the targeted block
            </summary>
            <param name="player"></param>
            <param name="blockSel"></param>
            <param name="itemslot"></param>
            <param name="remainingResistance"></param>
            <param name="dt"></param>
            <param name="counter"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnModifiedInInventorySlot(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.ItemStack)">
            <summary>
            Whenever the collectible was modified while inside a slot, usually when it was moved, split or merged.
            </summary>
            <param name="world"></param>
            <param name="slot">The slot the item is or was in</param>
            <param name="extractedStack">Non null if the itemstack was removed from this slot</param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnBlockBrokenWith(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.Entities.Entity,Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.BlockSelection,System.Single)">
            <summary>
            Player has broken a block while holding this collectible. Return false if you want to cancel the block break event.
            </summary>
            <param name="world"></param>
            <param name="byEntity"></param>
            <param name="itemslot"></param>
            <param name="blockSel"></param>
            <param name="dropQuantityMultiplier"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetMiningSpeed(Vintagestory.API.Common.IItemStack,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.Block,Vintagestory.API.Common.IPlayer)">
            <summary>
            Called every game tick when the player breaks a block with this item in his hands. Returns the mining speed for given block.
            </summary>
            <param name="itemstack"></param>
            <param name="blockSel"></param>
            <param name="block"></param>
            <param name="forPlayer"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetMiningSpeeds(Vintagestory.API.Common.ItemSlot)">
            <summary>
            Returns the mining speeds for all materials of the item.
            </summary>
            <param name="slot"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetTool(Vintagestory.API.Common.ItemSlot)">
            <summary>
            Returns tool type of the item
            </summary>
            <param name="slot"></param>
            <returns>Tool type</returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetToolTier(Vintagestory.API.Common.ItemSlot)">
            <summary>
            What tier this tool can mine when held in hands
            </summary>
            <param name="slot"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetDamagedBy(Vintagestory.API.Common.ItemSlot)">
            <summary>
            From which damage sources does the item take durability damage
            </summary>
            <param name="slot"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GeldHeldFpHitAnimation(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.Entities.Entity)">
            <summary>
            Not implemented yet
            </summary>
            <param name="slot"></param>
            <param name="byEntity"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetHeldTpHitAnimation(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.Entities.Entity)">
            <summary>
            Called when an entity uses this item to hit something in 3rd person mode
            </summary>
            <param name="slot"></param>
            <param name="byEntity"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetHeldReadyAnimation(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.Entities.Entity,Vintagestory.API.Common.EnumHand)">
            <summary>
            Called when an entity holds this item in hands in 3rd person mode
            </summary>
            <param name="activeHotbarSlot"></param>
            <param name="forEntity"></param>
            <param name="hand"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetHeldTpIdleAnimation(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.Entities.Entity,Vintagestory.API.Common.EnumHand)">
            <summary>
            Called when an entity holds this item in hands in 3rd person mode
            </summary>
            <param name="activeHotbarSlot"></param>
            <param name="forEntity"></param>
            <param name="hand"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetHeldTpUseAnimation(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.Entities.Entity)">
            <summary>
            Called when an entity holds this item in hands in 3rd person mode
            </summary>
            <param name="activeHotbarSlot"></param>
            <param name="forEntity"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnAttackingWith(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.Entities.Entity,Vintagestory.API.Common.Entities.Entity,Vintagestory.API.Common.ItemSlot)">
            <summary>
            An entity used this collectibe to attack something
            </summary>
            <param name="world"></param>
            <param name="byEntity"></param>
            <param name="attackedEntity"></param>
            <param name="itemslot"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.MatchesForCrafting(Vintagestory.API.Common.ItemStack,Vintagestory.API.Common.GridRecipe,Vintagestory.API.Common.CraftingRecipeIngredient)">
            <summary>
            Called when this collectible is attempted to being used as part of a grid crafting recipe and should get consumed now. Return false if it doesn't match the ingredient
            </summary>
            <param name="inputStack"></param>
            <param name="gridRecipe"></param>
            <param name="ingredient"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.MatchesForCrafting(Vintagestory.API.Common.ItemStack,Vintagestory.API.Common.IRecipeBase,Vintagestory.API.Common.IRecipeIngredient)">
            <summary>
            Called when this collectible is attempted to being used as part of a crafting recipe and should get consumed now. Return false if it doesn't match the ingredient
            </summary>
            <param name="inputStack"></param>
            <param name="recipe"></param>
            <param name="ingredient"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnConsumedByCrafting(Vintagestory.API.Common.ItemSlot[],Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.GridRecipe,Vintagestory.API.Common.CraftingRecipeIngredient,Vintagestory.API.Common.IPlayer,System.Int32)">
            <summary>
            Called when this collectible is being used as part of a crafting recipe and should get consumed now
            </summary>
            <param name="allInputSlots"></param>
            <param name="stackInSlot"></param>
            <param name="gridRecipe"></param>
            <param name="fromIngredient"></param>
            <param name="byPlayer"></param>
            <param name="quantity"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnCreatedByCrafting(Vintagestory.API.Common.ItemSlot[],Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.GridRecipe)">
            <summary>
            Called when a matching grid recipe has been found and an item is placed into the crafting output slot (which is still before the player clicks on the output slot to actually craft the item and consume the ingredients)
            </summary>
            <param name="allInputslots"></param>
            <param name="outputSlot"></param>
            <param name="byRecipe"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnCreatedByCrafting(Vintagestory.API.Common.ItemSlot[],Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.IRecipeBase)">
            <summary>
            Called when a matching recipe has been found and an item is placed into the crafting output slot (which is still before the player clicks on the output slot to actually craft the item and consume the ingredients)
            </summary>
            <param name="allInputslots"></param>
            <param name="outputSlot"></param>
            <param name="byRecipe"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.ConsumeCraftingIngredients(Vintagestory.API.Common.ItemSlot[],Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.GridRecipe)">
            <summary>
            Called after the player has taken out the item from the output slot
            </summary>
            <param name="slots"></param>
            <param name="outputSlot"></param>
            <param name="matchingRecipe"></param>
            <returns>true to prevent default ingredient consumption</returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.ConsumeCraftingIngredients(Vintagestory.API.Common.ItemSlot[],Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.IRecipeBase)">
            <summary>
            Called after the player has taken out the item from the output slot
            </summary>
            <param name="slots"></param>
            <param name="outputSlot"></param>
            <param name="matchingRecipe"></param>
            <returns>true to prevent default ingredient consumption</returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.SetDurability(Vintagestory.API.Common.ItemStack,System.Int32)">
            <summary>
            Sets the items durability
            </summary>
            <param name="itemstack"></param>
            <param name="amount"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.DamageItem(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.Entities.Entity,Vintagestory.API.Common.ItemSlot,System.Int32,System.Boolean)">
            <summary>
            Causes the item to be damaged. If 'destroyOnZeroDurability == true' will play a breaking sound and remove the itemstack if no more durability is left
            </summary>
            <param name="world"></param>
            <param name="byEntity"></param>
            <param name="itemSlot"></param>
            <param name="amount">Amount of damage</param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.DamageItem(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.Entities.Entity,Vintagestory.API.Common.ItemSlot,System.Int32)">
            <summary>
            Causes the item to be damaged. Will play a breaking sound and removes the itemstack if no more durability is left
            </summary>
            <param name="world"></param>
            <param name="byEntity"></param>
            <param name="itemslot"></param>
            <param name="amount">Amount of damage</param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.DestroyItem(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.Entities.Entity,Vintagestory.API.Common.ItemSlot)">
            <summary>
            Will play a breaking sound and remove the itemstack
            </summary>
            <param name="world"></param>
            <param name="byEntity"></param>
            <param name="itemSlot"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetToolMode(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.BlockSelection)">
            <summary>
            Should return the current items tool mode.
            </summary>
            <param name="slot"></param>
            <param name="byPlayer"></param>
            <param name="blockSelection"></param>
            <returns>The tool mode to display or -1 to not display the current mode</returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.SetToolMode(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.BlockSelection,System.Int32)">
            <summary>
            Should set given toolmode
            </summary>
            <param name="slot"></param>
            <param name="byPlayer"></param>
            <param name="blockSelection"></param>
            <param name="toolMode"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnHeldRenderOpaque(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Client.IClientPlayer)">
            <summary>
            This method is called during the opaque render pass when this item or block is being held in hands
            </summary>
            <param name="inSlot"></param>
            <param name="byPlayer"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnHeldRenderOit(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Client.IClientPlayer)">
            <summary>
            This method is called during the order independent transparency render pass when this item or block is being held in hands
            </summary>
            <param name="inSlot"></param>
            <param name="byPlayer"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnHeldRenderOrtho(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Client.IClientPlayer)">
            <summary>
            This method is called during the ortho (for 2D GUIs) render pass when this item or block is being held in hands
            </summary>
            <param name="inSlot"></param>
            <param name="byPlayer"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnHeldIdle(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EntityAgent)">
            <summary>
            Called every frame when the player is holding this collectible in his hands. Is not called during OnUsing() or OnAttacking()
            </summary>
            <param name="slot"></param>
            <param name="byEntity"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnGroundIdle(Vintagestory.API.Common.EntityItem)">
            <summary>
            Called every game tick when this collectible is in dropped form in the world (i.e. as EntityItem)
            </summary>
            <param name="entityItem"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.InGuiIdle(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.ItemStack)">
            <summary>
            Called every frame when this item is being displayed in the gui
            </summary>
            <param name="world"></param>
            <param name="stack"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnCollected(Vintagestory.API.Common.ItemStack,Vintagestory.API.Common.Entities.Entity)">
            <summary>
            Called when this item was collected by an entity
            </summary>
            <param name="stack"></param>
            <param name="entity"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnHeldUseStart(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EntityAgent,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.EntitySelection,Vintagestory.API.Common.EnumHandInteract,System.Boolean,Vintagestory.API.Common.EnumHandHandling@)">
            <summary>
            General begin use access. Override OnHeldAttackStart or OnHeldInteractStart to alter the behavior.
            </summary>
            <param name="slot"></param>
            <param name="byEntity"></param>
            <param name="blockSel"></param>
            <param name="entitySel"></param>
            <param name="useType"></param>
            <param name="firstEvent">True on first mouse down</param>
            <param name="handling">Whether or not to do any subsequent actions. If not set or set to NotHandled, the action will not called on the server.</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnHeldUseCancel(System.Single,Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EntityAgent,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.EntitySelection,Vintagestory.API.Common.EnumItemUseCancelReason)">
            <summary>
            General cancel use access. Override OnHeldAttackCancel or OnHeldInteractCancel to alter the behavior.
            </summary>
            <param name="secondsPassed"></param>
            <param name="slot"></param>
            <param name="byEntity"></param>
            <param name="blockSel"></param>
            <param name="entitySel"></param>
            <param name="cancelReason"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnHeldUseStep(System.Single,Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EntityAgent,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.EntitySelection)">
            <summary>
            General using access. Override OnHeldAttackStep or OnHeldInteractStep to alter the behavior. Called every 20ms
            </summary>
            <param name="secondsPassed"></param>
            <param name="slot"></param>
            <param name="byEntity"></param>
            <param name="blockSel"></param>
            <param name="entitySel"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnHeldUseStop(System.Single,Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EntityAgent,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.EntitySelection,Vintagestory.API.Common.EnumHandInteract)">
            <summary>
            General use over access. Override OnHeldAttackStop or OnHeldInteractStop to alter the behavior.
            </summary>
            <param name="secondsPassed"></param>
            <param name="slot"></param>
            <param name="byEntity"></param>
            <param name="blockSel"></param>
            <param name="entitySel"></param>
            <param name="useType"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnHeldAttackStart(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EntityAgent,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.EntitySelection,Vintagestory.API.Common.EnumHandHandling@)">
            <summary>
            When the player has begun using this item for attacking (left mouse click). Return true to play a custom action.
            </summary>
            <param name="slot"></param>
            <param name="byEntity"></param>
            <param name="blockSel"></param>
            <param name="entitySel"></param>
            <param name="handling">Whether or not to do any subsequent actions. If not set or set to NotHandled, the action will not called on the server.</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnHeldAttackCancel(System.Single,Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EntityAgent,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.EntitySelection,Vintagestory.API.Common.EnumItemUseCancelReason)">
            <summary>
            When the player has canceled a custom attack action. Return false to deny action cancellation.
            </summary>
            <param name="secondsPassed"></param>
            <param name="slot"></param>
            <param name="byEntity"></param>
            <param name="blockSelection"></param>
            <param name="entitySel"></param>
            <param name="cancelReason"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnHeldAttackStep(System.Single,Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EntityAgent,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.EntitySelection)">
            <summary>
            Called continously when a custom attack action is playing. Return false to stop the action. Called every 20ms
            </summary>
            <param name="secondsPassed"></param>
            <param name="slot"></param>
            <param name="byEntity"></param>
            <param name="blockSelection"></param>
            <param name="entitySel"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnHeldAttackStop(System.Single,Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EntityAgent,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.EntitySelection)">
            <summary>
            Called when a custom attack action is finished
            </summary>
            <param name="secondsPassed"></param>
            <param name="slot"></param>
            <param name="byEntity"></param>
            <param name="blockSelection"></param>
            <param name="entitySel"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnHeldInteractStart(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EntityAgent,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.EntitySelection,System.Boolean,Vintagestory.API.Common.EnumHandHandling@)">
            <summary>
            Called when the player right clicks while holding this block/item in his hands
            </summary>
            <param name="slot"></param>
            <param name="byEntity"></param>
            <param name="blockSel"></param>
            <param name="entitySel"></param>
            <param name="firstEvent">True when the player pressed the right mouse button on this block. Every subsequent call, while the player holds right mouse down will be false, it gets called every second while right mouse is down</param>
            <param name="handling">Whether or not to do any subsequent actions. If not set or set to NotHandled, the action will not called on the server.</param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnHeldInteractStep(System.Single,Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EntityAgent,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.EntitySelection)">
            <summary>
            Called every 20ms while the player is using this collectible. Return false to stop the interaction.
            </summary>
            <param name="secondsUsed"></param>
            <param name="slot"></param>
            <param name="byEntity"></param>
            <param name="blockSel"></param>
            <param name="entitySel"></param>
            <returns>False if the interaction should be stopped. True if the interaction should continue</returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnHeldInteractStop(System.Single,Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EntityAgent,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.EntitySelection)">
            <summary>
            Called when the player successfully completed the using action, always called once an interaction is over
            </summary>
            <param name="secondsUsed"></param>
            <param name="slot"></param>
            <param name="byEntity"></param>
            <param name="blockSel"></param>
            <param name="entitySel"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnHeldInteractCancel(System.Single,Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EntityAgent,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.EntitySelection,Vintagestory.API.Common.EnumItemUseCancelReason)">
            <summary>
            When the player released the right mouse button. Return false to deny the cancellation (= will keep using the item until OnHeldInteractStep returns false).
            </summary>
            <param name="secondsUsed"></param>
            <param name="slot"></param>
            <param name="byEntity"></param>
            <param name="blockSel"></param>
            <param name="entitySel"></param>
            <param name="cancelReason"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.tryEatBegin(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EntityAgent,Vintagestory.API.Common.EnumHandHandling@,System.String,System.Int32)">
            <summary>
            Tries to eat the contents in the slot, first call
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.tryEatStep(System.Single,Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EntityAgent,Vintagestory.API.Common.ItemStack)">
            <summary>
            Tries to eat the contents in the slot, eat step call
            </summary>
            <param name="secondsUsed"></param>
            <param name="slot"></param>
            <param name="byEntity"></param>
            <param name="spawnParticleStack"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.tryEatStop(System.Single,Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EntityAgent)">
            <summary>
            Finished eating the contents in the slot, final call
            </summary>
            <param name="secondsUsed"></param>
            <param name="slot"></param>
            <param name="byEntity"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnHeldDropped(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.ItemSlot,System.Int32,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            Callback when the player dropped this item from his inventory. You can set handling to PreventDefault to prevent dropping this item.
            You can also check if the entityplayer of this player is dead to check if dropping of this item was due the players death
            </summary>
            <param name="world"></param>
            <param name="byPlayer"></param>
            <param name="slot"></param>
            <param name="quantity">Amount of items the player wants to drop</param>
            <param name="handling"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetHeldItemName(Vintagestory.API.Common.ItemStack)">
            <summary>
            Called by the inventory system when you hover over an item stack. This is the item stack name that is getting displayed.
            </summary>
            <param name="itemStack"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetHeldItemInfo(Vintagestory.API.Common.ItemSlot,System.Text.StringBuilder,Vintagestory.API.Common.IWorldAccessor,System.Boolean)">
            <summary>
            Called by the inventory system when you hover over an item stack. This is the text that is getting displayed.
            </summary>
            <param name="inSlot"></param>
            <param name="dsc"></param>
            <param name="world"></param>
            <param name="withDebugInfo"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetHeldInteractionHelp(Vintagestory.API.Common.ItemSlot)">
            <summary>
            Interaction help thats displayed above the hotbar, when the player puts this item/block in his active hand slot
            </summary>
            <param name="inSlot"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.CanBePlacedInto(Vintagestory.API.Common.ItemStack,Vintagestory.API.Common.ItemSlot)">
            <summary>
            Should return true if the stack can be placed into given slot
            </summary>
            <param name="stack"></param>
            <param name="slot"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetMergableQuantity(Vintagestory.API.Common.ItemStack,Vintagestory.API.Common.ItemStack,Vintagestory.API.Common.EnumMergePriority)">
            <summary>
            Should return the max. number of items that can be placed from sourceStack into the sinkStack
            </summary>
            <param name="sinkStack"></param>
            <param name="sourceStack"></param>
            <param name="priority"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.TryMergeStacks(Vintagestory.API.Common.ItemStackMergeOperation)">
            <summary>
            Is always called on the sink slots item
            </summary>
            <param name="op"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetMeltingDuration(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.ISlotProvider,Vintagestory.API.Common.ItemSlot)">
            <summary>
            If the item is smeltable, this is the time it takes to smelt at smelting point
            </summary>
            <param name="world"></param>
            <param name="cookingSlotsProvider"></param>
            <param name="inputSlot"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetMeltingPoint(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.ISlotProvider,Vintagestory.API.Common.ItemSlot)">
            <summary>
            If the item is smeltable, this is its melting point
            </summary>
            <param name="world"></param>
            <param name="cookingSlotsProvider"></param>
            <param name="inputSlot"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.CanSmelt(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.ISlotProvider,Vintagestory.API.Common.ItemStack,Vintagestory.API.Common.ItemStack)">
            <summary>
            Should return true if this collectible is smeltable in an open fire
            </summary>
            <param name="world"></param>
            <param name="cookingSlotsProvider"></param>
            <param name="inputStack"></param>
            <param name="outputStack"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.DoSmelt(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.ISlotProvider,Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.ItemSlot)">
            <summary>
            Transform the item to it's smelted variant
            </summary>
            <param name="world"></param>
            <param name="cookingSlotsProvider"></param>
            <param name="inputSlot"></param>
            <param name="outputSlot"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.CanSpoil(Vintagestory.API.Common.ItemStack)">
            <summary>
            Returns true if the stack can spoil
            </summary>
            <param name="itemstack"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.UpdateAndGetTransitionState(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EnumTransitionType)">
            <summary>
            Returns the transition state of given transition type
            </summary>
            <param name="world"></param>
            <param name="inslot"></param>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.UpdateAndGetTransitionStates(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.ItemSlot)">
            <summary>
            Returns a list of the current transition states of this item, redirects to UpdateAndGetTransitionStatesNative
            </summary>
            <param name="world"></param>
            <param name="inslot"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.UpdateAndGetTransitionStatesNative(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.ItemSlot)">
            <summary>
            Returns a list of the current transition states of this item. Seperate from UpdateAndGetTransitionStates() so that you can call still call this methods several inheritances down, i.e. there is no base.base.Method() syntax in C#
            </summary>
            <param name="world"></param>
            <param name="inslot"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnTransitionNow(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.TransitionableProperties)">
            <summary>
            Called when any of its TransitionableProperties causes the stack to transition to another stack. Default behavior is to return props.TransitionedStack.ResolvedItemstack and set the stack size according to the transition rtio
            </summary>
            <param name="slot"></param>
            <param name="props"></param>
            <returns>The stack it should transition into</returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.IsReasonablyFresh(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.ItemStack)">
            <summary>
            Test is failed for Perish-able items which have less than 50% of their fresh state remaining (or are already starting to spoil)
            </summary>
            <param name="world"></param>
            <param name="itemstack"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.HasTemperature(Vintagestory.API.Common.IItemStack)">
            <summary>
            Returns true if the stack has a temperature attribute
            </summary>
            <param name="itemstack"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetTemperature(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.ItemStack,System.Double)">
            <summary>
            Returns the stacks item temperature in degree celsius
            </summary>
            <param name="world"></param>
            <param name="itemstack"></param>
            <param name="didReceiveHeat">The amount of time it did receive heat since last update/call to this methode</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetTemperature(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.ItemStack)">
            <summary>
            Returns the stacks item temperature in degree celsius
            </summary>
            <param name="world"></param>
            <param name="itemstack"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.SetTemperature(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.ItemStack,System.Single,System.Boolean)">
            <summary>
            Sets the stacks item temperature in degree celsius
            </summary>
            <param name="world"></param>
            <param name="itemstack"></param>
            <param name="temperature"></param>
            <param name="delayCooldown"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.Equals(Vintagestory.API.Common.ItemStack,Vintagestory.API.Common.ItemStack,System.String[])">
            <summary>
            Should return true if given stacks are equal, ignoring their stack size.
            </summary>
            <param name="thisStack"></param>
            <param name="otherStack"></param>
            <param name="ignoreAttributeSubTrees"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.Satisfies(Vintagestory.API.Common.ItemStack,Vintagestory.API.Common.ItemStack)">
            <summary>
            Should return true if thisStack is a satisfactory replacement of otherStack. It's bascially an Equals() test, but it ignores any additional attributes that exist in otherStack
            </summary>
            <param name="thisStack"></param>
            <param name="otherStack"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnStoreCollectibleMappings(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.ItemSlot,System.Collections.Generic.Dictionary{System.Int32,Vintagestory.API.Common.AssetLocation},System.Collections.Generic.Dictionary{System.Int32,Vintagestory.API.Common.AssetLocation})">
            <summary>
            This method is for example called by chests when they are being exported as part of a block schematic. Has to store all the currents block/item id mappings so it can be correctly imported again. By default it puts itself into the mapping and searches the itemstack attributes for attributes of type ItemStackAttribute and adds those to the mapping as well.
            </summary>
            <param name="world"></param>
            <param name="inSlot"></param>
            <param name="blockIdMapping"></param>
            <param name="itemIdMapping"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnLoadCollectibleMappings(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.ItemSlot,System.Collections.Generic.Dictionary{System.Int32,Vintagestory.API.Common.AssetLocation},System.Collections.Generic.Dictionary{System.Int32,Vintagestory.API.Common.AssetLocation})">
            <summary>
            This method is called after a block/item like this has been imported as part of a block schematic. Has to restore fix the block/item id mappings as they are probably different compared to the world from where they were exported. By default iterates over all the itemstacks attributes and searches for attribute sof type ItenStackAttribute and calls .FixMapping() on them.
            </summary>
            <param name="worldForResolve"></param>
            <param name="inSlot"></param>
            <param name="oldBlockIdMapping"></param>
            <param name="oldItemIdMapping"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnLoadCollectibleMappings(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.ItemSlot,System.Collections.Generic.Dictionary{System.Int32,Vintagestory.API.Common.AssetLocation},System.Collections.Generic.Dictionary{System.Int32,Vintagestory.API.Common.AssetLocation},System.Boolean)">
            <summary>
            This method is called after a block/item like this has been imported as part of a block schematic. Has to restore fix the block/item id mappings as they are probably different compared to the world from where they were exported. By default iterates over all the itemstacks attributes and searches for attribute sof type ItenStackAttribute and calls .FixMapping() on them.
            </summary>
            <param name="worldForResolve"></param>
            <param name="inSlot"></param>
            <param name="oldBlockIdMapping"></param>
            <param name="oldItemIdMapping"></param>
            <param name="resolveImports">Turn it off to spawn structures as they are. For example, in this mode, instead of traders, their meta spawners will spawn</param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetRandomColor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Common.ItemStack)">
            <summary>
            Should return a random pixel within the items/blocks texture
            </summary>
            <param name="capi"></param>
            <param name="stack"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.IsLiquid">
            <summary>
            Returns true if this blocks matterstate is liquid.  (Liquid blocks should also implement IBlockFlowing)
            <br/>
            IMPORTANT: Calling code should have looked up the block using IBlockAccessor.GetBlock(pos, BlockLayersAccess.Fluid)
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetCollectibleBehavior(System.Type,System.Boolean)">
            <summary>
            Returns the blocks behavior of given type, if it has such behavior
            </summary>
            <param name="type"></param>
            <param name="withInheritance"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetCollectibleInterface``1">
            <summary>
            Returns instance of class that implements this interface in the following order<br/>
            1. Collectible (returns itself)<br/>
            2. CollectibleBlockBehavior (returns on of our own behavior)<br/>
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.HasBehavior``1(System.Boolean)">
            <summary>
            Returns true if the block has given behavior
            </summary>
            <typeparam name="T"></typeparam>
            <param name="withInheritance"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.HasBehavior(System.Type,System.Boolean)">
            <summary>
            Returns true if the block has given behavior
            </summary>
            <param name="type"></param>
            <param name="withInheritance"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.HasBehavior(System.String,Vintagestory.API.Common.IClassRegistryAPI)">
            <summary>
            Returns true if the block has given behavior
            </summary>
            <param name="type"></param>
            <param name="classRegistry"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetBehavior(System.Type)">
            <summary>
            Returns the blocks behavior of given type, if it has such behavior
            </summary>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.GetBehavior``1">
            <summary>
            Returns the blocks behavior of given type, if it has such behavior
            </summary>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleObject.OnSmeltAttempt(Vintagestory.API.Common.InventoryBase)">
            <summary>
            Called immediately prior to a firepit or similar testing whether this Collectible can be smelted
            <br/>Returns true if the caller should be marked dirty
            </summary>
            <param name="inventorySmelting"></param>
        </member>
        <member name="T:Vintagestory.API.Common.CollectibleBehavior">
            <summary>
            A behavior object which can be added to any collectible.
            See the derived types for a list of documented collectible behaviors.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleBehavior.collObj">
            <summary>
            The collectible object (item or block) for this behavior instance.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CollectibleBehavior.propertiesAtString">
            <summary>
            The properties of this block behavior.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.CollectibleBehavior.ClientSideOptional">
            <summary>
            If true, this behavior is not required on the client. This is here because copygirl doesn't stop asking for it. Probably breaks things. If it breaks things, complain to copygirl please :p
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleBehavior.Initialize(Vintagestory.API.Datastructures.JsonObject)">
            <summary>
            Called right after the block behavior was created, must call base method
            </summary>
            <param name="properties"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleBehavior.OnLoaded(Vintagestory.API.Common.ICoreAPI)">
            <summary>
            Server Side: Called once the collectible has been registered
            Client Side: Called once the collectible has been loaded from server packet
            </summary>
            <param name="api"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleBehavior.OnHeldAttackStart(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EntityAgent,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.EntitySelection,Vintagestory.API.Common.EnumHandHandling@,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            When the player has begun using this item for attacking (left mouse click). Return true to play a custom action.
            </summary>
            <param name="slot"></param>
            <param name="byEntity"></param>
            <param name="blockSel"></param>
            <param name="entitySel"></param>
            <param name="handHandling"></param>
            <param name="handling"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleBehavior.OnHeldAttackCancel(System.Single,Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EntityAgent,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.EntitySelection,Vintagestory.API.Common.EnumItemUseCancelReason,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            When the player has canceled a custom attack action. Return false to deny action cancellation.
            </summary>
            <param name="secondsPassed"></param>
            <param name="slot"></param>
            <param name="byEntity"></param>
            <param name="blockSelection"></param>
            <param name="entitySel"></param>
            <param name="cancelReason"></param>
            <param name="handling"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleBehavior.OnHeldAttackStep(System.Single,Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EntityAgent,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.EntitySelection,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            Called continously when a custom attack action is playing. Return false to stop the action.
            </summary>
            <param name="secondsPassed"></param>
            <param name="slot"></param>
            <param name="byEntity"></param>
            <param name="blockSelection"></param>
            <param name="entitySel"></param>
            <param name="handling"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleBehavior.OnHeldAttackStop(System.Single,Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EntityAgent,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.EntitySelection,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            Called when a custom attack action is finished
            </summary>
            <param name="secondsPassed"></param>
            <param name="slot"></param>
            <param name="byEntity"></param>
            <param name="blockSelection"></param>
            <param name="entitySel"></param>
            <param name="handling"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleBehavior.OnHeldInteractStart(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EntityAgent,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.EntitySelection,System.Boolean,Vintagestory.API.Common.EnumHandHandling@,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            Called when the player right clicks while holding this block/item in his hands
            </summary>
            <param name="slot"></param>
            <param name="byEntity"></param>
            <param name="blockSel"></param>
            <param name="entitySel"></param>
            <param name="firstEvent"></param>
            <param name="handHandling">Whether or not to do any subsequent actions. If not set or set to NotHandled, the action will not called on the server.</param>
            <param name="handling">Set to PreventDefault to not try eating the item, set to PreventSubsequent to ignore any subsequent calls to OnHeldInteractStart() of other behaviors</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleBehavior.OnHeldInteractStep(System.Single,Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EntityAgent,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.EntitySelection,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            Called every frame while the player is using this collectible
            </summary>
            <param name="secondsUsed"></param>
            <param name="slot"></param>
            <param name="byEntity"></param>
            <param name="blockSel"></param>
            <param name="entitySel"></param>
            <param name="handling"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleBehavior.OnHeldInteractStop(System.Single,Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EntityAgent,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.EntitySelection,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            Called when the player successfully completed the using action, not called when successfully cancelled
            </summary>
            <param name="secondsUsed"></param>
            <param name="slot"></param>
            <param name="byEntity"></param>
            <param name="blockSel"></param>
            <param name="entitySel"></param>
            <param name="handling"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleBehavior.OnHeldInteractCancel(System.Single,Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EntityAgent,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.EntitySelection,Vintagestory.API.Common.EnumItemUseCancelReason,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            When the player released the right mouse button. Return false to deny the cancellation (= will keep using the item until OnHeldInteractStep returns false).
            </summary>
            <param name="secondsUsed"></param>
            <param name="slot"></param>
            <param name="byEntity"></param>
            <param name="blockSel"></param>
            <param name="entitySel"></param>
            <param name="cancelReason"></param>
            <param name="handled"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleBehavior.OnBeforeRender(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Common.ItemStack,Vintagestory.API.Client.EnumItemRenderTarget,Vintagestory.API.Client.ItemRenderInfo@)">
            <summary>
            Called when the collectible is rendered in hands, inventory or on the ground
            </summary>
            <param name="capi"></param>
            <param name="itemstack"></param>
            <param name="target"></param>
            <param name="renderinfo"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleBehavior.GetHeldInteractionHelp(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            Interaction help that is shown when selecting the item in the hotbar slot
            </summary>
            <param name="inSlot"></param>
            <param name="handling"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleBehavior.GetToolModes(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Client.IClientPlayer,Vintagestory.API.Common.BlockSelection)">
            <summary>
            Called when the tool mode (F) key is pressed to generate the GUI
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleBehavior.GetToolMode(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.BlockSelection)">
            <summary>
            Should return the current items tool mode.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleBehavior.SetToolMode(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.BlockSelection,System.Int32)">
            <summary>
            Should set given toolmode
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleBehavior.OnBlockBrokenWith(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.Entities.Entity,Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.BlockSelection,System.Single,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            Player has broken a block while holding this collectible. Return false if you want to cancel the block break event.
            </summary>
            <param name="world"></param>
            <param name="byEntity"></param>
            <param name="itemslot"></param>
            <param name="blockSel"></param>
            <param name="dropQuantityMultiplier"></param>
            <param name="bhHandling"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleBehavior.OnBlockBreaking(Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.ItemSlot,System.Single,System.Single,System.Int32,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            Player is holding this collectible and breaks the targeted block
            </summary>
            <param name="player"></param>
            <param name="blockSel"></param>
            <param name="itemslot"></param>
            <param name="remainingResistance"></param>
            <param name="dt"></param>
            <param name="counter"></param>
            <param name="handled"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleBehavior.GetMiningSpeed(Vintagestory.API.Common.ItemStack,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.Block,Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            Multiplies resulted mining speed of the item by return value if 'bhHandling' is not equal to 'PassThrough'.
            If 'bhHandling' is not set to 'PreventDefault', the mining speed will be multiplied by standard item mining speed.
            </summary>
            <returns>Mining speed multiplier</returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleBehavior.GetMiningSpeeds(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            Sets return value to mining speeds for all materials of the item if 'bhHandling' is not equal to 'PassThrough'.
            </summary>
            <returns>Mining speeds</returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleBehavior.OnGetMaxDurability(Vintagestory.API.Common.ItemStack,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            Adds return value to resulted durability if 'bhHandling' is not equal to 'PassThrough'.
            If 'bhHandling' is not set to 'PreventDefault', standard item durability will be added to result.
            </summary>
            <returns>Additional durability</returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleBehavior.GetMaxDurability(Vintagestory.API.Common.ItemStack,System.Int32,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            Define the max durability of this item
            </summary>
            <param name="itemstack"></param>
            <param name="durability">The standard max durability of this item</param>
            <param name="bhHandling">If not set to PassThrough, the returned value is used</param>
            <returns></returns>
            <exception cref="T:System.NotImplementedException"></exception>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleBehavior.GetRemainingDurability(Vintagestory.API.Common.ItemStack,System.Int32,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            Sets return value to remaining durability if 'bhHandling' is not equal to 'PassThrough'.
            If 'bhHandling' is not set to 'PreventDefault', standard item durability will be added to result.
            </summary>
            <param name="itemstack"></param>
            <param name="remainingDurability">Current remaining durability</param>
            <param name="bhHandling"></param>
            <returns>Remaining durability</returns>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleBehavior.OnDamageItem(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.Entities.Entity,Vintagestory.API.Common.ItemSlot,System.Int32@,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            Called when item is damaged via 'CollectibleObject.DamageItem'
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleBehavior.OnDestroyItem(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.Entities.Entity,Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            Called when item is destroyed via 'CollectibleObject.OnDestroyItem'
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleBehavior.OnSetDurability(Vintagestory.API.Common.ItemStack,System.Int32@,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            Called when item durability is set via 'CollectibleObject.SetDurability'
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.CollectibleBehavior.OnTransitionNow(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.TransitionableProperties,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            Called when any of its TransitionableProperties causes the stack to transition to another stack. Default behavior is to return props.TransitionedStack.ResolvedItemstack and set the stack size according to the transition rtio
            </summary>
            <param name="slot"></param>
            <param name="props"></param>
            <param name="handling"></param>
            <returns>The stack it should transition into</returns>
        </member>
        <member name="T:Vintagestory.API.Common.EnumSmeltType">
            <summary>
            The type of smelting for the collectible. This effects how the object is smelted.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumSmeltType.Smelt">
            <summary>
            Currently has no special behavior.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumSmeltType.Cook">
            <summary>
            Currently has no special behavior.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumSmeltType.Bake">
            <summary>
            This collectible must be baked in a clay oven. Note that you will likely want to use <see cref="T:Vintagestory.API.Common.BakingProperties"/> in the item's attributes.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumSmeltType.Convert">
            <summary>
            Currently has no special behavior.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumSmeltType.Fire">
            <summary>
            This collectible must be fired in a kiln.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.CombustibleProperties">
             <summary>
             Marks an item as combustible, either by cooking, smelting or firing. This can either imply it is used as a fuel, or can be cooked into another object.
             </summary>
             <example>
             Cooking:
             <code language="json">
            "combustiblePropsByType": {
            	"bushmeat-raw": {
            		"meltingPoint": 150,
            		"meltingDuration": 30,
            		"smeltedRatio": 1,
            		"smeltingType": "cook",
            		"smeltedStack": {
            			"type": "item",
            			"code": "bushmeat-cooked"
            		},
            		"requiresContainer": false
            	}
            },
             </code>
             Clay Firing:
             <code language="json">
            "combustiblePropsByType": {
            	"bowl-raw": {
            		"meltingPoint": 650,
            		"meltingDuration": 45,
            		"smeltedRatio": 1,
            		"smeltingType": "fire",
            		"smeltedStack": {
            			"type": "block",
            			"code": "bowl-fired"
            		},
            		"requiresContainer": false
            	}
            },
             </code>
             Fuel Source:
             <code language="json">
            "combustibleProps": {
            	"burnTemperature": 1300,
            	"burnDuration": 40
            },
             </code>
             </example>
        </member>
        <member name="F:Vintagestory.API.Common.CombustibleProperties.BurnTemperature">
            <summary>
            The temperature at which this collectible burns when used as a fuel.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CombustibleProperties.BurnDuration">
            <summary>
            The duration, in real life seconds, that this collectible burns for when used as a fuel. 
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CombustibleProperties.HeatResistance">
            <summary>
            How many degrees celsius it can resists before it ignites
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CombustibleProperties.MeltingPoint">
            <summary>
            How many degrees celsius it takes to smelt/transform this collectible into another. Required if <see cref="F:Vintagestory.API.Common.CombustibleProperties.SmeltedStack"/> is set.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CombustibleProperties.MaxTemperature">
            <summary>
            If there is a melting point, the max temperature it can reach. A value of 0 implies no limit.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CombustibleProperties.MeltingDuration">
            <summary>
            For how many seconds the temperature has to be above the melting point until the item is smelted. Recommended if <see cref="F:Vintagestory.API.Common.CombustibleProperties.SmeltedStack"/> is set.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CombustibleProperties.SmokeLevel">
            <summary>
            How much smoke this item produces when being used as fuel
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CombustibleProperties.SmeltedRatio">
            <summary>
            How many of this collectible are needed to smelt into <see cref="F:Vintagestory.API.Common.CombustibleProperties.SmeltedStack"/>.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CombustibleProperties.SmeltingType">
            <summary>
            Some smelt types have specific functionality, and are also used for correct naming in the tool tip.
            If using <see cref="F:Vintagestory.API.Common.EnumSmeltType.Bake"/>, you will need to include <see cref="T:Vintagestory.API.Common.BakingProperties"/> in your item attributes.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CombustibleProperties.SmeltedStack">
            <summary>
            If set, this is the resulting itemstack once the MeltingPoint has been reached for the supplied duration.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CombustibleProperties.RequiresContainer">
            <summary>
            If true, a container is required to smelt this item. 
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.CombustibleProperties.Clone">
            <summary>
            Creates a deep copy
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.BakingProperties">
             <summary>
             Baking Properties are collectible attribute used for baking items in a clay oven.
             You will need to add these attributes if using <see cref="F:Vintagestory.API.Common.EnumSmeltType.Bake"/> inside <see cref="F:Vintagestory.API.Common.CombustibleProperties.SmeltingType"/>.
             </summary>
             <example>
             Example taken from bread. Note that the levelTo value in the baking stage is the same as the levelFrom in the next baking stage.
             <code language="json">
            "attributesByType": {
            	"*-partbaked": {
            		"bakingProperties": {
            			"temp": 160,
            			"levelFrom": 0.25,
            			"levelTo": 0.5,
            			"startScaleY": 0.95,
            			"endScaleY": 1.10,
            			"resultCode": "bread-{type}-perfect",
            			"initialCode": "dough-{type}"
            		}
            	},
            	"*-perfect": {
            		"bakingProperties": {
            			"temp": 160,
            			"levelFrom": 0.5,
            			"levelTo": 0.75,
            			"startScaleY": 1.10,
            			"endScaleY": 1.13,
            			"resultCode": "bread-{type}-charred",
            			"initialCode": "bread-{type}-partbaked"
            		}
            	},
            	"*-charred": {
            		"bakingProperties": {
            			"temp": 160,
            			"levelFrom": 0.75,
            			"levelTo": 1,
            			"startScaleY": 1.13,
            			"endScaleY": 1.10,
            			"initialCode": "bread-{type}-perfect"
            		}
            	}
            },
             </code>
             </example>
        </member>
        <member name="F:Vintagestory.API.Common.BakingProperties.Temp">
            <summary>
            The temperature required to bake the item.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BakingProperties.LevelFrom">
            <summary>
            The initial value, from 0 to 1, that determines how cooked the item is.
            When cooking an object with numerous cooking stages, these stages can be stacked using these values. Simply set the second stage's <see cref="F:Vintagestory.API.Common.BakingProperties.LevelFrom"/> to the first stages <see cref="F:Vintagestory.API.Common.BakingProperties.LevelTo"/>.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BakingProperties.LevelTo">
            <summary>
            The final value, from 0 to 1, that determines how cooked the item is.
            When the cooking value reaches this value, the collectible will change into the next item.
            When cooking an object with numerous cooking stages, these stages can be stacked using these values. Simply set the second stage's <see cref="F:Vintagestory.API.Common.BakingProperties.LevelFrom"/> to the first stages <see cref="F:Vintagestory.API.Common.BakingProperties.LevelTo"/>.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BakingProperties.StartScaleY">
            <summary>
            The Y scale of this collectible when it begins cooking. Value will be linearly interpolated between this and <see cref="F:Vintagestory.API.Common.BakingProperties.EndScaleY"/>.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BakingProperties.EndScaleY">
            <summary>
            The Y scale of this collectible when it has finished cooking. Value will be linearly interpolated between <see cref="F:Vintagestory.API.Common.BakingProperties.StartScaleY"/> and this.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BakingProperties.ResultCode">
            <summary>
            The code of the resulting collectible when this item finishes its cooking stage.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BakingProperties.InitialCode">
            <summary>
            The code of the initial collectible that is being baked.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BakingProperties.LargeItem">
            <summary>
            If true, only one instance of this collectible can be baked at a time. If false, 4 of this collectible can be baked at a time.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.CreativeTabAndStackList">
             <summary>
             Allows you to add a list of item stacks to put various into creative menu tabs.
             </summary>
             <example>
             <code language="json">
             <!--Sorry for the long example.-->
            "creativeinventoryStacksByType": {
            	"*-fired": [
            		{
            			"tabs": [ "general", "decorative" ],
            			"stacks": [
            				{
            					"type": "block",
            					"code": "bowl-fired",
            					"attributes": {
            						"ucontents": [
            							{
            								"type": "item",
            								"code": "waterportion",
            								"makefull": true
            							}
            						]
            					}
            				},
            				{
            					"type": "block",
            					"code": "bowl-fired",
            					"attributes": {
            						"ucontents": [
            							{
            								"type": "item",
            								"code": "honeyportion",
            								"makefull": true
            							}
            						]
            					}
            				},
            				{
            					"type": "block",
            					"code": "bowl-fired"
            				},
            				{
            					"type": "block",
            					"code": "bowl-raw"
            				}
            			]
            		}
            	]
            },
             </code>
             </example>
        </member>
        <member name="F:Vintagestory.API.Common.CreativeTabAndStackList.Tabs">
            <summary>
            A list of creative tabs to put items into. Note that all itemstacks in <see cref="F:Vintagestory.API.Common.CreativeTabAndStackList.Stacks"/> will be placed in all tabs.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CreativeTabAndStackList.Stacks">
            <summary>
            A list of item stacks to put in tabs. Note that every itemstack here will be placed in every <see cref="F:Vintagestory.API.Common.CreativeTabAndStackList.Tabs"/> entry.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.CreativeTabAndStackList.FromBytes(System.IO.BinaryReader,Vintagestory.API.Common.IClassRegistryAPI)">
            <summary>
            Reads the blocks and items from the Json files and converts them to an array of tabs which contain those blocks and items.
            </summary>
            <param name="reader">The reader to read the json.</param>
            <param name="registry">The registry of blocks and items.</param>
        </member>
        <member name="M:Vintagestory.API.Common.CreativeTabAndStackList.ToBytes(System.IO.BinaryWriter,Vintagestory.API.Common.IClassRegistryAPI)">
            <summary>
            Writes all the data to the BinaryWriter.
            </summary>
            <param name="writer">The writer to write the save data</param>
            <param name="registry">The registry of blocks and items.</param>
        </member>
        <member name="T:Vintagestory.API.Common.CrushingProperties">
             <summary>
             Defines a set of properties that allow an object to be ground in a quern.
             </summary>
             <example>
             <code language="json">
            "crushingPropsByType": {
            	"ore-poor-ilmenite-*": {
            		"crushedStack": {
            			"type": "item",
            			"code": "crushed-ilmenite"
            		},
            		"quantity": { "avg": 1 },
            		"hardnessTier": 4
            	},
            	"ore-poor-cassiterite-*": {
            		"crushedStack": {
            			"type": "item",
            			"code": "crushed-cassiterite"
            		},
            		"quantity": { "avg": ".33" },
            		"hardnessTier": 1
            	},
            },
             </code>
             </example>
        </member>
        <member name="F:Vintagestory.API.Common.CrushingProperties.CrushedStack">
            <summary>
            If set, the block/item is crusable in a pulverizer and this is the resulting itemstack once the crushing time is over.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CrushingProperties.HardnessTier">
            <summary>
            The hardness tier for this collectible. Affects what pounder cap must be used for pulverization.
            - 0 = stone
            - 1 = copper
            - 2 = bronze
            - 3 = iron
            - 4 = steel
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CrushingProperties.Quantity">
            <summary>
            The random quantity of item to return. Note that this value is multiplied by <see cref="F:Vintagestory.API.Common.CrushingProperties.CrushedStack"/>'s quantity.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.CrushingProperties.Clone">
            <summary>
            Makes a deep copy of the properties.
            </summary>
            <returns></returns>
        </member>
        <member name="F:Vintagestory.API.Common.DecorFlags.IsDecor">
            <summary>Set to 1 for all decor blocks, or else they will not be rendered. (This intentionally prevents unloaded / unknown decor blocks from rendering)</summary>
        </member>
        <member name="F:Vintagestory.API.Common.DecorFlags.DrawIfCulled">
            <summary>If true, do not cull even if parent face was culled (used e.g. for medium carpet, which stick out beyond the parent face)</summary>
        </member>
        <member name="F:Vintagestory.API.Common.DecorFlags.AlternateZOffset">
            <summary>If true, alternates z-offset vertexflag by 1 in odd/even XZ positions to reduce z-fighting (used e.g. for medium carpets overlaying neighbours)</summary>
        </member>
        <member name="F:Vintagestory.API.Common.DecorFlags.NotFullFace">
            <summary>IF true, this decor is NOT (at least) a full opaque face so that the parent block face still needs to be drawn</summary>
        </member>
        <member name="F:Vintagestory.API.Common.DecorFlags.Removable">
            <summary>If true, this decor is removable using the players hands, without breaking the parent block</summary>
        </member>
        <member name="F:Vintagestory.API.Common.DecorFlags.HasSidedVariants">
            <summary>If true, this decor supplies its own different models for NSEWUD placement, if false the code will auto-rotate the model</summary>
        </member>
        <member name="F:Vintagestory.API.Common.DecorFlags.CanAddToAnything">
            <summary>If true, this decor can be applied to all types of blocks (i.e. JSON models) not only solid block sides</summary>
        </member>
        <member name="F:Vintagestory.API.Common.DecorSelectionBox.PosAdjust">
            <summary>
            The offset to the BlockPos, to find the block which produced this selection box.  Normally null.  Used by Decor system
            (Could be developed in future for other blocks with selection boxes outside their own 1x1x1 block space e.g. opened gate?)
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.EnumItemClass">
            <summary>
            The type of collectible in an itemstack.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumItemClass.Block">
            <summary>
            This itemstack holds a block.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumItemClass.Item">
            <summary>
            This itemstack holds an item.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.EnumRandomizeAxes">
            <summary>
            When picking a random seed for this block, what axes should we base it on?
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumRandomizeAxes.XYZ">
            <summary>
            Create a random value based on all three axes. 
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumRandomizeAxes.XZ">
            <summary>
            Create a random value based only on the X and Z axes. Allows blocks placed on top of each other to all have the same random properties (e.g. size, rotation, offset).
            Commonly used for multiblock plants.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.EnumTool">
            <summary>
            Types for each tool in the game. Some of these are unused. 
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.GrindingProperties">
             <summary>
             Defines a set of properties that allow an object to be ground in a quern.
             </summary>
             <example>
             <code language="json">
            "grindingProps": {
            	"groundStack": {
            		"type": "item",
            		"code": "bonemeal"
            	}
            },
             </code>
             </example>
        </member>
        <member name="F:Vintagestory.API.Common.GrindingProperties.GroundStack">
            <summary>
            If set, the collectible is grindable in a quern and this is the resulting itemstack once the grinding time is over.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.GrindingProperties.GrindedStack">
            <summary>
            Obsolete. Please use <see cref="F:Vintagestory.API.Common.GrindingProperties.GroundStack"/> instead.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.GrindingProperties.Clone">
            <summary>
            Makes a deep copy of the properties.
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.HeldSounds">
             <summary>
             Defines a set of sounds for a collectible object.
             </summary>
             <example>
             <code language="json">
            "heldSoundsbyType": {
            	"*-lit-*": {
            		"idle": "held/torch-idle",
            		"equip": "held/torch-equip",
            		"unequip": "held/torch-unequip",
            		"attack": "held/torch-attack"
            	}
            },
             </code>
             </example>
        </member>
        <member name="F:Vintagestory.API.Common.HeldSounds.Idle">
            <summary>
            The path to a sound played when this item is being held.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.HeldSounds.Equip">
            <summary>
            The path to a sound played when this item is equipped.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.HeldSounds.Unequip">
            <summary>
            The path to a sound played when this item is unequipped.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.HeldSounds.Attack">
            <summary>
            The path to a sound played when this item is used to attack.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.HeldSounds.InvPickup">
            <summary>
            The path to a sound played when this item is picked up in the inventory using the mouse.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.HeldSounds.InvPlace">
            <summary>
            The path to a sound played when this item is placed in the inventory using the mouse.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.HeldSounds.Clone">
            <summary>
            Clones the held sounds.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IBlockEntityContainer.Inventory">
            <summary>
            The inventory attached to this block entity container
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IBlockEntityContainer.InventoryClassName">
            <summary>
            The class name for the inventory.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockEntityContainer.DropContents(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Called by EntityBlockFalling if required
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IBlockEntityContainer.CheckInventoryClearedMidTick">
            <summary>
            Called if block entity ticking might have caused the container inventory to be emptied - for example, if fruit rots and (randomly) becomes a null itemstack instead of rot
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.ICollectibleDisplayable">
            <summary>
            A collectible object that can be placed on the ground or on shelves or in display cases, but require custom code or rendering for it
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ICollectibleDisplayable.GetMeshDataForDisplay(Vintagestory.API.Common.ItemSlot,System.String)">
            <summary>
            Return a custom mesh to be used for the collectible. Return null to use default item/block mesh. It is recommended to cache the returned mesh in the ObjectCache for efficieny.
            </summary>
            <param name="inSlot"></param>
            <param name="displayType">e.g. "shelf" or "ground" or "displaycase"</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ICollectibleDisplayable.NowOnDisplay(Vintagestory.API.Common.BlockEntity,Vintagestory.API.Common.ItemSlot)">
            <summary>
            This collectible was placed in-world and the chunk is about to get re-tesselated.
            </summary>
            <param name="byBlockEntity"></param>
            <param name="inSlot"></param>
        </member>
        <member name="T:Vintagestory.API.Common.ICollectibleOnDisplayInteractable">
            <summary>
            A collectible object that can be placed on the ground or on shelves or in display cases, but also can still accept interactions from the player
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.IItemStack">
            <summary>
            Represents a stack of items or blocks
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IItemStack.Collectible">
            <summary>
            The base class the Item/Block inherits from
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IItemStack.Class">
            <summary>
            Is it a Block or Item?
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IItemStack.Item">
            <summary>
            The Item if ItemClass==Item, otherwise null
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IItemStack.Block">
            <summary>
            The Block if ItemClass==Block, otherwise null
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IItemStack.StackSize">
            <summary>
            Amount of items or blocks in this stack
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IItemStack.Id">
            <summary>
            The items or blocks unique id
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IItemStack.Attributes">
            <summary>
            Attributes assigned to this itemstack. Modifiable.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IItemStack.Equals(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.ItemStack,System.String[])">
            <summary>
            Checks if this item stack is of the same class, id and has the same stack attributes. Ignores stack size
            </summary>
            <param name="worldForResolve"></param>
            <param name="sourceStack"></param>
            <param name="ignoreAttributeSubTrees"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IItemStack.ToBytes(System.IO.BinaryWriter)">
            <summary>
            Serializes this itemstack into a byte stream
            </summary>
            <param name="stream"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IItemStack.FromBytes(System.IO.BinaryReader)">
            <summary>
            Deserializes an itemstack from given byte stream
            </summary>
            <param name="stream"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IItemStack.MatchesSearchText(Vintagestory.API.Common.IWorldAccessor,System.String)">
            <summary>
            Checks if the contained item or block name contains given searchtext
            </summary>
            <param name="world"></param>
            <param name="searchText"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IItemStack.GetName">
            <summary>
            Returns the name displayed in the players inventory
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IItemStack.GetDescription(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.ItemSlot,System.Boolean)">
            <summary>
            Returns a multiline description text of the item
            </summary>
            <param name="world"></param>
            <param name="inSlot"></param>
            <param name="debug">Whether to show additional debug info</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IItemStack.Clone">
            <summary>
            Creates a deep copy of the itemstack
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.IResolvableCollectible">
            <summary>
            
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ItemStack.Class">
            <summary>
            Wether its a block Block or Item
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ItemStack.Id">
            <summary>
            The id of the block or item
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ItemStack.Collectible">
            <summary>
            The item/block base class this stack is holding
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ItemStack.Item">
            <summary>
            If this is a stack of items, this is the type of items it's holding, otherwise null
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ItemStack.Block">
            <summary>
            If this is a stack of blocks, this is the type of block it's holding, otherwise null
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ItemStack.StackSize">
            <summary>
            The amount of items/blocks in this stack
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ItemStack.Vintagestory#API#Common#IItemStack#Id">
            <summary>
            The id of the block or item
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ItemStack.Attributes">
            <summary>
            Attributes assigned to this particular itemstack which are saved and synchronized.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ItemStack.TempAttributes">
            <summary>
            Temporary Attributes assigned to this particular itemstack, not synchronized, not saved! Modifiable.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ItemStack.ItemAttributes">
            <summary>
            The Attributes assigned to the underlying block/item. Should not be modified, as it applies to globally.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ItemStack.Vintagestory#API#Common#IItemStack#Class">
            <summary>
            Is it a Block or an Item?
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ItemStack.#ctor">
            <summary>
            Create a new empty itemstack
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ItemStack.#ctor(System.Int32,Vintagestory.API.Common.EnumItemClass,System.Int32,Vintagestory.API.Datastructures.TreeAttribute,Vintagestory.API.Common.IWorldAccessor)">
            <summary>
            Create a new itemstack with given collectible id, itemclass, stacksize, attributes and a resolver to turn the collectibe + itemclass into an Item/Block
            </summary>
            <param name="id"></param>
            <param name="itemClass"></param>
            <param name="stacksize"></param>
            <param name="stackAttributes"></param>
            <param name="resolver"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ItemStack.#ctor(System.IO.BinaryReader)">
            <summary>
            Create a new itemstack from a byte serialized stream (without resolving the block/item)
            </summary>
            <param name="reader"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ItemStack.#ctor(System.Byte[])">
            <summary>
            Create a new itemstack from a byte serialized array(without resolving the block/item)
            </summary>
            <param name="data"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ItemStack.#ctor(System.IO.BinaryReader,Vintagestory.API.Common.IWorldAccessor)">
            <summary>
            Create a new itemstack from a byte serialized stream (with resolving the block/item)
            </summary>
            <param name="reader"></param>
            <param name="resolver"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ItemStack.#ctor(Vintagestory.API.Common.CollectibleObject,System.Int32)">
            <summary>
            Create a new itemstack from given block/item and given stack size
            </summary>
            <param name="collectible"></param>
            <param name="stacksize"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ItemStack.#ctor(Vintagestory.API.Common.Item,System.Int32)">
            <summary>
            Create a new itemstack from given item and given stack size
            </summary>
            <param name="item"></param>
            <param name="stacksize"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ItemStack.#ctor(Vintagestory.API.Common.Block,System.Int32)">
            <summary>
            Create a new itemstack from given block and given stack size
            </summary>
            <param name="block"></param>
            <param name="stacksize"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ItemStack.Equals(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.ItemStack,System.String[])">
            <summary>
            Returns true if both stacks exactly match
            </summary>
            <param name="worldForResolve"></param>
            <param name="sourceStack"></param>
            <param name="ignoreAttributeSubTrees"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ItemStack.Satisfies(Vintagestory.API.Common.ItemStack)">
            <summary>
            Returns true if this item stack is a satisfactory replacement for given itemstack. It's basically an Equals() test, but ignores additional attributes of the sourceStack
            </summary>
            <param name="sourceStack"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ItemStack.SetFrom(Vintagestory.API.Common.ItemStack)">
            <summary>
            Replace all the properties (id, class, attributes, stacksize, etc...) from this item stack by given stack
            </summary>
            <param name="stack"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ItemStack.ToString">
            <summary>
            Turn the itemstack into a simple string representation
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ItemStack.ToBytes">
            <summary>
            Serializes the itemstack into a series of bytes, including its stack attributes
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ItemStack.ToBytes(System.IO.BinaryWriter)">
            <summary>
            Serializes the itemstack into a series of bytes, including its stack attributes
            </summary>
            <param name="stream"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ItemStack.FromBytes(System.IO.BinaryReader)">
            <summary>
            Reads all the itemstacks properties from a series of bytes, including its stack attributes
            </summary>
            <param name="stream"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ItemStack.ResolveBlockOrItem(Vintagestory.API.Common.IWorldAccessor)">
            <summary>
            Sets the item/block based on the currently set itemclass + id
            </summary>
            <param name="resolver"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ItemStack.MatchesSearchText(Vintagestory.API.Common.IWorldAccessor,System.String)">
            <summary>
            Returns true if searchText is found in the item/block name as supplied from GetName()
            </summary>
            <param name="world"></param>
            <param name="searchText"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ItemStack.GetName">
            <summary>
            Returns a human readable name of the item/block
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ItemStack.GetDescription(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.ItemSlot,System.Boolean)">
            <summary>
            Returns a human readable description of the item/block
            </summary>
            <param name="world"></param>
            <param name="inSlot"></param>
            <param name="debug"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ItemStack.Clone">
            <summary>
            Creates a full copy of the item stack
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ItemStack.GetEmptyClone">
            <summary>
            Creates a full copy of the item stack, except for its stack size.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ItemStack.FixMapping(System.Collections.Generic.Dictionary{System.Int32,Vintagestory.API.Common.AssetLocation},System.Collections.Generic.Dictionary{System.Int32,Vintagestory.API.Common.AssetLocation},Vintagestory.API.Common.IWorldAccessor)">
            <summary>
            This method should always be called when an itemstack got loaded from the savegame or when it got imported.
            When this method return false, you should discard the itemstack because it could not get resolved and a warning will be logged.
            </summary>
            <param name="oldBlockMapping"></param>
            <param name="oldItemMapping"></param>
            <param name="worldForNewMapping"></param>
        </member>
        <member name="T:Vintagestory.API.Common.EnumItemDamageSource">
            <summary>
            Types for how an item can damage it's durability.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumItemDamageSource.BlockBreaking">
            <summary>
            The item was breaking a block.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumItemDamageSource.Attacking">
            <summary>
            The item was attacking a creature.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumItemDamageSource.Fire">
            <summary>
            Unused. The item was thrown into a fire.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.EnumItemStorageFlags">
            <summary>
            Determines the kinds of storage types the item can be put into
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumItemStorageFlags.General">
            <summary>
            Of no particular type
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumItemStorageFlags.Backpack">
            <summary>
            The item can be placed into a backpack slot
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumItemStorageFlags.Metallurgy">
            <summary>
            The item can be placed in a slot related to mining or smithing
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumItemStorageFlags.Jewellery">
            <summary>
            The item can be placed in a slot related to jewelcrafting
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumItemStorageFlags.Alchemy">
            <summary>
            The item can be placed in a slot related to alchemy
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumItemStorageFlags.Agriculture">
            <summary>
            The item can be placed in a slot related to farming
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumItemStorageFlags.Currency">
            <summary>
            Moneys
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumItemStorageFlags.Outfit">
            <summary>
            Clothes, Armor and Accessories
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumItemStorageFlags.Offhand">
            <summary>
            Off hand slot
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumItemStorageFlags.Arrow">
            <summary>
            Arrows
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumItemStorageFlags.Skill">
            <summary>
            Skill slot
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumItemStorageFlags.Custom1">
            <summary>
            Custom storage flag for mods
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumItemStorageFlags.Custom2">
            <summary>
            Custom storage flag for mods
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumItemStorageFlags.Custom3">
            <summary>
            Custom storage flag for mods
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumItemStorageFlags.Custom4">
            <summary>
            Custom storage flag for mods
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumItemStorageFlags.Custom5">
            <summary>
            Custom storage flag for mods
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumItemStorageFlags.Custom6">
            <summary>
            Custom storage flag for mods
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumItemStorageFlags.Custom7">
            <summary>
            Custom storage flag for mods
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumItemStorageFlags.Custom8">
            <summary>
            Custom storage flag for mods
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumItemStorageFlags.Custom9">
            <summary>
            Custom storage flag for mods
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumItemStorageFlags.Custom10">
            <summary>
            Custom storage flag for mods
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.Item">
            <summary>
            Represents an in game Item of Vintage Story
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Item.Id">
            <summary>
            The unique number of the item, dynamically assigned by the game
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Item.ItemClass">
            <summary>
            The type of the collectible object
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Item.ItemId">
            <summary>
            The unique number of the item, dynamically assigned by the game
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Item.Shape">
            <summary>
            The item's shape. Null for automatic shape based on the texture.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Item.Textures">
            <summary>
            Default textures to be used for this item. The Dictionary keys are the texture short names, as referenced in this item's shape ShapeElementFaces
            <br/>(may be null on clients, prior to receipt of server assets)
            <br/>Note: from game version 1.20.4, this is <b>null on server-side</b> (except during asset loading start-up stage)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Item.FirstTexture">
            <summary>
            Returns the first texture in Textures
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Item.#ctor">
            <summary>
            Instantiate a new item with null model transforms; ItemTypeNet will add default transforms client-side if they are null in the ItemType packet; transforms should not be needed on a server
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Item.#ctor(System.Int32)">
            <summary>
            Instantiates a new item with given item id and stacksize = 1
            </summary>
            <param name="itemId"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Item.GetRandomColor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Common.ItemStack)">
            <summary>
            Should return a random pixel within the items/blocks texture
            </summary>
            <param name="capi"></param>
            <param name="stack"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Item.Clone">
            <summary>
            Creates a deep copy of the item
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.JsonItemStack">
            <summary>
            This is a representation of an item stack in JSON.
            It resembles a standard in-game item stack but can be stored before the game is loaded.
            </summary>
            <example>
            <code language="json">
            "output": {
            	"type": "item",
            	"code": "knifeblade-flint",
            	"stacksize": 1
            },
            </code>
            <code language="json">
            "output": {
            	"type": "block",
            	"code": "ladder-wood-north",
            	"quantity": 3
            },
            </code>
            </example>
        </member>
        <member name="F:Vintagestory.API.Common.JsonItemStack.Type">
            <summary>
            Block or Item?
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.JsonItemStack.Code">
            <summary>
            The asset location code of the block or item.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.JsonItemStack.StackSize">
            <summary>
            Amount of items in this stacks
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.JsonItemStack.Quantity">
            <summary>
            Alias of <see cref="F:Vintagestory.API.Common.JsonItemStack.StackSize"/>. No real need to use this instead of it.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.JsonItemStack.Attributes">
            <summary>
            Tree Attributes that should be attached to the resulting itemstack.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.JsonItemStack.ResolvedItemstack">
            <summary>
            The resolved item after conversion.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.JsonItemStack.ResolvedItemStack">
            <summary>
            Was added for interface.<br/>
            Field 'ResolvedItemstack' is left for compatibility reasons
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.JsonItemStack.Resolve(Vintagestory.API.Common.IWorldAccessor,System.String,Vintagestory.API.Common.AssetLocation,System.Boolean)">
            <summary>
            Sets itemstack.block or itemstack.item
            </summary>
            <param name="resolver"></param>
            <param name="sourceForErrorLogging"></param>
            <param name="assetLoc"></param>
            <param name="printWarningOnError"></param>
        </member>
        <member name="M:Vintagestory.API.Common.JsonItemStack.Clone">
            <summary>
            Creates a deep copy of this object
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.JsonItemStack.FromBytes(System.IO.BinaryReader,Vintagestory.API.Common.IClassRegistryAPI)">
            <summary>
            Loads the ItemStack from the reader.
            </summary>
            <param name="reader">The reader to get the ItemStack from</param>
            <param name="instancer">The instancer for the ItemStack.</param>
        </member>
        <member name="M:Vintagestory.API.Common.JsonItemStack.FromBytes(System.IO.BinaryReader,Vintagestory.API.Common.IWorldAccessor)">
            <summary>
            Loads the ItemStack from the reader.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.JsonItemStack.ToBytes(System.IO.BinaryWriter)">
            <summary>
            Saves the ItemStack to file.
            </summary>
            <param name="writer">The writer to save the item to.</param>
        </member>
        <member name="T:Vintagestory.API.Common.ModelTransformNoDefaults">
             <summary>
             Controls the transformations of 3D shapes. Note that defaults change depending on where this class is used.
             </summary>
             <example>
             Use '.tfedit' in game to help customize these values, just make sure to copy them into your json file when you finish.
             <code language="json">
            "tpHandTransform": {
            	"translation": {
            		"x": -0.87,
            		"y": -0.01,
            		"z": -0.56
            	},
            	"rotation": {
            		"x": -90,
            		"y": 0,
            		"z": 0
            	},
            	"origin": {
            		"x": 0.5,
            		"y": 0,
            		"z": 0.5
            	},
            	"scale": 0.8
            },
             </code>
             </example>
        </member>
        <member name="F:Vintagestory.API.Common.ModelTransformNoDefaults.Translation">
            <summary>
            Offsetting
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ModelTransformNoDefaults.Rotation">
            <summary>
            Rotation in degrees
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ModelTransformNoDefaults.Scale">
            <summary>
            Sets the same scale of an object for all axes.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ModelTransformNoDefaults.Origin">
            <summary>
            Rotation/Scaling Origin
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ModelTransformNoDefaults.Rotate">
            <summary>
            For Gui Transform: Whether to slowly spin in gui item preview 
            For Ground Transform: Whether to apply a random rotation to the dropped item
            No effect on other transforms
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ModelTransformNoDefaults.ScaleXYZ">
            <summary>
            Scaling per axis
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ModelTransformNoDefaults.AsMatrix">
            <summary>
            Converts the transform into a matrix.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ModelTransformNoDefaults.Clear">
            <summary>
            Clears the transformation values.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.ModelTransform">
             <summary>
             Used for transformations applied to a block or item model. Uses values from <see cref="T:Vintagestory.API.Common.ModelTransformNoDefaults"/> but will assign defaults if not included.
             </summary>
             <example>
             Use '.tfedit' in game to help customize these values, just make sure to copy them into your json file when you finish.
             <code language="json">
            "tpHandTransform": {
            	"translation": {
            		"x": -0.87,
            		"y": -0.01,
            		"z": -0.56
            	},
            	"rotation": {
            		"x": -90,
            		"y": 0,
            		"z": 0
            	},
            	"origin": {
            		"x": 0.5,
            		"y": 0,
            		"z": 0.5
            	},
            	"scale": 0.8
            },
             </code>
             </example>
        </member>
        <member name="P:Vintagestory.API.Common.ModelTransform.NoTransform">
            <summary>
            Gets a new model with all values set to default.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ModelTransform.BlockDefaultGui">
            <summary>
            Scale = 1, No Translation, Rotation by -45 deg in Y-Axis
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ModelTransform.BlockDefaultFp">
            <summary>
            Scale = 1, No Translation, Rotation by -45 deg in Y-Axis
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ModelTransform.BlockDefaultTp">
            <summary>
            Scale = 1, No Translation, Rotation by -45 deg in Y-Axis
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ModelTransform.BlockDefaultGround">
            <summary>
            Scale = 1, No Translation, Rotation by -45 deg in Y-Axis, 1.5x scale
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ModelTransform.ItemDefaultGui">
            <summary>
            Scale = 1, No Translation, No Rotation
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ModelTransform.ItemDefaultFp">
            <summary>
            Scale = 1, No Translation, Rotation by 180 deg in X-Axis
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ModelTransform.ItemDefaultTp">
            <summary>
            Scale = 1, No Translation, Rotation by 180 deg in X-Axis
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ModelTransform.ItemDefaultGround">
            <summary>
            Creates a default transform for a model that is now on the ground
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ModelTransform.EnsureDefaultValues">
            <summary>
            Makes sure that Translation and Rotation is not null
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ModelTransform.Clone">
            <summary>
            Clones this specific transform.
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.ModelTransformKeyFrame">
            <summary>
            A keyframe for model transformation.  
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ModelTransformKeyFrame.FrameNumber">
            <summary>
            The frame number for the keyframe
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ModelTransformKeyFrame.Transform">
            <summary>
            The new transform set for the keyframe.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.EnumFoodCategory">
            <summary>
            Types of nutrition for foods.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.FoodNutritionProperties">
             <summary>
             Allows you to make collectibles edible, and adds data about their nutrition.
             </summary>
             <example>
             <code language="json">
            "nutritionPropsByType": {
            	"*-flyagaric-*": {
            		"satiety": 80,
            		"health": -6.5,
            		"foodcategory": "Vegetable"
            	},
            	"*-earthball-*": {
            		"satiety": 80,
            		"health": -8,
            		"foodcategory": "Vegetable"
            	},
             ...
             </code>
             </example>
        </member>
        <member name="F:Vintagestory.API.Common.FoodNutritionProperties.FoodCategory">
            <summary>
            The category of the food.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.FoodNutritionProperties.Satiety">
            <summary>
            The saturation restored by the food.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.FoodNutritionProperties.Saturation">
            <summary>
            Obsolete - Please use <see cref="F:Vintagestory.API.Common.FoodNutritionProperties.Satiety"/> instead.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.FoodNutritionProperties.Intoxication">
            <summary>
            How much eating this will affect the player's intoxication. (0..1)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.FoodNutritionProperties.Psychedelic">
            <summary>
            How much eating this will affect the player's psychedelic perception. (0..1)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.FoodNutritionProperties.SaturationLossDelay">
            <summary>
            The delay before that extra saturation starts to go away.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.FoodNutritionProperties.Health">
            <summary>
            The health restored by the food. Usually actually used to hurt the player with negative values.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.FoodNutritionProperties.EatenStack">
            <summary>
            When an instance of this collectible is eaten, what item stack should be returned to the player?
            Possible example: Eating a 'meat on a stick' item would return a single stick.
            (Note: Bowl meals/liquids are specially designed to do this through their attributes and class.)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.FoodNutritionProperties.Clone">
            <summary>
            Duplicates the nutrition properties, which includes cloning the stack that was eaten.
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.EnumTransitionType">
            <summary>
            Types of transition for items.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumTransitionType.Perish">
            <summary>
            For food, animals or non-organic materials.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumTransitionType.Dry">
            <summary>
            Can be dried.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumTransitionType.Burn">
            <summary>
            Can be burned.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumTransitionType.Cure">
            <summary>
            Can be cured, for meat.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumTransitionType.Convert">
            <summary>
            Generic 'other' conversion.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumTransitionType.Ripen">
            <summary>
            Cheese ripening.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumTransitionType.Melt">
            <summary>
            Snow/ice melting.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumTransitionType.Harden">
            <summary>
            Glue hardening.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumTransitionType.None">
            <summary>
            Used for cooking recipes where the output has no perishableprops, but we still need a non-null TransitionableProperties  (e.g. sulfuric acid in 1.20)
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.TransitionableProperties">
             <summary>
             This is a versatile way of allowing a collectible to change to another after a certain time in the inventory.
             </summary>
             <example>
             <code language="json">
            "transitionablePropsByType": {
            	"*-long-raw": [
            		{
            			"type": "Dry",
            			"freshHours": { "avg": 0 },
            			"transitionHours": { "avg": 168 },
            			"transitionedStack": {
            				"type": "item",
            				"code": "bowstave-long-dry"
            			},
            			"transitionRatio": 1
            		}
            	]
            },
             </code>
             <code language="json">
            "transitionableProps": [
            	{
            		"type": "Perish",
            		"freshHours": { "avg": 120 },
            		"transitionHours": { "avg": 24 },
            		"transitionedStack": {
            			"type": "item",
            			"code": "rot"
            		},
            		"transitionRatio": 0.5
            	}
            ],
             </code>
             </example>
        </member>
        <member name="F:Vintagestory.API.Common.TransitionableProperties.Type">
            <summary>
            What kind of transition can it make?
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.TransitionableProperties.FreshHours">
            <summary>
            The amount of hours before this item starts the transitioning process.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.TransitionableProperties.TransitionHours">
            <summary>
            The amount of hours it takes for the item to transition, after <see cref="F:Vintagestory.API.Common.TransitionableProperties.FreshHours"/> has elapsed.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.TransitionableProperties.TransitionedStack">
            <summary>
            The itemstack the collectible turns into upon transitioning.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.TransitionableProperties.TransitionRatio">
            <summary>
            Conversion ratio of fresh stacksize to transitioned stack size
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.TransitionableProperties.Clone">
            <summary>
            Duplicates the properties, which includes cloning the stack that was eaten.
            </summary>
            <returns></returns>
        </member>
        <member name="F:Vintagestory.API.Common.DamageSource.Source">
            <summary>
            The type of source the damage came from.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.DamageSource.Type">
            <summary>
            The type of damage that was taken.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.DamageSource.HitPosition">
            <summary>
            The relative hit position of where the damage occured.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.DamageSource.SourceEntity">
            <summary>
            The source entity the damage came from, if any
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.DamageSource.CauseEntity">
            <summary>
            The entity that caused this damage, e.g. the entity that threw the SourceEntity projectile, if any
            <br/>NOTE: will be null for non-projectile damage e.g. melee attacks: to get the attacking entity properly for both melee and projectile damage, use GetCauseEntity()
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.DamageSource.SourceBlock">
            <summary>
            The source block the damage came from, if any
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.DamageSource.SourcePos">
            <summary>
            the location of the damage source.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.DamageSource.DamageTier">
            <summary>
            Tier of the weapon used to damage the entity, if any
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.DamageSource.KnockbackStrength">
            <summary>
            The amount of knockback this damage will incur
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.DamageSource.Duration">
            <summary>
            If is greater than zero, damage will be turned into damage over time and will be fully applied over this time.<br/>
            If <see cref="F:Vintagestory.API.Common.DamageSource.TicksPerDuration"/> is set to 1, it will mean that damage will just be delayed by <see cref="F:Vintagestory.API.Common.DamageSource.Duration"/>.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.DamageSource.TicksPerDuration">
            <summary>
            If <see cref="F:Vintagestory.API.Common.DamageSource.Duration"/> greater than zero, total damage will be split into this many portions, each applied in <see cref="F:Vintagestory.API.Common.DamageSource.Duration"/>/<see cref="F:Vintagestory.API.Common.DamageSource.TicksPerDuration"/> time after another.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.DamageSource.DamageOverTimeType">
            <summary>
            If <see cref="F:Vintagestory.API.Common.DamageSource.Duration"/> greater than zero, this damage will be turned into damage overt time effect with this type.<br/>
            This is used to look for specific types of DoT effects. For example it can be used to stop bleeding with bandages.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.DamageSource.GetSourcePosition">
            <summary>
            Fetches the location of the damage source from either SourcePos or SourceEntity
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.DamageSource.GetCauseEntity">
            <summary>
            Get the entity that caused the damage.
            If a projectile like a stone was thrown this will return the entity that threw the stone instead of the stone.
            </summary>
            <returns>The entity that caused the damage</returns>
        </member>
        <member name="M:Vintagestory.API.Common.DamageSource.GetAttackAngle(Vintagestory.API.MathTools.Vec3d,System.Double@,System.Double@)">
            <summary>
            If we have a hitposition this returns the pitch between the attacker and the attacked position
            </summary>
            <param name="attackedPos"></param>
            <param name="attackYaw"></param>
            <param name="attackPitch"></param>
            <returns></returns>
        </member>
        <member name="F:Vintagestory.API.Common.EnumDamageSource.Block">
            <summary>
            It came from a block in the world.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumDamageSource.Player">
            <summary>
            It from another player.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumDamageSource.Fall">
            <summary>
            It came from falling too far.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumDamageSource.Drown">
            <summary>
            It came from being in water too long.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumDamageSource.Revive">
            <summary>
            It came from respawning.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumDamageSource.Void">
            <summary>
            It came from the void.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumDamageSource.Suicide">
            <summary>
            It came from the /kill command.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumDamageSource.Internal">
            <summary>
            It came from inside.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumDamageSource.Entity">
            <summary>
            It came from another entity.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumDamageSource.Explosion">
            <summary>
            It came from an explostion.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumDamageSource.Unknown">
            <summary>
            It came from a source not identified.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumDamageSource.Bleed">
            <summary>
            It came from entity bleeding
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumDeathCause.FallDamage">
            <summary>
            The death was caused by falling too far.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumDeathCause.BlockDamage">
            <summary>
            The death was caused by damage from a block.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumDeathCause.Drowning">
            <summary>
            The death was caused by loss of getting air when underwater.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumDeathCause.Explosion">
            <summary>
            The death was caused by a strong concussive force to the forehead.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumDeathCause.Injury">
            <summary>
            The death was caused by an injury the player sustained.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumDeathCause.Unknown">
            <summary>
            We don't know what killed ya.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumDespawnReason.Death">
            <summary>
            Despawned because it died.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumDespawnReason.Combusted">
            <summary>
            Completely burned up
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumDespawnReason.OutOfRange">
            <summary>
            Despawned because the player (or players) moved out of ranged.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumDespawnReason.PickedUp">
            <summary>
            A player picked up this item and is removed from the world. (ItemEntity -> Item)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumDespawnReason.Unload">
            <summary>
            The region was unloaded.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumDespawnReason.Disconnect">
            <summary>
            The last player disconnected from the game.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumDespawnReason.Expire">
            <summary>
            The entity expired.  
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumDespawnReason.Removed">
            <summary>
            The entity was removed.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.EnumMouseButton">
            <summary>
            A list of mouse buttons.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumMouseButton.Wheel">
            <summary>
            Used to signal to event handlers, but not actually a button: activated when the wheel is scrolled.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.CollectiblePreSearchResultsCache">
            <summary>
            Caches results of wildcard pre search among collectibles.
            Use it to get list of collectibles before applying wildcard search, to reduce number of wildcard evaluations on collectibles codes.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.CraftingRecipeIngredient">
            <summary>
            A crafting recipe ingredient
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.CraftingRecipeIngredient.Type">
            <summary>
            Is the itemstack an item or a block?
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.CraftingRecipeIngredient.Code">
            <summary>
            The code of the item or block.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.CraftingRecipeIngredient.Tags">
            <summary>
            If array of tags specified (["tag-1", "tag-2", "not-tag-3"]):<br/>
            - matched item has to have all these tags, and not have tags with 'not-' prefix;<br/>
            - if 'ReverseTagsCheck: true' specified, matched item has to have at least one of these tags, or not contain any tag with 'not-' prefix.<br/>
            <br/>
            If array of tag groups specified ([["tag-1", "tag-2"], ["not-tag-3", "tag-4]]):<br/>
            - matched item has to have all tags (and not have 'not-' tags) from at least of tag groups;<br/>
            - if 'ReverseTagsCheck: true' specified, matched item has to have at least one of these tags, or not contain any tag with 'not-' prefix from each tag group.<br/>
            <br/>
            This tags check can be treated as logic expression where each tag means of matched item having this tag:<br/>
            - [["tag-1", "tag-2"], ["not-tag-3", "tag-4]] == (tag-1 AND tag-2) OR (NOT tag-3 AND tag-4)<br/>
            - if 'ReverseTagsCheck: true' specified: [["tag-1", "tag-2"], ["not-tag-3", "tag-4]] == (tag-1 OR tag-2) AND (NOT tag-3 OR tag-4)<br/>
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.CraftingRecipeIngredient.ReverseTagsCheck">
            <summary>
            When used with [] tags: matched item should contain at least on tag from the list
            When used with [[]] tags: matched item should contain at least one tag from each group
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.CraftingRecipeIngredient.Name">
            <summary>
            Attaches a name to a wildcard in an ingredient. This is used to substitute the value into the output. Only required if using a wildcard.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.CraftingRecipeIngredient.StackSize">
            <summary>
            Amount of items in this stacks
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.CraftingRecipeIngredient.Quantity">
            <summary>
            The quantity of the itemstack required for the recipe. Alias of <see cref="P:Vintagestory.API.Common.CraftingRecipeIngredient.StackSize"/>.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.CraftingRecipeIngredient.Attributes">
            <summary>
            What attributes this itemstack must have to be a valid ingredient
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.CraftingRecipeIngredient.RecipeAttributes">
            <summary>
            Optional attribute data that you can attach any data to. Used for some specific instances in code mods.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.CraftingRecipeIngredient.IsTool">
            <summary>
            Whether this crafting recipe ingredient should be regarded as a tool required to build this item.
            If true, the recipe will not consume the item but reduce its durability.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.CraftingRecipeIngredient.ToolDurabilityCost">
            <summary>
            If <see cref="P:Vintagestory.API.Common.CraftingRecipeIngredient.Consume"/> is set to False, this is the durability cost when the recipe is created.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.CraftingRecipeIngredient.AllowedVariants">
            <summary>
            When using a wildcard in the item/block code, setting this field will limit the allowed variants
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.CraftingRecipeIngredient.SkipVariants">
            <summary>
            When using a wildcard in the item/block code, setting this field will skip these variants
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.CraftingRecipeIngredient.ReturnedStack">
            <summary>
            If set, the crafting recipe will give back the consumed stack to be player upon crafting.
            Can also be used to produce multiple outputs for a recipe.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.CraftingRecipeIngredient.Id">
            <summary>
            Is used to reference recipe ingredient in the recipe, for example to specify where to copy attributes from.<br/>
            If not specified will be set to the index of this ingredient in the array (starting from 1), or key of this ingredient in the object.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.CraftingRecipeIngredient.Consume">
            <summary>
            Defines if recipe ingredient should be consumed on crafting.<br/>
            Is equal to 'not IsTool'. Use this property instead of 'IsTool'.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.CraftingRecipeIngredient.DurabilityChange">
            <summary>
            Defines how item durability will be changed. Durability will be capped at maximum item durability, and wont reduce below 0, unless specific item class changes this behavior.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.CraftingRecipeIngredient.Break">
            <summary>
            Determines if and item will be destroyed when reaching zero durability.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.CraftingRecipeIngredient.MatchingType">
            <summary>
            Defines how <see cref="P:Vintagestory.API.Common.CraftingRecipeIngredient.Code"/> will be used to match
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.CraftingRecipeIngredient.ResolvedItemStack">
            <summary>
            The itemstack made from Code, Quantity and Attributes, populated by the engine
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.CraftingRecipeIngredient.FillPlaceHolder(System.String,System.String)">
            <summary>
            Replaces {<paramref name="key"/>} placeholders with <paramref name="value"/> in code an attributes
            </summary>
            <param name="key"></param>
            <param name="value"></param>
        </member>
        <member name="T:Vintagestory.API.Common.GridRecipe">
             <summary>
             Represents a crafting recipe to be made on the crafting grid.
             </summary>
             <example><code language="json">
            {
            	"ingredientPattern": "GS,S_",
            	"ingredients": {
            		"G": {
            			"type": "item",
            			"code": "drygrass"
            		},
            		"S": {
            			"type": "item",
            			"code": "stick"
            		}
            	},
            	"width": 2,
            	"height": 2,
            	"output": {
            		"type": "item",
            		"code": "firestarter"
            	}
            }
             </code></example>
        </member>
        <member name="P:Vintagestory.API.Common.GridRecipe.Output">
            <summary>
            The resulting stack when the recipe is created.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.GridRecipe.Ingredients">
            <summary>
            The recipes ingredients in any order, including the code used in the ingredient pattern.
            <br/>Note: from game version 1.20.4, this becomes <b>null on server-side</b> after completion of recipe resolving during server start-up phase
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.GridRecipe.IngredientPattern">
            <summary>
            The pattern of the ingredient. Order for a 3x3 recipe:<br/>
            1 2 3<br/>
            4 5 6<br/>
            7 8 9<br/>
            Order for a 2x2 recipe:<br/>
            1 2<br/>
            3 4<br/>
            Commas separate each horizontal row, and an underscore ( _ ) marks a space as empty.
            <br/>Note: from game version 1.20.4, this becomes <b>null on server-side</b> after completion of recipe resolving during server start-up phase
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.GridRecipe.Width">
            <summary>
            Required grid width for crafting this recipe 
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.GridRecipe.Height">
            <summary>
            Required grid height for crafting this recipe 
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.GridRecipe.RecipeGroup">
            <summary>
            Info used by the handbook. By default, all recipes for an object will appear in a single preview. This allows you to split grid recipe previews into multiple.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.GridRecipe.Shapeless">
            <summary>
            Whether the order of input items should be respected
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.GridRecipe.ResolvedIngredients">
            <summary>
            List of ingredients for each slot of the crafting grid
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.GridRecipe.Resolve(Vintagestory.API.Common.IWorldAccessor,System.String)">
            <summary>
            Turns Ingredients into IItemStacks
            </summary>
            <param name="world"></param>
            <returns>True on successful resolve</returns>
        </member>
        <member name="M:Vintagestory.API.Common.GridRecipe.ConsumeInput(Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.ItemSlot[],System.Int32)">
            <summary>
            Puts the crafted ItemStack into the output slot and 
            consumes the required items from the input slots
            </summary>
            <param name="inputSlots"></param>
            <param name="byPlayer"></param>
            <param name="gridWidth"></param>
        </member>
        <member name="M:Vintagestory.API.Common.GridRecipe.Matches(Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.ItemSlot[],System.Int32)">
            <summary>
            Check if this recipe matches given ingredients
            </summary>
            <param name="forPlayer">The player for trait testing. Can be null.</param>
            <param name="ingredients"></param>
            <param name="gridWidth"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.GridRecipe.ToBytes(System.IO.BinaryWriter)">
            <summary>
            Serialized the recipe
            </summary>
            <param name="writer"></param>
        </member>
        <member name="M:Vintagestory.API.Common.GridRecipe.FromBytes(System.IO.BinaryReader,Vintagestory.API.Common.IWorldAccessor)">
            <summary>
            Deserializes the recipe
            </summary>
            <param name="reader"></param>
            <param name="resolver"></param>
        </member>
        <member name="M:Vintagestory.API.Common.GridRecipe.Clone">
            <summary>
            Creates a deep copy
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.LayeredVoxelRecipe">
            <summary>
            Creates a recipe using a 3D voxel-based system. Used for recipes types such as clayforming, smithing, or stone-knapping.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.LayeredVoxelRecipe.Ingredients">
            <summary>
            An array of ingredients for this recipe. If only using a single ingredient, see <see cref="P:Vintagestory.API.Common.LayeredVoxelRecipe.Ingredient"/>.<br/>
            Required if not using <see cref="P:Vintagestory.API.Common.LayeredVoxelRecipe.Ingredient"/>.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.LayeredVoxelRecipe.Ingredient">
            <summary>
            A single ingredient for this recipe. If you need to use more than one ingredient, see <see cref="F:Vintagestory.API.Common.LayeredVoxelRecipe.Ingredients"/>.<br/>
            Required if not using <see cref="F:Vintagestory.API.Common.LayeredVoxelRecipe.Ingredients"/>.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.LayeredVoxelRecipe.Pattern">
            <summary>
            A 2D array of strings that are layered together to form the recipe. Use "#" for solid, and "_" or " " for a gap.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.LayeredVoxelRecipe.Output">
            <summary>
            The final output of this recipe.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.LayeredVoxelRecipe.Voxels">
            <summary>
            An array of voxels, created from <see cref="F:Vintagestory.API.Common.LayeredVoxelRecipe.Pattern"/> during loading. This array is cloned when a player starts creating the recipe.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.LayeredVoxelRecipe.QuantityLayers">
            <summary>
            The number of layers in this recipe, in the Y-axis.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.LayeredVoxelRecipe.RecipeCategoryCode">
            <summary>
            A category code for this recipe type. Used for error logging.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.LayeredVoxelRecipe.RotateRecipe">
            <summary>
            If true, the recipe is rotated 90 degrees in the Y axis.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.LayeredVoxelRecipe.GenVoxels">
            <summary>
            Generates the voxels for the recipe.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.LayeredVoxelRecipe.Resolve(Vintagestory.API.Common.IWorldAccessor,System.String)">
            <summary>
            Resolves the recipe.
            </summary>
            <param name="world"></param>
            <param name="sourceForErrorLogging"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.LayeredVoxelRecipe.ToBytes(System.IO.BinaryWriter)">
            <summary>
            Serialized the recipe
            </summary>
            <param name="writer"></param>
        </member>
        <member name="M:Vintagestory.API.Common.LayeredVoxelRecipe.FromBytes(System.IO.BinaryReader,Vintagestory.API.Common.IWorldAccessor)">
            <summary>
            Deserializes the alloy
            </summary>
            <param name="reader"></param>
            <param name="resolver"></param>
        </member>
        <member name="M:Vintagestory.API.Common.LayeredVoxelRecipe.WildCardMatch(Vintagestory.API.Common.AssetLocation,Vintagestory.API.Common.AssetLocation)">
            <summary>
            Matches the wildcards for the clay recipe.
            </summary>
            <param name="wildCard"></param>
            <param name="blockCode"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.RecipeBase">
            <summary>
            Creates a new base recipe type. Almost all recipe types extend from this.
            </summary>
            <typeparam name="TRecipe">The resulting recipe type.</typeparam>
        </member>
        <member name="P:Vintagestory.API.Common.RecipeBase.Enabled">
            <summary>
            If set to false, the recipe will never be loaded.
            If loaded, you can use this field to disable recipes during runtime.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.RecipeBase.Name">
            <summary>
            Adds a name to this. Used for logging, and determining helve hammer workability for smithing recipes. Recipes for repairing objects must contain 'repair' in the name.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.RecipeBase.Attributes">
            <summary>
            Optional attribute data that you can attach any data to. Useful for code mods, but also required when using liquid ingredients.<br/>
            See dough.json grid recipe file for example.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.RecipeBase.RequiresTrait">
            <summary>
            If set, only players with given trait can use this  See config/traits.json for a list of traits.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.RecipeBase.AverageDurability">
            <summary>
            If true, the output item will have its durability averaged over the input items
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.RecipeBase.CopyAttributesFrom">
            <summary>
            If set, it will copy over the itemstack attributes from given ingredient code
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.RecipeBase.MergeAttributesFrom">
            <summary>
            Attributes from these ingredients will be merged into output itemstack
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.RecipeBase.AllowedVariants">
            <summary>
            If '{code}' is used in ingredient code, allowed variants for this code should be specified in this map
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.RecipeBase.SkipVariants">
            <summary>
            If '{code}' is used in ingredient code, skip variants for this code should be specified in this map
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.RecipeBase.ShowInCreatedBy">
            <summary>
            Used by the handbook. If false, will not appear in the "Created by" section
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.RecipeBase.RecipeId">
            <summary>
            The ID of the  Automatically generated when the recipe is loaded.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.RecipeIngredientConsumeProperties.Consume">
            <summary>
            Should ingredient be consumed on crafting.<br/>
            If set to true <see cref="P:Vintagestory.API.Common.RecipeIngredientConsumeProperties.Quantity"/> will be removed from ItemStack.
            Other wise <see cref="P:Vintagestory.API.Common.RecipeIngredientConsumeProperties.DurabilityChange"/> will be applied to item, if it is not equal to 0.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.RecipeIngredientConsumeProperties.Quantity">
            <summary>
            How ItemStack size will be reduced.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.RecipeIngredientConsumeProperties.DurabilityChange">
            <summary>
            Durability change on being used for crafting.<br/>
            Positive number will result in durability increase. Negative in decrease.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.RecipeIngredientConsumeProperties.DurabilityCost">
            <summary>
            Equal to -DurabilityChange. Durability of item will be reduced by this amount if it is not consumed
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.RecipeIngredientConsumeProperties.BreakOnZeroDurability">
            <summary>
            If set to False item will not break when it durability reaches zero.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IRecipeIngredient.Id">
            <summary>
            Used to reference ingredients, auto assigned if not specified
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IRecipeIngredient.Name">
            <summary>
            Attaches a name to a wildcard in an ingredient. This is used to substitute the value into the output. Only required if using a wildcard.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityBehaviorPassivePhysics.WaterDragValue">
            <summary>
            The amount of drag while travelling through water.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityBehaviorPassivePhysics.AirDragValue">
            <summary>
            The amount of drag while travelling through the air.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityBehaviorPassivePhysics.GroundDragValue">
            <summary>
            The amount of drag while travelling on the ground.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityBehaviorPassivePhysics.BoyancyMul">
            <summary>
            The amount of drag while travelling on the ground.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityBehaviorPassivePhysics.GravityPerSecond">
            <summary>
            The amount of gravity applied per tick to this entity.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityBehaviorPassivePhysics.OnPhysicsTickCallback">
            <summary>
            If set, will test for entity collision every tick (expensive)
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.Entities.PhysicsTickDelegate">
            <summary>
            Called after a physics tick has happened
            </summary>
            <param name="accum">Amount of seconds left in the accumulator after physics ticking</param>
            <param name="prevPos"></param>
        </member>
        <member name="T:Vintagestory.API.Common.Entities.Entity">
            <summary>
            The basic class for all entities in the game
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.HurtColor">
            <summary>
            Color used when the entity is being attacked
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.World">
            <summary>
            World where the entity is spawned in. Available on the game client and server.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.Api">
            <summary>
            The api, if you need it. Available on the game client and server.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.Entity.IsCreature">
            <summary>
            Used by AItasks for perfomance. When searching for nearby entities we distinguish between (A) Creatures and (B) Inanimate entitie. Inanimate entities are items on the ground, projectiles, armor stands, rafts, falling blocks etc
            <br/>Note 1: Dead creatures / corpses count as a Creature. EntityPlayer is a Creature of course.
            <br/>Note 2: Straw Dummy we count as a Creature, because weapons can target it and bees can attack it. In contrast, Armor Stand we count as Inanimate, because nothing should ever attack or target it.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.Tags">
            <summary>
            List of current entity tags. Synced after initialization. Synchronization can be triggered by calling 'MarkTagDirty()' method.
            <br/>Dont set on client side, unless you setting it to the same value on server side at the same time.
            <br/>If set only on server side, 'MarkTagDirty()' should be called to sync value with clients. This will trigger full entity synchronization, which can be performance heavy.
            <br/>Tags are not saved into save file, and always loaded from entity type when entity is created. Indexes of tags are dynamically assigned on game start, and are not consistent between saves.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.PhysicsUpdateWatcher">
            <summary>
            The vanilla physics systems will call this method if a physics behavior was assigned to it. The game client for example requires this to be called for the current player to properly render the player. Available on the game client and server.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.Entity.AnimManager">
            <summary>
            Server simulated animations. Only takes care of stopping animations once they're done
            Set and Called by the Entities ServerSystem
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.ActivityTimers">
            <summary>
            An uptime value running activities. Available on the game client and server. Not synchronized.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.Entity.Pos">
            <summary>
            Client position
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.PreviousServerPos">
            <summary>
            Server simulated position copy. Needed by Entities server system to send pos updatess only if ServerPos differs noticably from PreviousServerPos
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.PositionBeforeFalling">
            <summary>
            The position where the entity last had contact with the ground. Set by the game client and server.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.CollisionBox">
            <summary>
            The entities collision box. Offseted by the animation system when necessary. Set by the game client and server.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.OriginCollisionBox">
            <summary>
            The entities collision box. Not Offseted. Set by the game client and server.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.SelectionBox">
            <summary>
            The entities selection box. Offseted by the animation system when necessary. Set by the game client and server.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.OriginSelectionBox">
            <summary>
            The entities selection box. Not Offseted. Set by the game client and server.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.Teleporting">
            <summary>
            Used by the teleporter block
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.EntityId">
            <summary>
            A unique identifier for this entity. Set by the game client and server.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.SimulationRange">
            <summary>
            The range in blocks the entity has to be to a client to do physics and AI. When outside range, then <seealso cref="F:Vintagestory.API.Common.Entities.Entity.State"/> will be set to inactive
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.ClimbingOnFace">
            <summary>
            The face the entity is climbing on. Null if the entity is not climbing. Set by the game client and server.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.ClimbingOnCollBox">
            <summary>
            Set by the game client and server.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.OnGround">
            <summary>
            True if this entity is in touch with the ground. Set by the game client and server.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.FeetInLiquid">
            <summary>
            True if the bottom of the collisionbox is inside a liquid. Set by the game client and server.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.Swimming">
            <summary>
            True if the collisionbox is 2/3rds submerged in liquid. Set by the game client and server.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.CollidedVertically">
            <summary>
            True if the entity is in touch with something solid on the vertical axis. Set by the game client and server.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.CollidedHorizontally">
            <summary>
            True if the entity is in touch with something solid on both horizontal axes. Set by the game client and server.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.State">
            <summary>
            The current entity state. NOT stored in WatchedAttributes in from/tobytes when sending to client as always set to Active on client-side Initialize().  Server-side if saved it would likely initially be Despawned when an entity is first loaded from the save due to entities being despawned during the UnloadChunks process, so let's make it always Despawned for consistent behavior (it will be set to Active/Inactive during Initialize() anyhow)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.WatchedAttributes">
            <summary>
            Permanently stored entity attributes that are sent to client everytime they have been changed
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.DebugAttributes">
            <summary>
            If entity debug mode is on, this info will be transitted to client and displayed above the entities head
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.Attributes">
            <summary>
            Permanently stored entity attributes that are only client or only server side
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.IsRendered">
            <summary>
            Set by the client renderer when the entity was rendered last frame
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.IsShadowRendered">
            <summary>
            Set by the client renderer when the entity shadow was rendered last frame
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.touchDistance">
            <summary>
            Set during initialization by calling Entity.GetTouchDistance().  A mod wishing to change the value returned by .GetTouchDistance() dynamically should probably call .updateColSelBoxes() or update this field directly
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.BHRepulseAgents">
            <summary>
            The Entity's BehaviorRepulseAgents, if it has one - here for critical performance reasons. This may also be accessed from Physics ticking
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.AfterPhysicsTick">
            <summary>
            Invoked once per server tick, immediately following the physics ticking, if this Entity has any of the Physics behaviors. Example use, anything which requires an update of the entity's current position, such as BehaviorRepulseAgents
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.IsTracked">
            <summary>
            Used by PhysicsManager. Added here to increase performance
            0 = not tracked, 1 = lowResTracked, 2 = fullyTracked
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.PositionTicked">
            <summary>
            Used by PhysicsManager. Added here to increase performance
            Set to true when position packet prepared during physics ticking, set to false following AfterPhysicsTick()
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.IsTeleport">
            <summary>
            Used by the PhysicsManager to tell connected clients that the next entity position packet should not have its position change get interpolated. Gets set to false after the packet was sent
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.trickleDownRayIntersects">
            <summary>
            If true, will call EntityBehavior.IntersectsRay. Default off to increase performance.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.requirePosesOnServer">
            <summary>
            If true, will fully simulate animations on the server so one has access to the positions of all attachment points.
            If false, only root level attachment points will be available server side
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.packet">
            <summary>
            Used for efficiency in multi-player servers, to avoid regenerating the packet again for each connected client
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.ServerBehaviorsMainThread">
            <summary>
            Used for efficiency in multi-player servers, to speed up iterating over relevant behaviors only. These are the behaviors returning Threadsafe == false (which is the default)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.ServerBehaviorsThreadsafe">
            <summary>
            Used for efficiency in multi-player servers, to speed up iterating over relevant behaviors only. These are the behaviors returning Threadsafe == true;
            These behaviors may have their regular ticking (including ShouldExecute() etc) called EITHER from the main thread OR from another physics thread, depending on PhysicsManager logic
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.Entity.codeRemaps">
            <summary>
            Used only when deserialising an entity, otherwise null
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.Entity.IsInteractable">
            <summary>
            Should return true when this entity should be interactable by a player or other entities
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.Entity.SwimmingOffsetY">
            <summary>
            Used for passive physics simulation, together with the MaterialDensity to check how deep in the water the entity should float
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.Entity.Collided">
            <summary>
            CollidedVertically || CollidedHorizontally.
            <br/>Note, this flag is only effective on the Server side for most entities (because there is no client-side physics and therefore no client-side collision detection, and this flag is not synced)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.Entity.LocalEyePos">
            <summary>
            The height of the eyes for the given entity.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.Entity.ApplyGravity">
            <summary>
            If gravity should applied to this entity
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.Entity.MaterialDensity">
            <summary>
            Determines on whether an entity floats on liquids or not and how strongly items get pushed by water. Water has a density of 1000.
            A density below 1000 means the entity floats on top of water if has a physics simulation behavior attached to it.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.Entity.LightHsv">
            <summary>
            If set, the entity will emit dynamic light
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.Entity.ShouldDespawn">
            <summary>
            If the entity should despawn next server tick. By default returns !Alive for non-creatures and creatures that don't have a Decay behavior
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.Entity.StoreWithChunk">
            <summary>
            Players and whatever the player rides on will be stored seperatly
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.Entity.AlwaysActive">
            <summary>
            Whether this entity should always stay in Active model, regardless on how far away other player are
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.Entity.Alive">
            <summary>
            True if the entity is in state active or inactive, or generally not dead (for non-living entities, 'dead' means ready to despawn)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.Entity.RenderColor">
            <summary>
            Used by some renderers to apply an overal color tint on the entity
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.Entity.LadderFixDelta">
            <summary>
            A small offset used to prevent players from clipping through the blocks above ladders: relevant if the entity's collision box is sometimes adjusted by the game code
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.Entity.ImpactBlockUpdateChance">
            <summary>
            The chance that this entity, walking or jumping on or falling onto a block, will trigger a block-update - so potentially unstable dirt or sand falling, avalanche etc.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.#ctor">
            <summary>
            Creates a new instance of an entity
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.#ctor(System.Int32)">
            <summary>
            Creates a minimally populated entity with configurable tracking range, no Stats, no AnimManager and no animations attribute. Currently used by EntityItem.
            </summary>
            <param name="trackingRange"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.OnHurt(Vintagestory.API.Common.DamageSource,System.Single)">
            <summary>
            Called when the entity got hurt. On the client side, dmgSource is null
            </summary>
            <param name="dmgSource"></param>
            <param name="damage"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.Initialize(Vintagestory.API.Common.Entities.EntityProperties,Vintagestory.API.Common.ICoreAPI,System.Int64)">
            <summary>
            Called when this entity got created or loaded
            </summary>
            <param name="properties"></param>
            <param name="api"></param>
            <param name="InChunkIndex3d"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.TryGiveItemStack(Vintagestory.API.Common.ItemStack)">
            <summary>
            Called when something tries to given an itemstack to this entity
            </summary>
            <param name="itemstack"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.GetDrops(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.IPlayer)">
            <summary>
            Is called before the entity is killed, should return what items this entity should drop. Return null or empty array for no drops.
            </summary>
            <param name="world"></param>
            <param name="pos"></param>
            <param name="byPlayer"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.TeleportToDouble(System.Double,System.Double,System.Double,System.Action)">
            <summary>
            Teleports the entity to given position. Actual teleport is delayed until target chunk is loaded.
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <param name="onTeleported"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.TeleportTo(System.Int32,System.Int32,System.Int32)">
            <summary>
            Teleports the entity to given position
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.TeleportTo(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Teleports the entity to given position
            </summary>
            <param name="position"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.TeleportTo(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Teleports the entity to given position
            </summary>
            <param name="position"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.TeleportTo(Vintagestory.API.Common.Entities.EntityPos,System.Action)">
            <summary>
            Teleports the entity to given position
            </summary>
            <param name="position"></param>
            <param name="onTeleported"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.ReceiveDamage(Vintagestory.API.Common.DamageSource,System.Single)">
            <summary>
            Called when the entity should be receiving damage from given source
            </summary>
            <param name="damageSource"></param>
            <param name="damage"></param>
            <returns>True if the entity actually received damage</returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.ShouldReceiveDamage(Vintagestory.API.Common.DamageSource,System.Single)">
            <summary>
            Should return true if the entity can get damaged by given damageSource. Is called by ReceiveDamage.
            </summary>
            <param name="damageSource"></param>
            <param name="damage"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.OnGameTick(System.Single)">
            <summary>
            Called every 20ms
            </summary>
            <param name="dt"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.OnTesselation(Vintagestory.API.Common.Shape@,System.String)">
            <summary>
            Called by EntityShapeRenderer.cs before tesselating the entity shape
            </summary>
            <param name="entityShape"></param>
            <param name="shapePathForLogging"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.OnFallToGround(System.Double)">
            <summary>
            Called when the entity collided vertically
            </summary>
            <param name="motionY"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.OnCollided">
            <summary>
            Called when the entity collided with something solid and <see cref="P:Vintagestory.API.Common.Entities.Entity.Collided"/> was false before
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.OnCollideWithLiquid">
            <summary>
            Called when the entity got in touch with a liquid
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.OnEntityLoaded">
            <summary>
            Called when after the got loaded from the savegame (not called during spawn)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.OnEntitySpawn">
            <summary>
            Called when the entity spawns (not called when loaded from the savegame).
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.OnEntityDespawn(Vintagestory.API.Common.Entities.EntityDespawnData)">
            <summary>
            Called when the entity despawns
            </summary>
            <param name="despawn"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.OnExitedLiquid">
            <summary>
            Called when the entity has left a liquid
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.OnInteract(Vintagestory.API.Common.EntityAgent,Vintagestory.API.Common.ItemSlot,Vintagestory.API.MathTools.Vec3d,Vintagestory.API.Common.EnumInteractMode)">
            <summary>
            Called when an entity has interacted with this entity
            </summary>
            <param name="byEntity"></param>
            <param name="itemslot">If being interacted with a block/item, this should be the slot the item is being held in</param>
            <param name="hitPosition">Relative position on the entites hitbox where the entity interacted at</param>
            <param name="mode">0 = attack, 1 = interact</param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.GetInteractionHelp(Vintagestory.API.Client.IClientWorldAccessor,Vintagestory.API.Common.EntitySelection,Vintagestory.API.Client.IClientPlayer)">
            <summary>
            Called when a player looks at the entity with interaction help enabled
            </summary>
            <param name="world"></param>
            <param name="es"></param>
            <param name="player"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.OnReceivedServerPos(System.Boolean)">
            <summary>
            Called by client when a new server pos arrived
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.OnReceivedClientPacket(Vintagestory.API.Server.IServerPlayer,System.Int32,System.Byte[])">
            <summary>
            Called when on the client side something called capi.Network.SendEntityPacket()
            </summary>
            <param name="player"></param>
            <param name="packetid"></param>
            <param name="data"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.OnReceivedServerPacket(System.Int32,System.Byte[])">
            <summary>
            Called when on the server side something called sapi.Network.SendEntityPacket()
            Packetid = 1 is used for teleporting
            Packetid = 2 is used for BehaviorHarvestable
            </summary>
            <param name="packetid"></param>
            <param name="data"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.OnCollected(Vintagestory.API.Common.Entities.Entity)">
            <summary>
            Called by BehaviorCollectEntities of nearby entities. Should return the itemstack that should be collected. If the item stack was fully picked up, BehaviorCollectEntities will kill this entity
            </summary>
            <param name="byEntity"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.OnStateChanged(Vintagestory.API.Common.EnumEntityState)">
            <summary>
            Called on the server when the entity was changed from active to inactive state or vice versa
            </summary>
            <param name="beforeState"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.SetCollisionBox(System.Single,System.Single)">
            <summary>
            Helper method to set the CollisionBox
            </summary>
            <param name="length"></param>
            <param name="height"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.AddBehavior(Vintagestory.API.Common.Entities.EntityBehavior)">
            <summary>
            Adds given behavior to the entities list of active behaviors
            </summary>
            <param name="behavior"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.RemoveBehavior(Vintagestory.API.Common.Entities.EntityBehavior)">
            <summary>
            Removes given behavior to the entities list of active behaviors. Does nothing if the behavior has already been removed
            </summary>
            <param name="behavior"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.CacheServerBehaviors">
            <summary>
            Create the cached arrays of thread-safe and mainthread behaviors, for ticking performance
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.HasBehavior(System.String)">
            <summary>
            Returns true if the entity has given active behavior
            </summary>
            <param name="behaviorName"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.GetBehavior(System.String)">
            <summary>
            Returns the behavior instance for given entity. Returns null if it doesn't exist.
            </summary>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.GetBehavior``1">
            <summary>
            Returns the first behavior instance for given entity of given type. Returns null if it doesn't exist.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.GetInterfaces``1">
            <summary>
            Returns itself and any behaviors that implement the interface T as a List
            </summary>
            <typeparam name="TInterface"></typeparam>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.GetInterface``1">
            <summary>
            Returns itself or the first behavior that implements the interface T
            </summary>
            <typeparam name="TInterface"></typeparam>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.IsActivityRunning(System.String)">
            <summary>
            Returns true if given activity is running
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.RemainingActivityTime(System.String)">
            <summary>
            Returns the remaining time on an activity in milliesconds
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.SetActivityRunning(System.String,System.Int32)">
            <summary>
            Starts an activity for a given duration
            </summary>
            <param name="key"></param>
            <param name="milliseconds"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.UpdateDebugAttributes">
            <summary>
            Updates the DebugAttributes tree
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.FromBytes(System.IO.BinaryReader,System.Boolean,System.Collections.Generic.Dictionary{System.String,System.String})">
            <summary>
            In order to maintain legacy mod API compatibility of FromBytes(BinaryReader reader, bool isSync), we create an overload which server-side calling code will actually call, and store the remaps parameter in a field
            </summary>
            <param name="reader"></param>
            <param name="isSync"></param>
            <param name="serversideRemaps"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.FromBytes(System.IO.BinaryReader,System.Boolean)">
            <summary>
            Loads the entity from a stored byte array from the SaveGame
            </summary>
            <param name="reader"></param>
            <param name="isSync">True if this is a sync operation, not a chunk read operation</param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.ToBytes(System.IO.BinaryWriter,System.Boolean)">
            <summary>
            Serializes the slots contents to be stored in the SaveGame
            </summary>
            <param name="writer"></param>
            <param name="forClient">True when being used to send an entity to the client</param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.SetHeadPositionToWatchedAttributes">
            <summary>
            Relevant only for entities with heads, implemented in EntityAgent.  Other sub-classes of Entity (if not EntityAgent) should similarly override this if the headYaw/headPitch are relevant to them
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.GetHeadPositionFromWatchedAttributes">
            <summary>
            Relevant only for entities with heads, implemented in EntityAgent.  Other sub-classes of Entity (if not EntityAgent) should similarly override this if the headYaw/headPitch are relevant to them
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.Revive">
            <summary>
            Revives the entity and heals for 9999.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.Die(Vintagestory.API.Common.EnumDespawnReason,Vintagestory.API.Common.DamageSource)">
            <summary>
            Makes the entity despawn. Entities only drop something on EnumDespawnReason.Death
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.PlayEntitySound(System.String,Vintagestory.API.Common.IPlayer)">
            <summary> Call this serverside, and it will play the sound for all nearby clients. </summary>
            <param name="type">String code for the sound</param>
            <param name="dualCallByPlayer">If also calling clientside, pass in that client's player here</param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.CanCollect(Vintagestory.API.Common.Entities.Entity)">
            <summary>
            Should return true if this item can be picked up as an itemstack
            </summary>
            <param name="byEntity"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.Notify(System.String,System.Object)">
            <summary>
            This method pings the Notify() method of all behaviors and ai tasks. Can be used to spread information to other creatures.
            </summary>
            <param name="key"></param>
            <param name="data"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.WillExport(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            This method is called by the BlockSchematic class a moment before a schematic containing this entity is getting exported.
            Since a schematic can be placed anywhere in the world, this method has to make sure the entities position is set to a value
            relative of the schematic origin point defined by startPos
            Right after calling this method, the world edit system will call .ToBytes() to serialize the entity
            </summary>
            <param name="startPos"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.DidImportOrExport(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            This method is called by the BlockSchematic class a moment after a schematic containing this entity has been exported.
            Since a schematic can be placed anywhere in the world, this method has to make sure the entities position is set to the correct
            position in relation to the target position of the schematic to be imported.
            </summary>
            <param name="startPos"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.OnStoreCollectibleMappings(System.Collections.Generic.Dictionary{System.Int32,Vintagestory.API.Common.AssetLocation},System.Collections.Generic.Dictionary{System.Int32,Vintagestory.API.Common.AssetLocation})">
            <summary>
            Called by the worldedit schematic exporter so that it can also export the mappings of items/blocks stored inside blockentities
            </summary>
            <param name="blockIdMapping"></param>
            <param name="itemIdMapping"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.OnLoadCollectibleMappings(Vintagestory.API.Common.IWorldAccessor,System.Collections.Generic.Dictionary{System.Int32,Vintagestory.API.Common.AssetLocation},System.Collections.Generic.Dictionary{System.Int32,Vintagestory.API.Common.AssetLocation},System.Int32,System.Boolean)">
            <summary>
            Called by the blockschematic loader so that you may fix any blockid/itemid mappings against the mapping of the savegame, if you store any collectibles in this blockentity.
            Note: Some vanilla blocks resolve randomized contents in this method.
            Hint: Use itemstack.FixMapping() to do the job for you.
            </summary>
            <param name="worldForNewMappings"></param>
            <param name="oldBlockIdMapping"></param>
            <param name="oldItemIdMapping"></param>
            <param name="schematicSeed">If you need some sort of randomness consistency accross an imported schematic, you can use this value</param>
            <param name="resolveImports">Turn it off to spawn structures as they are. For example, in this mode, instead of traders, their meta spawners will spawn</param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.TryEarlyLoadCollectibleMappings(Vintagestory.API.Common.IWorldAccessor,System.Collections.Generic.Dictionary{System.Int32,Vintagestory.API.Common.AssetLocation},System.Collections.Generic.Dictionary{System.Int32,Vintagestory.API.Common.AssetLocation},System.Int32,System.Boolean)">
            <summary>
            Used only during worldgen when an entity is placed by a schematic. Overall purpose is like OnLoadCollectibleMappings() except that it is called prior to initialising the Entity
            <br/>Should typically do nothing and return false
            <br/>May optionally load the collectible mappings here (doing any necessary initialisation itself, e.g. initialising the Inventory) in which case return true. For example, this is useful for Armorstands
            </summary>
            <param name="worldForNewMappings"></param>
            <param name="oldBlockIdMapping"></param>
            <param name="oldItemIdMapping"></param>
            <param name="schematicSeed"></param>
            <param name="resolveImports"></param>
            <returns>If returns true, the caller should skip calling OnLoadCollectibleMappings()</returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.GetName">
            <summary>
            Gets the name for this entity
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.GetPrefixAndCreatureName(System.String)">
            <summary>
            Gets the translated prefix and creature name, e.g. "a goat"
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.GetInfoText">
            <summary>
            gets the info text for the entity.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.StartAnimation(System.String)">
            <summary>
            Starts the animation for the entity.
            </summary>
            <param name="code"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.StopAnimation(System.String)">
            <summary>
            stops the animation for the entity.
            </summary>
            <param name="code"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.IntersectsRay(Vintagestory.API.MathTools.Ray,Vintagestory.API.MathTools.AABBIntersectionTest,System.Double@,System.Int32@)">
            <summary>
            To test for player->entity selection.
            </summary>
            <param name="ray"></param>
            <param name="interesectionTester">Is already preloaded with the ray</param>
            <param name="intersectionDistance"></param>
            <param name="selectionBoxIndex"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.GetTouchDistance">
            <summary>
            The distance at which entities are counted as "touching" each other, for example used by EntityPartitioning and RepulseAgents
            <br/>Note: from 1.20.4 this is gathered and cached in a field when each entity is Initialized, if for any reason a mod or behavior needs to change the result later than Initialization then you should also update the Entity field .touchDistance
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.MarkTagsDirty">
            <summary>
            Triggers full entity synchronization, including entity tags. Should not be called too frequently.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.SetAttributesFrom(Newtonsoft.Json.Linq.JToken)">
            <summary>
            Add to WatchedAttributes any attributes specified in the Json token
            <br/>Limited to only the specific WatchedAttributes for which this is implemented - in 1.21.1 for vanilla, that's only "generation"
            </summary>
            <param name="token"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.Entity.GetBoneName(System.String,System.String)">
            <summary>
            Gets the bone name from entity properties attributes, or returns the fallback if not defined.
            </summary>
            <param name="key">The attribute key to look up in entity properties</param>
            <param name="fallback">The fallback bone name to use if the attribute is not found</param>
            <returns>The bone name from attributes or the fallback value</returns>
        </member>
        <member name="T:Vintagestory.API.Common.Entities.EntityBehavior">
            <summary>
            Defines a basic entity behavior that can be attached to entities
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityBehavior.Initialize(Vintagestory.API.Common.Entities.EntityProperties,Vintagestory.API.Datastructures.JsonObject)">
            <summary>
            Initializes the entity.
            <br/>If your code modifies the supplied attributes (not recommended!), then your changes will apply to all entities of the same type.
            </summary>
            <param name="properties">The properties of this entity.</param>
            <param name="attributes">The attributes of this entity.</param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityBehavior.AfterInitialized(System.Boolean)">
            <summary>
            Called after initializing all the behaviors in case they need to cross-refer to each other or set some initial values only at spawn-time
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityBehavior.OnGameTick(System.Single)">
            <summary>
            The event fired when a game ticks over.
            </summary>
            <param name="deltaTime"></param>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.EntityBehavior.ThreadSafe">
            <summary>
            An implementing behavior can return true if it is thread-safe: allows the behavior to be multi-threaded for better multiplayer performance
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityBehavior.OnEntitySpawn">
            <summary>
            The event fired when the entity is spawned (not called when loaded from the savegame).
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityBehavior.OnEntityLoaded">
            <summary>
            The event fired when the entity is loaded from disk (not called during spawn)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityBehavior.OnEntityDespawn(Vintagestory.API.Common.Entities.EntityDespawnData)">
            <summary>
            The event fired when the entity is despawned.
            </summary>
            <param name="despawn">The reason the entity despawned.</param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityBehavior.PropertyName">
            <summary>
            The name of the property tied to this entity behavior.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityBehavior.OnEntityReceiveDamage(Vintagestory.API.Common.DamageSource,System.Single@)">
            <summary>
            The event fired when the entity recieves damage.
            </summary>
            <param name="damageSource">The source of the damage</param>
            <param name="damage">The amount of the damage.</param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityBehavior.OnEntityRevive">
            <summary>
            When the entity got revived (only for players and traders currently)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityBehavior.OnFallToGround(Vintagestory.API.MathTools.Vec3d,System.Double)">
            <summary>
            The event fired when the entity falls to the ground.
            </summary>
            <param name="lastTerrainContact">the point which the entity was previously on the ground.</param>
            <param name="withYMotion">The vertical motion the entity had before landing on the ground.</param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityBehavior.OnEntityReceiveSaturation(System.Single,Vintagestory.API.Common.EnumFoodCategory,System.Single,System.Single)">
            <summary>
            The event fired when the entity recieves saturation.
            </summary>
            <param name="saturation">The amount of saturation recieved.</param>
            <param name="foodCat">The category of food recieved.</param>
            <param name="saturationLossDelay">The delay before the loss of saturation.</param>
            <param name="nutritionGainMultiplier"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityBehavior.OnReceivedServerPos(System.Boolean,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            The event fired when the server position is changed.
            </summary>
            <param name="isTeleport">Whether or not this entity was teleported.</param>
            <param name="handled">How this event is handled.</param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityBehavior.GetDrops(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            gets the drops for this specific entity.
            </summary>
            <param name="world">The world of this entity</param>
            <param name="pos">The block position of the entity.</param>
            <param name="byPlayer">The player this entity was killed by.</param>
            <param name="handling">How this event was handled.</param>
            <returns>the items dropped from this entity</returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityBehavior.OnStateChanged(Vintagestory.API.Common.EnumEntityState,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            The event fired when the state of the entity is changed.
            </summary>
            <param name="beforeState">The previous state.</param>
            <param name="handling">How this event was handled.</param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityBehavior.Notify(System.String,System.Object)">
            <summary>
            The notify method bubbled up from entity.Notify()
            </summary>
            <param name="key"></param>
            <param name="data"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityBehavior.GetInfoText(System.Text.StringBuilder)">
            <summary>
            Gets the information text when highlighting this entity.
            </summary>
            <param name="infotext">The supplied stringbuilder information.</param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityBehavior.OnEntityDeath(Vintagestory.API.Common.DamageSource)">
            <summary>
            The event fired when the entity dies.
            </summary>
            <param name="damageSourceForDeath">The source of damage for the entity.</param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityBehavior.OnInteract(Vintagestory.API.Common.EntityAgent,Vintagestory.API.Common.ItemSlot,Vintagestory.API.MathTools.Vec3d,Vintagestory.API.Common.EnumInteractMode,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            The event fired when the entity is interacted with by the player.
            </summary>
            <param name="byEntity">The entity it was interacted with.</param>
            <param name="itemslot">The item slot involved (if any)</param>
            <param name="hitPosition">The hit position of the entity.</param>
            <param name="mode">The interaction mode for the entity.</param>
            <param name="handled">How this event is handled.</param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityBehavior.OnReceivedClientPacket(Vintagestory.API.Server.IServerPlayer,System.Int32,System.Byte[],Vintagestory.API.Common.EnumHandling@)">
            <summary>
            The event fired when the server receives a packet.
            </summary>
            <param name="player">The server player.</param>
            <param name="packetid">the packet id.</param>
            <param name="data">The data contents.</param>
            <param name="handled">How this event is handled.</param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityBehavior.OnReceivedServerPacket(System.Int32,System.Byte[],Vintagestory.API.Common.EnumHandling@)">
            <summary>
            The event fired when the client receives a packet.
            </summary>
            <param name="packetid"></param>
            <param name="data"></param>
            <param name="handled"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityBehavior.GetInteractionHelp(Vintagestory.API.Client.IClientWorldAccessor,Vintagestory.API.Common.EntitySelection,Vintagestory.API.Client.IClientPlayer,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            Called when a player looks at the entity with interaction help enabled
            </summary>
            <param name="world"></param>
            <param name="es"></param>
            <param name="player"></param>
            <param name="handled"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityBehavior.TryEarlyLoadCollectibleMappings(Vintagestory.API.Common.IWorldAccessor,System.Collections.Generic.Dictionary{System.Int32,Vintagestory.API.Common.AssetLocation},System.Collections.Generic.Dictionary{System.Int32,Vintagestory.API.Common.AssetLocation},System.Boolean,Vintagestory.API.Common.Entities.EntityProperties,Vintagestory.API.Datastructures.JsonObject)">
            <summary>
            For entities which need to load collectible mappings before Initialisation during worldgen (e.g. Armorstand)
            <br/>Return true if the collectible mappings were loaded by this
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityBehavior.FromBytes(System.Boolean)">
            <summary>
            This method is not called on the server side
            </summary>
            <param name="isSync"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityBehavior.TestCommand(System.Object)">
            <summary>
            Can be used by the /entity command or maybe other commands, to test behaviors
            <br/>The argument will be an object provided by TextCommandCallingArgs, which can then be cast to the desired type e.g. int
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityBehavior.GetTouchDistance(Vintagestory.API.Common.EnumHandling@)">
            <summary>
            The distance at which entities are counted as "touching" each other, for example used by EntityPartitioning and RepulseAgents
            <br/>Note: from 1.20.4 this is gathered and cached in a field when each entity is Initialized, if for any reason a mod or behavior needs to change the result later than Initialization then you should also update the Entity field .touchDistance
            </summary>
            <param name="handling"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityBehavior.ToleratesDamageFrom(Vintagestory.API.Common.Entities.Entity,Vintagestory.API.Common.EnumHandling@)">
            <summary>
            If true, then this entity will not retaliate if attacked by the specified eOther
            If false, then this entity will always retaliate (disregarding subsequent)
            </summary>
            <param name="eOther"></param>
            <param name="handling"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityBehavior.ShouldEarlyLoadCollectibleMappings">
            <summary>
            Returns true if this entity behavior needs to remap inventory items/blocks when placed as part of a schematic during world generation.
            If true, EarlyLoadCollectibleMappings() will be called, during schematic placement, instead of OnLoadCollectibleMappings()
            </summary>
            <returns></returns>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityDespawnData.Reason">
            <summary>
            The reason this entity despawned.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityDespawnData.DamageSourceForDeath">
            <summary>
            In the case of death, this was the damage source.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.Entities.EntityPos">
            <summary>
            Represents all positional information of an entity, such as coordinates, motion and angles
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityPos.HeadYaw">
            <summary>
            The yaw of the agents head
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityPos.HeadPitch">
            <summary>
            The pitch of the agents head
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.EntityPos.X">
            <summary>
            The X position of the Entity.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.EntityPos.Y">
            <summary>
            The Y position of the Entity.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.EntityPos.InternalY">
            <summary>
            Dimension unaware Y position of the Entity.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.EntityPos.Z">
            <summary>
            The Z position of the Entity.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.EntityPos.Roll">
            <summary>
            The rotation around the X axis, in radians.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.EntityPos.Yaw">
            <summary>
            The rotation around the Y axis, in radians.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.EntityPos.Pitch">
            <summary>
            The rotation around the Z axis, in radians.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.EntityPos.AsBlockPos">
            <summary>
            Returns the position as BlockPos object
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.EntityPos.XYZInt">
            <summary>
            Returns the position as a Vec3i object
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.EntityPos.XYZ">
            <summary>
            Returns the position as a Vec3d object. Note, dimension aware
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.EntityPos.XYZFast">
            <summary>
            Returns the position as a Vec3d object. Note, dimension aware
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.EntityPos.XYZFloat">
            <summary>
            Returns the position as a Vec3f object
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.EntityPos.XYZFloatFast">
            <summary>
            Returns the position as a FastVec3f object
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.SetPosWithDimension(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Sets this position to a Vec3d, including setting the dimension
            </summary>
            <param name="pos">The Vec3d to set to.</param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.SetPosWithDimension(Vintagestory.API.MathTools.IVec3)">
            <summary>
            Sets this position to a Vec3d, including setting the dimension
            </summary>
            <param name="pos">The Vec3d to set to.</param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.SetPosWithDimension(Vintagestory.API.MathTools.FastVec3d)">
            <summary>
            Sets this position to a Vec3d, including setting the dimension
            </summary>
            <param name="pos">The Vec3d to set to.</param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.SetPos(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Sets this position to a Vec3d, without dimension information - needed in some situations where no dimension change is intended
            </summary>
            <param name="pos">The Vec3d to set to.</param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.Add(System.Double,System.Double,System.Double)">
            <summary>
            Adds given position offset
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns>Returns itself</returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.Add(Vintagestory.API.MathTools.Vec3f)">
            <summary>
            Adds given position offset
            </summary>
            <param name="vec"></param>
            <returns>Returns itself</returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.SetPos(System.Int32,System.Int32,System.Int32)">
            <summary>
            Sets the entity position.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.SetPos(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Sets the entity position.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.SetPos(System.Double,System.Double,System.Double)">
            <summary>
            Sets the entity position.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.SetPos(Vintagestory.API.Common.Entities.EntityPos)">
            <summary>
            Sets the entity position.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.SetAngles(Vintagestory.API.Common.Entities.EntityPos)">
            <summary>
            Sets the entity angles.
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.SetAngles(System.Single,System.Single,System.Single)">
            <summary>
            Sets the entity position.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.SetYaw(System.Single)">
            <summary>
            Sets the Yaw of this entity.
            </summary>
            <param name="yaw"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.InRangeOf(Vintagestory.API.Common.Entities.EntityPos,System.Int32)">
            <summary>
            Returns true if the entity is within given distance of the other entity
            </summary>
            <param name="position"></param>
            <param name="squareDistance"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.InRangeOf(System.Int32,System.Int32,System.Int32,System.Single)">
            <summary>
            Returns true if the entity is within given distance of given position
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <param name="squareDistance"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.InHorizontalRangeOf(System.Int32,System.Int32,System.Single)">
            <summary>
            Returns true if the entity is within given distance of given position
            </summary>
            <param name="x"></param>
            <param name="z"></param>
            <param name="squareDistance"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.InRangeOf(System.Double,System.Double,System.Double,System.Single)">
            <summary>
            Returns true if the entity is within given distance of given position
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <param name="squareDistance"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.InRangeOf(Vintagestory.API.MathTools.BlockPos,System.Single)">
            <summary>
            Returns true if the entity is within given distance of given block position
            </summary>
            <param name="pos"></param>
            <param name="squareDistance"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.InRangeOf(Vintagestory.API.MathTools.Vec3f,System.Single)">
            <summary>
            Returns true if the entity is within given distance of given position
            </summary>
            <param name="pos"></param>
            <param name="squareDistance"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.InRangeOf(Vintagestory.API.MathTools.Vec3d,System.Single,System.Single)">
            <summary>
            Returns true if the entity is within given distance of given position
            </summary>
            <param name="position"></param>
            <param name="horRangeSq"></param>
            <param name="vertRange"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.SquareDistanceTo(System.Single,System.Single,System.Single)">
            <summary>
            Returns the squared distance of the entity to this position
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.SquareDistanceTo(System.Double,System.Double,System.Double)">
            <summary>
            Returns the squared distance of the entity to this position. Note: dimension aware, this requires the parameter y coordinate also to be based on InternalY as it should be (like EntityPos.XYZ)
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.SquareDistanceTo(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Returns the squared distance of the entity to this position. Note: dimension aware, this requires the parameter Vec3d pos.Y coordinate also to be based on InternalY as it should be (like EntityPos.XYZ)
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.SquareHorDistanceTo(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Returns the horizontal squared distance of the entity to this position
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.SquareDistanceTo(Vintagestory.API.Common.Entities.EntityPos)">
            <summary>
            Returns the squared distance of the entity to this position
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.Copy">
            <summary>
            Creates a full copy
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.GetViewVector">
            <summary>
            Same as AheadCopy(1) - AheadCopy(0)
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.GetViewVector(System.Single,System.Single)">
            <summary>
            Same as AheadCopy(1) - AheadCopy(0)
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.AheadCopy(System.Double)">
            <summary>
            Returns a new entity position that is in front of the position the entity is currently looking at
            </summary>
            <param name="offset"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.HorizontalAheadCopy(System.Double)">
            <summary>
            Returns a new entity position that is in front of the position the entity is currently looking at using only the entities yaw, meaning the resulting coordinate will be always at the same y position.
            </summary>
            <param name="offset"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.BehindCopy(System.Double)">
            <summary>
            Returns a new entity position that is behind of the position the entity is currently looking at
            </summary>
            <param name="offset"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.BasicallySameAs(Vintagestory.API.Common.Entities.EntityPos,System.Double)">
            <summary>
            Makes a "basiclly equals" check on the position, motions and angles using a small tolerance of epsilon=0.0001f
            </summary>
            <param name="pos"></param>
            <param name="epsilon"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.BasicallySameAsIgnoreMotion(Vintagestory.API.Common.Entities.EntityPos,System.Double)">
            <summary>
            Makes a "basiclly equals" check on the position, motions and angles using a small tolerance of epsilon=0.0001f. Ignores motion
            </summary>
            <param name="pos"></param>
            <param name="epsilon"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.BasicallySameAsIgnoreAngles(Vintagestory.API.Common.Entities.EntityPos,System.Double)">
            <summary>
            Makes a "basiclly equals" check on position and motions using a small tolerance of epsilon=0.0001f. Ignores the entities angles.
            </summary>
            <param name="pos"></param>
            <param name="epsilon"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.SetFrom(Vintagestory.API.Common.Entities.EntityPos)">
            <summary>
            Loads the position and angles from given entity position.
            </summary>
            <param name="pos"></param>
            <returns>Returns itself</returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.SetFrom(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Loads the position from given position.
            </summary>
            <param name="pos"></param>
            <returns>Returns itself</returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.ToBytes(System.IO.BinaryWriter)">
            <summary>
            Serializes all positional information. Does not write HeadYaw and HeadPitch.
            </summary>
            <param name="writer"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityPos.FromBytes(System.IO.BinaryReader)">
            <summary>
            Deserializes all positional information. Does not read HeadYaw and HeadPitch
            </summary>
            <param name="reader"></param>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityProperties.Id">
            <summary>
            Assigned on registering the entity type
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityProperties.Code">
            <summary>
            The entity code in the code.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityProperties.Variant">
            <summary>
            Variant values as resolved from blocktype/itemtype or entitytype
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityProperties.Class">
            <summary>
            The classification of the entity.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityProperties.Tags">
            <summary>
            List of entity tags ids
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityProperties.Habitat">
            <summary>
            Natural habitat of the entity. Decides whether to apply gravity or not
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityProperties.CollisionBoxSize">
            <summary>
            The size of the entity's hitbox (default: 0.2f/0.2f)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityProperties.DeadCollisionBoxSize">
            <summary>
            The size of the hitbox while the entity is dead.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityProperties.SelectionBoxSize">
            <summary>
            The size of the entity's hitbox (default: null, i.e. same as collision box)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityProperties.DeadSelectionBoxSize">
            <summary>
            The size of the hitbox while the entity is dead.  (default: null, i.e. same as dead collision box)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityProperties.EyeHeight">
            <summary>
            How high the camera should be placed if this entity were to be controlled by the player
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityProperties.Weight">
            <summary>
            The mass of this type of entity in kilograms, on average - defaults to 25kg (medium-low) if not set by the asset
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityProperties.CanClimb">
            <summary>
            If true the entity can climb on walls
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityProperties.CanClimbAnywhere">
            <summary>
            If true the entity can climb anywhere.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityProperties.FallDamage">
            <summary>
            Whether the entity should take fall damage
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityProperties.FallDamageMultiplier">
            <summary>
            If less than one, mitigates fall damage (e.g. could be used for mountainous creatures); if more than one, increases fall damage (e.g fragile creatures?)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityProperties.RotateModelOnClimb">
            <summary>
            Should the model in question rotate if climbing?
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityProperties.KnockbackResistance">
            <summary>
            The resistance to being pushed back by an impact.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityProperties.Attributes">
            <summary>
            The attributes of the entity.  These are the Attributes read from the entity type's JSON file.
            <br/>If your code modifies these Attributes (not recommended!), the changes will apply to all entities of the same type.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityProperties.Client">
            <summary>
            The client properties of the entity.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityProperties.Server">
            <summary>
            The server properties of the entity.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityProperties.Sounds">
            <summary> The sounds that this entity can make. </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityProperties.ResolvedSounds">
            <summary>
            The sounds this entity can make after being resolved.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityProperties.IdleSoundChance">
            <summary>
            The chance that an idle sound will play for the entity.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityProperties.Drops">
            <summary>
            The drops for the entity when they are killed.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.EntityProperties.SpawnCollisionBox">
            <summary>
            The collision box they have.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityProperties.Clone">
            <summary>
            Creates a copy of this object.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityProperties.Initialize(Vintagestory.API.Common.Entities.Entity,Vintagestory.API.Common.ICoreAPI)">
            <summary> Initalizes the properties for the entity. </summary>
            <param name="entity">the entity to tie this to.</param>
            <param name="api">The Core API</param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityProperties.InitSounds(Vintagestory.API.Common.IAssetManager)">
            <summary> Initializes the sounds for this entity type. </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntitySidedProperties.Attributes">
            <summary>
            The attributes of the entity type.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntitySidedProperties.BehaviorsAsJsonObj">
            <summary>
            Entity type behaviors
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntitySidedProperties.Behaviors">
            <summary>
            When this property is attached to an entity - the behaviors attached of entity.
            <br/>To modify this list, please call Entity.AddBehavior() or Entity.RemoveBehavior()
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntitySidedProperties.Clone">
            <summary>
            Use this to make a deep copy of these properties.
            </summary>
            <returns></returns>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityClientProperties.Renderer">
            <summary>
            Set by the game client
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityClientProperties.RendererName">
            <summary>
            Name of there renderer system that draws this entity
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityClientProperties.Textures">
            <summary>
            Directory of all available textures. First one will be default one
            <br/>Note: from game version 1.20.4, this is <b>null on server-side</b> (except during asset loading start-up stage)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityClientProperties.TexturesAlternatesCount">
            <summary>
            Set by a server at the end of asset loading, immediately prior to setting Textures to null; relevant to spawning entities with variant textures
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.EntityClientProperties.Texture">
            <summary>
            Used by various renderers to retrieve the entities texture it should be drawn with
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityClientProperties.GlowLevel">
            <summary>
            The glow level for the entity.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityClientProperties.PitchStep">
            <summary>
            Makes entities pitch forward and backwards when stepping
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityClientProperties.Shape">
            <summary>
            The shape of the entity
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityClientProperties.LoadedShape">
            <summary>
            Only loaded for World.EntityTypes instances of EntityProperties, because it makes no sense to have 1000 loaded entities needing to load 1000 shapes. During entity load/spawn this value is assigned however.
            On the client it gets set by the EntityTextureAtlasManager.
            On the server by the EntitySimulation system
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityClientProperties.LoadedShapeForEntity">
            <summary>
            The shape for this particular entity who owns this properties object
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityClientProperties.Size">
            <summary>
            The size of the entity (default: 1f)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityClientProperties.SizeGrowthFactor">
            <summary>
            The rate at which the entity's size grows with age - used for chicks and other small baby animals
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityClientProperties.Animations">
            <summary>
            The animations of the entity.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.EntityClientProperties.FirstTexture">
            <summary>
            Returns the first texture in Textures dict
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityClientProperties.Init(Vintagestory.API.Common.AssetLocation,Vintagestory.API.Common.IWorldAccessor)">
            <summary>
            Initializes the client properties.
            </summary>
            <param name="entityTypeCode"></param>
            <param name="world"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityClientProperties.Clone">
            <summary>
            Does not clone textures, but does clone Shape
            <br/>Note: This method does not clone the LoadedShape (nor the LoadedAlternateShapes, if present). The LoadedShape (and any alternate) is not normally modified after entityType loading. An Entity created at runtime (each Entity carries a clone of its EntityProperties) should not normally require its own unique copy of the LoadedShape or the LoadedAlternateShapes. Exceptionally, an entity needing to clone and modify LoadedShape or one of the LoadedAlternateShapes (e.g. EntityDressedHumanoid, or a boat furling and unfurling sails) should do so in its own custom OnTesselation() method, likely accessing the shape via EntityClientProperties.LoadedShapeForEntity.
            </summary>
            <returns></returns>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityServerProperties.SpawnConditions">
            <summary>
            The conditions for spawning the entity.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityServerProperties.Clone">
            <summary>
            Makes a copy of this EntiyServerProperties type
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityServerProperties.BehaviorsWithEarlyLoadCollectibleMappings(Vintagestory.API.Common.Entities.Entity,Vintagestory.API.Common.IWorldAccessor)">
            <summary>
            Returns a list of all entity behaviors that return true for ShouldEarlyLoadCollectibleMappings
            <br/>Note, these behaviors are temporarily created in this list only, not attached to the entity, and should be discarded by the caller
            </summary>
            <param name="entity"></param>
            <param name="world"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.Entities.EntityRenderer">
            <summary>
            Base class for entity rendering
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityRenderer.entity">
            <summary>
            The current entity
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.EntityRenderer.capi">
            <summary>
            A reference to the client api
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityRenderer.#ctor(Vintagestory.API.Common.Entities.Entity,Vintagestory.API.Client.ICoreClientAPI)">
            <summary>
            Creates a new entity renderer instance
            </summary>
            <param name="entity"></param>
            <param name="api"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityRenderer.OnEntityLoaded">
            <summary>
            Called when the entity is now fully either spawned or fully loaded
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityRenderer.DoRender3DOpaque(System.Single,System.Boolean)">
            <summary>
            Draw call with no shader initialized
            </summary>
            <param name="dt"></param>
            <param name="isShadowPass"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityRenderer.DoRender3DOpaqueBatched(System.Single,System.Boolean)">
            <summary>
            Draw call with the Entityanimated shader loaded and initialized with the correct color/fog/sunlight/texture values
            If shadows are enabled, then this method is called again with shadowmap shader intialized
            </summary>
            <param name="dt"></param>
            <param name="isShadowPass"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityRenderer.DoRender2D(System.Single)">
            <summary>
            Ortho mode draw call for 2d gui stuff, like name tags. Gui shader initialized already.
            </summary>
            <param name="dt"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityRenderer.RenderToGui(System.Single,System.Double,System.Double,System.Double,System.Single,System.Single)">
            <summary>
            Called before gui rendering starts. Drawing of the whole model into a gui dialog. Gui shader initialized already.
            </summary>
            <param name="dt"></param>
            <param name="posX"></param>
            <param name="posY"></param>
            <param name="posZ"></param>
            <param name="yawDelta"></param>
            <param name="size"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityRenderer.BeforeRender(System.Single)">
            <summary>
            Called before in-world rendering starts
            </summary>
            <param name="dt"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityRenderer.Dispose">
            <summary>
            Should free up all the resources
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityRenderer.DoRender3DOIT(System.Single)">
            <summary>
            Render call for the transparent pass
            </summary>
            <param name="dt"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.EntityRenderer.DoRender3DOITBatched(System.Single)">
            <summary>
            Batched render call for the transparent pass
            </summary>
            <param name="dt"></param>
        </member>
        <member name="T:Vintagestory.API.Common.Entities.EnumEntityActivity">
            <summary>
            A list of activities that an entity can perform.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.IPhysicsTickable.OnPhysicsTick(System.Single)">
            <summary>
            Called at a fixed interval, potentially 30 times per second (if server is running smoothly)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.IPhysicsTickable.AfterPhysicsTick(System.Single)">
            <summary>
            Called once per server tick, after all physics ticking has occurred; on main thread.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.IProjectileJsonConfig.Damage">
            <summary>
            Projectile damage when hitting an entity.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.IProjectileJsonConfig.DamageTier">
            <summary>
            Projectile damage tier when hitting an entity.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.IProjectileJsonConfig.DamageType">
            <summary>
            Projectile damage type when hitting an entity.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.IProjectileJsonConfig.IgnoreInvFrames">
            <summary>
            If damage source done by projectile will ignore invincibility frames.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.IProjectileJsonConfig.DropOnImpactChance">
            <summary>
            Chance for projectile to not be destroyed on impact.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.IProjectileJsonConfig.DamageStackOnImpact">
            <summary>
            How much <see cref="P:Vintagestory.API.Common.Entities.IProjectile.ProjectileStack"/> should be damage on impact.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.IProjectileJsonConfig.Collectible">
            <summary>
            If projectile can be collected when stuck.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.IProjectileJsonConfig.Weight">
            <summary>
            Projectile weight used for knockback calculations.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.Entities.IProjectile">
            <summary>
            Interface for universal approach to spawning projectile entities.<br/>
            Some of the properties may not be used by all projectiles. But they can still be set or read.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.IProjectile.FiredBy">
            <summary>
            Entity that spawned the projectile
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.IProjectile.Damage">
            <summary>
            Projectile damage when hitting an entity.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.IProjectile.DamageTier">
            <summary>
            Projectile damage tier when hitting an entity.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.IProjectile.DamageType">
            <summary>
            Projectile damage type when hitting an entity.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.IProjectile.IgnoreInvFrames">
            <summary>
            If damage source done by projectile will ignore invincibility frames.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.IProjectile.ProjectileStack">
            <summary>
            Projectile item, can be dropped on impact, or damaged, or destroyed.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.IProjectile.WeaponStack">
            <summary>
            Weapon item stack used to shoot this projectile.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.IProjectile.DropOnImpactChance">
            <summary>
            Chance for projectile to not be destroyed on impact.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.IProjectile.DamageStackOnImpact">
            <summary>
            How much <see cref="P:Vintagestory.API.Common.Entities.IProjectile.ProjectileStack"/> should be damage on impact.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.IProjectile.Collectible">
            <summary>
            If projectile can be collected when stuck.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.IProjectile.EntityHit">
            <summary>
            Will return true if projectile hit at least one entity.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.IProjectile.Weight">
            <summary>
            Projectile weight used for knockback calculations.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.IProjectile.Stuck">
            <summary>
            If projectile is stuck in terrain.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.IProjectile.PreInitialize">
            <summary>
            Sets initial rotation if needed. Should be called each time entity is spawned before it spawned.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.IProjectile.SetFromConfig(Vintagestory.API.Common.Entities.IProjectileJsonConfig)">
            <summary>
            Sets projectile parameters from config
            </summary>
            <param name="config"></param>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.ProjectileJsonConfig.Damage">
            <summary>
            Projectile damage when hitting an entity.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.ProjectileJsonConfig.DamageTier">
            <summary>
            Projectile damage tier when hitting an entity.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.ProjectileJsonConfig.DamageType">
            <summary>
            Projectile damage type when hitting an entity.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.ProjectileJsonConfig.IgnoreInvFrames">
            <summary>
            If damage source done by projectile will ignore invincibility frames.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.ProjectileJsonConfig.DropOnImpactChance">
            <summary>
            Chance for projectile to not be destroyed on impact.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.ProjectileJsonConfig.DamageStackOnImpact">
            <summary>
            How much <see cref="P:Vintagestory.API.Common.Entities.IProjectile.ProjectileStack"/> should be damage on impact.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.ProjectileJsonConfig.Collectible">
            <summary>
            If projectile can be collected when stuck.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.ProjectileJsonConfig.Weight">
            <summary>
            Projectile weight used for knockback calculations.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.PModuleInAir.Applicable(Vintagestory.API.Common.Entities.Entity,Vintagestory.API.Common.Entities.EntityPos,Vintagestory.API.Common.EntityControls)">
            <summary>
            Applicable if the player is in fly mode or the entity isn't colliding with anything including liquid.
            Must be alive.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.PModuleInAir.ApplyFlying(System.Single,Vintagestory.API.Common.Entities.Entity,Vintagestory.API.Common.Entities.EntityPos,Vintagestory.API.Common.EntityControls)">
            <summary>
            Creative flight movement, possibly glider too?
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.PModule.Initialize(Vintagestory.API.Datastructures.JsonObject,Vintagestory.API.Common.Entities.Entity)">
            <summary>
            Config passed in from the behavior in the entity class.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.PModule.Applicable(Vintagestory.API.Common.Entities.Entity,Vintagestory.API.Common.Entities.EntityPos,Vintagestory.API.Common.EntityControls)">
            <summary>
            Can this be applied this tick?
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.PModule.DoApply(System.Single,Vintagestory.API.Common.Entities.Entity,Vintagestory.API.Common.Entities.EntityPos,Vintagestory.API.Common.EntityControls)">
            <summary>
            Apply a modifier to this entity.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.TrackedPlayerProperties.posY">
            <summary>
            Relative value. bottom 0...1 sealevel, 1 .... 2 max-y
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.TrackedPlayerProperties.sunSlight">
            <summary>
            0...32
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.TrackedPlayerProperties.Playstyle">
            <summary>
            The servers playstyle
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.Entities.ClimateSpawnCondition">
            <summary>
            A list of conditions based on climate.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.ClimateSpawnCondition.MinTemp">
            <summary>
            The minimum tempurature for the object to spawn.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.ClimateSpawnCondition.MaxTemp">
            <summary>
            The maximum tempurature for the object to spawn.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.ClimateSpawnCondition.MinRain">
            <summary>
            The minimum amount of rain for the object to spawn.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.ClimateSpawnCondition.MaxRain">
            <summary>
            The maximum amount of rain for the object to spawn.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.ClimateSpawnCondition.MinForest">
            <summary>
            The minimum amount of forest cover needed for the object to spawn.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.ClimateSpawnCondition.MaxForest">
            <summary>
            The maximum amount of forest cover needed for the object to spawn.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.ClimateSpawnCondition.MinShrubs">
            <summary>
            The minimum amount of shrubbery needed for the object to spawn.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.ClimateSpawnCondition.MaxShrubs">
            <summary>
            The maximum amount of shrubbery needed for the object to spawn.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.ClimateSpawnCondition.MinY">
            <summary>
            Won't span below minY. 0...1 is world bottom to sea level, 1...2 is sea level to world top
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.ClimateSpawnCondition.MaxY">
            <summary>
            Won't span above maxY. 0...1 is world bottom to sea level, 1...2 is sea level to world top
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.ClimateSpawnCondition.MinForestOrShrubs">
            <summary>
            The minimum amount of forest or shrubs for the object to spawn.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.ClimateSpawnCondition.RandomMapCodePool">
            <summary>
            If defined, further constrains the spawning areas by a large scale 2D density map
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.ClimateSpawnCondition.HabitatSize">
            <summary>
            If true, will check for suitable habitat size (e.g. when underwater and size of 2 will check that there is also water 2 blocks away in all directions
            For habitat land: Not implemented yet
            For habitat air: Not implemented yet
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.Entities.SpawnConditions">
             <summary>
             The spawn conditions assigned to various things.
             </summary>
             <example>
             <code language="json">
            "spawnconditions": {
            	"worldgen": {
            		"TriesPerChunk": {
            			"avg": 0.1,
            			"var": 0
            		},
            		"tryOnlySurface": true,
            		"minLightLevel": 10,
            		"groupSize": {
            			"dist": "verynarrowgaussian",
            			"avg": 3,
            			"var": 4
            		},
            		"insideBlockCodes": [ "air", "tallgrass-*" ],
            		"minTemp": 5,
            		"maxTemp": 28,
            		"minRain": 0.45,
            		"minForest": 0.35,
            		"companions": [ "pig-wild-female", "pig-wild-piglet" ]
            	},
            	"runtime": {
            		"group": "neutral",
            		"tryOnlySurface": true,
            		"chance": 0.0006,
            		"maxQuantity": 4,
            		"minLightLevel": 10,
            		"groupSize": {
            			"dist": "verynarrowgaussian",
            			"avg": 3,
            			"var": 4
            		},
            		"insideBlockCodes": [ "air", "tallgrass-*" ],
            		"minTemp": 5,
            		"maxTemp": 28,
            		"minRain": 0.45,
            		"minForestOrShrubs": 0.35,
            		"companions": [ "pig-wild-female", "pig-wild-piglet" ]
            	}
            }
             </code>
             </example>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.SpawnConditions.Climate">
            <summary>
            Control specific spawn conditions based on climate.
            Note that this will override any climate values set in <see cref="F:Vintagestory.API.Common.Entities.SpawnConditions.Runtime"/> and <see cref="F:Vintagestory.API.Common.Entities.SpawnConditions.Worldgen"/>.
            It is recommended to specify climate values here rather than setting them in the other spawn conditions.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.SpawnConditions.Runtime">
            <summary>
            Runtime requirements for the object to spawn.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.SpawnConditions.Worldgen">
            <summary>
            Worldgen/region requirements for the object to spawn.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.Entities.QuantityByGroup">
            <summary>
            Allows you to control spawn limits based on a set of entity codes using a wildcard.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.QuantityByGroup.MaxQuantity">
            <summary>
            The maximum quantity for all entities that match the <see cref="F:Vintagestory.API.Common.Entities.QuantityByGroup.Code"/> wildcard.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.QuantityByGroup.Code">
            <summary>
            A wildcard asset location which can group many entities together.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.Entities.RuntimeSpawnConditions">
            <summary>
            A set of spawn conditions for chunks that have already been generated. Most properties are got from <see cref="T:Vintagestory.API.Common.Entities.BaseSpawnConditions"/>.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.RuntimeSpawnConditions.Chance">
            <summary>
            The chance, usually between 0 (0% chance) and 1 (100% chance), for the entity to spawn during the spawning round. 
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.RuntimeSpawnConditions.MaxQuantity">
            <summary>
            The max number of this entity that can ever exist in the world for a single player.
            With more than one player, the max number is actually (this)x(current player count)x(<see cref="F:Vintagestory.API.Common.Entities.RuntimeSpawnConditions.SpawnCapPlayerScaling"/>).
            Consider using <see cref="F:Vintagestory.API.Common.Entities.RuntimeSpawnConditions.MaxQuantityByGroup"/> to allow a max quantity based from many entities.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.RuntimeSpawnConditions.MaxQuantityByGroup">
            <summary>
            The max quantity of objects to spawn based on a wildcard group of entities.<br/>
            For example, using <see cref="F:Vintagestory.API.Common.Entities.RuntimeSpawnConditions.MaxQuantity"/> will allow a max of 20 pig-wild-male instances.
            Using this with a group of "pig-*" will allow a max of 20 pig entities, regardless if male, female, or piglet.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.RuntimeSpawnConditions.SpawnCapPlayerScaling">
            <summary>
            The maximum number of this entity that can exist in the world is <see cref="F:Vintagestory.API.Common.Entities.RuntimeSpawnConditions.MaxQuantity"/> x (current player count) x (this).
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.RuntimeSpawnConditions.MinDistanceToPlayer">
            <summary>
            The minimum distance from the player that an object will spawn.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.RuntimeSpawnConditions.doneInitialLoad">
            <summary>
            Set server-side after this has been loaded once, used only for error logging purposes
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.RuntimeSpawnConditions.Clone">
            <summary>
            Creates a deep copy of this set of spawn conditions.
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.Entities.WorldGenSpawnConditions">
            <summary>
            A set of spawn conditions for when chunks are generated. Most properties are got from <see cref="T:Vintagestory.API.Common.Entities.BaseSpawnConditions"/>.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.WorldGenSpawnConditions.TriesPerChunk">
            <summary>
            The amount of times the object will attempt to spawn per chunk.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.Entities.BaseSpawnConditions">
            <summary>
            A base class for entities spawning conditions.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.BaseSpawnConditions.Group">
            <summary>
            The group of the spawn conditions. Vanilla groups are:<br/>
            - hostile<br/>
            - neutral<br/>
            - passive<br/>
            Hostile creatures should be defined as such here.
            This will automatically stop them spawning with a grace timer,
                and in locations where hostiles should not spawn.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.BaseSpawnConditions.MinLightLevel">
            <summary>
            The minimum light level for an object to spawn.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.BaseSpawnConditions.MaxLightLevel">
            <summary>
            The maximum light level for an object to spawn.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.BaseSpawnConditions.LightLevelType">
            <summary>
            The type of light counted for spawning purposes.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.BaseSpawnConditions.HerdSize">
            <summary>
            the group size for the spawn.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.BaseSpawnConditions.GroupSize">
            <summary>
            Obsolete. Use <see cref="F:Vintagestory.API.Common.Entities.BaseSpawnConditions.HerdSize"/> instead.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.BaseSpawnConditions.Companions">
            <summary>
            Additional companions for the spawn.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.BaseSpawnConditions.InsideBlockCodes">
            <summary>
            The blocks that the object will spawn in.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.BaseSpawnConditions.RequireSolidGround">
            <summary>
            Checks to see if the object requires solid ground.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.BaseSpawnConditions.TryOnlySurface">
            <summary>
            checks to see if the object can only spawn on the surface.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Entities.BaseSpawnConditions.ClimateValueMode">
            <summary>
            Whether the rain and temperature values are referring to the worldgen values (i.e. yearly averages) or the current values at the moment of spawning.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.Entities.SyncedEntityPos">
            <summary>
            Represents an EntityPos thats synced over the network using a dirty flag and regular is-dirty checks
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.SyncedEntityPos.XInternal">
            <summary>
            Internally sets the value of X.  This may cause desync.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.SyncedEntityPos.YInternal">
            <summary>
            Internally sets the value of Y.  This may cause desync.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.SyncedEntityPos.ZInternal">
            <summary>
            Internally sets the value of Z.  This may cause desync.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.SyncedEntityPos.RollInternal">
            <summary>
            Sets the roll of the Entity Position.  This may cause desync.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.SyncedEntityPos.YawInternal">
            <summary>
            Sets the yaw of the Entity Position.  This may cause desync.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.SyncedEntityPos.PitchInternal">
            <summary>
            Sets the pitch of the Entity Position.  This may cause desync.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.SyncedEntityPos.StanceInternal">
            <summary>
            Sets the stance of the Entity Position.  This may cause desync.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.Entities.SyncedEntityPos.Dirty">
            <summary>
            Marks the position as dirty- requiring a refresh from the server.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Entities.SyncedEntityPos.MarkClean">
            <summary>
            Marks the position as clean- and not requiring a refresh from the server.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IWearableShapeSupplier.GetShape(Vintagestory.API.Common.ItemStack,Vintagestory.API.Common.Entities.Entity,System.String)">
             <summary>
            
             </summary>
             <param name="stack"></param>
             <param name="forEntity"></param>
             <param name="texturePrefixCode"></param>
             <returns>null for returning back to default behavior (read shape from attributes)</returns>
        </member>
        <member name="T:Vintagestory.API.Common.EntityAgent">
            <summary>
            A goal-directed entity which observes and acts upon an environment
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityAgent.CanSwivel">
            <summary>
            No swivel when we are mounted
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityAgent.BodyYaw">
            <summary>
            The yaw of the agents body
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityAgent.BodyYawServer">
            <summary>
            The yaw of the agents body on the client, retrieved from the server (BehaviorInterpolatePosition lerps this value and sets BodyYaw)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityAgent.DeadNotify">
            <summary>
            True if all clients have to be informed about this entities death. Set to false once all clients have been notified
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityAgent.HerdId">
            <summary>
            Unique identifier for a herd
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityAgent.LeftHandItemSlot">
            <summary>
            Item in the left hand slot of the entity agent.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityAgent.RightHandItemSlot">
            <summary>
            Item in the right hand slot of the entity agent.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityAgent.ShouldDespawn">
            <summary>
            Whether or not the entity should despawn.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityAgent.AllowDespawn">
            <summary>
            Whether or not the entity is allowed to despawn (Default: true)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityAgent.Controls">
            <summary>
            The controls for this entity.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityAgent.ServerControls">
            <summary>
            The server controls for this entity
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.EntityAgent.IsEyesSubmerged">
            <summary>
            Are the eyes of this entity submerged in liquid?
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.EntityAgent.TryMount(Vintagestory.API.Common.IMountableSeat)">
            <summary>
            Attempts to mount this entity on a target.
            </summary>
            <param name="onmount">The mount to mount</param>
            <returns>Whether it was mounted or not.</returns>
        </member>
        <member name="M:Vintagestory.API.Common.EntityAgent.TryUnmount">
            <summary>
            Attempts to un-mount the player.
            </summary>
            <returns>Whether or not unmounting was successful</returns>
        </member>
        <member name="M:Vintagestory.API.Common.EntityAgent.ReceiveSaturation(System.Single,Vintagestory.API.Common.EnumFoodCategory,System.Single,System.Single)">
            <summary>
            Recieves the saturation from a food source.
            </summary>
            <param name="saturation">The amount of saturation recieved.</param>
            <param name="foodCat">The cat of food... err Category of food.</param>
            <param name="saturationLossDelay">The delay before the loss of saturation</param>
            <param name="nutritionGainMultiplier"></param>
        </member>
        <member name="M:Vintagestory.API.Common.EntityAgent.ShouldReceiveSaturation(System.Single,Vintagestory.API.Common.EnumFoodCategory,System.Single,System.Single)">
            <summary>
            Whether or not the target should recieve saturation.
            </summary>
            <param name="saturation">The amount of saturation recieved.</param>
            <param name="foodCat">The cat of food... err Category of food.</param>
            <param name="saturationLossDelay">The delay before the loss of saturation</param>
            <param name="nutritionGainMultiplier"></param>
        </member>
        <member name="F:Vintagestory.API.Common.EntityAgent.insideBlock">
            <summary>
            updated by GetWalkSpeedMultiplier()
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityAgent.insidePos">
            <summary>
            updated by GetWalkSpeedMultiplier()
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.EntityAgent.GetWalkSpeedMultiplier(System.Double)">
            <summary>
            Gets the walk speed multiplier.
            </summary>
            <param name="groundDragFactor">The amount of drag provided by the current ground. (Default: 0.3)</param>
        </member>
        <member name="M:Vintagestory.API.Common.EntityAgent.ToBytes(System.IO.BinaryWriter,System.Boolean)">
            <summary>
            Serializes the slots contents to be stored in the SaveGame
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.EntityAgent.FromBytes(System.IO.BinaryReader,System.Boolean)">
            <summary>
            Loads the entity from a stored byte array from the SaveGame
            </summary>
            <param name="reader"></param>
            <param name="forClient"></param>
        </member>
        <member name="M:Vintagestory.API.Common.EntityAgent.SetHeadPositionToWatchedAttributes">
            <summary>
            Relevant only for entities with heads, implemented in EntityAgent.  Other sub-classes of Entity (if not EntityAgent) should similarly override this if the headYaw/headPitch are relevant to them
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.EntityAgent.GetHeadPositionFromWatchedAttributes">
            <summary>
            Relevant only for entities with heads, implemented in EntityAgent.  Other sub-classes of Entity (if not EntityAgent) should similarly override this if the headYaw/headPitch are relevant to them
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.EntityAgent.TryStopHandAction(System.Boolean,Vintagestory.API.Common.EnumItemUseCancelReason)">
            <summary>
            Attempts to stop the hand  action.
            </summary>
            <param name="isCancel">Whether or not the action is cancelled or stopped.</param>
            <param name="cancelReason">The reason for stopping the action.</param>
            <returns>Whether the stop was cancelled or not.</returns>
        </member>
        <member name="M:Vintagestory.API.Common.EntityAgent.WalkInventory(Vintagestory.API.Common.OnInventorySlot)">
            <summary>
            This walks the inventory for the entity agent.
            </summary>
            <param name="handler">the event to fire while walking the inventory.</param>
        </member>
        <member name="M:Vintagestory.API.Common.EntityAgent.ToleratesDamageFrom(Vintagestory.API.Common.Entities.Entity)">
            <summary>
            If true, then this entity will not retaliate if attacked by the specified eOther
            </summary>
            <param name="eOther"></param>
        </member>
        <member name="F:Vintagestory.API.Common.EntityChunky.subDimensionIndex">
            <summary>
            Used to map chunks from load/save game and server-client packets to this specific entity.
            The position of saved chunks will include a reference to this index
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityChunky.IsInteractable">
            <summary>
            Whether or not the EntityChunky is interactable.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.EnumEntityAction">
            <summary>
            A players in-world action
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumEntityAction.None">
            <summary>
            No action - used when setting preCondition
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumEntityAction.Forward">
            <summary>
            Walk forwards
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumEntityAction.Backward">
            <summary>
            Walk backwards
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumEntityAction.Left">
            <summary>
            Walk sideways left
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumEntityAction.Right">
            <summary>
            Walk sideways right
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumEntityAction.Jump">
            <summary>
            Jump
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumEntityAction.Sneak">
            <summary>
            Sneak
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumEntityAction.Sprint">
            <summary>
            Sprint mode
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumEntityAction.Glide">
            <summary>
            Glide
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumEntityAction.FloorSit">
            <summary>
            Sit on the ground
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumEntityAction.LeftMouseDown">
            <summary>
            Left mouse down
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumEntityAction.RightMouseDown">
            <summary>
            Right mouse down
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumEntityAction.Up">
            <summary>
            Fly or swim up
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumEntityAction.Down">
            <summary>
            Fly or swim down
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumEntityAction.CtrlKey">
            <summary>
            Holding down the Ctrl key (which might have been remapped)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumEntityAction.ShiftKey">
            <summary>
            Holding down the Shift key (which might have been remapped)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumEntityAction.InWorldLeftMouseDown">
            <summary>
            Left mouse down
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumEntityAction.InWorldRightMouseDown">
            <summary>
            Right mouse down
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.EntityControls">
            <summary>
            The available controls to move around a character in a game world
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityControls.OnAction">
            <summary>
            To execute a call handler registered by the engine. Don't use this one, use api.Input.InWorldAction instead.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityControls.DetachedMode">
            <summary>
            If true, the entity is either flying, gliding or swimming.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityControls.NoClip">
            <summary>
            If true, the entity has NoClip active.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityControls.FlyPlaneLock">
            <summary>
            the axis lock for the fly plane.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityControls.WalkVector">
            <summary>
            Current walking direction.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityControls.FlyVector">
            <summary>
            Current flying direction
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityControls.TriesToMove">
            <summary>
            Checks to see if the entity is attempting to move in any direction (excluding jumping)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityControls.IsFlying">
            <summary>
            Whether or not the entity is flying.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityControls.IsClimbing">
            <summary>
            Whether or not the entity is climbing
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityControls.IsAiming">
            <summary>
            Whether or not the entity is aiming
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityControls.IsStepping">
            <summary>
            Whether or not the entity is currently stepping up a block
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityControls.HandUse">
            <summary>
            If the player is currently using the currently held item in a special way (e.g. attacking with smithing hammer or eating an edible item)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityControls.HandUsingBlockSel">
            <summary>
            The block pos the player started using
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityControls.MovespeedMultiplier">
            <summary>
            The movement speed multiplier.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityControls.Dirty">
            <summary>
            Whether or not this entity is dirty.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityControls.Forward">
            <summary>
            A check for if the entity is moving in the direction it's facing.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityControls.Backward">
            <summary>
            A check for if the entity is moving the opposite direction it's facing.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityControls.Left">
            <summary>
            A check to see if the entity is moving left the direction it's facing.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityControls.Right">
            <summary>
            A check to see if the entity is moving right the direction it's facing.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityControls.Jump">
            <summary>
            A check whether to see if the entity is jumping.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityControls.Sneak">
            <summary>
            A check whether to see if the entity is sneaking. Use Controls.ShiftKey instead for mouse interaction modifiers, as it is a separable control.
            <br/>A test for Sneak should be used only when we want to know whether the entity is crouching or using Sneak motion, which affects things like whether it is detectable by other entities, seen on the map, or how the shield is used
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityControls.Gliding">
            <summary>
            A check to see whether the entity is gliding
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityControls.FloorSitting">
            <summary>
            A check to see whether the entity is sitting on the floor.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityControls.Sprint">
            <summary>
            A check to see whether the entity is sprinting. Use Controls.CtrlKey instead for mouse interaction modifiers, as it is a separable control.
            <br/>A test for Sprint should be used only when we want to know whether the entity is sprinting.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityControls.Up">
            <summary>
            A check to see whether the entity is moving up.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityControls.Down">
            <summary>
            A check to see whether the entity is moving down.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityControls.LeftMouseDown">
            <summary>
            A check to see if the entity is holding the in-world rleft mouse button down.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityControls.RightMouseDown">
            <summary>
            A check to see if the entity is holding the in-world right mouse button down.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityControls.CtrlKey">
            <summary>
            A check to see if the entity is holding down the Ctrl key (which may be the same as the Sprint key or one or other may have been remapped).
            <br/>Should normally be used in conjunction with a mouse button, including OnHeldInteractStart() methods etc
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityControls.ShiftKey">
            <summary>
            A check to see if the entity is holding down the Shift key (which may be the same as the Sneak key or one or other may have been remapped).
            <br/>Should normally be used in conjunction with a mouse button, including OnHeldInteractStart() methods etc
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.EntityControls.CalcMovementVectors(Vintagestory.API.Common.Entities.EntityPos,System.Single)">
            <summary>
            Calculates the movement vectors for the player.
            </summary>
            <param name="pos">The position of the player.</param>
            <param name="dt">The change in time.</param>
        </member>
        <member name="M:Vintagestory.API.Common.EntityControls.SetFrom(Vintagestory.API.Common.EntityControls)">
            <summary>
            Copies the controls from the provided controls to this set of controls.
            </summary>
            <param name="controls">The controls to copy over.</param>
        </member>
        <member name="M:Vintagestory.API.Common.EntityControls.UpdateFromPacket(System.Boolean,System.Int32)">
            <summary>
            Updates the data from the packet.
            </summary>
            <param name="pressed">Whether or not the key was pressed.</param>
            <param name="action">the id of the key that was pressed.</param>
        </member>
        <member name="M:Vintagestory.API.Common.EntityControls.StopAllMovement">
            <summary>
            Forces the entity to stop all movements, resets all flags to false
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.EntityControls.ToInt">
            <summary>
            Converts the values to a single int flag.
            </summary>
            <returns>the compressed integer.</returns>
        </member>
        <member name="M:Vintagestory.API.Common.EntityControls.FromInt(System.Int32)">
            <summary>
            Converts the int flags to movement controls.
            </summary>
            <param name="flagsInt">The compressed integer.</param>
        </member>
        <member name="P:Vintagestory.API.Common.EntityItem.Itemstack">
            <summary>
            The itemstack attached to this Item Entity.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityItem.ByPlayerUid">
            <summary>
            The UID of the player that dropped this itemstack.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityItem.MaterialDensity">
            <summary>
            Returns the material density of the item.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityItem.IsInteractable">
            <summary>
            Whether or not the EntityItem is interactable.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityItem.LightHsv">
            <summary>
            Get the HSV colors for the lighting.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.EntityItem.FromItemstack(Vintagestory.API.Common.ItemStack,Vintagestory.API.MathTools.Vec3d,Vintagestory.API.MathTools.Vec3d,Vintagestory.API.Common.IWorldAccessor)">
            <summary>
            Builds and spawns an EntityItem from a provided ItemStack.
            </summary>
            <param name="itemstack">The contents of the EntityItem</param>
            <param name="position">The position of the EntityItem</param>
            <param name="velocity">The velocity of the EntityItem</param>
            <param name="world">The world the EntityItems preside in.</param>
            <returns>A freshly baked EntityItem to introduce to the world.</returns>
        </member>
        <member name="F:Vintagestory.API.Common.EntityPlayer.PreviousBlockSelection">
            <summary>
            The block position previously selected by the player
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityPlayer.BlockSelection">
            <summary>
            The block or blocks currently selected by the player
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityPlayer.EntitySelection">
            <summary>
            The entity or entities selected by the player
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityPlayer.DeathReason">
            <summary>
            The reason the player died (if the player did die). Set only by the game server.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityPlayer.CameraPos">
            <summary>
            The camera position of the player's view. Set only by the game client.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityPlayer.CameraPosOffset">
            <summary>
            An offset which can be applied to the camera position to achieve certain special effects or special features, for example Timeswitch feature. Set only by the game client.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityPlayer.WalkYaw">
            <summary>
            The yaw the player currently wants to walk towards to. Value set by the PlayerPhysics system. Set by the game client and server.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityPlayer.WalkPitch">
            <summary>
            The pitch the player currently wants to move to. Only relevant while swimming. Value set by the PlayerPhysics system. Set by the game client and server.
            </summary>
        </member>
        <member name="E:Vintagestory.API.Common.EntityPlayer.OnFootStep">
            <summary>
            Set this to hook into the foot step sound creator thingy. Currently used by the armor system to create armor step sounds. Called by the game client and server.
            </summary>
        </member>
        <member name="E:Vintagestory.API.Common.EntityPlayer.OnImpact">
            <summary>
            Called when the player falls onto the ground. Called by the game client and server.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityPlayer.OnCanSpawnNearby">
            <summary>
            Called whenever the game wants to spawn new creatures around the player. Called only by the game server.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityPlayer.entityListForPartitioning">
            <summary>
            Used to assist if this EntityPlayer needs to be repartitioned
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntityPlayer.walkSpeed">
            <summary>
            This is not walkspeed per se, it is the walkspeed modifier as a result of armor and other gear.  It corresponds to Stats.GetBlended("walkspeed") and gets updated every tick
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityPlayer.PlayerUID">
            <summary>
            The player's internal Universal ID. Available on the client and the server.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityPlayer.RightHandItemSlot">
            <summary>
            The players right hand contents. Available on the client and the server.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityPlayer.LeftHandItemSlot">
            <summary>
            The playres left hand contents. Available on the client and the server.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.EntityPlayer.Player">
            <summary>
            The base player attached to this EntityPlayer.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.EntityPlayer.CanSpawnNearby(Vintagestory.API.Common.Entities.EntityProperties,Vintagestory.API.MathTools.Vec3d,Vintagestory.API.Common.Entities.RuntimeSpawnConditions)">
            <summary>
            Might be called outside the main thread.
            </summary>
            <param name="type"></param>
            <param name="spawnPosition"></param>
            <param name="sc"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.EntityPlayer.GetNearestBlockSoundSource(Vintagestory.API.MathTools.BlockPos,System.Double,System.Int32,System.Boolean)">
            <summary>
            Returns null if there is no nearby sound source
            </summary>
            <param name="tmpPos">Might get intentionally modified if the nearest sound source the player is intersecting with is in an adjacent block</param>
            <param name="yOffset"></param>
            <param name="blockLayer"></param>
            <param name="usecollisionboxes"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.EntityPlayer.SetCurrentlyControlledPlayer">
            <summary>
            Sets the current player.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntitySelection.Entity">
            <summary>
            The selected Entity.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntitySelection.Position">
            <summary>
            The position of the selected entity.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntitySelection.Face">
            <summary>
            the facing of the entity.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntitySelection.HitPosition">
            <summary>
            The hit position of the entity.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EntitySelection.SelectionBoxIndex">
            <summary>
            Which selection box was aimed at. The index corresponds to the array returned by Block.GetSelectionBoxes()
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.EntityStats.Register(System.String,Vintagestory.API.Common.EnumStatBlendType)">
            <summary>
            Set up a stat. Its not required to call this method, you can go straight to doing .Set() if your blend type is weighted sum. Also initializes a base value of 1.
            </summary>
            <param name="category"></param>
            <param name="blendType"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.EntityStats.Set(System.String,System.String,System.Single,System.Boolean)">
            <summary>
            Set a stat value, if the stat catgory does not exist, it will create a new default one. Initializes a base value of 1 when creating a new stat.
            </summary>
            <param name="category"></param>
            <param name="code"></param>
            <param name="value"></param>
            <param name="persistent"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.EntityStats.Remove(System.String,System.String)">
            <summary>
            Remove a stat value
            </summary>
            <param name="category"></param>
            <param name="code"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.EntityStats.GetBlended(System.String)">
            <summary>
            Get the final stat value, blended by the stats blend type
            </summary>
            <param name="category"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.EnumAICreatureType">
            <summary>
            Types of creatures used for pathfinding. Humanoids prefer taking paths.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumAICreatureType.Default">
            <summary>
            Dumbest version. Never enters boiling water and lava. Prefers not to be in water. Slightly prefers to walk on blocks that give a walk speed bonus.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumAICreatureType.LandCreature">
            <summary>
            Same as Default, Additionally never enters some types of blocks that are on fire (fire pits, coal piles and pit kilns)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumAICreatureType.Humanoid">
            <summary>
            Same as LandCreature, additionally strongly prefers to walk on blocks that give a walk speed bonues, such as stone paths
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumAICreatureType.HeatProofCreature">
            <summary>
            Does not avoid fire or boiling water. Still Avoids Lava
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumAICreatureType.SeaCreature">
            <summary>
            Does not avoid water in any way
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.EnumHabitat">
            <summary>
            Habitats for entities. Controls some minor logic for entities.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumHabitat.Sea">
            <summary>
            No gravity, AiTaskWander will look for water or ice.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumHabitat.Land">
            <summary>
            Apply gravity. Standard land creature.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumHabitat.Air">
            <summary>
            No gravity. 
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumHabitat.Underwater">
            <summary>
            No gravity, AiTaskWander will look for water or ice.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.ActiveSlotChangeEventArgs">
            <summary>
            This contains data about an event that fires when a player changes which
            slot they're actively using. Such as the currently selected hotbar slot.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ActiveSlotChangeEventArgs.FromSlot">
            <summary>
            The currently active slot being switched away from.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ActiveSlotChangeEventArgs.ToSlot">
            <summary>
            The target slot that is being switched to.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.EnumGameMode">
            <summary>
            A players game mode
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumGameMode.Guest">
            <summary>
            Can not place or remove blocks, but can interact with blocks and entities
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumGameMode.Survival">
            <summary>
            May not fly or break blocks immediately
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumGameMode.Creative">
            <summary>
            Can fly, break blocks immediately, etc.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumGameMode.Spectator">
            <summary>
            Can fly but may not interact with the world in any way
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.EnumHandHandling">
            <summary>
            How the engine should handle attacking with an item in hands
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumHandHandling.NotHandled">
            <summary>
            Uses the engine default behavior which is to play an attack animation and do block breaking/damage entities if in range. Will not call the *Step and *Stop methods.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumHandHandling.Handled">
            <summary>
            Uses the engine default behavior which is to play an attack or build animation and do block breaking/damage entities if in range,
            but also notify the server that the Use/Attack method has to be called serverside as well. Will call the *Step and *Stop methods.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumHandHandling.PreventDefaultAnimation">
            <summary>
            Do not play any default first person attack animation, but do block breaking/damage entities if in range. Notifies that the server that the Use/Attack method has to be called serverside as well. Will call the *Step and *Stop methods.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumHandHandling.PreventDefaultAction">
            <summary>
            Do play first person attack animation, don't break blocks/damage entities in range. Notifies that the server that the Use/Attack method has to be called serverside as well. Will call the *Step and *Stop methods.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumHandHandling.PreventDefault">
            <summary>
            Do not play any first person attack animation, don't break blocks in range or damage entities in range. Notifies that the server that the Use/Attack method has to be called serverside as well. Will call the *Step and *Stop methods.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumPlayerGroupMemberShip.Member">
            <summary>
            Member
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumPlayerGroupMemberShip.Op">
            <summary>
            Operator of this channel
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumPlayerGroupMemberShip.Owner">
            <summary>
            Owner of this channel
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.IPlayer">
            <summary>
            Represents a player
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IPlayer.Role">
            <summary>
            Returns the players privilege role
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IPlayer.Groups">
            <summary>
            The players player group memberships
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IPlayer.GetGroups">
            <summary>
            Load the players group that he is a member of
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IPlayer.GetGroup(System.Int32)">
            <summary>
            Returns the membership data if player is part of this group, otherwise null
            </summary>
            <param name="groupId"></param>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IPlayer.Entitlements">
            <summary>
            List of the users entitlements, vanilla servers will list VIV and/or VS Team member entitlements
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IPlayer.CurrentBlockSelection">
            <summary>
            The block the player is currently aiming at
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IPlayer.CurrentEntitySelection">
            <summary>
            The entity the player is currently aiming at
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IPlayer.PlayerName">
            <summary>
            Get the players character name. The character name can be changed every 60 days in the account manager, so don't consider the players name as a unique identifier for a player. Use PlayerUID instead
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IPlayer.PlayerUID">
            <summary>
            Returns the players identifier that is unique across all registered players and will never change. Use this to uniquely identify a player for all eternity. Shorthand for WorldData.PlayerUID
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IPlayer.ClientId">
            <summary>
            The players current client id, 0 if not connected. This is the number thats assigned by the server for any connecting player. You probably don't need this number.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IPlayer.Entity">
            <summary>
            The entity the player currently controls
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IPlayer.WorldData">
            <summary>
            Some world-specific information about the player. This object is stored with the save game.
            If you modify it server side, be sure to call player.BroadcastPlayerData() to send it to affected clients.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IPlayer.InventoryManager">
            <summary>
            Returns the given players inventory manager that let's you do various interesting things with the players inventory.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IPlayer.Privileges">
            <summary>
            The list of privileges the player currently has access to (by role or direct assignment)
            This list is available for the playing player on the client, but not for other players.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IPlayer.HasPrivilege(System.String)">
            <summary>
            Check if a player has the given privilege
            </summary>
            <param name = "privilegeCode">The privilege to check</param>
            <returns>true if the player has the given privilege, false otherwise</returns>
        </member>
        <member name="T:Vintagestory.API.Common.IPlayerInventoryManager">
            <summary>
            Let's you do various interesting things with the players inventory.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IPlayerInventoryManager.ActiveTool">
            <summary>
            If the player currently holds a tool in the active hand, this value will be set
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IPlayerInventoryManager.OffhandTool">
            <summary>
            If the player currently holds a tool in the off hand, this value will be set
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IPlayerInventoryManager.ActiveHotbarSlotNumber">
            <summary>
            The players currently active hot bar slot
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IPlayerInventoryManager.ActiveHotbarSlot">
            <summary>
            Returns the currently selected hotbar slot. Might return null if there is no hotbar!
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IPlayerInventoryManager.OffhandHotbarSlot">
            <summary>
            Returns the off hand hotbar slot. Might return null if there is no hotbar!
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IPlayerInventoryManager.Inventories">
            <summary>
            Dictionary of all inventories currently available to the player (some may however not be opened)
            <br/>Note: for iterating through these, Inventories.Values will not be ordered.  Instead use InventoriesOrdered if you want consistent ordering on server and client e.g. for shift-click operations
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IPlayerInventoryManager.InventoriesOrdered">
            <summary>
            An iterable collection of all inventories currently available to the player, arranged in the same order (by creation order) on both server and client to prevent syncing / ghosting issues
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IPlayerInventoryManager.OpenedInventories">
            <summary>
            List of inventories currently opened by the player
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IPlayerInventoryManager.MouseItemSlot">
            <summary>
            Returns the slot that holds the currently dragged itemstack
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IPlayerInventoryManager.CurrentHoveredSlot">
            <summary>
            The slot the player currently hovers over with his mouse cursor
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IPlayerInventoryManager.DropMouseSlotItems(System.Boolean)">
            <summary>
            Drops the current contents of the mouse slot onto the ground
            </summary>
            <param name="dropAll">If false, will only drop 1</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IPlayerInventoryManager.DropItem(Vintagestory.API.Common.ItemSlot,System.Boolean)">
            <summary>
            Drops the current contents of given slot onto the ground
            </summary>
            <param name="slot"></param>
            <param name="fullStack"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IPlayerInventoryManager.NotifySlot(Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.ItemSlot)">
            <summary>
            Produces a visual cue on given slot, if it's currently part of an inventory and visible to the player
            If called on server side, the server will send a network packet to notify the client.
            </summary>
            <param name="player"></param>
            <param name="slot"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IPlayerInventoryManager.GetInventoryName(System.String)">
            <summary>
            Returns the full inventory id for given inventory class name, e.g. GlobalConstants.creativeInvClassName
            </summary>
            <param name="inventoryClassName"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IPlayerInventoryManager.GetOwnInventory(System.String)">
            <summary>
            Same as GetInventory() with playeruid appended to the inventoryClassName. Returns null if not found. You can use GlobalConstants.*ClassName to get the vanilla player inventories.
            </summary>
            <param name="inventoryClassName"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IPlayerInventoryManager.GetInventory(System.String)">
            <summary>
            Retrieve a players inventory. Returns null if not found.
            </summary>
            <param name="inventoryId"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IPlayerInventoryManager.GetHotbarItemstack(System.Int32)">
            <summary>
            Gets the itemstack that in the given slot number of the players hotbar
            </summary>
            <param name="slotId"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IPlayerInventoryManager.GetHotbarInventory">
            <summary>
            Returns the hotbar inventory object. Obvious comment is being obvious.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IPlayerInventoryManager.GetInventory(System.String,Vintagestory.API.Common.InventoryBase@)">
            <summary>
            Returns true if the invID is found, and the found IInventory value is in invFound; similar to Dictionary.TryGetValue, invFound is undefined if the result is false
            </summary>
            <param name="invID"></param>
            <param name="invFound"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IPlayerInventoryManager.GetBestSuitedSlot(Vintagestory.API.Common.ItemSlot,System.Boolean,Vintagestory.API.Common.ItemStackMoveOperation,System.Collections.Generic.List{Vintagestory.API.Common.ItemSlot})">
            <summary>
            Returns a slot that would best fit the contents of the source slot. This checks all inventories currently opened by the player.
            </summary>
            <param name="sourceSlot"></param>
            <param name="onlyPlayerInventory"></param>
            <param name="op"></param>
            <param name="skipSlots"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IPlayerInventoryManager.TryTransferAway(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.ItemStackMoveOperation@,System.Boolean,System.Boolean)">
            <summary>
            Tries to move away items from the source slot into any other slot of another inventory
            </summary>
            <param name="sourceSlot"></param>
            <param name="op"></param>
            <param name="onlyPlayerInventory">Forces to place the item only into the players personal inventory</param>
            <param name="slotNotifyEffect"></param>
            <returns>One or more client packets that may be sent to the server for synchronisation</returns>
        </member>
        <member name="M:Vintagestory.API.Common.IPlayerInventoryManager.TryTransferTo(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.ItemStackMoveOperation@)">
            <summary>
            Tries to move items from source slot to target slot (useful for client side inventory utilities)
            </summary>
            <param name="sourceSlot"></param>
            <param name="targetSlot"></param>
            <param name="op">If successfull, a client packet that may be sent to the server for synchronisation</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IPlayerInventoryManager.TryGiveItemstack(Vintagestory.API.Common.ItemStack,System.Boolean)">
            <summary>
            Tries to add given itemstack to the players inventory
            </summary>
            <param name="itemstack"></param>
            <param name="slotNotifyEffect"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IPlayerInventoryManager.OpenInventory(Vintagestory.API.Common.IInventory)">
            <summary>
            Notifies the inventory manager that the player has opened an inventory. Should always be called on both sides (client and server).
            Only then interaction with other inventories becomes possible
            </summary>
            <param name="inventory"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IPlayerInventoryManager.CloseInventory(Vintagestory.API.Common.IInventory)">
            <summary>
            Notifies the inventory manager that the player has closed an inventory. Should always be called on both sides (client and server). After closing interaction with given inventory becomes no longer possible until reopened
            </summary>
            <param name="inventory"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IPlayerInventoryManager.CloseInventoryAndSync(Vintagestory.API.Common.IInventory)">
            <summary>
            Like CloseInventory() but also sends the necessary packet to the server, if called from the client side: exactly like CloseInventory() if called from the server side
            </summary>
            <param name="inventory"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IPlayerInventoryManager.Find(System.Func{Vintagestory.API.Common.ItemSlot,System.Boolean})">
            <summary>
            Iterates over all inventory slots, returns true if your matcher returns true
            </summary>
            <param name="matcher"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IPlayerInventoryManager.HasInventory(Vintagestory.API.Common.IInventory)">
            <summary>
            Shorthand for Inventories.ContainsValue(inventory)
            </summary>
            <param name="inventory"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IPlayerInventoryManager.DiscardAll">
            <summary>
            Will discard all of the players inventory contents
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IPlayerInventoryManager.OnDeath">
            <summary>
            Will drop all of the players inventory contents
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IPlayerInventoryManager.DropAllInventoryItems(Vintagestory.API.Common.IInventory)">
            <summary>
            Drops the contents of given inventory
            </summary>
            <param name="inv"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IPlayerInventoryManager.BroadcastHotbarSlot">
            <summary>
            Server Side: Resends the hotbar slot contents to all other clients to make sure they render the correct held item
            Client side: No effect
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.IWorldPlayerData">
            <summary>
            Some world-specific information about a connected player. If you want modify any value, also broadcast the playerdata to all connected clients.
            This is the object that stored and loaded with the save game
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldPlayerData.PlayerUID">
            <summary>
            The players unique identifier
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldPlayerData.EntityPlayer">
            <summary>
            The player entity this player is currently controlling
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldPlayerData.EntityControls">
            <summary>
            The controls that moves around the EntityPlayer
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldPlayerData.LastApprovedViewDistance">
            <summary>
            The players viewing distance in blocks that is allowed by the server
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldPlayerData.DesiredViewDistance">
            <summary>
            The players desired viewing distance in blocks
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldPlayerData.CurrentGameMode">
            <summary>
            The players current game mode. Will return Spectator mode while the player is connecting.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldPlayerData.FreeMove">
            <summary>
            Whether the player can freely fly around
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldPlayerData.FreeMovePlaneLock">
            <summary>
            Whether the player is forcefully kept on vertical or horizontal plane during freemove
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldPlayerData.NoClip">
            <summary>
            Affected by collision boxes or not
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldPlayerData.MoveSpeedMultiplier">
            <summary>
            The players movement speed
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldPlayerData.PickingRange">
            <summary>
            Range of selectable blox
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IWorldPlayerData.AreaSelectionMode">
            <summary>
            Block selection mode
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldPlayerData.SetModdata(System.String,System.Byte[])">
            <summary>
            Allows setting of arbitrary, permanantly stored moddata attached to this player. Not synced to client.
            </summary>
            <param name="key"></param>
            <param name="data"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldPlayerData.RemoveModdata(System.String)">
            <summary>
            Removes the permanently stored mod data
            </summary>
            <param name="key"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IWorldPlayerData.GetModdata(System.String)">
            <summary>
            Retrieve arbitrary, permantly stored mod data
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.EnumHandling">
            <summary>
            Tells the engine how to handle default or subsequent similar behaviors
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumHandling.PassThrough">
            <summary>
            Do run default and subsequent behaviors/event listeneres, ignore return values
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumHandling.Handled">
            <summary>
            Do run default and subsequent behaviors/event listeneres, use return values
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumHandling.PreventDefault">
            <summary>
            Do not execute the default behavior, but let subsequent behaviors/event listeneres still execute, use return values
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumHandling.PreventSubsequent">
            <summary>
            Do not execute default behavior and do not let subsequent behaviors/event listeneres execute, use return values
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.FrameProfilerUtil.#ctor(System.String)">
            <summary>
            Used to create a FrameProfilerUtil on threads other than the main thread
            </summary>
            <param name="outputPrefix"></param>
        </member>
        <member name="M:Vintagestory.API.Common.FrameProfilerUtil.Begin(System.String,System.Object[])">
            <summary>
            Called by the game engine for each render frame or server tick
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.FrameProfilerUtil.Leave">
            <summary>
            Same as <see cref="M:Vintagestory.API.Common.FrameProfilerUtil.Mark(System.String)"/> when <see cref="M:Vintagestory.API.Common.FrameProfilerUtil.Enter(System.String)"/> was called before.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.FrameProfilerUtil.Mark(System.String,System.Object)">
            <summary>
            Use this method like .Mark where the string has a second component
            (For performance, this avoids concatenating the strings unnecessarily, where the profiler is not enabled)
            </summary>
            <param name="code"></param>
            <param name="param"></param>
        </member>
        <member name="M:Vintagestory.API.Common.FrameProfilerUtil.Mark(System.String)">
            <summary>
            Use this method to add a frame profiling marker, will set or add the time ellapsed since the previous mark to the frame profiling reults.
            </summary>
            <param name="code"></param>
        </member>
        <member name="M:Vintagestory.API.Common.FrameProfilerUtil.End">
            <summary>
            Called by the game engine at the end of the render frame or server tick
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.IClaimTraverseable">
            <summary>
            Implement this on a Block, BlockBehavior, BlockEntity or BlockEntityBehavior
            to allow it to be traversed for players with <see cref="F:Vintagestory.API.Common.EnumBlockAccessFlags.Traverse"/> permissions
            to the land claim or if AllowUseEveryone or AllowTraverseEveryone is set.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IClaimTraverseable.AllowTraverse">
            <summary>
            Return true if you want to allow this block to be interacted with when the player has traverse permissions on this land claim.
            Implement this if you need custom logic else it will just return true by default
            </summary>
            <returns></returns>
        </member>
        <member name="F:Vintagestory.API.Common.EnumMountAngleMode.Unaffected">
            <summary>
            Don't affect the mounted entity angles
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumMountAngleMode.PushYaw">
            <summary>
            Turn the player but allow him to still change its yaw
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumMountAngleMode.Push">
            <summary>
            Turn the player in all directions but allow him to still change its angles
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumMountAngleMode.FixateYaw">
            <summary>
            Fixate the mounted entity yaw to the mount
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumMountAngleMode.Fixate">
            <summary>
            Fixate all entity angles to the mount
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.SeatConfig.APName">
            <summary>
            Attachment point name
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.IMountable">
            <summary>
            Represents something the player can mount. Usually a block or an entity.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMountable.Seats">
            <summary>
            The seats of this mountable
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMountable.Position">
            <summary>
            Position of this mountable
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMountable.StepPitch">
            <summary>
            StepPitch (pitching when stepping up or down a block) of this mountable - valid client-side only, taken from EntityShapeRenderer
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMountable.Controller">
            <summary>
            The entity that controls this mountable - there can only be one
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMountable.OnEntity">
            <summary>
            The entity which this mountable really is (for example raft, boat or elk) - may be null if the IMountable is a bed or other block
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMountable.ControllingControls">
            <summary>
            The controls of the controlling seat (if any)
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.IMountableSeat">
            <summary>
            Represents a seat of a mountable object.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMountableSeat.Entity">
            <summary>
            The entity behind this mountable supplier, if any
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMountableSeat.Passenger">
            <summary>
            The entity sitting on this seat
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMountableSeat.MountSupplier">
            <summary>
            The supplier of this mount provider. e.g. the raft entity for the 2 raft seats
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMountableSeat.CanControl">
            <summary>
            If this "mountable seat" is the one that controls the mountable entity/block
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMountableSeat.AngleMode">
            <summary>
            How the mounted entity should rotate
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMountableSeat.SuggestedAnimation">
            <summary>
            What animation the mounted entity should play
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMountableSeat.SkipIdleAnimation">
            <summary>
            Whether or not the mount should play the idle anim
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMountableSeat.LocalEyePos">
            <summary>
            Where to place the first person camera
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMountableSeat.SeatPosition">
            <summary>
            Exact position of this seat
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMountableSeat.RenderTransform">
            <summary>
            Transformation matrix that can be used to render the mounted entity at the right position. The transform is relative to the SeatPosition. May be null.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IMountableSeat.Controls">
            <summary>
            The control scheme of this seat
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IMountableSeat.MountableToTreeAttributes(Vintagestory.API.Datastructures.TreeAttribute)">
            <summary>
            When the entity unloads you should write whatever you need in here to reconstruct the IMountable after it's loaded again
            Reconstruct it by registering a mountable instancer through api.RegisterMountable(string className, GetMountableDelegate mountableInstancer)
            You must also set a string with key className, that is the same string that you used for RegisterMountable()
            </summary>
            <param name="tree"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IMountableSeat.DidUnmount(Vintagestory.API.Common.EntityAgent)">
            <summary>
            Called when the entity unmounted himself
            </summary>
            <param name="entityAgent"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IMountableSeat.DidMount(Vintagestory.API.Common.EntityAgent)">
            <summary>
            Called when the entity mounted himself
            </summary>
            <param name="entityAgent"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IMountableSeat.CanUnmount(Vintagestory.API.Common.EntityAgent)">
            <summary>
            Return true if the currently mounted entity can unmount (or if not mounted in the first place)
            </summary>
            <param name="entityAgent"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.IMultiblockOffset">
            <summary>
            Used to get the control / main block of a multiblock structure and to test for access right in land claims
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.IHeldBag">
            <summary>
            Bag is a non-placed block container, usually one that is attached to an entity
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IHeldBag.IsEmpty(Vintagestory.API.Common.ItemStack)">
            <summary>
            Should true if this this bag is empty
            </summary>
            <param name="bagstack"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IHeldBag.GetQuantitySlots(Vintagestory.API.Common.ItemStack)">
            <summary>
            Amount of slots this bag provides
            </summary>
            <param name="bagstack"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IHeldBag.GetContents(Vintagestory.API.Common.ItemStack,Vintagestory.API.Common.IWorldAccessor)">
            <summary>
            Should return all contents of this bag
            </summary>
            <param name="bagstack"></param>
            <param name="world"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IHeldBag.Store(Vintagestory.API.Common.ItemStack,Vintagestory.API.Common.ItemSlotBagContent)">
            <summary>
            Save given itemstack into this bag
            </summary>
            <param name="bagstack"></param>
            <param name="slot"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IHeldBag.Clear(Vintagestory.API.Common.ItemStack)">
            <summary>
            Delete all contents of this bag
            </summary>
            <param name="bagstack"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IHeldBag.GetSlotBgColor(Vintagestory.API.Common.ItemStack)">
            <summary>
            The Hex color the bag item slot should take, return null for default
            </summary>
            <param name="bagstack"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IHeldBag.GetStorageFlags(Vintagestory.API.Common.ItemStack)">
            <summary>
            The types of items that can be stored in this bag
            </summary>
            <param name="bagstack"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IHeldBag.GetStorageTags(Vintagestory.API.Common.ItemStack,Vintagestory.API.Common.ICoreAPI)">
            <summary>
            The types of items that can be stored in this bag
            </summary>
            <param name="bagstack"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.BagInventory">
            <summary>
            The contents of one or more bags
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.BagInventory.GetEnumerator">
            <summary>
            Gets the enumerator for the inventory.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.DummyInventory">
            <summary>
            A place holder inventory, useful, e.g., for when you want to render an itemstack and not have it spoil
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.DummySlot">
            <summary>
            A single slot not attached to a given inventory.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.IInventory">
            <summary>
            Basic interface representing an item inventory
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IInventory.Empty">
            <summary>
            Convenience method to check if this inventory contains anything
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IInventory.RemoveOnClose">
            <summary>
            Wether or not to remove the inventory from the players inventory list upon closing it
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IInventory.TakeLocked">
            <summary>
            Called by item slot, if true, player cannot take items from this chest
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IInventory.PutLocked">
            <summary>
            Called by item slot, if true, player cannot take items from this chest
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IInventory.LastChanged">
            <summary>
            Milliseconds since server startup when the inventory was last changed (not used currently)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IInventory.Item(System.Int32)">
            <summary>
            Gets or sets the slot at the given slot number.
            Returns null for invalid slot number (below 0 or above Count-1).
            The setter allows for replacing slots with custom ones, though caution is advised.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IInventory.ClassName">
            <summary>
            The name of the class for the inventory
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IInventory.InventoryID">
            <summary>
            The internal named id for the inventory
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IInventory.DirtySlots">
            <summary>
            The slots marked dirty.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IInventory.Open(Vintagestory.API.Common.IPlayer)">
            <summary>
            Marks the inventory available for interaction for this player. Returns a open inventory packet that can be sent to the server for synchronization.
            </summary>
            <param name="player"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IInventory.Close(Vintagestory.API.Common.IPlayer)">
            <summary>
            Removes ability to interact with this inventory for this player. Returns a close inventory packet that can be sent to the server for synchronization.
            </summary>
            <param name="player"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IInventory.HasOpened(Vintagestory.API.Common.IPlayer)">
            <summary>
            Checks if given player has this inventory currently opened
            </summary>
            <param name="player"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IInventory.GetBestSuitedSlot(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.ItemStackMoveOperation,System.Collections.Generic.List{Vintagestory.API.Common.ItemSlot})">
             <summary>
             Returns the best suited slot to hold the item from the source slot. Attached is also a weight, indicating how well the item is suited for it. If no suitable slot was found, the weight will be 0 and the slot will be null. A higher weight means the slot is better suited to hold the item. This method does not check if the player is actually allowed to access or modify this inventory.
            
             Weight will be 1 for a default slot that is empty
             Weight will be 2 for a default slot that can take one or more items from the source slot
             Weight could be 10 for an empty armor slot and the source slot contains an armor itemtack
             </summary>
             <param name="sourceSlot"></param>
             <param name="op"></param>
             <param name="skipSlots"></param>
             <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IInventory.ActivateSlot(System.Int32,Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.ItemStackMoveOperation@)">
            <summary>
            When the player clicks on this slot
            </summary>
            <param name="slotId"></param>
            <param name="sourceSlot"></param>
            <param name="op"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IInventory.TryFlipItems(System.Int32,Vintagestory.API.Common.ItemSlot)">
            <summary>
            Attempts to flip the contents of both slots
            </summary>
            <param name="targetSlotId"></param>
            <param name="sourceSlot"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IInventory.GetSlotId(Vintagestory.API.Common.ItemSlot)">
            <summary>
            Will return -1 if the slot is not found in this inventory
            </summary>
            <param name="slot"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IInventory.MarkSlotDirty(System.Int32)">
            <summary>
            Server Side: Will resent the slot contents to the client and mark them dirty there as well
            Client Side: Will refresh stack size, model and stuff if this stack is currently being rendered
            </summary>
            <param name="slotId"></param>
        </member>
        <member name="E:Vintagestory.API.Common.IInventory.SlotModified">
            <summary>
            Event that fires when a slot was modified
            </summary>
        </member>
        <member name="E:Vintagestory.API.Common.IInventory.SlotNotified">
            <summary>
            Event that fires when NotifySlot was called
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IInventoryNetworkUtil.Api">
            <summary>
            The core API
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IInventoryNetworkUtil.GetActivateSlotPacket(System.Int32,Vintagestory.API.Common.ItemStackMoveOperation)">
            <summary>
            Gets the active slot packet.
            </summary>
            <param name="slotId">The slot ID</param>
            <param name="op">The operation of the slot.</param>
        </member>
        <member name="M:Vintagestory.API.Common.IInventoryNetworkUtil.GetFlipSlotsPacket(Vintagestory.API.Common.IInventory,System.Int32,System.Int32)">
            <summary>
            Flips the items between the source slot and target slot.
            </summary>
            <param name="sourceInv">The inventory.</param>
            <param name="sourceSlotId">The source slot ID</param>
            <param name="targetSlotId">The target slot ID</param>
        </member>
        <member name="M:Vintagestory.API.Common.IInventoryNetworkUtil.HandleClientPacket(Vintagestory.API.Common.IPlayer,System.Int32,System.Byte[])">
            <summary>
            Handles the client packet.
            </summary>
            <param name="byPlayer">The player the packet came from</param>
            <param name="packetId">the ID of the packet.</param>
            <param name="data">the contents of the packet.</param>
        </member>
        <member name="M:Vintagestory.API.Common.IInventoryNetworkUtil.DidOpen(Vintagestory.API.Common.IPlayer)">
            <summary>
            Opens a target inventory, passing it to the player.
            </summary>
            <param name="player"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IInventoryNetworkUtil.DidClose(Vintagestory.API.Common.IPlayer)">
            <summary>
            Closes the target inventory attached to a player.
            </summary>
            <param name="player"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.CustomGetTransitionSpeedMulDelegate">
            <summary>
            Custom transition speed handler
            </summary>
            <param name="transType"></param>
            <param name="stack"></param>
            <param name="mulByConfig">Multiplier set by other configuration, if any, otherwise 1</param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.InventoryBase">
            <summary>
            Basic class representing an item inventory
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.InventoryBase.Api">
            <summary>
            The world in which the inventory is operating in. Gives inventories access to block types, item types and the ability to drop items on the ground.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.InventoryBase.Pos">
            <summary>
            Optional field that can be used to define in-world position of the inventory. Is set by most container block entities. Might be null!
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.InventoryBase.MaxContentDimensions">
            <summary>
            Optional field, if set, will check against the collectible dimensions and deny placecment if too large
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.InventoryBase.baseWeight">
            <summary>
            Is this inventory generally better suited to hold items? (e.g. set to 3 for armor in armor inventory, 2 for any item in hotbar inventory, 1 for any item in normal inventory)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.InventoryBase.className">
            <summary>
            The name of the class for the invnentory.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.InventoryBase.instanceID">
            <summary>
            the ID of the instance for the inventory.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.InventoryBase.lastChangedSinceServerStart">
            <summary>
            (Not implemented!) The time it was last changed since the server was started.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.InventoryBase.openedByPlayerGUIds">
            <summary>
            The players that had opened the inventory.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.InventoryBase.InvNetworkUtil">
            <summary>
            The network utility for the inventory
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.InventoryBase.dirtySlots">
            <summary>
            Slots that have been recently modified. This list is used on the server to update the clients (then cleared) and on the client to redraw itemstacks in guis (then cleared)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.InventoryBase.InventoryID">
            <summary>
            The internal name of the inventory instance.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.InventoryBase.ClassName">
            <summary>
            The class name of the inventory.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.InventoryBase.LastChanged">
            <summary>
            Milliseconds since server startup when the inventory was last changed
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.InventoryBase.Count">
            <summary>
            Returns the number of slots in this inventory.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.InventoryBase.Item(System.Int32)">
            <summary>
            Gets or sets the slot at the given slot number.
            Returns null for invalid slot number (below 0 or above Count-1).
            The setter allows for replacing slots with custom ones, though caution is advised.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.InventoryBase.IsDirty">
            <summary>
            True if this inventory has to be resent to the client or when the client has to redraw them
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.InventoryBase.DirtySlots">
            <summary>
            The slots that have been modified server side and need to be resent to the client or need to be redrawn on the client
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.InventoryBase.TakeLocked">
            <summary>
            Called by item slot, if true, player cannot take items from this inventory
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.InventoryBase.PutLocked">
            <summary>
            Called by item slot, if true, player cannot put items into this inventory
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.InventoryBase.RemoveOnClose">
            <summary>
            If true, the inventory will be removed from the list of available inventories once closed (i.e. is not a personal inventory that the player carries with him)
            </summary>
        </member>
        <member name="E:Vintagestory.API.Common.InventoryBase.SlotModified">
            <summary>
            Called whenever a slot has been modified
            </summary>
        </member>
        <member name="E:Vintagestory.API.Common.InventoryBase.SlotNotified">
            <summary>
            Called whenever a slot notification event has been fired. Is used by the slot grid gui element to visually wiggle the slot contents
            </summary>
        </member>
        <member name="E:Vintagestory.API.Common.InventoryBase.OnInventoryOpened">
            <summary>
            Called whenever this inventory was opened
            </summary>
        </member>
        <member name="E:Vintagestory.API.Common.InventoryBase.OnInventoryClosed">
            <summary>
            Called whenever this inventory was closed
            </summary>
        </member>
        <member name="E:Vintagestory.API.Common.InventoryBase.OnAcquireTransitionSpeed">
            <summary>
            If set, the value is returned when GetTransitionSpeedMul() is called instead of the default value.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.InventoryBase.Empty">
            <summary>
            Convenience method to check if this inventory contains anything
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.InventoryBase.FirstNonEmptySlot">
            <summary>
            Returns the first slot that is not empty or null
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.InventoryBase.AuditLogAccess">
            <summary>
            If opening or closing should produce a log line in the audit log.
            Since when items are moved the source and destination is logged already
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.#ctor(System.String,System.String,Vintagestory.API.Common.ICoreAPI)">
            <summary>
            Create a new instance of an inventory. You may choose any value for className and instanceID, but if more than one of these inventories can be opened at the same time, make sure for both of them to have a different id
            </summary>
            <param name="className"></param>
            <param name="instanceID"></param>
            <param name="api"></param>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.#ctor(System.String,Vintagestory.API.Common.ICoreAPI)">
            <summary>
            Create a new instance of an inventory. InvetoryID must have the format [className]-[instanceId]. You may choose any value for className and instanceID, but if more than one of these inventories can be opened at the same time, make sure for both of them to have a different id
            </summary>
            <param name="inventoryID"></param>
            <param name="api"></param>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.LateInitialize(System.String,Vintagestory.API.Common.ICoreAPI)">
            <summary>
            You can initialize an InventoryBase with null as parameters and use LateInitialize to set these values later. This is sometimes required during chunk loading.
            </summary>
            <param name="inventoryID"></param>
            <param name="api"></param>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.AfterBlocksLoaded(Vintagestory.API.Common.IWorldAccessor)">
            <summary>
            The event fired after all the blocks have loaded.
            </summary>
            <param name="world"></param>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.ResolveBlocksOrItems">
            <summary>
            Tells the invnetory to update blocks and items within the invnetory.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.GetSlotId(Vintagestory.API.Common.ItemSlot)">
            <summary>
            Will return -1 if the slot is not found in this inventory
            </summary>
            <param name="slot"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.GetBestSuitedSlot(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.ItemStackMoveOperation,System.Collections.Generic.List{Vintagestory.API.Common.ItemSlot})">
            <summary>
            Gets the best sorted slot for the given item.
            </summary>
            <param name="sourceSlot">The source item slot.</param>
            <param name="op">Can be null. If provided allows the inventory to make a better guess at suitability</param>
            <param name="skipSlots">The slots to skip.</param>
            <returns>A weighted slot set.</returns>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.GetSuitability(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.ItemSlot,System.Boolean)">
            <summary>
            How well a stack fits into this inventory. By default 1 for new itemstacks and 3 for an itemstack merge. Chests and other stationary container also add a +1 to the suitability if the source slot is from the players inventory.
            </summary>
            <param name="sourceSlot"></param>
            <param name="targetSlot"></param>
            <param name="isMerge"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.TryFlipItems(System.Int32,Vintagestory.API.Common.ItemSlot)">
            <summary>
            Attempts to flip the contents of both slots
            </summary>
            <param name="targetSlotId"></param>
            <param name="itemSlot"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.CanPlayerAccess(Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.Entities.EntityPos)">
            <summary>
            Determines whether or not the player can access the invnetory.
            </summary>
            <param name="player">The player attempting access.</param>
            <param name="position">The postion of the entity.</param>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.CanPlayerModify(Vintagestory.API.Common.IPlayer,Vintagestory.API.Common.Entities.EntityPos)">
            <summary>
            Determines whether or not the player can modify the invnetory.
            </summary>
            <param name="player">The player attempting access.</param>
            <param name="position">The postion of the entity.</param>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.OnSearchTerm(System.String)">
            <summary>
            The event fired when the search is applied to the item.
            </summary>
            <param name="text"></param>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.ActivateSlot(System.Int32,Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.ItemStackMoveOperation@)">
            <summary>
            Call when a player has clicked on this slot. The source slot is the mouse cursor slot. This handles the logic of either taking, putting or exchanging items.
            </summary>
            <param name="slotId"></param>
            <param name="sourceSlot"></param>
            <param name="op"></param>
            <returns>The appropriate packet needed to reflect the changes on the opposing side</returns>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.OnItemSlotModified(Vintagestory.API.Common.ItemSlot)">
            <summary>
            Called when one of the containing slots has been modified
            </summary>
            <param name="slot"></param>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.DidModifyItemSlot(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.ItemStack)">
            <summary>
            Called when one of the containing slots has been modified
            </summary>
            <param name="slot"></param>
            <param name="extractedStack">If non null the itemstack that was taken out</param>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.PerformNotifySlot(System.Int32)">
            <summary>
            Called when one of the containing slot was notified via NotifySlot
            </summary>
            <param name="slotId"></param>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.FromTreeAttributes(Vintagestory.API.Datastructures.ITreeAttribute)">
            <summary>
            Called when the game is loaded or loaded from server
            </summary>
            <param name="tree"></param>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.ToTreeAttributes(Vintagestory.API.Datastructures.ITreeAttribute)">
            <summary>
            Called when the game is saved or sent to client
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.TryFlipItemStack(Vintagestory.API.Common.IPlayer,System.String[],System.Int32[],System.Int64[])">
            <summary>
            Attempts to flip the inventory slots.
            </summary>
            <param name="owningPlayer">The player owner of the invnetory slots.</param>
            <param name="invIds">The IDs of the player inventory.</param>
            <param name="slotIds">The IDs of the target inventory.</param>
            <param name="lastChanged">The times these ids were last changed.</param>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.TryMoveItemStack(Vintagestory.API.Common.IPlayer,System.String[],System.Int32[],Vintagestory.API.Common.ItemStackMoveOperation@)">
            <summary>
            Attempts to move the item stack from the inventory to another slot.
            </summary>
            <param name="player">The player moving the items</param>
            <param name="invIds">The player inventory IDs</param>
            <param name="slotIds">The target Ids</param>
            <param name="op">The operation type.</param>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.GetSlotsIfExists(Vintagestory.API.Common.IPlayer,System.String[],System.Int32[])">
            <summary>
            Attempts to get specified slots if the slots exists.
            </summary>
            <param name="player">The player owning the slots</param>
            <param name="invIds">The inventory IDs</param>
            <param name="slotIds">The slot ids</param>
            <returns>The slots obtained.</returns>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.SlotsFromTreeAttributes(Vintagestory.API.Datastructures.ITreeAttribute,Vintagestory.API.Common.ItemSlot[],System.Collections.Generic.List{Vintagestory.API.Common.ItemSlot})">
            <summary>
            Creates a collection of slots from a tree.
            </summary>
            <param name="tree">The tree to build slots from</param>
            <param name="slots">pre-existing slots. (default: null)</param>
            <param name="modifiedSlots">Pre-modified slots. (default: null)</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.SlotsToTreeAttributes(Vintagestory.API.Common.ItemSlot[],Vintagestory.API.Datastructures.ITreeAttribute)">
            <summary>
            Sets the tree attribute using the slots.
            </summary>
            <param name="slots"></param>
            <param name="tree"></param>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.GenEmptySlots(System.Int32)">
            <summary>
            Gets a specified number of empty slots.
            </summary>
            <param name="quantity">the number of empty slots to get.</param>
            <returns>The pre-specified slots.</returns>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.NewSlot(System.Int32)">
            <summary>
            A command to build a new empty slot.
            </summary>
            <param name="i">the index of the slot.</param>
            <returns>An empty slot bound to this inventory.</returns>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.MarkSlotDirty(System.Int32)">
            <summary>
            Server Side: Will resent the slot contents to the client and mark them dirty there as well
            Client Side: Will refresh stack size, model and stuff if this stack is currently being rendered
            </summary>
            <param name="slotId"></param>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.DiscardAll">
            <summary>
            Discards everything in the item slots.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.DropSlots(Vintagestory.API.MathTools.Vec3d,System.Int32[])">
            <summary>
            Drops the contents of the specified slots in the world.
            </summary>
            <param name="pos">The position of the inventory attached to the slots.</param>
            <param name="slotsIds">The slots to have their inventory drop.</param>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.DropAll(Vintagestory.API.MathTools.Vec3d,System.Int32)">
            <summary>
            Drops the contents of all the slots into the world.
            </summary>
            <param name="pos">Where to drop all this stuff.</param>
            <param name="maxStackSize">If non-zero, will split up the stacks into stacks of give max stack size</param>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.Clear">
            <summary>
            Deletes the contents of all the slots
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.GetTransitionSpeedMul(Vintagestory.API.Common.EnumTransitionType,Vintagestory.API.Common.ItemStack)">
            <summary>
            Does this inventory speed up or slow down a transition for given itemstack? (Default: 1 for perish and 0 otherwise)
            </summary>
            <param name="transType"></param>
            <param name="stack"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.Open(Vintagestory.API.Common.IPlayer)">
            <summary>
            Marks the inventory available for interaction for this player. Returns a open inventory packet that can be sent to the server for synchronization.
            </summary>
            <param name="player"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.Close(Vintagestory.API.Common.IPlayer)">
            <summary>
            Removes ability to interact with this inventory for this player. Returns a close inventory packet that can be sent to the server for synchronization.
            </summary>
            <param name="player"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.HasOpened(Vintagestory.API.Common.IPlayer)">
            <summary>
            Checks if given player has this inventory currently opened
            </summary>
            <param name="player"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.GetEnumerator">
            <summary>
            Gets the enumerator for the inventory.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.GetAutoPushIntoSlot(Vintagestory.API.MathTools.BlockFacing,Vintagestory.API.Common.ItemSlot)">
            <summary>
            Return the slot where a chute may push items into. Return null if it shouldn't move items into this inventory.
            </summary>
            <param name="atBlockFace"></param>
            <param name="fromSlot"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryBase.GetAutoPullFromSlot(Vintagestory.API.MathTools.BlockFacing)">
            <summary>
            Return the slot where a chute may pull items from. Return null if it is now allowed to pull any items from this inventory
            </summary>
            <param name="atBlockFace"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.InventoryBasePlayer">
            <summary>
            Abstract class used for all inventories that are "on" the player. Any inventory not inheriting from this class will not be stored to the savegame as part of the players inventory.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.InventoryBasePlayer.playerUID">
            <summary>
            The player ID for the inventory.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.InventoryBasePlayer.Player">
            <summary>
            The owning player of this inventory
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.InventoryDisplayed">
            <summary>
            A general purpose inventory which sends update packets to nearby players (used for rendering Display Case, Pulveriser, etc)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryDisplayed.OnItemSlotModified(Vintagestory.API.Common.ItemSlot)">
            <summary>
            Called when one of the containing slots has been modified (the base version of this is empty)
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.InventoryGeneric">
            <summary>
            A general purpose inventory
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryGeneric.#ctor(Vintagestory.API.Common.ICoreAPI)">
            <summary>
            Creates an empty (invalid) inventory. Must call init() to propery init the inventory
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryGeneric.#ctor(System.Int32,System.String,System.String,Vintagestory.API.Common.ICoreAPI,Vintagestory.API.Common.NewSlotDelegate)">
            <summary>
            Create a new general purpose inventory
            </summary>
            <param name="quantitySlots"></param>
            <param name="className"></param>
            <param name="instanceId"></param>
            <param name="api"></param>
            <param name="onNewSlot"></param>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryGeneric.#ctor(System.Int32,System.String,Vintagestory.API.Common.ICoreAPI,Vintagestory.API.Common.NewSlotDelegate)">
            <summary>
            Create a new general purpose inventory
            </summary>
            <param name="quantitySlots"></param>
            <param name="invId"></param>
            <param name="api"></param>
            <param name="onNewSlot"></param>
        </member>
        <member name="P:Vintagestory.API.Common.InventoryGeneric.Count">
            <summary>
            Amount of available slots
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.InventoryGeneric.Item(System.Int32)">
            <summary>
            Get slot for given slot index
            </summary>
            <param name="slotId"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryGeneric.FromTreeAttributes(Vintagestory.API.Datastructures.ITreeAttribute)">
            <summary>
            Loads the slot contents from given treeAttribute
            </summary>
            <param name="treeAttribute"></param>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryGeneric.ToTreeAttributes(Vintagestory.API.Datastructures.ITreeAttribute)">
            <summary>
            Stores the slot contents to invtree
            </summary>
            <param name="invtree"></param>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryGeneric.NewSlot(System.Int32)">
            <summary>
            Called when initializing the inventory or when loading the contents
            </summary>
            <param name="slotId"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.InventoryInfinite">
            <summary>
            A inventory meant for block entities, with no upper limit in size (int.MaxValue, to be precise)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryInfinite.#ctor(Vintagestory.API.Common.NewInfSlotDelegate)">
            <summary>
            Creates an inventory with no upper limit in size (int.MaxValue, to be precise)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.InventoryInfinite.Count">
            <summary>
            Amount of defined slots
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryInfinite.FromTreeAttributes(Vintagestory.API.Datastructures.ITreeAttribute)">
            <summary>
            Loads the slot contents from given treeAttribute
            </summary>
            <param name="treeAttribute"></param>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryInfinite.ToTreeAttributes(Vintagestory.API.Datastructures.ITreeAttribute)">
            <summary>
            Stores the slot contents to invtree
            </summary>
            <param name="invtree"></param>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryInfinite.NewSlot(System.String)">
            <summary>
            Called when initializing the inventory or when loading the contents
            </summary>
            <param name="slotId"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.InventoryPerPlayer.MarkDirty">
            <summary>
            allow the server to resend changed PlayerQuantities
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.ItemSlot">
            <summary>
            The default item slot to item stacks
            </summary>
        </member>
        <member name="E:Vintagestory.API.Common.ItemSlot.MarkedDirty">
            <summary>
            Can be used to interecept marked dirty calls. 
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ItemSlot.MaxSlotStackSize">
            <summary>
            The upper holding limit of the slot itself. Standard slots are only limited by the item stacks maxstack size.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ItemSlot.Inventory">
            <summary>
            Gets the inventory attached to this ItemSlot.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ItemSlot.BackgroundIcon">
            <summary>
            Icon name to be drawn in the slot background
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ItemSlot.HexBackgroundColor">
            <summary>
            If set will be used as the background color
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ItemSlot.Itemstack">
            <summary>
            The ItemStack contained within the slot.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ItemSlot.StackSize">
            <summary>
            The number of items in the stack.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ItemSlot.Empty">
            <summary>
            Whether or not the stack is empty.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ItemSlot.StorageType">
            <summary>
            The storage type of this slot.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ItemSlot.#ctor(Vintagestory.API.Common.InventoryBase)">
            <summary>
            Create a new instance of an item slot
            </summary>
            <param name="inventory"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ItemSlot.GetRemainingSlotSpace(Vintagestory.API.Common.ItemStack)">
            <summary>
            Amount of space left, independent of item MaxStacksize 
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ItemSlot.CanTakeFrom(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.EnumMergePriority)">
            <summary>
            Whether or not this slot can take the item from the source slot.
            </summary>
            <param name="sourceSlot"></param>
            <param name="priority"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ItemSlot.CanHold(Vintagestory.API.Common.ItemSlot)">
            <summary>
            Whether or not this slot can hold the item from the source slot.
            </summary>
            <param name="sourceSlot"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ItemSlot.CanTake">
            <summary>
            Whether or not this slots item can be retrieved.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ItemSlot.TakeOutWhole">
            <summary>
            Gets the entire contents of the stack, setting the base stack to null.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ItemSlot.TakeOut(System.Int32)">
            <summary>
            Gets some of the contents of the stack.
            </summary>
            <param name="quantity">The amount to get from the stack.</param>
            <returns>The stack with the quantity take out (or as much as was available)</returns>
        </member>
        <member name="M:Vintagestory.API.Common.ItemSlot.TryPutInto(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.ItemSlot,System.Int32)">
            <summary>
            Attempts to place item in this slot into the target slot.
            </summary>
            <param name="world"></param>
            <param name="sinkSlot"></param>
            <param name="quantity"></param>
            <returns>Amount of moved items</returns>
        </member>
        <member name="M:Vintagestory.API.Common.ItemSlot.TryPutInto(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.ItemStackMoveOperation@)">
            <summary>
            Returns the quantity of items that were not merged (left over in the source slot)
            </summary>
            <param name="sinkSlot"></param>
            <param name="op"></param>
            <returns>Amount of moved items</returns>
        </member>
        <member name="M:Vintagestory.API.Common.ItemSlot.TryFlipWith(Vintagestory.API.Common.ItemSlot)">
            <summary>
            Attempts to flip the ItemSlots.
            </summary>
            <param name="itemSlot"></param>
            <returns>Whether or no the flip was successful.</returns>
        </member>
        <member name="M:Vintagestory.API.Common.ItemSlot.FlipWith(Vintagestory.API.Common.ItemSlot)">
            <summary>
            Forces a flip with the given ItemSlot
            </summary>
            <param name="withSlot"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ItemSlot.ActivateSlot(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.ItemStackMoveOperation@)">
            <summary>
            Called when a player has clicked on this slot.  The source slot is the mouse cursor slot.  This handles the logic of either taking, putting or exchanging items.
            </summary>
            <param name="sourceSlot"></param>
            <param name="op"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ItemSlot.ActivateSlotLeftClick(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.ItemStackMoveOperation@)">
            <summary>
            Activates the left click functions of the given slot.
            </summary>
            <param name="sourceSlot"></param>
            <param name="op"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ItemSlot.ActivateSlotMiddleClick(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.ItemStackMoveOperation@)">
            <summary>
            Activates the middle click functions of the given slot.
            </summary>
            <param name="sinkSlot"></param>
            <param name="op"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ItemSlot.ActivateSlotRightClick(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.ItemStackMoveOperation@)">
            <summary>
            Activates the right click functions of the given slot.
            </summary>
            <param name="sourceSlot"></param>
            <param name="op"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ItemSlot.OnItemSlotModified(Vintagestory.API.Common.ItemStack)">
            <summary>
            The event fired when the slot is modified.
            </summary>
            <param name="sinkStack"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ItemSlot.MarkDirty">
            <summary>
            Marks the slot as dirty which  queues it up for saving and resends it to the clients. Does not sync from client to server.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ItemSlot.GetStackName">
            <summary>
            Gets the name of the itemstack- if it exists.
            </summary>
            <returns>The name of the itemStack or null.</returns>
        </member>
        <member name="M:Vintagestory.API.Common.ItemSlot.GetStackDescription(Vintagestory.API.Client.IClientWorldAccessor,System.Boolean)">
            <summary>
            Gets the StackDescription for the item.
            </summary>
            <param name="world">The world the item resides in.</param>
            <param name="extendedDebugInfo">Whether or not we have Extended Debug Info enabled.</param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.ItemSlotBackpack">
            <summary>
            A slot that can hold mobile containers
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ItemSlotCharacter.IsDressType(Vintagestory.API.Common.IItemStack,Vintagestory.API.Common.EnumCharacterDressType)">
            <summary>
            Checks to see what dress type the given item is.
            </summary>
            <param name="itemstack"></param>
            <param name="dressType"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.ItemSlotOffhand">
            <summary>
            A slot that only accepts collectibles designated for the off-hand slot
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.ItemSlotOutput">
            <summary>
            A slot from which the player can only take stuff out of, but not place anything in it
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.ItemSlotSurvival">
            <summary>
            Standard survival mode slot that can hold everything except full backpacks
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.ItemSlotUniversal">
            <summary>
            A universal item slot type that can hold anything.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumMergePriority.AutoMerge">
            <summary>
            Automatic merge operation, when a player did not specifically request a merge, e.g. with shift + left click, or when collected from the ground
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumMergePriority.DirectMerge">
            <summary>
            When using mouse to manually merge item stacks
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumMergePriority.ConfirmedMerge">
            <summary>
            Confirmed merge via dialog. Not implemented as of v1.14
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ItemStackMoveOperation.World">
            <summary>
            The world that the move operation is being performed.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ItemStackMoveOperation.ActingPlayer">
            <summary>
            The acting player within the world.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ItemStackMoveOperation.MouseButton">
            <summary>
            The mouse button the ActingPlayer has pressed.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ItemStackMoveOperation.Modifiers">
            <summary>
            Any modifiers that the ActingPlayer is using for the operation (Ctrl, shift, alt)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ItemStackMoveOperation.CurrentPriority">
            <summary>
            The current Priority for merging slots.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ItemStackMoveOperation.RequiredPriority">
            <summary>
            The required Priority (can be null)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ItemStackMoveOperation.ConfirmationMessageCode">
            <summary>
            The confirmation message code for this operation.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ItemStackMoveOperation.RequestedQuantity">
            <summary>
            The amount requested.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ItemStackMoveOperation.MovableQuantity">
            <summary>
            The amount moveable.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ItemStackMoveOperation.MovedQuantity">
            <summary>
            The amount moved.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ItemStackMoveOperation.NotMovedQuantity">
            <summary>
            The amount not moved.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ItemStackMoveOperation.ShiftDown">
            <summary>
            Checks if the Shift Key is held down.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ItemStackMoveOperation.CtrlDown">
            <summary>
            Checks if the Ctrl key is held down.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ItemStackMoveOperation.AltDown">
            <summary>
            Checks if the Alt key is held down.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ItemStackMoveOperation.ToMergeOperation(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Common.ItemSlot)">
            <summary>
            Converts this MoveOperation to a Merge Operation.
            </summary>
            <param name="SinkSlot">The slot to put items.</param>
            <param name="SourceSlot">The slot to take items.</param>
        </member>
        <member name="F:Vintagestory.API.Common.ItemStackMergeOperation.SinkSlot">
            <summary>
            The slot that the item is attempting transfer to.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ItemStackMergeOperation.SourceSlot">
            <summary>
            The slot that the item is being transferred from
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.WeightedSlot.slot">
            <summary>
            The slot that is weighted.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.WeightedSlot.weight">
            <summary>
            The weight of the slot.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.LandClaim.PermittedPlayerGroupIds">
            <summary>
            Other groups allowed to use this land
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.LandClaim.PermittedPlayerUids">
            <summary>
            Other players allowed to use this land
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.LandClaim.PermittedPlayerLastKnownPlayerName">
            <summary>
            Other players allowed to use this land, name of the player at the time the privilege was granted
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.LandClaim.Intersects2d(Vintagestory.API.MathTools.HorRectanglei)">
            <summary>
            Ignores y-values
            </summary>
            <param name="rec"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.AnimatableRenderer.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.MathTools.Vec3d,Vintagestory.API.MathTools.Vec3f,Vintagestory.API.Common.AnimatorBase,System.Collections.Generic.Dictionary{System.String,Vintagestory.API.Common.AnimationMetaData},Vintagestory.API.Client.MeshData,Vintagestory.API.Client.EnumRenderStage)">
            <summary>
            Create a new instance of AnimatableRenderer that can extract transparent and opaque parts from the provided MeshData and render it in seperated passes, if it contains any transparent geometry.
            </summary>
            <param name="capi"></param>
            <param name="pos"></param>
            <param name="rotationDeg"></param>
            <param name="animator"></param>
            <param name="activeAnimationsByAnimCode"></param>
            <param name="meshdata"></param>
            <param name="renderStage">Renderstage for any non-transparent geometry</param>
        </member>
        <member name="T:Vintagestory.API.Common.Animation">
            <summary>
            Represents a shape animation and can calculate the transformation matrices for each frame to be sent to the shader
            Process
            1. For each frame, for each root element, calculate the transformation matrix. Curent model matrix is identy mat.
            1.1. Get previous and next key frame. Apply translation, rotation and scale to model matrix.
            1.2. Store this matrix as animationmatrix in list
            1.3. For each child element
            1.3.1. Multiply local transformation matrix with the animation matrix. This matrix is now the curent model matrix. Go to 1 with child elements as root elems
            
            2. For each frame, for each joint
            2.1. Calculate the inverse model matrix 
            2.2. Multiply stored animationmatrix with the inverse model matrix
            
            3. done
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Animation.GenerateAllFrames(Vintagestory.API.Common.ShapeElement[],System.Collections.Generic.Dictionary{System.Int32,Vintagestory.API.Common.AnimationJoint},System.Boolean)">
            <summary>
            Compiles the animation into a bunch of matrices, 31 matrices per frame.
            </summary>
            <param name="rootElements"></param>
            <param name="jointsById"></param>
            <param name="recursive">When false, will only do root elements</param>
        </member>
        <member name="F:Vintagestory.API.Common.AnimCacheEntry.Animations">
            <summary>
            Animations of this cache.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AnimCacheEntry.RootElems">
            <summary>
            The root elements of this cache.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AnimCacheEntry.RootPoses">
            <summary>
            The poses of this cache
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.AnimationCache.ClearCache(Vintagestory.API.Common.ICoreAPI)">
            <summary>
            Clears the animation cache.
            </summary>
            <param name="api"></param>
        </member>
        <member name="M:Vintagestory.API.Common.AnimationCache.ClearCache(Vintagestory.API.Common.ICoreAPI,Vintagestory.API.Common.Entities.Entity)">
            <summary>
            Clears the animation cache.
            </summary>
            <param name="api"></param>
            <param name="entity"></param>
        </member>
        <member name="M:Vintagestory.API.Common.AnimationCache.InitManager(Vintagestory.API.Common.ICoreAPI,Vintagestory.API.Common.IAnimationManager,Vintagestory.API.Common.Entities.Entity,Vintagestory.API.Common.Shape,Vintagestory.API.Common.RunningAnimation[],System.Boolean,System.String[])">
            <summary>
            Initializes the cache to the Animation Manager then spits it back out.
            </summary>
            <param name="api"></param>
            <param name="manager"></param>
            <param name="entity"></param>
            <param name="entityShape"></param>
            <param name="copyOverAnims"></param>
            <param name="requirePosesOnServer"></param>
            <param name="requireJointsForElements"></param>
            <returns></returns>
        </member>
        <member name="F:Vintagestory.API.Common.AnimationFrame.FrameNumber">
            <summary>
            The frame number.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AnimationFrame.RootElementTransforms">
            <summary>
            The transformations for the root element of the frame.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.AnimationFrame.SetTransform(System.Int32,System.Single[])">
            <summary>
            Sets the transform of a particular joint ID.
            </summary>
            <param name="jointId"></param>
            <param name="modelTransform"></param>
        </member>
        <member name="M:Vintagestory.API.Common.AnimationFrame.FinalizeMatrices(System.Collections.Generic.Dictionary{System.Int32,Vintagestory.API.Common.AnimationJoint})">
            <summary>
            Finalizes the matricies with joints assigned by their ID.
            </summary>
            <param name="jointsById"></param>
        </member>
        <member name="F:Vintagestory.API.Common.AnimationJoint.JointId">
            <summary>
            The ID of the joint.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AnimationJoint.Element">
            <summary>
            The attached ShapeElement.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.AnimationJoint.ApplyInverseTransform(System.Single[])">
            <summary>
            Takes the transform and inverses it.
            </summary>
            <param name="frameModelTransform"></param>
            <returns></returns>
        </member>
        <member name="F:Vintagestory.API.Common.AnimationKeyFrame.Frame">
            <summary>
            The ID of the keyframe.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AnimationKeyFrame.Elements">
            <summary>
            The elements of the keyframe.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.AnimationKeyFrame.Resolve(Vintagestory.API.Common.ShapeElement[])">
            <summary>
            Resolves the keyframe animation for which elements are important.
            </summary>
            <param name="allElements"></param>
        </member>
        <member name="M:Vintagestory.API.Common.AnimationKeyFrame.Resolve(System.Collections.Generic.Dictionary{System.String,Vintagestory.API.Common.ShapeElement})">
            <summary>
            Resolves the keyframe animation for which elements are important.
            </summary>
            <param name="allElements"></param>
        </member>
        <member name="P:Vintagestory.API.Common.AnimationManager.AnimationsDirty">
            <summary>
            Are the animations dirty in this AnimationManager?
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AnimationManager.Animator">
            <summary>
            The animator for the animation manager.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AnimationManager.HeadController">
            <summary>
            The entity head controller for this animator.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AnimationManager.ActiveAnimationsByAnimCode">
            <summary>
            The list of currently active animations that should be playing
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AnimationManager.entity">
            <summary>
            The entity attached to this Animation Manager.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.AnimationManager.Init(Vintagestory.API.Common.ICoreAPI,Vintagestory.API.Common.Entities.Entity)">
            <summary>
            Initializes the Animation Manager.
            </summary>
            <param name="api">The Core API.</param>
            <param name="entity">The entity this manager is attached to.</param>
        </member>
        <member name="M:Vintagestory.API.Common.AnimationManager.ResetAnimation(System.String)">
            <summary>
            If given animation is running, will set its progress to the first animation frame
            </summary>
            <param name="animCode"></param>
        </member>
        <member name="M:Vintagestory.API.Common.AnimationManager.TryStartAnimation(Vintagestory.API.Common.AnimationMetaData)">
            <summary>
            As StartAnimation, except that it does not attempt to start the animation if the named animation is non-existent for this entity
            </summary>
            <param name="animdata"></param>
        </member>
        <member name="M:Vintagestory.API.Common.AnimationManager.StartAnimation(Vintagestory.API.Common.AnimationMetaData)">
            <summary>
            Client: Starts given animation
            Server: Sends all active anims to all connected clients then purges the ActiveAnimationsByAnimCode list
            </summary>
            <param name="animdata"></param>
        </member>
        <member name="M:Vintagestory.API.Common.AnimationManager.StartAnimation(System.String)">
            <summary>
            Start a new animation defined in the entity config file. If it's not defined, it won't play.
            Use StartAnimation(AnimationMetaData animdata) to circumvent the entity config anim data.
            </summary>
            <param name="configCode">Anim config code, not the animation code!</param>
        </member>
        <member name="M:Vintagestory.API.Common.AnimationManager.StopAnimation(System.String)">
            <summary>
            Stops given animation
            </summary>
            <param name="code"></param>
        </member>
        <member name="M:Vintagestory.API.Common.AnimationManager.OnReceivedServerAnimations(System.Int32[],System.Int32,System.Single[])">
            <summary>
            The event fired when the manager recieves the server animations.
            </summary>
            <param name="activeAnimations"></param>
            <param name="activeAnimationsCount"></param>
            <param name="activeAnimationSpeeds"></param>
        </member>
        <member name="M:Vintagestory.API.Common.AnimationManager.ToAttributes(Vintagestory.API.Datastructures.ITreeAttribute,System.Boolean)">
            <summary>
            Serializes the animations to be stored in the SaveGame
            </summary>
            <param name="tree"></param>
            <param name="forClient"></param>
        </member>
        <member name="M:Vintagestory.API.Common.AnimationManager.ToAttributeBytes(System.IO.BinaryWriter,System.Boolean)">
            <summary>
            For performance, serializes the animations to be stored directly to the provided stream
            </summary>
            <param name="stream"></param>
            <param name="forClient"></param>
        </member>
        <member name="M:Vintagestory.API.Common.AnimationManager.FromAttributes(Vintagestory.API.Datastructures.ITreeAttribute,System.String)">
            <summary>
            Loads the entity from a stored byte array from the SaveGame
            </summary>
            <param name="tree"></param>
            <param name="version"></param>
        </member>
        <member name="M:Vintagestory.API.Common.AnimationManager.OnServerTick(System.Single)">
            <summary>
            The event fired at each server tick.
            </summary>
            <param name="dt"></param>
        </member>
        <member name="M:Vintagestory.API.Common.AnimationManager.OnClientFrame(System.Single)">
            <summary>
            The event fired each time the client ticks.
            </summary>
            <param name="dt"></param>
        </member>
        <member name="M:Vintagestory.API.Common.AnimationManager.Dispose">
            <summary>
            Disposes of the animation manager.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.EnumAnimationBlendMode">
            <summary>
            Defines how multiple animations should be blended together.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumAnimationBlendMode.Add">
            <summary>
            Add the animation without taking other animations into considerations
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumAnimationBlendMode.Average">
            <summary>
            Add the pose and average it together with all other running animations with blendmode Average or AddAverage
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumAnimationBlendMode.AddAverage">
            <summary>
            Add the animation without taking other animations into consideration, but add it's weight for averaging 
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.AnimationTrigger">
            <summary>
            Data about when an animation should be triggered.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AnimationTrigger.OnControls">
            <summary>
            An array of controls that should begin the animation.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AnimationTrigger.MatchExact">
            <summary>
            If set to true, all OnControls elements need to be happening simultaneously to trigger the animation.
            If set to false, at least one OnControls element needs to be happening to trigger the animation.
            Defaults to false.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AnimationTrigger.DefaultAnim">
            <summary>
            Is this animation the default animation for the entity?
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.AnimationMetaData">
             <summary>
             Animation Meta Data is a json type that controls how an animation should be played.
             </summary>
             <example>
             <code language="json">
            "animations": [
            	{
            		"code": "hurt",
            		"animation": "hurt",
            		"animationSpeed": 2.2,
            		"weight": 10,
            		"blendMode": "AddAverage"
            	},
            	{
            		"code": "die",
            		"animation": "death",
            		"animationSpeed": 1.25,
            		"weight": 10,
            		"blendMode": "Average",
            		"triggeredBy": { "onControls": [ "dead" ] }
            	},
            	{
            		"code": "idle",
            		"animation": "idle",
            		"blendMode": "AddAverage",
            		"easeOutSpeed": 4,
            		"triggeredBy": { "defaultAnim": true }
            	},
            	{
            		"code": "walk",
            		"animation": "walk",
            		"weight": 5
            	}
            ]
             </code>
             </example>
        </member>
        <member name="F:Vintagestory.API.Common.AnimationMetaData.Code">
            <summary>
            Unique identifier to be able to reference this AnimationMetaData instance
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AnimationMetaData.Attributes">
            <summary>
            Custom attributes that can be used for the animation.
            Valid vanilla attributes are:<br/>
            - damageAtFrame (float)<br/>
            - soundAtFrame (float)<br/>
            - authorative (bool)<br/>
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AnimationMetaData.Animation">
            <summary>
            The animations code identifier that we want to play
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AnimationMetaData.Weight">
            <summary>
            The weight of this animation. When using multiple animations at a time, this controls the significance of each animation.
            The method for determining final animation values depends on this and <see cref="F:Vintagestory.API.Common.AnimationMetaData.BlendMode"/>.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AnimationMetaData.ElementWeight">
            <summary>
            A way of specifying <see cref="F:Vintagestory.API.Common.AnimationMetaData.Weight"/> for each element.
            Also see <see cref="F:Vintagestory.API.Common.AnimationMetaData.ElementBlendMode"/> to control blend modes per element..
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AnimationMetaData.AnimationSpeed">
            <summary>
            The speed this animation should play at.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AnimationMetaData.MulWithWalkSpeed">
            <summary>
            Should this animation speed be multiplied by the movement speed of the entity?
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AnimationMetaData.WeightCapFactor">
            <summary>
            This property can be used in cases where a animation with high weight is played alongside another animation with low element weight.
            In these cases, the easeIn become unaturally fast. Setting a value of 0.8f or similar here addresses this issue.<br/>
            - 0f = uncapped weight<br/>
            - 0.5f = weight cannot exceed 2<br/>
            - 1f = weight cannot exceed 1
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AnimationMetaData.EaseInSpeed">
            <summary>
            A multiplier applied to the weight value to "ease in" the animation. Choose a high value for looping animations or it will be glitchy
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AnimationMetaData.EaseOutSpeed">
            <summary>
            A multiplier applied to the weight value to "ease out" the animation. Choose a high value for looping animations or it will be glitchy
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AnimationMetaData.TriggeredBy">
            <summary>
            Controls when this animation should be played.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AnimationMetaData.BlendMode">
            <summary>
            The animation blend mode. Controls how this animation will react with other concurrent animations.
            Also see <see cref="F:Vintagestory.API.Common.AnimationMetaData.ElementBlendMode"/> to control blend mode per element.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AnimationMetaData.ElementBlendMode">
            <summary>
            A way of specifying <see cref="F:Vintagestory.API.Common.AnimationMetaData.BlendMode"/> per element.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AnimationMetaData.SupressDefaultAnimation">
            <summary>
            Should this animation stop default animations from playing?
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AnimationMetaData.HoldEyePosAfterEasein">
            <summary>
            A value that determines whether to change the first-person eye position for the camera.
            Higher values will keep eye position static.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AnimationMetaData.ClientSide">
            <summary>
            If true, the server does not sync this animation.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.AnimationMetaData.Clone">
            <summary>
            Not a deep clone of all fields. Scalar fields, for example AnimationSpeed, are fresh copies and can be changed dynamically or per-entity, after cloning the AnimationMetaData.
            <br/> For performance reasons, the non-scalar fields such as the Attributes, ElementWeight, ElementBlendMode and TriggeredBy are not deep-cloned as these fields are usually unchanging for all entities using the animation.
            <br/> Note: If any implementing entity needs to change the non-scalar fields dynamically, or on a per-entity basis, that entity's code can clone and replace the object in its own individual copy of the AnimationMetaData.  e.g. EntityDrifter replaces .TriggeredBy in some of its animations
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.AnimatorBase">
            <summary>
            Syncs every frame with entity.ActiveAnimationsByAnimCode, starts, progresses and stops animations when necessary 
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AnimatorBase.anims">
            <summary>
            A RunningAnimation object for each of the possible Animations for this object
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AnimatorBase.TransformationMatrices">
            <summary>
            We skip the last row - https://stackoverflow.com/questions/32565827/whats-the-purpose-of-magic-4-of-last-row-in-matrix-4x4-for-3d-graphics 
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AnimatorBase.TransformationMatricesDefaultPose">
            <summary>
            The entity's default pose. Meaning for most elements this is the identity matrix, with exception of individually controlled elements such as the head.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.AnimatorBase.ProgressRunningAnimation(Vintagestory.API.Common.RunningAnimation,System.Single)">
            <summary>
            The return value of false indicates the animation stopped, and requires removal from activeAnimationsByAnimCode this tick
            (it could also stop and be removed NEXT tick...)
            </summary>
            <param name="anim"></param>
            <param name="dt"></param>
            <returns>False if the animation should immediately stop; true otherwise</returns>
        </member>
        <member name="T:Vintagestory.API.Common.ClientAnimator">
            <summary>
            Syncs every frame with entity.ActiveAnimationsByAnimCode, starts and stops animations when necessary
            and does recursive interpolation on the rotation, position and scale value for each frame, for each element and for each active element
            this produces always correctly blended animations but is significantly more costly for the cpu when compared to the technique used by the <see cref="T:Vintagestory.API.Common.AnimatorBase"/>.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.ElementPose">
            <summary>
            The position of an element.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ElementPose.ForElement">
            <summary>
            The element this positioning is for.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ElementPose.AnimModelMatrix">
            <summary>
            The model matrix of this element.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.EntityHeadController.OnFrame(System.Single)">
            <summary>
            Called from AnimationManager each frame before frame.
            </summary>
            <param name="dt"></param>
        </member>
        <member name="F:Vintagestory.API.Common.AttachmentPointAndPose.AnimModelMatrix">
            <summary>
            The current model matrix for this attachment point for this entity for the current animation frame.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AttachmentPointAndPose.CachedPose">
            <summary>
            The pose shared across all entities using the same shape. Don't use. It's used internally for calculating the animation state. Once calculated, the value is copied over to AnimModelMatrix
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AttachmentPointAndPose.AttachPoint">
            <summary>
            The attachment point
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IAnimator.Matrices">
            <summary>
            The 30 pose transformation matrices that go to the shader
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IAnimator.ActiveAnimationCount">
            <summary>
            Amount of currently active animations
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IAnimator.Animations">
            <summary>
            Holds data over all animations. This list always contains all animations of the creature. You have to check yourself which of them are active
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IAnimator.CalculateMatrices">
            <summary>
            Whether or not to calculate the animation matrices, required for GetAttachmentPointPose() to deliver correct values. Default on on the client, server side only on when the creature is dead
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IAnimator.GetAttachmentPointPose(System.String)">
            <summary>
            Gets the attachment point pose.
            </summary>
            <param name="code"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IAnimator.OnFrame(System.Collections.Generic.Dictionary{System.String,Vintagestory.API.Common.AnimationMetaData},System.Single)">
            <summary>
            The event fired on each frame.
            </summary>
            <param name="activeAnimationsByAnimCode"></param>
            <param name="dt"></param>
        </member>
        <member name="T:Vintagestory.API.Common.IAnimationManager">
            <summary>
            Everything needed for allowing animations the <see cref="T:Vintagestory.API.Common.Entities.Entity"/> class holds a reference to an IAnimator. 
            Currently implemented by <see cref="T:Vintagestory.API.Common.ServerAnimator"/>
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IAnimationManager.Animator">
            <summary>
            The animator for this animation manager
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IAnimationManager.HeadController">
            <summary>
            The head controller for this manager.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IAnimationManager.Init(Vintagestory.API.Common.ICoreAPI,Vintagestory.API.Common.Entities.Entity)">
            <summary>
            Initialization call for the animation manager.
            </summary>
            <param name="api">The core API</param>
            <param name="entity">The entity being animated.</param>
        </member>
        <member name="P:Vintagestory.API.Common.IAnimationManager.AnimationsDirty">
            <summary>
            Whether or not the animation is dirty.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IAnimationManager.TryStartAnimation(Vintagestory.API.Common.AnimationMetaData)">
            <summary>
            Starts an animation based on the AnimationMetaData, if it exists; returns false if it does not exist (or if unable to start it, e.g. because it is already playing)
            </summary>
            <param name="animdata"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IAnimationManager.StartAnimation(Vintagestory.API.Common.AnimationMetaData)">
            <summary>
            Starts an animation based on the AnimationMetaData
            </summary>
            <param name="animdata"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IAnimationManager.StartAnimation(System.String)">
            <summary>
            Starts an animation based on JSON code.
            </summary>
            <param name="configCode">The json code.</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IAnimationManager.StopAnimation(System.String)">
            <summary>
            Stops the animation.
            </summary>
            <param name="code">The code to stop the animation on</param>
        </member>
        <member name="M:Vintagestory.API.Common.IAnimationManager.StopAllAnimations">
            <summary>
            Stops all currently playing animations
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IAnimationManager.FromAttributes(Vintagestory.API.Datastructures.ITreeAttribute,System.String)">
            <summary>
            Additional attributes applied to the animation
            </summary>
            <param name="tree"></param>
            <param name="version"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IAnimationManager.ToAttributes(Vintagestory.API.Datastructures.ITreeAttribute,System.Boolean)">
            <summary>
            Additional attributes applied from the animation
            </summary>
            <param name="tree"></param>
            <param name="forClient"></param>
        </member>
        <member name="P:Vintagestory.API.Common.IAnimationManager.ActiveAnimationsByAnimCode">
            <summary>
            Gets the AnimationMetaData for the target action.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IAnimationManager.OnReceivedServerAnimations(System.Int32[],System.Int32,System.Single[])">
            <summary>
            The event fired when the client recieves the server animations
            </summary>
            <param name="activeAnimations">all of active animations</param>
            <param name="activeAnimationsCount">the number of the animations</param>
            <param name="activeAnimationSpeeds">The speed of those animations.</param>
        </member>
        <member name="M:Vintagestory.API.Common.IAnimationManager.TriggerAnimationStopped(System.String)">
            <summary>
            The event fired when the animation is stopped.
            </summary>
            <param name="code">The code that the animation stopped with.</param>
        </member>
        <member name="M:Vintagestory.API.Common.IAnimationManager.ResetAnimation(System.String)">
            <summary>
            If given animation is running, will set its progress to the first animation frame
            </summary>
            <param name="beginholdAnim"></param>
        </member>
        <member name="T:Vintagestory.API.Common.NoAnimator">
            <summary>
            A NoAnimator built off of <see cref="T:Vintagestory.API.Common.IAnimator"/>
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.NoAnimator.Matrices">
            <summary>
            The matrices for this No-Animator
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.NoAnimator.ActiveAnimationCount">
            <summary>
            The active animation count for this no animator.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.NoAnimator.GetAttachmentPointPose(System.String)">
            <summary>
            Gets the attachment point for this pose.
            </summary>
            <param name="code"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.NoAnimator.OnFrame(System.Collections.Generic.Dictionary{System.String,Vintagestory.API.Common.AnimationMetaData},System.Single)">
            <summary>
            The event fired when a specified frame has been hit.
            </summary>
            <param name="activeAnimationsByAnimCode"></param>
            <param name="dt"></param>
        </member>
        <member name="T:Vintagestory.API.Common.NoAnimationManager">
            <summary>
            A No-Animation Manager built off of <see cref="T:Vintagestory.API.Common.IAnimationManager"/>.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.RunningAnimation.Active">
            <summary>
            The animation is required to be active: if not started it should now start; if it ever ceases to be Active it should do whatever stop behavior is required (e.g. ease-out)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.RunningAnimation.Running">
            <summary>
            The animation is currently running in any way, including play-till-end after it is no longer active
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.RunningAnimation.AnimProgress">
            <summary>
            Between 0 and 1
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.AttachmentPoint">
            <summary>
            This is a spot on the shape that connects to another shape.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AttachmentPoint.ParentElement">
            <summary>
            The parent element of this attachment point.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AttachmentPoint.Code">
            <summary>
            The json code of this attachment point.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AttachmentPoint.PosX">
            <summary>
            The X position of the attachment point.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AttachmentPoint.PosY">
            <summary>
            The Y position of the attachment point.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AttachmentPoint.PosZ">
            <summary>
            The Z position of the attachment point.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AttachmentPoint.RotationX">
            <summary>
            The forward vertical rotation of the attachment point.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AttachmentPoint.RotationY">
            <summary>
            The forward horizontal rotation of the attachment point
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AttachmentPoint.RotationZ">
            <summary>
            the left/right tilt of the attachment point
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.EnumShapeFormat">
            <summary>
            Types of shape that can be loaded by the game.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumShapeFormat.VintageStory">
            <summary>
            (Recommended) Imports a shape using the default JSON system.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumShapeFormat.Obj">
            <summary>
            Imports a shape using an Obj file.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumShapeFormat.GltfEmbedded">
            <summary>
            Imports a shape using a Gltf file.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.CompositeShape">
             <summary>
             Holds shape data to create 3D representations of objects. Also allows shapes to be overlayed on top of one another recursively.
             </summary>
             <example>
             <code language="json">
            "shape": { "base": "block/basic/cube" },
             </code>
             <code language="json">
            "shapeInventory": {
             	"base": "block/plant/bamboo/{color}/{part}-1",
             	"overlays": [ { "base": "block/plant/bamboo/{color}/{part}lod0-1" } ]
            },
             </code>
             </example>
        </member>
        <member name="F:Vintagestory.API.Common.CompositeShape.Base">
            <summary>
            The path to this shape file.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CompositeShape.Format">
            <summary>
            The format/filetype of this shape.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CompositeShape.InsertBakedTextures">
            <summary>
            Whether or not to insert baked in textures for mesh formats such as gltf into the texture atlas.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CompositeShape.rotateX">
            <summary>
            How much, in degrees, should this shape be rotated around the X axis?
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CompositeShape.rotateY">
            <summary>
            How much, in degrees, should this shape be rotated around the Y axis?
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CompositeShape.rotateZ">
            <summary>
            How much, in degrees, should this shape be rotated around the Z axis?
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CompositeShape.offsetX">
            <summary>
            How much should this shape be offset on X axis?
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CompositeShape.offsetY">
            <summary>
            How much should this shape be offset on Y axis?
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CompositeShape.offsetZ">
            <summary>
            How much should this shape be offset on Z axis?
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CompositeShape.Scale">
            <summary>
            The scale of this shape on all axes.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CompositeShape.Alternates">
            <summary>
            The block shape may consists of any amount of alternatives, one of which will be randomly chosen when the shape is chosen.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CompositeShape.BakedAlternates">
            <summary>
            Includes the base shape
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CompositeShape.Overlays">
            <summary>
            The shape will render all overlays on top of this shape. Can be used to group multiple shapes into one composite shape.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CompositeShape.VoxelizeTexture">
            <summary>
            If true, the shape is created from a voxelized version of the first defined texture
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CompositeShape.QuantityElements">
            <summary>
            If non zero will only tesselate the first n elements of the shape
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CompositeShape.SelectiveElements">
            <summary>
            If set will only tesselate elements with given name
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.CompositeShape.IgnoreElements">
            <summary>
            If set will not tesselate elements with given name
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.CompositeShape.Clone">
            <summary>
            Creates a deep copy of the composite shape
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CompositeShape.CloneWithoutAlternates">
            <summary>
            Creates a deep copy of the shape, but omitting its alternates (used to populate the alternates)
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.CompositeShape.Bake(Vintagestory.API.Common.IAssetManager,Vintagestory.API.Common.ILogger)">
            <summary>
            Alias to LoadAlternates
            </summary>
            <param name="assetManager"></param>
            <param name="logger"></param>
        </member>
        <member name="M:Vintagestory.API.Common.CompositeShape.LoadAlternates(Vintagestory.API.Common.IAssetManager,Vintagestory.API.Common.ILogger)">
            <summary>
            Expands the Composite Shape and populates the Baked field
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.IBlockShapeSupplier">
            <summary>
            Adds a tesselator to your block
            WARNING: please make sure whatever functions and fields you use with the OnTesselation event are THREAD SAFE!
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.Shape">
            <summary>
            The base shape for all json objects.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Shape.Textures">
            <summary>
            The collection of textures in the shape. The Dictionary keys are the texture short names, used in each ShapeElementFace
            <br/>Note: from game version 1.20.4, this is <b>null on server-side</b> (except during asset loading start-up stage)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Shape.Elements">
            <summary>
            The elements of the shape.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Shape.Animations">
            <summary>
            The animations for the shape.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Shape.TextureWidth">
            <summary>
            The width of the texture. (default: 16)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.Shape.TextureHeight">
            <summary>
            The height of the texture (default: 16)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Shape.KeepLoaded">
            <summary>
            Only relevant for UnloadableShape
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.Shape.CollectAndResolveReferences(Vintagestory.API.Common.ILogger,System.String)">
            <summary>
            Attempts to resolve all references within the shape. Logs missing references them to the errorLogger
            </summary>
            <param name="errorLogger"></param>
            <param name="shapeNameForLogging"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Shape.SubclassForStepParenting(System.String,System.Single)">
            <summary>
            Prefixes texturePrefixCode to all textures in this shape. Required pre-step for stepparenting. The long arguments StepParentShape() calls this method.
            </summary>
            <param name="texturePrefixCode"></param>
            <param name="damageEffect"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Shape.StepParentShape(Vintagestory.API.Common.Shape,System.String,System.String,System.String,Vintagestory.API.Common.ILogger,System.Action{System.String,Vintagestory.API.Common.AssetLocation},System.Single)">
            <summary>
            Adds a step parented shape to this shape. If you plan to cache the childShape use the shorter argument method and call SubclassForStepParenting() only once on it
            </summary>
            <param name="childShape"></param>
            <param name="texturePrefixCode"></param>
            <param name="childLocationForLogging"></param>
            <param name="parentLocationForLogging"></param>
            <param name="logger"></param>
            <param name="onTexture"></param>
            <param name="damageEffect"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Shape.StepParentShape(Vintagestory.API.Common.Shape,System.String,System.String,Vintagestory.API.Common.ILogger,System.Action{System.String,Vintagestory.API.Common.AssetLocation})">
            <summary>
            Adds a step parented shape to this shape, does not call the required pre-step SubclassForStepParenting()
            </summary>
            <param name="childShape"></param>
            <param name="childLocationForLogging"></param>
            <param name="parentLocationForLogging"></param>
            <param name="logger"></param>
            <param name="onTexture"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Shape.CollectElements(Vintagestory.API.Common.ShapeElement[],System.Collections.Generic.IDictionary{System.String,Vintagestory.API.Common.ShapeElement},System.Collections.Generic.HashSet{System.String},Vintagestory.API.Common.ILogger,System.String)">
            <summary>
            Collects all the elements in the shape recursively.
            </summary>
            <param name="elements"></param>
            <param name="elementsByName"></param>
            <param name="attachPointCodesForDuplicateCheck"></param>
            <param name="errorLogger"></param>
            <param name="shapeName"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Shape.ResolveAndFindJoints(Vintagestory.API.Common.ILogger,System.String,System.String[])">
            <summary>
            Resolves all joints and loads them.
            </summary>
            <param name="shapeName"></param>
            <param name="requireJointsForElements"></param>
            <param name="errorLogger"></param>
        </member>
        <member name="M:Vintagestory.API.Common.Shape.TryGet(Vintagestory.API.Common.ICoreAPI,System.String)">
            <summary>
            Tries to load the shape from the specified JSON file, with error logging
            <br/>Returns null if the file could not be found, or if there was an error
            </summary>
            <param name="api"></param>
            <param name="shapePath"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Shape.TryGet(Vintagestory.API.Common.ICoreAPI,Vintagestory.API.Common.AssetLocation)">
            <summary>
            Tries to load the shape from the specified JSON file, with error logging
            <br/>Returns null if the file could not be found, or if there was an error
            </summary>
            <param name="api"></param>
            <param name="shapePath"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Shape.GetElementByName(System.String,System.StringComparison)">
            <summary>
            Recursively searches the element by name from the shape.
            </summary>
            <param name="name">The name of the element to get.</param>
            <param name="stringComparison">Ignored but retained for API backwards compatibility. The implementation always uses OrdinalIgnoreCase comparison</param>
            <returns>The shape element or null if none was found</returns>
        </member>
        <member name="M:Vintagestory.API.Common.Shape.RemoveElementByName(System.String,System.StringComparison)">
            <summary>
            Removes *all* elements with given name
            </summary>
            <param name="name"></param>
            <param name="stringComparison"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.Shape.Clone">
            <summary>
            Creates a deep copy of the shape. If the shape has animations, then it also resolves references and joints to ensure the cloned shape is fully initialized
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.ShapeElement">
            <summary>
            A shape element built from JSON data within the model.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ShapeElement.Logger">
            <summary>
            A static reference to the logger (null on a server) - we don't want to hold a reference to the platform or api in every ShapeElement
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ShapeElement.Name">
            <summary>
            The name of the ShapeElement
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ShapeElement.Shade">
            <summary>
            Whether or not the shape element is shaded.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ShapeElement.Faces">
            <summary>
            The faces of the shape element by name (will normally be null except during object deserialization: use FacesResolved instead!)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ShapeElement.FacesResolved">
            <summary>
            An array holding the faces of this shape element in BlockFacing order: North, East, South, West, Up, Down.  May be null if not present or not enabled.
            <br/>Note: from game version 1.20.4, this is <b>null on server-side</b> (except during asset loading start-up stage)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ShapeElement.RotationOrigin">
            <summary>
            The origin point for rotation.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ShapeElement.RotationX">
            <summary>
            The forward vertical rotation of the shape element.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ShapeElement.RotationY">
            <summary>
            The forward vertical rotation of the shape element.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ShapeElement.RotationZ">
            <summary>
            The left/right tilt of the shape element
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ShapeElement.ScaleX">
            <summary>
            How far away are the left/right sides of the shape from the center
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ShapeElement.ScaleY">
            <summary>
            How far away are the top/bottom sides of the shape from the center
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ShapeElement.ScaleZ">
            <summary>
            How far away are the front/back sides of the shape from the center.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ShapeElement.DisableRandomDrawOffset">
            <summary>
            Set this to true to disable randomDrawOffset and randomRotations on this specific element (e.g. used for the ice element of Coopers Reeds in Ice)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ShapeElement.Children">
            <summary>
            The child shapes of this shape element
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ShapeElement.AttachmentPoints">
            <summary>
            The attachment points for this shape.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ShapeElement.StepParentName">
            <summary>
            The "remote" parent for this element
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ShapeElement.ParentElement">
            <summary>
            The parent element reference for this shape.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ShapeElement.JointId">
            <summary>
            The id of the joint attached to the parent element.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ShapeElement.Color">
            <summary>
            For entity animations
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ShapeElement.GetParentPath">
            <summary>
            Walks the element tree and collects all parents, starting with the root element
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ShapeElement.GetInverseModelMatrix">
            <summary>
            Returns the full inverse model matrix (includes all parent transforms)
            </summary>
            <returns></returns>
        </member>
        <member name="F:Vintagestory.API.Common.ShapeElementFace.Texture">
            <summary>
            The texture of the face.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ShapeElementFace.Uv">
            <summary>
            The UV array of the face.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ShapeElementFace.Rotation">
            <summary>
            The rotation of the face.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ShapeElementFace.Glow">
            <summary>
            The glow on the face.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ShapeElementFace.Enabled">
            <summary>
            Whether or not the element is enabled.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ShapeElementFace.Frostable">
            <summary>
            Sets Windmode[0]/[1]/[2]/[3] to value 8
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.MultiblockStructure">
            <summary>
            You can export one of these by making a selection with worldedit, looking at the center block (which should be your controller/master) then typing /we mgencode. Please note, air blocks are not exported
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.MultiblockStructure.InCompleteBlockCount(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.PositionMismatchDelegate)">
            <summary>
            Check if the multiblock structure is complete. Ignores air blocks
            </summary>
            <param name="world"></param>
            <param name="centerPos"></param>
            <param name="onMismatch"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.AdvancedParticleProperties">
            <summary>
            Used to add a set of particle properties to a collectible.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AdvancedParticleProperties.RandomVelocityChange">
            <summary>
            Allows each particle to randomly change its velocity over time.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AdvancedParticleProperties.DieOnRainHeightmap">
            <summary>
            If true, particle dies if it falls below the rain height at its given location
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AdvancedParticleProperties.SecondaryParticles">
            <summary>
            More particles that spawn from this particle over time. See <see cref="P:Vintagestory.API.Common.AdvancedParticleProperties.SecondarySpawnInterval"/> to control rate.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AdvancedParticleProperties.DeathParticles">
            <summary>
            More particles that spawn when this particle dies.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AdvancedParticleProperties.SecondarySpawnInterval">
            <summary>
            The inverval that the <see cref="P:Vintagestory.API.Common.AdvancedParticleProperties.SecondaryParticles"/> spawn.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AdvancedParticleProperties.Bounciness">
            <summary>
            The amount of velocity to be kept when this particle collides with something. Directional velocity is multipled by (-Bounciness * 0.65) on any collision.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AdvancedParticleProperties.DieInAir">
            <summary>
            Whether or not the particle dies in air.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AdvancedParticleProperties.DieInLiquid">
            <summary>
            Whether or not the particle dies in water.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AdvancedParticleProperties.SwimOnLiquid">
            <summary>
            Whether or not the particle floats on liquids.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AdvancedParticleProperties.HsvaColor">
            <summary>
            The Hue/Saturation/Value/Alpha for the color of the particle.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AdvancedParticleProperties.ColorByBlock">
            <summary>
            Whether or not to color the particle by the block it's on.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AdvancedParticleProperties.OpacityEvolve">
            <summary>
            A transforming opacity value.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AdvancedParticleProperties.RedEvolve">
            <summary>
            A transforming Red value.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AdvancedParticleProperties.GreenEvolve">
            <summary>
            A transforming Green value.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AdvancedParticleProperties.BlueEvolve">
            <summary>
            A transforming Blue value.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AdvancedParticleProperties.GravityEffect">
            <summary>
            The gravity effect on the particle.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AdvancedParticleProperties.LifeLength">
            <summary>
            The life length, in seconds, of the particle.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AdvancedParticleProperties.PosOffset">
            <summary>
            Offset from the blocks hitboxes top middle position
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AdvancedParticleProperties.Quantity">
            <summary>
            The quantity of the particles given.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AdvancedParticleProperties.Size">
            <summary>
            The size of the particles given.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AdvancedParticleProperties.SizeEvolve">
            <summary>
            A transforming Size value.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AdvancedParticleProperties.Velocity">
            <summary>
            The velocity of the particles.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AdvancedParticleProperties.VelocityEvolve">
            <summary>
            A dynamic velocity value.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AdvancedParticleProperties.ParticleModel">
            <summary>
            Sets the base model for the particle.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AdvancedParticleProperties.VertexFlags">
            <summary>
            The level of glow in the particle.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AdvancedParticleProperties.SelfPropelled">
            <summary>
            Whether or not the particle is self propelled.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AdvancedParticleProperties.TerrainCollision">
            <summary>
            Whether or not the particle collides with the terrain.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AdvancedParticleProperties.WindAffectednes">
            <summary>
            How much the particles are affected by wind.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AdvancedParticleProperties.basePos">
            <summary>
            The base position for the particles.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AdvancedParticleProperties.block">
            <summary>
            The base block for the particle.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.AdvancedParticleProperties.Init(Vintagestory.API.Common.ICoreAPI)">
            <summary>
            Initializes the particle.
            </summary>
            <param name="api">The core API.</param>
        </member>
        <member name="F:Vintagestory.API.Common.AdvancedParticleProperties.Color">
            <summary>
            When HsvaColor is null, this is used
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.AdvancedParticleProperties.GetRgbaColor(Vintagestory.API.Client.ICoreClientAPI)">
            <summary>
            Converts the color to RGBA.
            </summary>
            <param name="capi">The Core Client API.</param>
            <returns>The set RGBA color.</returns>
        </member>
        <member name="F:Vintagestory.API.Common.AdvancedParticleProperties.tmpPos">
            <summary>
            Gets the position of the particle in world.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.AdvancedParticleProperties.Vintagestory#API#Common#IParticlePropertiesProvider#Quantity">
            <summary>
            gets the quantity released.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.AdvancedParticleProperties.Vintagestory#API#Common#IParticlePropertiesProvider#Size">
            <summary>
            Gets the dynamic size of the particle.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.AdvancedParticleProperties.GetVelocity(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Gets the velocity of the particle.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.AdvancedParticleProperties.BeginParticle">
            <summary>
            Begins the advanced particle.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.AdvancedParticleProperties.Vintagestory#API#Common#IParticlePropertiesProvider#SecondarySpawnInterval">
            <summary>
            Gets the secondary spawn interval.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.AdvancedParticleProperties.PrepareForSecondarySpawn(Vintagestory.API.Common.ParticleBase)">
            <summary>
            prepares the particle for secondary spawning.
            </summary>
            <param name="particleInstance"></param>
        </member>
        <member name="F:Vintagestory.API.Common.AirBubbleParticles.BasePos">
            <summary>
            The base position of the bubble particle.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.AirBubbleParticles.AddVelocity">
            <summary>
            The velocity to add to the bubble particle.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.AirBubbleParticles.Init(Vintagestory.API.Common.ICoreAPI)">
            <summary>
            Initializes the bubble particle.
            </summary>
            <param name="api">The core API.</param>
        </member>
        <member name="P:Vintagestory.API.Common.AirBubbleParticles.SecondaryParticles">
            <summary>
            Gets the secondary particles
            </summary>
            <returns>null, the bubble particles don't have secondary particles.</returns>
        </member>
        <member name="P:Vintagestory.API.Common.AirBubbleParticles.DeathParticles">
            <summary>
            Gets the death particles.
            </summary>
            <returns>There are no death particles for bubbles.</returns>
        </member>
        <member name="P:Vintagestory.API.Common.AirBubbleParticles.DieInAir">
            <summary>
            Whether or not the bubbles die in air.
            </summary>
            <returns>Yes they die in air.</returns>
        </member>
        <member name="P:Vintagestory.API.Common.AirBubbleParticles.DieInLiquid">
            <summary>
            Whether or not the bubbles die in liquid.
            </summary>
            <returns>They don't.</returns>
        </member>
        <member name="P:Vintagestory.API.Common.AirBubbleParticles.SwimOnLiquid">
            <summary>
            Whether or not the bubbles die in liquid.
            </summary>
            <returns>They don't.</returns>
        </member>
        <member name="P:Vintagestory.API.Common.AirBubbleParticles.VertexFlags">
            <summary>
            Gets the glow level of the bubbles.
            </summary>
            <returns>No glow.</returns>
        </member>
        <member name="P:Vintagestory.API.Common.AirBubbleParticles.GravityEffect">
            <summary>
            Gets the gravity applied to the particle.
            </summary>
            <returns>None.</returns>
        </member>
        <member name="P:Vintagestory.API.Common.AirBubbleParticles.TerrainCollision">
            <summary>
            Whether or not the bubble collides with the terrain.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.AirBubbleParticles.LifeLength">
            <summary>
            Gets the length of life for the particle.
            </summary>
            <returns>0.25f</returns>
        </member>
        <member name="P:Vintagestory.API.Common.AirBubbleParticles.ParticleModel">
            <summary>
            The base model of the particle.
            </summary>
            <returns>It's a cube.</returns>
        </member>
        <member name="P:Vintagestory.API.Common.AirBubbleParticles.SelfPropelled">
            <summary>
            This particle is not self propelled.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.AirBubbleParticles.ToBytes(System.IO.BinaryWriter)">
            <summary>
            This particle does not save to file.
            </summary>
            <param name="writer"></param>
        </member>
        <member name="M:Vintagestory.API.Common.AirBubbleParticles.FromBytes(System.IO.BinaryReader,Vintagestory.API.Common.IWorldAccessor)">
            <summary>
            This particle does not load from file.
            </summary>
            <param name="reader"></param>
            <param name="resolver"></param>
        </member>
        <member name="F:Vintagestory.API.Common.BlockCubeParticles.particlePos">
            <summary>
            The position of the particle
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockCubeParticles.quantity">
            <summary>
            The amount of particles.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockCubeParticles.radius">
            <summary>
            The radius of the particle emission.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.BlockCubeParticles.scale">
            <summary>
            The scale of the particles.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.StackCubeParticles.collisionPos">
            <summary>
            The position of the collision to create these particles.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.StackCubeParticles.stack">
            <summary>
            The contents that the particles are built off of.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.StackCubeParticles.quantity">
            <summary>
            The amount of particles to be released.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.StackCubeParticles.radius">
            <summary>
            The radius to release the particles.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.StackCubeParticles.scale">
            <summary>
            The scale of the particles.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.CollectibleParticleProperties">
            <summary>
            Abstract class used for BlockVoxelParticles and ItemVoxelParticles
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.EnumParticleModel">
            <summary>
            Types of model for a particle.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumParticleModel.Quad">
            <summary>
            A 2D quad.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumParticleModel.Cube">
            <summary>
            A 3D cube.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.ExplosionParticles">
            <summary>
            A subclass of ExplosionSmokeParticles.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.ExplosionSmokeParticles">
            <summary>
            Handles the smoke particles of where the explosion was.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.IParticlePropertiesProvider">
            <summary>
            Represents a provider of particle properties to be used when generating a particle
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IParticlePropertiesProvider.IgnoreUserConfig">
            <summary>
            If true, the user set particle level is ignored. Use this sparingly, for very important particles, such as lore hints
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IParticlePropertiesProvider.Async">
            <summary>
            If true, will be be spawned in the async particle system, which does not affect main game performance, recommended for large quantities of particles, slightly less optimal for particles that spawn very often
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IParticlePropertiesProvider.Init(Vintagestory.API.Common.ICoreAPI)">
            <summary>
            Called before the particle provider is used for particle creation
            </summary>
            <param name="api"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IParticlePropertiesProvider.BeginParticle">
            <summary>
            Called just before a new particle is being created. You can use this to produce e.g. alternating kinds of particles
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IParticlePropertiesProvider.DieInLiquid">
            <summary>
            Whether the particle should despawn when in contact with liquids
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IParticlePropertiesProvider.DieInAir">
            <summary>
            Whether the particle should despawn when in contact with air (e.g. for water bubbles)
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IParticlePropertiesProvider.DieOnRainHeightmap">
            <summary>
            If true, particle dies if it falls below the rain height at its given location
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IParticlePropertiesProvider.Quantity">
            <summary>
            How many particles should spawn? For every particle spawned, all of belows methods are called once. E.g. if quantity is 10, GetPos(), GetVelocity(),... is called 10 times. 
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IParticlePropertiesProvider.Pos">
            <summary>
            Position in the world where the particle should spawn
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IParticlePropertiesProvider.GetVelocity(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            In what direction should the particle fly/fall
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IParticlePropertiesProvider.GetRgbaColor(Vintagestory.API.Client.ICoreClientAPI)">
            <summary>
            The particles Rgba Color
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IParticlePropertiesProvider.LightEmission">
            <summary>
            If this particle emits light, this is its RGBA. Does not actually brighten the scene around it, but prevents incorrect lighting of particles when everything else around it is dark
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.IParticlePropertiesProvider.OpacityEvolve">
            <summary>
            Return null or 1 if opacity should remain unchanged over time. lifetimeLeft is always a value between 0 and 1
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IParticlePropertiesProvider.RedEvolve">
            <summary>
            Return null or 1 if opacity should remain unchanged over time. lifetimeLeft is always a value between 0 and 1
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IParticlePropertiesProvider.GreenEvolve">
            <summary>
            Return null or 1 if opacity should remain unchanged over time. lifetimeLeft is always a value between 0 and 1
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IParticlePropertiesProvider.BlueEvolve">
            <summary>
            Return null or 1 if opacity should remain unchanged over time. lifetimeLeft is always a value between 0 and 1
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IParticlePropertiesProvider.ParticleModel">
            <summary>
            Cube or Quad?
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IParticlePropertiesProvider.Size">
            <summary>
            Size of the particle
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IParticlePropertiesProvider.SizeEvolve">
            <summary>
            Size change over time
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IParticlePropertiesProvider.VelocityEvolve">
            <summary>
            Velocity change over time (acts as a multiplier to the velocity)
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IParticlePropertiesProvider.GravityEffect">
            <summary>
            How strongly the particle is affected by gravity (0 = no gravity applied)
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IParticlePropertiesProvider.LifeLength">
            <summary>
            How long the particle should live (default = 1)
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IParticlePropertiesProvider.VertexFlags">
            <summary>
            See also <see cref="P:Vintagestory.API.Common.IParticlePropertiesProvider.VertexFlags"/>
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IParticlePropertiesProvider.SelfPropelled">
            <summary>
            If true, a particle will restore it's initial velocity once it's obstruction has been cleared
            e.g. Smokes will start flying upwards again if is currently stuck under a block and the block is removed
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IParticlePropertiesProvider.TerrainCollision">
            <summary>
            If true, the particle will collide with the terrain
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IParticlePropertiesProvider.ToBytes(System.IO.BinaryWriter)">
            <summary>
            For sending over the network
            </summary>
            <param name="writer"></param>
        </member>
        <member name="M:Vintagestory.API.Common.IParticlePropertiesProvider.FromBytes(System.IO.BinaryReader,Vintagestory.API.Common.IWorldAccessor)">
            <summary>
            For reading from the network
            </summary>
            <param name="reader"></param>
            <param name="resolver"></param>
        </member>
        <member name="P:Vintagestory.API.Common.IParticlePropertiesProvider.SecondarySpawnInterval">
            <summary>
            Determines the interval of time that must elapse during it's parent particle's lifetime before this one will spawn.
            This is only honored if this particle is defined as a secondary particle.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IParticlePropertiesProvider.SecondaryParticles">
            <summary>
            The secondary particle properties. Secondary particles are particles that are emitted from an in-flight particle.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.IParticlePropertiesProvider.DeathParticles">
            <summary>
            The particle to spawn upon the particle death.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IParticlePropertiesProvider.PrepareForSecondarySpawn(Vintagestory.API.Common.ParticleBase)">
            <summary>
            Updates instance related state for secondary particles based on the given parent particle instance
            </summary>
            <param name="particleInstance">The parent IParticleInstance from which this secondary particle is being spawned</param>
        </member>
        <member name="T:Vintagestory.API.Common.ParticleBase">
            <summary>
            Represents a particle that has been spawned
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.ParticleBase.TickFixedStep(System.Single,Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.ParticlePhysics)">
            <summary>
            Advances the physics simulation of the particle if "physicsSim.PhysicsTickTime" seconds have passed by, otherwise
            it will only advance PrevPosition by the particles velocity.
            </summary>
            <param name="dt">Will never be above PhysicsTickTime</param>
            <param name="api"></param>
            <param name="physicsSim"></param>
        </member>
        <member name="T:Vintagestory.API.Common.ParticlesProviderBase">
            <summary>
            A base class for all particle providers.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.ParticlesProviderBase.DieInLiquid">
            <summary>
            Determines whether or not the particle dies in liquid
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.ParticlesProviderBase.DieInAir">
            <summary>
            Whether or not the particle dies in air.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.ParticlesProviderBase.Quantity">
            <summary>
            Gets the quantity of particles.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.ParticlesProviderBase.Pos">
            <summary>
            Gets the position of particles.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ParticlesProviderBase.GetVelocity(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Gets the velocity of the particles.
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ParticlesProviderBase.GetRgbaColor(Vintagestory.API.Client.ICoreClientAPI)">
            <summary>
            Gets the color of the particle.
            </summary>
            <param name="capi"></param>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.ParticlesProviderBase.OpacityEvolve">
            <summary>
            Gets the evolving opacity value of the particle.
            </summary>
            <returns>An evolving value based on opacity.</returns>
        </member>
        <member name="P:Vintagestory.API.Common.ParticlesProviderBase.RedEvolve">
            <summary>
            Gets the evolving red value of the particle.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.ParticlesProviderBase.GreenEvolve">
            <summary>
            Gets the evolving green value of the particle.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.ParticlesProviderBase.BlueEvolve">
            <summary>
            Gets the evolving blue value of the particle.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.ParticlesProviderBase.ParticleModel">
            <summary>
            Gets the model type of the particle.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.ParticlesProviderBase.Size">
            <summary>
            gets the size of the particle.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.ParticlesProviderBase.SizeEvolve">
            <summary>
            gets the dynamic size of the particle.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.ParticlesProviderBase.VelocityEvolve">
            <summary>
            Get the dynamic speeds of the particle.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.ParticlesProviderBase.GravityEffect">
            <summary>
            Gets the gravity effect on the particle.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.ParticlesProviderBase.LifeLength">
            <summary>
            gets the life length of the particle.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.ParticlesProviderBase.VertexFlags">
            <summary>
            gets the glow level of the particle.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.ParticlesProviderBase.SelfPropelled">
            <summary>
            Whether or not the particle is self-propelled.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.ParticlesProviderBase.TerrainCollision">
            <summary>
            Whether or not the particle collides with the terrain or not.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.ParticlesProviderBase.ToBytes(System.IO.BinaryWriter)">
            <summary>
            How the particle is written to the save. (if it is)
            </summary>
            <param name="writer"></param>
        </member>
        <member name="M:Vintagestory.API.Common.ParticlesProviderBase.FromBytes(System.IO.BinaryReader,Vintagestory.API.Common.IWorldAccessor)">
            <summary>
            How the particle is read from the save.
            </summary>
            <param name="reader"></param>
            <param name="resolver"></param>
        </member>
        <member name="P:Vintagestory.API.Common.ParticlesProviderBase.SecondarySpawnInterval">
            <summary>
            Gets the secondary particle spawn interval.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.ParticlesProviderBase.SecondaryParticles">
            <summary>
            Gets the secondary particle type for this particle.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Common.ParticlesProviderBase.DeathParticles">
            <summary>
            Gets the death particle for this type of particle.
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.SimpleParticleProperties">
            <summary>
            A configurable implementation of IParticlePropertiesProvider
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.SimpleParticleProperties.ColorByBlock">
            <summary>
            The block which can be used to get a random color when particle spawns are send from the server to the client
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.SimpleParticleProperties.ColorByItem">
            <summary>
            The item which can be used to get a random color when particle spawns are send from the server to the client
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.SimpleParticleProperties.ClimateColorMap">
            <summary>
            The color map for climate color mapping. Leave null for no coloring by climate
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.SimpleParticleProperties.SeasonColorMap">
            <summary>
            The color map for season color mapping. Leave null for no coloring by season
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.IXPlatformInterface">
            <summary>
            The platform interface for various controls.  Used by the game to handle various properties.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.IXPlatformInterface.GetFreeDiskSpace(System.String)">
            <summary>
            Total disk space in bytes
            </summary>
            <param name="filepath"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.IXPlatformInterface.GetRamCapacity">
            <summary>
            Total system ram in bytes
            </summary>
            <returns></returns>
        </member>
        <member name="F:Vintagestory.API.Common.PlayerGroupMembership.Level">
            <summary>
            The member ship level in this group
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.PlayerGroupMembership.GroupName">
            <summary>
            The last known group name 
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.PlayerGroupMembership.GroupUid">
            <summary>
            The group id
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.RegistryObject">
            <summary>
            A registerable object with variants, i.e. an item, a block or an entity
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.RegistryObject.Code">
            <summary>
            A unique domain + code of the object. Must be globally unique for all items / all blocks / all entities.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.RegistryObject.VariantStrict">
            <summary>
            Variant values as resolved from blocktype/itemtype.  NOT set for entities - use entity.Properties.VariantStrict instead.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.RegistryObject.Variant">
            <summary>
            Variant values as resolved from blocktype/itemtype. Will not throw an null pointer exception when the key does not exist, but return null instead. NOT set for entities - use entity.Properties.Variant instead
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.RegistryObject.Class">
            <summary>
            The class handeling the object
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.RegistryObject.CodeWithPath(System.String)">
            <summary>
            Returns a new assetlocation with an equal domain and the given path
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.RegistryObject.CodeWithoutParts(System.Int32)">
            <summary>
            Removes componentsToRemove parts from the blocks code end by splitting it up at every occurence of a dash ('-'). Right to left.
            </summary>
            <param name="componentsToRemove"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.RegistryObject.CodeEndWithoutParts(System.Int32)">
            <summary>
            Removes componentsToRemove parts from the blocks code beginning by splitting it up at every occurence of a dash ('-'). Left to Right
            </summary>
            <param name="componentsToRemove"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.RegistryObject.CodeWithParts(System.String[])">
            <summary>
            Replaces the last parts from the blocks code and replaces it with components by splitting it up at every occurence of a dash ('-')
            </summary>
            <param name="components"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.RegistryObject.CodeWithParts(System.String)">
            <summary>
            More efficient version of CodeWithParts if there is only a single parameter
            </summary>
            <param name="component"></param>
        </member>
        <member name="M:Vintagestory.API.Common.RegistryObject.CodeWithPart(System.String,System.Int32)">
            <summary>
            Replaces one part from the blocks code and replaces it with components by splitting it up at every occurence of a dash ('-')
            </summary>
            <param name="part"></param>
            <param name="atPosition"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.RegistryObject.LastCodePart(System.Int32)">
            <summary>
            Returns the n-th code part in inverse order. If the code contains no dash ('-') the whole code is returned. Returns null if posFromRight is too high.
            </summary>
            <param name="posFromRight"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.RegistryObject.FirstCodePart(System.Int32)">
            <summary>
            Returns the n-th code part. If the code contains no dash ('-') the whole code is returned. Returns null if posFromLeft is too high.
            </summary>
            <param name="posFromLeft"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.RegistryObject.WildCardMatch(Vintagestory.API.Common.AssetLocation[])">
            <summary>
            Returns true if any given wildcard matches the blocks/items code. E.g. water-* will match all water blocks
            </summary>
            <param name="wildcards"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.RegistryObject.WildCardMatch(Vintagestory.API.Common.AssetLocation)">
            <summary>
            Returns true if given wildcard matches the blocks/items code. E.g. water-* will match all water blocks
            </summary>
            <param name="wildCard"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.RegistryObject.WildCardMatch(System.String[])">
            <summary>
            Returns true if any given wildcard matches the blocks/items code. E.g. water-* will match all water blocks
            </summary>
            <param name="wildcards"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.RegistryObject.WildCardMatch(System.String)">
            <summary>
            Returns true if given wildcard matches the blocks/items code. E.g. water-* will match all water blocks
            </summary>
            <param name="wildCard"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.RegistryObject.FillPlaceHolder(Vintagestory.API.Common.AssetLocation,Vintagestory.API.Datastructures.OrderedDictionary{System.String,System.String})">
            <summary>
            Used by the block loader to replace wildcards with their final values
            </summary>
            <param name="input"></param>
            <param name="searchReplace"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.RegistryObject.FillPlaceHolder(System.String,Vintagestory.API.Datastructures.OrderedDictionary{System.String,System.String})">
            <summary>
            Used by the block loader to replace wildcards with their final values
            </summary>
            <param name="input"></param>
            <param name="searchReplace"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.RegistryObject.FillPlaceHolder(System.String,System.String,System.String)">
            <summary>
            Used by the block loader to replace wildcards with their final values
            </summary>
            <param name="input"></param>
            <param name="search"></param>
            <param name="replace"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Common.EnumSoundType">
            <summary>
            Sound types, often used to determine specific volume controls.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.SoundAttributes.Range">
            The range at which the gain will be attenuated to 1% of the supplied volume
        </member>
        <member name="M:Vintagestory.API.Common.BitmapExternal.#ctor(System.Byte[],System.Int32,Vintagestory.API.Common.ILogger)">
            <summary>
            Create a BitmapExternal from a byte array
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.BitmapExternal.GetPixel(System.Int32,System.Int32)">
            <summary>
            Retrives the ARGB value from given coordinate
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BitmapExternal.GetPixelRel(System.Single,System.Single)">
            <summary>
            Retrives the ARGB value from given coordinate using normalized coordinates (0..1)
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.BitmapRef.CropTo(System.Int32)">
            <summary>
            Crops to a bitmap of newsize x newsize, taken from the center of the old bitmap
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.ChatLine">
            <summary>
            an internal control containing the properties of a chat message.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ChatLine.ByPlayerUID">
            <summary>
            The UID of the player who sent the message.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ChatLine.Message">
            <summary>
            The message that was sent.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.ChatLine.ChatType">
            <summary>
            The type of chat the message was sent as.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.EnumChatType">
            <summary>
            A definition for the types of chat that could occur.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumChatType.CommandSuccess">
            <summary>
            A command was successful.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumChatType.CommandError">
            <summary>
            A command failed.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumChatType.OwnMessage">
            <summary>
            The message was sent to the player only.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumChatType.OthersMessage">
            <summary>
            The message was sent from another player.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumChatType.Notification">
            <summary>
            The message was a notification (The world ends in 3 days, You cannot do this, ect)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumChatType.AllGroups">
            <summary>
            The message was sent to all the groups involved.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumChatType.GroupInvite">
            <summary>
            The group has invited the player.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumChatType.JoinLeave">
            <summary>
            The player has joined or left the group.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Common.EnumChatType.Macro">
            <summary>
            There was a macro involved.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Common.Tag2RichTextDelegate">
            <summary>
            A tag parser
            </summary>
            <param name="capi"></param>
            <param name="token">The currently parsed token, its attributes, and child elements</param>
            <param name="fontStack">The current font, you and push a new font if this tag modifies the current font or call .Peek() to get the current one</param>
            <param name="didClickLink">Handler passed on by the displaying dialog that should be called if a user pressed a piece of text, if it is clickable at all</param>
            <returns></returns>
        </member>
        <member name="F:Vintagestory.API.Common.VtmlUtil.TagConverters">
            <summary>
            You can register your own tag converters here
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.VtmlTagToken.Name">
            <summary>
            Name of this tag
            </summary>
        </member>
        <member name="P:Vintagestory.API.Common.VtmlTagToken.Attributes">
            <summary>
            Collection of attribute names and values for this tag
            </summary>
        </member>
        <member name="M:Vintagestory.API.Common.TyronThreadPool.CreateDedicatedThread(System.Threading.ThreadStart,System.String)">
            <summary>
            Use this to create any dedicated thread (by default, IsBackground is true, but that can be changed by calling code)
            <br/>This records the thread in the list of DedicatedThreads we maintain here, for stats purposes
            </summary>
            <param name="starter"></param>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.JsonUtil.FromBytes``1(System.Byte[])">
            <summary>
            Reads a Json object, and converts it to the designated type.
            </summary>
            <typeparam name="T">The designated type</typeparam>
            <param name="data">The json object.</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.JsonUtil.ToBytes``1(``0)">
            <summary>
            Converts the object to json.
            </summary>
            <typeparam name="T">The type to convert</typeparam>
            <param name="obj">The object to convert</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.JsonUtil.ToObject``1(System.String,System.String,Newtonsoft.Json.JsonSerializerSettings)">
            <summary>
            Converts a Json object to a typed object.
            </summary>
            <typeparam name="T">The type to convert.</typeparam>
            <param name="text">The text to deserialize</param>
            <param name="domain">The domain of the text.</param>
            <param name="settings">The settings of the deserializer. (default: Null)</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Common.JsonUtil.ToObject``1(Newtonsoft.Json.Linq.JToken,System.String,Newtonsoft.Json.JsonSerializerSettings)">
            <summary>
            Converts a Json token to a typed object.
            </summary>
            <typeparam name="T">The type to convert.</typeparam>
            <param name="token">The token to deserialize</param>
            <param name="domain">The domain of the text.</param>
            <param name="settings">The settings of the deserializer. (default: Null)</param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Client.BlockChangedDelegate">
            <summary>
            OldBlock param may be null!
            </summary>
            <param name="pos"></param>
            <param name="oldBlock"></param>
        </member>
        <member name="T:Vintagestory.API.Client.ItemRenderDelegate">
            <summary>
            A custom itemstack render handler. This method is called after Collectible.OnBeforeRender(). For render target gui, the gui shader and its uniforms are already fully prepared, you may only call RenderMesh() and ignore the modelMat, position and size values - stack sizes however, are not covered by this.
            </summary>
            <param name="inSlot">The slot in which the itemstack resides in</param>
            <param name="renderInfo">The render info for this stack, you can choose to ignore these values</param>
            <param name="modelMat">The model transformation matrix with position and size already preapplied, you can choose to ignore this value</param>
            <param name="posX">The center x-position where the stack has to be rendered</param>
            <param name="posY">The center y-position where the stack has to be rendered</param>
            <param name="posZ">The depth position. Higher values might be required for very large models, which can cause them to poke through dialogs in front of them, however</param>
            <param name="size">The size of the stack that has to be rendered</param>
            <param name="color">The requested color, usually always white</param>
            <param name="rotate">Whether or not to rotate it (some parts of the game have this on or off)</param>
            <param name="showStackSize">Whether or not to show the stack size (some parts of the game have this on or off)</param>
        </member>
        <member name="T:Vintagestory.API.Client.ContinousParticleSpawnTaskDelegate">
            <summary>
            Return false to stop spawning particles
            </summary>
            <param name="dt"></param>
            <param name="manager"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Client.IClientEventAPI">
            <summary>
            Contains some client specific events you can hook into
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.ChatMessage">
            <summary>
            Called when a chat message was received
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.OnSendChatMessage">
            <summary>
            Called before a chat message is sent to the server
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.PlayerJoin">
            <summary>
            Called when a player joins. The Entity of the player might be null if out of range!
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.PlayerLeave">
            <summary>
            Called whenever a player disconnects (timeout, leave, disconnect, kick, etc.). The Entity of the player might be null if out of range!
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.PlayerDeath">
            <summary>
            Called when the player dies
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.IsPlayerReady">
            <summary>
            Fired when a player is ready to join but awaits any potential mod-user interaction, such as a character selection screen
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.PlayerEntitySpawn">
            <summary>
            Called when a players entity got in range
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.PlayerEntityDespawn">
            <summary>
            Called whenever a players got out of range
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.PauseResume">
            <summary>
            When the game was paused/resumed (only in single player)
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.LeaveWorld">
            <summary>
            When the player wants to leave the world to go back to the main menu
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.LeftWorld">
            <summary>
            When the player left the world to go back to the main menu
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.BlockChanged">
            <summary>
            When a player block has been modified. OldBlock param may be null!
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.OnUnBreakingBlock">
            <summary>
            When a partially broken block reverted
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.OnPlayerBreakingBlock">
            <summary>
            Handlers for callbacks in a regular interval while player is breaking a block in survival
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.OnPlayerBrokenBlock">
            <summary>
            Handlers for when the player in survival has broken a block
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.TestBlockAccess">
            <summary>
            When player tries to modify a block
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.BeforeActiveSlotChanged">
            <summary>
            Fired before a player changes their active slot (such as selected hotbar slot).
            Allows for the event to be cancelled depending on the return value.
            Note: Not called when the server forcefully changes active slot.
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.AfterActiveSlotChanged">
            <summary>
            Fired after a player changes their active slot (such as selected hotbar slot).
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.InGameError">
            <summary>
            Fired when something fires an ingame error
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.InGameDiscovery">
            <summary>
            Fired when something triggers a discovery event, such as the lore system
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.ColorsPresetChanged">
            <summary>
            Fired when the GuiColorsPreset client setting is changed, since meshes may need to be redrawn
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IClientEventAPI.RegisterRenderer(Vintagestory.API.Client.IRenderer,Vintagestory.API.Client.EnumRenderStage,System.String)">
            <summary>
            Registers a rendering handler to be called during every render frame
            </summary>
            <param name="renderer"></param>
            <param name="renderStage"></param>
            <param name="profilingName">If set, the frame profile will record the frame cost for this renderer</param>
        </member>
        <member name="M:Vintagestory.API.Client.IClientEventAPI.RegisterRenderer(Vintagestory.API.Client.IRenderer,Vintagestory.API.Client.EnumRenderStage,System.String,System.Double,System.Double,System.Type)">
            <summary>
            Registers a rendering handler to be called during every render frame
            <br/>Additionally reserves a range of render orders which no other renderer should then use
            </summary>
            <param name="renderer"></param>
            <param name="renderStage"></param>
            <param name="profilingName"></param>
            <param name="reservedFirstOrder"></param>
            <param name="reservedLastOrder"></param>
            <param name="firstType"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IClientEventAPI.UnregisterRenderer(Vintagestory.API.Client.IRenderer,Vintagestory.API.Client.EnumRenderStage)">
            <summary>
            Removes a previously registered rendering handler.
            </summary>
            <param name="renderer"></param>
            <param name="renderStage"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IClientEventAPI.RegisterItemstackRenderer(Vintagestory.API.Common.CollectibleObject,Vintagestory.API.Client.ItemRenderDelegate,Vintagestory.API.Client.EnumItemRenderTarget)">
            <summary>
            Registers a custom itemstack renderer for given collectible object. If none is registered, the default renderer is used. For render target gui, the gui shader and its uniforms are already fully prepared, you may only call RenderMesh() and ignore the modelMat, position and size values - stack sizes however, are not covered by this.
            </summary>
            <param name="forObj"></param>
            <param name="rendererDelegate"></param>
            <param name="target"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IClientEventAPI.UnregisterItemstackRenderer(Vintagestory.API.Common.CollectibleObject,Vintagestory.API.Client.EnumItemRenderTarget)">
            <summary>
            Removes a previously registered itemstack renderer
            </summary>
            <param name="forObj"></param>
            <param name="target"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IClientEventAPI.RegisterAsyncParticleSpawner(Vintagestory.API.Client.ContinousParticleSpawnTaskDelegate)">
            <summary>
            Set up an asynchronous particle spawner. The async particle simulation does most of the work in a seperate thread and thus runs a lot faster, with the down side of not being exaclty in sync with player interactions. This method of spawning particles is best suited for ambient particles, such as rain fall.
            </summary>
            <param name="handler"></param>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.BlockTexturesLoaded">
            <summary>
            Fired when server assets were received and all texture atlases have been created, also all sounds loaded
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.ReloadShader">
            <summary>
            Fired when the player tries to reload the shaders (happens when graphics settings are changed)
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.ReloadTextures">
            <summary>
            Called when textures got reloaded
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.LevelFinalize">
            <summary>
            Called when the client received the level finalize packet from the server
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.ReloadShapes">
            <summary>
            Called when shapes got reloaded
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.HotkeysChanged">
            <summary>
            Called when the hotkeys are changed
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.MouseDown">
            <summary>
            Provides low level access to the mouse down event. If e.Handled is set to true, the event will not be handled by the game
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.MouseUp">
            <summary>
            Provides low level access to the mouse up event. If e.Handled is set to true, the event will not be handled by the game
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.MouseMove">
            <summary>
            Provides low level access to the mouse move event. If e.Handled is set to true, the event will not be handled by the game
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.KeyDown">
            <summary>
            Provides low level access to the key down event. If e.Handled is set to true, the event will not be handled by the game
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.KeyUp">
            <summary>
            Provides low level access to the key up event. If e.Handled is set to true, the event will not be handled by the game
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IClientEventAPI.FileDrop">
            <summary>
            Fired when the user drags&amp;drops a file into the game window
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.EnumChannelState">
            <summary>
            The state of a network channel
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumChannelState.NotFound">
            <summary>
            No such channel was registered
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumChannelState.Registered">
            <summary>
            This channel has been registered but he server did not send the server channel information yet
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumChannelState.Connected">
            <summary>
            This channel has been registered client and server side. It is ready to send and receive messages
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumChannelState.NotConnected">
            <summary>
            This channel has been registered only client side. You cannot send data on this channel
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.IClientNetworkAPI">
            <summary>
            API Features to set up a network channel for custom server&lt;-&gt;client data exchange. Client side.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IClientNetworkAPI.RegisterChannel(System.String)">
            <summary>
            Supplies you with your very own and personal network channel with which you can send packets to the server. Use the same channelName on the client and server to have them link up.
            </summary>
            <param name="channelName">Unique channel identifier</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IClientNetworkAPI.GetChannel(System.String)">
            <summary>
            Returns a previously registered channel, null otherwise
            </summary>
            <param name="channelName"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IClientNetworkAPI.GetChannelState(System.String)">
            <summary>
            Check in what state a channel currently is in
            </summary>
            <param name="channelName"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IClientNetworkAPI.RegisterUdpChannel(System.String)">
            <summary>
            Supplies you with your very own and personal network channel with which you can send packets to the server. Use the same channelName on the client and server to have them link up.
            Do not send larger messages then 508 bytes since some clients may be behind NAT/firwalls that may drop your packets if they get fragmented
            </summary>
            <param name="channelName">Unique channel identifier</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IClientNetworkAPI.GetUdpChannel(System.String)">
            <summary>
            Returns a previously registered channel, null otherwise
            </summary>
            <param name="channelName"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IClientNetworkAPI.SendBlockEntityPacket(System.Int32,System.Int32,System.Int32,System.Int32,System.Byte[])">
            <summary>
            Sends a blockentity interaction packet to the server. For quick an easy blockentity network communication without setting up a channel first.
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <param name="packetId"></param>
            <param name="data"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IClientNetworkAPI.SendBlockEntityPacket(Vintagestory.API.MathTools.BlockPos,System.Int32,System.Byte[])">
            <summary>
            Sends a blockentity interaction packet to the server. For quick an easy blockentity network communication without setting up a channel first.
            </summary>
            <param name="pos"></param>
            <param name="packetId"></param>
            <param name="data"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IClientNetworkAPI.SendEntityPacket(System.Int64,System.Int32,System.Byte[])">
            <summary>
            Sends a entity interaction packet to the server. For quick an easy entity network communication without setting up a channel first.
            </summary>
            <param name="entityid"></param>
            <param name="packetId"></param>
            <param name="data"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IClientNetworkAPI.SendPlayerPositionPacket">
            <summary>
            Sends the players entity position (and Mount position) via UDP (if possible) to the server
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IClientNetworkAPI.SendPlayerMountPositionPacket(Vintagestory.API.Common.Entities.Entity)">
            <summary>
            Sends a mount position via UDP (if possible) to the server
            </summary>
            <param name="mount"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IClientNetworkAPI.SendBlockEntityPacket(System.Int32,System.Int32,System.Int32,System.Object)">
            <summary>
            Sends a blockentity interaction packet to the server. For quick an easy blockentity network communication without setting up a channel first.
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <param name="internalPacket"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IClientNetworkAPI.SendBlockEntityPacketWithOffset(System.Int32,System.Int32,System.Int32,System.Int32,System.Object)">
            <summary>
            Sends a blockentity interaction packet to the server. For quick an easy blockentity network communication without setting up a channel first.
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <param name="internalPacket"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IClientNetworkAPI.SendEntityPacket(System.Int64,System.Object)">
            <summary>
            Sends a entity interaction packet to the server. For quick an easy entity network communication without setting up a channel first.
            </summary>
            <param name="entityid"></param>
            <param name="internalPacket"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IClientNetworkAPI.SendEntityPacketWithOffset(System.Int64,System.Int32,System.Object)">
            <summary>
            Sends a entity interaction packet to the server. For quick an easy entity network communication without setting up a channel first.
            </summary>
            <param name="entityid"></param>
            <param name="packetIdOffset"></param>
            <param name="internalPacket"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IClientNetworkAPI.SendArbitraryPacket(System.Byte[])">
            <summary>
            Sends given packet data to the server. This let's you mess with the raw network communication and fiddle with internal engine packets if you know the protocol. For normal network communication you probably want to register your own network channel.
            </summary>
            <param name="data"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IClientNetworkAPI.SendPacketClient(System.Object)">
            <summary>
            Sends given packet to server. For use with inventory supplied network packets only, since the packet format is not exposed to the api
            </summary>
            <param name="packetClient">The network packet to send.</param>
        </member>
        <member name="M:Vintagestory.API.Client.IClientNetworkAPI.SendHandInteraction(System.Int32,Vintagestory.API.Common.BlockSelection,Vintagestory.API.Common.EntitySelection,Vintagestory.API.Common.EnumHandInteract,System.Int32,System.Boolean,Vintagestory.API.Common.EnumItemUseCancelReason)">
            <summary>
            Sends the current hand interaction.
            </summary>
            <param name="mouseButton">the current mouse button press</param>
            <param name="blockSelection">the currently selected Block (if there is one)</param>
            <param name="entitySelection">the currently selected Entity (if there is one)</param>
            <param name="beforeUseType"></param>
            <param name="state">The state of the hand.</param>
            <param name="firstEvent">Is it the first of this events for this block? (by default the client calls the interaction every second while the player holds down the right mouse button)</param>
            <param name="cancelReason">The reason we cancelled the use of an item (if there is  one)</param>
        </member>
        <member name="M:Vintagestory.API.Client.IClientNetworkAPI.SendPlayerNowReady">
            <summary>
            If any mod denies the client event IsPlayerReady, then it has to call this method once to indicate that the player is now ready to play (which switches the server side client state from Connected to Playing)
            This sends a packet to the server. IsPlayerReady is currently denied by the vanilla game when the player has not yet selected a character
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IClientNetworkAPI.SendBlockEntityPacket``1(Vintagestory.API.MathTools.BlockPos,System.Int32,``0)">
            <summary>
            Sends a blockentity interaction packet to the server. For quick an easy blockentity network communication without setting up a channel first. Uses Protobuf.net to serialize your data
            </summary>
            <typeparam name="T"></typeparam>
            <param name="pos"></param>
            <param name="packetId"></param>
            <param name="data"></param>
        </member>
        <member name="P:Vintagestory.API.Client.INetworkChannel.ChannelName">
            <summary>
            The channel name this channel was registered with
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.INetworkChannel.RegisterMessageType(System.Type)">
            <summary>
            Registers a handler for when you send a packet with given messageId
            </summary>
            <param name="type"></param>
        </member>
        <member name="M:Vintagestory.API.Client.INetworkChannel.RegisterMessageType``1">
            <summary>
            Registers a handler for when you send a packet with given messageId
            </summary>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Client.NetworkServerMessageHandler`1">
            <summary>
            Handler for processing a message
            </summary>
            <param name="packet"></param>
        </member>
        <member name="T:Vintagestory.API.Client.IClientNetworkChannel">
            <summary>
            Represent a custom network channel for sending messages between client and server
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IClientNetworkChannel.Connected">
            <summary>
            True if the server is listening on this channel
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IClientNetworkChannel.RegisterMessageType(System.Type)">
            <summary>
            Registers a handler for when you send a packet with given messageId. Must be registered in the same order as on the server.
            </summary>
            <param name="type"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IClientNetworkChannel.RegisterMessageType``1">
            <summary>
            Registers a handler for when you send a packet with given messageId. Must be registered in the same order as on the server.
            </summary>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IClientNetworkChannel.SetMessageHandler``1(Vintagestory.API.Client.NetworkServerMessageHandler{``0})">
            <summary>
            Registers a handler for when you send a packet with given messageId
            </summary>
            <typeparam name="T"></typeparam>
            <param name="handler"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IClientNetworkChannel.SendPacket``1(``0)">
            <summary>
            Sends a packet to the server
            </summary>
            <param name="message"></param>
        </member>
        <member name="T:Vintagestory.API.Client.IClientPlayer">
            <summary>
            A client side player
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IClientPlayer.CameraPitch">
            <summary>
            The cameras current pitch
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IClientPlayer.CameraMode">
            <summary>
            The players current camera mode
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IClientPlayer.ShowChatNotification(System.String)">
            <summary>
            Writes given message to the players current chat group but doesn't send it to the server
            </summary>
            <param name="message"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IClientPlayer.TriggerFpAnimation(Vintagestory.API.Common.EnumHandInteract)">
            <summary>
            Tells the engine to run a first person animtion
            </summary>
            <param name="anim"></param>
        </member>
        <member name="T:Vintagestory.API.Client.IClientWorldAccessor">
            <summary>
            The world accessor implemented by the client, offers some extra features only available on the client
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IClientWorldAccessor.Calendar">
            <summary>
            Interface to access the game calendar
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IClientWorldAccessor.ApplyColorMapOnRgba(System.String,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean)">
            <summary>
            Loads the rgb climate and season color map value at given position and multiplies it byte-wise with supplied color
            </summary>
            <param name="climateColorMap"></param>
            <param name="seasonColorMap"></param>
            <param name="color"></param>
            <param name="posX"></param>
            <param name="posY"></param>
            <param name="posZ"></param>
            <param name="flipRb"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IClientWorldAccessor.ApplyColorMapOnRgba(System.String,System.String,System.Int32,System.Int32,System.Int32,System.Boolean)">
            <summary>
            Loads the rgb climate and season color map value for given rain and temp value and multiplies it byte-wise with supplied color
            </summary>
            <param name="climateColorMap"></param>
            <param name="seasonColorMap"></param>
            <param name="color"></param>
            <param name="rain"></param>
            <param name="temp"></param>
            <param name="flipRb"></param>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Client.IClientWorldAccessor.ForceLiquidSelectable">
            <summary>
            Whether the player can select liquids
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IClientWorldAccessor.AmbientParticles">
            <summary>
            Whether to spawn ambient particles
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IClientWorldAccessor.Player">
            <summary>
            Returns the player running this client instance
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IClientWorldAccessor.LoadSound(Vintagestory.API.Client.SoundParams)">
            <summary>
            Loads a sounds without playing it. Use to individually control when to play/stop. Might want to set DisposeOnFinish to false but then you have to dispose it yourself. 
            </summary>
            <param name="param"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IClientWorldAccessor.AddCameraShake(System.Single)">
            <summary>
            Shakes the camera view by given strength
            </summary>
            <param name="strengh"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IClientWorldAccessor.IncurBlockDamage(Vintagestory.API.Common.BlockSelection,System.Nullable{Vintagestory.API.Common.EnumTool},System.Single)">
            <summary>
            Same effect as when player left-click breaks a block, but will not cause actual breakage of the block
            </summary>
            <param name="withTool"></param>
            <param name="damage"></param>
            <param name="blockSelection"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IClientWorldAccessor.CloneBlockDamage(Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Applies the same damage overlay effect on the target as the source has
            </summary>
            <param name="sourcePos"></param>
            <param name="targetPos"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IClientWorldAccessor.TryAttackEntity(Vintagestory.API.Common.EntitySelection)">
            <summary>
            Makes an attempt to attack a particular entity.
            </summary>
            <param name="sele"></param>
        </member>
        <member name="P:Vintagestory.API.Client.IClientWorldAccessor.LoadedEntities">
            <summary>
            The internal cache of all currently loaded entities. Warning: You should not set or remove anything from this dic unless you *really* know what you're doing. Use SpawnEntity/DespawnEntity instead.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IClientWorldAccessor.MapSizeY">
            <summary>
            Gets the MapSizeY on the client, for chunk column enumeration, without this this is surprisingly hard to get...
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IClientWorldAccessor.PlaySound(Vintagestory.API.Common.SoundAttributes)">
            <summary>
            Plays a sound at no particular location (out of both speakers equally)
            Returns duration of the playing sound, in milliseconds, or 0 if it cannot be played for any reason
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IClientWorldAccessor.PlaySoundAtAndGetDuration(Vintagestory.API.Common.AssetLocation,System.Double,System.Double,System.Double,Vintagestory.API.Common.IPlayer,System.Boolean,System.Single,System.Single)">
            <summary>
            Exactly like PlaySoundAt except that it returns the duration of the played sound.  (We don't want to change the method signature of PlaySoundAt for API mod breakage reasons). Note if you pass in a SoundAttributes instead of an AssetLocation, the regular PlaySoundAt will return the duration as well.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IClientWorldAccessor.SetChunkColumnVisible(System.Int32,System.Int32,System.Int32)">
            <summary>
            Does exactly what it says on the tin!
            </summary>
            <param name="cx"></param>
            <param name="cz"></param>
            <param name="dimension"></param>
        </member>
        <member name="T:Vintagestory.API.Client.IColorPresets">
            <summary>
            Facilitates the Accessibility tab wireframe colors setting.  Offers three preset color options, "Default", "Preset2" and "Preset3". The selection between these three options is chosen by the ClientSettings int value "guiColorsPreset".
            Within these presets, individual color values are stored by string key.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IColorPresets.Initialize(Vintagestory.API.Common.IAsset)">
            <summary>
            Mods (e.g. VSSurvivalMod) can call this to insert into the presets their configured color keys and values, which will be specific to mod content
            </summary>
            <param name="asset"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IColorPresets.OnUpdateSetting">
            <summary>
            To be called when the ClientSetting "guiColorsPreset" is changed
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IColorPresets.GetColor(System.String)">
            <summary>
            Called to fetch a color value from the currently selected preset colors
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.ICoreClientAPI">
            <summary>
            The core api implemented by the client. The main interface for accessing the client. Contains all sub components and some miscellaneous methods.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ICoreClientAPI.LinkProtocols">
            <summary>
            Add your own link protocol here if you want to implement a custom protocol. E.g. image://url-to-picture
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ICoreClientAPI.TagConverters">
            <summary>
            Add your own rich text elements here. Your will need to convert a VTML tag into a RichTextComponentBase element. 
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ICoreClientAPI.Settings">
            <summary>
            The clients game settings as stored in the clientsettings.json
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ICoreClientAPI.Forms">
            <summary>
            Platform independent ui methods and features. 
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ICoreClientAPI.MacroManager">
            <summary>
            Api to the client side macros system
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ICoreClientAPI.ElapsedMilliseconds">
            <summary>
            Amount of milliseconds ellapsed since client startup
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ICoreClientAPI.InWorldEllapsedMilliseconds">
            <summary>
            Amount of milliseconds ellapsed while in a running game that is not paused
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ICoreClientAPI.IsShuttingDown">
            <summary>
            True if the client is currently in the process of exiting
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ICoreClientAPI.IsGamePaused">
            <summary>
            True if the game is currently paused (only available in singleplayer)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ICoreClientAPI.IsSinglePlayer">
            <summary>
            True if this is a singleplayer session
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ICoreClientAPI.HideGuis">
            <summary>
            If true, the player is in gui-less mode (through the F4 key)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ICoreClientAPI.PlayerReadyFired">
            <summary>
            True if all SendPlayerNowReady() was sent, signalling the player is now ready (called by the character selector upon submit)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ICoreClientAPI.Ambient">
            <summary>
            API Component to control the clients ambient values
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ICoreClientAPI.Event">
            <summary>
            API Component for registering to various Events
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ICoreClientAPI.Render">
            <summary>
            API for Rendering stuff onto the screen using OpenGL
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ICoreClientAPI.Gui">
            <summary>
            API for GUI Related methods
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ICoreClientAPI.Input">
            <summary>
            API for Mouse / Keyboard input related things
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ICoreClientAPI.TesselatorManager">
            <summary>
            Holds the default meshes of all blocks
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ICoreClientAPI.Tesselator">
            <summary>
            API for Meshing in the Mainthread. Thread safe.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ICoreClientAPI.BlockTextureAtlas">
            <summary>
            API for the Block Texture Atlas
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ICoreClientAPI.ItemTextureAtlas">
            <summary>
            API for the Item Texture Atlas
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ICoreClientAPI.EntityTextureAtlas">
            <summary>
            API for the Entity Texture Atlas
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ICoreClientAPI.ColorPreset">
            <summary>
            Fetch color configs, used for accessibility e.g. for knapping wireframe gridlines
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ICoreClientAPI.Shader">
            <summary>
            API for Rendering stuff onto the screen using OpenGL
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ICoreClientAPI.Network">
            <summary>
            API for doing sending/receiving network packets
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ICoreClientAPI.World">
            <summary>
            API for accessing anything in the game world
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ICoreClientAPI.OpenedGuis">
            <summary>
            Active GUI objects.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.ICoreClientAPI.RegisterCommand(Vintagestory.API.Common.ClientChatCommand)">
            <summary>
            Registers a chat command
            </summary>
            <param name="chatcommand"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ICoreClientAPI.RegisterCommand(System.String,System.String,System.String,Vintagestory.API.Common.ClientChatCommandDelegate)">
            <summary>
            Registers a chat command
            </summary>
            <param name="command"></param>
            <param name="descriptionMsg"></param>
            <param name="syntaxMsg"></param>
            <param name="handler"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ICoreClientAPI.RegisterEntityRendererClass(System.String,System.Type)">
            <summary>
            Registers an entity renderer for given entity
            </summary>
            <param name="className"></param>
            <param name="rendererType"></param>
        </member>
        <member name="M:Vintagestory.API.Client.ICoreClientAPI.RegisterLinkProtocol(System.String,System.Action{Vintagestory.API.Client.LinkTextComponent})">
            <summary>
            Register a link protocol handler
            </summary>
            <param name="protocolname"></param>
            <param name="onLinkClicked"></param>
        </member>
        <member name="M:Vintagestory.API.Client.ICoreClientAPI.ShowChatMessage(System.String)">
            <summary>
            Shows a client side only chat message in the current chat channel. Uses the same code paths a server => client message takes. Does not execute client commands.
            </summary>
            <param name="message"></param>
        </member>
        <member name="M:Vintagestory.API.Client.ICoreClientAPI.TriggerIngameDiscovery(System.Object,System.String,System.String)">
            <summary>
            Triggers a discovery event. HudDiscoveryMessage registers to this event and fades in/out a "discovery message" on the players screen
            </summary>
            <param name="sender"></param>
            <param name="errorCode"></param>
            <param name="text"></param>
        </member>
        <member name="M:Vintagestory.API.Client.ICoreClientAPI.TriggerIngameError(System.Object,System.String,System.String)">
            <summary>
            Triggers an in-game-error event. HudIngameError registers to this event and shows a vibrating red text on the players screen
            </summary>
            <param name="sender"></param>
            <param name="errorCode"></param>
            <param name="text"></param>
        </member>
        <member name="M:Vintagestory.API.Client.ICoreClientAPI.TriggerChatMessage(System.String)">
            <summary>
            Same as <see cref="M:Vintagestory.API.Client.ICoreClientAPI.ShowChatMessage(System.String)"/> but will also execute client commands if they are prefixed with a dot.
            </summary>
            <param name="message"></param>
        </member>
        <member name="M:Vintagestory.API.Client.ICoreClientAPI.SendChatMessage(System.String,System.Int32,System.String)">
            <summary>
            Sends a chat message to the server
            </summary>
            <param name="message"></param>
            <param name="groupId"></param>
            <param name="data"></param>
        </member>
        <member name="M:Vintagestory.API.Client.ICoreClientAPI.SendChatMessage(System.String,System.String)">
            <summary>
            Sends a chat message to the server in the players currently active channel
            </summary>
            <param name="message"></param>
            <param name="data"></param>
        </member>
        <member name="M:Vintagestory.API.Client.ICoreClientAPI.StartTrack(Vintagestory.API.Common.AssetLocation,System.Single,Vintagestory.API.Common.EnumSoundType,System.Action{Vintagestory.API.Client.ILoadedSound})">
            <summary>
            Tells the music engine to load and immediately start given track once loaded, if the priority is higher than the currently playing track. May also be stopped while playing if another track with a higher priority is started.
            If you supply an onLoaded method the track is not started immediately and you can manually start it at any given time by calling sound.Start()
            </summary>
            <param name="soundLocation"></param>
            <param name="priority"></param>
            <param name="soundType"></param>
            <param name="onLoaded"></param>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Client.ICoreClientAPI.CurrentMusicTrack">
            <summary>
            Returns the currently playing music track, if any is playing
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IGuiAPI.QuadMeshRef">
            <summary>
            Just a default gpu-uploaded quad for 2d texture rendering, for your convenience
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IGuiAPI.LoadedGuis">
            <summary>
            List of all registered guis
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IGuiAPI.OpenedGuis">
            <summary>
            List of all currently opened guis
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IGuiAPI.TextTexture">
            <summary>
            A utility class that does text texture generation for you
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IGuiAPI.Text">
            <summary>
            A utlity class that helps draw text
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IGuiAPI.Icons">
            <summary>
            A utility class that contains a bunch of hardcoded icons
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IGuiAPI.WindowBounds">
            <summary>
            Returns a ElementBounds that is always the size of the game window
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IGuiAPI.GetDialogBoundsInArea(Vintagestory.API.Client.EnumDialogArea)">
            <summary>
            If there is a currenly opened dialog or hud element, the method will return the bounds occuppying that area, otherwise null
            </summary>
            <param name="area"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IGuiAPI.CreateCompo(System.String,Vintagestory.API.Client.ElementBounds)">
            <summary>
            Creates a new gui composition
            </summary>
            <param name="dialogName"></param>
            <param name="bounds"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IGuiAPI.RegisterDialog(Vintagestory.API.Client.GuiDialog[])">
            <summary>
            Register given dialog(s) to the gui/input event listening chain. You only need to call this if your dialog has to listen to events
            even while closed. The method GuiDialog.TryOpen() also does the register if not registered already.
            </summary>
            <param name="dialogs"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IGuiAPI.DeleteTexture(System.Int32)">
            <summary>
            Removes given texture from graphics card memory
            </summary>
            <param name="textureid"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IGuiAPI.LoadSvg(Vintagestory.API.Common.AssetLocation,System.Int32,System.Int32,System.Int32,System.Int32,System.Nullable{System.Int32})">
            <summary>
            Loads an external .svg file into a texture. Will return null if the file is not found
            </summary>
            <param name="loc"></param>
            <param name="textureWidth"></param>
            <param name="textureHeight"></param>
            <param name="width"></param>
            <param name="height"></param>
            <param name="color"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IGuiAPI.LoadSvgWithPadding(Vintagestory.API.Common.AssetLocation,System.Int32,System.Int32,System.Int32,System.Nullable{System.Int32})">
            <summary>
            Loads an external .svg file into a texture. Will return null if the file is not found
            </summary>
            <param name="loc"></param>
            <param name="textureWidth"></param>
            <param name="textureHeight"></param>
            <param name="padding"></param>
            <param name="color"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IGuiAPI.LoadCairoTexture(Cairo.ImageSurface,System.Boolean)">
            <summary>
            Load the contents of a cairo surface into a opengl texture. Returns the texture id
            </summary>
            <param name="surface"></param>
            <param name="linearMag"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IGuiAPI.LoadOrUpdateCairoTexture(Cairo.ImageSurface,System.Boolean,Vintagestory.API.Client.LoadedTexture@)">
            <summary>
            Load the contents of a cairo surface into a opengl texture. Re-uses the supplied texture exists and the size is correct. Otherwise deletes the texture and regenerates it.
            </summary>
            <param name="surface"></param>
            <param name="linearMag"></param>
            <param name="intoTexture"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IGuiAPI.GetDialogPosition(System.String)">
            <summary>
            Retrieve the saved dialog position from settings
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IGuiAPI.SetDialogPosition(System.String,Vintagestory.API.MathTools.Vec2i)">
            <summary>
            Remember the dialog position for given dialog key
            </summary>
            <param name="key"></param>
            <param name="pos"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IGuiAPI.PlaySound(Vintagestory.API.Common.SoundAttributes)">
            <summary>
            Plays a sound, non location specific
            </summary>
            <param name="sound">Provides the name and type of the sound and how (if at all) pitch and volume should be randomized</param>
        </member>
        <member name="M:Vintagestory.API.Client.IGuiAPI.PlaySound(System.String,System.Boolean,System.Single)">
            <summary>
            Plays a sound, non location specific
            </summary>
            <param name="soundname">The name of the sound</param>
            <param name="randomizePitch">If true, the pitch is slightly randomized each time</param>
            <param name="volume"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IGuiAPI.PlaySound(Vintagestory.API.Common.AssetLocation,System.Boolean,System.Single)">
            <summary>
            Plays a sound, non location specific.
            </summary>
            <param name="soundname">The name of the sound</param>
            <param name="randomizePitch">If true, the pitch is slightly randomized each time</param>
            <param name="volume"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IGuiAPI.RequestFocus(Vintagestory.API.Client.GuiDialog)">
            <summary>
            Requests the given GUI to be given focus.
            </summary>
            <param name="guiDialog">The dialogue wanting attention.</param>
        </member>
        <member name="M:Vintagestory.API.Client.IGuiAPI.TriggerDialogOpened(Vintagestory.API.Client.GuiDialog)">
            <summary>
            Triggers the opening of a dialogue.
            </summary>
            <param name="guiDialog">The dialogue to be opened.</param>
        </member>
        <member name="M:Vintagestory.API.Client.IGuiAPI.TriggerDialogClosed(Vintagestory.API.Client.GuiDialog)">
            <summary>
            Triggers the closing of a dialogue.
            </summary>
            <param name="guiDialog">The dialogue to be closed.</param>
        </member>
        <member name="M:Vintagestory.API.Client.IGuiAPI.OpenLink(System.String)">
            <summary>
            Opens up a confirm dialog asking the player if he wants to open an external link
            </summary>
            <param name="href"></param>
        </member>
        <member name="T:Vintagestory.API.Client.IInputAPI">
            <summary>
            This interface manages the inputs of the player and is used mostly on the client side.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IInputAPI.ClipboardText">
            <summary>
            Get set clipboard text
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.IInputAPI.InWorldAction">
            <summary>
            Triggered when the player attempts to trigger an action, such as walking forward or sprinting
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IInputAPI.KeyboardKeyStateRaw">
            <summary>
            The current keyboard key states, use the <see cref="T:Vintagestory.API.Client.GlKeys"/> enum to get the index of an array key.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IInputAPI.KeyboardKeyState">
            <summary>
            The current keyboard key states that were not handled by a dialog or other client systems (exception: hotkeys), use the <see cref="T:Vintagestory.API.Client.GlKeys"/> enum to get the array index of a key.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IInputAPI.MouseButton">
            <summary>
            The current mouse button state
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IInputAPI.InWorldMouseButton">
            <summary>
            The current mouse button state outside of dialogs / clicked inside the game world
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IInputAPI.MouseX">
            <summary>
            The current x-position of the mouse, relative to the upper left corner of the game window
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IInputAPI.MouseY">
            <summary>
            The current y-position of the mouse, relative to the upper left corner of the game window
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IInputAPI.MouseYaw">
            <summary>
            When controlling the camera, this is the camera yaw determined by the game engine
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IInputAPI.MousePitch">
            <summary>
            When controlling the camera, this is the camera pitch determined by the game engine
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IInputAPI.TriggerOnMouseEnterSlot(Vintagestory.API.Common.ItemSlot)">
            <summary>
            Handles the event when the mouse enters the bounding box of the given item slot.
            </summary>
            <param name="slot">The slot of the item.</param>
            <remarks>Part of a group of things that will be moved to an event bus at some point.</remarks>
        </member>
        <member name="M:Vintagestory.API.Client.IInputAPI.TriggerOnMouseLeaveSlot(Vintagestory.API.Common.ItemSlot)">
            <summary>
            Handles the event when the mouse leaves the bounding box of the given item slot.
            </summary>
            <param name="itemSlot">The slot of the item</param>
            <remarks>Part of a group of things that will be moved to an event bus at some point.</remarks>
        </member>
        <member name="M:Vintagestory.API.Client.IInputAPI.TriggerOnMouseClickSlot(Vintagestory.API.Common.ItemSlot)">
            <summary>
            Handles the event when the mouse clicks on a given item slot.
            </summary>
            <param name="itemSlot">The slot of the item</param>
            <remarks>Part of a group of things that will be moved to an event bus at some point.</remarks>
        </member>
        <member name="P:Vintagestory.API.Client.IInputAPI.MouseWorldInteractAnyway">
            <summary>
            Gives the player the ability to still interact with the world even if a gui dialog is opened
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IInputAPI.MouseGrabbed">
            <summary>
            True if the mouse cursor is currently grabbed and not visible.
            (Such as while controlling the character's view in first person.)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IInputAPI.RegisterHotKey(System.String,System.String,Vintagestory.API.Client.GlKeys,Vintagestory.API.Client.HotkeyType,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Registers a hot key with given default key combination, the player will be able change these in the controls. Supplied hotkeyCode can than be used to register a hotkey handler.
            </summary>
            <param name="hotkeyCode"></param>
            <param name="name"></param>
            <param name="key"></param>
            <param name="type"></param>
            <param name="altPressed"></param>
            <param name="ctrlPressed"></param>
            <param name="shiftPressed"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IInputAPI.RegisterHotKeyFirst(System.String,System.String,Vintagestory.API.Client.GlKeys,Vintagestory.API.Client.HotkeyType,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Same as RegisterHotKey except it inserts it at the start of the list
            </summary>
            <param name="hotkeyCode"></param>
            <param name="name"></param>
            <param name="key"></param>
            <param name="type"></param>
            <param name="altPressed"></param>
            <param name="ctrlPressed"></param>
            <param name="shiftPressed"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IInputAPI.SetHotKeyHandler(System.String,Vintagestory.API.Common.ActionConsumable{Vintagestory.API.Client.KeyCombination})">
            <summary>
            Will call the handler if given hotkey has been pressed. Removes the previously assigned handler.
            </summary>
            <param name="hotkeyCode"></param>
            <param name="handler"></param>
        </member>
        <member name="P:Vintagestory.API.Client.IInputAPI.HotKeys">
            <summary>
            Returns a list of all currently registered hotkeys.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IInputAPI.GetHotKeyByCode(System.String)">
            <summary>
            Gets the hotkey by the given hotkey code.
            </summary>
            <param name="toggleKeyCombinationCode">the key combination code.</param>
            <returns>The registered hotkey.</returns>
        </member>
        <member name="T:Vintagestory.API.Client.IRenderAPI">
            <summary>
            The main api component to assist you in rendering pretty stuff onto the screen
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IRenderAPI.FrameBuffers">
            <summary>
            List of all loaded frame buffers. To get the god rays frame buffer for exampple, do <code>Framebuffers[(int)EnumFrameBuffer.GodRays]</code>
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IRenderAPI.CurrentFrameBuffer">
            <summary>
            Set the current framebuffer
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IRenderAPI.ShaderUniforms">
            <summary>
            A number of default shader uniforms
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IRenderAPI.CameraOffset">
            <summary>
            Can be used to offset the position of the player camera
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IRenderAPI.CurrentRenderStage">
            <summary>
            The render stage the engine is currently at
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IRenderAPI.PerspectiveViewMat">
            <summary>
            The default view matrix used during perspective rendering. Is refreshed before EnumRenderStage.Opaque. Useful for doing projections in the Ortho stage via MatrixToolsd.Project()
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IRenderAPI.PerspectiveProjectionMat">
            <summary>
            The default projection matrix used during perspective rendering. Is refreshed before EnumRenderStage.Opaque. Useful for doing projections in the Ortho stage via MatrixToolsd.Project()
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IRenderAPI.DecorativeFontName">
            <summary>
            The name of the font used during this render (if it exists).
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IRenderAPI.StandardFontName">
            <summary>
            The standard font used during this render (if it exists).
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IRenderAPI.FrameWidth">
            <summary>
            Width of the primary render framebuffer
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IRenderAPI.FrameHeight">
            <summary>
            Height of the primary render framebuffer
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IRenderAPI.CameraType">
            <summary>
            The desired camera type. Be aware, the actual camera type can change at runtime if the player is against a wall and tries to look from inside the wall - use entityPlayer.CameraMode to get the actual mode
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IRenderAPI.CameraStuck">
            <summary>
            True if when in IFP mode the camera would end up inside blocks
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IRenderAPI.MvMatrix">
            <summary>
            The current modelview matrix stack
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IRenderAPI.PMatrix">
            <summary>
            The current projection matrix stack
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.GetItemStackRenderInfo(Vintagestory.API.Common.ItemSlot,Vintagestory.API.Client.EnumItemRenderTarget,System.Single)">
            <summary>
            Returns you a render info object of given item stack. Can be used to render held items onto a creature.
            </summary>
            <param name="inSlot"></param>
            <param name="ground"></param>
            <param name="dt"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.GlGetError">
            <summary>
            Returns null if no OpenGL Error happened, otherwise one of the official opengl error codes
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.CheckGlError(System.String)">
            <summary>
            If opengl debug mode is enabled and an opengl error is found this method will throw an exception. 
            It is recommended to use this methods in a few spots during render code to track down rendering issues in time.
            </summary>
            <param name="message"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.GlMatrixModeModelView">
            <summary>
            The current model view.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.GlPushMatrix">
            <summary>
            Pushes a copy of the current matrix onto the games matrix stack
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.GlPopMatrix">
            <summary>
            Pops the top most matrix from the games matrix stack
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.GlLoadMatrix(System.Double[])">
            <summary>
            Replaces the top most matrix with given one
            </summary>
            <param name="matrix"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.GlTranslate(System.Single,System.Single,System.Single)">
            <summary>
            Translates top most matrix in the games matrix stack
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.GlTranslate(System.Double,System.Double,System.Double)">
            <summary>
            Translates top most matrix in the games matrix stack
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.GlScale(System.Single,System.Single,System.Single)">
            <summary>
            Scales top most matrix in the games matrix stack
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.GlRotate(System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Rotates top most matrix in the games matrix stack
            </summary>
            <param name="angle"></param>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.GlEnableCullFace">
            <summary>
            Enables the Culling faces.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.GlDisableCullFace">
            <summary>
            Disables the culling faces.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.GLEnableDepthTest">
            <summary>
            Enables the Depth Test.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.GLDisableDepthTest">
            <summary>
            Disables the Depth Test.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.GLDepthMask(System.Boolean)">
            <summary>
            Toggle writing to the depth buffer
            </summary>
            <param name="on"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.GlGenerateTex2DMipmaps">
            <summary>
            Regenerates the mip maps for the currently bound texture
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.GlToggleBlend(System.Boolean,Vintagestory.API.Client.EnumBlendMode)">
            <summary>
            To enable/disable various blending modes
            </summary>
            <param name="blend"></param>
            <param name="blendMode"></param>
        </member>
        <member name="P:Vintagestory.API.Client.IRenderAPI.CurrentModelviewMatrix">
            <summary>
            The current top most matrix in the model view matrix stack. 
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IRenderAPI.CameraMatrixOrigin">
            <summary>
            Player camera matrix with player positioned at 0,0,0.
            You can use this matrix instead of <see cref="P:Vintagestory.API.Client.IRenderAPI.CurrentModelviewMatrix"/> for high precision rendering.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IRenderAPI.CameraMatrixOriginf">
            <summary>
            Player camera matrix with player positioned at 0,0,0.
            You can use this matrix instead of <see cref="P:Vintagestory.API.Client.IRenderAPI.CurrentModelviewMatrix"/> for high precision rendering.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IRenderAPI.CurrentProjectionMatrix">
            <summary>
            The current top most matrix in the projection matrix stack
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IRenderAPI.CurrentShadowProjectionMatrix">
            <summary>
            The current projection matrix for shadow rendering (renders the scene from the viewpoint of the sun)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.PushScissor(Vintagestory.API.Client.ElementBounds,System.Boolean)">
            <summary>
            Convenience method for GlScissor(). Tells the graphics card to not render anything outside supplied bounds. Can be turned of again with PopScissor(). Any previously applied scissor will be restored after calling PopScissor().
            </summary>
            <param name="bounds"></param>
            <param name="stacking">If true, also applies scissoring from the previous call to PushScissor, otherwise replaces the scissor bounds</param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.PopScissor">
            <summary>
            End scissor mode. Disable any previously set render constraints
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.GlScissor(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Tells the graphics card to not render anything outside supplied bounds. Only sets the boundaries. Can be turned on/off with GlScissorFlag(true/false)
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="width"></param>
            <param name="height"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.GlScissorFlag(System.Boolean)">
            <summary>
            Whether scissor mode should be active or not
            </summary>
            <param name="enable"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.BitmapCreateFromPng(System.Byte[])">
            <summary>
            Creates a bitmap from a given PNG.
            </summary>
            <param name="pngdata">the PNG data passed in.</param>
            <returns>A bitmap object.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.LoadTextureFromBgra(System.Int32[],System.Int32,System.Int32,System.Boolean,System.Int32)">
            <summary>
            Loads texture from Pixels in BGRA format.
            </summary>
            <param name="bgraPixels">The pixel array</param>
            <param name="width">the width of the final texture</param>
            <param name="height">the height of the final texture</param>
            <param name="linearMag">Enable/Disable Linear rendering or use Nearest rendering.</param>
            <param name="clampMode">The current clamp mode</param>
            <returns>The GLID for the resulting texture.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.LoadTextureFromRgba(System.Int32[],System.Int32,System.Int32,System.Boolean,System.Int32)">
            <summary>
            Loads texture from Pixels in RGBA format.
            </summary>
            <param name="rgbaPixels">The pixel array</param>
            <param name="width">the width of the final texture</param>
            <param name="height">the height of the final texture</param>
            <param name="linearMag">Enable/Disable Linear rendering or use Nearest rendering.</param>
            <param name="clampMode">The current clamp mode</param>
            <returns>The OpenGL Identifier for the resulting texture.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.LoadOrUpdateTextureFromBgra(System.Int32[],System.Boolean,System.Int32,Vintagestory.API.Client.LoadedTexture@)">
            <summary>
            Loads texture from Pixels in BGRA format.
            </summary>
            <param name="bgraPixels">The pixel array</param>
            <param name="linearMag">Enable/Disable Linear rendering or use Nearest rendering.</param>
            <param name="clampMode">The current clamp mode</param>
            <param name="intoTexture">The target texture space it should load the pixels into. Must have width/height set accordingly. Will set the opengl textureid upon successful load</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.LoadOrUpdateTextureFromRgba(System.Int32[],System.Boolean,System.Int32,Vintagestory.API.Client.LoadedTexture@)">
            <summary>
            Loads texture from Pixels in RGBA format.
            </summary>
            <param name="rgbaPixels">The pixel array</param>
            <param name="linearMag">Enable/Disable Linear rendering or use Nearest rendering.</param>
            <param name="clampMode">The current clamp mode</param>
            <param name="intoTexture">The target texture space it should load the pixels into. Must have width/height set accordingly. Will set the opengl textureid upon successful load.</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.GLDeleteTexture(System.Int32)">
            <summary>
            Deletes given texture
            </summary>
            <param name="textureId">the OpenGL Identifier for the target Texture.</param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.GlGetMaxTextureSize">
            <summary>
            Max size a texture can have on the current graphics card
            </summary>
            <returns>The maximum size a texture can have on the current graphics card in Pixels.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.BindTexture2d(System.Int32)">
            <summary>
            Binds given texture. For use with shaders - you should assign the texture directly though shader uniforms.
            </summary>
            <param name="textureid">The OpenGL Identifier ID for the target texture to bind.</param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.GetOrLoadTexture(Vintagestory.API.Common.AssetLocation)">
            <summary>
            Loads given texture through the assets managers and loads it onto the graphics card. Will return a cached version on every subsequent call to this method. 
            </summary>
            <param name="name">the location of the texture as it exists within the game or mod directory.</param>
            <returns>The texture id</returns>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.GetOrLoadTexture(Vintagestory.API.Common.AssetLocation,Vintagestory.API.Client.LoadedTexture@)">
            <summary>
            Loads given texture through the assets managers and loads it onto the graphics card. Will return a cached version on every subsequent call to this method. 
            </summary>
            <param name="name">the location of the texture as it exists within the game or mod directory.</param>
            <param name="intoTexture">the texture object to be populated. If it already is populated it will be disposed first</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.GetOrLoadTexture(Vintagestory.API.Common.AssetLocation,Vintagestory.API.Common.BitmapRef,Vintagestory.API.Client.LoadedTexture@)">
            <summary>
            Loads the texture supplied by the bitmap, uploads it to the graphics card and keeps a cached version under given name. Will return that cached version on every subsequent call to this method. 
            </summary>
            <param name="name">the location of the texture as it exists within the game or mod directory.</param>
            <param name="bmp">The referenced bitmap</param>
            <param name="intoTexture">the texture object to be populated. If it already is populated it will be disposed first</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.RemoveTexture(Vintagestory.API.Common.AssetLocation)">
            <summary>
            Removes given texture from the cache and from graphics card memory
            </summary>
            <param name="name">the location of the texture as it exists within the game or mod directory.</param>
            <returns>whether the operation was successful or not.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.GetUniformLocation(System.Int32,System.String)">
            <summary>
            Gets you the uniform location of given uniform for given shader
            </summary>
            <param name="shaderProgramNumber"></param>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.GetEngineShader(Vintagestory.API.Client.EnumShaderProgram)">
            <summary>
            Gives you access to all of the vanilla shaders
            </summary>
            <param name="program"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.GetShader(System.Int32)">
            <summary>
            Gives you access to all currently registered shaders identified by their number
            </summary>
            <param name="shaderProgramNumber"></param>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Client.IRenderAPI.StandardShader">
            <summary>
            Gives you a reference to the "standard" shader, a general purpose shader for normal shading work
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.PreparedStandardShader(System.Int32,System.Int32,System.Int32,Vintagestory.API.MathTools.Vec4f)">
            <summary>
            Populates the uniforms and light values for given positions and calls shader.Use().
            </summary>
            <param name="posX">The position for light level reading</param>
            <param name="posY">The position for light level reading</param>
            <param name="posZ">The position for light level reading</param>
            <param name="colorMul"></param>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Client.IRenderAPI.CurrentActiveShader">
            <summary>
            Gives you a reference to the currently active shader, or null if none is active right now
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.AllocateEmptyMesh(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,Vintagestory.API.Client.CustomMeshDataPartFloat,Vintagestory.API.Client.CustomMeshDataPartShort,Vintagestory.API.Client.CustomMeshDataPartByte,Vintagestory.API.Client.CustomMeshDataPartInt,Vintagestory.API.Client.EnumDrawMode,System.Boolean)">
            <summary>
            Allocates memory on the graphics card. Can use UpdateMesh() to populate it with data. The custom mesh data parts may be null. Sizes are in bytes.
            </summary>
            <param name="xyzSize">the squared size of the texture.</param>
            <param name="normalSize">the size of the normals</param>
            <param name="uvSize">the size of the UV map.</param>
            <param name="rgbaSize">size of the RGBA colors.</param>
            <param name="flagsSize">Size of the render flags.</param>
            <param name="indicesSize">Size of the indices</param>
            <param name="customFloats">Float values of the mesh</param>
            <param name="customInts">Float values of the mesh</param>
            <param name="customShorts"></param>
            <param name="customBytes">Byte values of the mesh</param>
            <param name="drawMode">The current draw mode</param>
            <param name="staticDraw">whether the draw should be static or dynamic.</param>
            <returns>the reference to the mesh</returns>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.UploadMesh(Vintagestory.API.Client.MeshData)">
            <summary>
            Uploads your mesh onto the graphics card for rendering (= load into a <see href="https://www.khronos.org/opengl/wiki/Vertex_Specification#Vertex_Array_Object">VAO</see>).<br/><br/>
            If you use a custom shader, these are the VBO locations:
            xyz=0, uv=1, rgba=2, rgba2=3, flags=4, customFloats=5, customInts=6, customBytes=7  (indices do not get their own data location)<br/>
            If any of them are null, the vbo location is not consumed and all used location numbers shift by -1
            </summary>
            <param name="data"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.UploadMultiTextureMesh(Vintagestory.API.Client.MeshData)">
            <summary>
            Same as <seealso cref="M:Vintagestory.API.Client.IRenderAPI.UploadMesh(Vintagestory.API.Client.MeshData)"/> but splits it into multiple MeshRefs, one for each texture
            </summary>
            <param name="data"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.UpdateMesh(Vintagestory.API.Client.MeshRef,Vintagestory.API.Client.MeshData)">
            <summary>
            Updates the existing mesh. Updates any non null data from <paramref name="updatedata"/>
            </summary>
            <param name="meshRef"></param>
            <param name="updatedata"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.UpdateChunkMesh(Vintagestory.API.Client.MeshRef,Vintagestory.API.Client.MeshData)">
            <summary>
            Updates the existing mesh. Updates any non null data from <paramref name="updatedata"/>. Version for chunks only (also decals, as they use chunk MeshDataPool system)
            </summary>
            <param name="meshRef"></param>
            <param name="updatedata"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.DeleteMesh(Vintagestory.API.Client.MeshRef)">
            <summary>
            Frees up the memory on the graphics card. Should always be called at the end of a meshes lifetime to prevent memory leaks. Equivalent to calling Dispose on the meshref itself
            </summary>
            <param name="vao"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.RenderMesh(Vintagestory.API.Client.MeshRef)">
            <summary>
            Renders given mesh onto the screen
            </summary>
            <param name="meshRef"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.RenderMultiTextureMesh(Vintagestory.API.Client.MultiTextureMeshRef,System.String,System.Int32)">
            <summary>
            Renders given mesh onto the screen, with the mesh requiring multiple render calls for each texture, asigns the associated texture each call
            </summary>
            <param name="mmr"></param>
            <param name="textureSampleName"></param>
            <param name="textureNumber"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.RenderMeshInstanced(Vintagestory.API.Client.MeshRef,System.Int32)">
            <summary>
            Uses the graphics instanced rendering methods to efficiently render the same mesh multiple times. Use the custom mesh data parts with instanced flag on to supply custom data to each mesh.
            </summary>
            <param name="meshRef"></param>
            <param name="quantity"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.RenderMesh(Vintagestory.API.Client.MeshRef,System.Int32[],System.Int32[],System.Int32)">
            <summary>
            Draws only a part of the mesh
            </summary>
            <param name="meshRef"></param>
            <param name="indicesStarts"></param>
            <param name="indicesSizes"></param>
            <param name="groupCount"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.RenderTextureIntoTexture(Vintagestory.API.Client.LoadedTexture,System.Single,System.Single,System.Single,System.Single,Vintagestory.API.Client.LoadedTexture,System.Single,System.Single,System.Single)">
            <summary>
            Renders given texture into another texture. If you use the resulting texture for in-world rendering, remember to recreate the mipmaps via <seealso cref="M:Vintagestory.API.Client.IRenderAPI.GlGenerateTex2DMipmaps"/>
            </summary>
            <param name="fromTexture"></param>
            <param name="sourceX"></param>
            <param name="sourceY"></param>
            <param name="sourceWidth"></param>
            <param name="sourceHeight"></param>
            <param name="intoTexture"></param>
            <param name="targetX"></param>
            <param name="targetY"></param>
            <param name="alphaTest">If below given threshold, the pixel is not drawn into the target texture. (Default: 0.05)</param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.RenderItemstackToGui(Vintagestory.API.Common.ItemStack,System.Double,System.Double,System.Double,System.Single,System.Int32,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Renders given itemstack at given position (gui/orthographic mode)
            </summary>
            <param name="itemstack"></param>
            <param name="posX"></param>
            <param name="posY"></param>
            <param name="posZ"></param>
            <param name="size"></param>
            <param name="color">Set to <seealso cref="F:Vintagestory.API.MathTools.ColorUtil.WhiteArgb"/> for normal rendering</param> 
            <param name="shading">Unused.</param>
            <param name="rotate">If true, will slowly rotate the itemstack around the Y-Axis</param>
            <param name="showStackSize">If true, will render a number depicting how many blocks/item are in the stack</param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.RenderItemstackToGui(Vintagestory.API.Common.ItemSlot,System.Double,System.Double,System.Double,System.Single,System.Int32,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Renders given itemstack in slot at given position (gui/orthographic mode)
            </summary>
            <param name="inSlot"></param>
            <param name="posX"></param>
            <param name="posY"></param>
            <param name="posZ"></param>
            <param name="size"></param>
            <param name="color"></param>
            <param name="shading"></param>
            <param name="rotate"></param>
            <param name="showStackSize"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.RenderItemstackToGui(Vintagestory.API.Common.ItemSlot,System.Double,System.Double,System.Double,System.Single,System.Int32,System.Single,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Renders given itemstack in slot at given position (gui/orthographic mode)
            </summary>
            <param name="inSlot"></param>
            <param name="posX"></param>
            <param name="posY"></param>
            <param name="posZ"></param>
            <param name="size"></param>
            <param name="color"></param>
            <param name="dt"></param>
            <param name="shading"></param>
            <param name="rotate"></param>
            <param name="showStackSize"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.RenderItemStackToAtlas(Vintagestory.API.Common.ItemStack,Vintagestory.API.Client.ITextureAtlasAPI,System.Int32,System.Action{System.Int32},System.Int32,System.Single,System.Single)">
            <summary>
            Renders given itemstack into supplied texture atlas. This is a rather costly operation. Also be sure to cache the results, as each call to this method consumes more space in your texture atlas. If you call this method outside the ortho render stage, it will enqueue a render task for next frame. Rather exceptionally, this method is also thread safe. If called from another thread, the render task always gets enqueued. The call back will always be run on the main thread.
            </summary>
            <param name="stack"></param>
            <param name="atlas"></param>
            <param name="size"></param>
            <param name="onComplete">Once rendered, this returns a texture subid, which you can use to retrieve the textureAtlasPosition from the atlas</param>
            <param name="color"></param>
            <param name="sepiaLevel"></param>
            <param name="scale"></param>
            <returns>True if the render could complete immediatly, false if it has to wait until the next ortho render stage</returns>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.GetTextureAtlasPosition(Vintagestory.API.Common.ItemStack)">
            <summary>
            Returns the first TextureAtlasPosition it can find for given block or item texture in itemstack. 
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.RenderEntityToGui(System.Single,Vintagestory.API.Common.Entities.Entity,System.Double,System.Double,System.Double,System.Single,System.Single,System.Int32)">
            <summary>
            Renders given entity at given position (gui/orthographic mode)
            </summary>
            <param name="dt"></param>
            <param name="entity"></param>
            <param name="posX"></param>
            <param name="posY"></param>
            <param name="posZ"></param>
            <param name="yawDelta">For rotating the entity around its y-axis</param>
            <param name="size"></param>
            <param name="color"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.Render2DTexturePremultipliedAlpha(System.Int32,System.Single,System.Single,System.Single,System.Single,System.Single,Vintagestory.API.MathTools.Vec4f)">
            <summary>
            Renders given texture onto the screen, uses a simple quad for rendering (gui mode). Assumes the texture to use a premultiplied alpha channel
            </summary>
            <param name="textureid"></param>
            <param name="posX"></param>
            <param name="posY"></param>
            <param name="width"></param>
            <param name="height"></param>
            <param name="z"></param>
            <param name="color"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.Render2DTexturePremultipliedAlpha(System.Int32,System.Double,System.Double,System.Double,System.Double,System.Single,Vintagestory.API.MathTools.Vec4f)">
            <summary>
            Renders given texture onto the screen, uses a simple quad for rendering (gui mode). Assumes the texture to use a premultiplied alpha channel
            </summary>
            <param name="textureid"></param>
            <param name="posX"></param>
            <param name="posY"></param>
            <param name="width"></param>
            <param name="height"></param>
            <param name="z"></param>
            <param name="color"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.Render2DTexturePremultipliedAlpha(System.Int32,Vintagestory.API.Client.ElementBounds,System.Single,Vintagestory.API.MathTools.Vec4f)">
            <summary>
            Renders given texture onto the screen, uses a simple quad for rendering (gui mode). Assumes the texture to use a premultiplied alpha channel
            </summary>
            <param name="textureid"></param>
            <param name="bounds"></param>
            <param name="z"></param>
            <param name="color"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.RenderTexture(System.Int32,System.Double,System.Double,System.Double,System.Double,System.Single,Vintagestory.API.MathTools.Vec4f)">
            <summary>
            Renders given texture onto the screen, uses a simple quad for rendering (gui mode)
            </summary>
            <param name="textureid"></param>
            <param name="posX"></param>
            <param name="posY"></param>
            <param name="width"></param>
            <param name="height"></param>
            <param name="z"></param>
            <param name="color"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.Render2DTexture(System.Int32,System.Single,System.Single,System.Single,System.Single,System.Single,Vintagestory.API.MathTools.Vec4f)">
            <summary>
            Renders given texture onto the screen, uses a simple quad for rendering (gui mode)
            </summary>
            <param name="textureid"></param>
            <param name="posX"></param>
            <param name="posY"></param>
            <param name="width"></param>
            <param name="height"></param>
            <param name="z"></param>
            <param name="color"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.Render2DTexture(Vintagestory.API.Client.MeshRef,System.Int32,System.Single,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Renders given texture onto the screen, uses supplied quad for rendering (gui mode)
            </summary>
            <param name="quadModel"></param>
            <param name="textureid"></param>
            <param name="posX"></param>
            <param name="posY"></param>
            <param name="width"></param>
            <param name="height"></param>
            <param name="z"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.Render2DTexture(Vintagestory.API.Client.MultiTextureMeshRef,System.Single,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Renders given texture onto the screen, uses supplied quad for rendering (gui mode)
            </summary>
            <param name="quadModel"></param>
            <param name="posX"></param>
            <param name="posY"></param>
            <param name="width"></param>
            <param name="height"></param>
            <param name="z"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.Render2DTexture(System.Int32,Vintagestory.API.Client.ElementBounds,System.Single,Vintagestory.API.MathTools.Vec4f)">
            <summary>
            Renders given texture onto the screen, uses a simple quad for rendering (gui mode)
            </summary>
            <param name="textureid"></param>
            <param name="bounds"></param>
            <param name="z"></param>
            <param name="color"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.Render2DLoadedTexture(Vintagestory.API.Client.LoadedTexture,System.Single,System.Single,System.Single)">
            <summary>
            Renders given texture onto the screen, uses a simple quad for rendering (gui mode)
            </summary>
            <param name="textTexture"></param>
            <param name="posX"></param>
            <param name="posY"></param>
            <param name="z"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.RenderRectangle(System.Single,System.Single,System.Single,System.Single,System.Single,System.Int32)">
            <summary>
            Renders a rectangle outline at given position
            </summary>
            <param name="posX"></param>
            <param name="posY"></param>
            <param name="posZ"></param>
            <param name="width"></param>
            <param name="height"></param>
            <param name="color"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.RenderLine(Vintagestory.API.MathTools.BlockPos,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Int32)">
            <summary>
            Inefficiently renders a line between 2 points 
            </summary>
            <param name="origin"></param>
            <param name="posX1"></param>
            <param name="posY1"></param>
            <param name="posZ1"></param>
            <param name="posX2"></param>
            <param name="posY2"></param>
            <param name="posZ2"></param>
            <param name="color"></param>
        </member>
        <member name="P:Vintagestory.API.Client.IRenderAPI.AmbientColor">
            <summary>
            The current ambient color (e.g. will return a blue tint when player is under water)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IRenderAPI.FogColor">
            <summary>
            The current fog color (e.g. will return a blue tint when player is under water)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IRenderAPI.FogMin">
            <summary>
            Current minimum fog value 
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IRenderAPI.FogDensity">
            <summary>
            Density of the current fog. Fog is calculated as followed in the shaders: clamp(fogMin + 1 - 1 / exp(gl_FragDepth * fogDensity), 0, 1)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IRenderAPI.UseSSBOs">
            <summary>
            If true, chunk rendering will use SSBOs - a OpenGL 4.30+ feature - for higher performance in game version 1.21+
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.AddPointLight(Vintagestory.API.Client.IPointLight)">
            <summary>
            Adds a dynamic light source to the scene. Will not be rendered if the current point light count exceeds max dynamic lights in the graphics settings
            </summary>
            <param name="pointlight"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderAPI.RemovePointLight(Vintagestory.API.Client.IPointLight)">
            <summary>
            Removes a dynamic light source from the scene
            </summary>
            <param name="pointlight"></param>
        </member>
        <member name="T:Vintagestory.API.Client.IRenderer">
            <summary>
            Interface to render something on to the clients screens. Used for block entitites.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IRenderer.RenderOrder">
            <summary>
            0 = drawn first, 1 = drawn last<br/>
            Default render orders by render stage:<br/>
            Before:<br/>
            0 = Ambient Manager<br/>
            0 = Camera<br/>
            <br/>
            Opaque:<br/>
            0.1 = Blue sky (Icosahedron)<br/>
            0.2 = Night skybox<br/>
            0.3 = Sun and moon<br/>
            0.37 = Terrain opaque<br/>
            0.4 = Enitities<br/>
            0.5 = Decals<br/>
            0.5 = Debug wireframe<br/>
            0.6 = particles<br/>
            0.7 = Cinematic camera line preview<br/>
            0.8 = fp held item<br/>
            0.9 = held item opaque custom renderer<br/>
            <br/>
            OIT:<br/>
            0.2 = Frame buffer debug screen<br/>
            0.35 = Clouds<br/>
            0.37 = Terrain oit<br/>
            0.4 = Enitities<br/>
            0.6 = particles<br/>
            0.9 = held item oit custom renderer<br/>
            <br/>
            Shadow far:<br/>
            0 = shadow map init<br/>
            0.37 = Terrain shadow far<br/>
            0.4 = Enitities<br/>
            <br/>
            Shadow far done:<br/>
            1 = shadow map finish<br/>
            <br/>
            Shadow near:<br/>
            0 = shadow map init<br/>
            0.37 = Terrain shadow near<br/>
            0.4 = Enitities<br/>
            <br/>
            Shadow near done:<br/>
            1 = shadow map finish<br/>
            Ortho:<br/>
            0.2 = Frame buffer debug screen<br/>
            0.4 = Enitities<br/>
            0.9 = held item ortho custom renderer<br/>
            0.95 = sleeping overlay<br/>
            0.98 = bow/spear aiming reticle<br/>
            1 = Gui manager<br/>
            1.02 = crosshair and mouse cursor<br/>
            <br/>
            AfterFinalComposition:<br/>
            2 = screenshot<br/>
            <br/>
            Done:<br/>
            0.1 = gui manager<br/>
            2 = screenshot<br/>
            <br/>
            0.98 = Cinematic camera camera advancing and frame capture when recording<br/>
            0.99 = Chunk Tesselator Manager (uploads new/modified chunk meshes)<br/>
            0.999 = Compress chunks scan<br/>
            1 = video recorder<br/>
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IRenderer.RenderRange">
            <summary>
            Within what range to the player OnRenderFrame() should be called (currently not used!)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IRenderer.OnRenderFrame(System.Single,Vintagestory.API.Client.EnumRenderStage)">
            <summary>
            Called every frame for rendering whatever you need to render
            </summary>
            <param name="deltaTime"></param>
            <param name="stage"></param>
        </member>
        <member name="T:Vintagestory.API.Client.ISettingsClass`1">
            <summary>
            Setting interface.
            </summary>
            <typeparam name="T">The type of the given setting.</typeparam>
        </member>
        <member name="P:Vintagestory.API.Client.ISettingsClass`1.Item(System.String)">
            <summary>
            Gets and sets the setting with the provided key.
            </summary>
            <param name="key">The key to the setting.</param>
            <returns>The current value of the given key.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.ISettingsClass`1.Get(System.String,`0)">
            <summary>
            Gets the setting with the provided key
            </summary>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ISettingsClass`1.Set(System.String,`0,System.Boolean)">
            <summary>
            Sets the setting with key to the provided value: if shouldTriggerWatchers is false, the watchers will not be triggered
            </summary>
            <param name="key"></param>
            <param name="value"></param>
            <param name="shouldTriggerWatchers"></param>
        </member>
        <member name="M:Vintagestory.API.Client.ISettingsClass`1.Exists(System.String)">
            <summary>
            Does this setting exist?
            </summary>
            <param name="key">The key to check on a setting.</param>
            <returns>Whether the setting exists or not.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.ISettingsClass`1.AddWatcher(System.String,Vintagestory.API.Client.OnSettingsChanged{`0})">
            <summary>
            Setting watcher for changes in values for a given setting.
            </summary>
            <param name="key">Key to the setting</param>
            <param name="OnValueChanged">the OnValueChanged event fired.</param>
        </member>
        <member name="M:Vintagestory.API.Client.ISettingsClass`1.RemoveWatcher(System.String,Vintagestory.API.Client.OnSettingsChanged{`0})">
            <summary>
            Removes a previously assigned watcher
            </summary>
            <param name="key"></param>
            <param name="handler"></param>
            <returns>True if successfully removed</returns>
        </member>
        <member name="T:Vintagestory.API.Client.ISettings">
            <summary>
            Setting interface for multiple settings.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ISettings.Bool">
            <summary>
            Setting collection for boolean values.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ISettings.Int">
            <summary>
            Setting collection for integer values.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ISettings.Float">
            <summary>
            Setting collection for float values.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ISettings.String">
            <summary>
            Setting collection for string values.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ISettings.Strings">
            <summary>
            Setting collection for string list values.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.ISettings.AddWatcher``1(System.String,Vintagestory.API.Client.OnSettingsChanged{``0})">
            <summary>
            Setting watcher for changes in values for a given setting.
            </summary>
            <typeparam name="T">The type of the value that was changed.</typeparam>
            <param name="key">Key to the setting</param>
            <param name="OnValueChanged">the OnValueChanged event fired.</param>
        </member>
        <member name="T:Vintagestory.API.Client.IShaderAPI">
            <summary>
            API for configuring and loading GLSL Shaders
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IShaderAPI.NewShaderProgram">
            <summary>
            Returns an empty instance of an IShaderProgram for you to configure. Once configured, call RegisterShaderProgram
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IShaderAPI.NewShader(Vintagestory.API.Client.EnumShaderType)">
            <summary>
            Returns an empty instance of an IShader for you to configure as vertex, fragment or geometry shader
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IShaderAPI.RegisterFileShaderProgram(System.String,Vintagestory.API.Client.IShaderProgram)">
            <summary>
            Registers a configured IShaderProgram. The name must correspond to the .vsh and .fsh filenames (without ending).
            Returns a program number to be used in UseShaderProgram()
            </summary>
            <param name="name"></param>
            <param name="program"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IShaderAPI.RegisterMemoryShaderProgram(System.String,Vintagestory.API.Client.IShaderProgram)">
            <summary>
            Registers a configured IShaderProgram. Will not load anything from the shaders folder.
            Returns a program number to be used in UseShaderProgram()
            </summary>
            <param name="name"></param>
            <param name="program"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IShaderAPI.GetProgram(System.Int32)">
            <summary>
            Returns the loaded shader for use in rendering
            </summary>
            <param name="renderPass"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IShaderAPI.GetProgramByName(System.String)">
            <summary>
            Returns the loaded shader for use in rendering
            </summary>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IShaderAPI.ReloadShaders">
            <summary>
            Discards all currently compiled shaders and recompiles them. Returns true if all shaders compiled without errors.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.IShaderAPI.IsGLSLVersionSupported(System.String)">
            <summary>
            Returns true if given GLSL Version is available on this machine
            </summary>
            <param name="minVersion"></param>
            <returns></returns>
        </member>
        <member name="F:Vintagestory.API.Client.TesselationMetaData.drawnHeight">
            <summary>
            For performance, used to limit what height gets rendered on transparent textures of plants such as tallgrass and flowers 
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.ITesselatorManager">
            <summary>
            Manager interface for Tesselators.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.ITesselatorManager.GetDefaultBlockMesh(Vintagestory.API.Common.Block)">
            <summary>
            Returns the default block mesh that being used by the engine when tesselating a chunk. The alternate and inventory versions are seperate.
            </summary>
            <param name="block"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ITesselatorManager.GetDefaultBlockMeshRef(Vintagestory.API.Common.Block)">
            <summary>
            Returns the default block mesh ref that being used by the engine when rendering a block in the inventory. The alternate and inventory versions are seperate.
            </summary>
            <param name="block"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ITesselatorManager.GetDefaultItemMeshRef(Vintagestory.API.Common.Item)">
            <summary>
            Returns the default block mesh ref that being used by the engine when rendering an item in the inventory. The alternate and inventory versions are seperate.
            </summary>
            <param name="item"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Client.ITesselatorAPI">
            <summary>
            Interface that allows custom model model meshing for items, blocks and entities<br/>
            Texturing crash course:<br/>
            1. Block, Item and Entity textures are loaded from json files in the form of a CompositeTexture instance<br/>
            2. After connecting to a game server, the client inserts all of these textures into their type-respective texture atlasses<br/>
            3. After insertion a "texture sub-id" is left behind in the CompositeTexture.Baked Property<br/>
            4. You can now find the position of the texture inside the atlas through the Block/Item/Entity-TextureAtlasPositions arrays (teturesubid is the array key)<br/>
            <br/>
            Shape Tesselation crash course:<br/>
            1. Block and Item shapes are loaded from json files in the form of a CompositeShape instance<br/>
            2. A CompositeShape instance hold some block/item specific information as well as an identifier to a Shape instance<br/>
            4. After connecting to a game server, the client loads all shapes from the shape folder then finds each blocks/items shape by its shape identifier <br/>
            5. Result is a MeshData instance that holds all vertices, UV coords, colors and etc. for each block<br/>
            6. That meshdata instance is <br/>
               a) Held as-is in memory for using during chunk tesselation (you can get a reference to it through getDefaultBlockMesh())<br/>
               b) "Compiled" to a Model for use during rendering in the gui. <br/>
                  Model Compilation means all it's mesh data is uploaded onto the graphcis through a VAO and a ModelRef instance is left behind which<br/>
                  can be used by the RenderAPI to render it.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.ITesselatorAPI.TesselateBlock(Vintagestory.API.Common.Block,Vintagestory.API.Client.MeshData@)">
            <summary>
            Tesselates a block for you using given blocks shape and texture configuration
            </summary>
            <param name="block"></param>
            <param name="modeldata"></param>
        </member>
        <member name="M:Vintagestory.API.Client.ITesselatorAPI.TesselateItem(Vintagestory.API.Common.Item,Vintagestory.API.Client.MeshData@)">
            <summary>
            Tesselates an item for you using given items shape and texture configuration
            </summary>
            <param name="item"></param>
            <param name="modeldata"></param>
        </member>
        <member name="M:Vintagestory.API.Client.ITesselatorAPI.TesselateItem(Vintagestory.API.Common.Item,Vintagestory.API.Common.CompositeShape,Vintagestory.API.Client.MeshData@)">
            <summary>
            Tesselates an item for you using given items shape and texture configuration
            </summary>
            <param name="item"></param>
            <param name="forShape"></param>
            <param name="modeldata"></param>
        </member>
        <member name="M:Vintagestory.API.Client.ITesselatorAPI.TesselateItem(Vintagestory.API.Common.Item,Vintagestory.API.Client.MeshData@,Vintagestory.API.Client.ITexPositionSource)">
            <summary>
            Tesselates an item for you using the items shape and your own defined texture configuration. You need to implement the ITextureSource yourself.
            </summary>
            <param name="item"></param>
            <param name="modeldata"></param>
            <param name="texSource"></param>
        </member>
        <member name="M:Vintagestory.API.Client.ITesselatorAPI.TesselateShape(System.String,Vintagestory.API.Common.AssetLocation,Vintagestory.API.Common.CompositeShape,Vintagestory.API.Client.MeshData@,Vintagestory.API.Client.ITexPositionSource,System.Int32,System.Byte,System.Byte,System.Nullable{System.Int32},System.String[])">
            <summary>
            Tesselate a shape based on its composite shape file
            </summary>
            <param name="type">Type of shape, used for error logging only</param>
            <param name="name">Assetlocation of the shape defining file (e.g. itemtype code), used for error logging only</param>
            <param name="compositeShape"></param>
            <param name="modeldata"></param>
            <param name="texSource"></param>
            <param name="generalGlowLevel"></param>
            <param name="climateColorMapIndex"></param>
            <param name="seasonColorMapIndex"></param>
            <param name="quantityElements"></param>
            <param name="selectiveElements"></param>
        </member>
        <member name="M:Vintagestory.API.Client.ITesselatorAPI.TesselateShape(Vintagestory.API.Common.CollectibleObject,Vintagestory.API.Common.Shape,Vintagestory.API.Client.MeshData@,Vintagestory.API.MathTools.Vec3f,System.Nullable{System.Int32},System.String[])">
            <summary>
            Turns a shape into a mesh data object that you can feed into the chunk tesselator or upload to the graphics card for rendering. Uses the given collectible texture configuration as texture source.
            </summary>
            <param name="textureSourceCollectible"></param>
            <param name="shape"></param>
            <param name="modeldata"></param>
            <param name="meshRotationDeg"></param>
            <param name="quantityElements"></param>
            <param name="selectiveElements"></param>
        </member>
        <member name="M:Vintagestory.API.Client.ITesselatorAPI.TesselateShape(System.String,Vintagestory.API.Common.Shape,Vintagestory.API.Client.MeshData@,Vintagestory.API.Client.ITexPositionSource,Vintagestory.API.MathTools.Vec3f,System.Int32,System.Byte,System.Byte,System.Nullable{System.Int32},System.String[])">
            <summary>
            Turns a shape into a mesh data object that you can feed into the chunk tesselator or upload to the graphics card for rendering. Can be used to supply a custom texture source. 
            </summary>
            <param name="typeForLogging">Used for error logging only</param>
            <param name="shapeBase"></param>
            <param name="modeldata"></param>
            <param name="texSource"></param>
            <param name="meshRotationDeg"></param>
            <param name="generalGlowLevel"></param>
            <param name="climateColorMapId"></param>
            <param name="seasonColorMapId"></param>
            <param name="quantityElements"></param>
            <param name="selectiveElements"></param>
        </member>
        <member name="M:Vintagestory.API.Client.ITesselatorAPI.TesselateShapeWithJointIds(System.String,Vintagestory.API.Common.Shape,Vintagestory.API.Client.MeshData@,Vintagestory.API.Client.ITexPositionSource,Vintagestory.API.MathTools.Vec3f,System.Nullable{System.Int32},System.String[])">
            <summary>
            Turns a shape into a mesh data object that you can feed into the chunk tesselator or upload to the graphics card for rendering. Can be used to supply a custom texture source. Will add a customints array to the meshdata that holds each elements JointId for all its vertices (you will have to manually set the jointid for each element though)
            </summary>
            <param name="typeForLogging">Used for error logging only</param>
            <param name="shapeBase"></param>
            <param name="modeldata"></param>
            <param name="texSource"></param>
            <param name="rotation">In radians</param>
            <param name="quantityElements"></param>
            <param name="selectiveElements"></param>
        </member>
        <member name="M:Vintagestory.API.Client.ITesselatorAPI.TesselateShape(Vintagestory.API.Client.TesselationMetaData,Vintagestory.API.Common.Shape,Vintagestory.API.Client.MeshData@)">
            <summary>
            Turns a shape into a mesh data object that you can feed into the chunk tesselator or upload to the graphics card for rendering. Can be used to supply a custom texture source. Will add a customints array to the meshdata that holds each elements JointId for all its vertices (you will have to manually set the jointid for each element though)
            </summary>
            <param name="meta"></param>
            <param name="shapeBase"></param>
            <param name="modeldata"></param>
        </member>
        <member name="M:Vintagestory.API.Client.ITesselatorAPI.VoxelizeTexture(Vintagestory.API.Client.CompositeTexture,Vintagestory.API.MathTools.Size2i,Vintagestory.API.Client.TextureAtlasPosition)">
            <summary>
            A helper method that turns a flat texture into its 1-voxel thick voxelized form
            </summary>
            <param name="texture"></param>
            <param name="atlasSize"></param>
            <param name="atlasPos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ITesselatorAPI.VoxelizeTexture(System.Int32[],System.Int32,System.Int32,Vintagestory.API.MathTools.Size2i,Vintagestory.API.Client.TextureAtlasPosition)">
            <summary>
            A helper method that turns a flat texture into its 1-voxel thick voxelized form
            </summary>
            <param name="texturePixels"></param>
            <param name="width"></param>
            <param name="height"></param>
            <param name="atlasSize"></param>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ITesselatorAPI.GetTextureSource(Vintagestory.API.Common.Block,System.Int32,System.Boolean)">
            <summary>
            Returns the texture source from given block. This can be used to obtain the positions of the textures in the block texture atlas.
            </summary>
            <param name="block"></param>
            <param name="altTextureNumber"></param>
            <param name="returnNullWhenMissing"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ITesselatorAPI.GetTextureSource(Vintagestory.API.Common.Item,System.Boolean)">
            <summary>
            Returns the texture source from given item. This can be used to obtain the positions of the textures in the item texture atlas.
            </summary>
            <param name="item"></param>
            <param name="returnNullWhenMissing"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ITesselatorAPI.GetTextureSource(Vintagestory.API.Common.Entities.Entity,System.Collections.Generic.Dictionary{System.String,Vintagestory.API.Client.CompositeTexture},System.Int32,System.Boolean)">
            <summary>
            Returns the texture source from given entity. This can be used to obtain the positions of the textures in the entity texture atlas.
            </summary>
            <param name="entity"></param>
            <param name="extraTextures"></param>
            <param name="altTextureNumber"></param>
            <param name="returnNullWhenMissing"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Client.RetryTesselationException">
            <summary>
            Used if the chunk will not be fully tesselated, but requeuing it is expected to succeed next time
            <br/>See TextureAtlasManager.RuntimeCreateNewAtlas() for an example: if creation of a new atlas is required, that must occur on the main thread before tesselation can proceed
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.IItemTextureAtlasAPI">
            <summary>
            Item texture Atlas.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IItemTextureAtlasAPI.GetPosition(Vintagestory.API.Common.Item,System.String,System.Boolean)">
            <summary>
            Returns the position in the item texture atlas of given item. For items that don't use custom shapes you don't have to supply the textureName
            </summary>
            <param name="item"></param>
            <param name="textureName"></param>
            <param name="returnNullWhenMissing"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Client.IBlockTextureAtlasAPI">
            <summary>
            Block texture Atlas
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IBlockTextureAtlasAPI.GetPosition(Vintagestory.API.Common.Block,System.String,System.Boolean)">
            <summary>
            Returns the position in the block texture atlas of given block. 
            </summary>
            <param name="block"></param>
            <param name="textureName"></param>
            <param name="returnNullWhenMissing"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Client.ITextureAtlasAPI">
            <summary>
            Represents a texture atlas, which is a large texture containing many smaller textures packed together to reduce the number of texture bindings during rendering.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ITextureAtlasAPI.UnknownTexturePosition">
            <summary>
            The texture atlas position of the "unknown.png" texture
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ITextureAtlasAPI.Size">
            <summary>
            Size of one block texture atlas
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ITextureAtlasAPI.SubPixelPaddingX">
            <summary>
            As configured in the clientsettings.json divided by the texture atlas size
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ITextureAtlasAPI.Positions">
            <summary>
            Returns the default texture atlas position for all blocks, referenced  by the texturesubid
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ITextureAtlasAPI.AtlasTextures">
            <summary>
            Returns the list of currently loaded texture atlas ids
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.ITextureAtlasAPI.AllocateTextureSpace(System.Int32,System.Int32,System.Int32@,Vintagestory.API.Client.TextureAtlasPosition@,Vintagestory.API.Common.AssetLocationAndSource)">
            <summary>
            Reserves a spot on the texture atlas. Returns true if allocation was successful.
            Can be used to render onto it through the Render API
            </summary>
            <param name="width"></param>
            <param name="height"></param>
            <param name="textureSubId"></param>
            <param name="texPos"></param>
            <param name="loc">If set, said texture space can be looked up by the tesselated element faces during shape tesselation</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ITextureAtlasAPI.InsertTexture(Vintagestory.API.Common.IBitmap,System.Int32@,Vintagestory.API.Client.TextureAtlasPosition@,System.Single)">
            <summary>
            Inserts a texture into the texture atlas after the atlas has been generated. Updates the in-ram texture atlas as well as the in-gpu-ram texture atlas. 
            The textureSubId can be used to find the TextureAtlasPosition again in case you loose it ;-)
            </summary>
            <param name="bmp"></param>
            <param name="textureSubId"></param>
            <param name="texPos"></param>
            <param name="alphaTest"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ITextureAtlasAPI.InsertTexture(System.Byte[],System.Int32@,Vintagestory.API.Client.TextureAtlasPosition@,System.Single)">
            <summary>
            Inserts a texture into the texture atlas after the atlas has been generated. Updates the in-ram texture atlas as well as the in-gpu-ram texture atlas. 
            The textureSubId can be used to find the TextureAtlasPosition again in case you loose it ;-)
            </summary>
            <param name="pngBytes"></param>
            <param name="textureSubId"></param>
            <param name="texPos"></param>
            <param name="alphaTest"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ITextureAtlasAPI.LoadCompositeBitmap(Vintagestory.API.Common.AssetLocationAndSource)">
            <summary>
            Loads a bitmap from given asset. Can use ++ syntax for texture overlay and @[int] for texture rotation
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ITextureAtlasAPI.GetOrInsertTexture(Vintagestory.API.Common.AssetLocationAndSource,System.Int32@,Vintagestory.API.Client.TextureAtlasPosition@,Vintagestory.API.Client.CreateTextureDelegate,System.Single)">
            <summary>
            Same as <see cref="M:Vintagestory.API.Client.ITextureAtlasAPI.InsertTexture(Vintagestory.API.Common.IBitmap,System.Int32@,Vintagestory.API.Client.TextureAtlasPosition@,System.Single)"/> but this method remembers the inserted texure, which you can access using capi.TextureAtlas[path]
            A subsequent call to this method will update the texture, but retain the same texPos. Also a run-time texture reload will reload this texture automatically.
            </summary>
            <param name="path">Used as reference for caching</param>
            <param name="textureSubId"></param>
            <param name="texPos"></param>
            <param name="onCreate">The method that should load the bitmap, if required. Can be left null to simply attempt to load the bmp from <paramref name="path"/> using method <see cref="M:Vintagestory.API.Client.ITextureAtlasAPI.LoadCompositeBitmap(Vintagestory.API.Common.AssetLocationAndSource)"/></param>
            <param name="alphaTest"></param>
            <returns>False if the file was not found or the insert failed</returns>
        </member>
        <member name="M:Vintagestory.API.Client.ITextureAtlasAPI.GetOrInsertTexture(Vintagestory.API.Common.AssetLocation,System.Int32@,Vintagestory.API.Client.TextureAtlasPosition@,Vintagestory.API.Client.CreateTextureDelegate,System.Single)">
            <summary>
            Same as <see cref="M:Vintagestory.API.Client.ITextureAtlasAPI.InsertTexture(Vintagestory.API.Common.IBitmap,System.Int32@,Vintagestory.API.Client.TextureAtlasPosition@,System.Single)"/> but this method remembers the inserted texure, which you can access using capi.TextureAtlas[path]
            A subsequent call to this method will update the texture, but retain the same texPos. Also a run-time texture reload will reload this texture automatically.
            </summary>
            <param name="path">Used as reference for caching</param>
            <param name="textureSubId"></param>
            <param name="texPos"></param>
            <param name="onCreate">The method that should load the bitmap, if required. Can be left null to simply attempt to load the bmp from <paramref name="path"/> using method <see cref="M:Vintagestory.API.Client.ITextureAtlasAPI.LoadCompositeBitmap(Vintagestory.API.Common.AssetLocationAndSource)"/></param>
            <param name="alphaTest"></param>
            <returns>False if the file was not found or the insert failed</returns>
        </member>
        <member name="M:Vintagestory.API.Client.ITextureAtlasAPI.InsertTextureCached(Vintagestory.API.Common.AssetLocation,Vintagestory.API.Common.IBitmap,System.Int32@,Vintagestory.API.Client.TextureAtlasPosition@,System.Single)">
            <summary>
            Same as <see cref="M:Vintagestory.API.Client.ITextureAtlasAPI.InsertTexture(Vintagestory.API.Common.IBitmap,System.Int32@,Vintagestory.API.Client.TextureAtlasPosition@,System.Single)"/> but this method remembers the inserted texure, which you can access using capi.TextureAtlas[path]
            A subsequent call to this method will update the texture, but retain the same texPos. Also a run-time texture reload will reload this texture automatically.
            </summary>
            <param name="path"></param>
            <param name="bmp"></param>
            <param name="textureSubId"></param>
            <param name="texPos"></param>
            <param name="alphaTest"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ITextureAtlasAPI.InsertTextureCached(Vintagestory.API.Common.AssetLocation,System.Byte[],System.Int32@,Vintagestory.API.Client.TextureAtlasPosition@,System.Single)">
            <summary>
            Same as <see cref="M:Vintagestory.API.Client.ITextureAtlasAPI.InsertTexture(Vintagestory.API.Common.IBitmap,System.Int32@,Vintagestory.API.Client.TextureAtlasPosition@,System.Single)"/> but this method remembers the inserted texure, which you can access using capi.TextureAtlas[path]
            A subsequent call to this method will update the texture, but retain the same texPos. Also a run-time texture reload will reload this texture automatically.
            </summary>
            <param name="path"></param>
            <param name="pngBytes"></param>
            <param name="textureSubId"></param>
            <param name="texPos"></param>
            <param name="alphaTest"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ITextureAtlasAPI.FreeTextureSpace(System.Int32)">
            <summary>
            Deallocates a previously allocated texture space
            </summary>
            <param name="textureSubId"></param>
        </member>
        <member name="M:Vintagestory.API.Client.ITextureAtlasAPI.FreeTextureSpace(Vintagestory.API.Common.AssetLocationAndSource)">
            <summary>
            Deallocates a previously allocated texture space
            </summary>
            <param name="assetloc"></param>
        </member>
        <member name="M:Vintagestory.API.Client.ITextureAtlasAPI.GetRandomColor(System.Int32)">
            <summary>
            Returns an rgba value picked randomly inside the given texture (defined by its sub-id)
            </summary>
            <param name="textureSubId"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ITextureAtlasAPI.RegenMipMaps(System.Int32)">
            <summary>
            Regenerates the mipmaps for one of the atlas textures, given by its array index
            </summary>
            <param name="atlasIndex"></param>
        </member>
        <member name="M:Vintagestory.API.Client.ITextureAtlasAPI.GetRandomColor(System.Int32,System.Int32)">
            <summary>
            Returns one of 30 random rgba values inside the given texture (defined by its sub-id)
            </summary>
            <param name="textureSubId"></param>
            <param name="rndIndex">0..29 for a specific random pixel, or -1 to randomize, which is the same as calling GetRandomColor without the rndIndex argument</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ITextureAtlasAPI.GetRandomColor(Vintagestory.API.Client.TextureAtlasPosition,System.Int32)">
            <summary>
            Returns one of 30 random rgba values inside the given texture (defined by its sub-id)
            </summary>
            <param name="texPos"></param>
            <param name="rndIndex">0..29 for a specific random pixel, or -1 to randomize, which is the same as calling GetRandomColor without the rndIndex argument</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ITextureAtlasAPI.GetRandomColors(Vintagestory.API.Client.TextureAtlasPosition)">
            <summary>
            Get the random colors array for the specified TextureAtlasPosition, creating it if necessary
            </summary>
            <param name="texPos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ITextureAtlasAPI.GetAverageColor(System.Int32)">
            <summary>
            Returns you an average rgba value picked inside the texture subid
            </summary>
            <param name="textureSubId"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ITextureAtlasAPI.RenderTextureIntoAtlas(System.Int32,Vintagestory.API.Client.LoadedTexture,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Renders given texture into the texture atlas at given location
            </summary>
            <param name="intoAtlasTextureId"></param>
            <param name="fromTexture"></param>
            <param name="sourceX"></param>
            <param name="sourceY"></param>
            <param name="sourceWidth"></param>
            <param name="sourceHeight"></param>
            <param name="targetX"></param>
            <param name="targetY"></param>
            <param name="alphaTest"></param>
        </member>
        <member name="T:Vintagestory.API.Client.MeshRef">
            <summary>
            A reference to a mesh that's been uploaded onto the graphics card (i.e. that has been placed in an OpenGL <see href="https://www.khronos.org/opengl/wiki/Vertex_Specification#Vertex_Array_Object">VAO</see>). This reference can be used for rendering it.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.MeshRef.Disposed">
            <summary>
            Am I disposed?
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshRef.Dispose">
            <summary>
            Frees up any gpu allocated memory. Equivalent to calling api.Render.DeleteMesh()
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.UBORef.Disposed">
            <summary>
            Am I disposed?
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.UBORef.Size">
            <summary>
            Size in Bytes
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.UBORef.Dispose">
            <summary>
            Frees up any gpu allocated memory. Equivalent to calling api.Render.DeleteMesh()
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.WorldInteraction">
            <summary>
            A world interaction for the object. This is used to prompt the player about what a certain object can do.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.WorldInteraction.MouseButton">
            <summary>
            What mouse button should be used for this interaction?
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.WorldInteraction.HotKeyCode">
            <summary>
            Does it require a mouse modifier key to perform this action (e.g. "shift" or "ctrl")
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.WorldInteraction.HotKeyCodes">
            <summary>
            Does it require pressing multiple keys to perform this action (if set then HotkeyCode is ignored)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.WorldInteraction.ActionLangCode">
            <summary>
            The text to show, will be used in the form of Lang.Get(ActionLangCode); 
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.WorldInteraction.JsonItemStacks">
            <summary>
            <!--<jsonalias>ItemStacks</jsonalias>-->
            Does the player need to hold a certain items/blocks in hands? (e.g. a knife). You can define an array of item stacks here and the game will loop through them in a 1 second interval.
            This property is loaded from the entitytypes and blocktype json files and then resolved.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.WorldInteraction.RequireFreeHand">
            <summary>
            If true, the interaction only applies when the player has no slot in hands
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.WorldInteraction.GetMatchingStacks">
            <summary>
            Only applicable when ItemStacks is non null. If set, this method will be executed before adding the interaction. Lets you return a filtered list of itemstacks that can be used for this interaction (or null/empty array for not interactable)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.WorldInteraction.ShouldApply">
            <summary>
            Only applicable when ItemStacks is null. If set and the method returns false, the interaction will not be displayed
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.CaveMusicTrack">
            <summary>
            Represent a dynamically composed track made out of individual small pieces of music mixed together defined by specific rules
            Requirements:
            - Start/Stop Multiple Trackpieces
            - Set their volumne dynamically
            - Decide which Trackpieces to play
            - Allow individual rules per Trackpiece
            Specific examples:
            - Play Thunder ambient only if thunderlevel above 10
              - Thunder ambient volume based on thunderlevel (between 0.3 and 1.1?)
            - Play Aquatic Drone only when y below 60
            - Play Deep Drone only when y below 50
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.CaveMusicTrack.Name">
            <summary>
            The name of the music track.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.CaveMusicTrack.SessionPlayTime">
            <summary>
            When playing cave sounds, play between 4-10 minutes each time
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.CaveMusicTrack.IsActive">
            <summary>
            Is the track active?
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.CaveMusicTrack.Vintagestory#API#Client#IMusicTrack#Priority">
            <summary>
            The priority of the track.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.CaveMusicTrack.Initialize(Vintagestory.API.Common.IAssetManager,Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.IMusicEngine)">
            <summary>
            Initializes the music track
            </summary>
            <param name="assetManager">the global Asset Manager</param>
            <param name="capi">The Core Client API</param>
            <param name="musicEngine"></param>
        </member>
        <member name="M:Vintagestory.API.Client.CaveMusicTrack.ShouldPlay(Vintagestory.API.Common.Entities.TrackedPlayerProperties,Vintagestory.API.Common.ClimateCondition,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Should the game play this track?
            </summary>
            <param name="props">The properties of the current track.</param>
            <param name="conds"></param>
            <param name="pos"></param>
            <returns>Do we play this track?</returns>
        </member>
        <member name="M:Vintagestory.API.Client.CaveMusicTrack.BeginPlay(Vintagestory.API.Common.Entities.TrackedPlayerProperties)">
            <summary>
            Starts playing the track.
            </summary>
            <param name="props">The properties of the current track.</param>
        </member>
        <member name="M:Vintagestory.API.Client.CaveMusicTrack.ContinuePlay(System.Single,Vintagestory.API.Common.Entities.TrackedPlayerProperties)">
            <summary>
            Do we continue playing this track?
            </summary>
            <param name="dt">Delta time or Change in time</param>
            <param name="props">The properties of the current track.</param>
            <returns>Are we still playing or do we stop?</returns>
        </member>
        <member name="M:Vintagestory.API.Client.CaveMusicTrack.FadeOut(System.Single,System.Action)">
            <summary>
            Fade out the track to end.
            </summary>
            <param name="seconds">Seconds to fade out across.</param>
            <param name="onFadedOut">Delegate to have happen once the fade-out is done.</param>
        </member>
        <member name="M:Vintagestory.API.Client.CaveMusicTrack.UpdateVolume">
            <summary>
            Updates the volume of the track.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.ILoadedSound">
            <summary>
            Represents a loaded game sound
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ILoadedSound.SoundLengthSeconds">
            <summary>
            Length of the sound in seconds
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ILoadedSound.PlaybackPosition">
            <summary>
            Get the current playback position or set it (in seconds)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ILoadedSound.IsDisposed">
            <summary>
            Is the sound disposed of?
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ILoadedSound.IsPlaying">
            <summary>
            Is sound currently playing
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ILoadedSound.IsFadingIn">
            <summary>
            True if the track is fading to a higher volume
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ILoadedSound.IsFadingOut">
            <summary>
            True if the track is fading to a lower volume
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ILoadedSound.HasStopped">
            <summary>
            Is the sound finished with playing? (false when only paused)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ILoadedSound.Channels">
            <summary>
            Amount of audio channels this sound has
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ILoadedSound.Params">
            <summary>
            The params the sound was created with.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.ILoadedSound.Start">
            <summary>
            Starts the sound
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.ILoadedSound.Stop">
            <summary>
            Stops the sound
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.ILoadedSound.Pause">
            <summary>
            Pauses the sound
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.ILoadedSound.Toggle(System.Boolean)">
            <summary>
            True for Starting, False for Stopping the sound
            </summary>
            <param name="on"></param>
        </member>
        <member name="M:Vintagestory.API.Client.ILoadedSound.SetPitch(System.Single)">
            <summary>
            Allows you to modify the pitch of the sound. May also be called while the sound is currently playing.
            </summary>
            <param name="val"></param>
        </member>
        <member name="M:Vintagestory.API.Client.ILoadedSound.SetPitchOffset(System.Single)">
            <summary>
            Allows you to modify the pitch of the sound. May also be called while the sound is currently playing. This value is added together with the normal pitch level. This method is currently used to distort sound during low temporal stability
            </summary>
            <param name="val"></param>
        </member>
        <member name="M:Vintagestory.API.Client.ILoadedSound.SetVolume(System.Single)">
            <summary>
            Allows you to modify the volumne of the sound. May also be called while the sound is currently playing.
            </summary>
            <param name="val"></param>
        </member>
        <member name="M:Vintagestory.API.Client.ILoadedSound.SetVolume">
            <summary>
            Sets the current volumne again. Use this to update the sounds volumne after the global sound level has changed
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.ILoadedSound.SetPosition(Vintagestory.API.MathTools.Vec3f)">
            <summary>
            Sets the position from where the sound is originating from
            </summary>
            <param name="position"></param>
        </member>
        <member name="M:Vintagestory.API.Client.ILoadedSound.FadeTo(System.Double,System.Single,System.Action{Vintagestory.API.Client.ILoadedSound})">
            <summary>
            Fades the sounds volumne to given value
            </summary>
            <param name="newVolume"></param>
            <param name="duration"></param>
            <param name="onFaded">Called when the fade has completed. If in the meantime another FadeXXX call has been made, the method is not called</param>
        </member>
        <member name="M:Vintagestory.API.Client.ILoadedSound.FadeOut(System.Single,System.Action{Vintagestory.API.Client.ILoadedSound})">
            <summary>
            Causes the sound to fade out
            </summary>
            <param name="seconds"></param>
            <param name="onFadedOut">Called when the fade out has completed. If in the meantime another FadeXXX call has been made, the method is not called</param>
        </member>
        <member name="M:Vintagestory.API.Client.ILoadedSound.FadeIn(System.Single,System.Action{Vintagestory.API.Client.ILoadedSound})">
            <summary>
            Causes the sound to fade in
            </summary>
            <param name="seconds"></param>
            <param name="onFadedIn">Called when the fade in has completed. If in the meantime another FadeXXX call has been made, the method is not called</param>
        </member>
        <member name="M:Vintagestory.API.Client.ILoadedSound.FadeOutAndStop(System.Single)">
            <summary>
            Causes the sound to fade out and stop the track
            </summary>
            <param name="seconds"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IMusicEngine.LoadTrack(Vintagestory.API.Common.AssetLocation,System.Action{Vintagestory.API.Client.ILoadedSound},System.Single,System.Single)">
            <summary>
            Loads the sound into memory and plays the track. Slow call. Encapsulate it into ThreadPool.QueueUserWorkItem() to not block the main thread
            </summary>
            <param name="location"></param>
            <param name="onLoaded"></param>
            <param name="volume"></param>
            <param name="pitch"></param>
        </member>
        <member name="P:Vintagestory.API.Client.IMusicEngine.CurrentTrack">
            <summary>
            The currently playing track
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IMusicEngine.LastPlayedTrack">
            <summary>
            The track that played before
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IMusicEngine.MillisecondsSinceLastTrack">
            <summary>
            The total passed milliseconds since game start at the point where the last track stopped playing
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IMusicTrack.Name">
            <summary>
            The name of the track
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IMusicTrack.IsActive">
            <summary>
            Is the track active?
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IMusicTrack.Priority">
            <summary>
            The priority of the track. A higher priority will cancel active tracks.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IMusicTrack.StartPriority">
            <summary>
            The start priority of the track. A higher priority will leave active tracks playing.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IMusicTrack.BeginSort">
            <summary>
            Called before sorting by start priority happens
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IMusicTrack.Initialize(Vintagestory.API.Common.IAssetManager,Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.IMusicEngine)">
            <summary>
            Initialization of the Music Track.
            </summary>
            <param name="assetManager">the global Asset Manager</param>
            <param name="capi">The Core Client API</param>
            <param name="musicEngine"></param>
        </member>
        <member name="M:Vintagestory.API.Client.IMusicTrack.ShouldPlay(Vintagestory.API.Common.Entities.TrackedPlayerProperties,Vintagestory.API.Common.ClimateCondition,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Should this current track play?
            </summary>
            <param name="props">Player Properties</param>
            <param name="conds"></param>
            <param name="pos"></param>
            <returns>Should we play the current track?</returns>
        </member>
        <member name="M:Vintagestory.API.Client.IMusicTrack.BeginPlay(Vintagestory.API.Common.Entities.TrackedPlayerProperties)">
            <summary>
            Begin playing the current track.
            </summary>
            <param name="props">Player Properties</param>
        </member>
        <member name="M:Vintagestory.API.Client.IMusicTrack.ContinuePlay(System.Single,Vintagestory.API.Common.Entities.TrackedPlayerProperties)">
            <summary>
            Is it cool for the current track to continue playing?
            </summary>
            <param name="dt">Delta Time/Change in time.</param>
            <param name="props">Track properties.</param>
            <returns>Cool or not cool?</returns>
        </member>
        <member name="M:Vintagestory.API.Client.IMusicTrack.UpdateVolume">
            <summary>
            Updates the volume on the current track.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IMusicTrack.FadeOut(System.Single,System.Action)">
            <summary>
            Called when the track to interupted or when Update() returned false. 
            So called every time the tracked ended or has to end
            </summary>
            <param name="seconds"></param>
            <param name="onFadedOut"></param>
        </member>
        <member name="T:Vintagestory.API.Client.MusicTrack">
            <summary>
            Adds a basic music track.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MusicTrack.loading">
            <summary>
            Is it loading?
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MusicTrack.Sound">
            <summary>
            Get the current sound file.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.MusicTrack.IsActive">
            <summary>
            Is the current song actively playing or is it loading? (False if neither action.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.MusicTrack.Loaded">
            <summary>
            Is this track loaded and ready to play?
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.MusicTrack.Priority">
            <summary>
            The current song's priority.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.MusicTrack.Name">
            <summary>
            The name of the track.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MusicTrack.musicEngine">
            <summary>
            Core client API.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MusicTrack.ForceActive">
            <summary>
            If true, the music is considered active/playing until set to false and so no other track will play
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MusicTrack.Stop">
            <summary>
            Stops the track immediately
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MusicTrack.Initialize(Vintagestory.API.Common.IAssetManager,Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.IMusicEngine)">
            <summary>
            Initialize the track.
            </summary>
            <param name="assetManager">the global Asset Manager</param>
            <param name="capi">The Core Client API</param>
            <param name="musicEngine"></param>
        </member>
        <member name="M:Vintagestory.API.Client.MusicTrack.ShouldPlay(Vintagestory.API.Common.Entities.TrackedPlayerProperties,Vintagestory.API.Common.ClimateCondition,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Should this current track play?
            </summary>
            <param name="props">Player Properties</param>
            <param name="conds"></param>
            <param name="pos"></param>
            <returns>Should we play the current track?</returns>
        </member>
        <member name="M:Vintagestory.API.Client.MusicTrack.BeginPlay(Vintagestory.API.Common.Entities.TrackedPlayerProperties)">
            <summary>
            Begins playing the Music track.
            </summary>
            <param name="props">Player Properties</param>
        </member>
        <member name="M:Vintagestory.API.Client.MusicTrack.ContinuePlay(System.Single,Vintagestory.API.Common.Entities.TrackedPlayerProperties)">
            <summary>
            Is it cool for the current track to continue playing?
            </summary>
            <param name="dt">Delta Time/Change in time.</param>
            <param name="props">Track properties.</param>
            <returns>Cool or not cool?</returns>
        </member>
        <member name="M:Vintagestory.API.Client.MusicTrack.FadeOut(System.Single,System.Action)">
            <summary>
            Fades out the current track.  
            </summary>
            <param name="seconds">The duration of the fade out in seconds.</param>
            <param name="onFadedOut">What to have happen after the track has faded out.</param>
        </member>
        <member name="M:Vintagestory.API.Client.MusicTrack.UpdateVolume">
            <summary>
            Updates the volume of the current track provided Sound is not null. (effectively calls Sound.SetVolume)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MusicTrackPart.MinSuitability">
            <summary>
            The minimum Suitability of the given track
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MusicTrackPart.MaxSuitability">
            <summary>
            The maximum Suitability of the given track
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MusicTrackPart.MinVolumne">
            <summary>
            The minimum volume of a given track.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MusicTrackPart.MaxVolumne">
            <summary>
            The maximum volume of a given track.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MusicTrackPart.PosY">
            <summary>
            the Y position.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MusicTrackPart.Files">
            <summary>
            The files for the part.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MusicTrackPart.Sound">
            <summary>
            The loaded sound
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MusicTrackPart.StartedMs">
            <summary>
            Start time in Miliseconds
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MusicTrackPart.Loading">
            <summary>
            Am I loading?
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.MusicTrackPart.IsPlaying">
            <summary>
            Am I playing?
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MusicTrackPart.Applicable(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.Entities.TrackedPlayerProperties)">
            <summary>
            Am I applicable?
            </summary>
            <param name="world">world information</param>
            <param name="props">the properties of the current track.</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.MusicTrackPart.CurrentVolume(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.Entities.TrackedPlayerProperties)">
            <summary>
            The current volume of the track.
            </summary>
            <param name="world">world information</param>
            <param name="props">the properties of the current track.</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.MusicTrackPart.CurrentSuitability(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.Entities.TrackedPlayerProperties)">
            <summary>
            The current Suitability of the track.
            </summary>
            <param name="world">world information</param>
            <param name="props">the properties of the current track.</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.MusicTrackPart.ExpandFiles(Vintagestory.API.Common.IAssetManager)">
            <summary>
            Expands the target files.
            </summary>
            <param name="assetManager">The current AssetManager instance.</param>
        </member>
        <member name="T:Vintagestory.API.Client.RainMusicTrack">
            <summary>
            Creates a track for rain related music.  [Not yet implemented]
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.SoundParams">
            <summary>
            The sound paramaters used for loading sounds on the client side
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SoundParams.Location">
            <summary>
            The specific sound to be played
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SoundParams.Position">
            <summary>
            The position of the sound
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SoundParams.RelativePosition">
            <summary>
            If true then Position is added relative to the players current position
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SoundParams.ShouldLoop">
            <summary>
            If the sound should start again when finished
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SoundParams.DisposeOnFinish">
            <summary>
            Probably want to set this to false on looping sounds. But remember to dispose it yourself when you no longer need it
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SoundParams.Pitch">
            <summary>
            The sounds intial pitch. 
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SoundParams.LowPassFilter">
            <summary>
            0...1
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SoundParams.ReverbDecayTime">
            <summary>
            0...99f
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SoundParams.ReferenceDistance">
            <summary>
            The range in which the sound does not attenuate at all
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.SoundParams.Volume">
            <summary>
            The sounds initial volumne (0f - 1f)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SoundParams.Range">
            <summary>
            The sounds initial range (default is 32)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SoundParams.SoundType">
            <summary>
            Determines whether to apply the music or sound volumne level to the Volume
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.SoundParams.#ctor">
            <summary>
            Empty Constructor.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.SoundParams.#ctor(Vintagestory.API.Common.AssetLocation)">
            <summary>
            Constructs the sound based off the asset location.
            </summary>
            <param name="location">The asset location of the track.</param>
        </member>
        <member name="T:Vintagestory.API.Client.SurfaceMusicTrack">
            <summary>
            Adds a basic music track.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SurfaceMusicTrack.Location">
            <summary>
            The location of the track.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SurfaceMusicTrack.OnPlayList">
            <summary>
            The current play style of the track
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SurfaceMusicTrack.MinSunlight">
            <summary>
            Minimum sunlight to play the track.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SurfaceMusicTrack.MinHour">
            <summary>
            Earliest to play the track.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SurfaceMusicTrack.MaxHour">
            <summary>
            Latest to play the track.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.SurfaceMusicTrack.Priority">
            <summary>
            The current song's priority. If higher than 1, will stop other tracks and start this one
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.SurfaceMusicTrack.StartPriorityRnd">
            <summary>
            The songs starting priority. If higher than 1, then it will be started first. But does not interrupt already running tracks. When reading a songs start priority the maximum of start priority and priority is used
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SurfaceMusicTrack.loading">
            <summary>
            Is it loading?
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SurfaceMusicTrack.Sound">
            <summary>
            Get the current sound file.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.SurfaceMusicTrack.IsActive">
            <summary>
            Is the current song actively playing or is it loading? (False if neither action.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.SurfaceMusicTrack.Name">
            <summary>
            The name of the track.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SurfaceMusicTrack.rand">
            <summary>
            The music seed for random values.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SurfaceMusicTrack.AnySongCoolDowns">
            <summary>
            Cooldowns between songs. First value is the minimum delay, second value is added randomness. (in seconds)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SurfaceMusicTrack.SameSongCoolDowns">
            <summary>
            Time before we play the same song again. First value is the minimum delay, second value is added randomness. (in seconds)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SurfaceMusicTrack.initialized">
            <summary>
            Is this track initialized?
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SurfaceMusicTrack.globalCooldownUntilMs">
            <summary>
            Global cooldown until next track
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SurfaceMusicTrack.tracksCooldownUntilMs">
            <summary>
            Cooldown for each track by name.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SurfaceMusicTrack.capi">
            <summary>
            Core client API.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SurfaceMusicTrack.prevFrequency">
            <summary>
            Gets the previous frequency setting.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.SurfaceMusicTrack.MusicFrequency">
            <summary>
            Gets the current Music Frequency setting.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.SurfaceMusicTrack.Initialize(Vintagestory.API.Common.IAssetManager,Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.IMusicEngine)">
            <summary>
            Initialize the track.
            </summary>
            <param name="assetManager">the global Asset Manager</param>
            <param name="capi">The Core Client API</param>
            <param name="musicEngine"></param>
        </member>
        <member name="M:Vintagestory.API.Client.SurfaceMusicTrack.FrequencyChanged(System.Int32,Vintagestory.API.Client.ICoreClientAPI)">
            <summary>
            The Frequency change in the static system.
            </summary>
            <param name="newFreq">The new frequency</param>
            <param name="capi">the core client API</param>
        </member>
        <member name="M:Vintagestory.API.Client.SurfaceMusicTrack.ShouldPlay(Vintagestory.API.Common.Entities.TrackedPlayerProperties,Vintagestory.API.Common.ClimateCondition,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Should this current track play?
            </summary>
            <param name="props">Player Properties</param>
            <param name="conds"></param>
            <param name="pos"></param>
            <returns>Should we play the current track?</returns>
        </member>
        <member name="M:Vintagestory.API.Client.SurfaceMusicTrack.BeginPlay(Vintagestory.API.Common.Entities.TrackedPlayerProperties)">
            <summary>
            Begins playing the Music track.
            </summary>
            <param name="props">Player Properties</param>
        </member>
        <member name="M:Vintagestory.API.Client.SurfaceMusicTrack.ContinuePlay(System.Single,Vintagestory.API.Common.Entities.TrackedPlayerProperties)">
            <summary>
            Is it cool for the current track to continue playing?
            </summary>
            <param name="dt">Delta Time/Change in time.</param>
            <param name="props">Track properties.</param>
            <returns>Cool or not cool?</returns>
        </member>
        <member name="M:Vintagestory.API.Client.SurfaceMusicTrack.FadeOut(System.Single,System.Action)">
            <summary>
            Fades out the current track.
            </summary>
            <param name="seconds">The duration of the fade out in seconds.</param>
            <param name="onFadedOut">What to have happen after the track has faded out.</param>
        </member>
        <member name="M:Vintagestory.API.Client.SurfaceMusicTrack.SetCooldown(System.Single)">
            <summary>
            Sets the cooldown of the current track.
            </summary>
            <param name="multiplier">The multiplier for the cooldown.</param>
        </member>
        <member name="M:Vintagestory.API.Client.SurfaceMusicTrack.UpdateVolume">
            <summary>
            Updates the volume of the current track provided Sound is not null. (effectively calls Sound.SetVolume)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GlKeyNames.ToString(Vintagestory.API.Client.GlKeys)">
            <summary>
            Converts the given key to a string.
            </summary>
            <param name="key">the key being passed in.</param>
            <returns>the string name of the key.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GlKeyNames.GetKeyName(Vintagestory.API.Client.GlKeys)">
            <summary>
            Gets the string the key would produce upon pressing it without considering any modifiers (but single keys get converted to uppercase).
            So GlKeys.W on QWERTY Keyboard layout returns W, GlKeys.Space returns Space etc.
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.GlKeyNames.GetPrintableChar(System.Int32)">
            <summary>
            Returns the printable character for a key. Does return null on none printable keys like <see cref="F:Vintagestory.API.Client.GlKeys.Enter"/>
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Client.KeyConverter">
            <summary>
            Converts key code from OpenTK 4 to GlKeys
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.GlKeys">
             <summary>
             Internally the game uses OpenTK and their Keys are by default mapped to US QWERTY Keyboard layout which the GlKeys also do.
             Upon typing text in a Text input field it will produce the correct characters according to your keyboard layout.
            
             If you need to get the character for the current Keyboard layout use <see cref="M:Vintagestory.API.Client.GlKeyNames.GetKeyName(Vintagestory.API.Client.GlKeys)"/>
             </summary>
        </member>
        <member name="F:Vintagestory.API.Client.HotkeyType.HelpAndOverlays">
            <summary>
            Help and overlays that are always available (survival and creative mode)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.HotkeyType.MouseModifiers">
            <summary>
            Mouse modifiers (i.e. for Shift- and Ctrl- click)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.HotkeyType.GUIOrOtherControls">
            <summary>
            Controls that are always available (survival and creative mode)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.HotkeyType.MovementControls">
            <summary>
            Controls that control the players movement. Only available when the player not currently inside a dialog.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.HotkeyType.CharacterControls">
            <summary>
            Controls that control the players actions. Only triggered when the player not currently inside a dialog.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.HotkeyType.InventoryHotkeys">
            <summary>
            Shortcuts for inventory actions.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.HotkeyType.CreativeTool">
            <summary>
            Controls that are only available in creative mode
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.HotkeyType.CreativeOrSpectatorTool">
            <summary>
            Controls that are only available in creative or spectator mode
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.HotkeyType.DevTool">
            <summary>
            Developer tools
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.HotkeyType.MouseControls">
            <summary>
            Primary mouse controls
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.HotKey.IsGlobalHotkey">
            <summary>
            For global hotkeys that shall not be blocked by anything (e.g. F11 for fullscreen, F12 for screenshot)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.HotKey.IsIngameHotkey">
            <summary>
            For hotkeys that only available during a game session. When the game session ends, the handler to this hotkey is removed (or we have a dead reference to runninggame)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.HotKey.CurrentMapping">
            <summary>
            The current key combination for this hotkey
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.HotKey.DefaultMapping">
            <summary>
            The default key combination for this hotkey
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.HotKey.Code">
            <summary>
            The code of the Hotkey.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.HotKey.Name">
            <summary>
            The name of the Hotkey
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.HotKey.KeyCombinationType">
            <summary>
            The type of the key combination.  This defaults to HotkeyType.CharacterControls.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.HotKey.Handler">
            <summary>
            This is the action that happens when the hotkey is used.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.HotKey.TriggerOnUpAlso">
            <summary>
            If true, the handler will be called twice, once on the key or button down event, and once on the up event
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.HotKey.DidPress(Vintagestory.API.Client.KeyEvent,Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.IPlayer,System.Boolean)">
            <summary>
            Was this hotkey pressed?
            </summary>
            <param name="keyEventargs">Event arguments for the given key.</param>
            <param name="world">The current world for the key.</param>
            <param name="player">The player that pressed the buttons.</param>
            <param name="allowCharacterControls">Do we allow character control functions.</param>
            <returns>If the hotkey was pressed or not.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.HotKey.MouseControlsIgnoreModifiers">
            <summary>
            If this hotkey is a mouse control (primary or secondary mouse click), and this hotkey does not specifically require modifiers, then let's ignore modifiers when matching, because Shift+click or Ctrl+click is common; Alt+click might be used if Alt is being held
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.HotKey.FallbackDidPress(Vintagestory.API.Client.KeyEvent,Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Common.IPlayer,System.Boolean)">
            <summary>
            Fallback version of the DidPress event.
            </summary>
            <param name="keyEventargs">Event arguments for the given key.</param>
            <param name="world">The current world for the key.</param>
            <param name="player">The player that pressed the buttons.</param>
            <param name="allowCharacterControls">Do we allow character control functions.</param>
            <returns>If the hotkey was pressed or not.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.HotKey.Clone">
            <summary>
            Clones the hotkey.
            </summary>
            <returns>the cloned hotkey.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.HotKey.SetDefaultMapping">
            <summary>
            Sets the default keymap for this hotkey.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.KeyCombination">
            <summary>
            Mapping of an input key combination.   Note: the "key" might also be a mouse button if a hotkey has been configured to be activated by a mouse button
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.KeyCombination.MouseStart">
            <summary>
            The first keycode representing a mouse button
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.KeyCombination.KeyCode">
            <summary>
            The KeyCode (from 1.19.4, the keycodes map to either keys or mouse buttons)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.KeyCombination.SecondKeyCode">
            <summary>
            The second key code (if it exists).
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.KeyCombination.Ctrl">
            <summary>
            Ctrl pressed condition.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.KeyCombination.Alt">
            <summary>
            Alt pressed condition.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.KeyCombination.Shift">
            <summary>
            Shift pressed condition.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.KeyCombination.ToString">
            <summary>
            Converts this key combination into a string.
            </summary>
            <returns>The string code for this Key Combination.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.KeyCombination.Clone">
            <summary>
            Clones the current key combination.
            </summary>
            <returns>The cloned key combination.</returns>
        </member>
        <member name="P:Vintagestory.API.Client.KeyEvent.KeyChar">
            <summary>
            the character for the given key.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.KeyEvent.KeyCode">
            <summary>
            The keycode value.  
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.KeyEvent.KeyCode2">
            <summary>
            If a player taps in quick succession, this is the second key
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.KeyEvent.Handled">
            <summary>
            Is this keypress/key combination handled?
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.KeyEvent.CtrlPressed">
            <summary>
            Is control/Ctrl being held down?
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.KeyEvent.CommandPressed">
            <summary>
            Is mac os command key being held down?
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.KeyEvent.ShiftPressed">
            <summary>
            Is Shift being held down?
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.KeyEvent.AltPressed">
            <summary>
            Is Alt being held down?
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.MouseEvent">
            <summary>
            This contains the data for what the mouse is currently doing.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.MouseEvent.X">
            <summary>
            Current X position of the mouse.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.MouseEvent.Y">
            <summary>
            Current Y position of the mouse.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.MouseEvent.DeltaX">
            <summary>
            The X movement of the mouse.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.MouseEvent.DeltaY">
            <summary>
            The Y movement of the mouse.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.MouseEvent.Button">
            <summary>
            Gets the current mouse button pressed.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.MouseEvent.Handled">
            <summary>
            Am I handled?
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.MouseWheelEventArgs">
            <summary>
            The event arguments for the mouse.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MouseWheelEventArgs.delta">
            <summary>
            The rough change in time since last called.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MouseWheelEventArgs.deltaPrecise">
            <summary>
            The precise change in time since last called.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MouseWheelEventArgs.value">
            <summary>
            The rough change in value.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MouseWheelEventArgs.valuePrecise">
            <summary>
            The precise change in value.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.MouseWheelEventArgs.IsHandled">
            <summary>
            Is the current event being handled?
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MouseWheelEventArgs.SetHandled(System.Boolean)">
            <summary>
            Changes or sets the current handled state.
            </summary>
            <param name="value">Should the event be handled?</param>
        </member>
        <member name="T:Vintagestory.API.Client.MeshDataPool">
            <summary>
            This is a modeldata pool, which can hold 400k vertices, 300k indices but not more than 900 chunks
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshDataPool.MaxPartsPerPool">
            <summary>
            The maximum parts for this pool.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshDataPool.VerticesPoolSize">
            <summary>
            The current vertices for this pool.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshDataPool.IndicesPoolSize">
            <summary>
            the amount of indicies for this pool.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshDataPool.indicesStartsByte">
            <summary>
            The starting byte for each index.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshDataPool.indicesSizes">
            <summary>
            The size of each index.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshDataPool.indicesGroupsCount">
            <summary>
            How many index groups are there.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshDataPool.indicesPosition">
            <summary>
            the position of the indices.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshDataPool.verticesPosition">
            <summary>
            the position of the vertices.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshDataPool.CurrentFragmentation">
            <summary>
            The current fragmentaton.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshDataPool.UsedVertices">
            <summary>
            How many of the vertices are used.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshDataPool.RenderedTriangles">
            <summary>
            How many triangles are rendered.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshDataPool.AllocatedTris">
            <summary>
            How many triangles are allocated.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshDataPool.AllocateNewPool(Vintagestory.API.Client.ICoreClientAPI,System.Int32,System.Int32,System.Int32,Vintagestory.API.Client.CustomMeshDataPartFloat,Vintagestory.API.Client.CustomMeshDataPartShort,Vintagestory.API.Client.CustomMeshDataPartByte,Vintagestory.API.Client.CustomMeshDataPartInt)">
            <summary>
            Allocates a new pool for mesh data.
            </summary>
            <param name="capi">The core client API</param>
            <param name="verticesPoolSize">The vertices pool size.</param>
            <param name="indicesPoolSize">The index pool size.</param>
            <param name="maxPartsPerPool">The maximum parts per pool.</param>
            <param name="customFloats">The custom floats of the pool.</param>
            <param name="customShorts"></param>
            <param name="customBytes">The custom bytes of the pool.</param>
            <param name="customInts">The custom ints of the pool.</param>
            <returns>The resulting mesh data pool.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.MeshDataPool.TryAdd(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.MeshData,Vintagestory.API.MathTools.Vec3i,System.Int32,Vintagestory.API.MathTools.Sphere)">
            <summary>
            Attempts to add the new model.
            </summary>
            <param name="capi">The core client API</param>
            <param name="modeldata">The model to add</param>
            <param name="modelOrigin">The origin point of the model.</param>
            <param name="dimension"></param>
            <param name="frustumCullSphere">The culling sphere.</param>
            <returns>The location of the model (and the data) in the pool.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.MeshDataPool.RemoveLocation(Vintagestory.API.Client.ModelDataPoolLocation)">
            <summary>
            Attempts to remove the model from the pool if the model exists.  Will throw an invalid call or an InvalidOperationException if used improperly.
            </summary>
            <param name="location">The location of the model data.</param>
        </member>
        <member name="M:Vintagestory.API.Client.MeshDataPool.Draw(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.FrustumCulling,Vintagestory.API.Client.EnumFrustumCullMode)">
            <summary>
            Draw the model.
            </summary>
            <param name="capi">The core client API</param>
            <param name="frustumCuller">The area where models can be viewed from the camera.</param>
            <param name="frustumCullMode">The mode of the culling.</param>
        </member>
        <member name="M:Vintagestory.API.Client.MeshDataPool.FrustumCull(Vintagestory.API.Client.FrustumCulling,Vintagestory.API.Client.EnumFrustumCullMode)">
            <summary>
            Cleans up the rendering view of the models.
            </summary>
            <param name="frustumCuller">The area where models can be viewed from the camera.</param>
            <param name="frustumCullMode">The mode of the culling.</param>
        </member>
        <member name="M:Vintagestory.API.Client.MeshDataPool.IsEmpty">
            <summary>
            Is this an empty pool.
            </summary>
            <returns>true if the pool is empty.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.MeshDataPool.Dispose(Vintagestory.API.Client.ICoreClientAPI)">
            <summary>
            Disposes of the current mesh pool.
            </summary>
            <param name="capi">The core client API</param>
        </member>
        <member name="M:Vintagestory.API.Client.MeshDataPool.CalcFragmentation">
            <summary>
            Calculates the current fragmentation of the mesh.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshDataPool.GetFragmentation">
            <summary>
            Gets the current fragmentation of the pool.
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Client.ModelDataPoolLocation">
            <summary>
            Contains all the data for the given model pool.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.ModelDataPoolLocation.PoolId">
            <summary>
            The ID of the pool model.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.ModelDataPoolLocation.IndicesStart">
            <summary>
            Where the indices of the model start.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.ModelDataPoolLocation.IndicesEnd">
            <summary>
            Where the indices of the model end.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.ModelDataPoolLocation.VerticesStart">
            <summary>
            Where the vertices start.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.ModelDataPoolLocation.VerticesEnd">
            <summary>
            Where the vertices end.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.ModelDataPoolLocation.FrustumCullSphere">
            <summary>
            The culling sphere.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.ModelDataPoolLocation.FrustumVisible">
            <summary>
            Whether this model is visible or not.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.ModelDataPoolLocation.TransitionCounter">
            <summary>
            Used for models with movements (like a door).
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.MeshDataPoolManager">
            <summary>
            Holds a collection of pools, usually for 1 render pass
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshDataPoolManager.#ctor(Vintagestory.API.Client.MeshDataPoolMasterManager,Vintagestory.API.Client.FrustumCulling,Vintagestory.API.Client.ICoreClientAPI,System.Int32,System.Int32,System.Int32,Vintagestory.API.Client.CustomMeshDataPartFloat,Vintagestory.API.Client.CustomMeshDataPartShort,Vintagestory.API.Client.CustomMeshDataPartByte,Vintagestory.API.Client.CustomMeshDataPartInt)">
            <summary>
            Creates a new Mesh Data Pool
            </summary>
            <param name="masterPool">The master mesh data pool manager</param>
            <param name="frustumCuller">the Frustum Culler for the Pool</param>
            <param name="capi">The Client API</param>
            <param name="defaultVertexPoolSize">Size allocated for the Vertices.</param>
            <param name="defaultIndexPoolSize">Size allocated for the Indices</param>
            <param name="maxPartsPerPool">The maximum number of parts for this pool.</param>
            <param name="customFloats">Additional float data</param>
            <param name="customShorts"></param>
            <param name="customBytes">Additional byte data</param>
            <param name="customInts">additional int data</param>
        </member>
        <member name="M:Vintagestory.API.Client.MeshDataPoolManager.AddModel(Vintagestory.API.Client.MeshData,Vintagestory.API.MathTools.Vec3i,System.Int32,Vintagestory.API.MathTools.Sphere)">
            <summary>
            Adds a model to the mesh pool.
            </summary>
            <param name="modeldata">The model data</param>
            <param name="modelOrigin">The origin point of the Model</param>
            <param name="dimension"></param>
            <param name="frustumCullSphere">The culling sphere.</param>
            <returns>The location identifier for the pooled model.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.MeshDataPoolManager.Render(Vintagestory.API.MathTools.Vec3d,System.String,Vintagestory.API.Client.EnumFrustumCullMode)">
            <summary>
            Renders the chunk models to the GPU.  One of the most important methods in the entire game!
            </summary>
            <param name="playerpos">The position of the Player</param>
            <param name="originUniformName"></param>
            <param name="frustumCullMode">The culling mode.  Default is CulHideDelay.</param>
        </member>
        <member name="M:Vintagestory.API.Client.MeshDataPoolManager.GetStats(System.Int64@,System.Int64@,System.Int64@)">
            <summary>
            Gets the stats of the model.
            </summary>
            <param name="usedVideoMemory">The amount of memory used by this pool.</param>
            <param name="renderedTris">The number of Tris rendered by this pool.</param>
            <param name="allocatedTris">The number of tris allocated by this pool.</param>
        </member>
        <member name="T:Vintagestory.API.Client.MeshDataPoolMasterManager">
            <summary>
            Holds all chunk mesh pools of the current running game
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshDataPoolMasterManager.DelayedPoolLocationRemoval">
            <summary>
            If true, RemoveLocation() only actually removes the location after 3 frames. Need to call OnFrame() to achieve that
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshDataPoolMasterManager.#ctor(Vintagestory.API.Client.ICoreClientAPI)">
            <summary>
            Initializes the master mesh data pool.
            </summary>
            <param name="capi">The Client API.</param>
        </member>
        <member name="M:Vintagestory.API.Client.MeshDataPoolMasterManager.RemoveDataPoolLocations(Vintagestory.API.Client.ModelDataPoolLocation[])">
            <summary>
            Removes the models with the given locations.
            </summary>
            <param name="locations">The locations of the model data.</param>
        </member>
        <member name="M:Vintagestory.API.Client.MeshDataPoolMasterManager.AddModelDataPool(Vintagestory.API.Client.MeshDataPool)">
            <summary>
            Adds a new pool to the master pool.
            </summary>
            <param name="pool">The mesh data pool to add.</param>
        </member>
        <member name="M:Vintagestory.API.Client.MeshDataPoolMasterManager.DisposeAllPools(Vintagestory.API.Client.ICoreClientAPI)">
            <summary>
            Cleans up and gets rid of all the pools.
            </summary>
            <param name="capi">The client API.</param>
        </member>
        <member name="M:Vintagestory.API.Client.MeshDataPoolMasterManager.CalcFragmentation">
            <summary>
            Calculates the fragmentation.
            </summary>
            <returns>The resulting calculation.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.MeshDataPoolMasterManager.QuantityModelDataPools">
            <summary>
            The number of model pools in this master manager.
            </summary>
            <returns>The number of model pools</returns>
        </member>
        <member name="T:Vintagestory.API.Client.MeshDataRecycler">
            <summary>
            This is a recycling system for MeshData objects, so that they can be re-used: helps performance by easing memory allocation pressure, at the cost of holding typically around 300-400MB of memory for these recycled objects
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshDataRecycler.GetOrCreateMesh(System.Int32)">
            <summary>
            Gets or creates a MeshData with basic data fields already allocated (may contain junk data) and capacity (VerticesMax) at least equal to minimumVertices; in MeshData created/recycled using this system, IndicesMax will be fixed equal to VerticesMax * 6 / 4
            </summary>
            <param name="minimumVertices"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.MeshDataRecycler.DoRecycling">
            <summary>
            Call this periodically on the same thread which will call GetOrCreateMesh, this is required to ensure the Recycling system is up to date
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshDataRecycler.Recycle(Vintagestory.API.Client.MeshData)">
            <summary>
            Offer this MeshData to the recycling system: it will first be queued for recycling, and later processed to be either recycled or disposed of
            </summary>
            <param name="meshData"></param>
        </member>
        <member name="M:Vintagestory.API.Client.MeshDataRecycler.Dispose">
            <summary>
            Dispose of the MeshDataRecycler (normally on game exit, but can also be used to disable further use of it)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.CubeMeshUtil.CloudSideShadings">
            <summary>
            Top, Front/Left, Back/Right, Bottom
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.CubeMeshUtil.DefaultBlockSideShadings">
            <summary>
            Top, Front/Left, Back/Right, Bottom
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.CubeMeshUtil.DefaultBlockSideShadingsByFacing">
            <summary>
            Shadings by Blockfacing index
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.CubeMeshUtil.CubeVertices">
            <summary>
            XYZ Vertex positions for every vertex in a cube. Origin is the cube middle point.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.CubeMeshUtil.CubeFaceIndices">
            <summary>
            Cube face indices, in order: North, East, South, West, Up, Down.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.CubeMeshUtil.CubeUvCoords">
            <summary>
            UV Coords for every Vertex in a cube
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.CubeMeshUtil.CubeVertexIndices">
            <summary>
            Indices for every triangle in a cube
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.CubeMeshUtil.BaseCubeVertexIndices">
            <summary>
            Can be used for any face if offseted correctly
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.CubeMeshUtil.GetCube">
            <summary>
            Returns a default 2x2x2 cube with xyz,uv,rgba and indices set - ready for upload to the graphics card
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.CubeMeshUtil.GetShadedCubeRGBA(System.Int32,System.Single[],System.Boolean)">
            <summary>
            Returns a rgba byte array to be used for default shading on a standard cube, can supply the shading levels
            </summary>
            <param name="baseColor"></param>
            <param name="blockSideShadings"></param>
            <param name="smoothShadedSides"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.CubeMeshUtil.GetShadedCubeRGBA(System.Int32[],System.Boolean)">
            <summary>
            Returns a rgba byte array to be used for default shading on a standard cube
            </summary>
            <param name="colorSides"></param>
            <param name="smoothShadedSides"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.CubeMeshUtil.GetCubeOnlyScaleXyz(System.Single,System.Single,Vintagestory.API.MathTools.Vec3f)">
            <summary>
            Same as GetCubeModelData but can define scale and translation. Scale is applied first.
            </summary>
            <param name="scaleH"></param>
            <param name="scaleV"></param>
            <param name="translate"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.CubeMeshUtil.GetCube(System.Single,System.Single,Vintagestory.API.MathTools.Vec3f)">
            <summary>
            Same as GetCubeModelData but can define scale and translation. Scale is applied first.
            </summary>
            <param name="scaleH"></param>
            <param name="scaleV"></param>
            <param name="translate"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.CubeMeshUtil.GetCube(System.Single,System.Single,System.Single,Vintagestory.API.MathTools.Vec3f)">
            <summary>
            Same as GetCubeModelData but can define scale and translation. Scale is applied first.
            </summary>
            <param name="scaleX"></param>
            <param name="scaleY"></param>
            <param name="scaleZ"></param>
            <param name="translate"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.CubeMeshUtil.ScaleCubeMesh(Vintagestory.API.Client.MeshData,System.Single,System.Single,System.Single,Vintagestory.API.MathTools.Vec3f)">
            <summary>
            Scales a mesh retrieced by GetCube()
            </summary>
            <param name="modelData"></param>
            <param name="scaleX"></param>
            <param name="scaleY"></param>
            <param name="scaleZ"></param>
            <param name="translate"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.CubeMeshUtil.GetCubeFace(Vintagestory.API.MathTools.BlockFacing)">
            <summary>
            Gets the face of a given cube.
            </summary>
            <param name="face">The face you want to fetch in cardinal directions.</param>
            <returns>The mesh data for the cube's given face.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.CubeMeshUtil.GetCubeFace(Vintagestory.API.MathTools.BlockFacing,System.Single,System.Single,Vintagestory.API.MathTools.Vec3f)">
            <summary>
            Gets the face of a given cube.
            </summary>
            <param name="face">The face you want to fetch in cardinal directions.</param>
            <param name="scaleH">The horizontal scale.</param>
            <param name="scaleV">The vertical scale.</param>
            <param name="translate">The translation desired.</param>
            <returns>The mesh data for the given parameters.</returns>
        </member>
        <member name="T:Vintagestory.API.Client.CustomMeshDataPart`1">
            <summary>
            Holds arbitrary mesh data for meshes to be used in a shader
            </summary>
            <typeparam name="T">The arbitrary type.</typeparam>
        </member>
        <member name="F:Vintagestory.API.Client.CustomMeshDataPart`1.Values">
            <summary>
            The arbitrary data to be uploaded to the graphics card
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.CustomMeshDataPart`1.Count">
            <summary>
            Amout of values currently added
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.CustomMeshDataPart`1.BufferSize">
            <summary>
            Size of the Values array
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.CustomMeshDataPart`1.AllocationSize">
            <summary>
            Size of the array that should be allocated on the graphics card.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.CustomMeshDataPart`1.InterleaveSizes">
            <summary>
            Amount of variable components for variable (i.e. 2, 3 for a vec2 and a vec3), valid values are 1, 2, 3 and 4 (limited by glVertexAttribPointer)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.CustomMeshDataPart`1.InterleaveStride">
            <summary>
            Stride - Size in bytes of all values for one vertex
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.CustomMeshDataPart`1.InterleaveOffsets">
            <summary>
            Offset in bytes for each variable 
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.CustomMeshDataPart`1.Instanced">
            <summary>
            For instanced rendering
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.CustomMeshDataPart`1.StaticDraw">
            <summary>
            Set to false if you intend to update the buffer very often (i.e. every frame)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.CustomMeshDataPart`1.BaseOffset">
            <summary>
            Used as offset when doing a partial update on an existing buffer
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.CustomMeshDataPart`1.#ctor">
            <summary>
            Blank constructor.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.CustomMeshDataPart`1.#ctor(System.Int32)">
            <summary>
            Array initialization constructor.
            </summary>
            <param name="arraySize">the size of the typed Array.</param>
        </member>
        <member name="M:Vintagestory.API.Client.CustomMeshDataPart`1.GrowBuffer(System.Int32)">
            <summary>
            Grows the buffer with a minimum.
            </summary>
            <param name="growAtLeastBy">The minimum amount to grow the buffer by.</param>
        </member>
        <member name="M:Vintagestory.API.Client.CustomMeshDataPart`1.Add(`0)">
            <summary>
            Adds a value to the buffer.
            </summary>
            <param name="value">The value to add.</param>
        </member>
        <member name="M:Vintagestory.API.Client.CustomMeshDataPart`1.Add4(`0)">
            <summary>
            Adds the same value to the buffer 4 times - coded for performance.
            </summary>
            <param name="value">The value to add.</param>
        </member>
        <member name="M:Vintagestory.API.Client.CustomMeshDataPart`1.Add(`0[])">
            <summary>
            Adds multiple values to the buffer.
            </summary>
            <param name="values">The values being added.</param>
        </member>
        <member name="M:Vintagestory.API.Client.CustomMeshDataPart`1.SetAllocationSize(System.Int32)">
            <summary>
            Lets you define your a self defined size to be allocated on the graphics card.
            If not called the allocation size will be the count of the Elements in the Array
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.CustomMeshDataPart`1.AutoAllocationSize">
            <summary>
            Use the element count as the allocation size (default behavior)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.CustomMeshDataPart`1.SetFrom(Vintagestory.API.Client.CustomMeshDataPart{`0})">
            <summary>
            Sets a value from a given mesh data part.
            </summary>
            <param name="meshdatapart">the mesh data part for this type.</param>
        </member>
        <member name="M:Vintagestory.API.Client.CustomMeshDataPart`1.EmptyClone(Vintagestory.API.Client.CustomMeshDataPart{`0})">
            <summary>
            Sets a value from a given mesh data part.
            </summary>
            <param name="cloned">the mesh data part for this type.</param>
        </member>
        <member name="T:Vintagestory.API.Client.CustomMeshDataPartByte">
            <summary>
            Holds arbitrary byte data for meshes to be used in the shader
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.CustomMeshDataPartByte.#ctor">
            <summary>
            Empty Constructor.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.CustomMeshDataPartByte.#ctor(System.Int32)">
            <summary>
            Size initialization constructor.
            </summary>
            <param name="size"></param>
        </member>
        <member name="M:Vintagestory.API.Client.CustomMeshDataPartByte.AddBytes(System.Int32)">
            <summary>
            adds values to the bytes part per four bytes.
            </summary>
            <param name="fourbytes">the integer mask of four separate bytes.</param>
        </member>
        <member name="M:Vintagestory.API.Client.CustomMeshDataPartByte.Clone">
            <summary>
            Creates a clone of this collection of data parts.
            </summary>
            <returns>A clone of this collection of data parts.</returns>
        </member>
        <member name="T:Vintagestory.API.Client.CustomMeshDataPartFloat">
            <summary>
            Holds arbitrary float data for meshes to be used in the shader
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.CustomMeshDataPartFloat.#ctor">
            <summary>
            Empty Constructor.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.CustomMeshDataPartFloat.#ctor(System.Int32)">
            <summary>
            Size initialization constructor.
            </summary>
            <param name="arraySize"></param>
        </member>
        <member name="M:Vintagestory.API.Client.CustomMeshDataPartFloat.Clone">
            <summary>
            Creates a clone of this collection of data parts.
            </summary>
            <returns>A clone of this collection of data parts.</returns>
        </member>
        <member name="T:Vintagestory.API.Client.CustomMeshDataPartInt">
            <summary>
            Holds arbitrary int data for meshes to be used in the shader
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.CustomMeshDataPartInt.#ctor">
            <summary>
            Empty constructor.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.CustomMeshDataPartInt.#ctor(System.Int32)">
            <summary>
            Size initialization constructor.
            </summary>
            <param name="size"></param>
        </member>
        <member name="M:Vintagestory.API.Client.CustomMeshDataPartInt.Clone">
            <summary>
            Creates a clone of this collection of data parts.
            </summary>
            <returns>A clone of this collection of data parts.</returns>
        </member>
        <member name="T:Vintagestory.API.Client.CustomMeshDataPartShort">
            <summary>
            Holds arbitrary short data for meshes to be used in the shader.  radfast note: actually interpreted by the shader as ushort
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.CustomMeshDataPartShort.#ctor">
            <summary>
            Empty constructor.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.CustomMeshDataPartShort.#ctor(System.Int32)">
            <summary>
            Size initialization constructor.
            </summary>
            <param name="size"></param>
        </member>
        <member name="M:Vintagestory.API.Client.CustomMeshDataPartShort.Clone">
            <summary>
            Creates a clone of this collection of data parts.
            </summary>
            <returns>A clone of this collection of data parts.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.IMeshPoolSupplier.GetMeshPoolForPass(System.Int32,Vintagestory.API.Client.EnumChunkRenderPass,System.Int32)">
            <summary>
            Gets a mesh pool supplier for the given render pass.
            </summary>
            <param name="textureid"></param>
            <param name="forRenderPass">The given render pass.</param>
            <param name="lodLevel"></param>
            <returns>The mesh data for the render pass.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.LineMeshUtil.GetRectangle(System.Int32)">
            <summary>
            Gets the current rectangle for the line.
            </summary>
            <param name="color">the converted base color.</param>
            <returns>The mesh data for the rectangle..</returns>
        </member>
        <member name="M:Vintagestory.API.Client.LineMeshUtil.GetCube(System.Int32)">
            <summary>
            Gets the cube of this line.
            </summary>
            <param name="color">The converted base color.</param>
            <returns>The mesh data for the cube.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.LineMeshUtil.AddLine2D(Vintagestory.API.Client.MeshData,System.Single,System.Single,System.Single,System.Single,System.Int32)">
            <summary>
            Adds a 2D line to the mesh data.
            </summary>
            <param name="m">The current mesh data.</param>
            <param name="x1">X position of the first point.</param>
            <param name="y1">Y position of the first point.</param>
            <param name="x2">X position of the second point.</param>
            <param name="y2">Y position of the second point.</param>
            <param name="color">The converted base color.</param>
        </member>
        <member name="M:Vintagestory.API.Client.LineMeshUtil.AddLineLoop(Vintagestory.API.Client.MeshData,Vintagestory.API.MathTools.Vec3f,Vintagestory.API.MathTools.Vec3f,Vintagestory.API.MathTools.Vec3f,Vintagestory.API.MathTools.Vec3f,System.Int32)">
            <summary>
            Adds a collection of lines to the given mesh.
            </summary>
            <param name="m">The current mesh data.</param>
            <param name="p0">The first point.</param>
            <param name="p1">The second point.</param>
            <param name="p2">The third point.</param>
            <param name="p3">The fourth point.</param>
            <param name="color">The color of the resulting lines.</param>
        </member>
        <member name="M:Vintagestory.API.Client.LineMeshUtil.AddVertex(Vintagestory.API.Client.MeshData,System.Single,System.Single,System.Single,System.Int32)">
            <summary>
            Adds a vertex to the mesh data.
            </summary>
            <param name="model">The mesh data.</param>
            <param name="x">X position of the vertex.</param>
            <param name="y">Y position of the vertex.</param>
            <param name="z">Z position of the vertex.</param>
            <param name="color">The color of the vertex.</param>
        </member>
        <member name="T:Vintagestory.API.Client.MeshData">
            <summary>
            A data structure that can be used to upload mesh information onto the graphics card
            Please note, all arrays are used as a buffer. They do not tightly fit the data but are always sized as a multiple of 2 from the initial size.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.BlockCenter">
            <summary>
            Use as a temporary origin for mesh rotation and scaling - just make sure never to modify this!!!
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.xyz">
            <summary>
            The x/y/z coordinates buffer. This should hold VerticesCount*3 values.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.Flags">
            <summary>
            The render flags buffer. This should hold VerticesCount*1 values.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.HasAnyWindModeSet">
            <summary>
            True if the flags array contains any wind mode
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.Normals">
            <summary>
            The normals buffer. This should hold VerticesCount*1 values. Currently unused by the engine.
            GL_INT_2_10_10_10_REV Format
            x: bits 0-9    (10 bit signed int)
            y: bits 10-19  (10 bit signed int)
            z: bits 20-29  (10 bit signed int) 
            w: bits 30-31
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.Uv">
            <summary>
            The uv buffer for texture coordinates. This should hold VerticesCount*2 values.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.Rgba">
            <summary>
            The vertex color buffer. This should hold VerticesCount*4 values.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.Indices">
            <summary>
            The indices buffer. This should hold IndicesCount values.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.TextureIndices">
            <summary>
            Texture index per face, references to and index in the TextureIds array
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.CustomFloats">
            <summary>
            Custom floats buffer. Can be used to upload arbitrary amounts of float values onto the graphics card
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.CustomInts">
            <summary>
            Custom ints buffer. Can be used to upload arbitrary amounts of int values onto the graphics card
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.CustomShorts">
            <summary>
            Custom shorts buffer. Can be used to upload arbitrary amounts of short values onto the graphics card
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.CustomBytes">
            <summary>
            Custom bytes buffer. Can be used to upload arbitrary amounts of byte values onto the graphics card
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.XyzInstanced">
            <summary>
            When using instanced rendering, set this flag to have the xyz values instanced.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.UvInstanced">
            <summary>
            When using instanced rendering, set this flag to have the uv values instanced.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.RgbaInstanced">
            <summary>
            When using instanced rendering, set this flag to have the rgba values instanced.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.Rgba2Instanced">
            <summary>
            When using instanced rendering, set this flag to have the rgba2 values instanced.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.IndicesInstanced">
            <summary>
            When using instanced rendering, set this flag to have the indices instanced.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.FlagsInstanced">
            <summary>
            When using instanced rendering, set this flag to have the flags instanced.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.XyzStatic">
            <summary>
            xyz vbo usage hints for the graphics card. Recommended to be set to false when this section of data changes often.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.UvStatic">
            <summary>
            uv vbo usage hints for the graphics card. Recommended to be set to false when this section of data changes often.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.RgbaStatic">
            <summary>
            rgab vbo usage hints for the graphics card. Recommended to be set to false when this section of data changes often.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.Rgba2Static">
            <summary>
            rgba2 vbo usage hints for the graphics card. Recommended to be set to false when this section of data changes often.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.IndicesStatic">
            <summary>
            indices vbo usage hints for the graphics card. Recommended to be set to false when this section of data changes often.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.FlagsStatic">
            <summary>
            flags vbo usage hints for the graphics card. Recommended to be set to false when this section of data changes often.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.XyzOffset">
            <summary>
            For offseting the data in the VBO. This field is used when updating a mesh.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.UvOffset">
            <summary>
            For offseting the data in the VBO. This field is used when updating a mesh.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.RgbaOffset">
            <summary>
            For offseting the data in the VBO. This field is used when updating a mesh.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.Rgba2Offset">
            <summary>
            For offseting the data in the VBO. This field is used when updating a mesh.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.FlagsOffset">
            <summary>
            For offseting the data in the VBO. This field is used when updating a mesh.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.NormalsOffset">
            <summary>
            For offseting the data in the VBO. This field is used when updating a mesh.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.IndicesOffset">
            <summary>
            For offseting the data in the VBO. This field is used when updating a mesh.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.mode">
            <summary>
            The meshes draw mode
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.NormalsCount">
            <summary>
            Amount of currently assigned normals
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.VerticesCount">
            <summary>
            Amount of currently assigned vertices
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.IndicesCount">
            <summary>
            Amount of currently assigned indices
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.VerticesMax">
            <summary>
            Vertex buffer size
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.IndicesMax">
            <summary>
            Index buffer size
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.XyzFaces">
            <summary>
            BlockShapeTesselator xyz faces. Required by TerrainChunkTesselator to determine vertex lightness. Should hold VerticesCount / 4 values. Set to 0 for no face, set to 1..8 for faces 0..7
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.XyzFacesCount">
            <summary>
            Amount of assigned xyz face values
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.ClimateColorMapIds">
            <summary>
            BlockShapeTesselator climate colormap ids. Required by TerrainChunkTesselator to determine whether to color a vertex by a color map or not. Should hold VerticesCount / 4 values. Set to 0 for no color mapping, set 1..n for color map 0..n-1
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.SeasonColorMapIds">
            <summary>
            BlockShapeTesselator season colormap ids. Required by TerrainChunkTesselator to determine whether to color a vertex by a color map or not. Should hold VerticesCount / 4 values. Set to 0 for no color mapping, set 1..n for color map 0..n-1
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.RenderPassesAndExtraBits">
            <summary>
            BlockShapeTesselator renderpass. Required by TerrainChunkTesselator to determine in which mesh data pool each quad should land in. Should hold VerticesCount / 4 values.<br/>
            Lower 10 bits = render pass<br/>
            Upper 6 bits = extra bits for tesselators<br/>
               Bit 10: DisableRandomDrawOffset
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.ColorMapIdsCount">
            <summary>
            Amount of assigned tint values
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.RenderPassCount">
            <summary>
            Amount of assigned render pass values
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.Recyclable">
            <summary>
            If true, this MeshData was constructed from MeshDataRecycler
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.RecyclingTime">
            <summary>
            The time this MeshData most recently entered the recycling system; the oldest may be garbage collected
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.GetVerticesCount">
            <summary>
            Gets the number of verticies in the the mesh.
            </summary>
            <returns>The number of verticies in this mesh.</returns>
            <remarks>..Shouldn't this be a property?</remarks>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.SetVerticesCount(System.Int32)">
            <summary>
            Sets the number of verticies in this mesh.
            </summary>
            <param name="value">The number of verticies in this mesh</param>
            <remarks>..Shouldn't this be a property?</remarks>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.GetIndicesCount">
            <summary>
            Gets the number of Indicices in this mesh.
            </summary>
            <returns>The number of indicies in the mesh.</returns>
            <remarks>..Shouldn't this be a property?</remarks>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.SetIndicesCount(System.Int32)">
            <summary>
            Sets the number of indices in this mesh.
            </summary>
            <param name="value">The number of indices in this mesh.</param>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.XyzSize">
            <summary>
            The size of the position values.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.NormalSize">
            <summary>
            The size of the normals.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.RgbaSize">
            <summary>
            The size of the color.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.UvSize">
            <summary>
            The size of the Uv.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.IndexSize">
            <summary>
            the size of the index.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.MeshData.FlagsSize">
            <summary>
            the size of the flags.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.MeshData.XyzCount">
            <summary>
            returns VerticesCount * 3
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.MeshData.RgbaCount">
            <summary>
            returns VerticesCount * 4
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.MeshData.Rgba2Count">
            <summary>
            returns VerticesCount * 4
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.MeshData.FlagsCount">
            <summary>
            returns VerticesCount
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.MeshData.UvCount">
            <summary>
            returns VerticesCount * 2
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.Translate(Vintagestory.API.MathTools.Vec3f)">
            <summary>
            Offset the mesh by given values
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.Translate(System.Single,System.Single,System.Single)">
            <summary>
            Offset the mesh by given values
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.Rotate(Vintagestory.API.MathTools.Vec3f,System.Single,System.Single,System.Single)">
            <summary>
            Rotate the mesh by given angles around given origin
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.Rotate(System.Single,System.Single,System.Single)">
            <summary>
            Rotate the mesh by given angles around the block center (0.5f, 0.5f, 0.5f)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.Scale(Vintagestory.API.MathTools.Vec3f,System.Single,System.Single,System.Single)">
            <summary>
            Scale the mesh by given values around given origin
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.Scale(System.Single,System.Single,System.Single)">
            <summary>
            Scale the mesh by given values around the block center (0.5f, 0.5f, 0.5f)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.ModelTransform(Vintagestory.API.Common.ModelTransform)">
            <summary>
            Apply given transformation on the mesh
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.MatrixTransform(System.Single[])">
            <summary>
            Apply given transformation on the mesh
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.MatrixTransform(System.Single[],System.Single[],Vintagestory.API.MathTools.Vec3f)">
            <summary>
            Apply given transformation on the mesh - specifying two temporary vectors to work in (these can then be re-used for performance reasons)
            </summary>
            <param name="matrix"></param>
            <param name="vec">a re-usable float[4], values unimportant</param>
            <param name="origin">origin point</param>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.MatrixTransform(System.Double[])">
            <summary>
            Apply given transformation on the mesh
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.#ctor(System.Boolean)">
            <summary>
            Creates a new mesh data instance with no components initialized.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.#ctor(System.Int32,System.Int32,System.Boolean,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Creates a new mesh data instance with given components, but you can also freely nullify or set individual components after initialization
            Any component that is null is ignored by UploadModel/UpdateModel
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.#ctor(System.Int32)">
            <summary>
            This constructor creates a basic MeshData with xyz, Uv, Rgba, Flags and Indices only; Indices to Vertices ratio is the default 6:4
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.WithColorMaps">
            <summary>
            Sets up the tints array for holding tint info
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.WithXyzFaces">
            <summary>
            Sets up the xyzfaces array for holding xyzfaces info
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.WithRenderpasses">
            <summary>
            Sets up the renderPasses array for holding render pass info
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.WithNormals">
            <summary>
            Sets up the renderPasses array for holding render pass info
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.NeedsRenderPass(Vintagestory.API.Client.EnumChunkRenderPass)">
            <summary>
            Returns true if at least one quad in this mesh needs to be rendered in given render pass  
            </summary>
            <param name="renderPass"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.AddMeshData(Vintagestory.API.Client.MeshData,Vintagestory.API.Client.EnumChunkRenderPass)">
            <summary>
            Add supplied mesh data to this mesh. If a given dataset is not set, it is not copied from the sourceMesh. Automatically adjusts the indices for you.
            Is filtered to only add mesh data for given render pass.
            A negative render pass value defaults to EnumChunkRenderPass.Opaque
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.AddMeshData(Vintagestory.API.Client.MeshData)">
            <summary>
            Add supplied mesh data to this mesh. If a given dataset is not set, it is not copied from the sourceMesh. Automatically adjusts the indices for you.
            </summary>
            <param name="sourceMesh"></param>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.RemoveIndex">
            <summary>
            Removes the last index in the indices array
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.RemoveVertex">
            <summary>
            Removes the last vertex in the vertices array
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.RemoveVertices(System.Int32)">
            <summary>
            Removes the last "count" vertices from the vertex array
            </summary>
            <param name="count"></param>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.AddVertexSkipTex(System.Single,System.Single,System.Single,System.Int32)">
            <summary>
            Adds a new vertex to the mesh. Grows the vertex buffer if necessary.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.AddVertex(System.Single,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Adds a new vertex to the mesh. Grows the vertex buffer if necessary.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.AddVertex(System.Single,System.Single,System.Single,System.Single,System.Single,System.Int32)">
            <summary>
            Adds a new vertex to the mesh. Grows the vertex buffer if necessary.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.AddVertex(System.Single,System.Single,System.Single,System.Single,System.Single,System.Byte[])">
            <summary>
            Adds a new vertex to the mesh. Grows the vertex buffer if necessary.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.AddWithFlagsVertex(System.Single,System.Single,System.Single,System.Single,System.Single,System.Int32,System.Int32)">
            <summary>
            Adds a new vertex to the mesh. Grows the vertex buffer if necessary.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.AddVertexWithFlags(System.Single,System.Single,System.Single,System.Single,System.Single,System.Int32,System.Int32)">
            <summary>
            Adds a new vertex to the mesh. Grows the vertex buffer if necessary.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.AddVertexWithFlagsSkipColor(System.Single,System.Single,System.Single,System.Single,System.Single,System.Int32)">
            <summary>
            Adds a new vertex to the mesh. Grows the vertex buffer if necessary.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.SetVertexFlags(System.Int32)">
            <summary>
            Applies a vertex flag to an existing MeshData (uses binary OR)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.AddNormal(System.Single,System.Single,System.Single)">
            <summary>
            Adds a new normal to the mesh. Grows the normal buffer if necessary.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.AddNormal(Vintagestory.API.MathTools.BlockFacing)">
            <summary>
            Adds a new normal to the mesh. Grows the normal buffer if necessary.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.AddColorMapIndex(System.Byte,System.Byte)">
            <summary>
            Adds both the climate map and season map index (per face). Both should be added at the same time so that their indexing and ColorMapIdsCount is consistent
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.AddColorMapIndex(System.Byte,System.Byte,System.Boolean)">
            <summary>
            Adds both the climate map and season map index as well as a frostable bit (per face). Where frostable is used, all three should be added at the same time so that indexing and ColorMapIdsCount is consistent
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.AddRenderPass(System.Int16)">
            <summary>
            Stores the renderpass (per face)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.AddXyzFace(System.Byte)">
            <summary>
            Stores the XyzFace index - note, not commonly used, mainly for knapping and clayform rendering
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.AddTextureId(System.Int32)">
            <summary>
            Stores the textureId for the face. I.e. this is the id of the atlas itself, for the texture atlas page holding the current face's texture
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.AddIndex(System.Int32)">
            <summary>
            Stores an index for the face. Typically there should be 6 indices per face, instructing the GPU to draw two triangles. Since game version 1.21, for blocks and items these should always follow a 0,1,2,0,2,3 pattern
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.AddIndices(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Add 6 indices in a single AddIndices() call, instructing the GPU to draw two triangles. Since game version 1.21, for blocks and items these should always follow a 0,1,2,0,2,3 pattern
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.AddIndices(System.Boolean,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Add 6 indices in a single AddIndices() call, instructing the GPU to draw two triangles. Since game version 1.21, for blocks and items these should always follow a 0,1,2,0,2,3 pattern
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.AddQuadIndices(System.Int32)">
            <summary>
            Add 6 indices in a single call, instructing the GPU to draw two triangles. The parameter is the first index used, this method automatically generates the remaining 5 indices in the 0,1,2,0,2,3 pattern
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.AddIndices(System.Int32[])">
            <summary>
            Add a set of indices of any length
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.GrowIndexBuffer">
            <summary>
            Doubles the size of the Indices buffer
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.GrowIndexBuffer(System.Int32)">
            <summary>
            Increases the size of the Indices buffer by at least the quantity specified (maybe more)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.GrowNormalsBuffer">
            <summary>
            Doubles the size of the Normals buffer
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.GrowVertexBuffer">
            <summary>
            Doubles the size of the xyz, uv, rgba, rgba2 and flags arrays
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.CompactBuffers">
            <summary>
            Resizes all buffers to tightly fit the data. Recommended to run this method for long-term in-memory storage of meshdata for meshes that won't get any new vertices added
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.Clone">
            <summary>
            Creates a compact, deep copy of the mesh
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.CloneBasicData">
            <summary>
            Clone the basic xyz, uv, rgba and flags arrays, which are common to every chunk mesh (though not necessarily all used by individual block/item/entity models)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.CopyBasicData(Vintagestory.API.Client.MeshData)">
            <summary>
            Clones the basic mesh data (xyz, uv, rgba, flags, indices), requires the dest to already have buffers of sufficient size
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.DisposeBasicData">
            <summary>
            Disposes of the basic mesh data (xyz, uv, rgba, flags, indices)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.CloneExtraData(Vintagestory.API.Client.MeshData)">
            <summary>
            Clone the extra mesh data fields. Some of these fields are used only by block/item meshes (some only be Microblocks). Some others are not used by all chunk meshes, though may be used by certain meshes in certain renderpasses (e.g. CustomInts). Either way, cannot sensibly be retained within the MeshDataRecycler system, must be cloned every time
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.CloneUsingRecycler">
            <summary>
            Clone the meshdata using the MeshDataRecycler, useful for performance for large meshes (such as chunk meshes)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.Dispose">
            <summary>
            Allows meshdata object to be returned to the recycler
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.EmptyClone">
            <summary>
            Creates an empty copy of the mesh
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.Clear">
            <summary>
            Sets the counts of all data to 0
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.SizeInBytes">
            <summary>
            Measures the size in bytes of this Meshdata, useful for monitoring
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.WithTexPos(Vintagestory.API.Client.TextureAtlasPosition)">
            <summary>
            Returns a copy of this mesh with the uvs set to the specified TextureAtlasPosition
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.SetTexPos(Vintagestory.API.Client.TextureAtlasPosition)">
            <summary>
            Sets the uvs of this mesh to the specified TextureAtlasPosition, assuming the initial UVs range from 0..1, as they will be scaled by the texPos
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshData.SplitByTextureId">
            <summary>
            Returns new MeshData objects, each for an individual texture index. The returned meshes will contain (between them) the data from this mesh.
            <br/>Used for multi-atlas support. If only a single atlas page is currently in use (in the current mesh), as is commonly the case, then simply returns the current mesh without cloning it
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.MeshUtil.SetWindFlag(Vintagestory.API.Client.MeshData,System.Single,System.Int32)">
            <summary>
            Sets given flag if vertex y > WaveFlagMinY, otherwise it clears all wind mode bits
            </summary>
            <param name="sourceMesh"></param>
            <param name="waveFlagMinY"></param>
            <param name="flag">Default is EnumWindBitModeMask.NormalWind</param>
        </member>
        <member name="T:Vintagestory.API.Client.QuadMeshUtil">
            <summary>
            Utility class for simple quad meshes
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.QuadMeshUtil.GetQuad">
            <summary>
            Returns a single vertical quad mesh of with vertices going from -1/-1 to 1/1
            With UV, without RGBA
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.QuadMeshUtil.GetCustomQuadModelData(System.Single,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Quad without rgba, with uv
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <param name="dw"></param>
            <param name="dh"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.QuadMeshUtil.GetCustomQuad(System.Single,System.Single,System.Single,System.Single,System.Single,System.Byte,System.Byte,System.Byte,System.Byte)">
            <summary>
            Returns a single vertical  quad mesh at given position, size and color
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <param name="width"></param>
            <param name="height"></param>
            <param name="r"></param>
            <param name="g"></param>
            <param name="b"></param>
            <param name="a"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.QuadMeshUtil.GetCustomQuadHorizontal(System.Single,System.Single,System.Single,System.Single,System.Single,System.Byte,System.Byte,System.Byte,System.Byte)">
            <summary>
            Returns a single horziontal quad mesh with given params
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <param name="width"></param>
            <param name="length"></param>
            <param name="r"></param>
            <param name="g"></param>
            <param name="b"></param>
            <param name="a"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.QuadMeshUtil.GetCustomQuadModelData(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Byte,System.Byte,System.Byte,System.Byte)">
            <summary>
            Returns a custom quad mesh with the given params.
            </summary>
            <param name="u"></param>
            <param name="v"></param>
            <param name="u2"></param>
            <param name="v2"></param>
            <param name="dx"></param>
            <param name="dy"></param>
            <param name="dw"></param>
            <param name="dh"></param>
            <param name="r"></param>
            <param name="g"></param>
            <param name="b"></param>
            <param name="a"></param>
            <returns></returns>
        </member>
        <member name="F:Vintagestory.API.Client.EnumVelocityState.Moving">
            <summary>
            Currently falling
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumVelocityState.OutsideWorld">
            <summary>
            Is now outside the world (x/y/z below -30 or x/z above mapsize + 30)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumVelocityState.Collided">
            <summary>
            Was falling and has now collided with the terrain
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.ParticlePhysics.UpdateMotion(Vintagestory.API.MathTools.Vec3d,Vintagestory.API.MathTools.Vec3f,System.Single)">
            <summary>
            Updates the velocity vector according to the amount of passed time, gravity and terrain collision.
            </summary>
            <param name="pos"></param>
            <param name="motion"></param>
            <param name="size"></param>
            <returns></returns>
        </member>
        <member name="F:Vintagestory.API.Client.DefaultShaderUniforms.ZNear">
            <summary>
            The currently configured z-near plane
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.DefaultShaderUniforms.ZFar">
            <summary>
            The currently configured z-far plane
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.DefaultShaderUniforms.FogSpheres">
            <summary>
            Each sphere has 8 floats:
            3 floats x/y/z offset to the player
            1 float radius
            1 float density
            3 floats rgb color
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.DefaultShaderUniforms.DamageVignettingSide">
            <summary>
            0..1 (0 for left, 0.5 for left&amp;right, 1 for right)
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.EnumChunkRenderPass">
            <summary>
            The various render passes available for rendering blocks
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumChunkRenderPass.Opaque">
            <summary>
            Backfaced culled, no alpha testing, alpha discard
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumChunkRenderPass.OpaqueNoCull">
            <summary>
            Backfaced not culled, no alpha blended but alpha discard
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumChunkRenderPass.BlendNoCull">
            <summary>
            Backfaced not culled, alpha blended and alpha discard
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumChunkRenderPass.Transparent">
            <summary>
            Uses a special rendering system called Weighted Blended Order Independent Transparency for half transparent blocks
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumChunkRenderPass.Liquid">
            <summary>
            Used for animated liquids
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumChunkRenderPass.TopSoil">
            <summary>
            Special render pass for top soil only in order to have climated tinted grass half transparently overlaid over an opaque block
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumChunkRenderPass.Meta">
            <summary>
            Special render pass for meta blocks
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumChunkRenderPass.OpaqueWaterPlant">
            <summary>
            Uses the depth buffer from the OIT pass to prevent water plants showing in sailboats 
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumChunkRenderPass.Decor">
            <summary>
            Decor overlays need to come last because they are on top of other things; they are essentially Opaque but done last
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.EnumDrawType">
            <summary>
            Draw types for blocks.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumDrawType.JSON">
            <summary>
            You will most likely use JSON for all assets with custom shapes.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.EnumFaceCullMode">
            <summary>
            Types that determine how block faces should be culled.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumFaceCullMode.Default">
            <summary>
            Culls faces if they are opaque faces adjacent to opaque faces
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumFaceCullMode.NeverCull">
            <summary>
            Never culls any faces
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumFaceCullMode.Merge">
            <summary>
            Culls all faces that are adjacent to opaque faces and faces adjacent to blocks of the same id
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumFaceCullMode.Callback">
            <summary>
            Calls method Block.ShouldMergeFace() to determine whether to cull the face or not
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumFaceCullMode.Collapse">
            <summary>
            Culls all faces that are adjacent to opaque faces and the bottom, east or south faces adjacent to blocks of the same id
            This causes to still leave one single face inbetween instead of 2, eliminating any z-fighting.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumFaceCullMode.MergeMaterial">
            <summary>
            Same as Merge but checks for equal material
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumFaceCullMode.CollapseMaterial">
            <summary>
            Same as Collapse but checks for equal material
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumFaceCullMode.Liquid">
            <summary>
            Same as CollapseMaterial but also culls faces towards opaque blocks
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumFaceCullMode.MergeSnowLayer">
            <summary>
            
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumFaceCullMode.FlushExceptTop">
            <summary>
            Used for blocks similar to Farmland or StonePath, which are not themselves opaque except on the base, but can cull horizontal sides if adjacent block is opaque (or the same id)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumFaceCullMode.Stairs">
            <summary>
            Culls non-opaque faces if the same block is adjacent e.g. a wide staircase made from several Stairs blocks side-by-side  (caution: in future this cull mode will not work with corner stairs shapes)
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.EnumItemRenderTarget">
            <summary>
            The render taget for an item stack
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumItemRenderTarget.Gui">
            <summary>
            Rendered in a UI, usually the inventory
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumItemRenderTarget.HandFp">
            <summary>
            Rendered in the players hand, first person mode
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumItemRenderTarget.HandTp">
            <summary>
            Rendered in the players hand, third person mode
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumItemRenderTarget.HandTpOff">
            <summary>
            Rendered in the players off hand, third person mode
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumItemRenderTarget.Ground">
            <summary>
            Rendered when dropped on the ground
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumRenderStage.Before">
            <summary>
            Before any rendering has begun, use for setting up stuff during render
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumRenderStage.Opaque">
            <summary>
            Opaque/Alpha tested rendering
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumRenderStage.OIT">
            <summary>
            Order independent transparency 
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumRenderStage.AfterOIT">
            <summary>
            To render the held item over water. If done in the opaque pass it would not render water behind it.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumRenderStage.ShadowFar">
            <summary>
            Shadow map
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumRenderStage.ShadowFarDone">
            <summary>
            Shadow map done
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumRenderStage.ShadowNear">
            <summary>
            Shadow map
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumRenderStage.ShadowNearDone">
            <summary>
            Shadow map done
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumRenderStage.AfterPostProcessing">
            <summary>
            After all 3d geometry has rendered and post processing of the frame is complete
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumRenderStage.AfterBlit">
            <summary>
            Scene has been rendered onto the default frame buffer, but not yet rendered UIs
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumRenderStage.Ortho">
            <summary>
            Ortho mode for rendering GUIs and everything 2D
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumRenderStage.AfterFinalComposition">
            <summary>
            The post processing passes are merged with all 3d geometry and the scene is color graded
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumRenderStage.Done">
            <summary>
            Scene is blitted onto the default frame buffer, buffers not yet swapped though so can still render to default FB
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumShaderProgram.Standard">
            <summary>
            A very plain shader for drawing any geometry
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumShaderProgram.Particlescube">
            <summary>
            For instanced rendering of cubic particles
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumShaderProgram.Particlesquad">
            <summary>
            For instanced rendering of quad particles
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumShaderProgram.Sky">
            <summary>
            For rendering the sky colors
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumShaderProgram.Nightsky">
            <summary>
            For rendering the stars skybox
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumShaderProgram.Woittest">
            <summary>
            Debug shader for testing Weighted Blended Order Independent
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumShaderProgram.Transparentcompose">
            <summary>
            Merges opaque geomerty with WOIT geometry
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumShaderProgram.Debugdepthbuffer">
            <summary>
            
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumShaderProgram.Helditem">
            <summary>
            For rendering the currently held item
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumShaderProgram.Chunkopaque">
            <summary>
            Renders opaque chunk geometry, no blend, alpha discard;
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumShaderProgram.MultiTextureTest">
            <summary>
            Debug shader
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumShaderProgram.Chunkliquid">
            <summary>
            Renders liquid chunk geometry
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumShaderProgram.Decals">
            <summary>
            Renders decals, obviously O_O
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumShaderProgram.Final">
            <summary>
            Color grading and merging of all rendered scenes
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumShaderProgram.Gui">
            <summary>
            For drawing an item stack
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumShaderProgram.Blur">
            <summary>
            The Blur shader
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumShaderProgram.Chunktransparent">
            <summary>
            Renders half transparent chunk geometry using WOIT
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumShaderProgram.Findbright">
            <summary>
            For bloom shader
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumShaderProgram.Chunktopsoil">
            <summary>
            Renders top soil chunk geometry 
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumShaderProgram.Godrays">
            <summary>
            For god rays
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumShaderProgram.Autocamera">
            <summary>
            Cinematic camera pather rendering
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumShaderProgram.Blockhighlights">
            <summary>
            Worldedit block highlights
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumShaderProgram.Wireframe">
            <summary>
            The selected block outline
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumShaderProgram.Entityanimated">
            <summary>
            For animated entities
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumShaderProgram.Luma">
            <summary>
            Luma prepass for FXAA
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumShaderProgram.Chunkshadowmap_NoSSBOs">
            <summary>
            The part after the _ is not considered part of the file name
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.Plane.#ctor(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Creates a Plane with normalised (length 1.0) normal vector
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.FrustumCulling.lod2BiasSq">
            <summary>If distance squared is above this fraction of ViewDistanceSq, switch to LOD2.  Default value corresponds to distances beyond around 67% of the player's view distance.   At default, approximately 55% of the total rendered chunks will use LOD2.</summary>
        </member>
        <member name="F:Vintagestory.API.Client.FrustumCulling.frustum">
            <summary>
            Index order: Near 0, Left 1, Right 2, Top 3, Bottom 4, Far 5
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.FrustumCulling.CalcFrustumEquations(System.Double[])">
            <summary>
            Calculating the frustum planes.
            </summary>
            <remarks>
            From the current OpenGL modelview and projection matrices,
            calculate the frustum plane equations (Ax+By+Cz+D=0, normal=(A,B,C))
            The equations can then be used to see on which side points are.
            </remarks>
        </member>
        <member name="P:Vintagestory.API.Client.IShader.PrefixCode">
            <summary>
            If set, the shader registry will attach this bit of code to the beginning of the fragment shader file. Useful for setting stuff at runtime when using file shaders, e.g. via #define
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IShader.Code">
            <summary>
            Source code of the shader
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IShaderProgram.AssetDomain">
            <summary>
            When loading from file this is the asset domain to load from
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IShaderProgram.PassId">
            <summary>
            A uniqe shader pass number assigned to each shader program
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IShaderProgram.PassName">
            <summary>
            The name it was registered with. If you want to load this shader from a file, make sure the use the filename here
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IShaderProgram.ClampTexturesToEdge">
            <summary>
            If true, it well configure the textures to clamp to the edge (CLAMP_TO_EDGE). Requires the textureid to be defined using SetTextureIds
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IShaderProgram.VertexShader">
            <summary>
            The vertex shader of this shader program
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IShaderProgram.FragmentShader">
            <summary>
            The fragment shader of this shader program
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IShaderProgram.GeometryShader">
            <summary>
            The geometry shader of this shader program
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IShaderProgram.Uniform(System.String,Vintagestory.API.MathTools.Vec2i)">
            <summary>
            Equivalent to Uniform(string uniformName, Vec2f value)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IShaderProgram.Uniform(System.String,System.Single,System.Single)">
            <summary>
            Equivalent to Uniform(string uniformName, Vec2f value)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IShaderProgram.Uniform(System.String,System.Single,System.Single,System.Single)">
            <summary>
            Equivalent to Uniform(string uniformName, Vec3f value)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IShaderProgram.Disposed">
            <summary>
            True if this shader has been disposed
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IStandardShaderProgram.Tex2D">
            <summary>
            The texture 2D for this mesh.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IStandardShaderProgram.ShadowMapNear2D">
            <summary>
            The shadowmap ID for nearby shadows.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IStandardShaderProgram.ShadowMapFar2D">
            <summary>
            The shadowmap ID for far away shadows.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IStandardShaderProgram.ZNear">
            <summary>
            The Near plane distance.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IStandardShaderProgram.ZFar">
            <summary>
            The far plane distance.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IStandardShaderProgram.AlphaTest">
            <summary>
            The shader will discard things below this threshold.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IStandardShaderProgram.RgbaAmbientIn">
            <summary>
            The color of the ambient light source.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IStandardShaderProgram.RgbaLightIn">
            <summary>
            The color of the general light.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IStandardShaderProgram.RgbaGlowIn">
            <summary>
            The color of the glow light.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IStandardShaderProgram.RgbaFogIn">
            <summary>
            The color of the fog.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IStandardShaderProgram.RgbaTint">
            <summary>
            The color of the tint.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IStandardShaderProgram.AverageColor">
            <summary>
            When TempGlowMode==1 this color is used as a reference
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IStandardShaderProgram.FogMinIn">
            <summary>
            The minimum distance for fog.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IStandardShaderProgram.FogDensityIn">
            <summary>
            The density level of the fog.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IStandardShaderProgram.ProjectionMatrix">
            <summary>
            The projection matrix.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IStandardShaderProgram.ModelMatrix">
            <summary>
            The model Matrix.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IStandardShaderProgram.ViewMatrix">
            <summary>
            The view matrix.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IStandardShaderProgram.ToShadowMapSpaceMatrixFar">
            <summary>
            The matrix for converting the vertex position from world space to far shadow space as supplied by IRenderAPI.CurrentShadowProjectionMatrix.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IStandardShaderProgram.ToShadowMapSpaceMatrixNear">
            <summary>
            The matrix for converting the vertex position from world space to near shadow space as supplied by IRenderAPI.CurrentShadowProjectionMatrix.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IStandardShaderProgram.WaterWaveCounter">
            <summary>
            Required for water waving meshes.  Supplied the water counter as supplied as IRenderAPI.WaterWaveCounter.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.IStandardShaderProgram.DontWarpVertices">
            <summary>
            The position of the player.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.ITerrainMeshPool.AddMeshData(Vintagestory.API.Client.MeshData,System.Int32)">
            <summary>
            Requires xyz, uv, rgba, indices, flags and xyzFaces to be set
            </summary>
            <param name="data"></param>
            <param name="lodLevel"></param>
        </member>
        <member name="M:Vintagestory.API.Client.ITerrainMeshPool.AddMeshData(Vintagestory.API.Client.MeshData,System.Single[],System.Int32)">
            <summary>
            Add mesh data, but first transformed with tfMatrix
            </summary>
            <param name="data"></param>
            <param name="tfMatrix"></param>
            <param name="lodLevel"></param>
        </member>
        <member name="M:Vintagestory.API.Client.ITerrainMeshPool.AddMeshData(Vintagestory.API.Client.MeshData,Vintagestory.API.Client.ColorMapData,System.Int32)">
            <summary>
            Requires xyz, uv, rgba, indices, flags and xyzFaces to be set
            </summary>
            <param name="data"></param>
            <param name="colorMapData"></param>
            <param name="lodLevel"></param>
        </member>
        <member name="T:Vintagestory.API.Client.BlendedOverlayTexture">
            <summary>
            Defines a texture to be overlayed on another texture.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.BlendedOverlayTexture.Base">
            <summary>
            The path to the texture to use as an overlay.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.BlendedOverlayTexture.BlendMode">
            <summary>
            The type of blend for each pixel.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.CompositeTexture">
             <summary>
             Holds data about a texture. Also allows textures to be overlayed on top of one another.
             </summary>
             <example>
             <code language="json">
            "textures": {
            	"charcoal": { "base": "block/coal/charcoal" },
            	"coke": { "base": "block/coal/coke" },
            	"ore-anthracite": { "base": "block/coal/anthracite" },
            	"ore-lignite": { "base": "block/coal/lignite" },
            	"ore-bituminouscoal": { "base": "block/coal/bituminous" },
            	"ember": { "base": "block/coal/ember" }
            },
             </code>
             <code language="json">
            "textures": {
            	"ore": {
            		"base": "block/stone/rock/{rock}1",
            		"overlays": [ "block/stone/ore/{ore}1" ]
            	}
            },
             </code>
             Connected textures example (See https://discord.com/channels/302152934249070593/479736466453561345/1134187385501007962)
             <code language="json">
            "textures": {
            	"all": {
            		"base": "block/stone/cobblestone/tiling/1",
            		"tiles": [
            			{ "base": "block/stone/cobblestone/tiling/*" }
            		],
            		"tilesWidth": 4
            	}
            }
             </code>
             </example>
        </member>
        <member name="F:Vintagestory.API.Client.CompositeTexture.Base">
            <summary>
            The basic texture for this composite texture
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.CompositeTexture.Overlays">
            <summary>
            Obsolete. Use <see cref="F:Vintagestory.API.Client.CompositeTexture.BlendedOverlays"/> instead.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.CompositeTexture.BlendedOverlays">
            <summary>
            A set of textures to overlay above this texture. The base texture may be overlayed with any quantity of textures. These are baked together during texture atlas creation.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.CompositeTexture.Alternates">
            <summary>
            The texture may consists of any amount of alternatives, one of which will be randomly chosen when the block is placed in the world.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.CompositeTexture.Tiles">
            <summary>
            A way of basic support for connected textures. Textures should be named numerically from 1 to <see cref="F:Vintagestory.API.Client.CompositeTexture.TilesWidth"/> squared.
            <br/>E.g., if <see cref="F:Vintagestory.API.Client.CompositeTexture.TilesWidth"/> is 3, the order follows the pattern of:<br/>
            1 2 3 <br/>
            4 5 6 <br/>
            7 8 9
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.CompositeTexture.TilesWidth">
            <summary>
            The number of tiles in one direction that make up the full connected textures defined in <see cref="F:Vintagestory.API.Client.CompositeTexture.Tiles"/>.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.CompositeTexture.Baked">
            <summary>
            BakedCompositeTexture is an expanded, atlas friendly version of CompositeTexture. Required during texture atlas generation.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.CompositeTexture.Rotation">
            <summary>
            Rotation of the texture may only be a multiple of 90
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.CompositeTexture.Alpha">
            <summary>
            Can be used to modify the opacity of the texture. 255 is fully opaque, 0 is fully transparent.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.CompositeTexture.#ctor">
            <summary>
            Creates a new empty composite texture
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.CompositeTexture.#ctor(Vintagestory.API.Common.AssetLocation)">
            <summary>
            Creates a new empty composite texture with given base texture
            </summary>
            <param name="Base"></param>
        </member>
        <member name="M:Vintagestory.API.Client.CompositeTexture.Clone">
            <summary>
            Creates a deep copy of the texture
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.CompositeTexture.IsBasic">
            <summary>
            Tests whether this is a basic CompositeTexture with an asset location only, no rotation, alpha, alternates or overlays
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.CompositeTexture.Bake(Vintagestory.API.Common.IAssetManager)">
            <summary>
            Expands the Composite Texture to a texture atlas friendly version and populates the Baked field. This method is called by the texture atlas managers.
            Won't have any effect if called after the texture atlasses have been created.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.CompositeTexture.RuntimeBake(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.ITextureAtlasAPI)">
            <summary>
            Expands the Composite Texture to a texture atlas friendly version and populates the Baked field. This method can be called after the game world has loaded.
            </summary>
            <param name="capi">The Client API</param>
            <param name="intoAtlas">The atlas to insert the baked texture.</param>
        </member>
        <member name="M:Vintagestory.API.Client.CompositeTexture.Bake(Vintagestory.API.Common.IAssetManager,Vintagestory.API.Client.CompositeTexture)">
            <summary>
            Expands a CompositeTexture to a texture atlas friendly version and populates the Baked field
            </summary>
            <param name="assetManager"></param>
            <param name="ct"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Client.BakedCompositeTexture">
            <summary>
            An expanded, atlas-friendly version of a CompositeTexture
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.BakedCompositeTexture.TextureSubId">
            <summary>
            Unique identifier for this texture
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.BakedCompositeTexture.BakedName">
            <summary>
            The Base name and Overlay concatenated (if there was any defined)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.BakedCompositeTexture.TextureFilenames">
            <summary>
            The base name and overlays as array
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.BakedCompositeTexture.BakedVariants">
            <summary>
            If non-null also contains BakedName
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.BakedCompositeTexture.BakedTiles">
            <summary>
            If non-null also contains BakedName
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.BakedCompositeTexture.GetTiledTexturesSelector(Vintagestory.API.Client.BakedCompositeTexture[],System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            For tiled textures, returns the selector index for which one of the tiles to use, for the given x,y,z position and tileSide
            </summary>
            <param name="tiles"></param>
            <param name="tileSide"></param>
            <param name="posX"></param>
            <param name="posY"></param>
            <param name="posZ"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Client.ITexPositionSource">
            <summary>
            An interface that can supply texture atlas positions 
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ITexPositionSource.AtlasSize">
            <summary>
            This returns the size of the atlas this texture resides in.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.ContainedTextureSource">
            <summary>
            Helper class for implementors of ITexPositionSource
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.LoadedTexture">
            <summary>
            A reference to a texture that has been uploaded onto the graphics cards, if TextureId is not zero
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.LoadedTexture.TextureId">
            <summary>
            The OpenGL Texture Id
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.LoadedTexture.Width">
            <summary>
            Width of the texture.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.LoadedTexture.Height">
            <summary>
            Height of the texture.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.LoadedTexture.IgnoreUndisposed">
            <summary>
            Set this only you really know what you're doing
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.LoadedTexture.#ctor(Vintagestory.API.Client.ICoreClientAPI)">
            <summary>
            Creates an empty loaded texture context with the Client API.
            </summary>
            <param name="capi">The Client API</param>
        </member>
        <member name="M:Vintagestory.API.Client.LoadedTexture.#ctor(Vintagestory.API.Client.ICoreClientAPI,System.Int32,System.Int32,System.Int32)">
            <summary>
            Creates a loaded texture context with pre-set texture information.
            </summary>
            <param name="capi">The Client API</param>
            <param name="textureId">The ID of the texture.</param>
            <param name="width">The width of the texture.</param>
            <param name="height">The height of the texture.</param>
        </member>
        <member name="M:Vintagestory.API.Client.LoadedTexture.Dispose">
            <summary>
            Disposes of the loaded texture safely.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.TextureAtlasPosition">
            <summary>
            The position of a texture inside an atlas
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.TextureAtlasPosition.atlasTextureId">
            <summary>
            The OpenGL textureid
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.TextureAtlasPosition.atlasNumber">
            <summary>
            A sequential number in which atlas this position is in. Atlasses for a given type are sequentially numbered if more than one atlas was required to hold all the textures
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.TextureAtlasPosition.reloadIteration">
            <summary>
            A sequential number that goes up with every texture atlas reload, used to see if this texpos is still fresh
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.TextureAtlasPosition.x1">
            <summary>
            The x coordinate of the texture origin point
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.TextureAtlasPosition.y1">
            <summary>
            The y coordinate of the texture origin point
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.TextureAtlasPosition.x2">
            <summary>
            The x coordinate of the texture end point
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.TextureAtlasPosition.y2">
            <summary>
            The y coordinate of the texture end point
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.TextureAtlasPosition.ContainsUV(System.Single,System.Single)">
            <summary>
            Tests whether the given uv lies within this texture (including its edges) or not?
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.TextureDictionary.BakeAndCollect(Vintagestory.API.Common.IAssetManager,Vintagestory.API.Common.ITextureLocationDictionary,Vintagestory.API.Common.AssetLocation,System.String)">
            <summary>
            Called by the texture atlas manager when building up the block atlas. Has to add all of the blocks textures
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.CairoFont">
            <summary>
            Represent a font with sizing and styling for use in rendering text
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.CairoFont.FontMeasuringContext">
            <summary>
            The static Context for all Cairo Fonts.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.CairoFont.RenderTwice">
            <summary>
            Whether or not the font is rendered twice.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.CairoFont.#ctor">
            <summary>
            Creates an empty CairoFont instance.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.CairoFont.#ctor(Vintagestory.API.Client.FontConfig)">
            <summary>
            Creates a pre-populated CairoFont instance.
            </summary>
            <param name="config">The configuration for the CairoFont</param>
        </member>
        <member name="M:Vintagestory.API.Client.CairoFont.#ctor(System.Double,System.String)">
            <summary>
            Creates a CairoFont object.
            </summary>
            <param name="unscaledFontSize">The size of the font before scaling is applied.</param>
            <param name="fontName">The name of the font.</param>
        </member>
        <member name="M:Vintagestory.API.Client.CairoFont.#ctor(System.Double,System.String,System.Double[],System.Double[])">
            <summary>
            Creates a CairoFont object
            </summary>
            <param name="unscaledFontSize">The size of the font before scaling is applied.</param>
            <param name="fontName">The name of the font.</param>
            <param name="color">The color of the font.</param>
            <param name="strokeColor">The color for the stroke of the font. (Default: Null)</param>
        </member>
        <member name="M:Vintagestory.API.Client.CairoFont.AutoFontSize(System.String,Vintagestory.API.Client.ElementBounds,System.Boolean)">
            <summary>
            Adjust font size so that it fits given bounds
            </summary>
            <param name="text">The text of the object.</param>
            <param name="bounds">The bounds of the element where the font is displayed.</param>
            <param name="onlyShrink"></param>
        </member>
        <member name="M:Vintagestory.API.Client.CairoFont.AutoBoxSize(System.String,Vintagestory.API.Client.ElementBounds,System.Boolean)">
            <summary>
            Adjust the bounds so that it fits given text in one line
            </summary>
            <param name="text">The text to adjust</param>
            <param name="bounds">The bounds to adjust the text to.</param>
            <param name="onlyGrow">If true, the box will not be made smaller</param>
        </member>
        <member name="M:Vintagestory.API.Client.CairoFont.WithColor(System.Double[])">
            <summary>
            Sets the color of the CairoFont.
            </summary>
            <param name="color">The color to set.</param>
        </member>
        <member name="M:Vintagestory.API.Client.CairoFont.WithWeight(Cairo.FontWeight)">
            <summary>
            Adds a weight to the font.
            </summary>
            <param name="weight">The weight of the font.</param>
        </member>
        <member name="M:Vintagestory.API.Client.CairoFont.WithRenderTwice">
            <summary>
            Sets the font to render twice.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.CairoFont.SetupContext(Cairo.Context)">
            <summary>
            Sets up the context. Must be executed in the main thread, as it is not thread safe.
            </summary>
            <param name="ctx">The context to set up the CairoFont with.</param>
        </member>
        <member name="M:Vintagestory.API.Client.CairoFont.GetFontExtents">
            <summary>
            Gets the font's extents.
            </summary>
            <returns>The FontExtents for this particular font.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.CairoFont.GetTextExtents(System.String)">
            <summary>
            Gets the extents of the text.
            </summary>
            <param name="text">The text to extend.</param>
            <returns>The Text extends for this font with this text.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.CairoFont.Clone">
            <summary>
            Clone function.  Creates a duplicate of this Cairofont.
            </summary>
            <returns>The duplicate font.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.CairoFont.WithFontSize(System.Single)">
            <summary>
            Sets the base size of the CairoFont.
            </summary>
            <param name="fontSize">The new font size</param>
        </member>
        <member name="M:Vintagestory.API.Client.CairoFont.ButtonText">
            <summary>
            Creates a Button Text preset.
            </summary>
            <returns>The button text preset.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.CairoFont.ButtonPressedText">
            <summary>
            Creates a text preset for when the button is pressed.
            </summary>
            <returns>The text preset for a pressed button.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.CairoFont.TextInput">
            <summary>
            Creates a text preset for text input fields.
            </summary>
            <returns>The text field input preset.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.CairoFont.SmallTextInput">
            <summary>
            Creates a text oreset for smaller text input fields.
            </summary>
            <returns>The smaller text input preset.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.CairoFont.WhiteMediumText">
            <summary>
            Creates a white text for medium dialog.
            </summary>
            <returns>The white text for medium dialog.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.CairoFont.WhiteSmallishText">
            <summary>
            Creates a white text for smallish dialogs.
            </summary>
            <returns>The white text for small dialogs.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.CairoFont.WhiteSmallishText(System.String)">
            <summary>
            Creates a white text for smallish dialogs, using the specified base font
            </summary>
            <param name="baseFont"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.CairoFont.WhiteSmallText">
            <summary>
            Creates a white text for small dialogs.
            </summary>
            <returns>The white text for small dialogs</returns>
        </member>
        <member name="M:Vintagestory.API.Client.CairoFont.WhiteDetailText">
            <summary>
            Creates a white text for details.
            </summary>
            <returns>A white text for details.</returns>
        </member>
        <member name="T:Vintagestory.API.Client.GuiDialog.DlgComposers">
            <summary>
            Dialogue Composer for the GUIDialogue.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiDialog.DlgComposers.Values">
            <summary>
            Returns all composers as a flat list
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.DlgComposers.#ctor(Vintagestory.API.Client.GuiDialog)">
            <summary>
            Constructor.
            </summary>
            <param name="dialog">The dialogue this composer belongs to.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.DlgComposers.ClearComposers">
            <summary>
            Cleans up and clears the composers.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.DlgComposers.Dispose">
            <summary>
            Clean disposal method.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiDialog.DlgComposers.Item(System.String)">
            <summary>
            Returns the composer for given composer name
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.DlgComposers.ContainsKey(System.String)">
            <summary>
            Checks to see if the key is located within the given dialogue composer.
            </summary>
            <param name="key">The key you are searching for.</param>
            <returns>Do we have your key?</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.DlgComposers.Remove(System.String)">
            <summary>
            Removes the given key and the corresponding value from the Dialogue Composer.
            </summary>
            <param name="key">The Key to remove.</param>
        </member>
        <member name="F:Vintagestory.API.Client.GuiDialog.Composers">
            <summary>
            The Instance of Dialogue Composer for this GUIDialogue.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiDialog.SingleComposer">
            <summary>
            A single composer for this GUIDialogue.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiDialog.DebugName">
            <summary>
            Debug name.  For debugging purposes.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiDialog.ZSize">
            <summary>
            The amount of depth required for this dialog. Default is 150. Required for correct z-ordering of dialogs.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiDialog.Focused">
            <summary>
            Is the dialogue currently in focus?
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiDialog.Focusable">
            <summary>
            Can this dialog be focused?
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiDialog.DialogType">
            <summary>
            Is this dialogue a dialogue or a HUD object?
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.GuiDialog.OnOpened">
            <summary>
            The event fired when this dialogue is opened.
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.GuiDialog.OnClosed">
            <summary>
            The event fired when this dialogue is closed.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.#ctor(Vintagestory.API.Client.ICoreClientAPI)">
            <summary>
            Constructor for the GUIDialogue.
            </summary>
            <param name="capi">The Client API.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.OnBlockTexturesLoaded">
            <summary>
            Makes this gui pop up once a pre-set given key combination is set.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.OnLevelFinalize">
             <summary>
            
             </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiDialog.DrawOrder">
            <summary>
            0 = draw first, 1 = draw last. Used to enforce tooltips and held itemstack always drawn last to be visible.<br/>
            Vanilla dialogs draw order:<br/>
            Name tags: -0.1<br/>
            Chat dialog: 0<br/>
            Block Interaction help: 0.05<br/>
            Worldmap HUD: 0.07<br/>
            Default value for most other dialogs: 0.1<br/>
            Worldmap Dialog: 0.11<br/>
            Player and Chest inventories: 0.2<br/>
            Various config/edit dialogs: 0.2<br/>
            Handbook: 0.2<br/>
            Escape menu: 0.89
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiDialog.InputOrder">
            <summary>
            Determines the order on which dialog receives keyboard input first when the dialog is opened. 0 = handle inputs first, 9999 = handle inputs last.<br/>
            Reference list:<br/>
            0: Escape menu<br/>
            0.5 (default): tick profiler, selection box editor, macro editor, survival&amp;creative inventory, first launch info dialog, dead dialog, character dialog, etc.<br/>
            1: hotbar<br/>
            1.1: chat dialog
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiDialog.UnregisterOnClose">
            <summary>
            Should this dialogue de-register itself once it's closed? (Defaults to no)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.OnGuiOpened">
            <summary>
            Fires when the GUI is opened.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.OnGuiClosed">
            <summary>
            Fires when the GUI is closed.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.TryOpen">
            <summary>
            Attempts to open this dialogue.
            </summary>
            <returns>Was this dialogue successfully opened?</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.TryClose">
            <summary>
            Attempts to close this dialogue- triggering the OnCloseDialogue event.
            </summary>
            <returns>Was this dialogue successfully closed?</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.UnFocus">
            <summary>
            Unfocuses the dialogue.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.Focus">
            <summary>
            Focuses the dialog
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.Toggle">
            <summary>
            If the dialogue is opened, this attempts to close it.  If the dialogue is closed, this attempts to open it.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.IsOpened">
            <summary>
            Is this dialogue opened?
            </summary>
            <returns>Whether this dialogue is opened or not.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.IsOpened(System.String)">
            <summary>
            Is this dialogue opened in the given context?
            </summary>
            <param name="dialogComposerName">The composer context.</param>
            <returns>Whether this dialogue was opened or not within the given context.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.OnBeforeRenderFrame3D(System.Single)">
            <summary>
            This runs before the render.  Local update method.
            </summary>
            <param name="deltaTime">The time that has elapsed.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.OnRenderGUI(System.Single)">
            <summary>
            This runs when the dialogue is ready to render all of the components.
            </summary>
            <param name="deltaTime">The time that has elapsed.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.OnFinalizeFrame(System.Single)">
            <summary>
            This runs when the dialogue is finalizing and cleaning up all of the components.
            </summary>
            <param name="dt">The time that has elapsed.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.OnKeyDown(Vintagestory.API.Client.KeyEvent)">
            <summary>
            Fires when keys are held down.
            </summary>
            <param name="args">The key or keys that were held down.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.OnKeyPress(Vintagestory.API.Client.KeyEvent)">
            <summary>
            Fires when the keys are pressed.
            </summary>
            <param name="args">The key or keys that were pressed.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.OnKeyUp(Vintagestory.API.Client.KeyEvent)">
            <summary>
            Fires when the keys are released.
            </summary>
            <param name="args">the key or keys that were released.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.OnEscapePressed">
            <summary>
            Fires explicitly when the Escape key is pressed and attempts to close the dialogue.
            </summary>
            <returns>Whether the dialogue was closed.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.OnMouseEnterSlot(Vintagestory.API.Common.ItemSlot)">
            <summary>
            Fires when the mouse enters the given slot.
            </summary>
            <param name="slot">The slot the mouse entered.</param>
            <returns>Whether this event was handled.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.OnMouseLeaveSlot(Vintagestory.API.Common.ItemSlot)">
            <summary>
            Fires when the mouse leaves the slot.
            </summary>
            <param name="itemSlot">The slot the mouse entered.</param>
            <returns>Whether this event was handled.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.OnMouseClickSlot(Vintagestory.API.Common.ItemSlot)">
            <summary>
            Fires when the mouse clicks within the slot.
            </summary>
            <param name="itemSlot">The slot that the mouse clicked in.</param>
            <returns>Whether this event was handled.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.OnMouseDown(Vintagestory.API.Client.MouseEvent)">
            <summary>
            Fires when a mouse button is held down.
            </summary>
            <param name="args">The mouse button or buttons in question.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.OnMouseUp(Vintagestory.API.Client.MouseEvent)">
            <summary>
            Fires when a mouse button is released.
            </summary>
            <param name="args">The mouse button or buttons in question.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.OnMouseMove(Vintagestory.API.Client.MouseEvent)">
            <summary>
            Fires when the mouse is moved.
            </summary>
            <param name="args">The mouse movements in question.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.OnMouseWheel(Vintagestory.API.Client.MouseWheelEventArgs)">
            <summary>
            Fires when the mouse wheel is scrolled.
            </summary>
            <param name="args"></param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.ShouldReceiveRenderEvents">
            <summary>
            A check for whether the dialogue should recieve Render events.
            </summary>
            <returns>Whether the dialogue is opened or not.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.ShouldReceiveKeyboardEvents">
            <summary>
            A check for whether the dialogue should recieve keyboard events.
            </summary>
            <returns>Whether the dialogue is focused or not.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.ShouldReceiveMouseEvents">
            <summary>
            A check if the dialogue should recieve mouse events.
            </summary>
            <returns>Whether the mouse events should fire.</returns>
        </member>
        <member name="P:Vintagestory.API.Client.GuiDialog.PrefersUngrabbedMouse">
            <summary>
            Gets whether it is preferred for the mouse to be not grabbed while this dialog is opened.
            If true (default), the Alt button needs to be held to manually grab the mouse.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiDialog.DisableMouseGrab">
            <summary>
            Gets whether ability to grab the mouse cursor is disabled while
            this dialog is opened. For example, the escape menu. (Default: false)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.CaptureAllInputs">
            <summary>
            Should this dialog (e.g. textbox) capture all the keyboard events except for escape.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.CaptureRawMouse">
            <summary>
            Should this dialog capture the raw mouse button clicks - useful for example for the settings menu itself (in case the user has unset them or set them to something crazy)
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.Dispose">
            <summary>
            Disposes the Dialog.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.ClearComposers">
            <summary>
            Clears the composers.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiDialog.ToggleKeyCombinationCode">
            <summary>
            The key combination string that toggles this GUI object.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialog.IsInRangeOf(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Checks if the player is in range (pickingrange) of the given position
            </summary>
            <param name="pos"></param>
            <returns>In range or no?</returns>
        </member>
        <member name="T:Vintagestory.API.Client.GuiDialogBlockEntity">
            <summary>
            Base class for dialogs bound to block entities.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiDialogBlockEntity.OpenSound">
            <summary>
            Gets the opening sound for the dialog being opened, or null if none.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiDialogBlockEntity.CloseSound">
            <summary>
            Gets the opening sound for the dialog being opened, or null if none.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiDialogBlockEntity.FloatyDialogPosition">
            <summary>
            Gets the Y offset of the dialog in-world if floaty GUIs is turned on.
            0.5 is the center of the block and larger means it will float higher up.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiDialogBlockEntity.FloatyDialogAlign">
            <summary>
            Gets the Y align of the dialog if floaty GUIs is turned on.
            0.5 means the dialog is centered on <see cref="P:Vintagestory.API.Client.GuiDialogBlockEntity.FloatyDialogPosition"/>.
            0 is top-aligned while 1 is bottom-aligned.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialogBlockEntity.#ctor(System.String,Vintagestory.API.Common.InventoryBase,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Client.ICoreClientAPI)">
            <param name="dialogTitle">The title of this dialogue. Ex: "Chest"</param>
            <param name="inventory">The inventory associated with this block entity.</param>
            <param name="blockEntityPos">The position of this block entity.</param>
            <param name="capi">The Client API</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialogBlockEntity.#ctor(System.String,Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Client.ICoreClientAPI)">
            <param name="dialogTitle">The title of this dialogue. Ex: "Chest"</param>
            <param name="blockEntityPos">The position of this block entity.</param>
            <param name="capi">The Client API</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialogBlockEntity.OnFinalizeFrame(System.Single)">
            <summary>
            This occurs right before the frame is pushed to the screen.
            </summary>
            <param name="dt">The time elapsed.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialogBlockEntity.OnRenderGUI(System.Single)">
            <summary>
            Render's the object in Orthographic mode.
            </summary>
            <param name="deltaTime">The time elapsed.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialogBlockEntity.DoSendPacket(System.Object)">
            <summary>
            We tunnel our packet through a block entity packet so the block entity can handle all the network stuff
            </summary>
            <param name="p"></param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialogBlockEntity.OnNewScrollbarvalue(System.Single)">
            <summary>
            Called whenever the scrollbar or mouse wheel is used.
            </summary>
            <param name="value">The new value of the scrollbar.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialogBlockEntity.CloseIconPressed">
            <summary>
            Occurs whenever the X icon in the top right corner of the GUI (not the window) is pressed.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialogBlockEntity.OnGuiOpened">
            <summary>
            Called whenver the GUI is opened.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialogBlockEntity.TryOpen">
            <summary>
            Attempts to open this gui.
            </summary>
            <returns>Whether the attempt was successful.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialogBlockEntity.OnGuiClosed">
            <summary>
            Called when the GUI is closed.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialogBlockEntity.ReloadValues">
            <summary>
            Reloads the values of the GUI.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.EnumBlockEntityPacketId">
            <summary>
            Packet IDs for block entities.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.GuiDialogBlockEntityInventory">
            <summary>
            A block entity inventory system for things like a campfire, or other things like that.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialogBlockEntityInventory.DoSendPacketWithOffset(System.Object)">
            <summary>
            We tunnel our packet through a block entity packet so the block entity can handle all the network stuff
            </summary>
            <param name="p"></param>
        </member>
        <member name="T:Vintagestory.API.Client.GuiDialogGeneric">
            <summary>
            Mainly used for block entity based guis
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiDialogGeneric.DialogTitle">
            <summary>
            The title of the Dialog.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiDialogGeneric.UnregisterOnClose">
            <summary>
            Should this Dialog de-register itself once closed?
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiDialogGeneric.Attributes">
            <summary>
            The tree attributes for this dialog.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialogGeneric.#ctor(System.String,Vintagestory.API.Client.ICoreClientAPI)">
            <summary>
            Constructor for a generic Dialog.
            </summary>
            <param name="DialogTitle">The title of the dialog.</param>
            <param name="capi">The Client API</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialogGeneric.Recompose">
            <summary>
            Recomposes the dialog with it's set of elements.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialogGeneric.UnfocusElements">
            <summary>
            Unfocuses the elements in each composer.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialogGeneric.FocusElement(System.Int32)">
            <summary>
            Focuses a specific element in the single composer.
            </summary>
            <param name="index">Index of the element.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiDialogGeneric.IsInRangeOfBlock(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Checks if the player is in range of the block.
            </summary>
            <param name="blockEntityPos">The block's position.</param>
            <returns>In range or no?</returns>
        </member>
        <member name="T:Vintagestory.API.Client.GuiJsonDialog">
            <summary>
            This is a dialogue built from JSON files.
            </summary>
            <remarks>
            JSON made this gui.  Thanks JSON.
            </remarks>
        </member>
        <member name="P:Vintagestory.API.Client.GuiJsonDialog.DebugName">
            <summary>
            The debug name of the GUI
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiJsonDialog.ToggleKeyCombinationCode">
            <summary>
            Key Combination for the GUI
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiJsonDialog.#ctor(Vintagestory.API.Client.JsonDialogSettings,Vintagestory.API.Client.ICoreClientAPI)">
            <summary>
            Builds the dialog using the dialog settings from JSON.
            </summary>
            <param name="settings">The dialog settings.</param>
            <param name="capi">The Client API</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiJsonDialog.#ctor(Vintagestory.API.Client.JsonDialogSettings,Vintagestory.API.Client.ICoreClientAPI,System.Boolean)">
            <summary>
            Builds the dialog using the dialog settings from JSON.
            </summary>
            <param name="settings">The dialog settings.</param>
            <param name="capi">The Client API</param>
            <param name="focusFirstElement">Should the first element be focused, after building the dialog?</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiJsonDialog.Recompose">
            <summary>
            Recomposes the GUI.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiJsonDialog.ComposeDialog(System.Boolean)">
            <summary>
            Composes the dialogue with specifications dictated by JSON.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiJsonDialog.OnMouseDown(Vintagestory.API.Client.MouseEvent)">
            <summary>
            Fires an event when the mouse is held down.
            </summary>
            <param name="args">The mouse events.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiJsonDialog.ReloadValues">
            <summary>
            Reloads the values in the GUI.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.EnumDialogArea">
            <summary>
            First word = X Alignment (left, center, right or fixed)
            Second word = Y Alignment (top, middle, bottom or fixed)
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.ElementBounds">
            <summary>
            Box sizing model comparable to the box sizing model of cascading style sheets using "position:relative;"
            Each element has a position, size, padding and margin
            Padding is counted towards the size of the box, whereas margin is not
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.ElementBounds.Code">
            <summary>
            For debugging purposes only
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ElementBounds.BothSizing">
            <summary>
            Set the vertical and horizontal sizing, see also <see cref="T:Vintagestory.API.Client.ElementSizing"/>. Setting this is equal to calling <see cref="M:Vintagestory.API.Client.ElementBounds.WithSizing(Vintagestory.API.Client.ElementSizing)"/>
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.ElementBounds.IsDrawingSurface">
            <summary>
            If set, bgDrawX/Y will be relative, instead of absolute
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ElementBounds.relX">
            <summary>
            Position relative to it's parent element plus margin
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ElementBounds.absX">
            <summary>
            Absolute position of the element plus margin. Same as renderX but without padding
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ElementBounds.OuterWidth">
            <summary>
            Width including padding
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ElementBounds.OuterHeight">
            <summary>
            Height including padding
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ElementBounds.drawX">
            <summary>
            Position where the element has to be drawn. This is a position relative to it's parent element plus margin plus padding. 
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.ElementBounds.bgDrawX">
            <summary>
            Position where the background has to be drawn, this encompasses the elements padding
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.PositionInside(System.Int32,System.Int32)">
            <summary>
            Returns the relative coordinate if supplied coordinate is inside the bounds, otherwise null
            </summary>
            <param name="absPointX"></param>
            <param name="absPointY"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.PointInside(System.Int32,System.Int32)">
            <summary>
            Returns true if supplied coordinate is inside the bounds
            </summary>
            <param name="absPointX"></param>
            <param name="absPointY"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.PointInside(System.Double,System.Double)">
            <summary>
            Returns true if supplied coordinate is inside the bounds
            </summary>
            <param name="absPointX"></param>
            <param name="absPointY"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.PartiallyInside(Vintagestory.API.Client.ElementBounds)">
            <summary>
            Checks if the bounds is at least partially inside it's parent bounds by checking if any of the 4 corner points is inside
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.CopyOnlySize">
            <summary>
            Makes a copy of the current bounds but leaves the position and 0. Sets the parent to the calling bounds
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.CopyOffsetedSibling(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Makes a copy of the current bounds but leaves the position and padding at 0. Sets the same parent as the current one.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.BelowCopy(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Makes a copy of the current bounds but leaves the position and padding at 0. Sets the same parent as the current one.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.RightCopy(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Create a flat copy of the element with a fixed position offset that causes it to be right of the original element
            </summary>
            <param name="fixedDeltaX"></param>
            <param name="fixedDeltaY"></param>
            <param name="fixedDeltaWidth"></param>
            <param name="fixedDeltaHeight"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.FlatCopy">
            <summary>
            Creates a clone of the bounds but without child elements
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.ForkBoundingParent(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Creates a new elements bounds which acts as the parent bounds of the current bounds. It will also arrange the fixedX/Y and Width/Height coords of both bounds so that the parent bounds surrounds the child bounds with given spacings. Uses fixed coords only!
            </summary>
            <param name="leftSpacing"></param>
            <param name="topSpacing"></param>
            <param name="rightSpacing"></param>
            <param name="bottomSpacing"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.ForkContainingChild(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Creates a new elements bounds which acts as the child bounds of the current bounds. It will also arrange the fixedX/Y and Width/Height coords of both bounds so that the parent bounds surrounds the child bounds with given spacings. Uses fixed coords only!
            </summary>
            <param name="leftSpacing"></param>
            <param name="topSpacing"></param>
            <param name="rightSpacing"></param>
            <param name="bottomSpacing"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.FixedUnder(Vintagestory.API.Client.ElementBounds,System.Double)">
            <summary>
            Set the fixed y-position to "refBounds.fixedY + refBounds.fixedHeight + spacing" so that the bounds will be under the reference bounds
            </summary>
            <param name="refBounds"></param>
            <param name="spacing"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.FixedRightOf(Vintagestory.API.Client.ElementBounds,System.Double)">
            <summary>
            Set the fixed x-position to "refBounds.fixedX + refBounds.fixedWidth + leftSpacing" so that the bounds will be right of reference bounds
            </summary>
            <param name="refBounds"></param>
            <param name="leftSpacing"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.FixedLeftOf(Vintagestory.API.Client.ElementBounds,System.Double)">
            <summary>
            Set the fixed x-position to "refBounds.fixedX - fixedWith - rightSpacing" so that the element will be left of reference bounds
            </summary>
            <param name="refBounds"></param>
            <param name="rightSpacing"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.WithFixedSize(System.Double,System.Double)">
            <summary>
            Set the fixed width and fixed height values
            </summary>
            <param name="width"></param>
            <param name="height"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.WithFixedWidth(System.Double)">
            <summary>
            Set the width property
            </summary>
            <param name="width"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.WithFixedHeight(System.Double)">
            <summary>
            Set the height property
            </summary>
            <param name="height"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.WithAlignment(Vintagestory.API.Client.EnumDialogArea)">
            <summary>
            Set the alignment property
            </summary>
            <param name="alignment"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.WithSizing(Vintagestory.API.Client.ElementSizing)">
            <summary>
            Set the vertical and horizontal sizing property to the same value. See also <seealso cref="T:Vintagestory.API.Client.ElementSizing"/>.
            </summary>
            <param name="sizing"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.WithSizing(Vintagestory.API.Client.ElementSizing,Vintagestory.API.Client.ElementSizing)">
            <summary>
            Set the vertical and horizontal sizing properties individually. See also <seealso cref="T:Vintagestory.API.Client.ElementSizing"/>.
            </summary>
            <param name="horizontalSizing"></param>
            <param name="verticalSizing"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.WithFixedMargin(System.Double)">
            <summary>
            Sets a new fixed margin (pad = top/right/down/left margin)
            </summary>
            <param name="pad"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.WithFixedMargin(System.Double,System.Double)">
            <summary>
            Sets a new fixed margin (pad = top/right/down/left margin)
            </summary>
            <param name="padH"></param>
            <param name="padV"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.WithFixedPadding(System.Double)">
            <summary>
            Sets a new fixed padding (pad = top/right/down/left padding)
            </summary>
            <param name="pad"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.WithFixedPadding(System.Double,System.Double)">
            <summary>
            Sets a new fixed padding (x = left/right, y = top/down padding)
            </summary>
            <param name="leftRight"></param>
            <param name="upDown"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.WithFixedAlignmentOffset(System.Double,System.Double)">
            <summary>
            Sets a new fixed offset that is applied after element alignment. So you could i.e. horizontally center an element and then offset in x direction  from there using this method.
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.WithFixedPosition(System.Double,System.Double)">
            <summary>
            Sets a new fixed offset that is used during element alignment.
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.WithFixedX(System.Int32)">
            <summary>
            Sets a fixed x position
            </summary>
            <param name="x"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.WithFixedY(System.Int32)">
            <summary>
            Sets a fixed y position
            </summary>
            <param name="y"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.WithFixedOffset(System.Double,System.Double)">
            <summary>
            Sets a new fixed offset that is used during element alignment.
            </summary>
            <param name="offx"></param>
            <param name="offy"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.FixedShrink(System.Double)">
            <summary>
            Shrinks the current width/height by a fixed value
            </summary>
            <param name="amount"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.FixedGrow(System.Double)">
            <summary>
            Grows the current width/height by a fixed value
            </summary>
            <param name="amount"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.FixedGrow(System.Double,System.Double)">
            <summary>
            Grows the current width/height by a fixed value
            </summary>
            <param name="width"></param>
            <param name="height"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.WithParent(Vintagestory.API.Client.ElementBounds)">
            <summary>
            Sets the parent of the bounds
            </summary>
            <param name="bounds"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.WithEmptyParent">
            <summary>
            Creates a new bounds using FitToChildren and sets that as bound parent. This is usefull if you want to draw elements that are not part of the dialog
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.Fixed(System.Int32,System.Int32)">
            <summary>
            Create a new ElementBounds instance with given fixed x/y position and width/height 0
            </summary>
            <param name="fixedX"></param>
            <param name="fixedY"></param>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Client.ElementBounds.Fill">
            <summary>
            Quick Method to create a new ElementBounds instance that fills 100% of its parent bounds. Useful for backgrounds.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.FixedSize(System.Double,System.Double)">
            <summary>
            Quick method to create a new ElementBounds instance that uses fixed element sizing. The X/Y Coordinates are left at 0. 
            </summary>
            <param name="fixedWidth"></param>
            <param name="fixedHeight"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.FixedSize(Vintagestory.API.Client.EnumDialogArea,System.Double,System.Double)">
            <summary>
            Quick method to create a new ElementBounds instance that uses fixed element sizing. The X/Y Coordinates are left at 0. 
            </summary>
            <param name="alignment"></param>
            <param name="fixedWidth"></param>
            <param name="fixedHeight"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.Fixed(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Quick method to create new ElementsBounds instance that uses fixed element sizing.
            </summary>
            <param name="fixedX"></param>
            <param name="fixedY"></param>
            <param name="fixedWidth"></param>
            <param name="fixedHeight"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.FixedOffseted(Vintagestory.API.Client.EnumDialogArea,System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Quick method to create new ElementsBounds instance that uses fixed element sizing.
            </summary>
            <param name="alignment"></param>
            <param name="fixedOffsetX"></param>
            <param name="fixedOffsetY"></param>
            <param name="fixedWidth"></param>
            <param name="fixedHeight"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.Fixed(Vintagestory.API.Client.EnumDialogArea,System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Quick method to create new ElementsBounds instance that uses fixed element sizing.
            </summary>
            <param name="alignment"></param>
            <param name="fixedX"></param>
            <param name="fixedY"></param>
            <param name="fixedWidth"></param>
            <param name="fixedHeight"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.Percentual(Vintagestory.API.Client.EnumDialogArea,System.Double,System.Double)">
            <summary>
            Quick method to create new ElementsBounds instance that uses percentual element sizing, e.g. setting percentWidth to 0.5 will set the width of the bounds to 50% of its parent width
            </summary>
            <param name="alignment"></param>
            <param name="percentWidth"></param>
            <param name="percentHeight"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementBounds.Percentual(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Quick method to create new ElementsBounds instance that uses percentual element sizing, e.g. setting percentWidth to 0.5 will set the width of the bounds to 50% of its parent width
            </summary>
            <param name="percentX"></param>
            <param name="percentY"></param>
            <param name="percentWidth"></param>
            <param name="percentHeight"></param>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Client.ElementBounds.Empty">
            <summary>
            Create a special instance of type <see cref="T:Vintagestory.API.Client.ElementEmptyBounds"/> whose position is 0 and size 1. It's often used for other bounds that need a static, unchanging parent bounds
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.ElementStdBounds">
            <summary>
            Just some default sizings for various ui elements
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.ElementStdBounds.Statbar(Vintagestory.API.Client.EnumDialogArea,System.Double)">
            <summary>
            Quick method to create a new ElementBounds instance that uses fixed element sizing. The X/Y Coordinates are left at 0. 
            </summary>
            <param name="alignment"></param>
            <param name="width"></param>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Client.ElementStdBounds.AutosizedMainDialog">
            <summary>
            Quick Method to create a new ElementBounds instance that is positioned at the screen center and sized accordingly to fit all it's child elements
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.ElementStdBounds.MainScreenRightPart">
            <summary>
            Quick Method to create a new ElementBounds instance that draws a background for a dialog
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.ElementStdBounds.AutosizedMainDialogAtPos(System.Double)">
            <summary>
            Quick Method to create a new ElementBounds instance that draws a background for a dialog
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.ElementStdBounds.DialogBackground">
            <summary>
            Quick Method to create a new ElementBounds instance that draws a background for a dialog
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.ElementStdBounds.DialogBackground(System.Double,System.Double)">
            <summary>
            Quick Method to create a new ElementBounds instance that draws a background for a dialog
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.ElementStdBounds.MenuButton(System.Single,Vintagestory.API.Client.EnumDialogArea)">
            <summary>
            Quick Method to create a new ElementBounds instance to create a menu consiting of one ore more vertically arranged and horizontally centered buttons in a grid. The y position is calculated using rowIndex * 80. 
            </summary>
            <param name="rowIndex"></param>
            <param name="alignment"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementStdBounds.Rowed(System.Single,System.Double,Vintagestory.API.Client.EnumDialogArea)">
            <summary>
            Quick Method to create a new ElementBounds instance to create a menu consiting of one ore more vertically arranged and horizontally centered buttons in a grid. The y position is calculated using rowIndex * 80. 
            </summary>
            <param name="rowIndex"></param>
            <param name="padding"></param>
            <param name="alignment"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementStdBounds.Sign(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Quick Method to create a new ElementBounds instance that is currently used for Signs (e.g. graphics options)
            </summary>
            <param name="fixedX"></param>
            <param name="fixedY"></param>
            <param name="fixedWith"></param>
            <param name="fixedHeight"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.ElementStdBounds.VerticalScrollbar(Vintagestory.API.Client.ElementBounds)">
            <summary>
            Creates a scrollbar right of given element bounds, requires the left element to be using fixed element positioning
            </summary>
            <param name="leftElement"></param>
            <returns></returns>
        </member>
        <member name="F:Vintagestory.API.Client.ElementSizing.Fixed">
            <summary>
            Only multiplied with scale factor
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.ElementSizing.Percentual">
            <summary>
            Value between 0 and 100% of parent element 
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.ElementSizing.FitToChildren">
            <summary>
            Size determined by child elements 
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.ElementSizing.PercentualSubstractFixed">
            <summary>
            Value between 0 and 100% of parent element. Will substract fixedWidth and fixedHeight from the final size
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.GuiStyle">
            <summary>
            A class containing common values for elements before scaling is applied.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.ElementToDialogPadding">
            <summary>
            The padding between the element and the dialogue. 20f.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.HalfPadding">
            <summary>
            The padding between other things.  5f.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.DialogToScreenPadding">
            <summary>
            The padding between the dialogue and the screen. 10f.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.TitleBarHeight">
            <summary>
            The height of the title bar. 30.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.DialogBGRadius">
            <summary>
            The radius of the dialogue background. 1.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.ElementBGRadius">
            <summary>
            The radius of the element background. 1.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.LargeFontSize">
            <summary>
            The size of the large font. 40.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.NormalFontSize">
            <summary>
            The size of the normal fonts.  Used for text boxes. 30.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.SubNormalFontSize">
            <summary>
            The fonts that are slightly smaller than normal fonts. 24.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.SmallishFontSize">
            <summary>
            The smaller fonts. 20.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.SmallFontSize">
            <summary>
            The smallest font size used in the game that isn't used with itemstacks. 16.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.DetailFontSize">
            <summary>
            The font size used for specific details like Item Stack size info. 14.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.DecorativeFontName">
            <summary>
            The decorative font type. "Lora".
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.StandardFontName">
            <summary>
            The standard font "Montserrat".
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.LeftDialogMargin">
            <summary>
            Set by the client, loaded from the clientsettings.json. Used by ElementBounds to add a margin for left/right aligned dialogs
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.RightDialogMargin">
            <summary>
            Set by the client, loaded from the clientsettings.json. Used by ElementBounds to add a margin for left/right aligned dialogs
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.DialogLightBgColor">
            <summary>
            The light background color for dialogs.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.DialogDefaultBgColor">
            <summary>
            The default background color for dialogs.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.DialogStrongBgColor">
            <summary>
            The strong background color for dialogs.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.DialogBorderColor">
            <summary>
            The default dialog border color
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.DialogHighlightColor">
            <summary>
            The Highlight color for dialogs.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.DialogAlternateBgColor">
            <summary>
            The alternate background color for dialogs.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.DialogDefaultTextColor">
            <summary>
            The default text color for any given dialog.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.DarkBrownColor">
            <summary>
            A color for a darker brown.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.HotbarNumberTextColor">
            <summary>
            The color of the 1..9 numbers on the hotbar slots
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.ErrorTextColor">
            <summary>
            The color of the error text.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.WarningTextColor">
            <summary>
            The color of the error text.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.LinkTextColor">
            <summary>
            The color of the the link text.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.ButtonBackColor">
            <summary>
            Background color for buttons
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.ButtonTextColor">
            <summary>
            A light brown text color.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.ActiveButtonTextColor">
            <summary>
            A hover color for the light brown text.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.DisabledTextColor">
            <summary>
            The text color for a disabled object.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.ActiveSlotColor">
            <summary>
            The color of the actively selected slot overlay
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.HealthBarColor">
            <summary>
            The color of the health bar.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.OxygenBarColor">
            <summary>
            The color of the oxygen bar
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.FoodBarColor">
            <summary>
            The color of the food bar.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.XPBarColor">
            <summary>
            The color of the XP bar.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.TitleBarColor">
            <summary>
            The color of the title bar.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.MacroIconColor">
            <summary>
            The color of the macro icon.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiStyle.DamageColorGradient">
            <summary>
            A 100 step gradient from green to red, to be used to show durability, damage or any state other of decay
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiElement.Bounds">
            <summary>
            The bounds of the element.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiElement.TabIndex">
            <summary>
            The tab index of the element.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiElement.hasFocus">
            <summary>
            Whether or not the element has focus.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiElement.InsideClipBounds">
            <summary>
            If the element is inside a clip or not.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiElement.api">
            <summary>
            The Client API.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiElement.HasFocus">
            <summary>
            Whether or not the element has focus or not.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiElement.DrawOrder">
            <summary>
            0 = draw first, 1 = draw last. Only for interactive elements.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiElement.Focusable">
            <summary>
            Whether or not the element can be focused.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiElement.Scale">
            <summary>
            The scale of the element.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.OnFocusGained">
            <summary>
            The event fired when the element gains focus.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.OnFocusLost">
            <summary>
            The event fired when the element looses focus.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.ElementBounds)">
            <summary>
            Adds a new GUIElement to the GUI.
            </summary>
            <param name="capi">The Client API</param>
            <param name="bounds">The bounds of the element.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.ComposeElements(Cairo.Context,Cairo.ImageSurface)">
            <summary>
            Composes the elements.
            </summary>
            <param name="ctxStatic">The context of the components.</param>
            <param name="surface">The surface of the GUI.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.RenderInteractiveElements(System.Single)">
            <summary>
            Renders the element as an interactive element.
            </summary>
            <param name="deltaTime">The change in time.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.PostRenderInteractiveElements(System.Single)">
            <summary>
            The post render of the interactive element.
            </summary>
            <param name="deltaTime">The change in time.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.RenderFocusOverlay(System.Single)">
            <summary>
            Renders the focus overlay.
            </summary>
            <param name="deltaTime">The change in time.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.generateTexture(Cairo.ImageSurface,System.Int32@,System.Boolean)">
            <summary>
            Generates a texture with an ID.
            </summary>
            <param name="surface">The image surface supplied.</param>
            <param name="textureId">The previous texture id.</param>
            <param name="linearMag">Whether or not the texture will have linear magnification.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.GenerateTexture(Vintagestory.API.Client.ICoreClientAPI,Cairo.ImageSurface,System.Int32@,System.Boolean)">
            <summary>
            Generates a texture with an ID. (A static version of generateTexture())
            </summary>
            <param name="api"></param>
            <param name="surface">The image surface supplied.</param>
            <param name="textureId">The previous texture id.</param>
            <param name="linearMag">Whether or not the texture will have linear magnification.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.generateTexture(Cairo.ImageSurface,Vintagestory.API.Client.LoadedTexture@,System.Boolean)">
            <summary>
            Generates a new texture.
            </summary>
            <param name="surface">The surface provided.</param>
            <param name="intoTexture">The texture to be loaded into.</param>
            <param name="linearMag">Whether or not the texture will have linear magnification.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.scaled(System.Double)">
            <summary>
            Changes the scale of given value by the GUIScale factor.
            </summary>
            <param name="value"></param>
            <returns>The scaled value based</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.scaledi(System.Double)">
            <summary>
            Changes the scale of given value by the GUIScale factor
            </summary>
            <param name="value"></param>
            <returns>Scaled value type cast to int</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.genContext(Cairo.ImageSurface)">
            <summary>
            Generates context based off the image surface.
            </summary>
            <param name="surface">The surface where the context is based.</param>
            <returns>The context based off the provided surface.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.GenContext(Cairo.ImageSurface)">
            <summary>
            Generates context based off the image surface.  (A static version of genContext(), identical behavior)
            </summary>
            <param name="surface">The surface where the context is based.</param>
            <returns>The context based off the provided surface.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.getPattern(SkiaSharp.SKBitmap)">
            <summary>
            Gets a surface pattern based off the bitmap.
            </summary>
            <param name="bitmap">The provided bitmap.</param>
            <returns>The resulting surface pattern.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.getPattern(Vintagestory.API.Common.BitmapExternal)">
            <summary>
            Gets a surface pattern based off the bitmap.
            </summary>
            <param name="bitmap">The provided bitmap.</param>
            <returns>The resulting surface pattern.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.getImageSurfaceFromAsset(SkiaSharp.SKBitmap)">
            <summary>
            Gets an image surface based off the bitmap.
            </summary>
            <param name="bitmap">The provided bitmap.</param>
            <returns>The image surface built from the bitmap.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.getImageSurfaceFromAsset(Vintagestory.API.Common.BitmapExternal)">
            <summary>
            Gets an image surface based off the bitmap.
            </summary>
            <param name="bitmap">The provided bitmap.</param>
            <returns>The image surface built from the bitmap.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.getImageSurfaceFromAsset(SkiaSharp.SKBitmap,System.Int32,System.Int32)">
            <summary>
            Gets an image surface based off the bitmap.
            </summary>
            <param name="bitmap">The provided bitmap.</param>
            <param name="width">The width requested.</param>
            <param name="height">The height requested.</param>
            <returns>The image surface built from the bitmap and data.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.getImageSurfaceFromAsset(Vintagestory.API.Common.BitmapExternal,System.Int32,System.Int32)">
            <summary>
            Gets an image surface based off the bitmap.
            </summary>
            <param name="bitmap">The provided bitmap.</param>
            <param name="width">The width requested.</param>
            <param name="height">The height requested.</param>
            <returns>The image surface built from the bitmap and data.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.getPattern(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Common.AssetLocation,System.Boolean,System.Int32,System.Single)">
            <summary>
            Gets a surface pattern from a named file.
            </summary>
            <param name="capi">The Client API</param>
            <param name="textureLoc">The name of the file.</param>
            <param name="doCache">Do we cache the file?</param>
            <param name="mulAlpha"></param>
            <param name="scale"></param>
            <returns>The resulting surface pattern.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.getImageSurfaceFromAsset(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Common.AssetLocation,System.Int32)">
            <summary>
            Fetches an image surface from a named file.
            </summary>
            <param name="capi">The Client API</param>
            <param name="textureLoc">The name of the text file.</param>
            <param name="mulAlpha"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.fillWithPattern(Vintagestory.API.Client.ICoreClientAPI,Cairo.Context,Vintagestory.API.Common.AssetLocation,System.Boolean,System.Boolean,System.Int32,System.Single)">
            <summary>
            Fills an area with a pattern.
            </summary>
            <param name="capi">The Client API</param>
            <param name="ctx">The context of the fill.</param>
            <param name="textureLoc">The name of the texture file.</param>
            <param name="nearestScalingFiler"></param>
            <param name="preserve">Whether or not to preserve the aspect ratio of the texture.</param>
            <param name="mulAlpha"></param>
            <param name="scale"></param>
            <returns>The surface pattern filled with the given texture.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.DiscardPattern(Vintagestory.API.Common.AssetLocation)">
            <summary>
            Discards a pattern based off the the filename.
            </summary>
            <param name="textureLoc">The pattern to discard.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.Rectangle(Cairo.Context,Vintagestory.API.Client.ElementBounds)">
            <summary>
            Makes a rectangle with the provided context and bounds.
            </summary>
            <param name="ctx">The context for the rectangle.</param>
            <param name="bounds">The bounds of the rectangle.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.Rectangle(Cairo.Context,System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Makes a rectangle with specified parameters.
            </summary>
            <param name="ctx">Context of the rectangle</param>
            <param name="x">The X position of the rectangle</param>
            <param name="y">The Y position of the rectangle</param>
            <param name="width">The width of the rectangle</param>
            <param name="height">The height of the rectangle.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.DialogRoundRectangle(Cairo.Context,Vintagestory.API.Client.ElementBounds)">
            <summary>
            Creates a rounded rectangle.
            </summary>
            <param name="ctx">The GUI context</param>
            <param name="bounds">The bounds of the rectangle.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.ElementRoundRectangle(Cairo.Context,Vintagestory.API.Client.ElementBounds,System.Boolean,System.Double)">
            <summary>
            Creates a rounded rectangle element.
            </summary>
            <param name="ctx">The context for the rectangle.</param>
            <param name="bounds">The bounds of the rectangle.</param>
            <param name="isBackground">Is the rectangle part of a background GUI object (Default: false)</param>
            <param name="radius">The radius of the corner of the rectangle (default: -1)</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.RoundRectangle(Cairo.Context,System.Double,System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Creates a rounded rectangle
            </summary>
            <param name="ctx">The context for the rectangle.</param>
            <param name="x">The X position of the rectangle</param>
            <param name="y">The Y position of the rectangle</param>
            <param name="width">The width of the rectangle</param>
            <param name="height">The height of the rectangle.</param>
            <param name="radius">The radius of the corner of the rectangle.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.ShadePath(Cairo.Context,System.Double)">
            <summary>
            Shades a path with the given context.
            </summary>
            <param name="ctx">The context of the shading.</param>
            <param name="thickness">The thickness of the line to shade.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.EmbossRoundRectangleDialog(Cairo.Context,System.Double,System.Double,System.Double,System.Double,System.Boolean)">
            <summary>
            Adds an embossed rounded rectangle to the dialog.
            </summary>
            <param name="ctx">The context of the rectangle.</param>
            <param name="x">The X position of the rectangle</param>
            <param name="y">The Y position of the rectangle</param>
            <param name="width">The width of the rectangle</param>
            <param name="height">The height of the rectangle.</param>
            <param name="inverse">Whether or not it goes in or out.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.EmbossRoundRectangleElement(Cairo.Context,System.Double,System.Double,System.Double,System.Double,System.Boolean,System.Int32,System.Int32)">
            <summary>
            Adds an embossed rounded rectangle to the dialog.
            </summary>
            <param name="ctx">The context of the rectangle.</param>
            <param name="x">The X position of the rectangle</param>
            <param name="y">The Y position of the rectangle</param>
            <param name="width">The width of the rectangle</param>
            <param name="height">The height of the rectangle.</param>
            <param name="inverse">Whether or not it goes in or out.</param>
            <param name="depth">The depth of the emboss.</param>
            <param name="radius">The radius of the corner of the rectangle.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.EmbossRoundRectangleElement(Cairo.Context,Vintagestory.API.Client.ElementBounds,System.Boolean,System.Int32,System.Int32)">
            <summary>
            Adds an embossed rounded rectangle to the dialog.
            </summary>
            <param name="ctx">The context of the rectangle.</param>
            <param name="bounds">The position and size of the rectangle.</param>
            <param name="inverse">Whether or not it goes in or out. (Default: false)</param>
            <param name="depth">The depth of the emboss. (Default: 2)</param>
            <param name="radius">The radius of the corner of the rectangle. (default: -1)</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.EmbossRoundRectangle(Cairo.Context,System.Double,System.Double,System.Double,System.Double,System.Double,System.Int32,System.Single,System.Single,System.Boolean,System.Single)">
            <summary>
            Adds an embossed rounded rectangle to the dialog.
            </summary>
            <param name="ctx">The context of the rectangle.</param>
            <param name="x">The X position of the rectangle</param>
            <param name="y">The Y position of the rectangle</param>
            <param name="width">The width of the rectangle</param>
            <param name="height">The height of the rectangle.</param>
            <param name="radius">The radius of the corner of the rectangle.</param>
            <param name="depth">The thickness of the emboss. (Default: 3)</param>
            <param name="intensity">The intensity of the emboss. (Default: 0.4f)</param>
            <param name="lightDarkBalance">How skewed is the light/dark balance (Default: 1)</param>
            <param name="inverse">Whether or not it goes in or out. (Default: false)</param>
            <param name="alphaOffset">The offset for the alpha part of the emboss. (Default: 0)</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.OnMouseDown(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.MouseEvent)">
            <summary>
            The event fired when the mouse is down the element is around.  Fires before OnMouseDownOnElement, however OnMouseDownOnElement is called within the base function.
            </summary>
            <param name="api">The Client API</param>
            <param name="mouse">The mouse event args.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.OnMouseDownOnElement(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.MouseEvent)">
            <summary>
            The event fired when the mouse is pressed while on the element. Called after OnMouseDown and tells the engine that the event is handled.
            </summary>
            <param name="api">The Client API</param>
            <param name="args">The mouse event args.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.OnMouseUpOnElement(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.MouseEvent)">
            <summary>
            The event fired when the mouse is released on the element.  Called after OnMouseUp.  
            </summary>
            <param name="api">The Client API</param>
            <param name="args">The mouse event args.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.OnMouseUp(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.MouseEvent)">
            <summary>
            The event fired when the mouse is released.  
            </summary>
            <param name="api">The Client API.</param>
            <param name="args">The arguments for the mouse event.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.OnMouseMove(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.MouseEvent)">
            <summary>
            The event fired when the mouse is moved.
            </summary>
            <param name="api">The Client API.</param>
            <param name="args">The mouse event arguments.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.OnMouseWheel(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.MouseWheelEventArgs)">
            <summary>
            The event fired when the mouse wheel is scrolled.
            </summary>
            <param name="api">The Client API</param>
            <param name="args">The mouse wheel arguments.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.OnKeyDown(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.KeyEvent)">
            <summary>
            The event fired when a key is held down.
            </summary>
            <param name="api">The client API</param>
            <param name="args">The key event arguments.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.OnKeyUp(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.KeyEvent)">
            <summary>
            The event fired when a key is held down.
            </summary>
            <param name="api">The client API</param>
            <param name="args">The key event arguments.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.OnKeyPress(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.KeyEvent)">
            <summary>
            The event fired the moment a key is pressed.
            </summary>
            <param name="api">The Client API.</param>
            <param name="args">The keyboard state when the key was pressed.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.IsPositionInside(System.Int32,System.Int32)">
            <summary>
            Whether or not the point on screen is inside the Element's area.
            </summary>
            <param name="posX">The X Position of the point.</param>
            <param name="posY">The Y Position of the point.</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElement.OutlineColor">
            <summary>
            The compressed version of the debug outline color as a single int value.
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Client.GuiElementColorListPicker">
            <summary>
            Creates a toggle button for the GUI.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.GetColorListPicker(Vintagestory.API.Client.GuiComposer,System.String)">
            <summary>
            Returns a previously added color list picker element
            </summary>
            <param name="composer"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.ColorListPickerSetValue(Vintagestory.API.Client.GuiComposer,System.String,System.Int32)">
            <summary>
            Selects one of the colors from a color list picker
            </summary>
            <param name="composer"></param>
            <param name="key"></param>
            <param name="selectedIndex"></param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddColorListPicker(Vintagestory.API.Client.GuiComposer,System.Int32[],System.Action{System.Int32},Vintagestory.API.Client.ElementBounds,System.Int32,System.String)">
            <summary>
            Adds a range of clickable colors
            </summary>
            <param name="composer"></param>
            <param name="colors"></param>
            <param name="onToggle"></param>
            <param name="startBounds"></param>
            <param name="maxLineWidth"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddCompactVerticalScrollbar(Vintagestory.API.Client.GuiComposer,System.Action{System.Single},Vintagestory.API.Client.ElementBounds,System.String)">
            <summary>
            Adds a compact vertical scrollbar to the current GUI.
            </summary>
            <param name="composer"></param>
            <param name="onNewScrollbarValue">The event fired for the change in the scrollbar.</param>
            <param name="bounds">the bounds of the scrollbar.</param>
            <param name="key">the internal name of the scrollbar.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.GetCompactScrollbar(Vintagestory.API.Client.GuiComposer,System.String)">
            <summary>
            Gets the scrollbar from the dialogue.
            </summary>
            <param name="composer"></param>
            <param name="key">the internal name of the scrollbar to be gotten</param>
            <returns>The scrollbar with the given key.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddMultiSelectDropDown(Vintagestory.API.Client.GuiComposer,System.String[],System.String[],System.Int32,Vintagestory.API.Client.SelectionChangedDelegate,Vintagestory.API.Client.ElementBounds,System.String)">
            <summary>
            Adds a multiple select dropdown to the current GUI instance.
            </summary>
            <param name="composer"></param>
            <param name="values">The values of the current drodown.</param>
            <param name="names">The names of those values.</param>
            <param name="selectedIndex">The default selected index.</param>
            <param name="onSelectionChanged">The event fired when the index is changed.</param>
            <param name="bounds">The bounds of the index.</param>
            <param name="key">The name of this dropdown.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddDropDown(Vintagestory.API.Client.GuiComposer,System.String[],System.String[],System.Int32,Vintagestory.API.Client.SelectionChangedDelegate,Vintagestory.API.Client.ElementBounds,System.String)">
            <summary>
            Adds a dropdown to the current GUI instance.
            </summary>
            <param name="composer"></param>
            <param name="values">The values of the current drodown.</param>
            <param name="names">The names of those values.</param>
            <param name="selectedIndex">The default selected index.</param>
            <param name="onSelectionChanged">The event fired when the index is changed.</param>
            <param name="bounds">The bounds of the index.</param>
            <param name="key">The name of this dropdown.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddDropDown(Vintagestory.API.Client.GuiComposer,System.String[],System.String[],System.Int32,Vintagestory.API.Client.SelectionChangedDelegate,Vintagestory.API.Client.ElementBounds,Vintagestory.API.Client.CairoFont,System.String)">
            <summary>
            Adds a dropdown to the current GUI instance.
            </summary>
            <param name="composer"></param>
            <param name="values">The values of the current drodown.</param>
            <param name="names">The names of those values.</param>
            <param name="selectedIndex">The default selected index.</param>
            <param name="onSelectionChanged">The event fired when the index is changed.</param>
            <param name="bounds">The bounds of the index.</param>
            <param name="font"></param>
            <param name="key">The name of this dropdown.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.GetDropDown(Vintagestory.API.Client.GuiComposer,System.String)">
            <summary>
            Gets the Drop Down element from the GUIComposer by their key.
            </summary>
            <param name="composer"></param>
            <param name="key">the name of the dropdown to fetch.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddElementListPicker``1(Vintagestory.API.Client.GuiComposer,System.Type,``0[],System.Action{System.Int32},Vintagestory.API.Client.ElementBounds,System.Int32,System.String)">
            <summary>
            Adds multiple buttons with Text.
            </summary>
            <param name="elems"></param>
            <param name="onToggle">The event fired when the button is pressed.</param>
            <param name="startBounds">The bounds of the buttons.</param>
            <param name="maxLineWidth"></param>
            <param name="key">The key given to the bundle of buttons.</param>
            <param name="composer"></param>
            <param name="pickertype"></param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddHorizontalTabs(Vintagestory.API.Client.GuiComposer,Vintagestory.API.Client.GuiTab[],Vintagestory.API.Client.ElementBounds,System.Action{System.Int32},Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.CairoFont,System.String)">
            <summary>
            Adds a set of horizontal tabs to the GUI.
            </summary>
            <param name="composer"></param>
            <param name="tabs">The collection of tabs.</param>
            <param name="bounds">The bounds of the horizontal tabs.</param>
            <param name="onTabClicked">The event fired when the tab is clicked.</param>
            <param name="font">The font of the tabs.</param>
            <param name="selectedFont"></param>
            <param name="key">The key for the added horizontal tabs.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.GetHorizontalTabs(Vintagestory.API.Client.GuiComposer,System.String)">
            <summary>
            Gets the HorizontalTabs element from the GUI by name.
            </summary>
            <param name="composer"></param>
            <param name="key">The key for the horizontal tabs you want to get.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.GetIconListPicker(Vintagestory.API.Client.GuiComposer,System.String)">
            <summary>
            Returns the icon list picker
            </summary>
            <param name="composer"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.IconListPickerSetValue(Vintagestory.API.Client.GuiComposer,System.String,System.Int32)">
            <summary>
            Selects one of the clickable icons
            </summary>
            <param name="composer"></param>
            <param name="key"></param>
            <param name="selectedIndex"></param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddIconListPicker(Vintagestory.API.Client.GuiComposer,System.String[],System.Action{System.Int32},Vintagestory.API.Client.ElementBounds,System.Int32,System.String)">
            <summary>
            Adds multiple clickable icons 
            </summary>
            <param name="composer"></param>
            <param name="icons"></param>
            <param name="onToggle"></param>
            <param name="startBounds"></param>
            <param name="maxLineWidth"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddVerticalScrollbar(Vintagestory.API.Client.GuiComposer,System.Action{System.Single},Vintagestory.API.Client.ElementBounds,System.String)">
            <summary>
            Adds a vertical scrollbar to the GUI.  
            </summary>
            <param name="composer"></param>
            <param name="onNewScrollbarValue">The action when the scrollbar changes.</param>
            <param name="bounds">The bounds of the scrollbar.</param>
            <param name="key">The name of the scrollbar.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.GetScrollbar(Vintagestory.API.Client.GuiComposer,System.String)">
            <summary>
            Gets the scrollbar by name.
            </summary>
            <param name="composer"></param>
            <param name="key">The name of the scrollbar.</param>
            <returns>The scrollbar itself.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddSlider(Vintagestory.API.Client.GuiComposer,Vintagestory.API.Common.ActionConsumable{System.Int32},Vintagestory.API.Client.ElementBounds,System.String)">
            <summary>
            Adds a slider to the current GUI.
            </summary>
            <param name="composer"></param>
            <param name="onNewSliderValue">The event that fires when the slider's value is changed.</param>
            <param name="bounds">The bounds of the slider.</param>
            <param name="key">the internal name of the slider.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.GetSlider(Vintagestory.API.Client.GuiComposer,System.String)">
            <summary>
            Gets the slider by name from the GUI.
            </summary>
            <param name="composer"></param>
            <param name="key">the internal name of the slider.</param>
            <returns>the slider.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddSwitch(Vintagestory.API.Client.GuiComposer,System.Action{System.Boolean},Vintagestory.API.Client.ElementBounds,System.String,System.Double,System.Double)">
            <summary>
            Adds a switch to the GUI.
            </summary>
            <param name="composer"></param>
            <param name="onToggle">The event that happens when the switch is toggled.</param>
            <param name="bounds">The bounds of the switch.</param>
            <param name="key">the name of the switch. (Default: null)</param>
            <param name="size">The size of the switch (Default: 30)</param>
            <param name="padding">The padding around the switch (Default: 5)</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.GetSwitch(Vintagestory.API.Client.GuiComposer,System.String)">
            <summary>
            Gets the switch by name.
            </summary>
            <param name="composer"></param>
            <param name="key">The internal name of the switch.</param>
            <returns>Returns the named switch.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddButton(Vintagestory.API.Client.GuiComposer,System.String,Vintagestory.API.Common.ActionConsumable,Vintagestory.API.Client.ElementBounds,Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.EnumButtonStyle,System.String)">
            <summary>
            Adds a clickable button
            </summary>
            <param name="composer"></param>
            <param name="text">The text displayed inside the button</param>
            <param name="onClick">Handler for when the button is clicked</param>
            <param name="bounds"></param>
            <param name="buttonFont">The font to be used for the text inside the button.</param>
            <param name="style"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddButton(Vintagestory.API.Client.GuiComposer,System.String,Vintagestory.API.Common.ActionConsumable,Vintagestory.API.Client.ElementBounds,Vintagestory.API.Client.EnumButtonStyle,System.String)">
            <summary>
            Adds a clickable button button with font CairoFont.ButtonText()
            </summary>
            <param name="composer"></param>
            <param name="text">The text displayed inside the button</param>
            <param name="onClick">Handler for when the button is clicked</param>
            <param name="bounds"></param>
            <param name="style"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddSmallButton(Vintagestory.API.Client.GuiComposer,System.String,Vintagestory.API.Common.ActionConsumable,Vintagestory.API.Client.ElementBounds,Vintagestory.API.Client.EnumButtonStyle,System.String)">
            <summary>
            Adds a small clickable button with font size GuiStyle.SmallFontSize
            </summary>
            <param name="composer"></param>
            <param name="text">The text displayed inside the button</param>
            <param name="onClick">Handler for when the button is clicked</param>
            <param name="bounds"></param>
            <param name="style"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.GetButton(Vintagestory.API.Client.GuiComposer,System.String)">
            <summary>
            Gets the button by name
            </summary>
            <param name="composer"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.GetToggleButton(Vintagestory.API.Client.GuiComposer,System.String)">
            <summary>
            Gets the toggle button by name in the GUIComposer.
            </summary>
            <param name="composer"></param>
            <param name="key">The name of the button.</param>
            <returns>A button.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddToggleButton(Vintagestory.API.Client.GuiComposer,System.String,Vintagestory.API.Client.CairoFont,System.Action{System.Boolean},Vintagestory.API.Client.ElementBounds,System.String)">
            <summary>
            Creates a toggle button with the given parameters.
            </summary>
            <param name="composer"></param>
            <param name="text">The text of the button.</param>
            <param name="font">The font of the text.</param>
            <param name="onToggle">The event that happens once the button is toggled.</param>
            <param name="bounds">The bounding box of the button.</param>
            <param name="key">The name of the button for easy access.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddIconButton(Vintagestory.API.Client.GuiComposer,System.String,System.Action{System.Boolean},Vintagestory.API.Client.ElementBounds,System.String)">
            <summary>
            Adds an icon button.
            </summary>
            <param name="composer"></param>
            <param name="icon">The name of the icon.</param>
            <param name="onToggle">The event that happens once the button is toggled.</param>
            <param name="bounds">The bounding box of the button.</param>
            <param name="key">The name of the button for easy access.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.ToggleButtonsSetValue(Vintagestory.API.Client.GuiComposer,System.String,System.Int32)">
            <summary>
            Toggles the given button.
            </summary>
            <param name="composer"></param>
            <param name="key">The name of the button that was set.</param>
            <param name="selectedIndex">the index of the button.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddIconToggleButtons(Vintagestory.API.Client.GuiComposer,System.String[],Vintagestory.API.Client.CairoFont,System.Action{System.Int32},Vintagestory.API.Client.ElementBounds[],System.String)">
            <summary>
            Adds multiple buttons with icons.
            </summary>
            <param name="composer"></param>
            <param name="icons">The collection of icons for the buttons.</param>
            <param name="font">The font for the buttons.</param>
            <param name="onToggle">The event called when the buttons are pressed.</param>
            <param name="bounds">The bounds of the buttons.</param>
            <param name="key">The key given to the bundle of buttons.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddTextToggleButtons(Vintagestory.API.Client.GuiComposer,System.String[],Vintagestory.API.Client.CairoFont,System.Action{System.Int32},Vintagestory.API.Client.ElementBounds[],System.String)">
            <summary>
            Adds multiple buttons with Text.
            </summary>
            <param name="composer"></param>
            <param name="texts">The texts on all the buttons.</param>
            <param name="font">The font for the buttons</param>
            <param name="onToggle">The event fired when the button is pressed.</param>
            <param name="bounds">The bounds of the buttons.</param>
            <param name="key">The key given to the bundle of buttons.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddVerticalToggleTabs(Vintagestory.API.Client.GuiComposer,Vintagestory.API.Client.GuiTab[],Vintagestory.API.Client.ElementBounds,System.Action{System.Int32,Vintagestory.API.Client.GuiTab},System.String)">
            <summary>
            Adds multiple tabs to a group of vertical tabs.
            </summary>
            <param name="composer"></param>
            <param name="tabs">The tabs being added.</param>
            <param name="bounds">The boundaries of the tab group.</param>
            <param name="onTabClicked">The event fired when any of the tabs are clicked.</param>
            <param name="key">The name of this tab group.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddVerticalTabs(Vintagestory.API.Client.GuiComposer,Vintagestory.API.Client.GuiTab[],Vintagestory.API.Client.ElementBounds,System.Action{System.Int32,Vintagestory.API.Client.GuiTab},System.String)">
            <summary>
            Adds multiple tabs to a group of vertical tabs.
            </summary>
            <param name="composer"></param>
            <param name="tabs">The tabs being added.</param>
            <param name="bounds">The boundaries of the tab group.</param>
            <param name="onTabClicked">The event fired when any of the tabs are clicked.</param>
            <param name="key">The name of this tab group.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.GetVerticalTab(Vintagestory.API.Client.GuiComposer,System.String)">
            <summary>
            Gets the vertical tab group as declared by name.
            </summary>
            <param name="composer"></param>
            <param name="key">The name of the vertical tab group to get.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddCellList``1(Vintagestory.API.Client.GuiComposer,Vintagestory.API.Client.ElementBounds,Vintagestory.API.Client.OnRequireCell{``0},System.Collections.Generic.IEnumerable{``0},System.String)">
            <summary>
            Adds a List to the current GUI.
            </summary>
            <param name="composer"></param>
            <param name="bounds">The bounds of the cell.</param>
            <param name="cellCreator">the event fired when the cell is requested by the GUI</param>
            <param name="cells">The cells of the list.</param>
            <param name="key">The identifier for the list.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.GetCellList``1(Vintagestory.API.Client.GuiComposer,System.String)">
            <summary>
            Gets the list by name.
            </summary>
            <param name="composer"></param>
            <param name="key">The name of the list to get.</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddChatInput(Vintagestory.API.Client.GuiComposer,Vintagestory.API.Client.ElementBounds,System.Action{System.String},System.String)">
            <summary>
            Adds a chat input to the GUI.
            </summary>
            <param name="composer"></param>
            <param name="bounds">The bounds of the text.</param>
            <param name="onTextChanged">The event fired when the text is changed.</param>
            <param name="key">The name of this chat component.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.GetChatInput(Vintagestory.API.Client.GuiComposer,System.String)">
            <summary>
            Gets the chat input by name.
            </summary>
            <param name="composer"></param>
            <param name="key">The name of the chat input component.</param>
            <returns>The named component.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddConfigList(Vintagestory.API.Client.GuiComposer,System.Collections.Generic.List{Vintagestory.API.Client.ConfigItem},Vintagestory.API.Client.ConfigItemClickDelegate,Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.ElementBounds,System.String)">
            <summary>
            Adds a config List to the current GUI.
            </summary>
            <param name="composer"></param>
            <param name="items">The items to add.</param>
            <param name="onItemClick">The event fired when the item is clicked.</param>
            <param name="font">The font of the Config List.</param>
            <param name="bounds">The bounds of the config list.</param>
            <param name="key">The name of the config list.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.GetConfigList(Vintagestory.API.Client.GuiComposer,System.String)">
            <summary>
            Gets the config list by name.
            </summary>
            <param name="composer"></param>
            <param name="key">The name of the config list.</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddContainer(Vintagestory.API.Client.GuiComposer,Vintagestory.API.Client.ElementBounds,System.String)">
            <summary>
            Adds a container to the current GUI. Can be used to add any gui element within a scrollable window.
            </summary>
            <param name="composer"></param>
            <param name="bounds">The bounds of the cell.</param>
            <param name="key">The identifier for the list.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.GetContainer(Vintagestory.API.Client.GuiComposer,System.String)">
            <summary>
            Gets the container by key
            </summary>
            <param name="composer"></param>
            <param name="key">The name of the list to get.</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddDialogTitleBar(Vintagestory.API.Client.GuiComposer,System.String,System.Action,Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.ElementBounds,System.String)">
            <summary>
            Adds a dialog title bar to the GUI.  
            </summary>
            <param name="composer"></param>
            <param name="text">The text of the title bar.</param>
            <param name="onClose">The event fired when the title bar is closed.</param>
            <param name="font">The font of the title bar.</param>
            <param name="bounds">The bounds of the title bar.</param>
            <param name="key"></param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddDialogTitleBarWithBg(Vintagestory.API.Client.GuiComposer,System.String,System.Action,Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.ElementBounds,System.String)">
            <summary>
            Adds a dialog title bar to the GUI with a background.
            </summary>
            <param name="composer"></param>
            <param name="text">The text of the title bar.</param>
            <param name="onClose">The event fired when the title bar is closed.</param>
            <param name="font">The font of the title bar.</param>
            <param name="bounds">The bounds of the title bar.</param>
            <param name="key"></param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddNumberInput(Vintagestory.API.Client.GuiComposer,Vintagestory.API.Client.ElementBounds,System.Action{System.String},Vintagestory.API.Client.CairoFont,System.String)">
            <summary>
            Adds a numeric input for the current GUI.
            </summary>
            <param name="composer"></param>
            <param name="bounds">The bounds of the number input.</param>
            <param name="onTextChanged">The event fired when the number is changed.</param>
            <param name="font">The font for the numbers.</param>
            <param name="key">The name for this GuiElementNumberInput</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.GetNumberInput(Vintagestory.API.Client.GuiComposer,System.String)">
            <summary>
            Gets the number input by name.
            </summary>
            <param name="composer"></param>
            <param name="key">The internal name of the numeric input.</param>
            <returns>The named numeric input.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddStatbar(Vintagestory.API.Client.GuiComposer,Vintagestory.API.Client.ElementBounds,System.Double[],System.Boolean,System.String)">
            <summary>
            Adds a stat bar to the current GUI with a minimum of 0 and a maximum of 100.
            </summary>
            <param name="composer"></param>
            <param name="bounds">The bounds of the stat bar.</param>
            <param name="color">The color of the stat bar.</param>
            <param name="hideable">If true, the element can be fully hidden without recompose.</param>
            <param name="key">The internal name of the stat bar.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddInvStatbar(Vintagestory.API.Client.GuiComposer,Vintagestory.API.Client.ElementBounds,System.Double[],System.String)">
            <summary>
            Adds a stat bar with filling in the opposite direction. Default values are from 0 to 100.
            </summary>
            <param name="composer"></param>
            <param name="bounds">the bounds of the stat bar.</param>
            <param name="color">the color of the stat bar.</param>
            <param name="key">The internal name of the stat bar.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.GetStatbar(Vintagestory.API.Client.GuiComposer,System.String)">
            <summary>
            Gets the stat bar by name.
            </summary>
            <param name="composer"></param>
            <param name="key">The internal name of the stat bar to fetch.</param>
            <returns>The named stat bar.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddTextArea(Vintagestory.API.Client.GuiComposer,Vintagestory.API.Client.ElementBounds,System.Action{System.String},Vintagestory.API.Client.CairoFont,System.String)">
            <summary>
            Adds a text area to the GUI.  
            </summary>
            <param name="composer"></param>
            <param name="bounds">The bounds of the Text Area</param>
            <param name="onTextChanged">The event fired when the text is changed.</param>
            <param name="font">The font of the text.</param>
            <param name="key">The name of the text area.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.GetTextArea(Vintagestory.API.Client.GuiComposer,System.String)">
            <summary>
            Gets the text area by name.
            </summary>
            <param name="composer"></param>
            <param name="key">The name of the text area.</param>
            <returns>The named Text Area.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddTextInput(Vintagestory.API.Client.GuiComposer,Vintagestory.API.Client.ElementBounds,System.Action{System.String},Vintagestory.API.Client.CairoFont,System.String)">
            <summary>
            Adds a text input to the current GUI.
            </summary>
            <param name="composer"></param>
            <param name="bounds">The bounds of the text input.</param>
            <param name="onTextChanged">The event fired when the text is changed.</param>
            <param name="font">The font of the text.</param>
            <param name="key">The name of this text component.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.GetTextInput(Vintagestory.API.Client.GuiComposer,System.String)">
            <summary>
            Gets the text input by input name.
            </summary>
            <param name="composer"></param>
            <param name="key">The name of the text input to get.</param>
            <returns>The named text input</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddItemSlotGrid(Vintagestory.API.Client.GuiComposer,Vintagestory.API.Common.IInventory,System.Action{System.Object},System.Int32,Vintagestory.API.Client.ElementBounds,System.String)">
            <summary>
            Adds an item slot grid to the GUI.
            </summary>
            <param name="composer"></param>
            <param name="inventory">The inventory attached to the slot grid.</param>
            <param name="sendPacket">A handler that should send supplied network packet to the server, if the inventory modifications should be synced</param>
            <param name="columns">The number of columns in the slot grid.</param>
            <param name="bounds">the bounds of the slot grid.</param>
            <param name="key">The key for this particular slot grid.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddItemSlotGrid(Vintagestory.API.Client.GuiComposer,Vintagestory.API.Common.IInventory,System.Action{System.Object},System.Int32,System.Int32[],Vintagestory.API.Client.ElementBounds,System.String)">
            <summary>
            Adds an item slot grid to the GUI.
            </summary>
            <param name="composer"></param>
            <param name="inventory">The inventory attached to the slot grid.</param>
            <param name="sendPacket">A handler that should send supplied network packet to the server, if the inventory modifications should be synced</param>
            <param name="columns">The number of columns in the slot grid.</param>
            <param name="selectiveSlots">The slots within the inventory that are currently accessible.</param>
            <param name="bounds">the bounds of the slot grid.</param>
            <param name="key">The key for this particular slot grid.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.GetSlotGrid(Vintagestory.API.Client.GuiComposer,System.String)">
            <summary>
            Gets the slot grid by name.
            </summary>
            <param name="composer"></param>
            <param name="key">The name of the slot grid to get.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddItemSlotGridExcl(Vintagestory.API.Client.GuiComposer,Vintagestory.API.Common.IInventory,System.Action{System.Object},System.Int32,System.Int32[],Vintagestory.API.Client.ElementBounds,System.String)">
            <summary>
            Adds an ItemSlotGrid with Exclusions.
            </summary>
            <param name="composer"></param>
            <param name="inventory">The attached inventory.</param>
            <param name="sendPacket">A handler that should send supplied network packet to the server, if the inventory modifications should be synced</param>
            <param name="columns">The number of columns.</param>
            <param name="excludingSlots">The slots that have been excluded from the slot grid.</param>
            <param name="bounds">The bounds of the slot grid.</param>
            <param name="key">The name of the slot grid.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.GetSlotGridExcl(Vintagestory.API.Client.GuiComposer,System.String)">
            <summary>
            Gets the ItemSlotGridExcl by name.
            </summary>
            <param name="composer"></param>
            <param name="key">The name of the ItemSlotGridExcl</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddPassiveItemSlot(Vintagestory.API.Client.GuiComposer,Vintagestory.API.Client.ElementBounds,Vintagestory.API.Common.IInventory,Vintagestory.API.Common.ItemSlot,System.Boolean)">
            <summary>
            Adds a passive item slot to the GUI.
            </summary>
            <param name="composer"></param>
            <param name="bounds">The bounds of the Slot</param>
            <param name="inventory">The inventory attached to the slot.</param>
            <param name="slot">The internal slot of the slot.</param>
            <param name="drawBackground">Do we draw the background for this slot? (Default: true)</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddSkillItemGrid(Vintagestory.API.Client.GuiComposer,System.Collections.Generic.List{Vintagestory.API.Client.SkillItem},System.Int32,System.Int32,System.Action{System.Int32},Vintagestory.API.Client.ElementBounds,System.String)">
            <summary>
            Adds a skill item grid to the GUI.
            </summary>
            <param name="composer"></param>
            <param name="skillItems">The items that represent skills.</param>
            <param name="columns">the columns in the skill item grid.</param>
            <param name="rows">The rows in the skill item grid.</param>
            <param name="onSlotClick">The effect when a slot is clicked.</param>
            <param name="bounds">The bounds of the item grid.</param>
            <param name="key">The name of the item grid to add.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.GetSkillItemGrid(Vintagestory.API.Client.GuiComposer,System.String)">
            <summary>
            Fetches the skill item grid by name
            </summary>
            <param name="composer"></param>
            <param name="key">The name of the skill item grid to get.</param>
            <returns>The skill item grid to get.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddEmbossedText(Vintagestory.API.Client.GuiComposer,System.String,Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.ElementBounds,System.String)">
            <summary>
            Adds an embossed text component to the GUI.
            </summary>
            <param name="composer"></param>
            <param name="text">The text of the component.</param>
            <param name="font">The font of the text.</param>
            <param name="bounds">The bounds of the component.</param>
            <param name="key">The name of the component.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.GetEmbossedText(Vintagestory.API.Client.GuiComposer,System.String)">
            <summary>
            Gets the EmbossedText component by name.
            </summary>
            <param name="composer"></param>
            <param name="key">The name of the component.</param>
            <returns>the named component of the text.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddHoverText(Vintagestory.API.Client.GuiComposer,System.String,Vintagestory.API.Client.CairoFont,System.Int32,Vintagestory.API.Client.ElementBounds,System.String)">
            <summary>
            Adds a hover text to the GUI.
            </summary>
            <param name="composer"></param>
            <param name="text">The text of the text.</param>
            <param name="font">The font of the text.</param>
            <param name="width">The width of the text.</param>
            <param name="bounds">The bounds of the text.</param>
            <param name="key">The name of this hover text component.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddTranspHoverText(Vintagestory.API.Client.GuiComposer,System.String,Vintagestory.API.Client.CairoFont,System.Int32,Vintagestory.API.Client.ElementBounds,System.String)">
            <summary>
            Adds a hover text to the GUI.
            </summary>
            <param name="composer"></param>
            <param name="text">The text of the text.</param>
            <param name="font">The font of the text.</param>
            <param name="width">The width of the text.</param>
            <param name="bounds">The bounds of the text.</param>
            <param name="key">The name of this hover text component.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddHoverText(Vintagestory.API.Client.GuiComposer,System.String,Vintagestory.API.Client.CairoFont,System.Int32,Vintagestory.API.Client.ElementBounds,Vintagestory.API.Client.TextBackground,System.String)">
            <summary>
            Adds a hover text to the GUI.
            </summary>
            <param name="composer"></param>
            <param name="text">The text of the text.</param>
            <param name="font">The font of the text.</param>
            <param name="width">The width of the text.</param>
            <param name="bounds">The bounds of the text.</param>
            <param name="background"></param>
            <param name="key">The name of this hover text component.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.GetHoverText(Vintagestory.API.Client.GuiComposer,System.String)">
            <summary>
            Fetches the hover text component by name.
            </summary>
            <param name="composer"></param>
            <param name="key">The name of the text component.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddRichtext(Vintagestory.API.Client.GuiComposer,System.String,Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.ElementBounds,System.String)">
            <summary>
            Adds a rich text element to the GUI
            </summary>
            <param name="composer"></param>
            <param name="vtmlCode"></param>
            <param name="baseFont"></param>
            <param name="bounds"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddRichtext(Vintagestory.API.Client.GuiComposer,System.String,Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.ElementBounds,System.Action{Vintagestory.API.Client.LinkTextComponent},System.String)">
            <summary>
            Adds a rich text element to the GUI
            </summary>
            <param name="composer"></param>
            <param name="vtmlCode"></param>
            <param name="baseFont"></param>
            <param name="bounds"></param>
            <param name="didClickLink"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddRichtext(Vintagestory.API.Client.GuiComposer,Vintagestory.API.Client.RichTextComponentBase[],Vintagestory.API.Client.ElementBounds,System.String)">
            <summary>
            Adds a rich text element to the GUI
            </summary>
            <param name="composer"></param>
            <param name="components"></param>
            <param name="bounds"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.GetRichtext(Vintagestory.API.Client.GuiComposer,System.String)">
            <summary>
            Gets the chat input by name.
            </summary>
            <param name="composer"></param>
            <param name="key">The name of the chat input component.</param>
            <returns>The named component.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddCustomRender(Vintagestory.API.Client.GuiComposer,Vintagestory.API.Client.ElementBounds,Vintagestory.API.Client.RenderDelegateWithBounds)">
            <summary>
            Adds a static custom draw component to the GUI.
            </summary>
            <param name="composer"></param>
            <param name="bounds">The bounds of the component.</param>
            <param name="onRender">The event fired when the element is drawn.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddStaticCustomDraw(Vintagestory.API.Client.GuiComposer,Vintagestory.API.Client.ElementBounds,Vintagestory.API.Client.DrawDelegateWithBounds)">
            <summary>
            Adds a static custom draw component to the GUI.
            </summary>
            <param name="composer"></param>
            <param name="bounds">The bounds of the component.</param>
            <param name="onDraw">The event fired when the element is drawn.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddDynamicCustomDraw(Vintagestory.API.Client.GuiComposer,Vintagestory.API.Client.ElementBounds,Vintagestory.API.Client.DrawDelegateWithBounds,System.String)">
            <summary>
            Adds a dynamic custom draw component to the GUI.
            </summary>
            <param name="composer"></param>
            <param name="bounds">The bounds of the component.</param>
            <param name="onDraw">The event fired when the element is drawn.</param>
            <param name="key">The name of the element.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddShadedDialogBG(Vintagestory.API.Client.GuiComposer,Vintagestory.API.Client.ElementBounds,System.Boolean,System.Double,System.Single)">
            <summary>
            Adds shaded, slighlty dirt textured background to the GUI.
            </summary>
            <param name="composer"></param>
            <param name="bounds"></param>
            <param name="withTitleBar"></param>
            <param name="strokeWidth"></param>
            <param name="alpha"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddStaticText(Vintagestory.API.Client.GuiComposer,System.String,Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.ElementBounds,System.String)">
            <summary>
            Adds a static text component to the GUI
            </summary>
            <param name="composer"></param>
            <param name="text">The text of the text component.</param>
            <param name="font">The font of the text.</param>
            <param name="bounds">The bounds of the text container.</param>
            <param name="key">The name of the component.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddStaticText(Vintagestory.API.Client.GuiComposer,System.String,Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.EnumTextOrientation,Vintagestory.API.Client.ElementBounds,System.String)">
            <summary>
            Adds a static text component to the GUI
            </summary>
            <param name="composer"></param>
            <param name="text">The text of the text component.</param>
            <param name="font">The font of the text.</param>
            <param name="orientation">The orientation of the text.</param>
            <param name="bounds">The bounds of the text container.</param>
            <param name="key">The name of the component.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddStaticTextAutoBoxSize(Vintagestory.API.Client.GuiComposer,System.String,Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.EnumTextOrientation,Vintagestory.API.Client.ElementBounds,System.String)">
            <summary>
            Adds a static text component to the GUI that automatically resizes as necessary.
            </summary>
            <param name="composer"></param>
            <param name="text">The text of the text component.</param>
            <param name="font">The font of the text.</param>
            <param name="orientation">The orientation of the text.</param>
            <param name="bounds">The bounds of the text container.</param>
            <param name="key">The name of the component.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.AddStaticTextAutoFontSize(Vintagestory.API.Client.GuiComposer,System.String,Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.ElementBounds,System.String)">
            <summary>
            Adds a static text component to the GUI that automatically resizes as necessary.
            </summary>
            <param name="composer"></param>
            <param name="text">The text of the text component.</param>
            <param name="font">The font of the text.</param>
            <param name="bounds">The bounds of the text container.</param>
            <param name="key">The name of the component.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposerHelpers.GetStaticText(Vintagestory.API.Client.GuiComposer,System.String)">
            <summary>
            Gets the static text component by name.
            </summary>
            <param name="composer" />
            <param name="key">The name of the component.</param>
        </member>
        <member name="F:Vintagestory.API.Client.GuiElementCompactScrollbar.scrollbarPadding">
            <summary>
            The padding around the scrollbar.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiElementCompactScrollbar.Focusable">
            <summary>
            Can this GUIElement be focusable? (default: true).
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementCompactScrollbar.#ctor(Vintagestory.API.Client.ICoreClientAPI,System.Action{System.Single},Vintagestory.API.Client.ElementBounds)">
            <summary>
            Scrollbar constructor.
            </summary>
            <param name="capi">Client API</param>
            <param name="onNewScrollbarValue">Event for the changing of the scrollbar or scrolling of the mousewheel.</param>
            <param name="bounds">the bounding box of the scrollbar.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementCompactScrollbar.ComposeElements(Cairo.Context,Cairo.ImageSurface)">
            <summary>
            Composes the element.
            </summary>
            <param name="ctxStatic">The context of the element</param>
            <param name="surface">The surface of the image for the element (Not used, can be null.)</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementCompactScrollbar.RenderInteractiveElements(System.Single)">
            <summary>
            Renders the element.
            </summary>
            <param name="deltaTime">The amount of time that has passed.</param>
        </member>
        <member name="T:Vintagestory.API.Client.GuiElementControl">
            <summary>
            An element that allows input and can be disabled
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementControl.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.ElementBounds)">
            <summary>
            Constructor for the element.
            </summary>
            <param name="capi">The Client API.</param>
            <param name="bounds">the bounds of the element.</param>
        </member>
        <member name="P:Vintagestory.API.Client.GuiElementControl.Enabled">
            <summary>
            Enables/disables the given element (default is enabled)
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.GuiElementDropDown">
            <summary>
            Creates a drop-down list of items.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiElementDropDown.DrawOrder">
            <summary>
            The draw order of this GUI Element.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiElementDropDown.Focusable">
            <summary>
            Can this element be put into focus?
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiElementDropDown.Scale">
            <summary>
            The scale of this GUI element.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementDropDown.#ctor(Vintagestory.API.Client.ICoreClientAPI,System.String[],System.String[],System.Int32,Vintagestory.API.Client.SelectionChangedDelegate,Vintagestory.API.Client.ElementBounds,Vintagestory.API.Client.CairoFont,System.Boolean)">
            <summary>
            Constructor.
            </summary>
            <param name="capi">The client API</param>
            <param name="values">The values of the strings.</param>
            <param name="names">The names of the strings.</param>
            <param name="selectedIndex">The default selected index.</param>
            <param name="onSelectionChanged">The event that occurs when the selection is changed.</param>
            <param name="bounds">The bounds of the drop down.</param>
            <param name="font"></param>
            <param name="multiSelect"></param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementDropDown.ComposeElements(Cairo.Context,Cairo.ImageSurface)">
            <summary>
            Composes the element based on the context.
            </summary>
            <param name="ctx">The context of the element.</param>
            <param name="surface">The surface of the image. (Not used)</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementDropDown.RenderInteractiveElements(System.Single)">
            <summary>
            Renders the dropdown's interactive elements.
            </summary>
            <param name="deltaTime">The change in time.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementDropDown.SetSelectedIndex(System.Int32)">
            <summary>
            Sets the current index to a newly selected index.
            </summary>
            <param name="selectedIndex">the index that is to be selected.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementDropDown.SetSelectedValue(System.String[])">
            <summary>
            Sets the current index to the value of the selected string.
            </summary>
            <param name="value">the string contained in the drop down.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementDropDown.SetList(System.String[],System.String[])">
            <summary>
            Sets the values of the list with their corresponding names.
            </summary>
            <param name="values">The values of the list.</param>
            <param name="names">The names of the list.</param>
        </member>
        <member name="T:Vintagestory.API.Client.GuiElementElementListPickerBase`1">
            <summary>
            Creates a toggle button for the GUI.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiElementElementListPickerBase`1.On">
            <summary>
            Is this button on?
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiElementElementListPickerBase`1.Focusable">
            <summary>
            Is this element capable of being in the focus?
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementElementListPickerBase`1.#ctor(Vintagestory.API.Client.ICoreClientAPI,`0,Vintagestory.API.Client.ElementBounds)">
            <summary>
            Constructor for the button
            </summary>
            <param name="capi">The core client API.</param>
            <param name="elem"></param>
            <param name="bounds">The bounding box of the button.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementElementListPickerBase`1.ComposeElements(Cairo.Context,Cairo.ImageSurface)">
            <summary>
            Composes the element in both the pressed, and released states.
            </summary>
            <param name="ctx">The context of the element.</param>
            <param name="surface">The surface of the element.</param>
            <remarks>Neither the context, nor the surface is used in this function.</remarks>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementElementListPickerBase`1.RenderInteractiveElements(System.Single)">
            <summary>
            Renders the button.
            </summary>
            <param name="deltaTime">The time elapsed.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementElementListPickerBase`1.OnMouseDownOnElement(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.MouseEvent)">
            <summary>
            Handles the mouse button press while the mouse is on this button.
            </summary>
            <param name="api">The client API</param>
            <param name="args">The mouse event arguments.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementElementListPickerBase`1.OnMouseUpOnElement(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.MouseEvent)">
            <summary>
            Handles the mouse button release while the mouse is on this button.
            </summary>
            <param name="api">The client API</param>
            <param name="args">The mouse event arguments</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementElementListPickerBase`1.OnMouseUp(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.MouseEvent)">
            <summary>
            Handles the event fired when the mouse is released.
            </summary>
            <param name="api">The client API</param>
            <param name="args">Mouse event arguments</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementElementListPickerBase`1.SetValue(System.Boolean)">
            <summary>
            Sets the value of the button.
            </summary>
            <param name="on">Am I on or off?</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementElementListPickerBase`1.Dispose">
            <summary>
            Disposes of the button.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementHorizontalTabs.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.GuiTab[],Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.ElementBounds,System.Action{System.Int32})">
            <summary>
            Creates a collection of horizontal tabs.
            </summary>
            <param name="capi">The client API</param>
            <param name="tabs">A collection of GUI tabs.</param>
            <param name="font">The font for the name of each tab.</param>
            <param name="selectedFont"></param>
            <param name="bounds">The bounds of each tab.</param>
            <param name="onTabClicked">The event fired whenever the tab is clicked.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementHorizontalTabs.SetValue(System.Int32,System.Boolean)">
            <summary>
            Sets the current tab to the given index.
            </summary>
            <param name="selectedIndex">The current index of the tab.</param>
            <param name="callhandler"></param>
        </member>
        <member name="T:Vintagestory.API.Client.GuiElementIconListPicker">
            <summary>
            Creates a toggle button for the GUI.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiElementListMenu.MaxHeight">
            <summary>
            Max height of the expanded list
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiElementListMenu.SelectedIndex">
            <summary>
            The (first) currently selected element
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiElementListMenu.HoveredIndex">
            <summary>
            The element the user currently has the mouse over
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiElementListMenu.SelectedIndices">
            <summary>
            On multi select mode, the list of all selected elements
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiElementListMenu.IsOpened">
            <summary>
            Is the current menu opened?
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementListMenu.#ctor(Vintagestory.API.Client.ICoreClientAPI,System.String[],System.String[],System.Int32,Vintagestory.API.Client.SelectionChangedDelegate,Vintagestory.API.Client.ElementBounds,Vintagestory.API.Client.CairoFont,System.Boolean)">
            <summary>
            Creates a new GUI Element List Menu
            </summary>
            <param name="capi">The Client API.</param>
            <param name="values">The values of the list.</param>
            <param name="names">The names for each of the values.</param>
            <param name="selectedIndex">The default selected index.</param>
            <param name="onSelectionChanged">The event fired when the selection is changed.</param>
            <param name="bounds">The bounds of the GUI element.</param>
            <param name="font"></param>
            <param name="multiSelect"></param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementListMenu.ComposeDynamicElements">
            <summary>
            Composes the list of elements dynamically.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementListMenu.Open">
            <summary>
            Opens the menu.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementListMenu.SetSelectedIndex(System.Int32)">
            <summary>
            Sets the selected index.
            </summary>
            <param name="selectedIndex">The index to be set to.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementListMenu.SetSelectedValue(System.String[])">
            <summary>
            Sets the selected index to the given value.
            </summary>
            <param name="value">The value to be set to.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementListMenu.SetList(System.String[],System.String[])">
            <summary>
            Sets the list for the GUI Element list value.
            </summary>
            <param name="values">The values of the list.</param>
            <param name="names">The names of the values.</param>
        </member>
        <member name="P:Vintagestory.API.Client.GuiElementScrollbar.ScrollConversionFactor">
            <summary>
            Moving 1 pixel of the scrollbar moves the content by ScrollConversionFactor of pixels
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiElementScrollbar.CurrentYPosition">
            <summary>
            The current Y position of the inner element
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementScrollbar.#ctor(Vintagestory.API.Client.ICoreClientAPI,System.Action{System.Single},Vintagestory.API.Client.ElementBounds)">
            <summary>
            Creates a new Scrollbar.
            </summary>
            <param name="capi">The client API.</param>
            <param name="onNewScrollbarValue">The event that fires when the scrollbar is changed.</param>
            <param name="bounds">The bounds of the scrollbar.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementScrollbar.SetHeights(System.Single,System.Single)">
            <summary>
            Sets the height of the scrollbar.
            </summary>
            <param name="visibleHeight">The visible height of the scrollbar</param>
            <param name="totalHeight">The total height of the scrollbar.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementScrollbar.SetNewTotalHeight(System.Single)">
            <summary>
            Sets the total height, recalculating things for the new height.
            </summary>
            <param name="totalHeight">The total height of the scrollbar.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementScrollbar.TriggerChanged">
            <summary>
            Triggers the change to the new value of the scrollbar.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementScrollbar.ScrollToBottom">
            <summary>
            Puts the scrollblock to the very bottom of the scrollbar.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementSlider.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Common.ActionConsumable{System.Int32},Vintagestory.API.Client.ElementBounds)">
            <summary>
            Builds a slider.  A horizontal customizeable slider.
            </summary>
            <param name="capi">The Client API</param>
            <param name="onNewSliderValue">The event that's fired when the slider changed.</param>
            <param name="bounds">the bounds of the object.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementSlider.TriggerOnlyOnMouseUp(System.Boolean)">
            <summary>
            Trigger event only once user release the mouse
            </summary>
            <param name="trigger"></param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementSlider.SetAlarmValue(System.Int32)">
            <summary>
            Sets a value to warn the player that going over this is not a good idea.
            </summary>
            <param name="value">The maximum limit before things break down.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementSlider.SetValues(System.Int32,System.Int32,System.Int32,System.Int32,System.String)">
            <summary>
            Sets the values of the slider.
            </summary>
            <param name="currentValue">The value the slider is now.</param>
            <param name="minValue">The lowest value.</param>
            <param name="maxValue">The highest value.</param>
            <param name="step">Each step between values.</param>
            <param name="unit">The units of the value. %, chunks, ect.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementSlider.GetValue">
            <summary>
            Gets the current value of the slider.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementSliderOld.triggerOnlyOnMouseUp(System.Boolean)">
            <summary>
            Trigger event only once user release the mouse
            </summary>
            <param name="trigger"></param>
        </member>
        <member name="F:Vintagestory.API.Client.GuiElementSwitch.On">
            <summary>
            Wether the switch has been toggled to On
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementSwitch.#ctor(Vintagestory.API.Client.ICoreClientAPI,System.Action{System.Boolean},Vintagestory.API.Client.ElementBounds,System.Double,System.Double)">
            <summary>
            Creates a switch which can be toggled.
            </summary>
            <param name="capi">The Client API</param>
            <param name="OnToggled">The event that happens when the switch is flipped.</param>
            <param name="bounds">The bounds of the element.</param>
            <param name="size">The size of the switch. (Default: 30)</param>
            <param name="padding">The padding on the outside of the switch (Default: 5)</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementSwitch.SetValue(System.Boolean)">
            <summary>
            Sets the value of the switch on or off.
            </summary>
            <param name="on">on == true.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementTextButton.#ctor(Vintagestory.API.Client.ICoreClientAPI,System.String,Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.CairoFont,Vintagestory.API.Common.ActionConsumable,Vintagestory.API.Client.ElementBounds,Vintagestory.API.Client.EnumButtonStyle)">
            <summary>
            Creates a button with text.
            </summary>
            <param name="capi">The Client API</param>
            <param name="text">The text of the button.</param>
            <param name="font">The font of the text.</param>
            <param name="hoverFont">The font of the text when the player is hovering over the button.</param>
            <param name="onClick">The event fired when the button is clicked.</param>
            <param name="bounds">The bounds of the button.</param>
            <param name="style">The style of the button.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementTextButton.SetOrientation(Vintagestory.API.Client.EnumTextOrientation)">
            <summary>
            Sets the orientation of the text both when clicked and when idle.
            </summary>
            <param name="orientation">The orientation of the text.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementTextButton.SetActive(System.Boolean)">
            <summary>
            Sets the button as active or inactive.
            </summary>
            <param name="active">Active == clickable</param>
        </member>
        <member name="T:Vintagestory.API.Client.GuiElementToggleButton">
            <summary>
            Creates a toggle button for the GUI.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiElementToggleButton.Toggleable">
            <summary>
            Is this button toggleable?
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiElementToggleButton.On">
            <summary>
            Is this button on?
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiElementToggleButton.Focusable">
            <summary>
            Is this element capable of being in the focus?
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementToggleButton.#ctor(Vintagestory.API.Client.ICoreClientAPI,System.String,System.String,Vintagestory.API.Client.CairoFont,System.Action{System.Boolean},Vintagestory.API.Client.ElementBounds,System.Boolean)">
            <summary>
            Constructor for the button
            </summary>
            <param name="capi">The core client API.</param>
            <param name="icon">The icon name</param>
            <param name="text">The text for the button.</param>
            <param name="font">The font of the text.</param>
            <param name="OnToggled">The action that happens when the button is toggled.</param>
            <param name="bounds">The bounding box of the button.</param>
            <param name="toggleable">Can the button be toggled on or off?</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementToggleButton.ComposeElements(Cairo.Context,Cairo.ImageSurface)">
            <summary>
            Composes the element in both the pressed, and released states.
            </summary>
            <param name="ctx">The context of the element.</param>
            <param name="surface">The surface of the element.</param>
            <remarks>Neither the context, nor the surface is used in this function.</remarks>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementToggleButton.RenderInteractiveElements(System.Single)">
            <summary>
            Renders the button.
            </summary>
            <param name="deltaTime">The time elapsed.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementToggleButton.OnMouseDownOnElement(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.MouseEvent)">
            <summary>
            Handles the mouse button press while the mouse is on this button.
            </summary>
            <param name="api">The client API</param>
            <param name="args">The mouse event arguments.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementToggleButton.OnMouseUpOnElement(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.MouseEvent)">
            <summary>
            Handles the mouse button release while the mouse is on this button.
            </summary>
            <param name="api">The client API</param>
            <param name="args">The mouse event arguments</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementToggleButton.OnMouseUp(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.MouseEvent)">
            <summary>
            Handles the event fired when the mouse is released.
            </summary>
            <param name="api">The client API</param>
            <param name="args">Mouse event arguments</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementToggleButton.SetValue(System.Boolean)">
            <summary>
            Sets the value of the button.
            </summary>
            <param name="on">Am I on or off?</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementToggleButton.Dispose">
            <summary>
            Disposes of the button.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiElementVerticalTabs.ToggleTabs">
            <summary>
            If true, more than one tab can be active
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementVerticalTabs.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.GuiTab[],Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.ElementBounds,System.Action{System.Int32,Vintagestory.API.Client.GuiTab})">
            <summary>
            Creates a new vertical tab group.
            </summary>
            <param name="capi">The Client API</param>
            <param name="tabs">The collection of individual tabs.</param>
            <param name="font">The font for the group of them all.</param>
            <param name="selectedFont"></param>
            <param name="bounds">The bounds of the tabs.</param>
            <param name="onTabClicked">The event fired when the tab is clicked.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementVerticalTabs.SetValue(System.Int32)">
            <summary>
            Switches to a different tab.
            </summary>
            <param name="index">The tab to switch to.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementVerticalTabs.SetValue(System.Int32,System.Boolean)">
            <summary>
            Switches to a different tab.
            </summary>
            <param name="index">The tab to switch to.</param>
            <param name="triggerHandler">Whether or not the handler triggers.</param>
        </member>
        <member name="P:Vintagestory.API.Client.IGuiElementCell.Bounds">
            <summary>
            The bounds of the cell.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.IGuiElementCell.OnRenderInteractiveElements(Vintagestory.API.Client.ICoreClientAPI,System.Single)">
            <summary>
            The event fired when the cell is rendered.
            </summary>
            <param name="api">The Client API</param>
            <param name="deltaTime">The change in time.</param>
        </member>
        <member name="M:Vintagestory.API.Client.IGuiElementCell.UpdateCellHeight">
            <summary>
            Called when the cell is modified and needs to be updated.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiElementCellList`1.elementCells">
            <summary>
            The cells in the list.  See IGuiElementCell for how it's supposed to function.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiElementCellList`1.unscaledCellSpacing">
            <summary>
            the space between the cells.  Default: 10
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiElementCellList`1.UnscaledCellVerPadding">
            <summary>
            The padding on the vertical axis of the cell.  Default: 2
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiElementCellList`1.UnscaledCellHorPadding">
            <summary>
            The padding on the horizontal axis of the cell.  Default: 7
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementCellList`1.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.ElementBounds,Vintagestory.API.Client.OnRequireCell{`0},System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Creates a new list in the current GUI.
            </summary>
            <param name="capi">The Client API.</param>
            <param name="bounds">The bounds of the list.</param>
            <param name="cellCreator">The event fired when a cell is requested by the gui</param>
            <param name="cells">The array of cells initialized with the list.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementCellList`1.CalcTotalHeight">
            <summary>
            Calculates the total height for the list.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementCellList`1.AddCell(`0,System.Int32)">
            <summary>
            Adds a cell to the list.
            </summary>
            <param name="cell">The cell to add.</param>
            <param name="afterPosition">The position of the cell to add after.  (Default: -1)</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementCellList`1.RemoveCell(System.Int32)">
            <summary>
            Removes a cell at a specified position.
            </summary>
            <param name="position">The position of the cell to remove.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementChatInput.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.ElementBounds,System.Action{System.String})">
            <summary>
            Adds a chat input element to the UI.
            </summary>
            <param name="capi">The client API</param>
            <param name="bounds">The bounds of the chat input.</param>
            <param name="OnTextChanged">The event fired when the text is altered.</param>
        </member>
        <member name="T:Vintagestory.API.Client.ConfigItem">
            <summary>
            A config item for the GUIElementConfigList.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.ConfigItem.Type">
            <summary>
            Item or title
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.ConfigItem.Key">
            <summary>
            The name of the config item.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.ConfigItem.Value">
            <summary>
            the value of the config item.  
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.ConfigItem.Code">
            <summary>
            The code of the config item.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.ConfigItem.error">
            <summary>
            Has this particular config item errored?
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.ConfigItem.posY">
            <summary>
            The y position of the config item.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.ConfigItem.height">
            <summary>
            The height of the config item.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.GuiElementConfigList">
            <summary>
            A configurable list of items.  An example of this is the controls in the settings menu.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementConfigList.#ctor(Vintagestory.API.Client.ICoreClientAPI,System.Collections.Generic.List{Vintagestory.API.Client.ConfigItem},Vintagestory.API.Client.ConfigItemClickDelegate,Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.ElementBounds)">
            <summary>
            Creates a new dropdown configuration list.
            </summary>
            <param name="capi">The Client API</param>
            <param name="items">The list of items in the configuration.</param>
            <param name="OnItemClick">The event fired when the particular item is clicked.</param>
            <param name="font">The font of the text.</param>
            <param name="bounds">the bounds of the element.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementConfigList.Autoheight">
            <summary>
            Automatically adjusts the height of the element.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementConfigList.Refresh">
            <summary>
            Refreshes the Config List.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiElementContainer.Elements">
            <summary>
            The cells in the list.  See IGuiElementCell for how it's supposed to function.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiElementContainer.unscaledCellSpacing">
            <summary>
            the space between the cells.  Default: 10
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiElementContainer.UnscaledCellVerPadding">
            <summary>
            The padding on the vertical axis of the cell.  Default: 2
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiElementContainer.UnscaledCellHorPadding">
            <summary>
            The padding on the horizontal axis of the cell.  Default: 7
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementContainer.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.ElementBounds)">
            <summary>
            Creates a new list in the current GUI.
            </summary>
            <param name="capi">The Client API.</param>
            <param name="bounds">The bounds of the list.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementContainer.CalcTotalHeight">
            <summary>
            Calculates the total height for the list.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiElementContainer.CurrentTabIndexElement">
            <summary>
            Gets the currently tabbed index element, if there is one currently focused.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiElementContainer.MaxTabIndex">
            <summary>
            Gets the maximum tab index of the components.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementContainer.FocusElement(System.Int32)">
            <summary>
            marks an element as in focus.  
            </summary>
            <param name="tabIndex">The tab index to focus at.</param>
            <returns>Whether or not the focus could be done.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementContainer.UnfocusOwnElementsExcept(Vintagestory.API.Client.GuiElement)">
            <summary>
            Unfocuses all elements except one specific element.
            </summary>
            <param name="elem">The element to remain in focus.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementContainer.Add(Vintagestory.API.Client.GuiElement,System.Int32)">
            <summary>
            Adds a cell to the list.
            </summary>
            <param name="elem">The cell to add.</param>
            <param name="afterPosition">The position of the cell to add after.  (Default: -1)</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementContainer.RemoveCell(System.Int32)">
            <summary>
            Removes a cell at a specified position.
            </summary>
            <param name="position">The position of the cell to remove.</param>
        </member>
        <member name="T:Vintagestory.API.Client.GuiElementDialogTitleBar">
            <summary>
            A title bar for your GUI.  
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiElementDialogTitleBar.unscaledCloseIconSize">
            <summary>
            The size of the close icon in the top right corner of the GUI.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementDialogTitleBar.#ctor(Vintagestory.API.Client.ICoreClientAPI,System.String,Vintagestory.API.Client.GuiComposer,System.Action,Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.ElementBounds)">
            <summary>
            Creates a new title bar.  
            </summary>
            <param name="capi">The Client API.</param>
            <param name="text">The text on the title bar.</param>
            <param name="composer">The GuiComposer for the title bar.</param>
            <param name="OnClose">The event fired when the title bar is closed.</param>
            <param name="font">The font of the title bar.</param>
            <param name="bounds">The bounds of the title bar.</param>
        </member>
        <member name="T:Vintagestory.API.Client.GuiElementNumberInput">
            <summary>
            A numerical input field for inputting numbers.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiElementNumberInput.DisableButtonFocus">
            <summary>
            When enabled and a button is clicked it wont focus on it, leaving your focus on the game to move around 
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementNumberInput.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.ElementBounds,System.Action{System.String},Vintagestory.API.Client.CairoFont)">
            <summary>
            Creates a numerical input field.
            </summary>
            <param name="capi">The Client API</param>
            <param name="bounds">The bounds of the GUI.</param>
            <param name="OnTextChanged">The event fired when the number is changed.</param>
            <param name="font">The font of the numbers.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementNumberInput.GetValue">
            <summary>
            Gets the current value of the number.
            </summary>
            <returns>A float representing the value.</returns>
        </member>
        <member name="T:Vintagestory.API.Client.GuiElementStatbar">
            <summary>
            A stat bar to the GUI for keeping track of progress and numbers.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementStatbar.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.ElementBounds,System.Double[],System.Boolean,System.Boolean)">
            <summary>
            Creates a new stat bar for the GUI.
            </summary>
            <param name="capi">The client API</param>
            <param name="bounds">The bounds of the stat bar.</param>
            <param name="color">The color of the stat bar.</param>
            <param name="rightToLeft">Determines the direction that the bar fills.</param>
            <param name="hideable"></param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementStatbar.SetLineInterval(System.Single)">
            <summary>
            Sets the line interval for the Status Bar.
            </summary>
            <param name="value">The value to set for the line interval/</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementStatbar.SetValue(System.Single)">
            <summary>
            Sets the value for the status bar and updates the bar.
            </summary>
            <param name="value">The new value of the status bar.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementStatbar.SetValues(System.Single,System.Single,System.Single)">
            <summary>
            Sets the value for the status bar as well as the minimum and maximum values.
            </summary>
            <param name="value">The new value of the status bar.</param>
            <param name="min">The minimum value of the status bar.</param>
            <param name="max">The maximum value of the status bar.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementStatbar.SetMinMax(System.Single,System.Single)">
            <summary>
            Sets the minimum and maximum values of the status bar.
            </summary>
            <param name="min">The minimum value of the status bar.</param>
            <param name="max">The maximum value of the status bar.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementTextArea.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.ElementBounds,System.Action{System.String},Vintagestory.API.Client.CairoFont)">
            <summary>
            Creates a new text area.
            </summary>
            <param name="capi">The client API</param>
            <param name="bounds">The bounds of the text area.</param>
            <param name="OnTextChanged">The event fired when the text is changed.</param>
            <param name="font">The font of the text.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementTextInput.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.ElementBounds,System.Action{System.String},Vintagestory.API.Client.CairoFont)">
            <summary>
            Adds a text input to the GUI
            </summary>
            <param name="capi">The Client API</param>
            <param name="bounds">The bounds of the text input.</param>
            <param name="onTextChanged">The event fired when the text is changed.</param>
            <param name="font">The font of the text.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementTextInput.HideCharacters">
            <summary>
            Tells the text component to hide the characters in the text.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.GuiElementItemSlotGrid">
            <summary>
            Displays the slots of an inventory in the form of a slot grid
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementItemSlotGrid.DetermineAvailableSlots(System.Int32[])">
            <summary>
            Determines the available slots for the slot grid.
            </summary>
            <param name="visibleSlots"></param>
        </member>
        <member name="T:Vintagestory.API.Client.GuiElementItemSlotGridBase">
            <summary>
            A base class for the slot grid.  For all your slot grid needs.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementItemSlotGridBase.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Common.IInventory,System.Action{System.Object},System.Int32,Vintagestory.API.Client.ElementBounds)">
            <summary>
            Creates a new instance of this class.
            </summary>
            <param name="capi">The client API</param>
            <param name="inventory">The attached inventory</param>
            <param name="sendPacket">A handler that should send supplied network packet to the server, if the inventory modifications should be synced</param>
            <param name="columns">The number of columns in the GUI.</param>
            <param name="bounds">The bounds of the slot grid.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementItemSlotGridBase.FilterItemsBySearchText(System.String,System.Collections.Generic.Dictionary{System.Int32,System.String},System.Collections.Generic.Dictionary{System.Int32,System.String})">
            <summary>
            Renders only a subset of all available slots filtered by searching given text on the item name/description
            </summary>
            <param name="text"></param>
            <param name="searchCache">Can be set to increase search performance, otherwise a slow search is performed</param>
            <param name="searchCacheNames"></param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementItemSlotGridBase.HighlightSlot(System.Int32)">
            <summary>
            Highlights a specific slot.
            </summary>
            <param name="slotId">The slot to highlight.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementItemSlotGridBase.RemoveSlotHighlight">
            <summary>
            Removes the active slot highlight.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.GuiElementItemSlotGridExcl">
            <summary>
            Builds slot grid with exclusions to the grid.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementItemSlotGridExcl.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Common.IInventory,System.Action{System.Object},System.Int32,System.Int32[],Vintagestory.API.Client.ElementBounds)">
            <summary>
            Creates a new slot grid with exclusions.
            </summary>
            <param name="capi">The Client API</param>
            <param name="inventory">The attached inventory.</param>
            <param name="sendPacketHandler">A handler that should send supplied network packet to the server, if the inventory modifications should be synced</param>
            <param name="columns">The number of columns in the slot grid.</param>
            <param name="excludingSlots">The slots that have been excluded.</param>
            <param name="bounds">The bounds of the slot grid.</param>
        </member>
        <member name="T:Vintagestory.API.Client.GuiElementPassiveItemSlot">
            <summary>
            Displays a single slot from given inventory, cannot be directly interacted with. Currently used for the mouse slot
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementPassiveItemSlot.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.ElementBounds,Vintagestory.API.Common.IInventory,Vintagestory.API.Common.ItemSlot,System.Boolean)">
            <summary>
            Creates a new passive item slot.
            </summary>
            <param name="capi">The client API</param>
            <param name="bounds">the bounds of the Slot.</param>
            <param name="inventory">the attached inventory for the slot.</param>
            <param name="slot">The slot of the slot.</param>
            <param name="drawBackground">Do we draw the background for this slot? (Default: true)</param>
        </member>
        <member name="T:Vintagestory.API.Client.GuiElementSkillItemGrid">
            <summary>
            A slot for item skills.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementSkillItemGrid.#ctor(Vintagestory.API.Client.ICoreClientAPI,System.Collections.Generic.List{Vintagestory.API.Client.SkillItem},System.Int32,System.Int32,System.Action{System.Int32},Vintagestory.API.Client.ElementBounds)">
            <summary>
            Creates a Skill Item Grid.
            </summary>
            <param name="capi">The Client API</param>
            <param name="skillItems">The items with skills.</param>
            <param name="columns">The columns of the Item Grid</param>
            <param name="rows">The Rows of the Item Grid.</param>
            <param name="OnSlotClick">The event fired when the slot is clicked.</param>
            <param name="bounds">The bounds of the Item Grid.</param>
        </member>
        <member name="T:Vintagestory.API.Client.GuiElementDynamicText">
            <summary>
            Text that can be changed after being composed
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementDynamicText.#ctor(Vintagestory.API.Client.ICoreClientAPI,System.String,Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.ElementBounds)">
            <summary>
            Adds a new element that renders text dynamically.
            </summary>
            <param name="capi">The client API.</param>
            <param name="text">The starting text on the component.</param>
            <param name="font">The font of the text.</param>
            <param name="bounds">the bounds of the text.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementDynamicText.AutoHeight">
            <summary>
            Automatically adjusts the height of the dynamic text.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementDynamicText.RecomposeText(System.Boolean)">
            <summary>
            Recomposes the element for lines.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementDynamicText.SetNewText(System.String,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Sets the text value of the element.
            </summary>
            <param name="text">The text of the component.</param>
            <param name="autoHeight">Whether the height of the component should be modified.</param>
            <param name="forceRedraw">Whether the element should be redrawn.</param>
            <param name="async"></param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementDynamicTextHelper.AddDynamicText(Vintagestory.API.Client.GuiComposer,System.String,Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.ElementBounds,System.String)">
            <summary>
            Adds dynamic text to the GUI.
            </summary>
            <param name="composer"></param>
            <param name="text"></param>
            <param name="font"></param>
            <param name="bounds"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementDynamicTextHelper.GetDynamicText(Vintagestory.API.Client.GuiComposer,System.String)">
            <summary>
            Gets the Dynamic Text by name from the GUI.
            </summary>
            <param name="composer"></param>
            <param name="key">The name of the element.</param>
        </member>
        <member name="F:Vintagestory.API.Client.GuiElementEditableTextBase.OnKeyPressed">
            <summary>
            Called when a keyboard key was pressed, received and handled
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiElementEditableTextBase.linesStaging">
            <summary>
            Contains the same as Lines, but may momentarily have different values when an edit is being made
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementEditableTextBase.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.ElementBounds)">
            <summary>
            Initializes the text component.
            </summary>
            <param name="capi">The Client API</param>
            <param name="font">The font of the text.</param>
            <param name="bounds">The bounds of the component.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementEditableTextBase.SetCaretPos(System.Double,System.Double)">
            <summary>
            Sets the position of the cursor at a given point.
            </summary>
            <param name="x">X position of the cursor.</param>
            <param name="y">Y position of the cursor.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementEditableTextBase.SetCaretPos(System.Int32,System.Int32)">
            <summary>
            Sets the position of the cursor to a specific character.
            </summary>
            <param name="posInLine">The position in the line.</param>
            <param name="posLine">The line of the text.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementEditableTextBase.SetValue(System.Single)">
            <summary>
            Sets a numerical value to the text, appending it to the end of the text.
            </summary>
            <param name="value">The value to add to the text.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementEditableTextBase.SetValue(System.Double)">
            <summary>
            Sets a numerical value to the text, appending it to the end of the text.
            </summary>
            <param name="value">The value to add to the text.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementEditableTextBase.SetValue(System.String,System.Boolean)">
            <summary>
            Sets given text, sets the cursor to the end of the text
            </summary>
            <param name="text"></param>
            <param name="setCaretPosToEnd"></param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementEditableTextBase.LoadValue(System.Collections.Generic.List{System.String})">
            <summary>
            Sets given texts, leaves cursor position unchanged unless it's now invalid
            </summary>
            <param name="newLines"></param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementEditableTextBase.MoveCursor(System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Moves the cursor forward and backward by an amount.
            </summary>
            <param name="dir">The direction to move the cursor.</param>
            <param name="wholeWord">Whether or not we skip entire words moving it.</param>
            <param name="wholeWordWithWhitespace">Force the cursor to skip whitespace after a word.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementEditableTextBase.SetMaxLines(System.Int32)">
            <summary>
            Sets the number of lines in the Text Area.
            </summary>
            <param name="maxlines">The maximum number of lines.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementEditableTextBase.SetMaxLength(System.Int32)">
            <summary>
            Limits the number of characters a user may enter (default: no limit). Use -1 to set no limit
            </summary>
            <param name="maxlength"></param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementEmbossedText.#ctor(Vintagestory.API.Client.ICoreClientAPI,System.String,Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.ElementBounds)">
            <summary>
            Creates a new embossed text element.
            </summary>
            <param name="capi">The Client API</param>
            <param name="text">The text of the component.</param>
            <param name="font">The font of the text.</param>
            <param name="bounds">The bounds of the component.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementEmbossedText.IsEnabled">
            <summary>
            Whether or not the component is enabled.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementEmbossedText.SetEnabled(System.Boolean)">
            <summary>
            Sets whether or not the component is enabled.
            </summary>
            <param name="enabled"></param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementHoverText.#ctor(Vintagestory.API.Client.ICoreClientAPI,System.String,Vintagestory.API.Client.CairoFont,System.Int32,Vintagestory.API.Client.ElementBounds,Vintagestory.API.Client.TextBackground)">
            <summary>
            Creates a new instance of hover text.
            </summary>
            <param name="capi">The client API.</param>
            <param name="text">The text of the text.</param>
            <remarks>For the text and the text.</remarks>
            <param name="font">The font of the text.</param>
            <param name="maxWidth">The width of the text.</param>
            <param name="bounds">the bounds of the text.</param>
            <param name="background"></param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementHoverText.SetNewText(System.String)">
            <summary>
            Sets the text of the component and changes it.
            </summary>
            <param name="text">The text to change.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementHoverText.SetAutoDisplay(System.Boolean)">
            <summary>
            Sets whether the text automatically displays or not.
            </summary>
            <param name="on">Whether the text is displayed.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementHoverText.SetVisible(System.Boolean)">
            <summary>
            Sets the visibility to the 
            </summary>
            <param name="on"></param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementHoverText.SetAutoWidth(System.Boolean)">
            <summary>
            Sets whether or not the width of the component should automatiocally adjust.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementItemstackInfo.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.ElementBounds,Vintagestory.API.Client.InfoTextDelegate)">
            <summary>
            Creates an ItemStackInfo element.
            </summary>
            <param name="capi">The client API</param>
            <param name="bounds">The bounds of the object.</param>
            <param name="OnRequireInfoText">The function that is called when an item information is called.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementItemstackInfo.GetSlot">
            <summary>
            Gets the item slot for this stack info.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementItemstackInfo.SetSourceSlot(Vintagestory.API.Common.ItemSlot,System.Boolean)">
            <summary>
            Sets the source slot for stacks.
            </summary>
            <param name="nowSlot"></param>
            <param name="forceRecompose"></param>
            <returns>True if recomposed</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementNewVersionText.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.ElementBounds)">
            <summary>
            Creates a NewVersion text component.
            </summary>
            <param name="capi">The Client API</param>
            <param name="font">The font of the text.</param>
            <param name="bounds">The bounds of the component.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementNewVersionText.RecomposeMultiLine(System.String)">
            <summary>
            Recomposes a multi-line message.
            </summary>
            <param name="versionnumber">The version number of the new version.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementRichtext.RecomposeText">
            <summary>
            Recomposes the element for lines.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.IconComponent">
            <summary>
            Draws an icon
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.ItemstackComponentBase">
            <summary>
            Draws an itemstack 
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.ItemstackTextComponent">
            <summary>
            Draws an itemstack 
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.RichTextComponent.ComposeElements(Cairo.Context,Cairo.ImageSurface)">
            <summary>
            Composes the element.
            </summary>
            <param name="ctx">Context of the text component.</param>
            <param name="surface">The surface of the image.</param>
        </member>
        <member name="M:Vintagestory.API.Client.RichTextComponent.RenderInteractiveElements(System.Single,System.Double,System.Double,System.Double)">
            <summary>
            Renders the text component.
            </summary>
            <param name="deltaTime"></param>
            <param name="renderX"></param>
            <param name="renderY"></param>
            <param name="renderZ"></param>
        </member>
        <member name="M:Vintagestory.API.Client.RichTextComponent.CalcBounds(Vintagestory.API.Client.TextFlowPath[],System.Double,System.Double,System.Double,System.Double@)">
            <summary>
            Initializes the size and stuff. Return true if you had to enter the next line
            </summary>
            <param name="flowPath"></param>
            <param name="currentLineHeight"></param>
            <param name="offsetX"></param>
            <param name="lineY"></param>
            <param name="nextOffsetX"></param>
            <returns>True when longer than 1 line</returns>
        </member>
        <member name="F:Vintagestory.API.Client.EnumCalcBoundsResult.Continue">
            <summary>
            Can continue on the same line
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumCalcBoundsResult.Multiline">
            <summary>
            Element was split between current and next line
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumCalcBoundsResult.Nextline">
            <summary>
            Element was put on next line
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.RichTextComponentBase.BoundsPerLine">
            <summary>
            The width/height boundaries of this text component per line
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.RichTextComponentBase.UnscaledMarginTop">
            <summary>
            This will be the Y-Advance into the next line. Unscaled value. Also used as the offset with EnumVerticalAlign.FixedOffset
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.RichTextComponentBase.PaddingRight">
            <summary>
            Padding that is used when a richtextcomponent came before and needs some left spacing to it. Unscaled value
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.RichTextComponentBase.PaddingLeft">
            <summary>
            Unscaled value
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.RichTextComponentBase.Float">
            <summary>
            When left or right, then this element can span over multiple text lines
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.RichTextComponentBase.ComposeElements(Cairo.Context,Cairo.ImageSurface)">
            <summary>
            Composes the element.
            </summary>
            <param name="ctx"></param>
            <param name="surface"></param>
        </member>
        <member name="M:Vintagestory.API.Client.RichTextComponentBase.RenderInteractiveElements(System.Single,System.Double,System.Double,System.Double)">
            <summary>
            Renders the text component.
            </summary>
            <param name="deltaTime"></param>
            <param name="renderX"></param>
            <param name="renderY"></param>
            <param name="renderZ"></param>
        </member>
        <member name="M:Vintagestory.API.Client.RichTextComponentBase.CalcBounds(Vintagestory.API.Client.TextFlowPath[],System.Double,System.Double,System.Double,System.Double@)">
            <summary>
            Initializes the size and stuff. Return true if you had to enter the next line
            </summary>
            <param name="flowPath"></param>
            <param name="currentLineHeight"></param>
            <param name="offsetX"></param>
            <param name="lineY"></param>
            <param name="nextOffsetX"></param>
            <returns>A</returns>
        </member>
        <member name="T:Vintagestory.API.Client.SlideshowGridRecipeTextComponent">
            <summary>
            Draws multiple ItemStack
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.SlideshowGridRecipeTextComponent.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Common.GridRecipe[],System.Double,Vintagestory.API.Client.EnumFloat,System.Action{Vintagestory.API.Common.ItemStack},Vintagestory.API.Common.ItemStack[])">
            <summary>
            Flips through given array of grid recipes every second
            </summary>
            <param name="api"></param>
            <param name="gridRecipes"></param>
            <param name="size"></param>
            <param name="floatType"></param>
            <param name="onStackClicked"></param>
            <param name="allStacks">If set, will resolve wildcards based on this list, otherwise will search all available blocks/items</param>
        </member>
        <member name="T:Vintagestory.API.Client.SlideshowItemstackTextComponent">
            <summary>
            Draws multiple itemstacks
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.SlideshowItemstackTextComponent.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Common.ItemStack[],System.Double,Vintagestory.API.Client.EnumFloat,System.Action{Vintagestory.API.Common.ItemStack})">
            <summary>
            Flips through given array of item stacks every second
            </summary>
            <param name="capi"></param>
            <param name="itemstacks"></param>
            <param name="unscaledSize"></param>
            <param name="floatType"></param>
            <param name="onStackClicked"></param>
        </member>
        <member name="M:Vintagestory.API.Client.SlideshowItemstackTextComponent.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Common.ItemStack,System.Collections.Generic.List{Vintagestory.API.Common.ItemStack},System.Double,Vintagestory.API.Client.EnumFloat,System.String,System.Action{Vintagestory.API.Common.ItemStack})">
            <summary>
            Looks at the collectibles handbook groupBy attribute and makes a list of itemstacks from that
            </summary>
            <param name="capi"></param>
            <param name="itemstackgroup"></param>
            <param name="allstacks"></param>
            <param name="unscaleSize"></param>
            <param name="floatType"></param>
            <param name="groupByCode"></param>
            <param name="onStackClicked"></param>
        </member>
        <member name="M:Vintagestory.API.Client.LinkTextComponent.#ctor(System.String)">
            <summary>
            Create a dummy link text component for use with triggering link protocols through code. Not usable for anything gui related (it'll crash if you try)
            </summary>
            <param name="href"></param>
        </member>
        <member name="M:Vintagestory.API.Client.LinkTextComponent.#ctor(Vintagestory.API.Client.ICoreClientAPI,System.String,Vintagestory.API.Client.CairoFont,System.Action{Vintagestory.API.Client.LinkTextComponent})">
            <summary>
            A text component with an embedded link.
            </summary>
            <param name="api"></param>
            <param name="displayText">The text of the Text.</param>
            <param name="font"></param>
            <param name="onLinkClicked"></param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementClip.#ctor(Vintagestory.API.Client.ICoreClientAPI,System.Boolean,Vintagestory.API.Client.ElementBounds)">
            <summary>
            Adds a clipped area to the GUI.
            </summary>
            <param name="capi">The Client API</param>
            <param name="clip">Do we clip?</param>
            <param name="bounds">The bounds of the element.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementClipHelpler.BeginClip(Vintagestory.API.Client.GuiComposer,Vintagestory.API.Client.ElementBounds)">
            <summary>
            Add a clip area. This selects an area to be rendered, where anything outside will be invisible. Useful for scrollable content. Can be called multiple times, to reduce the render area further, but needs an equal amount of calls to EndClip()
            </summary>
            <param name="composer"></param>
            <param name="bounds">The bounds of the object.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementClipHelpler.EndClip(Vintagestory.API.Client.GuiComposer)">
            <summary>
            Remove a previously added clip area.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementCustomRender.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.ElementBounds,Vintagestory.API.Client.RenderDelegateWithBounds)">
            <summary>
            Adds a custom drawing element to the GUI
            </summary>
            <param name="capi">The Client API</param>
            <param name="bounds">The bounds of the Element</param>
            <param name="onRender">The event fired when the object is drawn.</param>
        </member>
        <member name="F:Vintagestory.API.Client.GuiElementMainMenuCell.cellEntry">
            <summary>
            The table cell information.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementMainMenuCell.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.SavegameCellEntry,Vintagestory.API.Client.ElementBounds)">
            <summary>
            Creates a new Element Cell.  A container for TableCells.
            </summary>
            <param name="capi">The Client API</param>
            <param name="cell">The base cell</param>
            <param name="bounds">The bounds of the TableCell</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementMainMenuCell.UpdateCellHeight">
            <summary>
            Updates the height of the cell based off the contents.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementMainMenuCell.OnRenderInteractiveElements(Vintagestory.API.Client.ICoreClientAPI,System.Single)">
            <summary>
            Renders the main menu cell
            </summary>
            <param name="api"></param>
            <param name="deltaTime"></param>
        </member>
        <member name="F:Vintagestory.API.Client.SavegameCellEntry.Title">
            <summary>
            The title of the Table Cell.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SavegameCellEntry.DetailText">
            <summary>
            The details of the table cell.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SavegameCellEntry.RightTopText">
            <summary>
            The text displayed in the top right corner of the cell. 
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SavegameCellEntry.RightTopOffY">
            <summary>
            The y offset of the right top text
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SavegameCellEntry.LeftOffY">
            <summary>
            The y offset of the left title and detail text
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SavegameCellEntry.OnClick">
            <summary>
            The event fired when the tablecell is clicked.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SavegameCellEntry.TitleFont">
            <summary>
            The font of the cell title.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SavegameCellEntry.DetailTextFont">
            <summary>
            The font of the detail text.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SavegameCellEntry.DrawAsButton">
            <summary>
            
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.SavegameCellEntry.Enabled">
            <summary>
            Whether or not the cell is on.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementCustomDraw.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.ElementBounds,Vintagestory.API.Client.DrawDelegateWithBounds,System.Boolean)">
            <summary>
            Adds a custom drawing element to the GUI
            </summary>
            <param name="capi">The Client API</param>
            <param name="bounds">The bounds of the Element</param>
            <param name="OnDraw">The event fired when the object is drawn.</param>
            <param name="interactive">Whether or not the element is able to be interacted with (Default: false)</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementCustomDraw.Redraw">
            <summary>
            Redraws the element.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementDialogBackground.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.ElementBounds,System.Boolean,System.Double,System.Single)">
            <summary>
            Adds a Background to the Dialog.
            </summary>
            <param name="capi">The Client API</param>
            <param name="bounds">The bounds of the element.</param>
            <param name="withTitlebar">Minor style adjustments to accomodate title bar</param>
            <param name="strokeWidth">The top padding area of the GUI</param>
            <param name="alpha"></param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementEngravedText.#ctor(Vintagestory.API.Client.ICoreClientAPI,System.String,Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.ElementBounds,Vintagestory.API.Client.EnumTextOrientation)">
            <summary>
            Creates a new Engraved Text element.
            </summary>
            <param name="capi">The client API.</param>
            <param name="text">The text on the element.</param>
            <param name="font">The font of the text.</param>
            <param name="bounds">The bounds of the Text Element.</param>
            <param name="orientation">The orientation of the text.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementGameOverlay.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.ElementBounds,System.Double[])">
            <summary>
            Creates a new overlay element.
            </summary>
            <param name="capi">The client API.</param>
            <param name="bounds">The bounds of the element.</param>
            <param name="bgcolor">The background color of the element.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementGameOverlyHelper.AddGameOverlay(Vintagestory.API.Client.GuiComposer,Vintagestory.API.Client.ElementBounds,System.Double[])">
            <summary>
            Adds an overlay to the current GUI.
            </summary>
            <param name="composer"></param>
            <param name="bounds">The bounds of the overlay.</param>
            <param name="backgroundColor">The background color of the overlay.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementGrayBackground.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.ElementBounds)">
            <summary>
            Creates a new gray background.
            </summary>
            <param name="capi">The client API</param>
            <param name="bounds">The bouds of the GUI Element.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementGrayBackgroundHelpber.AddGrayBG(Vintagestory.API.Client.GuiComposer,Vintagestory.API.Client.ElementBounds)">
            <summary>
            Adds a gray background to the current GUI.
            </summary>
            <param name="composer"></param>
            <param name="bounds">The bounds of the backgrounds.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementImageBackground.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.ElementBounds,Vintagestory.API.Common.AssetLocation,System.Single,System.Single,System.Single)">
            <summary>
            Creates a new Image Background for the GUI.
            </summary>
            <param name="capi">The Client API</param>
            <param name="bounds">The bounds of the element.</param>
            <param name="textureLoc">The name of the texture.</param>
            <param name="brightness">The brightness of the texture. (Default: 1f)</param>
            <param name="alpha"></param>
            <param name="scale"></param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementImageBackgroundHelper.AddImageBG(Vintagestory.API.Client.GuiComposer,Vintagestory.API.Client.ElementBounds,Vintagestory.API.Common.AssetLocation,System.Single,System.Single,System.Single)">
            <summary>
            Adds a background to the current GUI
            </summary>
            <param name="composer"></param>
            <param name="bounds">The bounds of the background</param>
            <param name="textureLoc">The name of the background texture.</param>
            <param name="brightness">The brightness of the texture (default: 1f)</param>
            <param name="alpha"></param>
            <param name="scale"></param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementInset.#ctor(Vintagestory.API.Client.ICoreClientAPI,Vintagestory.API.Client.ElementBounds,System.Int32,System.Single)">
            <summary>
            Creates a new inset for the GUI.
            </summary>
            <param name="capi">The Client API</param>
            <param name="bounds">The bounds of the Element.</param>
            <param name="depth">The depth of the element.</param>
            <param name="brightness">The brightness of the inset.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementInsetHelper.AddInset(Vintagestory.API.Client.GuiComposer,Vintagestory.API.Client.ElementBounds,System.Int32,System.Single)">
            <summary>
            Adds an inset to the current GUI.
            </summary>
            <param name="composer"></param>
            <param name="bounds">The bounds of the inset.</param>
            <param name="depth">The depth of the inset.</param>
            <param name="brightness">The brightness of the inset.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementStaticText.#ctor(Vintagestory.API.Client.ICoreClientAPI,System.String,Vintagestory.API.Client.EnumTextOrientation,Vintagestory.API.Client.ElementBounds,Vintagestory.API.Client.CairoFont)">
            <summary>
            Creates a new GUIElementStaticText.
            </summary>
            <param name="capi">The Client API</param>
            <param name="text">The text of the Element</param>
            <param name="orientation">The orientation of the text.</param>
            <param name="bounds">The bounds of the element.</param>
            <param name="font">The font of the text.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementStaticText.AutoBoxSize(System.Boolean)">
            <summary>
            Resize element bounds so that the text fits in one line
            </summary>
            <param name="onlyGrow"></param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementStaticText.AutoFontSize(System.Boolean)">
            <summary>
            Resize the font so that the text fits in one line
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiElementTextBase.textPathMode">
            <summary>
            Whether or not the text path mode is active.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.GuiElementTextBase.Font">
            <summary>
            The font of the Text Element.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementTextBase.#ctor(Vintagestory.API.Client.ICoreClientAPI,System.String,Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.ElementBounds)">
            <summary>
            Creates a new text based element.
            </summary>
            <param name="capi">The Client API</param>
            <param name="text">The text of this element.</param>
            <param name="font">The font of the text.</param>
            <param name="bounds">The bounds of the element.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementTextBase.DrawTextLineAt(Cairo.Context,System.String,System.Double,System.Double,System.Boolean)">
            <summary>
            Draws the line of text on a component.
            </summary>
            <param name="ctx">The context of the text</param>
            <param name="text">The text of the text.</param>
            <param name="posX">The X Position of the text.</param>
            <param name="posY">The Y position of the text.</param>
            <param name="textPathMode">The pathing mode.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiElementTextBase.GetText">
            <summary>
            Gets the text on the element.
            </summary>
            <returns>The text of the element.</returns>
        </member>
        <member name="F:Vintagestory.API.Client.FontConfig.UnscaledFontsize">
            <summary>
            The size of the font before scaling is applied.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.FontConfig.Fontname">
            <summary>
            The name of the font.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.FontConfig.FontWeight">
            <summary>
            The weight of the font.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.FontConfig.Color">
            <summary>
            The color of the font.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.FontConfig.StrokeColor">
            <summary>
            The color of the font outline.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.FontConfig.StrokeWidth">
            <summary>
            The thickness of the outline.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Client.GuiComposer">
            <summary>
            Composes a dialog which are made from a set of elements
            The composed dialog is cached, so to recompose you have to Recompose All elements or instantiate a new composer with doCache set to false
            The caching allows the dialog using the composer to not worry about performance and just call compose whenever it has to display a new composed dialog
            You add components by chaining the functions of the composer together for building the result.
            </summary>
        </member>
        <member name="E:Vintagestory.API.Client.GuiComposer.OnComposed">
            <summary>
            Triggered when the gui scale changed or the game window was resized
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiComposer.CurrentElementKey">
            <summary>
            A unique number assigned to each element
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiComposer.Item(System.String)">
            <summary>
            Retrieve gui element by key. Returns null if not found.
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="F:Vintagestory.API.Client.GuiComposer.Tabbable">
            <summary>
            Whether or not the Tab-Key down event should be used and consumed to cycle-focus individual gui elements
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposer.CreateEmpty(Vintagestory.API.Client.ICoreClientAPI)">
            <summary>
            Creates an empty GuiComposer.
            </summary>
            <param name="api">The Client API</param>
            <returns>An empty GuiComposer.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposer.PremultipliedAlpha(System.Boolean)">
            <summary>
            On by default, is passed on to the gui elements as well. Disabling it means has a performance impact. Recommeded to leave enabled, but may need to be disabled to smoothly alpha blend text elements. Must be called before adding elements and before composing.
            Notice! Most gui elements even yet support non-premul alpha mode
            </summary>
            <param name="enable"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposer.AddIf(System.Boolean)">
            <summary>
            Adds a condition for adding a group of items to the GUI- eg: if you have a crucible in the firepit, add those extra slots.  Should always pair with an EndIf()
            </summary>
            <param name="condition">When the following slots should be added</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposer.EndIf">
            <summary>
            End of the AddIf block.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposer.Execute(System.Action)">
            <summary>
            Runs given method
            </summary>
            <param name="method"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposer.BeginChildElements(Vintagestory.API.Client.ElementBounds)">
            <summary>
            Starts a set of child elements.
            </summary>
            <param name="bounds">The bounds for the child elements.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposer.BeginChildElements">
            <summary>
            Starts a set of child elements.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposer.EndChildElements">
            <summary>
            End of the current set of child elements.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposer.OnlyDynamic">
            <summary>
            Sets the render to Dynamic components only
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposer.ReCompose">
            <summary>
            Rebuilds the Composed GUI.  
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiComposer.CurrentTabIndexElement">
            <summary>
            Gets the currently tabbed index element, if there is one currently focused.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Client.GuiComposer.MaxTabIndex">
            <summary>
            Gets the maximum tab index of the components.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposer.FocusElement(System.Int32)">
            <summary>
            marks an element as in focus.  
            </summary>
            <param name="tabIndex">The tab index to focus at.</param>
            <returns>Whether or not the focus could be done.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposer.UnfocusOwnElements">
            <summary>
            Unfocuses the elements within this GUI composer.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposer.UnfocusOwnElementsExcept(Vintagestory.API.Client.GuiElement)">
            <summary>
            Unfocuses all elements except one specific element.
            </summary>
            <param name="elem">The element to remain in focus.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposer.Compose(System.Boolean)">
            <summary>
            Tells the composer to compose the gui.
            </summary>
            <param name="focusFirstElement">Whether or not to put the first element in focus.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposer.OnMouseUp(Vintagestory.API.Client.MouseEvent)">
            <summary>
            Fires the OnMouseUp events.
            </summary>
            <param name="mouse">The mouse information.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposer.OnMouseDown(Vintagestory.API.Client.MouseEvent)">
            <summary>
            Fires the OnMouseDown events.
            </summary>
            <param name="mouseArgs">The mouse information.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposer.OnMouseMove(Vintagestory.API.Client.MouseEvent)">
            <summary>
            Fires the OnMouseMove events.
            </summary>
            <param name="mouse">The mouse information.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposer.OnMouseWheel(Vintagestory.API.Client.MouseWheelEventArgs)">
            <summary>
            Fires the OnMouseWheel events.
            </summary>
            <param name="mouse">The mouse wheel information.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposer.OnKeyDown(Vintagestory.API.Client.KeyEvent,System.Boolean)">
            <summary>
            Fires the OnKeyDown events.
            </summary>
            <param name="args">The keyboard information.</param>
            <param name="haveFocus">Whether or not the gui has focus.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposer.OnKeyUp(Vintagestory.API.Client.KeyEvent)">
            <summary>
            Fires the OnKeyDown events.
            </summary>
            <param name="args">The keyboard information.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposer.OnKeyPress(Vintagestory.API.Client.KeyEvent)">
            <summary>
            Fires the OnKeyPress event.
            </summary>
            <param name="args">The keyboard information</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposer.PostRender(System.Single)">
            <summary>
            Fires the PostRender event.
            </summary>
            <param name="deltaTime">The change in time.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposer.Render(System.Single)">
            <summary>
            Fires the render event.
            </summary>
            <param name="deltaTime">The change in time.</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposer.AddInteractiveElement(Vintagestory.API.Client.GuiElement,System.String)">
            <summary>
            Adds an interactive element to the composer.
            </summary>
            <param name="element">The element to add.</param>
            <param name="key">The name of the element. (default: null)</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposer.AddStaticElement(Vintagestory.API.Client.GuiElement,System.String)">
            <summary>
            Adds a static element to the composer.
            </summary>
            <param name="element">The element to add.</param>
            <param name="key">The name of the element (default: null)</param>
        </member>
        <member name="M:Vintagestory.API.Client.GuiComposer.GetElement(System.String)">
            <summary>
            Gets the element by name.
            </summary>
            <param name="key">The name of the element to get.</param>
        </member>
        <member name="T:Vintagestory.API.Client.HudElement">
            <summary>
            Base class for Hud Elements.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.HudElement.#ctor(Vintagestory.API.Client.ICoreClientAPI)">
            <summary>
            Creates a new Hud Element.
            </summary>
            <param name="capi">The Client API</param>
        </member>
        <member name="M:Vintagestory.API.Client.IconUtil.#ctor(Vintagestory.API.Client.ICoreClientAPI)">
            <summary>
            Creates a new IconUtil instance.
            </summary>
            <param name="capi">The Client API.</param>
        </member>
        <member name="M:Vintagestory.API.Client.IconUtil.GenTexture(System.Int32,System.Int32,Vintagestory.API.Client.DrawDelegate)">
            <summary>
            Generates the texture.  
            </summary>
            <param name="width">The width of the drawing</param>
            <param name="height">The height of the drawing.</param>
            <param name="drawHandler">A delegate which handles the drawing.</param>
            <returns>The resulting built texture.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.IconUtil.DrawIcon(Cairo.Context,System.String,System.Double,System.Double,System.Double,System.Double,System.Double[])">
            <summary>
            Draws the icon.
            </summary>
            <param name="cr">The context.</param>
            <param name="type">The type to draw</param>
            <param name="x">X position of the Icon.</param>
            <param name="y">Y position of the Icon.</param>
            <param name="width">Width of the Icon.</param>
            <param name="height">Height of the Icon.</param>
            <param name="rgba">The color of the icon.</param>
        </member>
        <member name="M:Vintagestory.API.Client.IconUtil.DrawIconInt(Cairo.Context,System.String,System.Int32,System.Int32,System.Single,System.Single,System.Double[])">
            <summary>
            Draws the icon.
            </summary>
            <param name="cr">The context.</param>
            <param name="type">The type of icon to draw</param>
            <param name="x">X position of the Icon.</param>
            <param name="y">Y position of the Icon.</param>
            <param name="width">Width of the Icon.</param>
            <param name="height">Height of the Icon.</param>
            <param name="rgba">The color of the icon.</param>
        </member>
        <member name="M:Vintagestory.API.Client.IconUtil.DrawConnectionQuality(Cairo.Context,System.Double,System.Double,System.Int32,System.Double)">
            <summary>
            Draws 5 vertical bars of increasing size and Quality amount of them green
            </summary>
            <param name="ctx"></param>
            <param name="x"></param>
            <param name="y"></param>
            <param name="quality"></param>
            <param name="size"></param>
        </member>
        <member name="T:Vintagestory.API.Client.ItemRenderInfo">
            <summary>
            Holds information on how a collectible should be rendered in hands, on the ground or in gui.
            In collectible.OnBeforeRender() the values are prefilled with the default ones.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.ItemRenderInfo.ModelRef">
            <summary>
            The model to be rendered
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.ItemRenderInfo.Transform">
            <summary>
            The transform to be applied when rendered
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.ItemRenderInfo.CullFaces">
            <summary>
            Wether or not to cull back faces
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.ItemRenderInfo.TextureId">
            <summary>
            The texture to be used when rendering. Should probalby be the texture id of the block or item texture atlas
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.ItemRenderInfo.AlphaTest">
            <summary>
            For discarding fragments with alpha value below this threshold
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.ItemRenderInfo.HalfTransparent">
            <summary>
            (Currently) not used.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.ItemRenderInfo.InSlot">
            <summary>
            The slot the stack is currently in
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.JsonDialogSettings.OnSet">
            <summary>
            Called whenever the value of a input field has changed
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.JsonDialogSettings.OnGet">
            <summary>
            Called when the dialog is opened the first time or when dialog.ReloadValues() is called. Should return the values the input fields should be set to
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.JsonDialogSettings.ToBytes(System.IO.BinaryWriter)">
            <summary>
            Writes the content to the writer.
            </summary>
            <param name="writer">The writer to fill with data.</param>
        </member>
        <member name="M:Vintagestory.API.Client.JsonDialogSettings.FromBytes(System.IO.BinaryReader)">
            <summary>
            Reads the content to the dialog.
            </summary>
            <param name="reader">The reader to read from.</param>
        </member>
        <member name="F:Vintagestory.API.Client.DialogElement.Param">
            <summary>
            To hold generic data
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.TextBackground.HorPadding">
            <summary>
            The padding around the text.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.TextBackground.Radius">
            <summary>
            The radius of the text.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.TextBackground.FillColor">
            <summary>
            The fill color of the background
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.TextBackground.BorderColor">
            <summary>
            The stroke color of the border
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.TextBackground.BorderWidth">
            <summary>
            The thickness of the border
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.TextBackground.Shade">
            <summary>
            Adds a blur to the background
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumLinebreakBehavior.Default">
            <summary>
            Language specific default setting
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumLinebreakBehavior.AfterWord">
            <summary>
            After every word
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumLinebreakBehavior.AfterCharacter">
            <summary>
            After any character
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.EnumLinebreakBehavior.None">
            <summary>
            Do not auto-line break, only explicitly after \n
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.TextLine.Text">
            <summary>
            The text of the text line.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Client.TextLine.Bounds">
            <summary>
            The bounds of the line of text.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Client.TextDrawUtil.AutobreakAndDrawMultilineText(Cairo.Context,Vintagestory.API.Client.CairoFont,System.String,System.Double,Vintagestory.API.Client.EnumTextOrientation)">
            <summary>
            Use Matrix transformation to move the draw position
            </summary>
            <param name="ctx">The context of the text.</param>
            <param name="font">The font of the text.</param>
            <param name="text">The text itself.</param>
            <param name="boxWidth">The width of the box containing the text.</param>
            <param name="orientation">The orientation of the text.</param>
        </member>
        <member name="M:Vintagestory.API.Client.TextDrawUtil.AutobreakAndDrawMultilineTextAt(Cairo.Context,Vintagestory.API.Client.CairoFont,System.String,System.Double,System.Double,System.Double,Vintagestory.API.Client.EnumTextOrientation)">
            <summary>
            Draws the text with matrix transformations.
            </summary>
            <param name="ctx">The context of the text.</param>
            <param name="font">The font of the text.</param>
            <param name="text">The text itself.</param>
            <param name="posX">The X position of the text.</param>
            <param name="posY">The Y position of the text.</param>
            <param name="boxWidth">The width of the box containing the text.</param>
            <param name="orientation">The orientation of the text.</param>
            <returns>The new height of the text.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.TextDrawUtil.DrawMultilineTextAt(Cairo.Context,Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.TextLine[],System.Double,System.Double,System.Double,Vintagestory.API.Client.EnumTextOrientation)">
            <summary>
            Draws the text with pre-set breaks.
            </summary>
            <param name="ctx">The context of the text.</param>
            <param name="font">The font of the text.</param>
            <param name="lines">The lines of text.</param>
            <param name="posX">The X position of the text.</param>
            <param name="posY">The Y position of the text.</param>
            <param name="boxWidth">The width of the box containing the text.</param>
            <param name="orientation">The orientation of the text.</param>
        </member>
        <member name="M:Vintagestory.API.Client.TextDrawUtil.GetLineHeight(Vintagestory.API.Client.CairoFont)">
            <summary>
            Gets the height of the font to calculate the height of the line.
            </summary>
            <param name="font">The font to calculate from.</param>
            <returns>The height of the line.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.TextDrawUtil.GetQuantityTextLines(Vintagestory.API.Client.CairoFont,System.String,Vintagestory.API.Client.EnumLinebreakBehavior,Vintagestory.API.Client.TextFlowPath[],System.Double)">
            <summary>
            Gets the number of lines of text.
            </summary>
            <param name="font">The font of the text.</param>
            <param name="text">The text itself.</param>
            <param name="linebreak"></param>
            <param name="flowPath">The path for the text.</param>
            <param name="lineY">The height of the line</param>
            <returns>The number of lines.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.TextDrawUtil.GetMultilineTextHeight(Vintagestory.API.Client.CairoFont,System.String,Vintagestory.API.Client.EnumLinebreakBehavior,Vintagestory.API.Client.TextFlowPath[],System.Double)">
            <summary>
            Get the final height of the text.
            </summary>
            <param name="font">The font of the text.</param>
            <param name="text">The text itself.</param>
            <param name="linebreak"></param>
            <param name="flowPath">The path for the text.</param>
            <param name="lineY">The height of the line</param>
            <returns>The final height of the text.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.TextDrawUtil.Lineize(Vintagestory.API.Client.CairoFont,System.String,Vintagestory.API.Client.EnumLinebreakBehavior,Vintagestory.API.Client.TextFlowPath[],System.Double,System.Double,System.Boolean)">
            <summary>
            Turns the supplied text into line of text constrained by supplied flow path and starting at supplied start coordinates
            </summary>
            <param name="font">The font of the text.</param>
            <param name="fulltext">The text of the lines.</param>
            <param name="linebreak"></param>
            <param name="flowPath">The flow direction of text.</param>
            <param name="startOffsetX">The offset start position for X</param>
            <param name="startY">The offset start position for Y</param>
            <param name="keepLinebreakChar"></param>
            <returns>The text broken up into lines.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.TextDrawUtil.Lineize(Cairo.Context,System.String,Vintagestory.API.Client.EnumLinebreakBehavior,Vintagestory.API.Client.TextFlowPath[],System.Double,System.Double,System.Double,System.Boolean)">
            <summary>
            Turns the supplied text into line of text constrained by supplied flow path and starting at supplied start coordinates
            </summary>
            <param name="ctx">Contexts of the GUI.</param>
            <param name="text">The text to be split</param>
            <param name="linebreak"></param>
            <param name="flowPath">Sets the general flow of text.</param>
            <param name="startOffsetX">The offset start position for X</param>
            <param name="startY">The offset start position for Y</param>
            <param name="lineHeightMultiplier"></param>
            <param name="keepLinebreakChar"></param>
            <returns>The text broken up into lines.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.TextDrawUtil.DrawMultilineText(Cairo.Context,Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.TextLine[],Vintagestory.API.Client.EnumTextOrientation)">
            <summary>
            lineX is set to 0 after the second line, lineY is advanced by line height for each line
            </summary>
            <param name="ctx">The context of the text.</param>
            <param name="lines">The preformatted lines of the text.</param>
            <param name="font">The font of the text</param>
            <param name="orientation">The orientation of text (Default: Left)</param>
        </member>
        <member name="M:Vintagestory.API.Client.TextDrawUtil.DrawTextLine(Cairo.Context,Vintagestory.API.Client.CairoFont,System.String,System.Double,System.Double,System.Boolean)">
            <summary>
            Draws a line of text on the screen.
            </summary>
            <param name="ctx">The context of the text.</param>
            <param name="font">The font of the text.</param>
            <param name="text">The text to draw.</param>
            <param name="offsetX">The X offset for the text start position. (Default: 0)</param>
            <param name="offsetY">The Y offset for the text start position. (Default: 0)</param>
            <param name="textPathMode">Whether or not to use TextPathMode.</param>
        </member>
        <member name="M:Vintagestory.API.Client.TextTextureUtil.#ctor(Vintagestory.API.Client.ICoreClientAPI)">
            <summary>
            Text Texture Util constructor.
            </summary>
            <param name="capi">The Client API.</param>
        </member>
        <member name="M:Vintagestory.API.Client.TextTextureUtil.GenTextTexture(System.String,Vintagestory.API.Client.CairoFont,System.Int32,System.Int32,Vintagestory.API.Client.TextBackground,Vintagestory.API.Client.EnumTextOrientation,System.Boolean)">
            <summary>
            Takes a string of text and applies a texture to it.
            </summary>
            <param name="text">The text to texture.</param>
            <param name="font">The font of the text.</param>
            <param name="width">The width of the text.</param>
            <param name="height">The height of the text.</param>
            <param name="background">The background of the text. (default: none/null)</param>
            <param name="orientation">The orientation of the text. (default: left)</param>
            <param name="demulAlpha"></param>
            <returns>The texturized text.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.TextTextureUtil.GenOrUpdateTextTexture(System.String,Vintagestory.API.Client.CairoFont,System.Int32,System.Int32,Vintagestory.API.Client.LoadedTexture@,Vintagestory.API.Client.TextBackground,Vintagestory.API.Client.EnumTextOrientation,System.Boolean)">
            <summary>
            Takes a texture and applies some text to it.
            </summary>
            <param name="text">The text to texture.</param>
            <param name="font">The font of the text.</param>
            <param name="width">The width of the text.</param>
            <param name="height">The height of the text.</param>
            <param name="loadedTexture">The texture to be loaded on to.</param>
            <param name="background">The background of the text. (default: none/null)</param>
            <param name="orientation">The orientation of the text. (default: left)</param>
            <param name="demulAlpha"></param>
        </member>
        <member name="M:Vintagestory.API.Client.TextTextureUtil.GenTextTexture(System.String,Vintagestory.API.Client.CairoFont,System.Int32,System.Int32,Vintagestory.API.Client.TextBackground)">
            <summary>
            Takes a string of text and applies a texture to it.
            </summary>
            <param name="text">The text to texture.</param>
            <param name="font">The font of the text.</param>
            <param name="width">The width of the text.</param>
            <param name="height">The height of the text.</param>
            <param name="background">The background of the text. (default: none/null)</param>
            <returns>The texturized text.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.TextTextureUtil.GenTextTexture(System.String,Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.TextBackground)">
            <summary>
            Takes a string of text and applies a texture to it.
            </summary>
            <param name="text">The text to texture.</param>
            <param name="font">The font of the text.</param>
            <param name="background">The background of the text. (default: none/null)</param>
            <returns>The texturized text.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.TextTextureUtil.GenOrUpdateTextTexture(System.String,Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.LoadedTexture@,Vintagestory.API.Client.TextBackground)">
            <summary>
            Takes a texture and applies some text to it.
            </summary>
            <param name="text">The text to texture.</param>
            <param name="font">The font of the text.</param>
            <param name="loadedTexture">The texture to be loaded on to.</param>
            <param name="background">The background of the text. (default: none/null)</param>
        </member>
        <member name="M:Vintagestory.API.Client.TextTextureUtil.GenUnscaledTextTexture(System.String,Vintagestory.API.Client.CairoFont,Vintagestory.API.Client.TextBackground)">
            <summary>
            Generates an unscaled text texture.
            </summary>
            <param name="text">The text to texture.</param>
            <param name="font">The font of the text.</param>
            <param name="background">The background of the text (Default: none/null)</param>
            <returns>The loaded unscaled texture.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.TextTextureUtil.GenTextTexture(System.String,Vintagestory.API.Client.CairoFont,System.Int32,Vintagestory.API.Client.TextBackground,Vintagestory.API.Client.EnumTextOrientation)">
            <summary>
            Takes a string of text and applies a texture to it.
            </summary>
            <param name="text">The text to texture.</param>
            <param name="font">The font of the text.</param>
            <param name="maxWidth">The maximum width of the text.</param>
            <param name="background">The background of the text. (default: none/null)</param>
            <param name="orientation">The orientation of the text. (default: left)</param>
            <returns>The texturized text.</returns>
        </member>
        <member name="M:Vintagestory.API.Client.Matrixf.TransformVector(Vintagestory.API.MathTools.Vec4f)">
            <summary>
            Vectors with w==0 are called vectors and with w==1 are called points
            </summary>
            <param name="vec"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Client.Matrixf.TransformVector(Vintagestory.API.MathTools.Vec4d)">
            <summary>
            Vectors with w==0 are called vectors and with w==1 are called points
            </summary>
            <param name="vec"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Util.ArrayExtensions.Remove``1(``0[],``0)">
            <summary>
            Creates a new copy of the array with <paramref name="value"/> removed
            </summary>
            <typeparam name="T"></typeparam>
            <param name="array"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Util.ArrayExtensions.RemoveAt``1(``0[],System.Int32)">
            <summary>
            Creates a new copy of array with element at index removed
            </summary>
            <typeparam name="T"></typeparam>
            <param name="array"></param>
            <param name="index"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Util.ArrayExtensions.Append``1(``0[],``0)">
            <summary>
            Creates a new copy of the array with <paramref name="value"/> appened to the end of the array
            </summary>
            <typeparam name="T"></typeparam>
            <param name="array"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Util.ArrayExtensions.InsertAt``1(``0[],``0,System.Int32)">
            <summary>
            Creates a new copy of the array with <paramref name="value"/> inserted at the given index
            </summary>
            <typeparam name="T"></typeparam>
            <param name="array"></param>
            <param name="value"></param>
            <param name="index"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Util.ArrayExtensions.Append``1(``0[],``0[])">
            <summary>
            Creates a new copy of the array with <paramref name="value"/> appended to the end of the array
            </summary>
            <typeparam name="T"></typeparam>
            <param name="array"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Util.ArrayExtensions.Append``1(``0[],System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Creates a new copy of the array with <paramref name="values"/> appended to the end of the array
            </summary>
            <typeparam name="T"></typeparam>
            <param name="array"></param>
            <param name="values"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Util.ArrayExtensions.Shuffle``1(``0[],System.Random)">
            <summary>
            Performs a Fisher-Yates shuffle in linear time or O(n)
            </summary>
            <typeparam name="T"></typeparam>
            <param name="rand"></param>
            <param name="array"></param>
        </member>
        <member name="M:Vintagestory.API.Util.ArrayExtensions.Shuffle``1(``0[],Vintagestory.API.MathTools.LCGRandom)">
            <summary>
            Performs a Fisher-Yates shuffle in linear time or O(n)
            </summary>
            <typeparam name="T"></typeparam>
            <param name="rand"></param>
            <param name="array"></param>
        </member>
        <member name="T:Vintagestory.API.Util.AsyncHelper">
            <summary>
            A class to provide general helper functions for multi-threaded (asynchronous) operations
            </summary>
        </member>
        <member name="M:Vintagestory.API.Util.AsyncHelper.CanProceedOnThisThread(System.Int32@)">
            <summary>
            For situations where a task should proceed only if another thread is not already working on the same task on the same object.  For example, a main thread and a worker thread both iterating through a list of objects to process, this will ensure each object is processed exactly once.
            <br/>Both threads should call this method before proceeding to do the task, both using an int field in each object to mark when the work has started.
            <br/><br/>Optionally, the referenced field can be a volatile int.  It is not necessary for it to be volatile for correct Interlocked operation, but it can be a good idea if the value will be set or read elsewhere in the calling code.
            </summary>
            <param name="started">Pass by reference.  <br/>If this is volatile, it is safe to ignore the compiler warning "a reference to a volatile field will not be treated as volatile"</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Util.DictExtensions.AddRange``2(System.Collections.Generic.IDictionary{``0,``1},System.Collections.Generic.IDictionary{``0,``1})">
            <summary>
            Add several elements to dict
            </summary>
            <typeparam name="K"></typeparam>
            <typeparam name="V"></typeparam>
            <param name="dict"></param>
            <param name="elems"></param>
        </member>
        <member name="M:Vintagestory.API.Util.DictExtensions.Get``2(System.Collections.Generic.IDictionary{``0,``1},``0,``1)">
            <summary>
            Get value or defaultValue if key does not exists
            </summary>
            <typeparam name="K"></typeparam>
            <typeparam name="V"></typeparam>
            <param name="dict"></param>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Util.FastSerializer">
            <summary>
            A faster implementation of a ProtoBuf serializer.
            <br/>Note 1: for int and ushort and other primitives/structs, the default value of 0 will not be written (because the read value will be 0 anyhow, so not writing the 0 value makes no difference to what the reader eventually reads): except in arrays and other simple collections such as List, where 0 values will be written, so that the reader reads out all subsequent values in the array with the correct indexing
            <br/>Note 2: for reference types including string, if the value is null then nothing will be written.  A read collection may therefore be shorter than the written collection, if the written collection included null values: be careful serializing arrays of reference types, if necessary replace null values with something else prior to serialization.  For convenience, one special exception here is arrays or lists of string: if a null string is in the array, FastSerializer will instead automatically write an empty string "". (We don't do that for other reference types because it is not necessarily clear what the default non-null value should be....)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Util.FastSerializer.Write(Vintagestory.API.Datastructures.FastMemoryStream,System.Int32,System.Collections.Generic.IEnumerable{System.Single})">
            <summary>
            This one always writes packed, make sure to specify IsPacked=true in the ProtoMember header
            </summary>
            <param name="stream"></param>
            <param name="field"></param>
            <param name="collection"></param>
        </member>
        <member name="M:Vintagestory.API.Util.FastSerializer.Write(Vintagestory.API.Datastructures.FastMemoryStream,System.Int64)">
            <summary>
            For long values
            </summary>
            <param name="stream"></param>
            <param name="val"></param>
        </member>
        <member name="T:Vintagestory.API.Util.IWithFastSerialize">
            <summary>
            Detected by the VintagestorySourcegen source generator, which replaces this default FastSerialize method with a source-generated version
            </summary>
        </member>
        <member name="T:Vintagestory.API.Util.CustomFastSerializerAttribute">
            <summary>
            Indicates that the FastSerialize() method should call a custom method to serialize this field: the custom method being of the pattern FastSerializerDelegate
            </summary>
        </member>
        <member name="M:Vintagestory.API.Util.ListExtensions.Shuffle``1(System.Collections.Generic.List{``0},System.Random)">
            <summary>
            Performs a Fisher-Yates shuffle in linear time or O(n)
            </summary>
            <typeparam name="T"></typeparam>
            <param name="rand"></param>
            <param name="array"></param>
        </member>
        <member name="M:Vintagestory.API.Util.ListExtensions.Shuffle``1(System.Collections.Generic.List{``0},Vintagestory.API.MathTools.IRandom)">
            <summary>
            Performs a Fisher-Yates shuffle in linear time or O(n)
            </summary>
            <typeparam name="T"></typeparam>
            <param name="rand"></param>
            <param name="array"></param>
        </member>
        <member name="M:Vintagestory.API.Util.NetUtil.getUriInfo(System.String,System.String@)">
            <summary>
            Extracts hostname, port and password from given uri. Error will be non null if the uri is incorrect in some ways
            </summary>
            <param name="uri"></param>
            <param name="error"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Util.SerializerUtil.Serialize``1(``0)">
            <summary>
            Uses ProtoBuf.NET to serialize T into bytes
            </summary>
            <typeparam name="T"></typeparam>
            <param name="data"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Util.SerializerUtil.Serialize``1(``0,Vintagestory.API.Datastructures.FastMemoryStream)">
            <summary>
            For performance, version using a reusable FastMemoryStream provided as a parameter.
            <br/>(Caution: do not re-use the same stream in a nested way e.g. serializing individual elements within a larger object, as every call to this resets the stream)
            </summary>
            <typeparam name="T"></typeparam>
            <param name="data"></param>
            <param name="ms"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Util.SerializerUtil.Deserialize``1(System.Byte[])">
            <summary>
            Uses ProtoBuf.Net to deserialize bytes into T
            </summary>
            <typeparam name="T"></typeparam>
            <param name="data"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Util.SerializerUtil.DeserializeInto``1(``0,System.Byte[])">
            <summary>
            Uses ProtoBuf.Net to deserialize bytes into existing object T
            </summary>
            <typeparam name="T"></typeparam>
            <param name="instance"></param>
            <param name="data"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Util.SerializerUtil.Deserialize``1(System.Byte[],``0)">
            <summary>
            Uses ProtoBuf.Net to deserialize bytes into T. Returns the default value if data is null
            </summary>
            <typeparam name="T"></typeparam>
            <param name="data"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Util.StringBuilderExtensions.AppendHex(System.Text.StringBuilder,System.Byte)">
            <summary>
            Prints a single byte in hexadecimal.  Potentially useful for logging issues relating to serialization, packets contents, etc
            </summary>
            <param name="sb"></param>
            <param name="b"></param>
        </member>
        <member name="M:Vintagestory.API.Util.StringBuilderExtensions.AppendHex(System.Text.StringBuilder,System.Byte[])">
            <summary>
            Prints a byte array in hexadecimal.  Potentially useful for logging issues relating to serialization, packets contents, etc
            </summary>
            <param name="sb"></param>
            <param name="bb"></param>
        </member>
        <member name="M:Vintagestory.API.Util.StringUtil.IndexOfOrdinal(System.String,System.String)">
            <summary>
            IMPORTANT!   This method should be used for every IndexOf operation in our code (except possibly in localised output to the user). This is important in order to avoid any
            culture-specific different results even when indexing GLSL shader code or other code strings, etc., or other strings in English, when the current culture is a different language
            (Known issue in the Thai language which has no spaces and treats punctuation marks as invisible, see https://github.com/dotnet/runtime/issues/59120)
            <br/>See also: https://learn.microsoft.com/en-us/dotnet/standard/base-types/best-practices-strings
            </summary>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Util.StringUtil.StartsWithOrdinal(System.String,System.String)">
            <summary>
            IMPORTANT!   This method should be used for every StartsWith operation in our code (except possibly in localised output to the user). This is important in order to avoid any
            culture-specific different results even when examining strings in English, when the user machine's current culture is a different language
            (Known issue in the Thai language which has no spaces and treats punctuation marks as invisible, see https://github.com/dotnet/runtime/issues/59120)
            <br/>See also: https://learn.microsoft.com/en-us/dotnet/standard/base-types/best-practices-strings
            </summary>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Util.StringUtil.EndsWithOrdinal(System.String,System.String)">
            <summary>
            IMPORTANT!   This method should be used for every EndsWith operation in our code (except possibly in localised output to the user). This is important in order to avoid any
            culture-specific different results even when examining strings in English, when the user machine's current culture is a different language
            (Known issue in the Thai language which has no spaces and treats punctuation marks as invisible, see https://github.com/dotnet/runtime/issues/59120)
            <br/>See also: https://learn.microsoft.com/en-us/dotnet/standard/base-types/best-practices-strings
            </summary>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Util.StringUtil.CompareOrdinal(System.String,System.String)">
            <summary>
            This should be used for every string comparison when ordering strings (except possibly in localised output to the user) in order to avoid any
            culture specific string comparison issues in certain languages (worst in the Thai language which has no spaces and treats punctuation marks as invisible)
            <br/>See also: https://learn.microsoft.com/en-us/dotnet/standard/base-types/best-practices-strings
            </summary>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Util.StringUtil.UcFirst(System.String)">
            <summary>
            Convert the first character to an uppercase one
            </summary>
            <param name="text"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Util.StringUtil.EqualsFastIgnoreCase(System.String,System.String)">
            <summary>
            A fast case-insensitive string comparison for "ordinal" culture i.e. plain ASCII comparison used for internal strings such as asset paths
            </summary>
            <param name="value"></param>
            <param name="reference"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Util.StringUtil.ToSearchFriendly(System.String)">
            <summary>
            Removes diacritics and replaces quotation marks, guillemets and brackets with a blank space. Used to create a search friendly term
            </summary>
            <param name="stIn"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Util.TagUtil.Intersects(System.UInt16[],System.UInt16[])">
            <summary>
            Checks if two sorted arrays of tags have a common element.
            </summary>
            <param name="first">Must be sorted in ascending order</param>
            <param name="second">Must be sorted in ascending order</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Util.TagUtil.ContainsAll(System.UInt16[],System.UInt16[])">
            <summary>
            Checks if all requirement tags are in the sample.
            </summary>
            <param name="requirement">Must be sorted in ascending order</param>
            <param name="sample">Must be sorted in ascending order</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Util.TagUtil.IntersectsAll(System.Collections.Generic.IEnumerable{System.UInt16[]},System.UInt16[])">
            <summary>
            Checks if sample has at least one tag from each requirement group.
            </summary>
            <param name="requirementGroups">Each group must be sorted in ascending order</param>
            <param name="sample">Must be sorted in ascending order</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Util.TagUtil.ContainsAllFromAtLeastOne(System.Collections.Generic.IEnumerable{System.UInt16[]},System.UInt16[])">
            <summary>
            Checks if sample contains all tags from at least one requirement group.
            </summary>
            <param name="requirementGroups">Each group must be sorted in ascending order</param>
            <param name="sample">Must be sorted in ascending order</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Util.WildcardUtil.WildCardReplace(Vintagestory.API.Common.AssetLocation,Vintagestory.API.Common.AssetLocation,Vintagestory.API.Common.AssetLocation)">
            <summary>
            Returns a new AssetLocation with the wildcards (*) being filled with the blocks other Code parts, if the wildcard matches. 
            Example this block is trapdoor-up-north. search is *-up-*, replace is *-down-*, in this case this method will return trapdoor-down-north.
            </summary>
            <param name="code"></param>
            <param name="search"></param>
            <param name="replace"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Util.WildcardUtil.Match(Vintagestory.API.Common.AssetLocation,Vintagestory.API.Common.AssetLocation,System.String[])">
            <summary>
            Checks whether or not the wildcard matches for inCode, for example, returns true for wildcard rock-* and inCode rock-granite
            </summary>
            <param name="wildCard"></param>
            <param name="inCode"></param>
            <param name="allowedVariants"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Util.WildcardUtil.GetWildcardValue(Vintagestory.API.Common.AssetLocation,Vintagestory.API.Common.AssetLocation)">
            <summary>
            Extract the value matched by the wildcard. For exammple for rock-* and inCode rock-granite, this method will return 'granite'
            Returns null if the wildcard does not match
            </summary>
            <param name="wildCard"></param>
            <param name="inCode"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Util.WildcardUtil.fastMatch(System.String,System.String,System.String)">
            <summary>
            Requires a pre-check that needle.Length is at least 1, and needleAsRegex has been pre-prepared
            </summary>
            <param name="needle"></param>
            <param name="haystack"></param>
            <param name="needleAsRegex">If it starts with '^' interpret as a regex search string; otherwise special case, it represents the tailpiece of the needle following a single asterisk</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Util.WildcardUtil.Prepare(System.String)">
            <summary>
            Returns the needle as a Regex string, if we are going to need to do a Regex search; alternatively returns some special case values
            <br/>Special case: return value of null signifies no wildcard, look for exact matches only
            <br/>Special case: return value of a non-regex string (not starting '^') represents the tailpiece part of the needle (the part following a single wildcard)
            </summary>
            <param name="needle"></param>
            <returns></returns>
        </member>
        <member name="F:Vintagestory.API.Config.Dimensions.NormalWorld">
            <summary>
            Used to make explicit all places in the code where the default dimension, dimension 0, is assumed, in case we need to search and replace them later
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.Dimensions.MiniDimensions">
            <summary>
            The dimension dedicated for storage of 'mini-dimensions', i.e. many separate 16k cubes of block space used for WorldEdit preview, vehicles etc
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.Dimensions.AltWorld">
            <summary>
            The dimension dedicated for storage of blocks in an timeswitched alt-world, such as the Devastation
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.Dimensions.BlocksPreviewSubDimension_Client">
            <summary>
            The subdimension Id, within the MiniDimensions system, for the World Edit Blocks Preview dimension.  Accessed client-side only
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.Dimensions.WillSetLater">
            <summary>
            Used for initialising temporary BlockPos objects and other things where the initial dimension does not matter, we know we will set it later
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.Dimensions.subDimensionSize">
            <summary>
            This represents the XZ size of mini-dimensions (individual BlockAccessorMovables) within an overall dimension - we can pack 16 million of these into one dimension, which should be enough!
            </summary>
        </member>
        <member name="M:Vintagestory.API.Config.Dimensions.ShouldNotTick(Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.ICoreAPI)">
            <summary>
            Indicates whether a given BlockPos should not be ticked due to being in an unusual dimension, such as the preview minidimension
            </summary>
            <param name="pos"></param>
            <param name="api"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Config.Dimensions.ShouldNotTick(Vintagestory.API.Common.Entities.EntityPos,Vintagestory.API.Common.ICoreAPI)">
            <summary>
            Indicates whether a given BlockPos should not be ticked due to being in an unusual dimension, such as the preview minidimension
            </summary>
            <param name="pos"></param>
            <param name="api"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Config.GamePaths.RemoveUsername(System.String)">
            <summary>
            Remove username from paths printed in log files
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Config.EnumGameBranch">
            <summary>
            Current branch of the game
            </summary>
        </member>
        <member name="T:Vintagestory.API.Config.GameVersion">
            <summary>
            The games current version
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GameVersion.OverallVersion">
            <summary>
            Assembly Info Version number in the format: major.minor.revision-[rc/pre.subrevision]
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GameVersion.Branch">
            <summary>
            Whether this is a stable or unstable version
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GameVersion.ShortGameVersion">
            <summary>
            Version number in the format: major.minor.revision-[rc/pre.subrevision]
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GameVersion.LongGameVersion">
            <summary>
            Version number in the format: major.minor.revision-[rc/pre.subrevision] [release title]
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GameVersion.AssemblyVersion">
            <summary>
            Assembly Info Version number in the format: major.minor.revision
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GameVersion.APIVersion">
            <summary>
            Version of the Mod API
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GameVersion.NetworkVersion">
            <summary>
            Version of the Network Protocol
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GameVersion.WorldGenVersion">
            <summary>
            Version of the world generator - a change in version will insert a smoothed chunk between old and new version
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GameVersion.DatabaseVersion">
            <summary>
            Version of the savegame database
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GameVersion.ChunkdataVersion">
            <summary>
            Version of the chunkdata compression for individual WorldChunks (0 is Deflate; 1 is ZSTD and palettised)  Also affects compression of network packets sent
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GameVersion.BlockItemMappingVersion">
            <summary>
            "Version" of the block and item mapping. This number gets increased by 1 when remappings are needed
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GameVersion.CopyRight">
            <summary>
            Copyright notice
            </summary>
        </member>
        <member name="M:Vintagestory.API.Config.GameVersion.IsCompatibleApiVersion(System.String)">
            <summary>
            Returns true if given version has the same major and minor version. Ignores revision.
            </summary>
            <param name="version"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Config.GameVersion.IsCompatibleNetworkVersion(System.String)">
            <summary>
            Returns true if given version has the same major and minor version. Ignores revision.
            </summary>
            <param name="version"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Config.GameVersion.IsAtLeastVersion(System.String)">
            <summary>
            Returns true if supplied version is the same or higher as the current version
            </summary>
            <param name="version"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Config.GameVersion.IsAtLeastVersion(System.String,System.String)">
            <summary>
            Returns true if supplied version is the same or higher as the reference version
            </summary>
            <param name="version"></param>
            <param name="reference"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Config.GameVersion.IsNewerVersionThan(System.String,System.String)">
            <summary>
            Returns true if supplied version is the higher as the reference version
            </summary>
            <param name="version"></param>
            <param name="reference"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Config.GlobalConstants">
            <summary>
            Contains some global constants and static values
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.DefaultDomain">
            <summary>
            Prefix for all default asset locations
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.MaxWorldSizeXZ">
            <summary>
            Hard-enforced world size limit, above this the code may break
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.MaxWorldSizeY">
            <summary>
            Hard-enforced world height limit, above this the code may break.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.ChunkSize">
            <summary>
            Now a hard-coded constant
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.DimensionSizeInChunks">
            <summary>
            Used in various places if the dimension of a chunk is combined into the chunk's y value.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.LowResMapInterval">
            <summary>
            The low-res terrain height map will be in squares of this size
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.LowResMapPadding">
            <summary>
            The low-res terrain height map will have padding of this much
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.MaxAnimatedElements">
            <summary>
            Max. amount of "bones" for animated model. Limited by max amount of shader uniforms of around 60, but depends on the gfx card
            This value is overriden by ClientSettings.cs
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.MaxColorMaps">
            <summary>
            Max. amount of "bones" for color maps. Limited by max amount of shader uniforms, but depends on the gfx card
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.PhysicsFrameTime">
            <summary>
            Frame time for physics simulation
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.MaxPhysicsIntervalInSlowTicks">
            <summary>
            Limits the amount of world time that can be simulated by the physics engine if the server is ticking slowly: if ticks are slower than this, entities will seem to slow down (viewed on client might even jump backwards)
            <br/> Recommended range 0.1f to 0.4f
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.GravityStrengthParticle">
            <summary>
            A multiplier applied to the y motion of all particles affected by gravity.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.DefaultAttackRange">
            <summary>
            Attack range when using hands
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.OverallSpeedMultiplier">
            <summary>
            Multiplied to all motions and animation speeds
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.BaseMoveSpeed">
            <summary>
            Multiplier applied to the players movement motion
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.BaseJumpForce">
            <summary>
            Multiplier applied to the players jump motion
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.SneakSpeedMultiplier">
            <summary>
            Multiplier applied to the players sneaking motion
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.SprintSpeedMultiplier">
            <summary>
            Multiplier applied to the players sprinting motion
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.AirDragAlways">
            <summary>
            Multiplier applied to entity motion while on the ground or in air
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.AirDragFlying">
            <summary>
            Multiplier applied to entity motion while flying (creative mode)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.WaterDrag">
            <summary>
            Multiplier applied to entity motion while walking in water
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.GravityPerSecond">
            <summary>
            Amount of gravity per tick applied to all entities affected by gravity
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.DefaultSimulationRange">
            <summary>
            Range in blocks at where this entity is simulated on the server (MagicNum.cs sets this value)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.DefaultPickingRange">
            <summary>
            Range in blocks a player can interact with blocks (break, use, place)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.TimeToDespawnPlayerInventoryDrops">
            <summary>
            Time in seconds for dropped items to remain when dropped after player death; overrides the despawn time set in item.json
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.CurrentWindSpeedClient">
            <summary>
            Set by the WeatherSimulation System in the survival mod at the players position
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.CurrentDistanceToRainfallClient">
            <summary>
            Set by the SystemPlayerEnvAwarenessTracker System in the engine at the players position, once every second. 12 horizontal, 4 vertical search distance
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.CurrentNearbyRelLeavesCountClient">
            <summary>
            Set by the game client at the players position
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.MeltingFreezingEnabled">
            <summary>
            Set by the weather simulation system to determine if snowed variants of blocks should melt. Used a static var to improve performance and reduce memory usage
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.TooHotToTouchTemperature">
            <summary>
            Needed for tongs
            </summary>
        </member>
        <member name="M:Vintagestory.API.Config.GlobalConstants.OutsideWorld(System.Int32,System.Int32,System.Int32,Vintagestory.API.Common.IBlockAccessor)">
            <summary>
            Returns true if the player fell out of the world (which is map boundaries + 30 blocks in every direction)
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <param name="blockAccessor"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Config.GlobalConstants.OutsideWorld(System.Double,System.Double,System.Double,Vintagestory.API.Common.IBlockAccessor)">
            <summary>
            Returns true if the player fell out of the world (which is map boundaries + 30 blocks in every direction)
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <param name="blockAccessor"></param>
            <returns></returns>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.ReservedCharacterSequences">
            <summary>
            These reserved characters or sequences should not be used in texture filenames or asset locations, they can mess up the BakedTexture system
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.GeneralChatGroup">
            <summary>
            Channel name for the general chat
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.ServerInfoChatGroup">
            <summary>
            Channel name for the general chat
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.DamageLogChatGroup">
            <summary>
            Channel name for the damage chat log
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.InfoLogChatGroup">
            <summary>
            Channel name for the info chat log
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.CurrentChatGroup">
            <summary>
            Special channel key typically to reply a Command inside the same the channel the player sent it
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.AllChatGroups">
            <summary>
            Special channel key typically to reply a Command inside the same the channel the player sent it
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.ConsoleGroup">
            <summary>
            Special channel key for message sent via server console
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.AllowedChatGroupChars">
            <summary>
            Allowed characters for a player group name
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.SinglePlayerEntitlements">
            <summary>
            Bit of a helper thing for single player servers to display the correct entitlements
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.EntityItemTypeCode">
            <summary>
            The entity class used when spawning items in the world
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.EntityPlayerTypeCode">
            <summary>
            The entity class used when spawning players
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.EntityBlockFallingTypeCode">
            <summary>
            The entity class used when spawning falling blocks
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.IgnoredStackAttributes">
            <summary>
            Default Itemstack attributes that should always be ignored during a stack.Collectible.Equals() comparison
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.PerishSpeedModifier">
            <summary>
            Global modifier to change the spoil rate of foods. Can be changed during run-time. The value is multiplied to the normal spoilage rate (default: 1)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.HungerSpeedModifier">
            <summary>
            Global modifier to change the rate of player hunger. Can be changed during run-time. The value is multiplied to the normal spoilage rate (default: 1)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.CreatureDamageModifier">
            <summary>
            Global modifier to change the damage melee attacks from creatures inflict. Can be changed during run-time. The value is multiplied to the normal damage value (default: 1)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.GlobalConstants.ToolMiningSpeedModifier">
            <summary>
            Global modifier to change the block breaking speed of all tools. Can be changed during run-time. The value is multiplied to the breaking speed (default: 1)
            </summary>
        </member>
        <member name="T:Vintagestory.API.Config.OS">
            <summary>
            Operating System Enum
            </summary>
        </member>
        <member name="T:Vintagestory.API.Config.RuntimeEnv">
            <summary>
            Information about the runningtime environment
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.RuntimeEnv.DebugTextureDispose">
            <summary>
            If TEXTURE_DEBUG_DISPOSE is set, the initial value set here will be overridden
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.RuntimeEnv.DebugVAODispose">
            <summary>
            If VAO_DEBUG_DISPOSE is set, the initial value set here will be overridden
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.RuntimeEnv.DebugSoundDispose">
            <summary>
            Debug sound memory leaks. No ENV var
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.RuntimeEnv.DebugOutOfRangeBlockAccess">
            <summary>
            If true, will print the stack trace on some of the blockaccessor if something attempts to get or set blocks outside of its available chunks
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.RuntimeEnv.DebugThreadPool">
            <summary>
            If true, will print allocation trace whenever a new task was enqueued to the thread pool
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.RuntimeEnv.OS">
            <summary>
            The current operating system
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.RuntimeEnv.EnvSearchPathName">
            <summary>
            The Env variable which contains the OS specific search paths for libarires
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.RuntimeEnv.IsWaylandSession">
            <summary>
            This will only be set to true on Linux when the session is a wayland session
            This is needed so we can skip adding a app Icon or setting the cursor postion since those are not supported on wayland
            </summary>
        </member>
        <member name="F:Vintagestory.API.Config.RuntimeEnv.IsDevEnvironment">
            <summary>
            Whether we are in a dev environment or not
            </summary>
        </member>
        <member name="T:Vintagestory.API.Config.ITranslationService">
            <summary>
                Represents a service, which provides access to translated strings, based on key/value pairs read from JSON files.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Config.ITranslationService.LanguageCode">
            <summary>
                Gets the language code that this translation service caters for.
            </summary>
            <value>A string, that contains the language code that this translation service caters for.</value>
        </member>
        <member name="M:Vintagestory.API.Config.ITranslationService.Load(System.Boolean)">
            <summary>
                Loads translation key/value pairs from all relevant JSON files within the Asset Manager.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Config.ITranslationService.PreLoad(System.String,System.Boolean)">
            <summary>
                Loads only the vanilla JSON files, without dealing with mods, or resource-packs.
            </summary>
            <param name="assetsPath">The root assets path to load the vanilla files from.</param>
            <param name="lazyLoad"></param>
        </member>
        <member name="M:Vintagestory.API.Config.ITranslationService.PreLoadModWorldConfig(System.String,System.String,System.Boolean)">
            <summary>
                Loads the mod worldconfig language JSON files only.
            </summary>
            <param name="modPath">The assets path to load the mod files from.</param>
            <param name="modDomain">The mod domain to use when loading the files.</param>
            <param name="lazyLoad"></param>
        </member>
        <member name="M:Vintagestory.API.Config.ITranslationService.GetIfExists(System.String,System.Object[])">
            <summary>
                Gets a translation for a given key, if any matching wildcarded keys are found within the cache.
            </summary>
            <param name="key">The key.</param>
            <param name="args">The arguments to interpolate into the resulting string.</param>
            <returns>Returns null if no results are found; otherwise returns the pre-formatted, translated value.</returns>
        </member>
        <member name="M:Vintagestory.API.Config.ITranslationService.Get(System.String,System.Object[])">
            <summary>
                Gets a translation for a given key.
            </summary>
            <param name="key">The key.</param>
            <param name="args">The arguments to interpolate into the resulting string.</param>
            <returns>Returns the key if no results are found; otherwise returns the pre-formatted, translated value.</returns>
        </member>
        <member name="M:Vintagestory.API.Config.ITranslationService.GetAllEntries">
            <summary>
                Retrieves a list of all translation entries within the cache.
            </summary>
            <returns>A dictionary of localisation entries.</returns>
        </member>
        <member name="M:Vintagestory.API.Config.ITranslationService.GetUnformatted(System.String)">
            <summary>
                Gets the raw, unformatted translated value for the key provided.
            </summary>
            <param name="key">The key.</param>
            <returns>Returns the key if no results are found; otherwise returns the unformatted, translated value.</returns>
        </member>
        <member name="M:Vintagestory.API.Config.ITranslationService.GetMatching(System.String,System.Object[])">
            <summary>
                Gets a translation for a given key, if any matching wildcarded keys are found within the cache.
            </summary>
            <param name="key">The key.</param>
            <param name="args">The arguments to interpolate into the resulting string.</param>
            <returns>Returns the key if no results are found; otherwise returns the pre-formatted, translated value.</returns>
        </member>
        <member name="M:Vintagestory.API.Config.ITranslationService.GetMatchingIfExists(System.String,System.Object[])">
            <summary>
                Gets a translation for a given key, if any matching wildcarded keys are found within the cache.
            </summary>
            <param name="key">The key.</param>
            <param name="args">The arguments to interpolate into the resulting string.</param>
            <returns>Returns <c>null</c> if no results are found; otherwise returns the pre-formatted, translated value.</returns>
        </member>
        <member name="M:Vintagestory.API.Config.ITranslationService.HasTranslation(System.String,System.Boolean)">
            <summary>
                Determines whether the specified key has a translation.
            </summary>
            <param name="key">The key.</param>
            <param name="findWildcarded">if set to <c>true</c>, the scan will include any wildcarded values.</param>
            <returns><c>true</c> if the specified key has a translation; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Vintagestory.API.Config.ITranslationService.HasTranslation(System.String,System.Boolean,System.Boolean)">
            <summary>
                Determines whether the specified key has a translation.
            </summary>
            <param name="key">The key.</param>
            <param name="findWildcarded">if set to <c>true</c>, the scan will include any wildcarded values.</param>
            <param name="logErrors">if set to <c>true</c>, will add "Lang key not found" logging</param>
            <returns><c>true</c> if the specified key has a translation; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Vintagestory.API.Config.ITranslationService.UseAssetManager(Vintagestory.API.Common.IAssetManager)">
            <summary>
                Specifies an asset manager to use, when the service has been lazy-loaded.
            </summary>
            <param name="assetManager">The <see cref="T:Vintagestory.API.Common.IAssetManager"/> instance used within the sided API.</param>
        </member>
        <member name="M:Vintagestory.API.Config.ITranslationService.InitialiseSearch">
            <summary>
                 Used to compile the regexes, to save time on the first 'actual' wildcard search - saves about 300ms
            </summary>
        </member>
        <member name="M:Vintagestory.API.Config.ITranslationService.Invalidate">
            <summary>
            Sets the loaded flag to false, so that the next lookup causes it to reload all translation entries
            </summary>
        </member>
        <member name="T:Vintagestory.API.Config.Lang">
            <summary>
            Utility class for enabling i18n. Loads language entries from assets/[locale].json
            </summary>
            <remarks>
            Kept legacy code structure and arguments for backwards compatibility.
            </remarks>
        </member>
        <member name="P:Vintagestory.API.Config.Lang.CurrentLocale">
            <summary>
            Gets the language code that this currently used to translate values.
            </summary>
            <value>A string, that contains the language code that this currently used to translate values.</value>
        </member>
        <member name="M:Vintagestory.API.Config.Lang.Load(Vintagestory.API.Common.ILogger,Vintagestory.API.Common.IAssetManager,System.String)">
            <summary>
            Loads all translations
            </summary>
            <param name="logger">The <see cref="T:Vintagestory.API.Common.ILogger" /> instance used within the sided API.</param>
            <param name="assetManager">The <see cref="T:Vintagestory.API.Common.IAssetManager" /> instance used within the sided API.</param>
            <param name="language">The desired language</param>
        </member>
        <member name="M:Vintagestory.API.Config.Lang.ChangeLanguage(System.String)">
            <summary>
            Changes the current language for the game.
            </summary>
            <param name="languageCode">The language code to set as the language for the game.</param>
        </member>
        <member name="M:Vintagestory.API.Config.Lang.LoadLanguage(Vintagestory.API.Common.ILogger,Vintagestory.API.Common.IAssetManager,System.String,System.Boolean,Vintagestory.API.Client.EnumLinebreakBehavior)">
            <summary>
            Loads translation key/value pairs from all relevant JSON files within the Asset Manager.
            </summary>
            <param name="logger">The <see cref="T:Vintagestory.API.Common.ILogger" /> instance used within the sided API.</param>
            <param name="assetManager">The <see cref="T:Vintagestory.API.Common.IAssetManager" /> instance used within the sided API.</param>
            <param name="languageCode">The language code to use as the default language.</param>
            <param name="lazyLoad"></param>
            <param name="lbBehavior"></param>
        </member>
        <member name="M:Vintagestory.API.Config.Lang.PreLoad(Vintagestory.API.Common.ILogger,System.String,System.String)">
            <summary>
            Loads only the vanilla JSON files, without dealing with mods, or resource-packs.
            </summary>
            <param name="logger">The <see cref="T:Vintagestory.API.Common.ILogger" /> instance used within the sided API.</param>
            <param name="assetsPath">The root assets path to load the vanilla files from.</param>
            <param name="defaultLanguage">The language code to use as the default language.</param>
        </member>
        <member name="M:Vintagestory.API.Config.Lang.PreLoadModWorldConfig(System.String,System.String,System.String)">
            <summary>
            Loads the mod worldconfig language JSON files only.
            </summary>
            <param name="modPath">The assets path to load the mod files from.</param>
            <param name="modDomain">The mod domain to use when loading the files.</param>
            <param name="defaultLanguage">The language code to use as the default language.</param>
        </member>
        <member name="M:Vintagestory.API.Config.Lang.GetIfExists(System.String,System.Object[])">
            <summary>
            Gets a translation entry for given key, if any matching wildcarded keys are found within the cache.
            </summary>
            <param name="key">The key.</param>
            <param name="args">The arguments to interpolate into the resulting string.</param>
            <returns>Returns the key as a default value, if no results are found; otherwise returns the pre-formatted, translated value.</returns>
        </member>
        <member name="M:Vintagestory.API.Config.Lang.GetL(System.String,System.String,System.Object[])">
            <summary>
            Gets a translation entry for given key using given locale
            </summary>
            <param name="langcode"></param>
            <param name="key"></param>
            <param name="args"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Config.Lang.Get(System.String,System.Object[])">
            <summary>
            Gets a translation entry for given key using the current locale
            </summary>
            <param name="key">The key.</param>
            <param name="args">The arguments to interpolate into the resulting string.</param>
            <returns>Returns the key as a default value, if no results are found; otherwise returns the pre-formatted, translated value.</returns>
        </member>
        <member name="M:Vintagestory.API.Config.Lang.GetWithFallback(System.String,System.String,System.Object[])">
            <summary>
            Gets a translation entry for given key using the current locale. Also tries the fallback key - useful if we change a key but not all languages updated yet
            </summary>
            <param name="key"></param>
            <param name="fallbackKey"></param>
            <param name="args"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Config.Lang.GetUnformatted(System.String)">
            <summary>
            Gets the raw, unformatted translated value for the key provided.
            </summary>
            <param name="key">The key.</param>
            <returns>Returns the key as a default value, if no results are found; otherwise returns the unformatted, translated value.</returns>
        </member>
        <member name="M:Vintagestory.API.Config.Lang.GetMatching(System.String,System.Object[])">
            <summary>
            Gets a translation for a given key, if any matching wildcarded keys are found within the cache.
            </summary>
            <param name="key">The key.</param>
            <param name="args">The arguments to interpolate into the resulting string.</param>
            <returns>Returns the key as a default value, if no results are found; otherwise returns the pre-formatted, translated value.</returns>
        </member>
        <member name="M:Vintagestory.API.Config.Lang.GetMatchingIfExists(System.String,System.Object[])">
            <summary>
            Gets a translation entry for given key, if any matching wildcarded keys are found within the cache.
            </summary>
            <param name="key">The key.</param>
            <param name="args">The arguments to interpolate into the resulting string.</param>
            <returns>Returns <c>null</c> as a default value, if no results are found; otherwise returns the pre-formatted, translated value.</returns>
        </member>
        <member name="M:Vintagestory.API.Config.Lang.GetAllEntries">
            <summary>
            Retrieves a list of all translation entries within the cache.
            </summary>
            <returns>A dictionary of localisation entries.</returns>
        </member>
        <member name="M:Vintagestory.API.Config.Lang.HasTranslation(System.String,System.Boolean,System.Boolean)">
            <summary>
            Determines whether the specified key has a translation.
            </summary>
            <param name="key">The key.</param>
            <param name="findWildcarded">if set to <c>true</c>, the scan will include any wildcarded values.</param>
            <param name="logErrors"></param>
            <returns><c>true</c> if the specified key has a translation; otherwise, <c>false</c>.</returns>
        </member>
        <member name="T:Vintagestory.API.Config.TranslationService">
            <summary>
            A service, which provides access to translated strings, based on key/value pairs read from JSON files.
            </summary>
            <seealso cref="T:Vintagestory.API.Config.ITranslationService" />
        </member>
        <member name="M:Vintagestory.API.Config.TranslationService.#ctor(System.String,Vintagestory.API.Common.ILogger,Vintagestory.API.Common.IAssetManager,Vintagestory.API.Client.EnumLinebreakBehavior)">
            <summary>
            Initialises a new instance of the <see cref="T:Vintagestory.API.Config.TranslationService" /> class.
            </summary>
            <param name="languageCode">The language code that this translation service caters for.</param>
            <param name="logger">The <see cref="T:Vintagestory.API.Common.ILogger" /> instance used within the sided API.</param>
            <param name="assetManager">The <see cref="T:Vintagestory.API.Common.IAssetManager" /> instance used within the sided API.</param>
            <param name="lbBehavior"></param>
        </member>
        <member name="P:Vintagestory.API.Config.TranslationService.LanguageCode">
            <summary>
            Gets the language code that this translation service caters for.
            </summary>
            <value>A string, that contains the language code that this translation service caters for.</value>
        </member>
        <member name="M:Vintagestory.API.Config.TranslationService.Load(System.Boolean)">
            <summary>
            Loads translation key/value pairs from all relevant JSON files within the Asset Manager.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Config.TranslationService.PreLoad(System.String,System.Boolean)">
            <summary>
            Loads only the vanilla JSON files, without dealing with mods, or resource-packs.
            </summary>
            <param name="assetsPath">The root assets path to load the vanilla files from.</param>
            <param name="lazyLoad"></param>
        </member>
        <member name="M:Vintagestory.API.Config.TranslationService.PreLoadModWorldConfig(System.String,System.String,System.Boolean)">
            <summary>
            Loads the mod worldconfig language JSON files only.
            </summary>
            <param name="modPath">The assets path to load the mod files from.</param>
            <param name="modDomain">The mod domain to use when loading the files.</param>
            <param name="lazyLoad"></param>
        </member>
        <member name="M:Vintagestory.API.Config.TranslationService.Invalidate">
            <summary>
            Sets the loaded flag to false, so that the next lookup causes it to reload all translation entries
            </summary>
        </member>
        <member name="M:Vintagestory.API.Config.TranslationService.GetIfExists(System.String,System.Object[])">
            <summary>
            Gets a translation for a given key, if any matching wildcarded keys are found within the cache.
            </summary>
            <param name="key">The key.</param>
            <param name="args">The arguments to interpolate into the resulting string.</param>
            <returns>
                Returns the key as a default value, if no results are found; otherwise returns the pre-formatted, translated
                value.
            </returns>
        </member>
        <member name="M:Vintagestory.API.Config.TranslationService.Get(System.String,System.Object[])">
            <summary>
            Gets a translation for a given key.
            </summary>
            <param name="key">The key.</param>
            <param name="args">The arguments to interpolate into the resulting string.</param>
            <returns>
                Returns the key as a default value, if no results are found; otherwise returns the pre-formatted, translated
                value.
            </returns>
        </member>
        <member name="M:Vintagestory.API.Config.TranslationService.GetAllEntries">
            <summary>
            Retrieves a list of all translation entries within the cache.
            </summary>
            <returns>A dictionary of localisation entries.</returns>
        </member>
        <member name="M:Vintagestory.API.Config.TranslationService.GetUnformatted(System.String)">
            <summary>
            Gets the raw, unformatted translated value for the key provided.
            </summary>
            <param name="key">The key.</param>
            <returns>
                Returns the key as a default value, if no results are found; otherwise returns the unformatted, translated
                value.
            </returns>
        </member>
        <member name="M:Vintagestory.API.Config.TranslationService.GetMatching(System.String,System.Object[])">
            <summary>
            Gets a translation for a given key, if any matching wildcarded keys are found within the cache.
            </summary>
            <param name="key">The key.</param>
            <param name="args">The arguments to interpolate into the resulting string.</param>
            <returns>
            Returns the key as a default value, if no results are found; otherwise returns the pre-formatted, translated
            value.
            </returns>
        </member>
        <member name="M:Vintagestory.API.Config.TranslationService.HasTranslation(System.String,System.Boolean)">
            <summary>
            Determines whether the specified key has a translation.
            </summary>
            <param name="key">The key.</param>
            <param name="findWildcarded">if set to <c>true</c>, the scan will include any wildcarded values.</param>
            <returns><c>true</c> if the specified key has a translation; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Vintagestory.API.Config.TranslationService.HasTranslation(System.String,System.Boolean,System.Boolean)">
            <summary>
            Determines whether the specified key has a translation.
            </summary>
            <param name="key">The key.</param>
            <param name="findWildcarded">if set to <c>true</c>, the scan will include any wildcarded values.</param>
            <param name="logErrors">if set to <c>true</c>, will add "Lang key not found" logging</param>
            <returns><c>true</c> if the specified key has a translation; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:Vintagestory.API.Config.TranslationService.UseAssetManager(Vintagestory.API.Common.IAssetManager)">
            <summary>
            Specifies an asset manager to use, when the service has been lazy-loaded.
            </summary>
            <param name="assetManager">The <see cref="T:Vintagestory.API.Common.IAssetManager" /> instance used within the sided API.</param>
        </member>
        <member name="M:Vintagestory.API.Config.TranslationService.GetMatchingIfExists(System.String,System.Object[])">
            <summary>
            Gets a translation for a given key, if any matching wildcarded keys are found within the cache.
            </summary>
            <param name="key">The key.</param>
            <param name="args">The arguments to interpolate into the resulting string.</param>
            <returns>
            Returns <c>null</c> as a default value, if no results are found; otherwise returns the pre-formatted, translated value.
            </returns>
        </member>
        <member name="T:Vintagestory.API.Datastructures.ITreeAttribute">
            <summary>
            Represents a List of nestable Attributes
            </summary>
        </member>
        <member name="P:Vintagestory.API.Datastructures.ITreeAttribute.Item(System.String)">
            <summary>
            Will return null if given attribute does not exist
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Datastructures.ITreeAttribute.Count">
            <summary>
            Amount of elements in this Tree attribute
            </summary>
        </member>
        <member name="P:Vintagestory.API.Datastructures.ITreeAttribute.Values">
            <summary>
            Returns all values inside this tree attributes
            </summary>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.HasAttribute(System.String)">
            <summary>
            True if this attribute exists
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.TryGetAttribute(System.String,Vintagestory.API.Datastructures.IAttribute@)">
            <summary>
            Similar to TryGetValue for a Dictionary
            </summary>
            <param name="key"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.RemoveAttribute(System.String)">
            <summary>
            Removes an attribute
            </summary>
            <param name="key"></param>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.SetBool(System.String,System.Boolean)">
            <summary>
            Creates a bool attribute with given key and value
            </summary>
            <param name="key"></param>
            <param name="value"></param>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.SetInt(System.String,System.Int32)">
            <summary>
            Creates an int attribute with given key and value
            </summary>
            <param name="key"></param>
            <param name="value"></param>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.SetLong(System.String,System.Int64)">
            <summary>
            Creates a long attribute with given key and value
            </summary>
            <param name="key"></param>
            <param name="value"></param>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.SetDouble(System.String,System.Double)">
            <summary>
            Creates a double attribute with given key and value
            </summary>
            <param name="key"></param>
            <param name="value"></param>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.SetFloat(System.String,System.Single)">
            <summary>
            Creates a float attribute with given key and value
            </summary>
            <param name="key"></param>
            <param name="value"></param>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.SetString(System.String,System.String)">
            <summary>
            Creates a string attribute with given key and value
            </summary>
            <param name="key"></param>
            <param name="value"></param>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.SetBytes(System.String,System.Byte[])">
            <summary>
            Creates a byte[] attribute with given key and value
            </summary>
            <param name="key"></param>
            <param name="value"></param>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.SetItemstack(System.String,Vintagestory.API.Common.ItemStack)">
            <summary>
            Sets given item stack with given key
            </summary>
            <param name="key"></param>
            <param name="itemstack"></param>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.TryGetBool(System.String)">
            <summary>
            Retrieves a bool or null if the key is not found
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.GetBool(System.String,System.Boolean)">
            <summary>
            Retrieves a bool or default value if key is not found
            </summary>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.TryGetInt(System.String)">
            <summary>
            Retrieves an int or null if the key is not found
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.GetInt(System.String,System.Int32)">
            <summary>
            Retrieves an int or default value if key is not found
            </summary>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.GetAsInt(System.String,System.Int32)">
            <summary>
            Same as (int)<see cref="M:Vintagestory.API.Datastructures.ITreeAttribute.GetDecimal(System.String,System.Double)"/>
            </summary>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.GetAsBool(System.String,System.Boolean)">
            <summary>
            Returns true/false, for whatever type of attribute is found for given key
            </summary>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.GetDecimal(System.String,System.Double)">
            <summary>
            Retrieves an int, float, long or double value. Whatever attribute is found for given key
            </summary>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.GetAsString(System.String,System.String)">
            <summary>
            Retrieves the value of given attribute, independent of attribute type
            </summary>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.TryGetLong(System.String)">
            <summary>
            Retrieves a long or null value if key is not found
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.GetLong(System.String,System.Int64)">
            <summary>
            Retrieves a long or default value if key is not found
            </summary>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.TryGetFloat(System.String)">
            <summary>
            Retrieves a float or null if the key is not found
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.GetFloat(System.String,System.Single)">
            <summary>
            Retrieves a float or defaultvalue if key is not found
            </summary>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.TryGetDouble(System.String)">
            <summary>
            Retrieves a double or null if key is not found
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.GetDouble(System.String,System.Double)">
            <summary>
            Retrieves a double or defaultValue if key is not found
            </summary>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.GetString(System.String,System.String)">
            <summary>
            Retrieves a string or defaultValue if key is not found
            </summary>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.GetBytes(System.String,System.Byte[])">
            <summary>
            Retrieves a byte array or defaultValue if key is not found
            </summary>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.GetItemstack(System.String,Vintagestory.API.Common.ItemStack)">
            <summary>
            Retrieves an itemstack or defaultValue if key is not found. Be sure to call stack.ResolveBlockOrItem() after retrieving it.
            </summary>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.GetTreeAttribute(System.String)">
            <summary>
            Retrieves an attribute tree or null if key is not found
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.GetOrAddTreeAttribute(System.String)">
            <summary>
            Retrieves an attribute tree or adds it if key is not found.
            Throws an exception if the key does exist but is not a tree.
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.Clone">
            <summary>
            Creates a deep copy of the attribute tree
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.MergeTree(Vintagestory.API.Datastructures.ITreeAttribute)">
            <summary>
            Merges trees (it will overwrite existing values)
            </summary>
            <param name="tree"></param>
        </member>
        <member name="M:Vintagestory.API.Datastructures.ITreeAttribute.SortedCopy(System.Boolean)">
            <summary>
            Returns a ITreeAttribute sorted alphabetically by key. Does not modify the existing ITreeAttribute
            </summary>
            <param name="recursive"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Datastructures.IAttribute">
            <summary>
            An attribute from an attribute tree
            </summary>
        </member>
        <member name="F:Vintagestory.API.Datastructures.SyncedTreeAttribute.allDirty">
            <summary>
            Whole tree will be resent
            </summary>
        </member>
        <member name="F:Vintagestory.API.Datastructures.SyncedTreeAttribute.attributePathsDirty">
            <summary>
            Subtrees will be resent
            </summary>
        </member>
        <member name="M:Vintagestory.API.Datastructures.SyncedTreeAttribute.MarkAllDirty">
            <summary>
            Marks the whole attribute tree as dirty, so that it will be resent to all connected clients. Does not trigger modified listeners (because it makes no sense and breaks things)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Datastructures.SyncedTreeAttribute.MarkPathDirty(System.String)">
            <summary>
            Marks part of the attribute tree as dirty, allowing for a partial update of the attribute tree.
            If the whole tree is already marked dirty, it will still trigger modified listeners.
            </summary>
            <param name="path"></param>
        </member>
        <member name="M:Vintagestory.API.Datastructures.SyncedTreeAttribute.GetIntAndIncrement(System.String,System.Int32)">
            <summary>
            Equivalent to i++ within the TreeAttribute, i.e. it increases the stored value but returns the current read value
            </summary>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Datastructures.StreamedByteArrayAttribute">
            <summary>
            When serialized, produces identical byte output to a ByteArrayAttribute.  The difference is, for performance, this writes directly to the provided BinaryWriter stream
            <br/>Intended to be deserialized to a ByteArrayAttribute
            </summary>
        </member>
        <member name="M:Vintagestory.API.Datastructures.StringAttribute.DirectWrite(System.IO.BinaryWriter,System.String,System.String)">
            <summary>
            Equivalent output as if a StringAttribute had been created within a TreeAttribute, and then that TreeAttribute was immediately serialized to the writer
            </summary>
            <param name="writer"></param>
            <param name="key"></param>
            <param name="value"></param>
        </member>
        <member name="T:Vintagestory.API.Datastructures.TreeAttribute">
            <summary>
            A datastructure to hold generic data for most primitives (int, string, float, etc.). But can also hold generic data using the ByteArrayAttribute + class serialization
            </summary>
        </member>
        <member name="P:Vintagestory.API.Datastructures.TreeAttribute.Item(System.String)">
            <summary>
            Will return null if given attribute does not exist
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Datastructures.TreeAttribute.Count">
            <summary>
            Amount of elements in this Tree attribute
            </summary>
        </member>
        <member name="P:Vintagestory.API.Datastructures.TreeAttribute.Values">
            <summary>
            Returns all values inside this tree attributes
            </summary>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.Set(System.String,Vintagestory.API.Datastructures.IAttribute)">
            <summary>
            Set a value. Returns itself for method chaining
            </summary>
            <param name="key"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.HasAttribute(System.String)">
            <summary>
            True if this attribute exists
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.RemoveAttribute(System.String)">
            <summary>
            Removes an attribute
            </summary>
            <param name="key"></param>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.SetBool(System.String,System.Boolean)">
            <summary>
            Creates a bool attribute with given key and value
            </summary>
            <param name="key"></param>
            <param name="value"></param>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.SetInt(System.String,System.Int32)">
            <summary>
            Creates an int attribute with given key and value<br/>
            Side note: If you need this attribute to be compatible with deserialized json - use SetLong()
            </summary>
            <param name="key"></param>
            <param name="value"></param>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.SetLong(System.String,System.Int64)">
            <summary>
            Creates a long attribute with given key and value
            </summary>
            <param name="key"></param>
            <param name="value"></param>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.SetDouble(System.String,System.Double)">
            <summary>
            Creates a double attribute with given key and value
            </summary>
            <param name="key"></param>
            <param name="value"></param>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.SetFloat(System.String,System.Single)">
            <summary>
            Creates a float attribute with given key and value<br/>
            Side note: If you need this attribute to be compatible with deserialized json - use SetDouble()
            </summary>
            <param name="key"></param>
            <param name="value"></param>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.SetBytes(System.String,System.Byte[])">
            <summary>
            Creates a byte[] attribute with given key and value
            </summary>
            <param name="key"></param>
            <param name="value"></param>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.SetItemstack(System.String,Vintagestory.API.Common.ItemStack)">
            <summary>
            Sets given item stack with given key
            </summary>
            <param name="key"></param>
            <param name="itemstack"></param>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.TryGetBool(System.String)">
            <summary>
            Retrieves a bool or null if the key is not found
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.TryGetDouble(System.String)">
            <summary>
            Retrieves a double or null if key is not found
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.TryGetFloat(System.String)">
            <summary>
            Retrieves a float or null if the key is not found
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.GetBool(System.String,System.Boolean)">
            <summary>
            Retrieves a bool or default value if key is not found
            </summary>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.GetInt(System.String,System.Int32)">
            <summary>
            Retrieves an int or default value if key is not found
            </summary>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.GetAsInt(System.String,System.Int32)">
            <summary>
            Same as (int)GetDecimal(key, defValue);
            </summary>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.GetDecimal(System.String,System.Double)">
            <summary>
            Retrieves an int, float, long or double value. Whatever attribute is found for given key, in aformentioned order. If its a string its converted to double
            </summary>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.GetDouble(System.String,System.Double)">
            <summary>
            Retrieves a double or defaultValue if key is not found
            </summary>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.GetFloat(System.String,System.Single)">
            <summary>
            Retrieves a float or defaultvalue if key is not found
            </summary>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.GetString(System.String,System.String)">
            <summary>
            Retrieves a string attribute or defaultValue if key is not found
            </summary>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.GetAsString(System.String,System.String)">
            <summary>
            Retrieves the value of given attribute, independent of attribute type
            </summary>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.GetStringArray(System.String,System.String[])">
            <summary>
            Retrieves a string or defaultValue if key is not found
            </summary>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.GetBytes(System.String,System.Byte[])">
            <summary>
            Retrieves a byte array or defaultValue if key is not found
            </summary>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.GetTreeAttribute(System.String)">
            <summary>
            Retrieves an attribute tree or null if key is not found
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.GetOrAddTreeAttribute(System.String)">
            <summary>
            Retrieves an attribute tree or adds it if key is not found.
            Throws an exception if the key does exist but is not a tree.
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.GetItemstack(System.String,Vintagestory.API.Common.ItemStack)">
            <summary>
            Retrieves an itemstack or defaultValue if key is not found. Be sure to call stack.ResolveBlockOrItem() after retrieving it.
            </summary>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.GetLong(System.String,System.Int64)">
            <summary>
            Retrieves a long or default value if key is not found
            </summary>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.TryGetLong(System.String)">
            <summary>
            Retrieves a long or null value if key is not found
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.Clone">
            <summary>
            Creates a deep copy of the attribute tree
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.IsSubSetOf(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Datastructures.IAttribute)">
            <summary>
            Returns true if given tree contains all of elements of this one, but given tree may contain also more elements. Individual node values are exactly matched.
            </summary>
            <param name="worldForResolve"></param>
            <param name="other"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.Equals(Vintagestory.API.Common.IWorldAccessor,Vintagestory.API.Datastructures.IAttribute)">
            <summary>
            Returns true if given tree exactly matches this one
            </summary>
            <param name="worldForResolve"></param>
            <param name="other"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.TreeAttribute.MergeTree(Vintagestory.API.Datastructures.ITreeAttribute)">
            <summary>
            Merges the sourceTree into the current one
            </summary>
            <param name="sourceTree"></param>
        </member>
        <member name="T:Vintagestory.API.Datastructures.ByteDataMap2D">
            <summary>
            A datastructure to hold 2 dimensional data in the form of ints. 
            Can be used to perfrom bilinear interpolation between individual values
            </summary>
        </member>
        <member name="F:Vintagestory.API.Datastructures.ByteDataMap2D.Size">
            <summary>
            Full Width and Length of the map (square)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Datastructures.ByteDataMap2D.TopLeftPadding">
            <summary>
            Top and Left padding
            </summary>
        </member>
        <member name="F:Vintagestory.API.Datastructures.ByteDataMap2D.BottomRightPadding">
            <summary>
            Bottom and Right padding
            </summary>
        </member>
        <member name="P:Vintagestory.API.Datastructures.ByteDataMap2D.InnerSize">
            <summary>
            Width and Length of the map excluding any padding
            </summary>
        </member>
        <member name="T:Vintagestory.API.Datastructures.CachingConcurrentDictionary`2">
            <summary>
            Exactly like ConcurrentDictionary except that Values is cached for performance, instead of building a new List each time Values is accessed
            <br/><br/>The cache is only guaranteed up to date if CachedConcurrentDictionary.TryAdd, .TryRemove or [] methods are used to modify the Dictionary
            otherwise the cache will be updated next time when one of those methods is used
            </summary>
            <typeparam name="TKey"></typeparam>
            <typeparam name="TValue"></typeparam>
        </member>
        <member name="T:Vintagestory.API.Datastructures.CachedCuboidListFaster">
            <summary>
            Just like CachedCuboidList except we use structs internally, for RAM access performance. We leave CachedCuboidList just as it is for mod backwards compatibility
            </summary>
        </member>
        <member name="T:Vintagestory.API.Datastructures.CachedSortedSet`1">
            <summary>
            Collection of unique ordered elements sorted in ascending order.<br/>
            Thread-safe.<br/>
            <br/>
            Pros:<br/>
            - no memory overhead<br/>
            - fast to compare (O(1))<br/>
            - fast to compare via set operations<br/>
            - fast to iterate<br/>
            - fast to check containment<br/>
            - cheap to copy and pass around<br/>
            <br/>
            Cons:<br/>
            - slow to construct<br/>
            - slow to merge via set operations<br/>
            </summary>
            <typeparam name="TElement"></typeparam>
        </member>
        <member name="M:Vintagestory.API.Datastructures.CachedSortedSet`1.Get(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Returns new or existing set. Does sorting and removes duplicate values.<br/>
            Slow. Get once, store and then use multiple times.
            </summary>
            <param name="elements">Any collection of elements</param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Datastructures.FastSmallDictionary`2">
            <summary>
            A fast implementation of IDictionary using arrays.  Only suitable for small dictionaries, typically 1-20 entries.
            <br/>Note that Add is implemented differently from a standard Dictionary, it does not check that the key is not already present (and does not throw an ArgumentException)
            <br/>Additional methods AddIfNotPresent() and Clone() are provided for convenience.  There are also additional convenient constructors
            </summary>
            <typeparam name="TKey"></typeparam>
            <typeparam name="TValue"></typeparam>
        </member>
        <member name="P:Vintagestory.API.Datastructures.FastSmallDictionary`2.Item(`0)">
            <summary>
            It is calling code's responsibility to ensure the key being searched for is not null
            </summary>
        </member>
        <member name="M:Vintagestory.API.Datastructures.FastSmallDictionary`2.TryGetValue(`0,`1@)">
            <summary>
            It is the calling code's responsibility to make sure that key is not null
            </summary>
            <param name="key"></param>
            <param name="value"></param>
        </member>
        <member name="T:Vintagestory.API.Datastructures.IOrderedDictionary`2">
            <summary>
            Represents a generic collection of key/value pairs that are ordered independently of the key and value.
            </summary>
            <typeparam name="TKey">The type of the keys in the dictionary</typeparam>
            <typeparam name="TValue">The type of the values in the dictionary</typeparam>
        </member>
        <member name="T:Vintagestory.API.Datastructures.LimitedDictionary`2">
            <summary>
            Can only hold a limited amount of elements, discards oldest elements once the capacity is reached.
            </summary>
            <typeparam name="TKey"></typeparam>
            <typeparam name="TValue"></typeparam>
        </member>
        <member name="M:Vintagestory.API.Datastructures.LimitedDictionary`2.#ctor(System.Int32)">
            <summary>
            Create a new limited dictionary with given maximum capacity
            </summary>
            <param name="maxCapacity"></param>
        </member>
        <member name="T:Vintagestory.API.Datastructures.OrderedDictionary`2">
            <summary>
            Same as your normal C# Dictionary but ensures that the order in which the items are added is remembered. That way you can iterate over the dictionary with the insert order intact or set/get elements by index.
            Taken from http://www.codeproject.com/Articles/18615/OrderedDictionary-T-A-generic-implementation-of-IO
            Please be aware that this is not a very efficient implementation, recommed use only for small sets of data.
            </summary>
            <typeparam name="TKey"></typeparam>
            <typeparam name="TValue"></typeparam>
        </member>
        <member name="M:Vintagestory.API.Datastructures.OrderedDictionary`2.IndexOfKey(`0)">
            <summary>
            Returns -1 if the key was not found
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Datastructures.OrderedDictionary`2.Values">
            <summary>
            Important: these are NOT ordered.   The ordered values is obtained by .ValuesOrdered
            </summary>
        </member>
        <member name="M:Vintagestory.API.Datastructures.OrderedDictionary`2.AddRange(System.Collections.Generic.Dictionary{`0,`1},Vintagestory.API.Common.ILogger)">
            <summary>
            Adds values, but for performance does not replace any existing values which have the same key; that's fine for asset loading
            </summary>
            <param name="src"></param>
            <param name="logger"></param>
        </member>
        <member name="M:Vintagestory.API.Datastructures.FastLargeSetOfLongs.Add(System.Int64)">
            <summary>
            Return false if the set already contained this value; return true if the Add was successful
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Datastructures.FastList`1">
            <summary>
            Does not clear elements in Clear(), but only sets the Count to 0
            </summary>
            <typeparam name="TElem"></typeparam>
        </member>
        <member name="P:Vintagestory.API.Datastructures.FastMemoryStream.Position">
            <summary>
            When serializing to a buffer, indicates the count of bytes written so far
            </summary>
        </member>
        <member name="P:Vintagestory.API.Datastructures.FastMemoryStream.Length">
            <summary>
            When deserializing from a buffer, this is the full buffer length
            </summary>
        </member>
        <member name="M:Vintagestory.API.Datastructures.FastMemoryStream.WriteAt(System.Int32,System.Int32,System.Int32)">
            <summary>
            Used for Protobuf serialization if we need to go back and re-write a varInt value, for example the count of entities written
            </summary>
            <param name="pos"></param>
            <param name="v"></param>
            <param name="size"></param>
            <exception cref="T:System.Exception"></exception>
        </member>
        <member name="M:Vintagestory.API.Datastructures.FastSetOfInts.Add(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Add four separate components, assumed to be signed int in the range -128 to +127
            </summary>
            <param name="a"></param>
            <param name="b"></param>
            <param name="c"></param>
            <param name="d"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.FastSetOfInts.Add(System.Int32)">
            <summary>
            Return false if the set already contained this value; return true if the Add was successful
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.FastSetOfLongs.Add(System.Int64)">
            <summary>
            Return false if the set already contained this value; return true if the Add was successful
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Datastructures.FloatDataMap3D">
            <summary>
            A datastructure to hold 3 dimensional data in the form of floats 
            Can be used to perfrom trilinear interpolation between individual values
            </summary>
        </member>
        <member name="T:Vintagestory.API.Datastructures.IntDataMap2D">
            <summary>
            A datastructure to hold 2 dimensional data in the form of ints. 
            Can be used to perfrom bilinear interpolation between individual values
            </summary>
        </member>
        <member name="F:Vintagestory.API.Datastructures.IntDataMap2D.Size">
            <summary>
            Full Width and Length of the map (square)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Datastructures.IntDataMap2D.TopLeftPadding">
            <summary>
            Top and Left padding
            </summary>
        </member>
        <member name="F:Vintagestory.API.Datastructures.IntDataMap2D.BottomRightPadding">
            <summary>
            Bottom and Right padding
            </summary>
        </member>
        <member name="P:Vintagestory.API.Datastructures.IntDataMap2D.InnerSize">
            <summary>
            Width and Length of the map excluding any padding
            </summary>
        </member>
        <member name="M:Vintagestory.API.Datastructures.IntDataMap2D.GetUnpaddedColorLerpedForNormalizedPos(System.Single,System.Single)">
            <summary>
            The parameters should both be in the range 0..1.  They represent the position within the MapRegion.  Calling code may need to use the (float)((double)val % 1.0) technique to ensure enough bits of precision when taking the fractional part (% 1.0), if val is large (for example a BlockPos in a 8Mx8M world)
            </summary>
            <param name="x"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Datastructures.JsonObject">
            <summary>
            Elegant, yet somewhat inefficently designed (because wasteful with heap objects) wrapper class to abstract away the type-casting nightmare of JToken O.O
            </summary>
        </member>
        <member name="M:Vintagestory.API.Datastructures.JsonObject.#ctor(Newtonsoft.Json.Linq.JToken)">
            <summary>
            Create a new instance of a JsonObject
            </summary>
            <param name="token"></param>
        </member>
        <member name="M:Vintagestory.API.Datastructures.JsonObject.#ctor(Vintagestory.API.Datastructures.JsonObject,System.Boolean)">
            <summary>
            Create a new instance of a JsonObject
            </summary>
            <param name="original"></param>
            <param name="unused">Only present so that the Constructor with a sole null parameter has an unambiguous signature</param>
        </member>
        <member name="P:Vintagestory.API.Datastructures.JsonObject.Item(System.String)">
            <summary>
            Access a tokens element with given key
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Datastructures.JsonObject.Exists">
            <summary>
            True if the token is not null
            </summary>
        </member>
        <member name="M:Vintagestory.API.Datastructures.JsonObject.KeyExists(System.String)">
            <summary>
            True if the token has an element with given key
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.JsonObject.AsObject``1(``0)">
            <summary>
            Deserialize the token to an object of the specified type T
            </summary>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.JsonObject.AsObject``1(``0,System.String)">
            <summary>
            Deserialize the token to an object of the specified type T, with the specified domain for any AssetLocation which needs to be parsed
            </summary>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.JsonObject.AsObject``1(``0,System.String,System.Boolean)">
            <summary>
            Deserialize the token to an object of the specified type T, with the specified domain for any AssetLocation which needs to be parsed,
            and setting for whether sounds loaded should by default have a randomized pitch
            </summary>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.JsonObject.AsArray">
            <summary>
            Turn the token into an array of JsonObjects
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.JsonObject.AsString(System.String)">
            <summary>
            Turn the token into a string
            </summary>
            <param name="defaultValue">If the conversion fails, this value is used instead</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.JsonObject.AsArray``1(``0[],System.String)">
            <summary>
            Turn the token into an array
            </summary>
            <param name="defaultValue">If the conversion fails, this value is used instead</param>
            <param name="defaultDomain"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.JsonObject.AsBool(System.Boolean)">
            <summary>
            Turn the token into a boolean
            </summary>
            <param name="defaultValue">If the conversion fails, this value is used instead</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.JsonObject.AsInt(System.Int32)">
            <summary>
            Turn the token into an integer
            </summary>
            <param name="defaultValue">If the conversion fails, this value is used instead</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.JsonObject.AsFloat(System.Single)">
            <summary>
            Turn the token into a float
            </summary>
            <param name="defaultValue">If the conversion fails, this value is used instead</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.JsonObject.AsDouble(System.Double)">
            <summary>
            Turn the token into a double
            </summary>
            <param name="defaultValue">If the conversion fails, this value is used instead</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.JsonObject.ToString">
            <summary>
            Calls token.ToString()
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.JsonObject.IsArray">
            <summary>
            True if the token is a JArray
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.JsonObject.ToAttribute">
            <summary>
            Turns the token into an IAttribute with all its child elements, if it has any.<br/>
            Note: If you converting this to a tree attribute, a subsequent call to tree.GetInt() might not work because Newtonsoft.JSON seems to load integers as long, so use GetDecimal() or GetLong() instead. Similar things might happen with float&lt;-&gt;double
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.JsonObject.ToPrimitiveArray``1(Newtonsoft.Json.Linq.JArray)">
            <summary>
            Turn a JArray into a primitive array
            </summary>
            <typeparam name="T"></typeparam>
            <param name="array"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.JsonObject.Clone">
            <summary>
            Returns a deep clone
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.JsonObject.IsTrue(System.String)">
            <summary>
            Returns true if this object has the named bool attribute, and it is true
            </summary>
        </member>
        <member name="T:Vintagestory.API.Datastructures.LimitedList`1">
            <summary>
            Holds a limited amount of items, discards the lowest index item when an overflow happens
            </summary>
        </member>
        <member name="M:Vintagestory.API.Datastructures.LimitedList`1.#ctor(System.Int32)">
            <summary>
            Create a new list with a given maximum capacity
            </summary>
            <param name="maxCapacity"></param>
        </member>
        <member name="M:Vintagestory.API.Datastructures.LimitedList`1.#ctor(System.Int32,System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Create a new list with a given maximum capacity
            </summary>
            <param name="maxCapacity"></param>
            <param name="initialElements"></param>
        </member>
        <member name="M:Vintagestory.API.Datastructures.QueueOfInt.Enqueue(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Enqueue a single value with four separate components, assumed to be signed int in the range -128 to +127
            </summary>
            <param name="a"></param>
            <param name="b"></param>
            <param name="c"></param>
            <param name="d"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.QueueOfInt.EnqueueIfLarger(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Special method for ChunkIlluminator, if already present does not enqueue, but replaces only if value d (lowest 5 bits representing the spreadlight value) is larger
            </summary>
            <param name="a"></param>
            <param name="b"></param>
            <param name="c"></param>
            <param name="d"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.QueueOfInt.Dequeue">
            <summary>
            Will return invalid data if called when Count &lt;= 0: it is the responsibility of the calling code to check Count > 0
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.QueueOfInt.DequeueLIFO">
            <summary>
            Will return invalid data if called when Count &lt;= 0: it is the responsibility of the calling code to check Count > 0
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Datastructures.RingArray`1.Length">
            <summary>
            Total size of the stack
            </summary>
        </member>
        <member name="M:Vintagestory.API.Datastructures.RingArray`1.Add(`0)">
            <summary>
            Pushes an element onto the end of the queue
            </summary>
            <param name="elem"></param>
        </member>
        <member name="M:Vintagestory.API.Datastructures.RingArray`1.Clear">
            <summary>
            Wipes the buffer and resets the count
            </summary>
        </member>
        <member name="M:Vintagestory.API.Datastructures.RingArray`1.ResizeTo(System.Int32)">
            <summary>
            If smaller than the old size, will discard oldest elements first
            </summary>
            <param name="size"></param>
        </member>
        <member name="T:Vintagestory.API.Datastructures.RotatableCube">
             <summary>
             A rotatable version of a cuboid. 
             </summary>
             <example>
             <code language="json">
            "selectionboxbytype": {
            	"*-up": {
            		"x1": 0,
            		"y1": 0,
            		"z1": 0,
            		"x2": 1,
            		"y2": 0.4,
            		"z2": 1
            	},
            	"*-north": {
            		"x1": 0,
            		"y1": 0,
            		"z1": 0,
            		"x2": 1,
            		"y2": 0.4,
            		"z2": 1,
            		"rotateZ": 90,
            		"rotateY": 270
            	},
            	...
            },
             </code>
             </example>
        </member>
        <member name="F:Vintagestory.API.Datastructures.RotatableCube.RotateX">
            <summary>
            The cube's rotation around the X axis.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Datastructures.RotatableCube.RotateY">
            <summary>
            The cube's rotation around the Y axis.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Datastructures.RotatableCube.RotateZ">
            <summary>
            The cube's rotation around the Z axis.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Datastructures.RotatableCube.Origin">
            <summary>
            The origin point for the object to rotate around. Measured in meters from zero, not percent.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Datastructures.SequencesCache`1">
            <summary>
            Thread-safe cache of sequences (ordered collections).
            If two elements return 0 from 'CompareTo' call, they are treated as equal.
            </summary>
            <typeparam name="TElement">Must be IComparable</typeparam>
        </member>
        <member name="T:Vintagestory.API.Datastructures.SmallBoolArray">
            <summary>
            Suitable for up to 32 bool values, though normally used only for 6.  Offers most of the methods available for a bool[], so can be dropped in to existing code
            </summary>
        </member>
        <member name="M:Vintagestory.API.Datastructures.SortableQueue`1.Dequeue">
            <summary>
            Will return invalid data if called when Count &lt;= 0: it is the responsibility of the calling code to check Count > 0
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.SortableQueue`1.DequeueLIFO">
            <summary>
            Will return invalid data if called when Count &lt;= 0: it is the responsibility of the calling code to check Count > 0
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Datastructures.UniqueQueue`1">
            <summary>
            Same as your normal c# queue but ensures that every element is contained only once using a Hashset.
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="P:Vintagestory.API.Datastructures.UniqueQueue`1.Count">
            <summary>
            Amount of elements in the queue
            </summary>
        </member>
        <member name="M:Vintagestory.API.Datastructures.UniqueQueue`1.Clear">
            <summary>
            Emptys the queue and the hashset
            </summary>
        </member>
        <member name="M:Vintagestory.API.Datastructures.UniqueQueue`1.Contains(`0)">
            <summary>
            Check if given item is contained. Uses the hashset to find the item.
            </summary>
            <param name="item"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.UniqueQueue`1.Enqueue(`0)">
            <summary>
            Adds an item to the queue
            </summary>
            <param name="item"></param>
        </member>
        <member name="M:Vintagestory.API.Datastructures.UniqueQueue`1.Dequeue">
            <summary>
            Removes an item from the queue
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Datastructures.UniqueQueue`1.Peek">
            <summary>
            Returns the first item in the queue without removing it.
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.AddDocumentationPropertyAttribute">
            <summary>
            Adds a new property in the DocFX JSON documentation. Useful for attribute types which do not store JSON properties as variables.
            Properties need to be serializable by DocFX, hence why they're all strings. Sorry about that.    
            </summary>
        </member>
        <member name="M:Vintagestory.API.AddDocumentationPropertyAttribute.#ctor(System.String,System.String,System.String,System.String,System.String,System.Boolean)">
            <summary>
            Adds a new property in the DocFX JSON documentation. Useful for attribute types which do not store JSON properties as variables.
            Properties need to be serializable by DocFX, hence why they're all strings. Sorry about that.    
            </summary>
            <param name="name">The name of the property in DocFX.</param>
            <param name="summary">The summary of the property in DocFX.</param>
            <param name="typeWithFullNamespace">The name of the type, along with its full namespace. e.g. "System.Single" or "VintageStory.API.Common.CompositeShape".</param>
            <param name="requiredStatus">The text to put inside the "required" tag in DocFX.</param>
            <param name="defaultStatus">The text to put inside the "default" tag in DocFX. Use an empty string for none.</param>
            <param name="attribute"></param>
        </member>
        <member name="T:Vintagestory.API.DocumentAsJsonAttribute">
             <summary>
             Specifies that this class or property should be inlcuded in the JSON-only documentation.
                 <br/>Has no functional use and can be ommited if the property is marked with [JsonProperty].
                 <br/>When using with enum types, only specify this attribute on the type itself, not each value.
            
             <br/><br/>
             Note that most fields will also contain the following inside their summary tag:<br/>
             &lt;jsonoptional&gt;Optional&lt;/jsonoptional&gt;&lt;jsondefault&gt;None&lt;/jsondefault&gt;
            
             <br/><br/>
             The attribute now has the ability to add in required, default, and attribute parameters.
             These will be analysed by the docFx plugin.
             </summary>
        </member>
        <member name="T:Vintagestory.API.MathTools.Ascii85">
            <summary>
            Converts between binary data and an Ascii85-encoded string.
            </summary>
            <remarks>See <a href="http://en.wikipedia.org/wiki/Ascii85">Ascii85 at Wikipedia</a>.</remarks>
        </member>
        <member name="M:Vintagestory.API.MathTools.Ascii85.Encode(System.Byte[])">
            <summary>
            Encodes the specified byte array in Ascii85.
            </summary>
            <param name="bytes">The bytes to encode.</param>
            <returns>An Ascii85-encoded string representing the input byte array.</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Ascii85.Decode(System.String)">
            <summary>
            Decodes the specified Ascii85 string into the corresponding byte array.
            </summary>
            <param name="encoded">The Ascii85 string.</param>
            <returns>The decoded byte array.</returns>
        </member>
        <member name="T:Vintagestory.API.MathTools.BlockFacing">
            <summary>
            Represents one of the 6 faces of a cube and all it's properties. Uses a right Handed Coordinate System. See also http://www.matrix44.net/cms/notes/opengl-3d-graphics/coordinate-systems-in-opengl
            In short:
            North: Negative Z
            East: Positive X
            South: Positive Z
            West: Negative X
            Up: Positive Y
            Down: Negative Y
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.BlockFacing.HorizontalFlags">
            <summary>
            All horizontal blockfacing flags combined
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.BlockFacing.VerticalFlags">
            <summary>
            All vertical blockfacing flags combined
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.BlockFacing.NORTH">
            <summary>
            Faces towards negative Z
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.BlockFacing.EAST">
            <summary>
            Faces towards positive X
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.BlockFacing.SOUTH">
            <summary>
            Faces towards positive Z
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.BlockFacing.WEST">
            <summary>
            Faces towards negative X
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.BlockFacing.UP">
            <summary>
            Faces towards positive Y
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.BlockFacing.DOWN">
            <summary>
            Faces towards negative Y
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.BlockFacing.ALLFACES">
            <summary>
            All block faces in the order of N, E, S, W, U, D
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.BlockFacing.ALLNORMALI">
            <summary>
            All block faces in the order of N, E, S, W, U, D
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.BlockFacing.AllVertexFlagsNormals">
            <summary>
            Packed ints representing the normal flags, left-shifted by 15 for easy inclusion in VertexFlags
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.BlockFacing.HORIZONTALS">
            <summary>
            Array of horizontal faces (N, E, S, W)
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.BlockFacing.HORIZONTAL_NORMALI">
            <summary>
            Array of the normals to the horizontal faces (N, E, S, W)
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.BlockFacing.VERTICALS">
            <summary>
            Array of vertical faces (U, D)
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.BlockFacing.HORIZONTALS_ANGLEORDER">
            <summary>
            Array of horizontal faces in angle order (0°, 90°, 180°, 270°) => (E, N, W, S)
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.BlockFacing.Flag">
            <summary>
            The faces byte flag
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.BlockFacing.Index">
            <summary>
            The index of the face (N=0, E=1, S=2, W=3, U=4, D=5)
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.BlockFacing.MeshDataIndex">
            <summary>
            Index + 1
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.BlockFacing.HorizontalAngleIndex">
            <summary>
            The angle index of the face (E = 0, N = 1, W = 2, S = 3)
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.BlockFacing.Normali">
            <summary>
            Returns a normal vector of this face.  Classic iterating through these at a position x,y,z is unlikely to be dimension-aware, use BlockFacing.IterateThruFacingOffsets(pos) instead.
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.BlockFacing.Normalf">
            <summary>
            Returns a normal vector of this face
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.BlockFacing.Plane">
            <summary>
            Returns a cuboid where either the width, height or length is zero which represents the min/max of the block 2D plane in 3D space
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.BlockFacing.NormalByte">
            <summary>
            Returns a normal vector of this face encoded in 6 bits/
            bit 0: 1 if south or west
            bit 1: sign bit
            bit 2: 1 if up or down
            bit 3: sign bit
            bit 4: 1 if north or south
            bit 5: sign bit
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.BlockFacing.NormalPacked">
            <summary>
            Normalized normal vector in format GL_INT_2_10_10_10_REV
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.BlockFacing.NormalPackedFlags">
            <summary>
            Normalized normal vector packed into 3x4=12 bytes total and bit shifted by 15 bits, for use in meshdata flags data
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.BlockFacing.PlaneCenter">
            <summary>
            Returns the center position of this face
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.BlockFacing.Code">
            <summary>
            Returns the string north, east, south, west, up or down
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.BlockFacing.IsHorizontal">
            <summary>
            True if this face is N,E,S or W
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.BlockFacing.IsVertical">
            <summary>
            True if this face is U or D
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.BlockFacing.IsAxisNS">
            <summary>
            True if this face is N or S
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.BlockFacing.IsAxisWE">
            <summary>
            True if this face is N or S
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.BlockFacing.Axis">
            <summary>
            The normal axis of this vector.
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.BlockFacing.Opposite">
            <summary>
            Returns the opposing face
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockFacing.GetCCW">
            <summary>
            Returns the face if current face would be horizontally counter-clockwise rotated, only works for horizontal faces
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockFacing.GetCW">
            <summary>
            Returns the face if current face would be horizontally clockwise rotated, only works for horizontal faces
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockFacing.GetHorizontalRotated(System.Int32)">
            <summary>
            Gets the Horizontal BlockFacing by applying the given angel
            If used on a UP or DOWN BlockFacing it will return it's current BlockFacing
            </summary>
            <param name="angle"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockFacing.FaceWhenRotatedBy(System.Single,System.Single,System.Single)">
            <summary>
            Applies a 3d rotation on the face and returns the face thats closest to the rotated face
            </summary>
            <param name="radX"></param>
            <param name="radY"></param>
            <param name="radZ"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockFacing.GetFaceBrightness(System.Single,System.Single,System.Single,System.Single[])">
            <summary>
            Rotates the face by given angle and returns the interpolated brightness of this face.
            </summary>
            <param name="radX"></param>
            <param name="radY"></param>
            <param name="radZ"></param>
            <param name="BlockSideBrightnessByFacing">Array of brightness values between 0 and 1 per face. In index order (N, E, S, W, U, D)</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockFacing.ToAB(Vintagestory.API.MathTools.Vec3f)">
            <summary>
            Project pos onto the block face
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockFacing.IterateThruFacingOffsets(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            In 1.20+ this is the recommended technique for examining blocks on all sides of a BlockPos position, as it is dimension-aware<br/>
            Successive calls to this when looping through the standard six BlockFacings will set pos to the relevant facing offset from the original position<br/>
            NOTE: this modifies the fields of the pos parameter, which is better for heap usage than creating a new BlockPos object for each iteration
            <br/>If necessary to restore the original blockPos value, call FinishIteratingAllFaces(pos)
            </summary>
            <param name="pos"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockFacing.FinishIteratingAllFaces(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Restores the original value of pos, if we are certain we looped through ALLFACES using IterateThruFacingOffsets
            Note: if for any reason control might have exited the loop early, this cannot sensibly be used
            </summary>
            <param name="pos"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockFacing.GetFaceBrightness(System.Double[],System.Single[])">
            <summary>
            Rotates the face by given angle and returns the interpolated brightness of this face.
            </summary>
            <param name="matrix"></param>
            <param name="BlockSideBrightnessByFacing">Array of brightness values between 0 and 1 per face. In index order (N, E, S, W, U, D)</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockFacing.FromCode(System.String)">
            <summary>
            Returns the face if code is 'north', 'east', 'south', 'west', 'north', 'up' or 'down'. Otherwise null.
            </summary>
            <param name="code"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockFacing.FromFirstLetter(System.String)">
            <summary>
            Returns the face if code is 'n', 'e', 's', 'w', 'n', 'u' or 'd'. Otherwise null.
            </summary>
            <param name="code"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockFacing.HorizontalFromAngle(System.Single)">
            <summary>
            Returns the closest horizontal face from given angle (0 degree = east). Uses HORIZONTALS_ANGLEORDER
            </summary>
            <param name="radians"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockFacing.HorizontalFromYaw(System.Single)">
            <summary>
            Returns the closest horizontal face from given angle (0 degree = north for yaw!). Uses HORIZONTALS_ANGLEORDER
            </summary>
            <param name="radians"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockFacing.FlagContains(System.Byte,Vintagestory.API.MathTools.BlockFacing)">
            <summary>
            Returns true if given byte flags contain given face
            </summary>
            <param name="flag"></param>
            <param name="facing"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockFacing.FlagContainsHorizontals(System.Byte)">
            <summary>
            Returns true if given byte flags contains a horizontal face
            </summary>
            <param name="flag"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.MathTools.BlockPos">
            <summary>
            A useful data structure when operating with block postions.<br/>
            Valuable Hint: Make use of Copy() or the XXXCopy() variants where needed. A common pitfall is writing code like: BlockPos abovePos = pos.Up(); - with this code abovePos and pos will reference to the same object!
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.#ctor(System.Int32,System.Int32,System.Int32)">
            <summary>
            The new BlockPos takes its dimension from the supplied y value, if the y value is higher than the DimensionBoundary (32768 blocks).
            This constructor is therefore dimension-aware, so long as the y parameter was originally based on .InternalY, including for example a Vec3d created originally from .InternalY
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.#ctor(Vintagestory.API.MathTools.Vec4i)">
            <summary>
            Note - for backwards compatibility, this is *not* dimension-aware; explicitly set the dimension in the resulting BlockPos if you need to
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.BlockPos.Item(System.Int32)">
            <summary>
            0 = x, 1 = y, 2 = z
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.Up(System.Int32)">
            <summary>
            Move the position vertically up
            </summary>
            <param name="dy"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.Down(System.Int32)">
            <summary>
            Move the position vertically down
            </summary>
            <param name="dy"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.Set(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Not dimension aware (but existing dimension in this BlockPos will be preserved) - use SetAndCorrectDimension() for dimension awareness
            </summary>
            <param name="origin"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.SetAndCorrectDimension(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Dimension aware version of Set() - use this if the Vec3d has the dimension embedded in the Y coordinate (e.g. Y == 65536+ for dimension 2)
            </summary>
            <param name="origin"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.SetAndCorrectDimension(System.Int32,System.Int32,System.Int32)">
            <summary>
            Dimension aware version of Set() - use this if there is a dimension embedded in the y coordinate (e.g. y == 65536+ for dimension 2)
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.Set(System.Int32,System.Int32,System.Int32)">
            <summary>
            Sets XYZ to new values - not dimension aware (but existing dimension will be preserved) - use SetAndCorrectDimension() for dimension awareness
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.SetAndEquals(System.Int32,System.Int32,System.Int32)">
            <summary>
            Sets this BlockPos to the x,y,z values given, and returns a boolean stating if the existing values were already equal to x,y,z
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns>Returns true if the BlockPos already held these exact x, y, z values (the .Set operation has not changed anything)<br/>Returns false if the .Set operation caused a change to the BlockPos</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.ToLocalPosition(Vintagestory.API.Common.ICoreAPI)">
            <summary>
            Convert a block position to coordinates relative to the world spawn position. Note this is dimension unaware
            </summary>
            <param name="api"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.FacingFrom(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Returns the direction moved from the other blockPos, to get to this BlockPos
            </summary>
            <param name="other"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.WestCopy(System.Int32)">
            <summary>
            Creates a copy of this blocks position with the x-position adjusted by -<paramref name="length"/>
            </summary>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.SouthCopy(System.Int32)">
            <summary>
            Creates a copy of this blocks position with the z-position adjusted by +<paramref name="length"/>
            </summary>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.EastCopy(System.Int32)">
            <summary>
            Creates a copy of this blocks position with the x-position adjusted by +<paramref name="length"/>
            </summary>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.NorthCopy(System.Int32)">
            <summary>
            Creates a copy of this blocks position with the z-position adjusted by -<paramref name="length"/>
            </summary>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.DownCopy(System.Int32)">
            <summary>
            Creates a copy of this blocks position with the y-position adjusted by -<paramref name="length"/>
            </summary>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.UpCopy(System.Int32)">
            <summary>
            Creates a copy of this blocks position with the y-position adjusted by +<paramref name="length"/>
            </summary>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.Copy">
            <summary>
            Creates a copy of this blocks position
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.CopyAndCorrectDimension">
            <summary>
            Creates a copy of this blocks position, obtaining the correct dimension value from the Y value
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.Add(System.Single,System.Single,System.Single)">
            <summary>
            Offsets the position by given xyz
            </summary>
            <param name="dx"></param>
            <param name="dy"></param>
            <param name="dz"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.Add(System.Int32,System.Int32,System.Int32)">
            <summary>
            Offsets the position by given xyz
            </summary>
            <param name="dx"></param>
            <param name="dy"></param>
            <param name="dz"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.Add(Vintagestory.API.MathTools.Vec3i)">
            <summary>
            Offsets the position by given xyz vector
            </summary>
            <param name="vector"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.Add(Vintagestory.API.MathTools.FastVec3i)">
            <summary>
            Offsets the position by given xyz vector
            </summary>
            <param name="vector"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.Add(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Offsets the position by given xyz vector
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.Add(Vintagestory.API.MathTools.BlockFacing,System.Int32)">
            <summary>
            Offsets the position into the direction of given block face
            </summary>
            <param name="facing"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.Offset(Vintagestory.API.MathTools.BlockFacing)">
            <summary>
            Offsets the position into the direction of given block face
            </summary>
            <param name="facing"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.AddCopy(System.Single,System.Single,System.Single)">
            <summary>
            Creates a copy of this blocks position and offsets it by given xyz
            </summary>
            <param name="dx"></param>
            <param name="dy"></param>
            <param name="dz"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.AddCopy(System.Int32,System.Int32,System.Int32)">
            <summary>
            Creates a copy of this blocks position and offsets it by given xyz
            </summary>
            <param name="dx"></param>
            <param name="dy"></param>
            <param name="dz"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.AddCopy(System.Int32)">
            <summary>
            Creates a copy of this blocks position and offsets it by given xyz
            </summary>
            <param name="xyz"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.AddCopy(Vintagestory.API.MathTools.Vec3i)">
            <summary>
            Creates a copy of this blocks position and offsets it by given xyz
            </summary>
            <param name="vector"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.AddCopy(Vintagestory.API.MathTools.BlockFacing)">
            <summary>
            Creates a copy of this blocks position and offsets it in the direction of given block face
            </summary>
            <param name="facing"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.AddCopy(Vintagestory.API.MathTools.BlockFacing,System.Int32)">
            <summary>
            Creates a copy of this blocks position and offsets it in the direction of given block face
            </summary>
            <param name="facing"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.Sub(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Substract a position => you'll have the manhattan distance
            </summary>
            <param name="pos"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.Sub(System.Int32,System.Int32,System.Int32)">
            <summary>
            Substract a position => you'll have the manhattan distance
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.SubCopy(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Substract a position => you'll have the manhattan distance.
            <br/>If used within a non-zero dimension the resulting BlockPos will be dimensionless as it's a distance or offset between two positions
            </summary>
            <param name="pos"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.DivCopy(System.Int32)">
            <summary>
            Creates a copy of this blocks position and divides it by given factor
            </summary>
            <param name="factor"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.IterateHorizontalOffsets(System.Int32)">
            <summary>
            Iterate through NESW offsets from the starting position.  See also BlockFacing.IterateThruFacingOffset
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.DistanceTo(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Returns the Euclidean distance to between this and given position. Note if dimensions are different returns maximum value (i.e. infinite)
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.DistanceTo(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Returns the Euclidean distance to between this and given position. Note if dimensions are different returns maximum value (i.e. infinite)
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.DistanceTo(System.Double,System.Double,System.Double)">
            <summary>
            Returns the Euclidean distance to between this and given position. Note this is dimension unaware
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.DistanceSqTo(System.Double,System.Double,System.Double)">
            <summary>
            Returns the squared Euclidean distance to between this and given position. Dimension aware
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.DistanceSqToNearerEdge(System.Double,System.Double,System.Double)">
            <summary>
            Returns the squared Euclidean distance between the nearer edge of this blockpos (assumed 1 x 0.75 x 1 cube) and given position
            The 0.75 offset is because the "heat source" is likely to be above the base position of this block: it's approximate
            Note this is dimension unaware
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.HorDistanceSqTo(System.Double,System.Double)">
            <summary>
            Returns the squared Euclidean horizontal distance to between this and given position
            Note this is dimension unaware
            </summary>
            <param name="x"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.HorizontalManhattanDistance(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Returns the manhattan distance to given position
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.ManhattanDistance(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Returns the manhattan distance to given position
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.ManhattanDistance(System.Int32,System.Int32,System.Int32)">
            <summary>
            Returns the manhattan distance to given position
            Note this is dimension unaware
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.InRangeHorizontally(System.Int32,System.Int32,System.Int32)">
            <summary>
            Returns true if the specified x,z is within a box the specified range around this position
            Note this is dimension unaware
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.ToVec3d">
            <summary>
            Creates a new instance of a Vec3d initialized with this position
            Note this is dimension unaware
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.ToVec3i">
            <summary>
            Creates a new instance of a Vec3i initialized with this position
            Note this is dimension unaware
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.BlockPos.ToColumnIndex3d">
            <summary>
            Like index3d used inside chunks, but the y value can have any value from 0 to worldheight, inside a chunk column
            </summary>
            <returns></returns>
        </member>
        <member name="F:Vintagestory.API.MathTools.Cardinal.North">
            <summary>
            Negative Z
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.Cardinal.NorthEast">
            <summary>
            Positive X, negative Z
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.Cardinal.East">
            <summary>
            Positive X
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.Cardinal.SouthEast">
            <summary>
            Positive X, positive Z
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.Cardinal.South">
            <summary>
            Positive Z
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.Cardinal.SouthWest">
            <summary>
            Negative X, positive Z
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.Cardinal.West">
            <summary>
            Negative X
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.Cardinal.NorthWest">
            <summary>
            Negative X, negative Z
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.CollisionTester.ApplyTerrainCollision(Vintagestory.API.Common.Entities.Entity,Vintagestory.API.Common.Entities.EntityPos,System.Single,Vintagestory.API.MathTools.Vec3d@,System.Single,System.Single)">
            <summary>
            Takes the entity positiona and motion and adds them, respecting any colliding blocks. The resulting new position is put into outposition
            </summary>
            <param name="entity"></param>
            <param name="entityPos"></param>
            <param name="dtFactor"></param>
            <param name="newPosition"></param>
            <param name="stepHeight"></param>
            <param name="yExtra">Default 1 for the extra high collision boxes of fences</param>
        </member>
        <member name="M:Vintagestory.API.MathTools.CollisionTester.IsColliding(Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.MathTools.Cuboidf,Vintagestory.API.MathTools.Vec3d,System.Boolean)">
            <summary>
            Tests given cuboidf collides with the terrain. By default also checks if the cuboid is merely touching the terrain, set alsoCheckTouch to disable that.
            </summary>
            <param name="blockAccessor"></param>
            <param name="entityBoxRel"></param>
            <param name="pos"></param>
            <param name="alsoCheckTouch"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.CollisionTester.GetCollidingCollisionBox(Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.MathTools.Cuboidf,Vintagestory.API.MathTools.Vec3d,System.Boolean)">
            <summary>
            If given cuboidf collides with the terrain, returns the collision box it collides with. By default also checks if the cuboid is merely touching the terrain, set alsoCheckTouch to disable that.
            </summary>
            <param name="blockAccessor"></param>
            <param name="entityBoxRel"></param>
            <param name="pos"></param>
            <param name="alsoCheckTouch"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.CollisionTester.GetCollidingCollisionBox(Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.MathTools.Cuboidf,Vintagestory.API.MathTools.Vec3d,Vintagestory.API.MathTools.Cuboidd@,System.Boolean,System.Int32)">
            <summary>
            Tests given cuboidf collides with the terrain. By default also checks if the cuboid is merely touching the terrain, set alsoCheckTouch to disable that.
            <br/>NOTE: currently not dimension-aware unless the supplied Vec3d pos is dimension-aware
            </summary>
            <param name="blockAccessor"></param>
            <param name="entityBoxRel"></param>
            <param name="pos"></param>
            <param name="intoCuboid"></param>
            <param name="alsoCheckTouch"></param>
            <param name="dimension"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.MathTools.CachingCollisionTester">
            <summary>
            Originally intended to be a special version of CollisionTester for BehaviorControlledPhysics, which does not re-do the WalkBlocks() call and re-generate the CollisionBoxList more than once in the same entity tick
            <br/>Currently in 1.20 the caching is not very useful when we loop through all entities sequentially - but empirical testing shows it is actually faster not to cache
            </summary>
        </member>
        <member name="T:Vintagestory.API.MathTools.EnumColorBlendMode">
            <summary>
            Specifies types of per-pixel color blending.
            </summary>
        </member>
        <member name="T:Vintagestory.API.MathTools.ColorUtil">
            <summary>
            Many utility methods and fields for working with colors
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.ColorUtil.HueBits">
            <summary>
            Amount of bits per block that are available to store the hue value
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.ColorUtil.SatBits">
            <summary>
            Amount of bits per block that are available to store the saturation value
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.ColorUtil.BrightBits">
            <summary>
            Amount of bits per block that are available to store the brightness value
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.ColorUtil.OpaqueAlpha">
            <summary>
            255 &lt;&lt; 24
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.ColorUtil.ClearAlpha">
            <summary>
            ~(255 &lt;&lt; 24)
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.ColorUtil.WhiteRgbVec">
            <summary>
            White opaque color as normalized float values (0..1)
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.ColorUtil.WhiteArgbVec">
            <summary>
            White opaque color as normalized float values (0..1)
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.ColorUtil.WhiteArgbFloat">
            <summary>
            White opaque color as normalized float values (0..1)
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.ColorUtil.WhiteArgbDouble">
            <summary>
            White opaque color as normalized float values (0..1)
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.ColorUtil.WhiteArgbBytes">
            <summary>
            White opaque argb color as bytes (0..255)
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.ColorUtil.WhiteAhsvBytes">
            <summary>
            White opaque ahsv color as bytes (0..255)
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.ColorUtil.WhiteArgb">
            <summary>
            White opaque argb color
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.ColorUtil.WhiteAhsl">
            <summary>
            White opaque AHSV color
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.ColorUtil.BlackArgb">
            <summary>
            Black opaque rgb color
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.ColorUtil.BlackRgbVec">
            <summary>
            Black opaque rgb color
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.ColorUtil.BlackArgbVec">
            <summary>
            Black opaque rgb color
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.ColorUtil.BlackArgbDouble">
            <summary>
            White opaque color as normalized float values (0..1)
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.ReverseColorBytes(System.Byte[])">
            <summary>
            Reverses the RGB channels, but leaves alpha untouched. Basically turns RGBA into BGRA and vice versa
            </summary>
            <param name="color"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.ReverseColorBytes(System.Int32)">
            <summary>
            Reverses the RGB channels, but leaves alpha untouched. Basically turns RGBA into BGRA and vice versa
            </summary>
            <param name="color"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.ToBGRABytes(System.Int32)">
            <summary>
            Splits up a 32bit int color into 4 1 byte components, in BGRA order (Alpha channel at the highest 8 bits)
            </summary>
            <param name="color"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.ToRGBABytes(System.Int32)">
            <summary>
            Splits up a 32bit int color into 4 1 byte components, in RGBA order
            </summary>
            <param name="color"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.ToRGBAFloats(System.Int32)">
            <summary>
            Returns a 4 element rgb float with values between 0..1
            </summary>
            <param name="color"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.ToRGBVec3f(System.Int32,Vintagestory.API.MathTools.Vec3f@)">
            <summary>
            Returns a 4 element rgb float with values between 0..1
            </summary>
            <param name="color"></param>
            <param name="outVal"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.ColorFromRgba(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Care: the returned value is in true RGBA order, not BGRA as used for example by VS particle system.  Therefore, depending on use, calling code may need to exchange the r and b parameters to see correct colors rendered in-game.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.ToRGBADoubles(System.Int32)">
            <summary>
            Returns a 4 element rgb double with values between 0..1
            </summary>
            <param name="color"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.ColorMultiply(System.Byte[],System.Byte[])">
            <summary>
            Multiplies two colors together: c=(a*b)/255
            </summary>
            <param name="color1"></param>
            <param name="color2"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.ColorMultiplyEach(System.Int32,System.Int32)">
            <summary>
            Multiplies two colors together c=(a*b)/255
            </summary>
            <param name="color"></param>
            <param name="color2"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.ColorMultiply3(System.Int32,System.Single)">
            <summary>
            Multiplies a float value to the rgb color channels, leaves alpha channel unchanged
            </summary>
            <param name="color"></param>
            <param name="multiplier"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.ColorMultiply3Clamped(System.Int32,System.Single)">
            <summary>
            Multiplies a float value to the rgb color channels, leaves alpha channel unchanged. Makes sure the multiplied value stays within the 0..255 range
            </summary>
            <param name="color"></param>
            <param name="multiplier"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.ColorMultiply4(System.Int32,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Multiplies a float value to the rgb color channels
            </summary>
            <param name="color"></param>
            <param name="blueMul"></param>
            <param name="redMul"></param>
            <param name="greenMul"></param>
            <param name="alphaMul"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.ColorMultiply4(System.Int32,System.Single)">
            <summary>
            Multiplies a float value to every color channel including the alpha component.
            </summary>
            <param name="color"></param>
            <param name="multiplier"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.ColorAverage(System.Int32[],System.Single[])">
            <summary>
            Averages several colors together in RGB space
            </summary>
            <param name="colors"></param>
            <param name="weights"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.ColorOverlay(System.Int32,System.Int32,System.Single)">
            <summary>
            Overlays rgb2 over rgb1
            When c2weight = 0 resulting color is color1, when c2weight = 1 then resulting color is color2
            Resulting color alpha value is 100% color1 alpha
            </summary>
            <param name="rgb1"></param>
            <param name="rgb2"></param>
            <param name="c2weight"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.ColorOver(System.Int32,System.Int32)">
            <summary>
            Overlays rgb1 on top of rgb2, based on their alpha values
            </summary>
            <param name="rgb1"></param>
            <param name="rgb2"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.MergeLightHSV(System.Byte[],System.Byte[])">
            <summary>
            Mixes H and S, and Max() of V
            </summary>
            <param name="rightHsv"></param>
            <param name="leftHsv"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.ColorCombineHSV(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Combines two HSV colors by converting them to rgb then back to hsv. Uses the brightness as a weighting factor. Also leaves the brightness at the max of both hsv colors.
            </summary>
            <param name="h1"></param>
            <param name="s1"></param>
            <param name="v1"></param>
            <param name="h2"></param>
            <param name="s2"></param>
            <param name="v2"></param>
            <returns>Combined HSV Color</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.ColorSubstractHSV(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Removes HSV2 from HSV1 by converting them to rgb then back to hsv. Uses the brightness as a weighting factor. Leaves brightness unchanged.
            </summary>
            <param name="h1"></param>
            <param name="s1"></param>
            <param name="v1"></param>
            <param name="h2"></param>
            <param name="s2"></param>
            <param name="v2"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.ToRgba(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Pack the 4 color components into a single ARGB 32bit int
            </summary>
            <param name="a"></param>
            <param name="r"></param>
            <param name="g"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.ColorA(System.Int32)">
            <summary>
            Returns alpha value of given color
            </summary>
            <param name="color"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.ColorR(System.Int32)">
            <summary>
            Returns red value of given color
            </summary>
            <param name="color"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.ColorG(System.Int32)">
            <summary>
            Returns green value of given color
            </summary>
            <param name="color"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.ColorB(System.Int32)">
            <summary>
            Returns blue value of given color
            </summary>
            <param name="color"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.ColorToString(System.Int32)">
            <summary>
            Returns human a readable string of given color
            </summary>
            <param name="color"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.Hex2Int(System.String)">
            <summary>
            Turn a string hex color (with #) into a single int
            </summary>
            <param name="hex"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.Int2Hex(System.Int32)">
            <summary>
            Turn a color int into its string hex version, including preceeding #
            </summary>
            <param name="color"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.Int2HexRgba(System.Int32)">
            <summary>
            Turn a color int into its string hex version, including preceeding #, including alpha channel
            </summary>
            <param name="color"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.Hex2Doubles(System.String)">
            <summary>
            Parses a hex string as an rgb(a) color and returns an array of colors normalized fom 0..1 for use with Cairo. E.g. turns #FF0000 into double[1, 0, 0, 1] and #00FF00CC into double[0, 1, 0, 0.8]
            </summary>
            <param name="hex"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.Rgb2Hsv(System.Single,System.Single,System.Single)">
            <summary>
            Converts given RGB values into it's respective HSV Representation (all values in range of 0-255)
            In the result, V is the MOST significant byte
            </summary>
            <param name="r"></param>
            <param name="g"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.Rgb2HSv(System.Int32)">
            <summary>
            Converts given RGB value into it's respective HSV Representation (all values in range of 0-255)
            In the parameter, R is the most significant byte i.e. this is for RGB
            In the result, V is the LEAST significant byte
            </summary>
            <param name="rgb"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.RgbToHsvInts(System.Int32,System.Int32,System.Int32)">
            <summary>
            Converts given RGB values into it's respective HSV Representation (all values in range of 0-255)
            </summary>
            <param name="r"></param>
            <param name="g"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.Hsv2Rgb(System.Int32)">
            <summary>
            Converts given HSV value into it's respective RGB Representation (all values in range of 0-255)
            R is the most significant byte i.e. this is RGB
            </summary>
            <param name="hsv"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.HsvToRgb(System.Int32,System.Int32,System.Int32)">
            <summary>
            Converts given HSV values into it's respective RGB Representation (all values in range of 0-255)
            R is the most significant byte i.e. this is RGB
            </summary>
            <param name="h"></param>
            <param name="s"></param>
            <param name="v"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.GrayscaleColor(System.Byte)">
            <summary>
            Returns a fully opaque gray color with given brightness
            </summary>
            <param name="brightness"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.HsvToRgba(System.Int32,System.Int32,System.Int32)">
            <summary>
            Converts given HSB values into it's respective ARGB Representation (all values in range of 0-255, alpha always 255)
            R is the LEAST significant byte i.e. the result is BGR
            </summary>
            <param name="h"></param>
            <param name="s"></param>
            <param name="v"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.HsvToRgba(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Converts given HSV values into its respective ARGB Representation (all values in range of 0-255)
            R is the LEAST significant byte i.e. the result is BGR
            </summary>
            <param name="h"></param>
            <param name="s"></param>
            <param name="v"></param>
            <param name="a"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.Hsv2RgbInts(System.Int32,System.Int32,System.Int32)">
            <summary>
            Converts given HSV values into its respective RGB representation (all values in range of 0-255)
            R is the first byte in the resulting array
            </summary>
            <param name="h"></param>
            <param name="s"></param>
            <param name="v"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ColorUtil.HSVa2RGBaBytes(System.Byte[])">
            <summary>
            Converts given HSVA values into its respective RGBA Representation (all values in range of 0-255)
            R is the first byte in the resulting array
            </summary>
            <param name="hsva"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.MathTools.ColorUtil.LightUtil">
            <summary>
            Converts HSV (extracted from light and lightSat) to RGBA
            </summary>
        </member>
        <member name="T:Vintagestory.API.MathTools.Crc32Algorithm">
            <summary>
            Implementation of CRC-32.
            This class supports several convenient static methods returning the CRC as UInt32.
            From https://github.com/force-net/Crc32.NET
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Crc32Algorithm.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Vintagestory.API.MathTools.Crc32Algorithm"/> class. 
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Crc32Algorithm.Append(System.UInt32,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Computes CRC-32 from multiple buffers.
            Call this method multiple times to chain multiple buffers.
            </summary>
            <param name="initial">
            Initial CRC value for the algorithm. It is zero for the first buffer.
            Subsequent buffers should have their initial value set to CRC value returned by previous call to this method.
            </param>
            <param name="input">Input buffer with data to be checksummed.</param>
            <param name="offset">Offset of the input data within the buffer.</param>
            <param name="length">Length of the input data in the buffer.</param>
            <returns>Accumulated CRC-32 of all buffers processed so far.</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Crc32Algorithm.Append(System.UInt32,System.Byte[])">
            <summary>
            Computes CRC-3C from multiple buffers.
            Call this method multiple times to chain multiple buffers.
            </summary>
            <param name="initial">
            Initial CRC value for the algorithm. It is zero for the first buffer.
            Subsequent buffers should have their initial value set to CRC value returned by previous call to this method.
            </param>
            <param name="input">Input buffer containing data to be checksummed.</param>
            <returns>Accumulated CRC-32 of all buffers processed so far.</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Crc32Algorithm.Compute(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Computes CRC-32 from input buffer.
            </summary>
            <param name="input">Input buffer with data to be checksummed.</param>
            <param name="offset">Offset of the input data within the buffer.</param>
            <param name="length">Length of the input data in the buffer.</param>
            <returns>CRC-32 of the data in the buffer.</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Crc32Algorithm.Compute(System.Byte[])">
            <summary>
            Computes CRC-32 from input buffer.
            </summary>
            <param name="input">Input buffer containing data to be checksummed.</param>
            <returns>CRC-32 of the buffer.</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Crc32Algorithm.Initialize">
            <summary>
            Resets internal state of the algorithm. Used internally.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Crc32Algorithm.HashCore(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Appends CRC-32 from given buffer
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Crc32Algorithm.HashFinal">
            <summary>
            Computes CRC-32 from <see cref="M:Vintagestory.API.MathTools.Crc32Algorithm.HashCore(System.Byte[],System.Int32,System.Int32)"/>
            </summary>
        </member>
        <member name="T:Vintagestory.API.MathTools.Cuboidd">
            <summary>
            Represents a three dimensional axis-aligned cuboid using two 3d coordinates. Used for collision and selection withes.
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.Cuboidd.Width">
            <summary>
            MaxX-MinX
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.Cuboidd.Height">
            <summary>
            MaxY-MinY
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.Cuboidd.Length">
            <summary>
            MaxZ-MinZ
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.Set(System.Double,System.Double,System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Sets the minimum and maximum values of the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.Set(Vintagestory.API.MathTools.IVec3,Vintagestory.API.MathTools.IVec3)">
            <summary>
            Sets the minimum and maximum values of the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.Set(Vintagestory.API.MathTools.Cuboidf)">
            <summary>
            Sets the minimum and maximum values of the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.SetAndTranslate(Vintagestory.API.MathTools.Cuboidf,Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Sets the cuboid to the selectionBox, translated by vec
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.SetAndTranslate(Vintagestory.API.MathTools.Cuboidf,System.Double,System.Double,System.Double)">
            <summary>
            Sets the cuboid to the selectionBox, translated by (dX, dY, dZ)
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.Translate(Vintagestory.API.MathTools.IVec3)">
            <summary>
            Adds the given offset to the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.Translate(System.Double,System.Double,System.Double)">
            <summary>
            Adds the given offset to the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.ContainsOrTouches(System.Double,System.Double,System.Double)">
            <summary>
            Returns if the given point is inside the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.Contains(System.Double,System.Double,System.Double)">
            <summary>
            Returns if the given point is inside the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.ContainsOrTouches(Vintagestory.API.MathTools.IVec3)">
            <summary>
            Returns if the given point is inside the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.GrowToInclude(System.Int32,System.Int32,System.Int32)">
            <summary>
            Grows the cuboid so that it includes the given block
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.GrowToInclude(Vintagestory.API.MathTools.IVec3)">
            <summary>
            Grows the cuboid so that it includes the given block
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.ShortestDistanceFrom(System.Double,System.Double,System.Double)">
            <summary>
            Returns the shortest distance between given point and any point inside the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.ShortestVerticalDistanceFrom(System.Double)">
            <summary>
            Returns the shortest distance between given point and any point inside the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.ShortestVerticalDistanceFrom(Vintagestory.API.MathTools.Cuboidd)">
            <summary>
            Returns the shortest vertical distance to any point between this and given cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.ShortestVerticalDistanceFrom(Vintagestory.API.MathTools.Cuboidf,Vintagestory.API.Common.Entities.EntityPos)">
            <summary>
            Returns the shortest distance to any point between this and given cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.ShortestDistanceFrom(Vintagestory.API.MathTools.Cuboidd)">
            <summary>
            Returns the shortest distance to any point between this and given cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.ShortestDistanceFrom(Vintagestory.API.MathTools.Cuboidf,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Returns the shortest distance to any point between this and given cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.ShortestHorizontalDistanceFrom(Vintagestory.API.MathTools.Cuboidf,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Returns the shortest horizontal distance to any point between this and given cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.ShortestHorizontalDistanceFrom(System.Double,System.Double)">
            <summary>
            Returns the shortest horizontal distance to any point between this and given coordinate
            </summary>
            <param name="x"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.ShortestDistanceFrom(Vintagestory.API.MathTools.IVec3)">
            <summary>
            Returns the shortest distance between given point and any point inside the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.pushOutX(Vintagestory.API.MathTools.Cuboidd,System.Double,Vintagestory.API.MathTools.EnumPushDirection@)">
            <summary>
            Returns a new x coordinate that's ensured to be outside this cuboid. Used for collision detection.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.pushOutY(Vintagestory.API.MathTools.Cuboidd,System.Double,Vintagestory.API.MathTools.EnumPushDirection@)">
            <summary>
            Returns a new y coordinate that's ensured to be outside this cuboid. Used for collision detection.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.pushOutZ(Vintagestory.API.MathTools.Cuboidd,System.Double,Vintagestory.API.MathTools.EnumPushDirection@)">
            <summary>
            Returns a new z coordinate that's ensured to be outside this cuboid. Used for collision detection.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.RotatedCopy(System.Double,System.Double,System.Double,Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Performs a 3-dimensional rotation on the cuboid and returns a new axis-aligned cuboid resulting from this rotation. Not sure it it makes any sense to use this for other rotations than 90 degree intervals.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.RotatedCopy(Vintagestory.API.MathTools.IVec3,Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Performs a 3-dimensional rotation on the cuboid and returns a new axis-aligned cuboid resulting from this rotation. Not sure it makes any sense to use this for other rotations than 90 degree intervals.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.OffsetCopy(System.Double,System.Double,System.Double)">
            <summary>
            Returns a new cuboid offseted by given position
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.OffsetCopy(Vintagestory.API.MathTools.IVec3)">
            <summary>
            Returns a new cuboid offseted by given position
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.Intersects(Vintagestory.API.MathTools.Cuboidd)">
            <summary>
            If the given cuboid intersects with this cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.Intersects(Vintagestory.API.MathTools.Cuboidf)">
            <summary>
            If the given cuboid intersects with this cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.Intersects(Vintagestory.API.MathTools.Cuboidf,Vintagestory.API.MathTools.Vec3d)">
            <summary>
            If the given cuboid intersects with this cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.IntersectsOrTouches(Vintagestory.API.MathTools.Cuboidd)">
            <summary>
            If the given cuboid intersects with this cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.IntersectsOrTouches(Vintagestory.API.MathTools.Cuboidf,Vintagestory.API.MathTools.Vec3d)">
            <summary>
            If the given cuboid intersects with this cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.IntersectsOrTouches(Vintagestory.API.MathTools.Cuboidf,System.Double,System.Double,System.Double)">
            <summary>
            If the given cuboid intersects with this cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidd.Clone">
            <summary>
            Creates a copy of the cuboid
            </summary>
        </member>
        <member name="T:Vintagestory.API.MathTools.Cuboidf">
            <summary>
            Represents a three dimensional axis-aligned cuboid using two 3D coordinates. Used for collision and selection boxes.
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.Cuboidf.X1">
            <summary>
            Start X Pos
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.Cuboidf.Y1">
            <summary>
            Start Y Pos
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.Cuboidf.Z1">
            <summary>
            Start Z Pos
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.Cuboidf.X2">
            <summary>
            End X Pos
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.Cuboidf.Y2">
            <summary>
            End Y Pos
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.Cuboidf.Z2">
            <summary>
            End Z Pos
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.Cuboidf.XSize">
            <summary>
            This is equivalent to width so long as X2 > X1, but could in theory be a negative number if the box has its corners the wrong way around
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.Cuboidf.YSize">
            <summary>
            This is equivalent to height so long as Y2 > Y1, but could in theory be a negative number if the box has its corners the wrong way around
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.Cuboidf.ZSize">
            <summary>
            This is equivalent to length so long as Z2 > Z1, but could in theory be a negative number if the box has its corners the wrong way around
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.Cuboidf.Empty">
            <summary>
            True when all values are 0
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidf.Set(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Sets the minimum and maximum values of the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidf.Set(Vintagestory.API.MathTools.IVec3,Vintagestory.API.MathTools.IVec3)">
            <summary>
            Sets the minimum and maximum values of the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidf.Translate(System.Single,System.Single,System.Single)">
            <summary>
            Adds the given offset to the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidf.Translate(Vintagestory.API.MathTools.IVec3)">
            <summary>
            Adds the given offset to the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidf.Sub(System.Single,System.Single,System.Single)">
            <summary>
            Substractes the given offset to the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidf.Sub(Vintagestory.API.MathTools.IVec3)">
            <summary>
            Substractes the given offset to the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidf.Contains(System.Double,System.Double,System.Double)">
            <summary>
            Returns if the given point is inside the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidf.ContainsOrTouches(System.Single,System.Single,System.Single)">
            <summary>
            Returns if the given point is inside the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidf.ContainsOrTouches(Vintagestory.API.MathTools.IVec3)">
            <summary>
            Returns if the given point is inside the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidf.IntersectsOrTouches(Vintagestory.API.MathTools.Cuboidf)">
            <summary>
            If the given cuboid intersects with this cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidf.GrowToInclude(System.Int32,System.Int32,System.Int32)">
            <summary>
            Grows the cuboid so that it includes the given block
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidf.GrowToInclude(Vintagestory.API.MathTools.IVec3)">
            <summary>
            Grows the cuboid so that it includes the given block
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidf.ShortestDistanceFrom(System.Single,System.Single,System.Single)">
            <summary>
            Returns the shortest distance between given point and any point inside the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidf.ShortestDistanceFrom(Vintagestory.API.MathTools.IVec3)">
            <summary>
            Returns the shortest distance between given point and any point inside the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidf.pushOutX(Vintagestory.API.MathTools.Cuboidf,System.Single,Vintagestory.API.MathTools.EnumPushDirection@)">
            <summary>
            Returns a new x coordinate that's ensured to be outside this cuboid. Used for collision detection.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidf.pushOutY(Vintagestory.API.MathTools.Cuboidf,System.Single,Vintagestory.API.MathTools.EnumPushDirection@)">
            <summary>
            Returns a new y coordinate that's ensured to be outside this cuboid. Used for collision detection.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidf.pushOutZ(Vintagestory.API.MathTools.Cuboidf,System.Single,Vintagestory.API.MathTools.EnumPushDirection@)">
            <summary>
            Returns a new z coordinate that's ensured to be outside this cuboid. Used for collision detection.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidf.RotatedCopy(System.Single,System.Single,System.Single,Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Performs a 3-dimensional rotation on the cuboid and returns a new axis-aligned cuboid resulting from this rotation. Not sure it it makes any sense to use this for other rotations than 90 degree intervals.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidf.TransformedCopy(System.Single[])">
            <summary>
            Performs a 3-dimensional rotation on the cuboid and returns a new axis-aligned cuboid resulting from this rotation. Not sure it it makes any sense to use this for other rotations than 90 degree intervals.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidf.RotatedCopy(Vintagestory.API.MathTools.IVec3,Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Performs a 3-dimensional rotation on the cuboid and returns a new axis-aligned cuboid resulting from this rotation. Not sure it it makes any sense to use this for other rotations than 90 degree intervals.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidf.OffsetCopy(System.Single,System.Single,System.Single)">
            <summary>
            Returns a new double precision cuboid offseted by given position
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidf.OffsetCopy(Vintagestory.API.MathTools.IVec3)">
            <summary>
            Returns a new cuboid offseted by given position
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidf.OffsetCopyDouble(System.Double,System.Double,System.Double)">
            <summary>
            Returns a new cuboid offseted by given position
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidf.OffsetCopyDouble(Vintagestory.API.MathTools.IVec3)">
            <summary>
            Returns a new cuboid offseted by given position
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidf.Expand(Vintagestory.API.MathTools.BlockFacing,System.Single)">
            <summary>
            Expands this in the given direction by amount d
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidf.Clone">
            <summary>
            Creates a copy of the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidf.Default">
            <summary>
            Returns a new cuboid with default size 1 width/height/length
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidf.RoundToFracsOfOne10thousand">
            <summary>
            Makes sure the collisionbox coords are multiples of 0.0001
            </summary>
        </member>
        <member name="T:Vintagestory.API.MathTools.Cuboidi">
            <summary>
            A 3D cuboid, created out of integers.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.Set(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Sets the minimum and maximum values of the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.Set(Vintagestory.API.MathTools.IVec3,Vintagestory.API.MathTools.IVec3)">
            <summary>
            Sets the minimum and maximum values of the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.Translate(System.Int32,System.Int32,System.Int32)">
            <summary>
            Adds the given offset to the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.Translate(Vintagestory.API.MathTools.IVec3)">
            <summary>
            Adds the given offset to the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.Sub(System.Int32,System.Int32,System.Int32)">
            <summary>
            Substractes the given offset to the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.Div(System.Int32)">
            <summary>
            Divides the given value to the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.Sub(Vintagestory.API.MathTools.IVec3)">
            <summary>
            Substractes the given offset to the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.Contains(System.Int32,System.Int32,System.Int32)">
            <summary>
            Returns if the given point is inside the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.Contains(System.Int32,System.Int32)">
            <summary>
            Returns if the given point is inside the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.Contains(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Returns if the given point is inside the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.ContainsOrTouches(System.Int32,System.Int32,System.Int32)">
            <summary>
            Returns if the given point is inside the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.ContainsOrTouches(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Returns if the given point is inside the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.ContainsOrTouches(Vintagestory.API.MathTools.IVec3)">
            <summary>
            Returns if the given point is inside the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.ContainsOrTouches(Vintagestory.API.Common.Entities.EntityPos)">
            <summary>
            Returns if the given entityPos is inside the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.GrowToInclude(System.Int32,System.Int32,System.Int32)">
            <summary>
            Grows the cuboid so that it includes the given block
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.GrowToInclude(Vintagestory.API.MathTools.IVec3)">
            <summary>
            Grows the cuboid so that it includes the given block
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.ShortestDistanceFrom(System.Int32,System.Int32,System.Int32)">
            <summary>
            Returns the shortest distance between given point and any point inside the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.ShortestDistanceFrom(Vintagestory.API.MathTools.IVec3)">
            <summary>
            Returns the shortest distance between given point and any point inside the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.ShortestDistanceFrom(Vintagestory.API.MathTools.Cuboidi)">
            <summary>
            Returns the shortest distance to any point between this and given cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.pushOutX(Vintagestory.API.MathTools.Cuboidi,System.Int32,Vintagestory.API.MathTools.EnumPushDirection@)">
            <summary>
            Returns a new x coordinate that's ensured to be outside this cuboid. Used for collision detection.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.pushOutY(Vintagestory.API.MathTools.Cuboidi,System.Int32,Vintagestory.API.MathTools.EnumPushDirection@)">
            <summary>
            Returns a new y coordinate that's ensured to be outside this cuboid. Used for collision detection.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.pushOutZ(Vintagestory.API.MathTools.Cuboidi,System.Int32,Vintagestory.API.MathTools.EnumPushDirection@)">
            <summary>
            Returns a new z coordinate that's ensured to be outside this cuboid. Used for collision detection.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.RotatedCopy(System.Int32,System.Int32,System.Int32,Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Performs a 3-dimensional rotation on the cuboid and returns a new axis-aligned cuboid resulting from this rotation. Not sure it it makes any sense to use this for other rotations than 90 degree intervals.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.RotatedCopy(Vintagestory.API.MathTools.IVec3,Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Performs a 3-dimensional rotation on the cuboid and returns a new axis-aligned cuboid resulting from this rotation. Not sure it it makes any sense to use this for other rotations than 90 degree intervals.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.OffsetCopy(System.Int32,System.Int32,System.Int32)">
            <summary>
            Returns a new cuboid offseted by given position
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.OffsetCopy(Vintagestory.API.MathTools.IVec3)">
            <summary>
            Returns a new cuboid offseted by given position
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.Intersects(Vintagestory.API.MathTools.Cuboidi)">
            <summary>
            If the given cuboid intersects with this cubiod
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.Intersects(Vintagestory.API.MathTools.HorRectanglei)">
            <summary>
            Ignores the y-axis
            </summary>
            <param name="with"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.IntersectsOrTouches(Vintagestory.API.MathTools.Cuboidi)">
            <summary>
            If the given cuboid intersects  with or is adjacent to this cubiod
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.Clone">
            <summary>
            Creates a copy of the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Cuboidi.IsAdjacent(Vintagestory.API.MathTools.Cuboidi)">
            <summary>
            Returns true if supplied cuboid is directly adjacent to this one
            </summary>
            <param name="cuboidi"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ICuboid`2.Set(`0,`0,`0,`0,`0,`0)">
            <summary>
            Sets the minimum and maximum values of the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.ICuboid`2.Set(Vintagestory.API.MathTools.IVec3,Vintagestory.API.MathTools.IVec3)">
            <summary>
            Sets the minimum and maximum values of the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.ICuboid`2.Translate(`0,`0,`0)">
            <summary>
            Adds the given offset to the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.ICuboid`2.Translate(Vintagestory.API.MathTools.IVec3)">
            <summary>
            Adds the given offset to the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.ICuboid`2.ContainsOrTouches(`0,`0,`0)">
            <summary>
            Returns if the given point is inside the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.ICuboid`2.ContainsOrTouches(Vintagestory.API.MathTools.IVec3)">
            <summary>
            Returns if the given point is inside the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.ICuboid`2.GrowToInclude(System.Int32,System.Int32,System.Int32)">
            <summary>
            Grows the cuboid so that it includes the given block
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.ICuboid`2.GrowToInclude(Vintagestory.API.MathTools.IVec3)">
            <summary>
            Returns the shortest distance between given point and any point inside the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.ICuboid`2.ShortestDistanceFrom(`0,`0,`0)">
            <summary>
            Returns the shortest distance between given point and any point inside the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.ICuboid`2.ShortestDistanceFrom(Vintagestory.API.MathTools.IVec3)">
            <summary>
            Returns the shortest distance between given point and any point inside the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.ICuboid`2.pushOutX(`1,`0,Vintagestory.API.MathTools.EnumPushDirection@)">
            <summary>
            Returns a new x coordinate that's ensured to be outside this cuboid. Used for collision detection.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.ICuboid`2.pushOutY(`1,`0,Vintagestory.API.MathTools.EnumPushDirection@)">
            <summary>
            Returns a new y coordinate that's ensured to be outside this cuboid. Used for collision detection.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.ICuboid`2.pushOutZ(`1,`0,Vintagestory.API.MathTools.EnumPushDirection@)">
            <summary>
            Returns a new z coordinate that's ensured to be outside this cuboid. Used for collision detection.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.ICuboid`2.RotatedCopy(`0,`0,`0,Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Performs a 3-dimensional rotation on the cuboid and returns a new axis-aligned cuboid resulting from this rotation. Not sure it it makes any sense to use this for other rotations than 90 degree intervals.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.ICuboid`2.RotatedCopy(Vintagestory.API.MathTools.IVec3,Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Performs a 3-dimensional rotation on the cuboid and returns a new axis-aligned cuboid resulting from this rotation. Not sure it it makes any sense to use this for other rotations than 90 degree intervals.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.ICuboid`2.OffsetCopy(`0,`0,`0)">
            <summary>
            Returns a new cuboid offseted by given position
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.ICuboid`2.OffsetCopy(Vintagestory.API.MathTools.IVec3)">
            <summary>
            Returns a new cuboid offseted by given position
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.ICuboid`2.Clone">
            <summary>
            Creates a copy of the cuboid
            </summary>
        </member>
        <member name="T:Vintagestory.API.MathTools.EnumAxis">
            <summary>
            Represents an axis in the cartesian coordinate system
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumAxis.X">
            <summary>
            West or East
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumAxis.Y">
            <summary>
            Up or down
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumAxis.Z">
            <summary>
            North or South
            </summary>
        </member>
        <member name="T:Vintagestory.API.MathTools.EnumCombination">
            <summary>
            Used to define how variant types interact with each other to create unique objects.
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumCombination.Add">
            <summary>
            This variant type will ignore all other variant types. Each state is appended onto the object's code, without any other variant types.
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumCombination.Multiply">
            <summary>
            Default behavior - This variant's states will be enumerated with all other variant states that have this combination.
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumCombination.SelectiveMultiply">
            <summary>
            This variant's states will be enumerated only with the selected variant group. You must select another variant code using the 'onVariant' property. 
            </summary>
        </member>
        <member name="T:Vintagestory.API.MathTools.EnumTransformFunction">
            <summary>
            Used for EvolvingNatFloat value transforms
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumTransformFunction.IDENTICAL">
            <summary>
            y = firstval
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumTransformFunction.LINEAR">
            <summary>
            y = firstval + factor * seq
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumTransformFunction.LINEARNULLIFY">
            <summary>
            y = factor > 0 ? Math.Min(0, firstval + factor * seq) : Math.Max(0, firstval + factor * seq)
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumTransformFunction.LINEARREDUCE">
            <summary>
            firstval - firstval / Math.Abs(firstval) * factor * seq
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumTransformFunction.LINEARINCREASE">
            <summary>
            firstval + firstval / Math.Abs(firstval) * factor * seq
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumTransformFunction.QUADRATIC">
            <summary>
            firstval + Math.Sign(factor) * (factor * seq) * (factor * seq)
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumTransformFunction.INVERSELINEAR">
            <summary>
            firstval + 1f / (1f + factor * seq)
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumTransformFunction.ROOT">
            <summary>
            firstval + (float)Math.Sqrt(factor * seq)
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumTransformFunction.SINUS">
            <summary>
            firstval + GameMath.FastSin(factor * seq)
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumTransformFunction.CLAMPEDPOSITIVESINUS">
            <summary>
            firstval * GameMath.Min(5 * Math.Abs(GameMath.FastSin(factor * seq)), 1)
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumTransformFunction.COSINUS">
            <summary>
            firstval + GameMath.FastCos(factor * seq)
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumTransformFunction.SMOOTHSTEP">
            <summary>
            firstval + GameMath.SmoothStep(factor * seq)
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumTransformFunction.UNSPECIFIED">
            <summary>
            Used for EvolvingNatFloat (and any other similar structs), indicates that the EvolvingNatFloat is unspecified - similar purpose to it having a null value
            </summary>
        </member>
        <member name="T:Vintagestory.API.MathTools.EvolvingNatFloat">
            <summary>
            A number generator whose return value changes over time, parametrized by a transform function and some constants
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EvolvingNatFloat.transform">
            <summary>
            The type of function to use as this value changes.
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EvolvingNatFloat.factor">
            <summary>
            A scale factor for the value during the transformation function.
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EvolvingNatFloat.maxvalue">
            <summary>
            The maximum value this random value can return.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.EvolvingNatFloat.nextFloat(System.Single,System.Single)">
            <summary>
            The sequence should always run from 0 to n
            </summary>
            <param name="firstvalue"></param>
            <param name="sequence"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.MathTools.GameMath">
            <summary>
            A large set of useful game mathematics functions
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.GameMath.TWOPI">
            <summary>
            360°
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.GameMath.PI">
            <summary>
            180°
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.GameMath.PIHALF">
            <summary>
            90°
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.GameMath.ONEOVERROOT2">
            <summary>
            1 divided by the square root of 2 - useful for creating normalised vectors, e.g. (ONEOVERROOT2, ONEOVERROOT2, 0) is a vector with length 1.0.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.Sin(System.Single)">
            <summary>
            The sine of the angle, expressed as a float.  The angle is in radians
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.Cos(System.Single)">
            <summary>
            The cosine of the angle, expressed as a float.  The angle is in radians
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.FastSin(System.Single)">
            <summary>
            Faster Sin at the cost of lower accuracy
            </summary>
            <param name="rad"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.FastCos(System.Single)">
            <summary>
            Faster Cos at the cost of lower accuracy
            </summary>
            <param name="rad"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.FastSinDeg(System.Single)">
            <summary>
            Faster Sin at the cost of lower accuracy
            </summary>
            <param name="deg"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.FastCosDeg(System.Single)">
            <summary>
            Faster Cos at the cost of lower accuracy
            </summary>
            <param name="deg"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.Clamp(System.Single,System.Single,System.Single)">
            <summary>
            Force val to be inside a certain range
            </summary>
            <param name="val"></param>
            <param name="min"></param>
            <param name="max"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.Clamp(System.Int32,System.Int32,System.Int32)">
            <summary>
            Force val to be inside a certain range
            </summary>
            <param name="val"></param>
            <param name="min"></param>
            <param name="max"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.Clamp(System.Byte,System.Byte,System.Byte)">
            <summary>
            Force val to be inside a certain range
            </summary>
            <param name="val"></param>
            <param name="min"></param>
            <param name="max"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.Clamp(System.Double,System.Double,System.Double)">
            <summary>
            Force val to be inside a certain range
            </summary>
            <param name="val"></param>
            <param name="min"></param>
            <param name="max"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.InverseClamp(System.Int32,System.Int32,System.Int32)">
            <summary>
            Force val to be outside a certain range
            </summary>
            <param name="val"></param>
            <param name="atLeastNeg"></param>
            <param name="atLeastPos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.Mod(System.Int32,System.Int32)">
            <summary>
            C#'s %-Operation is actually not modulo but remainder, so this is the actual modulo function that ensures positive numbers as return value
            </summary>
            <param name="k"></param>
            <param name="n"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.Mod(System.Single,System.Single)">
            <summary>
            C#'s %-Operation is actually not modulo but remainder, so this is the actual modulo function that ensures positive numbers as return value
            </summary>
            <param name="k"></param>
            <param name="n"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.Mod(System.Double,System.Double)">
            <summary>
            C#'s %-Operation is actually not modulo but remainder, so this is the actual modulo function that ensures positive numbers as return value
            </summary>
            <param name="k"></param>
            <param name="n"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.RoundRandom(System.Random,System.Single)">
            <summary>
            Treats given value as a statistical average. Example: 2.1 will turn into 2 90% of the times and into 3 10% of times.
            </summary>
            <param name="rand"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.RoundRandom(Vintagestory.API.MathTools.IRandom,System.Single)">
            <summary>
            Treats given value as a statistical average. Example: 2.1 will turn into 2 90% of the times and into 3 10% of times.
            </summary>
            <param name="rand"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.AngleDegDistance(System.Single,System.Single)">
            <summary>
            Returns the shortest distance between 2 angles
            See also https://stackoverflow.com/a/14498790/1873041
            </summary>
            <param name="start"></param>
            <param name="end"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.AngleRadDistance(System.Single,System.Single)">
            <summary>
            Returns the shortest distance between 2 angles
            See also <seealso href="https://stackoverflow.com/a/14498790/1873041">https://stackoverflow.com/a/14498790/1873041</seealso>
            </summary>
            <param name="start"></param>
            <param name="end"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.NormaliseAngleRad(System.Single)">
            <summary>
            For angles in radians, normalise to the range 0 to 2 * PI and also, if barely close to a right angle, set it to a right angle (fixes loss of precision after multiple rotation operations etc.)
            </summary>
            <param name="angleRad"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.Smallest(System.Double,System.Double)">
            <summary>
            Returns the smallest number, ignoring the sign of either value. Examples:<br/>
            Smallest(1, 3) returns 1
            Smallest(-20, 3) returns 3
            </summary>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.Largest(System.Double,System.Double)">
            <summary>
            Returns the smallest number, ignoring the sign of either value
            </summary>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.CyclicValueDistance(System.Single,System.Single,System.Single)">
            <summary>
            Returns the shortest distance between 2 values that are cyclical (e.g. angles, daytime hours, etc.)
            See also <seealso href="https://stackoverflow.com/a/14498790/1873041">https://stackoverflow.com/a/14498790/1873041</seealso>
            </summary>
            <param name="start"></param>
            <param name="end"></param>
            <param name="period"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.CyclicValueDistance(System.Double,System.Double,System.Double)">
            <summary>
            Returns the shortest distance between 2 values that are cyclical (e.g. angles, daytime hours, etc.)
            See also <seealso href="https://stackoverflow.com/a/14498790/1873041">https://stackoverflow.com/a/14498790/1873041</seealso>
            </summary>
            <param name="start"></param>
            <param name="end"></param>
            <param name="period"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.GenGaussKernel(System.Double,System.Int32)">
            <summary>
            Generates a gaussian blur kernel to be used when blurring something
            </summary>
            <param name="sigma"></param>
            <param name="size"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.BiLerpColorMap(Vintagestory.API.Datastructures.IntDataMap2D,System.Int32)">
            <summary>
            Does linear interpolation on a 2d map for each of the 4 bytes individually (e.g. RGBA color). It's basically a bilinear zoom of an image like you know it from common image editing software. Only intended for square images.
            The resulting map will be without any paddding (also requires at least 1 padding at bottom and left side)
            </summary>
            <param name="map"></param>
            <param name="zoom"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.BiLerpByte(System.Single,System.Single,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Linear Interpolates one selected bytes of the 4 ints
            </summary>
            <param name="lx"></param>
            <param name="ly"></param>
            <param name="byteIndex">0, 1, 2 or 3</param>
            <param name="leftTop"></param>
            <param name="rightTop"></param>
            <param name="leftBottom"></param>
            <param name="rightBottom"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.BiSerpByte(System.Single,System.Single,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Linear Interpolates one selected bytes of the 4 ints
            </summary>
            <param name="lx"></param>
            <param name="ly"></param>
            <param name="byteIndex">0, 1, 2 or 3</param>
            <param name="leftTop"></param>
            <param name="rightTop"></param>
            <param name="leftBottom"></param>
            <param name="rightBottom"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.BiLerpRgbaColor(System.Single,System.Single,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Linear Interpolates the bytes of the int individually (i.e. interpolates RGB values individually)
            </summary>
            <param name="lx"></param>
            <param name="ly"></param>
            <param name="leftTop"></param>
            <param name="rightTop"></param>
            <param name="leftBottom"></param>
            <param name="rightBottom"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.BiLerpRgbColor(System.Single,System.Single,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Linear Interpolates the lower 3 bytes of the int individually (i.e. interpolates RGB values individually)
            </summary>
            <param name="lx"></param>
            <param name="ly"></param>
            <param name="leftTop"></param>
            <param name="rightTop"></param>
            <param name="leftBottom"></param>
            <param name="rightBottom"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.BiSerpRgbColor(System.Single,System.Single,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Smoothstep Interpolates the lower 3 bytes of the int individually (i.e. interpolates RGB values individually)
            </summary>
            <param name="lx"></param>
            <param name="ly"></param>
            <param name="leftTop"></param>
            <param name="rightTop"></param>
            <param name="leftBottom"></param>
            <param name="rightBottom"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.LerpRgbColor(System.Single,System.Int32,System.Int32)">
            <summary>
            Linear Interpolates the lower 3 bytes of the int individually (i.e. interpolates RGB values individually)
            </summary>
            <param name="lx"></param>
            <param name="left"></param>
            <param name="right"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.LerpRgbaColor(System.Single,System.Int32,System.Int32)">
            <summary>
            Linear Interpolates the 4 bytes of the int individually (i.e. interpolates RGB values individually)
            </summary>
            <param name="lx"></param>
            <param name="left"></param>
            <param name="right"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.LerpByte(System.Single,System.Byte,System.Byte)">
            <summary>
            Linear Interpolates a single byte
            </summary>
            <param name="lx"></param>
            <param name="left"></param>
            <param name="right"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.BiLerp(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Basic Bilinear Lerp
            </summary>
            <param name="topleft"></param>
            <param name="topright"></param>
            <param name="botleft"></param>
            <param name="botright"></param>
            <param name="x"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.BiLerp(System.Double,System.Double,System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Basic Bilinear Lerp
            </summary>
            <param name="topleft"></param>
            <param name="topright"></param>
            <param name="botleft"></param>
            <param name="botright"></param>
            <param name="x"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.Mix(System.Single,System.Single,System.Single)">
            <summary>
            Same as <see cref="M:Vintagestory.API.MathTools.GameMath.Lerp(System.Single,System.Single,System.Single)"/>
            </summary>
            <param name="v0"></param>
            <param name="v1"></param>
            <param name="t"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.Mix(System.Int32,System.Int32,System.Single)">
            <summary>
            Same as <see cref="M:Vintagestory.API.MathTools.GameMath.Lerp(System.Single,System.Single,System.Single)"/>
            </summary>
            <param name="v0"></param>
            <param name="v1"></param>
            <param name="t"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.Lerp(System.Single,System.Single,System.Single)">
            <summary>
            Basic Lerp
            </summary>
            <param name="v0"></param>
            <param name="v1"></param>
            <param name="t"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.Lerp(System.Double,System.Double,System.Double)">
            <summary>
            Basic Lerp
            </summary>
            <param name="v0"></param>
            <param name="v1"></param>
            <param name="t"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.Serp(System.Single,System.Single,System.Single)">
            <summary>
            Smooth Interpolation using inlined Smoothstep
            </summary>
            <param name="v0"></param>
            <param name="v1"></param>
            <param name="t"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.CPCatmullRomSplineLerp(System.Double,System.Double[],System.Double[])">
            <summary>
            Unlike the other implementation here, which uses the default "uniform"
            treatment of t, this computation is used to calculate the same values but
            introduces the ability to "parameterize" the t values used in the
            calculation. This is based on Figure 3 from
            http://www.cemyuksel.com/research/catmullrom_param/catmullrom.pdf
            </summary>
            <param name="t">the actual interpolation ratio from 0 to 1 representing the position between p1 and p2 to interpolate the value.</param>
            <param name="p">An array of double values of length 4, where interpolation occurs from p1 to p2.</param>
            <param name="time">An array of time measures of length 4, corresponding to each p value.</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.SmoothStep(System.Single)">
            <summary>
            Better Lerp but more CPU intensive, see also https://en.wikipedia.org/wiki/Smoothstep
            </summary>
            <param name="x"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.SmoothStep(System.Double)">
            <summary>
            Better Lerp but more CPU intensive, see also https://en.wikipedia.org/wiki/Smoothstep
            </summary>
            <param name="x"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.Smootherstep(System.Single,System.Single,System.Single)">
            <summary>
            Better Lerp but more CPU intensive, see also https://en.wikipedia.org/wiki/Smoothstep
            </summary>
            <param name="edge0"></param>
            <param name="edge1"></param>
            <param name="x"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.Smootherstep(System.Double,System.Double,System.Double)">
            <summary>
            Better Lerp but more CPU intensive, see also https://en.wikipedia.org/wiki/Smoothstep
            </summary>
            <param name="edge0"></param>
            <param name="edge1"></param>
            <param name="x"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.Smootherstep(System.Double)">
            <summary>
            Better Lerp but more CPU intensive, see also https://en.wikipedia.org/wiki/Smoothstep. x must be in range of 0..1
            </summary>
            <param name="x"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.TriangleStep(System.Int32,System.Int32,System.Int32)">
             <summary>
             Returns a value between 0..1. Returns 0 if val is smaller than left or greater than right. For val == (left+right)/2 the return value is 1. Every other value is a linear interpolation based on the distance to the middle value. Ascii art representation:
            
            1  |      /\
               |     /  \
            0.5|    /    \
               |   /      \
               |  /        \
            0  __/__________\______
              left          right
             </summary>
             <param name="val"></param>
             <param name="left"></param>
             <param name="right"></param>
             <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.TriangleStep(System.Single,System.Single,System.Single)">
             <summary>
             Returns a value between 0..1. Returns 0 if val is smaller than left or greater than right. For val == (left+right)/2 the return value is 1. Every other value is a linear interpolation based on the distance to the middle value. Ascii art representation:
            
            1  |      /\
               |     /  \
            0.5|    /    \
               |   /      \
               |  /        \
            0  __/__________\______
              left          right
             </summary>
             <param name="val"></param>
             <param name="left"></param>
             <param name="right"></param>
             <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.TriangleStepFast(System.Int32,System.Int32,System.Int32)">
            <summary>
            Same as TriangleStep but skipping the step to calc mid and range.
            </summary>
            <param name="val"></param>
            <param name="mid"></param>
            <param name="range"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.DotNetStringHash(System.String)">
            <summary>
            Pretty much taken directly from the string.GetHashCode() implementation, but on these methods the documentation states: "You should never persist or use a hash code outside the application domain in which it was created, [...]."
            Hence, this is one basic 32bit bit implementation that can be used in a platform independent, persistent way.
            </summary>
            <param name="text"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.Md5Hash(System.String)">
            <summary>
            See also https://msdn.microsoft.com/en-us/library/system.security.cryptography.md5%28v=vs.110%29.aspx
            </summary>
            <param name="input"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.oaatHashMany(System.Int32)">
            <summary>
            A single iteration of Bob Jenkins' One-At-A-Time hashing algorithm - optimised version for the vector hashes
            </summary>
            <param name="x"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.oaatHashMany(System.Int32,System.Int32)">
            <summary>
            A single iteration of Bob Jenkins' One-At-A-Time hashing algorithm.
            </summary>
            <param name="x"></param>
            <param name="count"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.oaatHashUMany(System.UInt32)">
            <summary>
            Bob Jenkins' One-At-A-Time hashing algorithm
            </summary>
            <param name="x"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.oaatHash(Vintagestory.API.MathTools.Vec2i)">
            <summary>
            Bob Jenkins' One-At-A-Time hashing algorithm. Fast, but not very random.
            </summary>
            <param name="v"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.oaatHash(System.Int32,System.Int32)">
            <summary>
            Bob Jenkins' One-At-A-Time hashing algorithm. Fast, but not very random.
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.oaatHash(Vintagestory.API.MathTools.Vec3i)">
            <summary>
            Bob Jenkins' One-At-A-Time hashing algorithm. Fast, but not very random.
            </summary>
            <param name="v"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.oaatHash(System.Int32,System.Int32,System.Int32)">
            <summary>
            Bob Jenkins' One-At-A-Time hashing algorithm. Fast, but not very random.
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.oaatHashU(System.Int32,System.Int32,System.Int32)">
            <summary>
            Bob Jenkins' One-At-A-Time hashing algorithm. Fast, but not very random.
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.oaatHash(Vintagestory.API.MathTools.Vec4i)">
            <summary>
            Bob Jenkins' One-At-A-Time hashing algorithm. Fast, but not very random.
            </summary>
            <param name="v"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.PrettyBadHash(System.Int32,System.Int32)">
            <summary>
            A really bad, but very fast hashing method.
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.MurmurHash3Mod(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            A not so fast, but higher quality than oaatHash(). See also https://en.wikipedia.org/wiki/MurmurHash. Includes a modulo operation.
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <param name="mod"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.MurmurHash3(System.Int32,System.Int32,System.Int32)">
            <summary>
            A not so fast, but higher quality than oaatHash(). See also https://en.wikipedia.org/wiki/MurmurHash
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.R2Sequence1D(System.Int32)">
            <summary>
            Quasirandom sequence by Martin Roberts (http://extremelearning.com.au/unreasonable-effectiveness-of-quasirandom-sequences/)
            </summary>
            <param name="n"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.R2Sequence2D(System.Int32)">
            <summary>
            Quasirandom sequence by Martin Roberts (http://extremelearning.com.au/unreasonable-effectiveness-of-quasirandom-sequences/)
            </summary>
            <param name="n"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.R2Sequence3D(System.Int32)">
            <summary>
            Quasirandom sequence by Martin Roberts (http://extremelearning.com.au/unreasonable-effectiveness-of-quasirandom-sequences/)
            </summary>
            <param name="n"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.FlipVal(System.Int32@,System.Int32@)">
            <summary>
            Assigns the value of x1 to x2 and vice versa
            </summary>
            <param name="x1"></param>
            <param name="x2"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.FlipVal(System.Double@,System.Double@)">
            <summary>
            Assigns the value of x1 to x2 and vice versa
            </summary>
            <param name="x1"></param>
            <param name="x2"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.Shuffle``1(System.Random,``0[])">
            <summary>
            Performs a Fisher-Yates shuffle in linear time or O(n)
            </summary>
            <typeparam name="T"></typeparam>
            <param name="rand"></param>
            <param name="array"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.Shuffle``1(System.Random,System.Collections.Generic.List{``0})">
            <summary>
            Performs a Fisher-Yates shuffle in linear time or O(n)
            </summary>
            <typeparam name="T"></typeparam>
            <param name="rand"></param>
            <param name="array"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.Shuffle``1(Vintagestory.API.MathTools.LCGRandom,System.Collections.Generic.List{``0})">
            <summary>
            Performs a Fisher-Yates shuffle in linear time or O(n)
            </summary>
            <typeparam name="T"></typeparam>
            <param name="rand"></param>
            <param name="array"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.BresenHamPlotLine3d(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,Vintagestory.API.MathTools.PlotDelegate3D)">
            <summary>
            Plot a 3d line, see also http://members.chello.at/~easyfilter/bresenham.html
            </summary>
            <param name="x0"></param>
            <param name="y0"></param>
            <param name="z0"></param>
            <param name="x1"></param>
            <param name="y1"></param>
            <param name="z1"></param>
            <param name="onPlot"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.BresenHamPlotLine3d(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,Vintagestory.API.MathTools.PlotDelegate3DBlockPos)">
            <summary>
            Plot a 3d line, see also http://members.chello.at/~easyfilter/bresenham.html
            </summary>
            <param name="x0"></param>
            <param name="y0"></param>
            <param name="z0"></param>
            <param name="x1"></param>
            <param name="y1"></param>
            <param name="z1"></param>
            <param name="onPlot"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.BresenHamPlotLine2d(System.Int32,System.Int32,System.Int32,System.Int32,Vintagestory.API.MathTools.PlotDelegate2D)">
            <summary>
            Plot a 2d line, see also http://members.chello.at/~easyfilter/bresenham.html
            </summary>
            <param name="x0"></param>
            <param name="y0"></param>
            <param name="x1"></param>
            <param name="y1"></param>
            <param name="onPlot"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.Map``1(``0,``0,``0,``0,``0)">
            <summary>
            Map a value from one range to another
            </summary>
            <param name="value"></param>
            <param name="fromMin"></param>
            <param name="fromMax"></param>
            <param name="toMin"></param>
            <param name="toMax"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.GameMath.RoundTo(System.Single,System.Single)">
            <summary>
            Rounds the given float to the closest (1/interval) fraction - for example, 1/32 for getting voxel-accurate sub-block coordinates
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.IRandom.NextInt(System.Int32)">
            <summary>
            Returns 0..max-1
            </summary>
            <param name="max"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.MathTools.LCGRandom">
            <summary>
            An lcg random generator, particularly suitable for worldgen
            See also https://en.wikipedia.org/wiki/Linear_congruential_generator
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.LCGRandom.semiMaxIntF">
            <summary>
            Square root of int.MaxValue, used for generating floats with approximately 15 bits / 4.5 decimal digits of precision
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.LCGRandom.semiMaxInt">
            <summary>
            Square root of int.MaxValue, used for generating floats with approximately 15 bits / 4.5 decimal digits of precision
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.LCGRandom.#ctor(System.Int64)">
            <summary>
            Initialize random with given seed
            </summary>
            <param name="worldSeed"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.LCGRandom.#ctor">
            <summary>
            Initialize random with no seed. Use SetWorldSeed() to initialize
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.LCGRandom.SetWorldSeed(System.Int64)">
            <summary>
            Sets given seed
            </summary>
            <param name="worldSeed"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.LCGRandom.InitPositionSeed(System.Int32,System.Int32)">
            <summary>
            Initializes a position dependent seed, if required
            </summary>
            <param name="xPos"></param>
            <param name="zPos"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.LCGRandom.InitPositionSeed(System.Int32,System.Int32,System.Int32)">
            <summary>
            Initializes a position dependent seed, if required
            </summary>
            <param name="xPos"></param>
            <param name="yPos"></param>
            <param name="zPos"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.LCGRandom.NextInt(System.Int32)">
            <summary>
            Returns a pseudo random number from 0 - max (excluding max)
            </summary>
            <param name="max"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.LCGRandom.NextInt">
            <summary>
            Returns a random number from 0 - int.MaxValue (inclusive)
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.LCGRandom.NextFloat">
            <summary>
            Returns a random number from 0.0F - 1.0F (inclusive)
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.LCGRandom.NextFloatMinusToPlusOne">
            <summary>
            Returns a random number from -1.0F - 1.0F (inclusive) with a bias towards the zero value (triangle graph, similar to how rolling two 6-sided dice and adding the result is most likely to yield 7)
            <br/>Precise to better than 15 binary digits / better than 4 significant figures in decimal
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.LCGRandom.NextDouble">
            <summary>
            Returns a random number from 0.0 - 1.0 (inclusive)
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.MathTools.Mat22">
            <summary>
            2x2 Matrix
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat22.Create">
            <summary>
            Creates a new identity mat2
            Returns a new 2x2 matrix
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat22.CloneIt(System.Single[])">
            <summary>
            Creates a new mat2 initialized with values from an existing matrix
            Returns a new 2x2 matrix
            </summary>
            <param name="a">matrix to clone</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat22.Copy(System.Single[],System.Single[])">
            <summary>
            Copy the values from one mat2 to another
            Returns output
            </summary>
            <param name="output">the receiving matrix</param>
            <param name="a">the source matrix</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat22.Identity_(System.Single[])">
            <summary>
            Set a mat2 to the identity matrix
            Returns output
            </summary>
            <param name="output">the receiving matrix</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat22.Transpose(System.Single[],System.Single[])">
            <summary>
            Transpose the values of a mat2
            Returns output
            </summary>
            <param name="output">the receiving matrix</param>
            <param name="a">the source matrix</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat22.Invert(System.Single[],System.Single[])">
            <summary>
            Inverts a mat2
            Returns output
            </summary>
            <param name="output">the receiving matrix</param>
            <param name="a">the source matrix</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat22.Adjoint(System.Single[],System.Single[])">
            <summary>
            Calculates the adjugate of a mat2
            Returns output
            </summary>
            <param name="output">the receiving matrix</param>
            <param name="a">the source matrix</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat22.Determinant(System.Single[])">
            <summary>
            Calculates the determinant of a mat2
            Returns determinant of a
            </summary>
            <param name="a">the source matrix</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat22.Multiply(System.Single[],System.Single[],System.Single[])">
            <summary>
            Multiplies two mat2's
            Returns output
            </summary>
            <param name="output">the receiving matrix</param>
            <param name="a">the first operand</param>
            <param name="b">the second operand</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat22.Mul(System.Single[],System.Single[],System.Single[])">
            <summary>
            Alias for {@link mat2.multiply}
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat22.Rotate(System.Single[],System.Single[],System.Single)">
            <summary>
            Rotates a mat2 by the given angle
            Returns output
            </summary>
            <param name="output">the receiving matrix</param>
            <param name="a">the matrix to rotate</param>
            <param name="rad">the angle to rotate the matrix by</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat22.Scale(System.Single[],System.Single[],System.Single[])">
            <summary>
            Scales the mat2 by the dimensions in the given vec2
            Returns output
            </summary>
            <param name="output">the receiving matrix</param>
            <param name="a">the matrix to rotate</param>
            <param name="v">the vec2 to scale the matrix by</param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.MathTools.Mat23">
            <summary>
            2x3 Matrix
            * A mat2d contains six elements defined as:
            * <pre>
            * [a, b,
            *  c, d,
            *  tx,ty]
            * </pre>
            * This is a short form for the 3x3 matrix:
            * <pre>
            * [a, b, 0
            *  c, d, 0
            *  tx,ty,1]
            * </pre>
            * The last column is ignored so the array is shorter and operations are faster.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat23.Create">
            <summary>
            Creates a new identity mat2d
            Returns a new 2x3 matrix
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat23.CloneIt(System.Single[])">
            <summary>
            Creates a new mat2d initialized with values from an existing matrix
            Returns a new 2x3 matrix
            </summary>
            <param name="a">matrix to clone</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat23.Copy(System.Single[],System.Single[])">
            <summary>
            Copy the values from one mat2d to another
            Returns output
            </summary>
            <param name="output">the receiving matrix</param>
            <param name="a">the source matrix</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat23.Identity_(System.Single[])">
            <summary>
            Set a mat2d to the identity matrix
            Returns output
            </summary>
            <param name="output">the receiving matrix</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat23.Invert(System.Single[],System.Single[])">
            <summary>
            Inverts a mat2d
            Returns output
            </summary>
            <param name="output">the receiving matrix</param>
            <param name="a">the source matrix</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat23.Determinant(System.Single[])">
            <summary>
            Calculates the determinant of a mat2d
            Returns determinant of a
            </summary>
            <param name="a">the source matrix</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat23.Multiply(System.Single[],System.Single[],System.Single[])">
            <summary>
            Multiplies two mat2d's
            Returns output
            </summary>
            <param name="output">the receiving matrix</param>
            <param name="a">the first operand</param>
            <param name="b">the second operand</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat23.Mul(System.Single[],System.Single[],System.Single[])">
            <summary>
            Alias for {@link mat2d.multiply} @function
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat23.Rotate(System.Single[],System.Single[],System.Single)">
            <summary>
            Rotates a mat2d by the given angle
            Returns output
            </summary>
            <param name="output">the receiving matrix</param>
            <param name="a">the matrix to rotate</param>
            <param name="rad">the angle to rotate the matrix by</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat23.Scale(System.Single[],System.Single[],System.Single[])">
            <summary>
            Scales the mat2d by the dimensions in the given vec2
            Returns output
            </summary>
            <param name="output">the receiving matrix</param>
            <param name="a">the matrix to translate</param>
            <param name="v">the vec2 to scale the matrix by</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat23.Translate(System.Single[],System.Single[],System.Single[])">
            <summary>
            Translates the mat2d by the dimensions in the given vec2
            Returns output
            </summary>
            <param name="output">the receiving matrix</param>
            <param name="a">the matrix to translate</param>
            <param name="v">the vec2 to translate the matrix by</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3d.Create">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3d.FromMat4(System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3d.CloneIt(System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3d.Copy(System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3d.Identity_(System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3d.Transpose(System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3d.Invert(System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3d.Adjoint(System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3d.Determinant(System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3d.Multiply(System.Double[],System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3d.Mul(System.Double[],System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3d.Translate(System.Double[],System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3d.Rotate(System.Double[],System.Double[],System.Double)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3d.Scale(System.Double[],System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3d.FromMat2d(System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3d.FromQuat(System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3d.NormalFromMat4(System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3d.f">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3f.Create">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3f.FromMat4(System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3f.CloneIt(System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3f.Copy(System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3f.Identity_(System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3f.Transpose(System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3f.Invert(System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3f.Adjoint(System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3f.Determinant(System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3f.Multiply(System.Single[],System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3f.Mul(System.Single[],System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3f.Translate(System.Single[],System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3f.Rotate(System.Single[],System.Single[],System.Single)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3f.Scale(System.Single[],System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3f.FromMat2d(System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3f.FromQuat(System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3f.NormalFromMat4(System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat3f.f">
            **
        </member>
        <member name="T:Vintagestory.API.MathTools.Mat4d">
            <summary>
            4x4 Matrix Math
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.Create">
            <summary>
            Creates a new identity mat4
            0 4 8  12
            1 5 9  13
            2 6 10 14
            3 7 11 15
            </summary>
            <returns>{mat4} a new 4x4 matrix</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.CloneIt(System.Double[])">
            <summary>
            Creates a new mat4 initialized with values from an existing matrix
            </summary>
            <param name="a">a matrix to clone</param>
            <returns>{mat4} a new 4x4 matrix</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.Copy(System.Double[],System.Double[])">
            <summary>
            Copy the values from one mat4 to another
            </summary>
            <param name="output">{mat4} out the receiving matrix</param>
            <param name="a">{mat4} a the source matrix</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.Identity(System.Double[])">
            <summary>
            Set a mat4 to the identity matrix
            </summary>
            <param name="output">{mat4} out the receiving matrix</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.Transpose(System.Double[],System.Double[])">
            <summary>
            Transpose the values of a mat4
            </summary>
            <param name="output">{mat4} out the receiving matrix</param>
            <param name="a">{mat4} a the source matrix</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.Invert(System.Double[],System.Double[])">
            <summary>
            Inverts a mat4
            </summary>
            <param name="output">{mat4} out the receiving matrix</param>
            <param name="a">{mat4} a the source matrix</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.Adjoint(System.Double[],System.Double[])">
            <summary>
            Calculates the adjugate of a mat4   
            </summary>
            <param name="output">{mat4} out the receiving matrix</param>
            <param name="a">{mat4} a the source matrix</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.Determinant(System.Double[])">
            <summary>
            Calculates the determinant of a mat4
            </summary>
            <param name="a">{mat4} a the source matrix</param>
            <returns>{Number} determinant of a</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.Multiply(System.Double[],System.Double[],System.Double[])">
            <summary>
            Multiplies two mat4's
            
            </summary>
            <param name="output">{mat4} out the receiving matrix</param>
            <param name="a">{mat4} a the first operand</param>
            <param name="b">{mat4} b the second operand</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.Multiply(System.Double[],System.Single[],System.Double[])">
            <summary>
            Multiplies two mat4's
            
            </summary>
            <param name="output">{mat4} out the receiving matrix</param>
            <param name="a">{mat4} a the first operand</param>
            <param name="b">{mat4} b the second operand</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.Mul(System.Double[],System.Double[],System.Double[])">
            <summary>
            mat4.multiply
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.Mul(System.Double[],System.Single[],System.Double[])">
            <summary>
            mat4.multiply
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.IsTranslationOnly(System.Double[])">
            <summary>
            If we have a translation-only matrix - one with no rotation or scaling - return true.
            If the matrix includes some scaling or rotation components, return false.<br/>
            The identity matrix returns true here because there is no scaling or rotation, even though the translation is zero in that special case.
            </summary>
            <param name="matrix"></param>
            <returns>true if a simple translation matrix was found, otherwise false</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.Translate(System.Double[],System.Double[],System.Double,System.Double,System.Double)">
            <summary>
            Translate a mat4 by the given vector
            </summary>
            <param name="output">{mat4} out the receiving matrix</param>
            <param name="input">{mat4} a the matrix to translate</param>
            <param name="x">{vec3} v vector to translate by</param>
            <param name="y"></param>
            <param name="z"></param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.Translate(System.Double[],System.Double[],System.Double[])">
            <summary>
            Translate a mat4 by the given vector
            </summary>
            <param name="output">{mat4} out the receiving matrix</param>
            <param name="input">{mat4} a the matrix to translate</param>
            <param name="translate">{vec3} v vector to translate by</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.Scale(System.Double[],System.Double[],System.Double[])">
            <summary>
            Scales the mat4 by the dimensions in the given vec3
            </summary>
            <param name="output">{mat4} out the receiving matrix</param>
            <param name="a">{mat4} a the matrix to scale</param>
            <param name="v">{vec3} v the vec3 to scale the matrix by</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.Rotate(System.Double[],System.Double[],System.Double,System.Double[])">
            <summary>
            Rotates a mat4 by the given angle
            </summary>
            <param name="output">{mat4} out the receiving matrix</param>
            <param name="a">{mat4} a the matrix to rotate</param>
            <param name="rad">{Number} rad the angle to rotate the matrix by</param>
            <param name="axis">{vec3} axis the axis to rotate around</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.Rotate(System.Double[],System.Double[],System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Rotates a mat4 by the given angle
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="rad"></param>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.RotateX(System.Double[],System.Double[],System.Double)">
            <summary>
            Rotates a matrix by the given angle around the X axis
            </summary>
            <param name="output">{mat4} out the receiving matrix</param>
            <param name="a">{mat4} a the matrix to rotate</param>
            <param name="rad">{Number} rad the angle to rotate the matrix by</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.RotateY(System.Double[],System.Double[],System.Double)">
            <summary>
            Rotates a matrix by the given angle around the Y axis
            </summary>
            <param name="output">{mat4} out the receiving matrix</param>
            <param name="a">{mat4} a the matrix to rotate</param>
            <param name="rad">{Number} rad the angle to rotate the matrix by</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.RotateZ(System.Double[],System.Double[],System.Double)">
            <summary>
            Rotates a matrix by the given angle around the Z axis
            </summary>
            <param name="output">{mat4} out the receiving matrix</param>
            <param name="a">{mat4} a the matrix to rotate</param>
            <param name="rad">{Number} rad the angle to rotate the matrix by</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.FromRotationTranslation(System.Double[],System.Double[],System.Double[])">
            <summary>
            Creates a matrix from a quaternion rotation and vector translation
            This is equivalent to (but much faster than):
                mat4.identity(dest);
                mat4.translate(dest, vec);
                var quatMat = mat4.create();
                quat4.toMat4(quat, quatMat);
                mat4.multiply(dest, quatMat);
            </summary>
            <param name="output">{mat4} out mat4 receiving operation result</param>
            <param name="q">{quat4} q Rotation quaternion</param>
            <param name="v">{vec3} v Translation vector</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.FromQuat(System.Double[],System.Double[])">
            <summary>
            Calculates a 4x4 matrix from the given quaternion
            </summary>
            <param name="output">{mat4} out mat4 receiving operation result</param>
            <param name="q">{quat} q Quaternion to create matrix from</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.Frustum(System.Double[],System.Double,System.Double,System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Generates a frustum matrix with the given bounds
            </summary>
            <param name="output">{mat4} out mat4 frustum matrix will be written into</param>
            <param name="left">{Number} left Left bound of the frustum</param>
            <param name="right">{Number} right Right bound of the frustum</param>
            <param name="bottom">{Number} bottom Bottom bound of the frustum</param>
            <param name="top">{Number} top Top bound of the frustum</param>
            <param name="near">{Number} near Near bound of the frustum</param>
            <param name="far">{Number} far Far bound of the frustum</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.Perspective(System.Double[],System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Generates a perspective projection matrix with the given bounds
            </summary>
            <param name="output">{mat4} out mat4 frustum matrix will be written into</param>
            <param name="fovy">{number} fovy Vertical field of view in radians</param>
            <param name="aspect">{number} aspect Aspect ratio. typically viewport width/height</param>
            <param name="near">{number} near Near bound of the frustum</param>
            <param name="far">{number} far Far bound of the frustum</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.Ortho(System.Double[],System.Double,System.Double,System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Generates a orthogonal projection matrix with the given bounds
            </summary>
            <param name="output">{mat4} out mat4 frustum matrix will be written into</param>
            <param name="left">{number} left Left bound of the frustum</param>
            <param name="right">{number} right Right bound of the frustum</param>
            <param name="bottom">{number} bottom Bottom bound of the frustum</param>
            <param name="top">{number} top Top bound of the frustum</param>
            <param name="near">{number} near Near bound of the frustum</param>
            <param name="far">{number} far Far bound of the frustum</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.LookAt(System.Double[],System.Double[],System.Double[],System.Double[])">
            <summary>
            Generates a look-at matrix with the given eye position, focal point, and up axis
            </summary>
            <param name="output">{mat4} out mat4 frustum matrix will be written into</param>
            <param name="eye">{vec3} eye Position of the viewer</param>
            <param name="center">{vec3} center Point the viewer is looking at</param>
            <param name="up">{vec3} up vec3 pointing up</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.MulWithVec4(System.Double[],System.Double[])">
            <summary>
            Multiply the matrix with a vec4. Reference: http://mathinsight.org/matrix_vector_multiplication
            Returns a new vec4 vector
            </summary>
            <param name="matrix"></param>
            <param name="vec4"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.MulWithVec4(System.Double[],System.Double[],Vintagestory.API.MathTools.Vec4d)">
            <summary>
            Multiply the matrix with a vec4. Reference: http://mathinsight.org/matrix_vector_multiplication
            </summary>
            <param name="matrix"></param>
            <param name="vec4"></param>
            <param name="outVal"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4d.MulWithVec4(System.Double[],Vintagestory.API.MathTools.Vec4d,Vintagestory.API.MathTools.Vec4d)">
            <summary>
            Multiply the matrix with a vec4. Reference: http://mathinsight.org/matrix_vector_multiplication
            
            </summary>
            <param name="matrix"></param>
            <param name="inVal"></param>
            <param name="outVal"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.MathTools.Mat4f">
            <summary>
            4x4 Matrix Math
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.Create">
            <summary>
            Creates a new identity mat4
            0 4 8  12
            1 5 9  13
            2 6 10 14
            3 7 11 15
            </summary>
            <returns>{mat4} a new 4x4 matrix</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.NewIdentity(System.Span{System.Single})">
            <summary>
            Sets the specified matrix to the identity matrix, assuming the matrix is new and therefore all values currently zero (including a new stackalloc)
            </summary>
            <param name="output"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.CloneIt(System.Single[])">
            <summary>
            Creates a new mat4 initialized with values from an existing matrix
            </summary>
            <param name="a">a matrix to clone</param>
            <returns>{mat4} a new 4x4 matrix</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.Copy(System.Single[],System.Span{System.Single})">
            <summary>
            Copy the values from one mat4 to another
            </summary>
            <param name="output">{mat4} out the receiving matrix</param>
            <param name="a">{mat4} a the source matrix</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.Identity(System.Single[])">
            <summary>
            Set a mat4 to the identity matrix
            </summary>
            <param name="output">{mat4} out the receiving matrix</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.Identity_Scaled(System.Single[],System.Single)">
            <summary>
            Set a mat4 to the identity matrix with a scale applied
            </summary>
            <param name="output">{mat4} out the receiving matrix</param>
            <param name="scale"></param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.Transpose(System.Single[],System.Single[])">
            <summary>
            Transpose the values of a mat4
            </summary>
            <param name="output">{mat4} out the receiving matrix</param>
            <param name="a">{mat4} a the source matrix</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.Invert(System.Single[],System.Single[])">
            <summary>
            Inverts a mat4
            </summary>
            <param name="output">{mat4} out the receiving matrix</param>
            <param name="a">{mat4} a the source matrix</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.Adjoint(System.Single[],System.Single[])">
            <summary>
            Calculates the adjugate of a mat4   
            </summary>
            <param name="output">{mat4} out the receiving matrix</param>
            <param name="a">{mat4} a the source matrix</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.Determinant(System.Single[])">
            <summary>
            Calculates the determinant of a mat4
            </summary>
            <param name="a">{mat4} a the source matrix</param>
            <returns>{Number} determinant of a</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.Multiply(System.Single[],System.Single[],System.Single[])">
            <summary>
            Multiplies two mat4's
            
            </summary>
            <param name="output">{mat4} out the receiving matrix</param>
            <param name="a">{mat4} a the first operand</param>
            <param name="b">{mat4} b the second operand</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.Mul(System.Single[],System.Single[],System.Single[])">
            <summary>
            mat4.multiply
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.Translate(System.Single[],System.Single[],System.Single,System.Single,System.Single)">
            <summary>
            Translate a mat4 by the given vector
            </summary>
            <param name="output">{mat4} out the receiving matrix</param>
            <param name="input">{mat4} a the matrix to translate</param>
            <param name="x">{vec3} v vector to translate by</param>
            <param name="y"></param>
            <param name="z"></param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.Translate(System.Span{System.Single},System.Single,System.Single,System.Single)">
            <summary>
            Translate a Mat4x4 by the given x,y,z - Span version
            </summary>
            <param name="matrix"></param>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.Translate(System.Single[],System.Single[],System.Single[])">
            <summary>
            Translate a mat4 by the given vector
            </summary>
            <param name="output">{mat4} out the receiving matrix</param>
            <param name="input">{mat4} a the matrix to translate</param>
            <param name="translate">{vec3} v vector to translate by</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.Scale(System.Single[],System.Single[],System.Single[])">
            <summary>
            Scales the mat4 by the dimensions in the given vec3
            </summary>
            <param name="output">{mat4} out the receiving matrix</param>
            <param name="a">{mat4} a the matrix to scale</param>
            <param name="v">{vec3} v the vec3 to scale the matrix by</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.Scale(System.Span{System.Single},System.Single,System.Single,System.Single)">
            <summary>
            Scale by x, y, z - Span version
            </summary>
            <param name="a"></param>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.Scale(System.Single[],System.Single[],System.Single,System.Single,System.Single)">
            <summary>
            Scales the mat4 by the dimensions in the given vec3
            </summary>
            <param name="output">{mat4} out the receiving matrix</param>
            <param name="a">{mat4} a the matrix to scale</param>
            <param name="xScale"></param>
            <param name="yScale"></param>
            <param name="zScale"></param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.Rotate(System.Single[],System.Single[],System.Single,System.Single[])">
            <summary>
            Rotates a mat4 by the given angle
            </summary>
            <param name="output">{mat4} out the receiving matrix</param>
            <param name="a">{mat4} a the matrix to rotate</param>
            <param name="rad">{Number} rad the angle to rotate the matrix by</param>
            <param name="axis">{vec3} axis the axis to rotate around</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.RotateX(System.Single[],System.Single[],System.Single)">
            <summary>
            Rotates a matrix by the given angle around the X axis
            </summary>
            <param name="output">{mat4} out the receiving matrix</param>
            <param name="a">{mat4} a the matrix to rotate</param>
            <param name="rad">{Number} rad the angle to rotate the matrix by</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.RotateY(System.Single[],System.Single[],System.Single)">
            <summary>
            Rotates a matrix by the given angle around the Y axis
            </summary>
            <param name="output">{mat4} out the receiving matrix</param>
            <param name="a">{mat4} a the matrix to rotate</param>
            <param name="rad">{Number} rad the angle to rotate the matrix by</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.RotateZ(System.Single[],System.Single[],System.Single)">
            <summary>
            Rotates a matrix by the given angle around the Z axis
            </summary>
            <param name="output">{mat4} out the receiving matrix</param>
            <param name="a">{mat4} a the matrix to rotate</param>
            <param name="rad">{Number} rad the angle to rotate the matrix by</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.RotateY(System.Span{System.Single},System.Single)">
            <summary>
            Span version of RotateY, for performance
            </summary>
            <param name="a"></param>
            <param name="rad"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.RotateXYZ(System.Span{System.Single},System.Single,System.Single,System.Single)">
            <summary>
            Provides a new composite rotation matrix, equivalent to RotateX followed by RotateY followed by RotateZ
            <br/>Here we work on a Span (which may be on the stack) for higher performance
            <br/>Note this destroys all existing data in the supplied matrix, it doesn't rotate the existing matrix
            </summary>
            <param name="matrix"></param>
            <param name="radX"></param>
            <param name="radY"></param>
            <param name="radZ"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.RotateByXYZ(System.Span{System.Single},System.Single,System.Single,System.Single)">
            <summary>
            Rotates an existing matrix, equivalent to RotateX followed by RotateY followed by RotateZ
            <br/>Here we work on a Span (which may be on the stack) for higher performance
            </summary>
            <param name="matrix"></param>
            <param name="radX"></param>
            <param name="radY"></param>
            <param name="radZ"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.FromRotationTranslation(System.Single[],System.Single[],System.Single[])">
            <summary>
            Creates a matrix from a quaternion rotation and vector translation
            This is equivalent to (but much faster than):
                mat4.identity(dest);
                mat4.translate(dest, vec);
                var quatMat = mat4.create();
                quat4.toMat4(quat, quatMat);
                mat4.multiply(dest, quatMat);
            </summary>
            <param name="output">{mat4} out mat4 receiving operation result</param>
            <param name="q">{quat4} q Rotation quaternion</param>
            <param name="v">{vec3} v Translation vector</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.FromQuat(System.Single[],System.Single[])">
            <summary>
            Calculates a 4x4 matrix from the given quaternion
            </summary>
            <param name="output">{mat4} out mat4 receiving operation result</param>
            <param name="q">{quat} q Quaternion to create matrix from</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.MulQuat(System.Span{System.Single},System.Double[])">
            <summary>
            Constructs a matrix from the quaternions, and multiplies the output by that matrix
            </summary>
            <param name="a"></param>
            <param name="q"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.Frustum(System.Single[],System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Generates a frustum matrix with the given bounds
            </summary>
            <param name="output">{mat4} out mat4 frustum matrix will be written into</param>
            <param name="left">{Number} left Left bound of the frustum</param>
            <param name="right">{Number} right Right bound of the frustum</param>
            <param name="bottom">{Number} bottom Bottom bound of the frustum</param>
            <param name="top">{Number} top Top bound of the frustum</param>
            <param name="near">{Number} near Near bound of the frustum</param>
            <param name="far">{Number} far Far bound of the frustum</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.Perspective(System.Single[],System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Generates a perspective projection matrix with the given bounds
            </summary>
            <param name="output">{mat4} out mat4 frustum matrix will be written into</param>
            <param name="fovy">{number} fovy Vertical field of view in radians</param>
            <param name="aspect">{number} aspect Aspect ratio. typically viewport width/height</param>
            <param name="near">{number} near Near bound of the frustum</param>
            <param name="far">{number} far Far bound of the frustum</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.Ortho(System.Single[],System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Generates a orthogonal projection matrix with the given bounds
            </summary>
            <param name="output">{mat4} out mat4 frustum matrix will be written into</param>
            <param name="left">{number} left Left bound of the frustum</param>
            <param name="right">{number} right Right bound of the frustum</param>
            <param name="bottom">{number} bottom Bottom bound of the frustum</param>
            <param name="top">{number} top Top bound of the frustum</param>
            <param name="near">{number} near Near bound of the frustum</param>
            <param name="far">{number} far Far bound of the frustum</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.LookAt(System.Single[],System.Single[],System.Single[],System.Single[])">
            <summary>
            Generates a look-at matrix with the given eye position, focal point, and up axis
            </summary>
            <param name="output">{mat4} out mat4 frustum matrix will be written into</param>
            <param name="eye">{vec3} eye Position of the viewer</param>
            <param name="center">{vec3} center Point the viewer is looking at</param>
            <param name="up">{vec3} up vec3 pointing up</param>
            <returns>{mat4} out</returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.MulWithVec4(System.Single[],System.Single[])">
            <summary>
            Multiply the matrix with a vec4. Reference: http://mathinsight.org/matrix_vector_multiplication
            Returns a new vec4 vector
            </summary>
            <param name="matrix"></param>
            <param name="vec4"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.MulWithVec3(System.Single[],System.Single[],System.Single[])">
            <summary>
            Used for vec3 representing a direction or normal - as a vec4 this would have the 4th element set to 0, so that applying a matrix transform with a translation would have *no* effect
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.MulWithVec3(System.Span{System.Single},System.Single[],System.Single[])">
            <summary>
            Used for vec3 representing a direction or normal - as a vec4 this would have the 4th element set to 0, so that applying a matrix transform with a translation would have *no* effect
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.MulWithVec3_Position(System.Single[],System.Single[],System.Single[],System.Int32)">
            <summary>
            Used for vec3 representing an x,y,z position - as a vec4 this would have the 4th element set to 1, so that applying a matrix transform with a translation would have an effect
            The offset is used to index within the original and output arrays - e.g. in MeshData.xyz
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.MulWithVec3_Position_WithOrigin(System.Single[],System.Single[],System.Single[],System.Int32,Vintagestory.API.MathTools.Vec3f)">
            <summary>
            Used for vec3 representing an x,y,z position - as a vec4 this would have the 4th element set to 1, so that applying a matrix transform with a translation would have an effect
            The offset is used to index within the original and output arrays - e.g. in MeshData.xyz
            The origin is the origin for the rotation
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.MulWithVec3_Position(System.Single[],System.Single,System.Single,System.Single,Vintagestory.API.MathTools.Vec3f)">
            <summary>
            Used for vec3 representing an x,y,z position - as a vec4 this would have the 4th element set to 1, so that applying a matrix transform with a translation would have an effect
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.MulWithVec3(System.Single[],Vintagestory.API.MathTools.Vec3f,Vintagestory.API.MathTools.Vec3f)">
            <summary>
            Used for Vec3f representing a direction or normal - as a vec4 this would have the 4th element set to 0, so that applying a matrix transform with a translation would have *no* effect
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.MulWithVec3(System.Single[],Vintagestory.API.MathTools.FastVec3f,Vintagestory.API.MathTools.FastVec3f)">
            <summary>
            Used for Vec3f representing a direction or normal - as a vec4 this would have the 4th element set to 0, so that applying a matrix transform with a translation would have *no* effect
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.MulWithVec3(System.Single[],System.Single,System.Single,System.Single)">
            <summary>
            Used for x,y,z representing a direction or normal - as a vec4 this would have the 4th element set to 0, so that applying a matrix transform with a translation would have *no* effect
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.MulWithVec4(System.Single[],System.Single[],Vintagestory.API.MathTools.Vec4f)">
            <summary>
            Multiply the matrix with a vec4. Reference: http://mathinsight.org/matrix_vector_multiplication
            </summary>
            <param name="matrix"></param>
            <param name="vec4"></param>
            <param name="outVal"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.MulWithVec4(System.Single[],Vintagestory.API.MathTools.Vec4d,Vintagestory.API.MathTools.Vec4d)">
            <summary>
            Multiply the matrix with a vec4. Reference: http://mathinsight.org/matrix_vector_multiplication
            </summary>
            <param name="matrix"></param>
            <param name="inVal"></param>
            <param name="outVal"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.Mat4f.MulWithVec4(System.Single[],Vintagestory.API.MathTools.Vec4f,Vintagestory.API.MathTools.Vec4f)">
            <summary>
            Multiply the matrix with a vec4. Reference: http://mathinsight.org/matrix_vector_multiplication
            
            </summary>
            <param name="matrix"></param>
            <param name="inVal"></param>
            <param name="outVal"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaterniond.Create">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaterniond.RotationTo(System.Double[],System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaterniond.SetAxes(System.Double[],System.Double[],System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaterniond.CloneIt(System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaterniond.FromValues(System.Double,System.Double,System.Double,System.Double)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaterniond.Copy(System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaterniond.Set(System.Double[],System.Double,System.Double,System.Double,System.Double)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaterniond.Identity_(System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaterniond.SetAxisAngle(System.Double[],System.Double[],System.Double)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaterniond.Add(System.Double[],System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaterniond.Multiply(System.Double[],System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaterniond.Scale(System.Double[],System.Double[],System.Double)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaterniond.RotateX(System.Double[],System.Double[],System.Double)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaterniond.RotateY(System.Double[],System.Double[],System.Double)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaterniond.RotateZ(System.Double[],System.Double[],System.Double)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaterniond.CalculateW(System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaterniond.Dot(System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaterniond.Lerp(System.Double[],System.Double[],System.Double[],System.Double)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaterniond.Slerp(System.Double[],System.Double[],System.Double[],System.Double)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaterniond.Invert(System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaterniond.Conjugate(System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaterniond.Length_(System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaterniond.SquaredLength(System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaterniond.Normalize(System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaterniond.FromMat3(System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4d.Create">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4d.CloneIt(System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4d.FromValues(System.Double,System.Double,System.Double,System.Double)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4d.Copy(System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4d.Set(System.Double[],System.Double,System.Double,System.Double,System.Double)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4d.Add(System.Double[],System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4d.Subtract(System.Double[],System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4d.Multiply(System.Double[],System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4d.Divide(System.Double[],System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4d.Min(System.Double[],System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4d.Max(System.Double[],System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4d.Scale(System.Double[],System.Double[],System.Double)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4d.ScaleAndAdd(System.Double[],System.Double[],System.Double[],System.Double)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4d.Distance(System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4d.SquaredDistance(System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4d.Length_(System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4d.SquaredLength(System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4d.Negate(System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4d.Normalize(System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4d.Dot(System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4d.Lerp(System.Double[],System.Double[],System.Double[],System.Double)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4d.TransformMat4(System.Double[],System.Double[],System.Double[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4d.transformQuat(System.Double[],System.Double[],System.Double[])">
            **
        </member>
        <member name="T:Vintagestory.API.MathTools.Vec3Utilsd">
            <summary>
            Don't use this class unless you need it to interoperate with Mat4d
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsd.Create">
            Creates a new, empty vec3
            Returns {vec3} a new 3D vector.
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsd.CloneIt(System.Double[])">
            <summary>
            Creates a new vec3 initialized with values from an existing vector. Returns {vec3} a new 3D vector
            </summary>
            <param name="a">vector to clone</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsd.FromValues(System.Double,System.Double,System.Double)">
            <summary>
            Creates a new vec3 initialized with the given values. Returns {vec3} a new 3D vector
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsd.Copy(System.Double[],System.Double[])">
            <summary>
            Copy the values from one vec3 to another. Returns {vec3} out
            </summary>
            <param name="output">the receiving vector</param>
            <param name="a">the source vector</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsd.Set(System.Double[],System.Double,System.Double,System.Double)">
            <summary>
            Set the components of a vec3 to the given values. Returns {vec3} out
            </summary>
            <param name="output">the receiving vector</param>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsd.Add(System.Double[],System.Double[],System.Double[])">
            <summary>
            Adds two vec3's. returns {vec3} out
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsd.Substract(System.Double[],System.Double[],System.Double[])">
            <summary>
            Subtracts vector b from vector a. Returns {vec3} out
            </summary>
            <param name="output"></param>
            <param name="a">the first operand</param>
            <param name="b">the second operand</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsd.Multiply(System.Double[],System.Double[],System.Double[])">
            <summary>
            Multiplies two vec3's
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsd.Divide(System.Double[],System.Double[],System.Double[])">
            <summary>
            Divides two vec3's
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsd.Min(System.Double[],System.Double[],System.Double[])">
            <summary>
            Returns the minimum of two vec3's
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsd.Max(System.Double[],System.Double[],System.Double[])">
            <summary>
            Returns the maximum of two vec3's
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsd.Scale(System.Double[],System.Double[],System.Double)">
            <summary>
            Scales a vec3 by a scalar number
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsd.ScaleAndAdd(System.Double[],System.Double[],System.Double[],System.Double)">
            <summary>
            Adds two vec3's after scaling the second operand by a scalar value
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="b"></param>
            <param name="scale"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsd.Distance(System.Double[],System.Double[])">
            <summary>
            Calculates the euclidian distance between two vec3's. Returns {Number} distance between a and b
            </summary>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsd.SquaredDistance(System.Double[],System.Double[])">
            <summary>
            Calculates the squared euclidian distance between two vec3's. Returns {Number} squared distance between a and b
            </summary>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsd.Length_(System.Double[])">
            <summary>
            Calculates the length of a vec3
            </summary>
            <param name="a"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsd.SquaredLength(System.Double[])">
            <summary>
            Calculates the squared length of a vec3. Returns {Number} squared length of a
            </summary>
            <param name="a"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsd.SqrLen(System.Double[])">
            <summary>
            SquaredLength()
            </summary>
            <param name="a"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsd.Negate(System.Double[],System.Double[])">
            <summary>
            Negates the components of a vec3
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsd.Normalize(System.Double[],System.Double[])">
            <summary>
            Normalize a vec3
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsd.Dot(System.Double[],System.Double[])">
            <summary>
            Calculates the dot product of two vec3's. Returns {Number} dot product of a and b
            </summary>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsd.Cross(System.Double[],System.Double[],System.Double[])">
            <summary>
            Computes the cross product of two vec3's
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsd.Lerp(System.Double[],System.Double[],System.Double[],System.Double)">
            <summary>
            Performs a linear interpolation between two vec3's
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="b"></param>
            <param name="t"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsd.TransformMat4(System.Double[],System.Double[],System.Double[])">
            <summary>
            Transforms the vec3 with a mat4. 4th vector component is implicitly '1'
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="m"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsd.TransformMat3(System.Double[],System.Double[],System.Double[])">
            <summary>
            Transforms the vec3 with a mat3.
            </summary>
            <param name="output"></param>
            <param name="a">the vector to transform</param>
            <param name="m">the 3x3 matrix to transform with</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsd.TransformQuat(System.Double[],System.Double[],System.Double[])">
            <summary>
            Transforms the vec3 with a quat
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="q"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaternionf.Create">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaternionf.RotationTo(System.Single[],System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaternionf.SetAxes(System.Single[],System.Single[],System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaternionf.CloneIt(System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaternionf.FromValues(System.Single,System.Single,System.Single,System.Single)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaternionf.Copy(System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaternionf.Set(System.Single[],System.Single,System.Single,System.Single,System.Single)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaternionf.Identity_(System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaternionf.SetAxisAngle(System.Single[],System.Single[],System.Single)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaternionf.Add(System.Single[],System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaternionf.Multiply(System.Single[],System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaternionf.Mul(System.Single[],System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaternionf.Scale(System.Single[],System.Single[],System.Single)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaternionf.RotateX(System.Single[],System.Single[],System.Single)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaternionf.RotateY(System.Single[],System.Single[],System.Single)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaternionf.RotateZ(System.Single[],System.Single[],System.Single)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaternionf.CalculateW(System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaternionf.Dot(System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaternionf.Lerp(System.Single[],System.Single[],System.Single[],System.Single)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaternionf.Slerp(System.Single[],System.Single[],System.Single[],System.Single)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaternionf.Invert(System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaternionf.Conjugate(System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaternionf.Length_(System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaternionf.Len(System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaternionf.SquaredLength(System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaternionf.SqrLen(System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaternionf.Normalize(System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.Quaternionf.FromMat3(System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.Create">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.CloneIt(System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.FromValues(System.Single,System.Single,System.Single,System.Single)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.Copy(System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.Set(System.Single[],System.Single,System.Single,System.Single,System.Single)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.Add(System.Single[],System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.Subtract(System.Single[],System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.Sub(System.Single[],System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.Multiply(System.Single[],System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.Mul(System.Single[],System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.Divide(System.Single[],System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.Div(System.Single[],System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.Min(System.Single[],System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.Max(System.Single[],System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.Scale(System.Single[],System.Single[],System.Single)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.ScaleAndAdd(System.Single[],System.Single[],System.Single[],System.Single)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.Distance(System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.Dist(System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.SquaredDistance(System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.SqrDist(System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.Length_(System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.Len(System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.SquaredLength(System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.SqrLen(System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.Negate(System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.Normalize(System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.Dot(System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.Lerp(System.Single[],System.Single[],System.Single[],System.Single)">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.TransformMat4(System.Single[],System.Single[],System.Single[])">
            **
        </member>
        <member name="M:Vintagestory.API.MathTools.QVec4f.transformQuat(System.Single[],System.Single[],System.Single[])">
            **
        </member>
        <member name="T:Vintagestory.API.MathTools.Vec3Utilsf">
            <summary>
            Don't use this class unless you need it to interoperate with Mat4d
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsf.Create">
            Creates a new, empty vec3
            Returns {vec3} a new 3D vector.
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsf.CloneIt(System.Single[])">
            <summary>
            Creates a new vec3 initialized with values from an existing vector. Returns {vec3} a new 3D vector
            </summary>
            <param name="a"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsf.FromValues(System.Single,System.Single,System.Single)">
            <summary>
            Creates a new vec3 initialized with the given values. Returns {vec3} a new 3D vector
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsf.Copy(System.Single[],System.Single[])">
            <summary>
            Copy the values from one vec3 to another. Returns {vec3} out
            </summary>
            <param name="output">the receiving vector</param>
            <param name="a">the source vector</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsf.Set(System.Single[],System.Single,System.Single,System.Single)">
            <summary>
            Set the components of a vec3 to the given values
            </summary>
            <param name="output"></param>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsf.Add(System.Single[],System.Single[],System.Single[])">
            <summary>
            Adds two vec3's
            </summary>
            <param name="output">the receiving vector</param>
            <param name="a">the first operand</param>
            <param name="b">the second operand</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsf.Substract(System.Single[],System.Single[],System.Single[])">
            <summary>
            Subtracts vector b from vector a
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsf.Multiply(System.Single[],System.Single[],System.Single[])">
            <summary>
            Multiplies two vec3's
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsf.Mul(System.Single[],System.Single[],System.Single[])">
            <summary>
            Alias of Mul()
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsf.Divide(System.Single[],System.Single[],System.Single[])">
            <summary>
            Divides two vec3's
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsf.Min(System.Single[],System.Single[],System.Single[])">
            <summary>
            Returns the minimum of two vec3's
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsf.Max(System.Single[],System.Single[],System.Single[])">
            <summary>
            Returns the maximum of two vec3's
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsf.Scale(System.Single[],System.Single[],System.Single)">
            <summary>
            Scales a vec3 by a scalar number
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsf.ScaleAndAdd(System.Single[],System.Single[],System.Single[],System.Single)">
            <summary>
            Adds two vec3's after scaling the second operand by a scalar value
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="b"></param>
            <param name="scale"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsf.Distance(System.Single[],System.Single[])">
            <summary>
            Calculates the euclidian distance between two vec3's. Returns {Number} distance between a and b
            </summary>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsf.SquaredDistance(System.Single[],System.Single[])">
            <summary>
            Calculates the squared euclidian distance between two vec3's. Returns {Number} squared distance between a and b
            </summary>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsf.Length_(System.Single[])">
            <summary>
            Calculates the length of a vec3
            </summary>
            <param name="a"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsf.SquaredLength(System.Single[])">
            <summary>
            Calculates the squared length of a vec3. Returns {Number} squared length of a
            </summary>
            <param name="a"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsf.Negate(System.Single[],System.Single[])">
            <summary>
            Negates the components of a vec3
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsf.Normalize(System.Single[],System.Single[])">
            <summary>
            Normalize a vec3
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsf.Dot(System.Single[],System.Single[])">
            <summary>
            Calculates the dot product of two vec3's. Returns {Number} dot product of a and b
            </summary>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsf.Cross(System.Single[],System.Single[],System.Single[])">
            <summary>
            Computes the cross product of two vec3's. Returns {vec3} out
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsf.Lerp(System.Single[],System.Single[],System.Single[],System.Single)">
            <summary>
            Performs a linear interpolation between two vec3's
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="b"></param>
            <param name="t"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsf.TransformMat4(System.Single[],System.Single[],System.Single[])">
            <summary>
            Transforms the vec3 with a mat4. 4th vector component is implicitly '1'. Returns {vec3} out
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="m"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsf.TransformMat3(System.Single[],System.Single[],System.Single[])">
            <summary>
            Transforms the vec3 with a mat3. Returns {vec3} out
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="m"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3Utilsf.TransformQuat(System.Single[],System.Single[],System.Single[])">
            <summary>
            Transforms the vec3 with a quat
            </summary>
            <param name="output"></param>
            <param name="a"></param>
            <param name="q"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.MultiCollisionTester.GetCollidingCollisionBox(Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.MathTools.Cuboidf[],System.Int32,Vintagestory.API.MathTools.Vec3d,System.Boolean)">
            <summary>
            If given cuboidf collides with the terrain, returns the collision box it collides with. By default also checks if the cuboid is merely touching the terrain, set alsoCheckTouch to disable that.
            </summary>
            <param name="blockAccessor"></param>
            <param name="ecollisionBoxes"></param>
            <param name="collBoxCount"></param>
            <param name="pos"></param>
            <param name="alsoCheckTouch"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.MathTools.EnumDistribution">
            <summary>
            The distribution of the random numbers
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumDistribution.UNIFORM">
            <summary>
            Select completely random numbers within avg-var until avg+var
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumDistribution.TRIANGLE">
            <summary>
            Select random numbers with numbers near avg being the most commonly selected ones, following a triangle curve
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumDistribution.GAUSSIAN">
            <summary>
            Select random numbers with numbers near avg being the more commonly selected ones, following a gaussian curve
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumDistribution.NARROWGAUSSIAN">
            <summary>
            Select random numbers with numbers near avg being the much more commonly selected ones, following a narrow gaussian curve
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumDistribution.VERYNARROWGAUSSIAN">
            <summary>
            Select random numbers with numbers near avg being the much much more commonly selected ones, following an even narrower gaussian curve
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumDistribution.INVERSEGAUSSIAN">
            <summary>
            Select random numbers with numbers near avg being the less commonly selected ones, following an upside down gaussian curve
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumDistribution.NARROWINVERSEGAUSSIAN">
            <summary>
            Select random numbers with numbers near avg being the much less commonly selected ones, following an upside down gaussian curve
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumDistribution.INVEXP">
            <summary>
            Select random numbers in the form of avg + var, with numbers near avg being preferred
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumDistribution.STRONGINVEXP">
            <summary>
            Select random numbers in the form of avg + var, with numbers near avg being strongly preferred
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumDistribution.STRONGERINVEXP">
            <summary>
            Select random numbers in the form of avg + var, with numbers near avg being very strongly preferred
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.EnumDistribution.DIRAC">
            <summary>
            Select completely random numbers within avg-var until avg+var only ONCE and then always 0
            </summary>
        </member>
        <member name="T:Vintagestory.API.MathTools.NatFloat">
             <summary>
             A more natural random number generator (nature usually doesn't grow by the exact same numbers nor does it completely randomly)
             </summary>
             <example>
             <code language="json">
            "quantity": {
            	"dist": "strongerinvexp",
            	"avg": 6,
            	"var": 4
            }
             </code>
             <code language="json">
            "quantity": {
            	"avg": 4,
             "var": 2
            }
             </code>
             </example>
        </member>
        <member name="P:Vintagestory.API.MathTools.NatFloat.Zero">
            <summary>
            Always 0
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.NatFloat.One">
            <summary>
            Always 1
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.NatFloat.offset">
            <summary>
            A full offset to apply to any values returned.
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.NatFloat.avg">
            <summary>
            The average value for the random float.
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.NatFloat.var">
            <summary>
            The variation for the random float.
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.NatFloat.dist">
            <summary>
            The type of distribution to use that determines the commodity of values.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.NatFloat.ClampToRange(System.Single)">
            <summary>
            Clamps supplied value to avg-var and avg+var
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.MathTools.ClampedSimplexNoise">
            <summary>
            Perlin noise of supplied amplitude and frequency. The resulting value is clamped to 0...1
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.NewNormalizedSimplexFractalNoise.FromDefaultOctaves(System.Int32,System.Double,System.Double,System.Int64)">
            <summary>
            Generates the octaves and frequencies using following formulas 
            freq[i] = baseFrequency * 2^i
            amp[i] = persistence^i
            </summary>
            <param name="quantityOctaves"></param>
            <param name="baseFrequency"></param>
            <param name="persistence"></param>
            <param name="seed"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.MathTools.NormalizedSimplexNoise">
            <summary>
            It's generally pretty hard to get a neatly normalized coherent noise function due to the way perlin/open simplex works (gauss curve) and how random numbers are generated. So instead of trying to find the perfect normalization factor and instead try to perform some approximate normalization this class allows a small overflow and brings it down very close to the [0, 1] range using tanh().
            
            Returns values in a range of [0..1]
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.NormalizedSimplexNoise.FromDefaultOctaves(System.Int32,System.Double,System.Double,System.Int64)">
            <summary>
            Generates the octaves and frequencies using following formulas 
            freq[i] = baseFrequency * 2^i
            amp[i] = persistence^i
            </summary>
            <param name="quantityOctaves"></param>
            <param name="baseFrequency"></param>
            <param name="persistence"></param>
            <param name="seed"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.NormalizedSimplexNoise.Noise(System.Double,System.Double)">
            <summary>
            2d noise
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.NormalizedSimplexNoise.Noise(System.Double,System.Double,System.Double)">
            <summary>
            3d noise
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.NormalizedSimplexNoise.Noise(System.Double,System.Double,System.Double,System.Double[])">
            <summary>
            3d Noise using custom amplitudes
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <param name="amplitudes"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.MathTools.SimplexNoise">
            <summary>
            OpenSimplex noise of supplied amplitude and frequency. 
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.SimplexNoise.FromDefaultOctaves(System.Int32,System.Double,System.Double,System.Int64)">
            <summary>
            Generates the octaves and frequencies using following formulas 
            freq[i] = baseFrequency * 2^i
            amp[i] = persistence^i
            </summary>
            <param name="quantityOctaves"></param>
            <param name="baseFrequency"></param>
            <param name="persistence"></param>
            <param name="seed"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.MathTools.SimplexNoiseOctave">
            <summary>
            OpenSimplex Noise in C#
            Ported from https://gist.github.com/KdotJPG/b1270127455a94ac5d19 by KdotJPG
            and heavily refactored to improve performance.
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.Rectanglei.X1">
            <summary>
            Same as X
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.Rectanglei.Y1">
            <summary>
            Same as Y
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.Rectanglei.X2">
            <summary>
            Same as X + Width
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.Rectanglei.Y2">
            <summary>
            Same as Y + Height
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Rectanglei.Intersects(Vintagestory.API.MathTools.Rectanglei)">
            <summary>
            If the given cuboid intersects with this cubiod
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Rectanglei.IntersectsOrTouches(Vintagestory.API.MathTools.Rectanglei)">
            <summary>
            If the given cuboid intersects  with or is adjacent to this cubiod
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Rectanglei.Contains(Vintagestory.API.MathTools.Vec2i)">
            <summary>
            Returns if the given point is inside the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Rectanglei.Contains(System.Int32,System.Int32)">
            <summary>
            Returns if the given point is inside the cuboid
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.ShapeUtil.GetSquarePointsSortedByMDist(System.Int32)">
            <summary>
            Returns an array of vectors for each point in a square, sorted by manhattan distance to center, exluding the center point
            </summary>
            <param name="halflength"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.ShapeUtil.GetHollowSquarePoints(System.Int32)">
            <summary>
            Returns a square outline of given radius (only for odd lengths)
            </summary>
            <param name="halflength"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.MathTools.Size2f">
            <summary>
            Represents a 2D size
            </summary>
        </member>
        <member name="T:Vintagestory.API.MathTools.Size2d">
            <summary>
            Represents a 2D size
            </summary>
        </member>
        <member name="T:Vintagestory.API.MathTools.Size2i">
            <summary>
            Represents a 2D size
            </summary>
        </member>
        <member name="T:Vintagestory.API.MathTools.HorSize2i">
            <summary>
            Represents a 2D size
            </summary>
        </member>
        <member name="T:Vintagestory.API.MathTools.Size3f">
            <summary>
            Represents a vector of 3 floats. Go bug Tyron of you need more utility methods in this class.
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.Size3f.Width">
            <summary>
            The X-dimension of this size.
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.Size3f.Height">
            <summary>
            The Y-dimension for this size.
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.Size3f.Length">
            <summary>
            The Z-dimension for this size.
            </summary>
        </member>
        <member name="T:Vintagestory.API.MathTools.Size3d">
            <summary>
            Represents a vector of 3 doubles. Go bug Tyron of you need more utility methods in this class.
            </summary>
        </member>
        <member name="T:Vintagestory.API.MathTools.Size3i">
            <summary>
            Represents a vector of 3 integers. Go bug Tyron of you need more utility methods in this class.
            </summary>
        </member>
        <member name="T:Vintagestory.API.MathTools.Sphere">
            <summary>
            Not really a sphere, actually now an AABB centred on x,y,z, but we keep the name for API consistency
            </summary>
        </member>
        <member name="T:Vintagestory.API.MathTools.ThreeBytes">
            <summary>
            For performance, intended to compile equivalently to a byte[3], but more RAM efficient and more GC efficient
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.FastVec2f.Z">
            <summary>Identical to .Y - optionally, you can use .Z instead for code readability if the vector represents X,Z values</summary>
        </member>
        <member name="T:Vintagestory.API.MathTools.FastVec2i">
            <summary>
            Represents a vector of 2 ints. Go bug Tyron if you need more utility methods in this class.
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.FastVec2i.Z">
            <summary>Identical to .Y - optionally, you can use .Z instead for code readability if the vector represents X,Z values</summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec2i.ToChunkIndex">
            <summary>
            27 lowest bits for X Coordinate, then 27 bits for Z coordinate
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.MathTools.FastVec3d">
            <summary>
            Represents a vector of 3 doubles
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.FastVec3d.X">
            <summary>
            The X-Component of the vector
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.FastVec3d.Y">
            <summary>
            The Y-Component of the vector
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.FastVec3d.Z">
            <summary>
            The Z-Component of the vector
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3d.#ctor(System.Double,System.Double,System.Double)">
            <summary>
            Create a new vector with given coordinates
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3d.#ctor(Vintagestory.API.MathTools.Vec4d)">
            <summary>
            Create a new vector with given coordinates
            </summary>
            <param name="vec"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3d.#ctor(System.Double[])">
            <summary>
            Create a new vector with given coordinates
            </summary>
            <param name="values"></param>
        </member>
        <member name="P:Vintagestory.API.MathTools.FastVec3d.Item(System.Int32)">
            <summary>
            Returns the n-th coordinate
            </summary>
            <param name="index"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3d.Length">
            <summary>
            Returns the length of this vector
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3d.Dot(Vintagestory.API.MathTools.Vec3f)">
            <summary>
            Returns the dot product with given vector
            </summary>
            <param name="a"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3d.Dot(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Returns the dot product with given vector
            </summary>
            <param name="a"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3d.Dot(System.Single[])">
            <summary>
            Returns the dot product with given vector
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3d.Dot(System.Double[])">
            <summary>
            Returns the dot product with given vector
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3d.Add(System.Double,System.Double,System.Double)">
            <summary>
            Adds given x/y/z coordinates to the vector
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3d.Add(Vintagestory.API.MathTools.Vec3i)">
            <summary>
            Adds given vector's x/y/z coordinates to the vector
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3d.Add(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Adds given BlockPos's x/y/z coordinates to the vector
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3d.ReverseSub(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Like .Sub() but subtracts this vec from the supplied parameter
            </summary>
            <param name="vec"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3d.Mul(System.Double)">
            <summary>
            Multiplies each coordinate with given multiplier
            </summary>
            <param name="multiplier"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3d.Mul(System.Double,System.Double,System.Double)">
            <summary>
            Multiply each individual component
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3d.Clone">
            <summary>
            Creates a copy of the vetor
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3d.Normalize">
            <summary>
            Turns the vector into a unit vector with length 1, but only if length is non-zero
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3d.Distance(Vintagestory.API.MathTools.FastVec3d)">
            <summary>
            Calculates the distance the two endpoints
            </summary>
            <param name="vec"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3d.DistanceSq(Vintagestory.API.MathTools.FastVec3d)">
            <summary>
            Calculates the square distance the two endpoints
            </summary>
            <param name="vec"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3d.DistanceSq(System.Double,System.Double,System.Double)">
            <summary>
            Calculates the square distance the two endpoints
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3d.Distance(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Calculates the distance the two endpoints
            </summary>
            <param name="vec"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3d.AddCopy(System.Double,System.Double,System.Double)">
            <summary>
            Adds given coordinates to a new vectors and returns it. The original calling vector remains unchanged
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3d.AddCopy(Vintagestory.API.MathTools.FastVec3d)">
            <summary>
            Adds both vectors into a new vector. Both source vectors remain unchanged.
            </summary>
            <param name="vec"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3d.ReduceBy(System.Double)">
            <summary>
            Substracts val from each coordinate if the coordinate if positive, otherwise it is added. If 0, the value is unchanged. The value must be a positive number
            </summary>
            <param name="val"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3d.NormalizedCopy">
            <summary>
            Creates a new vectors that is the normalized version of this vector.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3d.ToVec3d">
            <summary>
            Creates a new double precision vector with the same coordinates
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3d.Set(System.Double,System.Double,System.Double)">
            <summary>
            Sets the vector to this coordinates
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3d.Set(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Sets the vector to the coordinates of given vector
            </summary>
            <param name="vec"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3d.Set(Vintagestory.API.MathTools.FastVec3d)">
            <summary>
            Sets the vector to the coordinates of given vector
            </summary>
            <param name="vec"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3d.ToString">
            <summary>
            Simple string represenation of the x/y/z components
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.MathTools.FastVec3f">
            <summary>
            Represents a vector of 3 floats. Go bug Tyron if you need more utility methods in this class.
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.FastVec3f.X">
            <summary>
            The X-Component of the vector
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.FastVec3f.Y">
            <summary>
            The Y-Component of the vector
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.FastVec3f.Z">
            <summary>
            The Z-Component of the vector
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.FastVec3f.R">
            <summary>
            Synonum for X
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.FastVec3f.G">
            <summary>
            Synonum for Y
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.FastVec3f.B">
            <summary>
            Synonum for Z
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3f.#ctor(System.Single,System.Single,System.Single)">
            <summary>
            Create a new vector with given coordinates
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3f.#ctor(Vintagestory.API.MathTools.Vec4f)">
            <summary>
            Create a new vector with given coordinates
            </summary>
            <param name="vec"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3f.#ctor(System.Single[])">
            <summary>
            Create a new vector with given coordinates
            </summary>
            <param name="values"></param>
        </member>
        <member name="P:Vintagestory.API.MathTools.FastVec3f.Item(System.Int32)">
            <summary>
            Returns the n-th coordinate
            </summary>
            <param name="index"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3f.Length">
            <summary>
            Returns the length of this vector
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3f.Dot(Vintagestory.API.MathTools.Vec3f)">
            <summary>
            Returns the dot product with given vector
            </summary>
            <param name="a"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3f.Dot(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Returns the dot product with given vector
            </summary>
            <param name="a"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3f.Dot(System.Single[])">
            <summary>
            Returns the dot product with given vector
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3f.Dot(System.Double[])">
            <summary>
            Returns the dot product with given vector
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3f.Add(System.Single,System.Single,System.Single)">
            <summary>
            Adds given x/y/z coordinates to the vector
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3f.Mul(System.Single)">
            <summary>
            Multiplies each coordinate with given multiplier
            </summary>
            <param name="multiplier"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3f.Clone">
            <summary>
            Creates a copy of the vetor
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3f.Normalize">
            <summary>
            Turns the vector into a unit vector with length 1, but only if length is non-zero
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3f.Distance(Vintagestory.API.MathTools.FastVec3f)">
            <summary>
            Calculates the distance the two endpoints
            </summary>
            <param name="vec"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3f.DistanceSq(System.Double,System.Double,System.Double)">
            <summary>
            Calculates the square distance between the two endpoints
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3f.DistanceSq(Vintagestory.API.MathTools.FastVec3f)">
            <summary>
            Calculates the square distance between the two endpoints
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3f.Distance(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Calculates the distance the two endpoints
            </summary>
            <param name="vec"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3f.AddCopy(System.Single,System.Single,System.Single)">
            <summary>
            Adds given coordinates to a new vectors and returns it. The original calling vector remains unchanged
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3f.AddCopy(Vintagestory.API.MathTools.FastVec3f)">
            <summary>
            Adds both vectors into a new vector. Both source vectors remain unchanged.
            </summary>
            <param name="vec"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3f.ReduceBy(System.Single)">
            <summary>
            Substracts val from each coordinate if the coordinate if positive, otherwise it is added. If 0, the value is unchanged. The value must be a positive number
            </summary>
            <param name="val"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3f.NormalizedCopy">
            <summary>
            Creates a new vectors that is the normalized version of this vector. 
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3f.ToVec3d">
            <summary>
            Creates a new double precision vector with the same coordinates
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3f.Set(System.Single,System.Single,System.Single)">
            <summary>
            Sets the vector to this coordinates
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3f.Set(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Sets the vector to the coordinates of given vector
            </summary>
            <param name="vec"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3f.Set(Vintagestory.API.MathTools.FastVec3f)">
            <summary>
            Sets the vector to the coordinates of given vector
            </summary>
            <param name="vec"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3f.ToString">
            <summary>
            Simple string represenation of the x/y/z components
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.MathTools.FastVec3i">
            <summary>
            Represents a vector of 3 ints, similar to a Vec3i or a BlockPos but this is a struct
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.FastVec3i.X">
            <summary>
            The X-Component of the vector
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.FastVec3i.Y">
            <summary>
            The Y-Component of the vector
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.FastVec3i.Z">
            <summary>
            The Z-Component of the vector
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.FastVec3i.R">
            <summary>
            Synonum for X
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.FastVec3i.G">
            <summary>
            Synonum for Y
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.FastVec3i.B">
            <summary>
            Synonum for Z
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3i.#ctor(System.Int32,System.Int32,System.Int32)">
            <summary>
            Create a new vector with given coordinates
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3i.#ctor(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Create a new vector with given coordinates
            </summary>
            <param name="pos"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3i.#ctor(System.Int32[])">
            <summary>
            Create a new vector with given coordinates
            </summary>
            <param name="values"></param>
        </member>
        <member name="P:Vintagestory.API.MathTools.FastVec3i.Item(System.Int32)">
            <summary>
            Returns the n-th coordinate
            </summary>
            <param name="index"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3i.Length">
            <summary>
            Returns the length of this vector
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3i.Add(System.Int32,System.Int32,System.Int32)">
            <summary>
            Adds given x/y/z coordinates to the vector
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3i.Mul(System.Int32)">
            <summary>
            Multiplies each coordinate with given multiplier
            </summary>
            <param name="multiplier"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3i.Clone">
            <summary>
            Creates a copy of the vetor
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3i.Distance(Vintagestory.API.MathTools.FastVec3i)">
            <summary>
            Calculates the distance the two endpoints
            </summary>
            <param name="vec"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3i.DistanceSq(System.Double,System.Double,System.Double)">
            <summary>
            Calculates the square distance the two endpoints
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3i.Distance(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Calculates the distance the two endpoints
            </summary>
            <param name="vec"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3i.AddCopy(Vintagestory.API.MathTools.FastVec3i)">
            <summary>
            Adds both vectors into a new vector. Both source vectors remain unchanged.
            </summary>
            <param name="vec"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3i.ToVec3d">
            <summary>
            Creates a new double precision vector with the same coordinates
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3i.Set(System.Int32,System.Int32,System.Int32)">
            <summary>
            Sets the vector to this coordinates
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3i.Set(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Sets the vector to the coordinates of given vector
            </summary>
            <param name="vec"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3i.Set(Vintagestory.API.MathTools.FastVec3i)">
            <summary>
            Sets the vector to the coordinates of given vector
            </summary>
            <param name="vec"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.FastVec3i.ToString">
            <summary>
            Simple string represenation of the x/y/z components
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.MathTools.Vec2d">
            <summary>
            Represents a vector of 2 doubles. Go bug Tyron of you need more utility methods in this class.
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.AngleConstraint.CenterRad">
            <summary>
            Center point in radians
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.AngleConstraint.RangeRad">
            <summary>
            Allowed range from that center in radians
            </summary>
        </member>
        <member name="T:Vintagestory.API.MathTools.Vec2f">
            <summary>
            Represents a vector of 2 floats. Go bug Tyron of you need more utility methods in this class.
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.Vec2f.X">
            <summary>
            The X element of the vector.
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.Vec2f.Y">
            <summary>
            The Y element of the vector.
            </summary>
        </member>
        <member name="T:Vintagestory.API.MathTools.Vec2i">
            <summary>
            Represents a vector of 2 ints. Go bug Tyron if you need more utility methods in this class.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec2i.ToChunkIndex">
            <summary>
            27 lowest bits for X Coordinate, then 27 bits for Z coordinate
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.MathTools.Vec2iStruct">
            <summary>
            Represents a vector of 2 ints. Go bug Tyron if you need more utility methods in this class.
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.Vec2iStruct.ToInChunkIndex">
            <summary>
            Will always return a number in the range 0..1023, no matter what the value of X and Y
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec2iStruct.ToChunkIndex">
            <summary>
            27 lowest bits for X Coordinate, then 27 bits for Z coordinate
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.MathTools.Vec3d">
            <summary>
            Represents a vector of 3 doubles. Go bug Tyron of you need more utility methods in this class.
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.Vec3d.Zero">
            <summary>
            Create a new instance with x/y/z set to 0
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3d.#ctor(Vintagestory.API.MathTools.Vec4d)">
            <summary>
            Create a new vector with given coordinates
            </summary>
            <param name="vec"></param>
        </member>
        <member name="P:Vintagestory.API.MathTools.Vec3d.Item(System.Int32)">
            <summary>
            Returns the n-th coordinate
            </summary>
            <param name="index"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3d.Scale(System.Double)">
            <summary>
            Note: adjusts the calling Vec3d, does not make a copy
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3d.Offset(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Note: adjusts the calling Vec3d, does not make a copy
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3d.Offset(System.Double,System.Double,System.Double)">
            <summary>
            Note: adjusts the calling Vec3d, does not make a copy
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3d.SetWithDimension(Vintagestory.API.Common.Entities.EntityPos)">
            <summary>
            Include dimension info. We don't always want this, but sometimes we do
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3d.SetWithDimension(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Include dimension info. We don't always want this, but sometimes we do
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.MathTools.Vec3f">
            <summary>
            Represents a vector of 3 floats. Go bug Tyron of you need more utility methods in this class.
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.Vec3f.Zero">
            <summary>
            Create a new instance with x/y/z set to 0
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.Vec3f.X">
            <summary>
            The X-Component of the vector
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.Vec3f.Y">
            <summary>
            The Y-Component of the vector
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.Vec3f.Z">
            <summary>
            The Z-Component of the vector
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.Vec3f.R">
            <summary>
            Synonum for X
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.Vec3f.G">
            <summary>
            Synonum for Y
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.Vec3f.B">
            <summary>
            Synonum for Z
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.#ctor">
            <summary>
            Creates a new vector with x/y/z = 0
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.#ctor(System.Single,System.Single,System.Single)">
            <summary>
            Create a new vector with given coordinates
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.#ctor(Vintagestory.API.MathTools.Vec4f)">
            <summary>
            Create a new vector with given coordinates
            </summary>
            <param name="vec"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.#ctor(System.Single[])">
            <summary>
            Create a new vector with given coordinates
            </summary>
            <param name="values"></param>
        </member>
        <member name="P:Vintagestory.API.MathTools.Vec3f.Item(System.Int32)">
            <summary>
            Returns the n-th coordinate
            </summary>
            <param name="index"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.Length">
            <summary>
            Returns the length of this vector
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.Dot(Vintagestory.API.MathTools.Vec3f)">
            <summary>
            Returns the dot product with given vector
            </summary>
            <param name="a"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.Dot(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Returns the dot product with given vector
            </summary>
            <param name="a"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.Dot(System.Single[])">
            <summary>
            Returns the dot product with given vector
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.Dot(System.Double[])">
            <summary>
            Returns the dot product with given vector
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.Cross(Vintagestory.API.MathTools.Vec3f,Vintagestory.API.MathTools.Vec3f)">
            <summary>
            Creates the cross product from a and b and sets own values accordingly
            </summary>
            <param name="a"></param>
            <param name="b"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.Cross(Vintagestory.API.MathTools.Vec3f,Vintagestory.API.MathTools.Vec4f)">
            <summary>
            Creates the cross product from a and b and sets own values accordingly
            </summary>
            <param name="a"></param>
            <param name="b"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.Add(System.Single,System.Single,System.Single)">
            <summary>
            Adds given x/y/z coordinates to the vector
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.Add(Vintagestory.API.MathTools.Vec3f)">
            <summary>
            Adds given vector's x/y/z coordinates to the vector
            </summary>
            <param name="vec"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.Add(Vintagestory.API.MathTools.FastVec3f)">
            <summary>
            Adds given vector's x/y/z coordinates to the vector
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.Add(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Adds given vector's x/y/z coordinates to the vector
            </summary>
            <param name="vec"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.Sub(Vintagestory.API.MathTools.Vec3f)">
            <summary>
            Substracts given vector's x/y/z coordinates to the vector
            </summary>
            <param name="vec"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.Sub(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Substracts given vector's x/y/z coordinates to the vector
            </summary>
            <param name="vec"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.Mul(System.Single)">
            <summary>
            Multiplies each coordinate with given multiplier
            </summary>
            <param name="multiplier"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.Clone">
            <summary>
            Creates a copy of the vetor
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.Normalize">
            <summary>
            Turns the vector into a unit vector with length 1, but only if length is non-zero
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.DistanceSq(System.Double,System.Double,System.Double)">
            <summary>
            Calculates the square distance the two endpoints
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.DistanceTo(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Calculates the distance the two endpoints
            </summary>
            <param name="vec"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.AddCopy(System.Single,System.Single,System.Single)">
            <summary>
            Adds given coordinates to a new vectors and returns it. The original calling vector remains unchanged
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.AddCopy(Vintagestory.API.MathTools.Vec3f)">
            <summary>
            Adds both vectors into a new vector. Both source vectors remain unchanged.
            </summary>
            <param name="vec"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.ReduceBy(System.Single)">
            <summary>
            Substracts val from each coordinate if the coordinate if positive, otherwise it is added. If 0, the value is unchanged. The value must be a positive number
            </summary>
            <param name="val"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.NormalizedCopy">
            <summary>
            Creates a new vectors that is the normalized version of this vector. 
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.ToVec3d">
            <summary>
            Creates a new double precision vector with the same coordinates
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.Set(System.Single,System.Single,System.Single)">
            <summary>
            Sets the vector to this coordinates
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.Set(Vintagestory.API.MathTools.Vec3d)">
            <summary>
            Sets the vector to the coordinates of given vector
            </summary>
            <param name="vec"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.Set(Vintagestory.API.MathTools.Vec3f)">
            <summary>
            Sets the vector to the coordinates of given vector
            </summary>
            <param name="vec"></param>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3f.ToString">
            <summary>
            Simple string represenation of the x/y/z components
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.MathTools.Vec3i">
            <summary>
            Represents a vector of 3 ints. Go bug Tyron if you need more utility methods in this class.
            </summary>
        </member>
        <member name="F:Vintagestory.API.MathTools.Vec3i.DirectAndIndirectNeighbours">
            <summary>
            List of offset of all direct and indirect neighbours of coordinate 0/0/0
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.Vec3i.Item(System.Int32)">
            <summary>
            Returns the n-th coordinate
            </summary>
            <param name="index"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec3i.Reduce(System.Int32)">
            <summary>
            Substracts val from each coordinate if the coordinate if positive, otherwise it is added. If 0, the value is unchanged. The value must be a positive number
            </summary>
            <param name="val"></param>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.MathTools.Vec4d.Item(System.Int32)">
            <summary>
            Returns the n-th coordinate
            </summary>
            <param name="index"></param>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.MathTools.Vec4f.R">
            <summary>
            Synonum for X
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.Vec4f.G">
            <summary>
            Synonum for Y
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.Vec4f.B">
            <summary>
            Synonum for Z
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.Vec4f.A">
            <summary>
            Synonum for W
            </summary>
        </member>
        <member name="P:Vintagestory.API.MathTools.Vec4f.Item(System.Int32)">
            <summary>
            Returns the n-th coordinate
            </summary>
            <param name="index"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec4f.NormalizeXYZ">
            <summary>
            Turns the vector into a unit vector with length 1, but only if length is non-zero
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec4f.LengthXYZ">
            <summary>
            Returns the length of this vector
            </summary>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.MathTools.Vec4i">
            <summary>
            Represents a vector of 4 ints. Go bug Tyron if you need more utility methods in this class.
            </summary>
        </member>
        <member name="M:Vintagestory.API.MathTools.Vec4i.HorDistanceSqTo(System.Double,System.Double)">
            <summary>
            Returns the squared Euclidean horizontal distance to between this and given position
            </summary>
            <param name="x"></param>
            <param name="z"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.MathTools.Vec4s">
            <summary>
            Represents a vector of 4 shorts. Go bug Tyron if you need more utility methods in this class.
            </summary>
        </member>
        <member name="T:Vintagestory.API.MathTools.Vec4us">
            <summary>
            Represents a vector of 4 unsigned shorts. Go bug Tyron if you need more utility methods in this class.
            </summary>
        </member>
        <member name="T:Vintagestory.API.Server.IAsyncServerSystem">
            <summary>
            Mods can create server threads to carry out an asynchronous process, by implementing this interface and calling IServerApi.AddServerThread()
            </summary>
        </member>
        <member name="T:Vintagestory.API.Server.ICoreServerAPI">
            <summary>
            The core api implemented by the server. The main interface for accessing the server. Contains all sub components and some miscellaneous methods.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.ICoreServerAPI.Event">
            <summary>
            API Component for registering to various Events
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.ICoreServerAPI.WorldManager">
            <summary>
            API Component for access/modify everything game world related
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.ICoreServerAPI.Server">
            <summary>
            API Component for accessing server related functionality
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.ICoreServerAPI.Permissions">
            <summary>
            Everything related to roles and privileges
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.ICoreServerAPI.Groups">
            <summary>
            Everything related to player groups
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.ICoreServerAPI.PlayerData">
            <summary>
            World-agnostic player data. You can query this information even when the player is offline
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.ICoreServerAPI.Network">
            <summary>
            API for sending/receiving network packets
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.ICoreServerAPI.World">
            <summary>
            API for accessing anything in the game world
            </summary>
        </member>
        <member name="M:Vintagestory.API.Server.ICoreServerAPI.SendIngameError(Vintagestory.API.Server.IServerPlayer,System.String,System.String,System.Object[])">
            <summary>
            Shows a vibrating red text in the players screen. If text is null the client will try to find a language entry using supplied code prefixed with 'ingameerror-' (which is recommended so that the errors are translated to the users local language)
            </summary>
            <param name="player"></param>
            <param name="errorCode"></param>
            <param name="text"></param>
            <param name="langparams">If text is null, these are the arguments passed into the Language translation tool</param>
        </member>
        <member name="M:Vintagestory.API.Server.ICoreServerAPI.SendIngameDiscovery(Vintagestory.API.Server.IServerPlayer,System.String,System.String,System.Object[])">
            <summary>
            Shows a discovery text on the players screen. If text is null the client will try to find a language entry using supplied code prefixed with 'ingamediscovery-' (which is recommended so that the errors are translated to the users local language)
            </summary>
            <param name="player"></param>
            <param name="discoveryCode"></param>
            <param name="text"></param>
            <param name="langparams">If text is null, these are the arguments passed into the Language translation tool</param>
        </member>
        <member name="M:Vintagestory.API.Server.ICoreServerAPI.SendMessage(Vintagestory.API.Common.IPlayer,System.Int32,System.String,Vintagestory.API.Common.EnumChatType,System.String)">
            <summary>
            Sends a chat message only to given player in given groupId
            </summary>
            <param name="player"></param>
            <param name="groupId"></param>
            <param name="message"></param>
            <param name="chatType"></param>
            <param name="data">Custom data to a message to be received by the client</param>
        </member>
        <member name="M:Vintagestory.API.Server.ICoreServerAPI.SendMessageToGroup(System.Int32,System.String,Vintagestory.API.Common.EnumChatType,System.String)">
            <summary>
            Sends a chat message to all online players in given player group
            </summary>
            <param name="groupid"></param>
            <param name="message"></param>
            <param name="chatType"></param>
            <param name="data">Custom data to a message to be received by the client</param>
        </member>
        <member name="M:Vintagestory.API.Server.ICoreServerAPI.BroadcastMessageToAllGroups(System.String,Vintagestory.API.Common.EnumChatType,System.String)">
            <summary>
            Sends a chat message to all online players in all of their channels
            </summary>
            <param name="message"></param>
            <param name="chatType"></param>
            <param name="data">Custom data to a message to be received by the client</param>
        </member>
        <member name="M:Vintagestory.API.Server.ICoreServerAPI.InjectConsole(System.String)">
            <summary>
            Injects a message or command into the server console input processing system. This lets you run commands or chat as Admin.
            </summary>
            <param name="message"></param>
        </member>
        <member name="M:Vintagestory.API.Server.ICoreServerAPI.HandleCommand(Vintagestory.API.Server.IServerPlayer,System.String)">
            <summary>
            Calls a command as if given player called it
            </summary>
            <param name="player"></param>
            <param name="message"></param>
        </member>
        <member name="M:Vintagestory.API.Server.ICoreServerAPI.RegisterItem(Vintagestory.API.Common.Item)">
            <summary>
            Register a new item type
            </summary>
            <param name="item"></param>
        </member>
        <member name="M:Vintagestory.API.Server.ICoreServerAPI.RegisterBlock(Vintagestory.API.Common.Block)">
            <summary>
            Register a new Block. Must happen before server runphase LoadGame. These are sent to the client during connect, so only need to register them on the server side.
            </summary>
            <param name = "block">BlockType to register. The Server assigns a block id and sets block.blockId</param>
        </member>
        <member name="M:Vintagestory.API.Server.ICoreServerAPI.RegisterCraftingRecipe(Vintagestory.API.Common.GridRecipe)">
            <summary>
            Registers a new crafting recipe. These are sent to the client during connect, so only need to register them on the server side.
            </summary>
            <param name="recipe"></param>
        </member>
        <member name="M:Vintagestory.API.Server.ICoreServerAPI.RegisterTreeGenerator(Vintagestory.API.Common.AssetLocation,Vintagestory.API.Server.ITreeGenerator)">
            <summary>
            Registers a new tree generator
            </summary>
            <param name="generatorCode"></param>
            <param name="gen"></param>
        </member>
        <member name="M:Vintagestory.API.Server.ICoreServerAPI.RegisterTreeGenerator(Vintagestory.API.Common.AssetLocation,Vintagestory.API.Server.GrowTreeDelegate)">
            <summary>
            Registers a new tree generator
            </summary>
            <param name="generatorCode"></param>
            <param name="genhandler"></param>
        </member>
        <member name="M:Vintagestory.API.Server.ICoreServerAPI.RegisterCommand(Vintagestory.API.Common.ServerChatCommand)">
            <summary>
            Registers a chat command. When registered on the client you access the command by prefixing a dot (.), on the server it's a slash (/)
            </summary>
            <param name="chatcommand"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.ICoreServerAPI.RegisterCommand(System.String,System.String,System.String,Vintagestory.API.Common.ServerChatCommandDelegate,System.String)">
            <summary>
            Registers a chat command. When registered on the client you access the command by prefixing a dot (.), on the server it's a slash (/)
            </summary>
            <param name="command"></param>
            <param name="descriptionMsg"></param>
            <param name="syntaxMsg"></param>
            <param name="handler"></param>
            <param name="requiredPrivilege"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.ICoreServerAPI.TriggerOnAssetsFirstLoaded">
            <summary>
            For internal use: used to remap block and item Ids, as soon as assets are loaded from disk, before recipes etc. are loaded or anything else which may occur in modsystem AssetsLoaded() methods
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IPlayerDataManager.PlayerDataByUid">
            <summary>
            Returns a copy of the player data dictionary loaded by the server. Thats the contents of Playerdata/playerdata.json
            </summary>
        </member>
        <member name="M:Vintagestory.API.Server.IPlayerDataManager.GetPlayerDataByUid(System.String)">
            <summary>
            Retrieve a players offline, world-agnostic data by player uid
            </summary>
            <param name="playerUid"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IPlayerDataManager.GetPlayerDataByLastKnownName(System.String)">
            <summary>
            Retrieve a players offline, world-agnostic data by his last known name
            </summary>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IPlayerDataManager.ResolvePlayerName(System.String,System.Action{Vintagestory.API.Server.EnumServerResponse,System.String})">
            <summary>
            Resolves a player name to a player uid, independent on whether this player is online, offline or never even joined the server. This is done by contacting the auth server, so please use this method sparingly.
            </summary>
            <param name="playername"></param>
            <param name="onPlayerReceived"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IPlayerDataManager.ResolvePlayerUid(System.String,System.Action{Vintagestory.API.Server.EnumServerResponse,System.String})">
            <summary>
            Resolves a player uid to a player name, independent on whether this player is online, offline or never even joined the server. This is done by contacting the auth server, so please use this method sparingly.
            </summary>
            <param name="playeruid"></param>
            <param name="onPlayerReceived"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IPermissionManager.GetRole(System.String)">
            <summary>
            Retrieve a role by its role code
            </summary>
            <param name="code"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IPermissionManager.SetRole(Vintagestory.API.Server.IServerPlayer,Vintagestory.API.Common.IPlayerRole)">
            <summary>
            Set given role for given player. Role must exist in the serverconfig.json. For a list of roles, read sapi.Config.Roles
            </summary>
            <param name="player"></param>
            <param name="role"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IPermissionManager.SetRole(Vintagestory.API.Server.IServerPlayer,System.String)">
            <summary>
            Set given role for given player. Role must exist in the serverconfig.json. For a list of roles, read sapi.Config.Roles
            </summary>
            <param name="player"></param>
            <param name="roleCode"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IPermissionManager.RegisterPrivilege(System.String,System.String,System.Boolean)">
            <summary>
            Registers a user privilege with the server. Is only active for the current server session and lost during a server restart/shutdown, so register it during server startup.
            New privileges are auto-granted to admins and the server console.
            </summary>
            <param name = "code">Privilege to register</param>
            <param name = "shortdescription">Short description</param>
            <param name = "adminAutoGrant">By default, super users are automatically granted all privileges. Set this value to false to change that</param>
        </member>
        <member name="M:Vintagestory.API.Server.IPermissionManager.GrantTemporaryPrivilege(System.String)">
            <summary>
            Grants privilege to all players connected or yet to connect. This setting is only active for the current server session and lost during a server restart/shutdown.
            </summary>
            <param name="code"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IPermissionManager.DropTemporaryPrivilege(System.String)">
            <summary>
            Revokes a privilege that has been previously granted to all players. Does not revoke privileges granted from a group. Does nothing if this privilege hasn't been previously granted.
            </summary>
            <param name="code"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IPermissionManager.GrantPrivilege(System.String,System.String,System.Boolean)">
            <summary>
            Grant a privilege to an individual connected player. 
            </summary>
            <param name="playerUID"></param>
            <param name="code"></param>
            <param name="permanent">Wether to store this privilege permanently. Otherwise only valid for the active server session.</param>
            <returns>False if player was not found</returns>
        </member>
        <member name="M:Vintagestory.API.Server.IPermissionManager.DenyPrivilege(System.String,System.String)">
            <summary>
            Actively denies a privilege from a player, overrides privileges granted by a role. Does not however override non permanent privileges
            </summary>
            <param name="playerUID"></param>
            <param name="code"></param>
            <returns>False if player was not found</returns>
        </member>
        <member name="M:Vintagestory.API.Server.IPermissionManager.RemovePrivilegeDenial(System.String,System.String)">
            <summary>
            Removes a previously set privilege denial, if any was set.
            </summary>
            <param name="playerUID"></param>
            <param name="code"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IPermissionManager.RevokePrivilege(System.String,System.String,System.Boolean)">
            <summary>
            Revokes a privilege that has been previously granted to this player. Does not revoke privileges granted from a group. Does nothing if the player does not have given privilege.
            </summary>
            <param name="playerUID"></param>
            <param name="code"></param>
            <param name="permanent">If true it removes a previously granted permanent privilege. If false it removes a previously granted temporary privilege.</param>
            <returns>False if player was not found</returns>
        </member>
        <member name="M:Vintagestory.API.Server.IPermissionManager.AddPrivilegeToGroup(System.String,System.String)">
            <summary>
            Add given privilege to given group, granting everyone in this group access to this privilege. This setting is only active for the current server session and lost during a server restart/shutdown.
            </summary>
            <param name="groupCode"></param>
            <param name="privilegeCode"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IPermissionManager.RemovePrivilegeFromGroup(System.String,System.String)">
            <summary>
            Revokes given privilege to given group, revoking everyones access to this privilege inside this group
            </summary>
            <param name="groupCode"></param>
            <param name="privilegeCode"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IPermissionManager.GetPlayerPermissionLevel(System.Int32)">
            <summary>
            Returns the players permission level
            </summary>
            <param name="player"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Server.IServerAPI">
            <summary>
            API for general Server features
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerAPI.ServerIp">
            <summary>
            The ip adress the server is listening at
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerAPI.Players">
            <summary>
            All players known to the server (which joined at least once while the server was running)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerAPI.Config">
            <summary>
            The servers current configuration as configured in the serverconfig.json. You can set the values but you need to call MarkDirty() to have them saved
            </summary>
        </member>
        <member name="M:Vintagestory.API.Server.IServerAPI.MarkConfigDirty">
            <summary>
            Marks the config dirty for saving
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerAPI.CurrentRunPhase">
            <summary>
            Returns the servers current run phase
            </summary>
            <value></value>
        </member>
        <member name="P:Vintagestory.API.Server.IServerAPI.IsDedicated">
            <summary>
            Returns whether the current server a dedicated server
            </summary>
            <value></value>
        </member>
        <member name="P:Vintagestory.API.Server.IServerAPI.IsShuttingDown">
            <summary>
            Determines if the server process has been asked to terminate.
            Use this when you need to save data in a method registered using RegisterOnSave() before server quits.
            </summary>
            <value><i>true</i>
              if server is about to shutdown</value>
        </member>
        <member name="M:Vintagestory.API.Server.IServerAPI.ShutDown">
            <summary>
            Gracefully shuts down the server
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IServerAPI.AddServerThread(System.String,Vintagestory.API.Server.IAsyncServerSystem)">
            <summary>
            Allows mods to add a ServerThread.  Useful for off-thread tasks which must be run continuously (at specified intervals) while the server is running.  Calling code simply needs to implement IAsyncServerSystem
            </summary>
            <param name="threadname"></param>
            <param name="system"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerAPI.PauseThread(System.String,System.Int32)">
            <summary>
            Does a blocking wait until given thread is paused. Returns true if the thread was paused within given time
            </summary>
            <param name="threadname"></param>
            <param name="waitTimeoutMs"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IServerAPI.ResumeThread(System.String)">
            <summary>
            Resumes a previously paused thread
            </summary>
            <param name="threadname"></param>
        </member>
        <member name="P:Vintagestory.API.Server.IServerAPI.ReducedServerThreads">
            <summary>
            If true, code should generally aim to reduce the number of CPU threads used on the server, even at the cost of slight performance delays
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerAPI.ServerUptimeSeconds">
            <summary>
            Returns the number of seconds the server has been running since last restart
            </summary>
            <value>Server uptime in seconds</value>
        </member>
        <member name="P:Vintagestory.API.Server.IServerAPI.ServerUptimeMilliseconds">
            <summary>
            Server uptime in milliseconds
            </summary>
            <value></value>
        </member>
        <member name="P:Vintagestory.API.Server.IServerAPI.TotalWorldPlayTime">
            <summary>
            Returns the number of seconds the current world has been running. This is the playtime displayed on the singleplayer world list.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerAPI.Logger">
            <summary>
            Returns a logging interface to log any log level message
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IServerAPI.LogChat(System.String,System.Object[])">
            <summary>
            Log given message with type = EnumLogType.Chat
            </summary>
            <param name="message"></param>
            <param name="args"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerAPI.LogBuild(System.String,System.Object[])">
            <summary>
            Log given message with type = EnumLogType.Build
            </summary>
            <param name="message"></param>
            <param name="args"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerAPI.LogVerboseDebug(System.String,System.Object[])">
            <summary>
            Log given message with type = EnumLogType.VerboseDebug
            </summary>
            <param name="message"></param>
            <param name="args"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerAPI.LogDebug(System.String,System.Object[])">
            <summary>
            Log given message with type = EnumLogType.Debug
            </summary>
            <param name="message"></param>
            <param name="args"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerAPI.LogNotification(System.String,System.Object[])">
            <summary>
            Log given message with type = EnumLogType.Notification
            </summary>
            <param name="message"></param>
            <param name="args"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerAPI.LogWarning(System.String,System.Object[])">
            <summary>
            Log given message with type = EnumLogType.Warning
            </summary>
            <param name="message"></param>
            <param name="args"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerAPI.LogError(System.String,System.Object[])">
            <summary>
            Log given message with type = EnumLogType.Error
            </summary>
            <param name="message"></param>
            <param name="args"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerAPI.LogFatal(System.String,System.Object[])">
            <summary>
            Log given message with type = EnumLogType.Fatal
            </summary>
            <param name="message"></param>
            <param name="args"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerAPI.LogEvent(System.String,System.Object[])">
             <summary>
            
             </summary>
             <param name="message"></param>
             <param name="args"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerAPI.LoadMiniDimension(Vintagestory.API.Common.IMiniDimension)">
            <summary>
            Add the specified dimension to the LoadedMiniDimensions, and return its allocated subdimension index.
            <br/>A mini dimension is a small set of blocks up to 4096x4096x4096 used for schematic previews, vehicles etc
            </summary>
        </member>
        <member name="M:Vintagestory.API.Server.IServerAPI.SetMiniDimension(Vintagestory.API.Common.IMiniDimension,System.Int32)">
            <summary>
            Set the specified mini-dimension at the specified subdimension index, and return its index
            <br/>A mini dimension is a small set of blocks up to 4096x4096x4096 used for schematic previews, vehicles etc
            </summary>
        </member>
        <member name="M:Vintagestory.API.Server.IServerAPI.GetMiniDimension(System.Int32)">
            <summary>
            Get the mini-dimension at the specified subdimension index; returns null if none exists
            <br/>A mini dimension is a small set of blocks up to 4096x4096x4096 used for schematic previews, vehicles etc
            </summary>
        </member>
        <member name="M:Vintagestory.API.Server.IServerAPI.AddPhysicsTickable(Vintagestory.API.Common.Entities.IPhysicsTickable)">
            <summary>
            Remove an entity from the physics ticking system on the server.
            </summary>
            <param name="entityBehavior"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerAPI.RemovePhysicsTickable(Vintagestory.API.Common.Entities.IPhysicsTickable)">
            <summary>
            Add an entity to the physics ticking system on the server.
            </summary>
            <param name="entityBehavior"></param>
        </member>
        <member name="T:Vintagestory.API.Server.IServerChunk">
            <summary>
            Some extra methods available for server side chunks
            </summary>
        </member>
        <member name="M:Vintagestory.API.Server.IServerChunk.SetServerModdata(System.String,System.Byte[])">
            <summary>
            Allows setting of server side only moddata of this chunk
            </summary>
            <param name="key"></param>
            <param name="data"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerChunk.GetServerModdata(System.String)">
            <summary>
            Retrieve server side only mod data
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Server.IServerChunk.GameVersionCreated">
            <summary>
            The game version where this chunk was created. Please note that this is not the version at which this chunk was complete. Chunks can linger around in a half complete state for a long time. 
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerChunk.NotAtEdge">
            <summary>
            If true, this chunk is not at the edge of the loaded or generating map: all eight neighbouring chunks are fully loaded
            </summary>
        </member>
        <member name="M:Vintagestory.API.Server.IServerChunk.RemoveBlockEntity(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Remove a block entity
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerChunk.BlocksPlaced">
            <summary>
            Amount of (survival) player placed blocks 
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerChunk.BlocksRemoved">
            <summary>
            Amount of (survival) player removed blocks 
            </summary>
        </member>
        <member name="T:Vintagestory.API.Server.IServerEventAPI">
            <summary>
            Contains methods to hook into various server processes
            </summary>
        </member>
        <member name="M:Vintagestory.API.Server.IServerEventAPI.GetRegisteredWorldGenHandlers(System.String)">
            <summary>
            Returns the list of currently registered map chunk generator handlers for given world type. Returns an array of handler lists. Each element in the array represents all the handlers for one worldgenpass (see EnumWorldGenPass)
            When world type is null, all handlers are returned
            </summary>
            <param name="worldType">"standard" for the vanilla world generator</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IServerEventAPI.GetWorldgenBlockAccessor(Vintagestory.API.Common.WorldGenThreadDelegate)">
            <summary>
            If you require neighbour chunk data during world generation, you have to register to this event to receive access to the chunk generator thread. This method is only called once during server startup.
            </summary>
            <param name="handler"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerEventAPI.InitWorldGenerator(System.Action,System.String)">
            <summary>
            Triggered before the first chunk, map chunk or map region is generated, given that the passed on world type has been selected. Called right after the save game has been loaded.
            </summary>
            <param name="handler"></param>
            <param name="forWorldType"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerEventAPI.MapChunkGeneration(Vintagestory.API.Common.MapChunkGeneratorDelegate,System.String)">
            <summary>
            Event that is triggered whenever a new column of chunks is being generated. It is always called before the ChunkGenerator event
            </summary>
            <param name="handler"></param>
            <param name="forWorldType">For which world types to use this generator</param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerEventAPI.MapRegionGeneration(Vintagestory.API.Common.MapRegionGeneratorDelegate,System.String)">
            <summary>
            Event that is triggered whenever a new 16x16 section of column of chunks is being generated. It is always called before the ChunkGenerator and before the MapChunkGeneration event
            </summary>
            <param name="handler"></param>
            <param name="forWorldType">For which world types to use this generator</param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerEventAPI.MapRegionNeighborsLoaded(Vintagestory.API.Common.MapRegionGeneratorDelegate,System.String)">
            <summary>
            Event that is triggered for the center mapregion whenever all surrounding mapregions are first generated/loaded, called repeatedly on mapregion re-loading
            </summary>
            <param name="handler"></param>
            <param name="forWorldType">For which world types to use this generator</param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerEventAPI.PreventTerrainHeightSmoothing(Vintagestory.API.Common.PreventTerrainHeightSmoothingDelegate)">
            <summary>
            Event that tests whether a world gen system prevents terrain to be smoothed at a given location  (e.g. the Devastation Area needs this)
            </summary>
            <param name="handler"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerEventAPI.IsTerrainHeightSmoothingPrevented(System.Int32,System.Int32,Vintagestory.API.Datastructures.BoolRef)">
            <summary>
            Tests whether any worldgen system wants to prevent terrain height smoothing at this location; the result will be true if any does
            </summary>
            <param name="chunkX"></param>
            <param name="chunkZ"></param>
            <param name="result"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerEventAPI.ChunkColumnGeneration(Vintagestory.API.Common.ChunkColumnGenerationDelegate,Vintagestory.API.Server.EnumWorldGenPass,System.String)">
            <summary>
            Vintagestory uses this method to generate the basic terrain (base terrain + rock strata + caves) in full columns. Only called once in pass EnumWorldGenPass.TerrainNoise. Register to this event if you need acces to a whole chunk column during inital generation.
            </summary>
            <param name="handler"></param>
            <param name="pass"></param>
            <param name="forWorldType">For which world types to use this generator</param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerEventAPI.WorldgenHook(Vintagestory.API.Common.WorldGenHookDelegate,System.String,System.String)">
            <summary>
            Registers a method to be called by certain special worldgen triggers, for example Resonance Archives entrance staircase
            </summary>
        </member>
        <member name="M:Vintagestory.API.Server.IServerEventAPI.TriggerWorldgenHook(System.String,Vintagestory.API.Common.IBlockAccessor,Vintagestory.API.MathTools.BlockPos,System.String)">
            <summary>
            Trigger the special worldgen hook, with the name "hook", if it exists
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.BeginChunkColumnLoadChunkThread">
            <summary>
            Called when just loaded (or generated) a full chunkcolumn
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.ChunkColumnLoaded">
            <summary>
            Called whenever the server loaded from disk or fully generated a chunkcolumn
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.ChunkColumnUnloaded">
            <summary>
            Called just before a chunk column is about to get unloaded. On shutdown this method is called for all loaded chunks, so this method can get called tens of thousands of times there, beware
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.CanUseBlock">
            <summary>
            Registers a handler to be called every time a player uses a block. The methods return value determines if the player may place/break this block.
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.OnTrySpawnEntity">
            <summary>
            Called when the server attempts to spawn given entity. Return false to deny spawning.
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.OnPlayerInteractEntity">
            <summary>
            Called when a player interacts with an entity
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.PlayerCreate">
            <summary>
            Called when a player joins for the very first time
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.PlayerRespawn">
            <summary>
            Called when a player got respawned
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.PlayerJoin">
            <summary>
            Called when a new or existing player join, their game client is still loading
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.PlayerNowPlaying">
            <summary>
            Called after PlayerJoin. Called when a player joins and his client is now fully loaded and ready to play
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.PlayerReady">
            <summary>
            Called after PlayerNowPlaying when mods have signalled the player is now ready to play. This is currently called only after the player has selected his character and class, or right away if he already selected character and class in a previous join
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.PlayerLeave">
            <summary>
            Called when a player intentionally leaves
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.PlayerDisconnect">
            <summary>
            Called whenever a player disconnects (timeout, leave, disconnect, kick, etc.).
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.PlayerChat">
            <summary>
            Called when a player wrote a chat message
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.PlayerDeath">
            <summary>
            Called when a player died
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.HandInteract">
            <summary>
            Called before any server side hand interact code is executed
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.PlayerSwitchGameMode">
            <summary>
            Whenever a player switched his game mode or has it switched for him
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.BeforeActiveSlotChanged">
            <summary>
            Fired before a player changes their active slot (such as selected hotbar slot).
            Allows for the event to be cancelled depending on the return value.
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.AfterActiveSlotChanged">
            <summary>
            Fired after a player changes their active slot (such as selected hotbar slot).
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.AssetsFinalizers">
            <summary>
            Triggered after assets have been loaded and parsed and registered, but before they are declared to be ready - e.g. you can add more behaviors here, or make other code-based changes to properties read from JSONs
            <br/>Note: modsystems should register for this in a Start() method not StartServerSide(): the AssetsFinalizer event is fired before StartServerSide() is reached
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.SaveGameLoaded">
            <summary>
            Triggered after the game world data has been loaded. At this point all blocks are loaded and the Map size is known.
            <br/><br/>In 1.17+ do NOT use this server event to add or update behaviors or attributes or other fixed properties of any block, item or entity, in code (additional to what is read from JSON).
            Instead, code which needs to do that should be registered for event sapi.Event.AssetsFinalizers.  See VSSurvivalMod system BlockReinforcement.cs for an example.
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.SaveGameCreated">
            <summary>
            Triggered after a savegame has been created - i.e. when a new world was created
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.WorldgenStartup">
            <summary>
            Triggered when starting up worldgen during server startup (as the final stage of the WorldReady EnumServerRunPhase)
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.PhysicsThreadStart">
            <summary>
            Triggered when a new multithreaded physics thread starts (for example, use this to initialise any ThreadStatic element which must be initialised per-thread)
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.GameWorldSave">
            <summary>
            Triggered before the game world data is being saved to disk
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.ServerSuspend">
            <summary>
            Called when something wants to pause the server, e.g. the autosave system. This method will be called every 50ms until all delegates return Ready state. Timeout is 60 seconds.
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.ServerResume">
            <summary>
            Called when something wants to resume execution of the server, e.g. the autosave system
            </summary>
        </member>
        <member name="M:Vintagestory.API.Server.IServerEventAPI.ServerRunPhase(Vintagestory.API.Server.EnumServerRunPhase,System.Action)">
            <summary>
            Triggered whenever the server enters a new run phase. Since mods are only loaded during run phase "LoadGamePre" registering to any earlier event will get triggered.
            </summary>
            <param name="runPhase"></param>
            <param name="handler"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerEventAPI.Timer(System.Action,System.Double)">
            <summary>
            Registers a method to be called every given interval
            </summary>
            <param name="handler"></param>
            <param name="interval"></param>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.DidPlaceBlock">
            <summary>
            Registers a method to be called every time a player places a block
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.CanPlaceOrBreakBlock">
            <summary>
            Registers a handler to be called every time a player places a block. The methods return value determines if the player may place/break this block. When returning false the client will be notified and the action reverted
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.BreakBlock">
            <summary>
            Called when a block should got broken now (that has been broken by a player). Set handling to PreventDefault to handle the block breaking yourself. Otherwise the engine will break the block (= either call heldItemstack.Collectible.OnBlockBrokenWith when player holds something in his hands or block.OnBlockBroken).
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.DidBreakBlock">
            <summary>
            Registers a method to be called every time a player deletes a block. Called after the block was already broken
            </summary>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.DidUseBlock">
            <summary>
            Registers a method to be called every time a player uses a block
            </summary>
        </member>
        <member name="M:Vintagestory.API.Server.IServerEventAPI.PlayerChunkTransition(Vintagestory.API.Server.IServerPlayer)">
            <summary>
            Triggers an immediate ClientAwarenessEvent for the specified player
            </summary>
            <param name="player"></param>
        </member>
        <member name="E:Vintagestory.API.Server.IServerEventAPI.MountGaitReceived">
            <summary>
            Registers a method to be called every time the server receives the gait from a client-authoritative mount entity
            </summary>
        </member>
        <member name="T:Vintagestory.API.Server.IServerNetworkAPI">
            <summary>
            API Features to set up a network channel for custom server&lt;-&gt;client data exchange. Server side.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Server.IServerNetworkAPI.RegisterChannel(System.String)">
            <summary>
            Supplies you with your very own and personal network channel that you can use to send packets across the network.  Use the same channelName on the client and server to have them link up.
            </summary>
            <param name="channelName">Unique channel identifier</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IServerNetworkAPI.GetChannel(System.String)">
            <summary>
            Returns a previously registered channeled, null otherwise
            </summary>
            <param name="channelName"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IServerNetworkAPI.RegisterUdpChannel(System.String)">
            <summary>
            Supplies you with your very own and personal network channel that you can use to send packets across the network.  Use the same channelName on the client and server to have them link up.
            Do not send larger messages then 508 bytes since some clients may be behind NAT/firwalls that may drop your packets if they get fragmented
            </summary>
            <param name="channelName">Unique channel identifier</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IServerNetworkAPI.GetUdpChannel(System.String)">
            <summary>
            Returns a previously registered channeled, null otherwise
            </summary>
            <param name="channelName"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IServerNetworkAPI.SendBlockEntityPacket(Vintagestory.API.Server.IServerPlayer,Vintagestory.API.MathTools.BlockPos,System.Int32,System.Byte[])">
            <summary>
            Sends a blockentity packet to the given player. For quick an easy network communication without setting up a channel first.
            </summary>
            <param name="player"></param>
            <param name="pos"></param>
            <param name="packetId"></param>
            <param name="data"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerNetworkAPI.SendEntityPacket(Vintagestory.API.Server.IServerPlayer,System.Int64,System.Int32,System.Byte[])">
            <summary>
            Sends a entity packet to the given player and entity. For quick an easy entity network communication without setting up a channel first.
            </summary>
            <param name="player"></param>
            <param name="entityid"></param>
            <param name="packetId"></param>
            <param name="data"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerNetworkAPI.BroadcastEntityPacket(System.Int64,System.Int32,System.Byte[])">
            <summary>
            Sends a entity packet to all players in range. For quick an easy entity network communication without setting up a channel first.
            </summary>
            <param name="entityid"></param>
            <param name="packetId"></param>
            <param name="data"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerNetworkAPI.BroadcastBlockEntityPacket(Vintagestory.API.MathTools.BlockPos,System.Int32,System.Byte[])">
            <summary>
            Broadcasts a blockentity packet to all connected players. For quick an easy network communication without setting up a channel first.
            </summary>
            <param name="pos"></param>
            <param name="packetId"></param>
            <param name="data"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerNetworkAPI.SendArbitraryPacket(System.Byte[],Vintagestory.API.Server.IServerPlayer[])">
            <summary>
            Sends a packet data to given players. This lets you mess with the raw network communication if you know the protocol. Use with caution! For normal network communication you probably want to register your own network channel.
            </summary>
            <param name="data"></param>
            <param name="players"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerNetworkAPI.SendArbitraryPacket(System.Object,Vintagestory.API.Server.IServerPlayer[])">
            <summary>
            (for internal use: packet should be a Packet_Server)
            </summary>
            <param name="packet"></param>
            <param name="players"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerNetworkAPI.BroadcastArbitraryPacket(System.Byte[],Vintagestory.API.Server.IServerPlayer[])">
            <summary>
            Sends a packet data to everyone except given players. This lets you mess with the raw network communication if you know the protocol. Use with caution! For normal network communication you probably want to register your own network channel.
            </summary>
            <param name="data"></param>
            <param name="exceptPlayers"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerNetworkAPI.BroadcastArbitraryPacket(System.Object,Vintagestory.API.Server.IServerPlayer[])">
            <summary>
            (for internal use: packet should be a Packet_Server)
            </summary>
            <param name="packet"></param>
            <param name="exceptPlayers"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerNetworkAPI.SendBlockEntityPacket``1(Vintagestory.API.Server.IServerPlayer,Vintagestory.API.MathTools.BlockPos,System.Int32,``0)">
            <summary>
            Sends a blockentity packet to the given player. For quick an easy network communication without setting up a channel first. Uses ProtoBuf.net to serialize the data.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="player"></param>
            <param name="pos"></param>
            <param name="packetId"></param>
            <param name="data"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerNetworkAPI.BroadcastBlockEntityPacket``1(Vintagestory.API.MathTools.BlockPos,System.Int32,``0)">
            <summary>
            Broadcasts a blockentity packet to all connected players. For quick an easy network communication without setting up a channel first. Uses ProtoBuf.net to serialize the data.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="pos"></param>
            <param name="packetId"></param>
            <param name="data"></param>
        </member>
        <member name="T:Vintagestory.API.Server.INetworkMessage">
            <summary>
            A message to be sent across the network. Is serialized/deserialized using protobuf
            </summary>
        </member>
        <member name="T:Vintagestory.API.Server.NetworkClientMessageHandler`1">
            <summary>
            Handler for processing a message
            </summary>
            <param name="fromPlayer"></param>
            <param name="packet"></param>
        </member>
        <member name="T:Vintagestory.API.Server.IServerNetworkChannel">
            <summary>
            Represent a custom network channel for sending messages between client and server
            </summary>
        </member>
        <member name="M:Vintagestory.API.Server.IServerNetworkChannel.RegisterMessageType(System.Type)">
            <summary>
            Registers a handler for when you send a packet with given messageId. Must be registered in the same order as on the server.
            </summary>
            <param name="type"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerNetworkChannel.RegisterMessageType``1">
            <summary>
            Registers a handler for when you send a packet with given messageId. Must be registered in the same order as on the server.
            </summary>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IServerNetworkChannel.SetMessageHandler``1(Vintagestory.API.Server.NetworkClientMessageHandler{``0})">
            <summary>
            Registers a handler for when you send a packet with given messageId
            </summary>
            <typeparam name="T"></typeparam>
            <param name="messageHandler"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerNetworkChannel.SendPacket``1(``0,Vintagestory.API.Server.IServerPlayer[])">
            <summary>
            Sends a packet to given player
            </summary>
            <param name="message"></param>
            <param name="players"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerNetworkChannel.SendPacket``1(``0,System.Byte[],Vintagestory.API.Server.IServerPlayer[])">
            <summary>
            Sends a packet to given player, where the byte[] data has already been serialized
            </summary>
            <param name="message"></param>
            <param name="data"></param>
            <param name="players"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerNetworkChannel.BroadcastPacket``1(``0,Vintagestory.API.Server.IServerPlayer[])">
            <summary>
            When called on Sends a packet to all connected player, except given players
            </summary>
            <param name="message"></param>
            <param name="exceptPlayers"></param>
        </member>
        <member name="T:Vintagestory.API.Server.IServerPlayer">
            <summary>
            Represents a player on the server side that joined the server at least once. May not be online at this point in time.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerPlayer.CurrentChunkSentRadius">
            <summary>
            The "radius" of chunks that the player already received. If set to 0, the server will recheck all nearby chunks if they have been sent or not and send them when necessary
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerPlayer.ConnectionState">
            <summary>
            Retrieves the current connection state of the client
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerPlayer.IpAddress">
            <summary>
            Get the IP for the given player ID. Returns null if not connected, or when called on client side.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerPlayer.LanguageCode">
            <summary>
            The language this player is currently using
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerPlayer.Ping">
            <summary>
            Returns the players ping time in seconds. Returns NaN if not connected or when on client side.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerPlayer.ServerData">
            <summary>
            The players configuration that is world independent
            </summary>
        </member>
        <member name="M:Vintagestory.API.Server.IServerPlayer.BroadcastPlayerData(System.Boolean)">
            <summary>
            Notifies all clients of given players playerdata. Useful when you modified any of the WorldData. Does nothing if this player is not connected. Also sends the player data to the player himself
            </summary>
        </member>
        <member name="M:Vintagestory.API.Server.IServerPlayer.Disconnect">
            <summary>
            Disconnects (kicks) this player from the server. Does nothing if this player is not connected.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Server.IServerPlayer.Disconnect(System.String)">
            <summary>
            Disconnects (kicks) a player from the server with given reason. Does nothing if this player is not connected.
            </summary>
            <param name = "message">Message displayed to the player</param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerPlayer.SendIngameError(System.String,System.String,System.Object[])">
            <summary>
            Shows a vibrating red text in the players screen. If message is null the client will try to find a language entry using supplied code prefixed with 'ingameerror-' (which is recommended so that the errors are translated to the users local language)
            </summary>
            <param name="code"></param>
            <param name="message"></param>
            <param name="langparams"> If message is null, these are the arguments passed into the Language translation tool</param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerPlayer.SendMessage(System.Int32,System.String,Vintagestory.API.Common.EnumChatType,System.String)">
            <summary>
            Sends a chat message to this player to given groupId. You can use GlobalConstants.GeneralChatGroup as groupId to send it to the players general chat.
            </summary>
            <param name="groupId"></param>
            <param name="message"></param>
            <param name="chatType"></param>
            <param name="data">Optional parameter that can be used to pass on unformated data. Just like stdin/stdout/stderr, you could see this as a separate "programming communication channel"</param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerPlayer.SendLocalisedMessage(System.Int32,System.String,System.Object[])">
            <summary>
            Sends a chat message (notification type) to this player, localised to the player's own language independent from the server language
            <br/>The message will be string formatted - similar to Lang.Get() - with the specified optional args
            </summary>
            <param name="groupId"></param>
            <param name="message"></param>
            <param name="args"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerPlayer.SetRole(System.String)">
            <summary>
            Sets the players privilege role. For a list of roles, read sapi.Config.Roles
            </summary>
            <param name="roleCode"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerPlayer.SetSpawnPosition(Vintagestory.API.Common.PlayerSpawnPos)">
            <summary>
            Sets a player specific spawn position
            </summary>
            <param name="pos"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerPlayer.ClearSpawnPosition">
            <summary>
            Removes the player specific spawn position, which means it will default to the role or global default spawn position
            </summary>
        </member>
        <member name="M:Vintagestory.API.Server.IServerPlayer.GetSpawnPosition(System.Boolean)">
            <summary>
            Returns the default spawn position.
            This method will return the custom spawnpoint if one has been permanently set.
            If no custom spawnpoint is present this method will return the global default spawnpoint.
            Returns null when called on client side.
            </summary>
            <param name="consumeSpawnUse">If true, and this spawn point is use limited, will consume one use of it</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IServerPlayer.SetModdata(System.String,System.Byte[])">
            <summary>
            Allows setting of arbitrary, permanantly stored moddata attached to this player. Not synced to client.
            </summary>
            <param name="key"></param>
            <param name="data"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerPlayer.RemoveModdata(System.String)">
            <summary>
            Removes the permanently stored mod data
            </summary>
            <param name="key"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerPlayer.GetModdata(System.String)">
            <summary>
            Retrieve arbitrary, permantly stored mod data
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Server.IServerWorldAccessor">
            <summary>
            The world accessor implemented by the server
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerWorldAccessor.LoadedEntities">
            <summary>
            The internal cache of all currently loaded entities. Warning: You should not set or remove anything from this dic unless you *really* know what you're doing. Use SpawnEntity/DespawnEntity instead.
            <br/><br/>Intended to be used, for example, to search for an entity's presence, or to iterate through all loaded entities.
            <br/><br/>Please leave it to the game engine to add and remove entities from this dictionary.  From 1.18.2 onwards, if you really need to add or remove anything directly to/from this dictionary in your own code - which is *strongly* not recommended - then you should cast this to (CachingConcurrentDictionary) first.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Server.IServerWorldAccessor.DespawnEntity(Vintagestory.API.Common.Entities.Entity,Vintagestory.API.Common.Entities.EntityDespawnData)">
            <summary>
            Removes an entity from the game and the chunk it resides in
            </summary>
            <param name="entity"></param>
            <param name="reason"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IServerWorldAccessor.CreateExplosion(Vintagestory.API.MathTools.BlockPos,Vintagestory.API.Common.EnumBlastType,System.Double,System.Double,System.Single,System.String)">
            <summary>
            Creates an explosion at given position.
            </summary>
            <param name="pos"></param>
            <param name="blastType"></param>
            <param name="destructionRadius"></param>
            <param name="injureRadius"></param>
            <param name="blockDropChanceMultiplier"></param>
            <param name="ignitedByPlayerUid"></param>
        </member>
        <member name="P:Vintagestory.API.Server.IServerWorldAccessor.TreeGenerators">
            <summary>
            List of all loaded tree generators
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerWorldAccessor.RemappedEntities">
            <summary>
            Dictionary of entity codes to remap, old codes (which may be present in save files or schematics) as keys
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerWorldAccessor.WorldName">
            <summary>
            Gets the WorldName from the save game
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.ChunkLoadOptions.KeepLoaded">
            <summary>
            If true, the chunk will never get unloaded unless UnloadChunkColumn() is called
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.ChunkLoadOptions.OnLoaded">
            <summary>
            Callback for when the chunks are ready and loaded
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.ChunkLoadOptions.ChunkGenParams">
            <summary>
            Additional config to pass onto the world generators
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.ChunkPeekOptions.UntilPass">
            <summary>
            Until which world gen pass to generate the chunk (default: Done)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.ChunkPeekOptions.OnGenerated">
            <summary>
            Callback for when the chunks are ready and loaded
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.ChunkPeekOptions.ChunkGenParams">
            <summary>
            Additional config to pass onto the world generators
            </summary>
        </member>
        <member name="T:Vintagestory.API.Server.IWorldManagerAPI">
            <summary>
            Methods to modify the game world
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IWorldManagerAPI.AllLoadedMapchunks">
            <summary>
            Returns a (cloned) list of all currently loaded map chunks. The key is the 2d index of the map chunk, can be turned into an x/z coord
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IWorldManagerAPI.AllLoadedMapRegions">
            <summary>
            Returns a (cloned) list of all currently loaded map regions. The key is the 2d index of the map region, can be turned into an x/z coord
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IWorldManagerAPI.AllLoadedChunks">
            <summary>
            Returns a (cloned) list of all currently loaded chunks. The key is the 3d index of the chunk, can be turned into an x/y/z coord. Warning: This locks the loaded chunk dictionary during the clone, preventing other threads from updating it. In other words: Using this method often will have a significant performance impact.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IWorldManagerAPI.CurrentGeneratingChunkCount">
            <summary>
            Amount of chunk columns currently in the generating queue
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IWorldManagerAPI.SaveGame">
            <summary>
            The worlds savegame object. If you change these values they will be permanently stored
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IWorldManagerAPI.CurrentPlayStyle">
            <summary>
            The currently selected playstyle
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IWorldManagerAPI.LandClaims">
            <summary>
            All landclaims
            </summary>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.SetBlockLightLevels(System.Single[])">
            <summary>
            Allows setting a 32 float array that defines the brightness of each block light level. Has to be set before any players join or any chunks are generated.
            </summary>
            <param name="lightLevels"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.SetSunLightLevels(System.Single[])">
            <summary>
            Allows setting a 32 float array that defines the brightness of each sun light level. Has to be set before any players join or any chunks are generated.
            </summary>
            <param name="lightLevels"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.SetSunBrightness(System.Int32)">
            <summary>
            Sets the default light range of sunlight. Default is 24. Has to be set before any players join or any chunks are generated.
            </summary>
            <param name="lightlevel"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.SetSeaLevel(System.Int32)">
            <summary>
            Sets the default sea level for the world to be generated. Currently used by the client to calculate the correct temperature/rainfall values for climate tinting.
            </summary>
            <param name="sealevel"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.GetMapRegion(System.Int32,System.Int32)">
            <summary>
            Gets the Server map region at given coordinate. Returns null if it's not loaded or does not exist yet
            </summary>
            <param name="regionX"></param>
            <param name="regionZ"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.GetMapRegion(System.Int64)">
            <summary>
            Gets the Server map region at given coordinate. Returns null if it's not loaded or does not exist yet
            </summary>
            <param name="index2d"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.GetMapChunk(System.Int32,System.Int32)">
            <summary>
            Gets the Server map chunk at given coordinate. Returns null if it's not loaded or does not exist yet
            </summary>
            <param name="chunkX"></param>
            <param name="chunkZ"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.GetMapChunk(System.Int64)">
            <summary>
            Gets the Server map chunk at given coordinate index. Returns null if it's not loaded or does not exist yet
            </summary>
            <param name="index2d"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.GetChunk(System.Int32,System.Int32,System.Int32)">
            <summary>
            Gets the Server chunk at given coordinate. Returns null if it's not loaded or does not exist yet
            </summary>
            <param name="chunkX"></param>
            <param name="chunkY"></param>
            <param name="chunkZ"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.GetChunk(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Gets the Server chunk at given coordinate. Returns null if it's not loaded or does not exist yet
            </summary>
            <param name="pos"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.GetChunk(System.Int64)">
            <summary>
            Gets the Server chunk at given coordinate. Returns null if it's not loaded or does not exist yet
            </summary>
            <param name="index3d"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.GetNextUniqueId">
            <summary>
            Returns a number that is guaranteed to be unique for the current world every time it is called. Curently use for entity herding behavior.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Server.IWorldManagerAPI.AutoGenerateChunks">
            <summary>
            Completely disables automatic generation of chunks that normally builds up a radius of chunks around the player.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IWorldManagerAPI.SendChunks">
            <summary>
            Disables sending of normal chunks to all players except for force loaded ones using ForceLoadChunkColumn
            </summary>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.LoadChunkColumnFast(System.Int32,System.Int32,Vintagestory.API.Server.ChunkLoadOptions)">
            <summary>
            Asynchronly high priority load a chunk column at given coordinate.
            </summary>
            <param name="chunkX"></param>
            <param name="chunkZ"></param>
            <param name="options">Additional loading options</param>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.LoadChunkColumnPriority(System.Int32,System.Int32,Vintagestory.API.Server.ChunkLoadOptions)">
            <summary>
            Asynchronly high priority load a chunk column at given coordinate.
            </summary>
            <param name="chunkX"></param>
            <param name="chunkZ"></param>
            <param name="options">Additional loading options</param>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.LoadChunkColumnFast(System.Int32,System.Int32,System.Int32,System.Int32,Vintagestory.API.Server.ChunkLoadOptions)">
            <summary>
            Asynchronly high priority load an area of chunk columns at given coordinates. Make sure that X1&lt;=X2 and Z1&lt;=Z2
            </summary>
            <param name="chunkX1"></param>
            <param name="chunkZ1"></param>
            <param name="chunkX2"></param>
            <param name="chunkZ2"></param>
            <param name="options">Additional loading options</param>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.LoadChunkColumnPriority(System.Int32,System.Int32,System.Int32,System.Int32,Vintagestory.API.Server.ChunkLoadOptions)">
            <summary>
            Asynchronly high priority load an area of chunk columns at given coordinates. Make sure that X1&lt;=X2 and Z1&lt;=Z2
            </summary>
            <param name="chunkX1"></param>
            <param name="chunkZ1"></param>
            <param name="chunkX2"></param>
            <param name="chunkZ2"></param>
            <param name="options">Additional loading options</param>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.LoadChunkColumn(System.Int32,System.Int32,System.Boolean)">
            <summary>
            Asynchronly normal priority load a chunk column at given coordinate. No effect when already loaded.
            </summary>
            <param name="chunkX"></param>
            <param name="chunkZ"></param>
            <param name="keepLoaded">If true, the chunk will never get unloaded unless UnloadChunkColumn() is called</param>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.PeekChunkColumn(System.Int32,System.Int32,Vintagestory.API.Server.ChunkPeekOptions)">
            <summary>
            Generates chunk at given coordinate, completely bypassing any existing world data and caching methods, in other words generates, a chunk from scratch without keeping it in the list of loaded chunks
            </summary>
            <param name="chunkX"></param>
            <param name="chunkZ"></param>
            <param name="options"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.TestChunkExists(System.Int32,System.Int32,System.Int32,System.Action{System.Boolean})">
            <summary>
            Asynchrounly checks if this chunk is currently loaded or in the savegame database. Calls the callback method with true or false once done looking up. Does not load the actual chunk data.
            </summary>
            <param name="chunkX"></param>
            <param name="chunkY"></param>
            <param name="chunkZ"></param>
            <param name="onTested"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.TestMapChunkExists(System.Int32,System.Int32,System.Action{System.Boolean})">
            <summary>
            Asynchrounly checks if this map chunk is currently loaded or in the savegame database. Calls the callback method with true or false once done looking up. Does not load the actual map chunk data.
            </summary>
            <param name="chunkX"></param>
            <param name="chunkZ"></param>
            <param name="onTested"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.TestMapRegionExists(System.Int32,System.Int32,System.Action{System.Boolean})">
            <summary>
            Asynchrounly checks if this mapregion is currently loaded or in the savegame database. Calls the callback method with true or false once done looking up. Does not load the actual map region data.
            </summary>
            <param name="regionX"></param>
            <param name="regionZ"></param>
            <param name="onTested"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.BroadcastChunk(System.Int32,System.Int32,System.Int32,System.Boolean)">
            <summary>
            Send or Resend a loaded chunk to all connected players. Has no effect when the chunk is not loaded
            </summary>
            <param name="chunkX"></param>
            <param name="chunkY"></param>
            <param name="chunkZ"></param>
            <param name="onlyIfInRange">If true, the chunk will not be sent to connected players that are out of range from that chunk</param>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.HasChunk(System.Int32,System.Int32,System.Int32,Vintagestory.API.Server.IServerPlayer)">
            <summary>
            Returns true if the server sent chunk at given coords to player and has it not unloaded yet
            </summary>
            <param name="chunkX"></param>
            <param name="chunkY"></param>
            <param name="chunkZ"></param>
            <param name="player"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.SendChunk(System.Int32,System.Int32,System.Int32,Vintagestory.API.Server.IServerPlayer,System.Boolean)">
            <summary>
            Send or Resend a loaded chunk to a connected player. Has no effect when the chunk is not loaded
            </summary>
            <param name="chunkX"></param>
            <param name="chunkY"></param>
            <param name="chunkZ"></param>
            <param name="player"></param>
            <param name="onlyIfInRange">If true, the chunk will not be sent to connected players that are out of range from that chunk</param>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.ResendMapChunk(System.Int32,System.Int32,System.Boolean)">
            <summary>
            Send or resent a loaded map chunk to all connected players. Has no effect when the map chunk is not loaded
            </summary>
            <param name="chunkX"></param>
            <param name="chunkZ"></param>
            <param name="onlyIfInRange"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.BroadcastMapRegion(System.Int32,System.Int32,System.Boolean)">
            <summary>
            Send or Resend a loaded MapRegion to all connected players. Has no effect when the MapRegion is not loaded
            </summary>
            <param name="regionX"></param>
            <param name="regionZ"></param>
            <param name="onlyIfInRange">If true, the chunk will not be sent to connected players that are out of range from that chunk</param>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.UnloadChunkColumn(System.Int32,System.Int32)">
            <summary>
            Unloads a column of chunks at given coordinate independent of any nearby players and sends an appropriate unload packet to the player
            </summary>
            <param name="chunkX"></param>
            <param name="chunkZ"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.DeleteChunkColumn(System.Int32,System.Int32)">
            <summary>
            Deletes a column of chunks at given coordinate from the save file. Also deletes the map chunk at the same coordinate (but keeps the map region). Also unloads the chunk in the same process. Also deletes all entities in this chunk
            </summary>
            <param name="chunkX"></param>
            <param name="chunkZ"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.DeleteMapRegion(System.Int32,System.Int32)">
            <summary>
            Deletes a map region at given coordinate from the save file
            </summary>
            <param name="regionX"></param>
            <param name="regionZ"></param>
        </member>
        <member name="P:Vintagestory.API.Server.IWorldManagerAPI.MapSizeX">
            <summary>
            Width of the current world
            </summary>
            <value></value>
        </member>
        <member name="P:Vintagestory.API.Server.IWorldManagerAPI.MapSizeY">
            <summary>
            Height of the current world
            </summary>
            <value></value>
        </member>
        <member name="P:Vintagestory.API.Server.IWorldManagerAPI.MapSizeZ">
            <summary>
            Length of the current world
            </summary>
            <value></value>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.GetSurfacePosY(System.Int32,System.Int32)">
            <summary>
            Finds the first y position that is solid ground to stand on. Returns null if the chunk is not loaded.
            </summary>
            <param name="posX"></param>
            <param name="posZ"></param>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Server.IWorldManagerAPI.RegionSize">
            <summary>
            Width/Length/Height in blocks of a region on the server
            </summary>
            <value></value>
        </member>
        <member name="P:Vintagestory.API.Server.IWorldManagerAPI.ChunkSize">
            <summary>
            Width/Length/Height in blocks of a chunk on the server
            </summary>
            <value></value>
        </member>
        <member name="P:Vintagestory.API.Server.IWorldManagerAPI.Seed">
            <summary>
            Get the seed used to generate the current world
            </summary>
            <value>The map seed</value>
        </member>
        <member name="P:Vintagestory.API.Server.IWorldManagerAPI.CurrentWorldFilepath">
            <summary>
            The current world filename including the full path
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IWorldManagerAPI.DefaultSpawnPosition">
            <summary>
            Retrieves the default spawnpoint (x/y/z coordinate)
            </summary>
            <value>Default spawnpoint</value>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.SetDefaultSpawnPosition(System.Int32,System.Int32,System.Int32)">
            <summary>
            Permanently sets the default spawnpoint
            </summary>
            <param name = "x">X coordinate of new spawnpoint</param>
            <param name = "y">Y coordinate of new spawnpoint</param>
            <param name = "z">Z coordinate of new spawnpoint</param>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.GetBlockId(Vintagestory.API.Common.AssetLocation)">
            <summary>
            Get the ID of a certain BlockType
            </summary>
            <param name = "name">Name of the BlockType</param>
            <returns>ID of the BlockType</returns>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.SunFloodChunkColumnForWorldGen(Vintagestory.API.Common.IWorldChunk[],System.Int32,System.Int32)">
            <summary>
            Floods the chunk column with sunlight. Only works on full chunk columns.
            </summary>
            <param name="chunks"></param>
            <param name="chunkX"></param>
            <param name="chunkZ"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.SunFloodChunkColumnNeighboursForWorldGen(Vintagestory.API.Common.IWorldChunk[],System.Int32,System.Int32)">
            <summary>
            Spreads the chunk columns light into neighbour chunks and vice versa. Only works on full chunk columns.
            </summary>
            <param name="chunks"></param>
            <param name="chunkX"></param>
            <param name="chunkZ"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.FullRelight(Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Does a complete relighting of the cuboid deliminated by given min/max pos. Completely resends all affected chunk columns to all connected nearby clients.
            </summary>
            <param name="minPos"></param>
            <param name="maxPos"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.FullRelight(Vintagestory.API.MathTools.BlockPos,Vintagestory.API.MathTools.BlockPos,System.Boolean)">
            <summary>
            Does a complete relighting of the cuboid deliminated by given min/max pos. Can completely resend all affected chunk columns to all connected nearby clients.
            </summary>
            <param name="minPos"></param>
            <param name="maxPos"></param>
            <param name="sendToClients"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.GetBlockAccessor(System.Boolean,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Retrieve a customized interface to access blocks in the loaded game world.
            </summary>
            <param name="synchronize">Whether or not a call to Setblock should send the update also to all connected clients</param>
            <param name="relight">Whether or not to relight the chunk after a call to SetBlock and the light values changed by that</param>
            <param name="strict">Log an error message if GetBlock/SetBlock was called to an unloaded chunk</param>
            <param name="debug">If strict, crashes the server if a unloaded chunk was crashed, prints an exception and exports a png image of the current loaded chunks</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.GetBlockAccessorBulkUpdate(System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Retrieve a customized interface to access blocks in the loaded game world. Does not to relight/sync on a SetBlock until Commit() is called. On commit all touched blocks are relit/synced at once. This method should be used when setting many blocks (e.g. tree generation, explosion, etc.).
            </summary>
            <param name="synchronize">Whether or not a call to Setblock should send the update also to all connected clients</param>
            <param name="relight">Whether or not to relight the chunk after the a call to SetBlock and the light values changed by that</param>
            <param name="debug"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.GetBlockAccessorRevertable(System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Same as GetBlockAccessorBulkUpdate, additionally, each Commit() stores the previous state and you can perform undo/redo operations on these.
            </summary>
            <param name="synchronize">Whether or not a call to Setblock should send the update also to all connected clients</param>
            <param name="relight">Whether or not to relight the chunk after a call to SetBlock and the light values changed by that</param>
            <param name="debug"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.GetBlockAccessorPrefetch(System.Boolean,System.Boolean)">
            <summary>
            Same as GetBlockAccessor but you have to call PrefetchBlocks() before using GetBlock(). It pre-loads all blocks in given area resulting in faster GetBlock() access
            </summary>
            <param name="synchronize">Whether or not a call to Setblock should send the update also to all connected clients</param>
            <param name="relight">Whether or not to relight the chunk after a call to SetBlock and the light values changed by that</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.GetCachingBlockAccessor(System.Boolean,System.Boolean)">
            <summary>
            Same as the normal block accessor but remembers the previous chunk that was accessed. This can give you a 10-50% performance boosts when you scan many blocks in tight loops
            DONT FORGET: Call .Begin() before getting/setting in a tight loop. Not calling it can cause the game to crash
            </summary>
            <param name="synchronize"></param>
            <param name="relight"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.CreateChunkColumnForDimension(System.Int32,System.Int32,System.Int32)">
            <summary>
            Creates columns of empty chunks in the specified dimension
            </summary>
            <param name="cx"></param>
            <param name="cz"></param>
            <param name="dim"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.LoadChunkColumnForDimension(System.Int32,System.Int32,System.Int32)">
            <summary>
            Loads chunk columns for the specified dimension
            </summary>
            <param name="cx"></param>
            <param name="cz"></param>
            <param name="dim"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.ForceSendChunkColumn(Vintagestory.API.Server.IServerPlayer,System.Int32,System.Int32,System.Int32)">
            <summary>
            API access to force send a chunk column in any dimension
            </summary>
            <param name="player"></param>
            <param name="cx"></param>
            <param name="cz"></param>
            <param name="dimension"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.BlockingTestMapRegionExists(System.Int32,System.Int32)">
            <summary>
            Test if the given map region exists, can only be called before EnumServerRunPhase.RunGame.
            Used in InitWorldgen to check chunks before the games is running
            </summary>
            <param name="regionX"></param>
            <param name="regionZ"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.BlockingTestMapChunkExists(System.Int32,System.Int32)">
            <summary>
            Test if the given map chunk exists, can only be called before EnumServerRunPhase.RunGame.
            Used in InitWorldgen to check chunks before the games is running
            </summary>
            <param name="chunkX"></param>
            <param name="chunkZ"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldManagerAPI.BlockingLoadChunkColumn(System.Int32,System.Int32)">
            <summary>
            Load the given map chunk , can only be called before EnumServerRunPhase.RunGame.
            This only loads and deserializes the chunk data, you need to call .Dispose() after you do not need them anymore
            Used in InitWorldgen to check chunks before the games is running
            </summary>
            <param name="chunkX"></param>
            <param name="chunkZ"></param>
            <returns></returns>
        </member>
        <member name="T:Vintagestory.API.Server.EnumProtectionLevel">
            <summary>
            How strongly the Server should protect against hacking
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.EnumProtectionLevel.Off">
            <summary>
            No verification or protection of any kind
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.EnumProtectionLevel.Basic">
            <summary>
            Server will: verify the players picking range when placing, removing or interacting with blocks
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.EnumProtectionLevel.Pedantic">
            <summary>
            Not used yet
            </summary>
        </member>
        <member name="T:Vintagestory.API.Server.EnumClientState">
            <summary>
            The current connection state of a player thats currently connecting to the server
            </summary>
        </member>
        <member name="T:Vintagestory.API.Server.EnumServerRunPhase">
            <summary>
            These are the stages the server goes through during launch
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.EnumServerRunPhase.Standby">
            <summary>
            Server is listening to sockets but nothing has been launched yet
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.EnumServerRunPhase.Start">
            <summary>
            Before anything has been initialized (you cannot receive any events at this point)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.EnumServerRunPhase.Initialization">
            <summary>
            Server only stuff initialized, Serversystems instantatied, now initializing ServerSystems then Mods. Serversystem receive events at this point.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.EnumServerRunPhase.Configuration">
            <summary>
            Everything initialized, now loading config
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.EnumServerRunPhase.LoadAssets">
            <summary>
            Mods will be compiled and started, AssetManager will init all origins and cache assets. Mods are initialized at this point (PreStart/Start method)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.EnumServerRunPhase.AssetsFinalize">
            <summary>
            Final touches for loaded assets. Mods receive AssetsFinalize() call
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.EnumServerRunPhase.LoadGamePre">
            <summary>
            All configs loaded, game world loaded by server. Mods receive StartClient/ServerSide and events at this point. 
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.EnumServerRunPhase.GameReady">
            <summary>
            All configs loaded, game world loaded by server. All blocks are loaded.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.EnumServerRunPhase.LoadGame">
            <summary>
            All configs loaded, spawn chunks loaded, game world loaded by server. All blocks are loaded.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.EnumServerRunPhase.WorldReady">
            <summary>
            Notifies mods that the world is ready, after all other loading steps. Following this, worldgen will start and spawn chunks loaded (no separate RunPhase in 1.19)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.EnumServerRunPhase.RunGame">
            <summary>
            About to run first game world tick.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.EnumServerRunPhase.Shutdown">
            <summary>
            Shutdown has begun
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.EnumServerRunPhase.Exit">
            <summary>
            Shutdown complete
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.ISaveGame.IsNew">
            <summary>
            True if this is a newly created world
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.ISaveGame.CreatedGameVersion">
            <summary>
            The game version under which this savegame was created
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.ISaveGame.LastSavedGameVersion">
            <summary>
            The game version under which this savegame was last saved
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.ISaveGame.SavegameIdentifier">
            <summary>
            A globally unique identifier for this savegame
            </summary>
        </member>
        <member name="M:Vintagestory.API.Server.ISaveGame.GetData(System.String)">
            <summary>
            Gets a previously saved object from the savegame. Returns null if no such data under this key was previously set.
            </summary>
            <param name = "key">The key to look for</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.ISaveGame.StoreData(System.String,System.Byte[])">
            <summary>
            Store the given data persistently to the savegame. Size limit is around 1 gigabyte for *all* data stored along with the savegame datastructure. If you need more space, you have to store it somewhere else.
            </summary>
            <param name = "key">Key value</param>
            <param name = "data">Data to save</param>
        </member>
        <member name="M:Vintagestory.API.Server.ISaveGame.GetData``1(System.String,``0)">
            <summary>
            Gets a previously saved object from the savegame. Returns null if no such data under this key was previously set.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="key"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.ISaveGame.StoreData``1(System.String,``0)">
            <summary>
            Store the given data persistently to the savegame. Size limit is around 1 gigabyte for *all* data stored along with the savegame datastructure. If you need more space, you have to store it somewhere else.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="key"></param>
            <param name="data"></param>
        </member>
        <member name="F:Vintagestory.API.Server.EnumWhitelistMode.Default">
            <summary>
            Singleplayer OpenToLan: All players can join, Dedicated server: Only whitelisted players can join
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.EnumWhitelistMode.Off">
            <summary>
            All players can join
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.EnumWhitelistMode.On">
            <summary>
            Only whitelisted players can join
            </summary>
        </member>
        <member name="T:Vintagestory.API.Server.IServerConfig">
            <summary>
            The servers configuration
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerConfig.Port">
            <summary>
            The current network port
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerConfig.ServerName">
            <summary>
            Name of the server, currently not used
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerConfig.WelcomeMessage">
            <summary>
            Displays when the user logs in.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerConfig.MaxClients">
            <summary>
            Max amount of concurrent players, any beyond will be denied to join
            If the cli argument --maxclients is set then the value provided by the cli arg will be returned instead of the one from the config
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerConfig.Password">
            <summary>
            Password the player has to supply to join
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerConfig.MaxChunkRadius">
            <summary>
            How many chunks in each direction should be loaded at most for each player (1 chunk = 32 blocks)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerConfig.TickTime">
            <summary>
            Of often the server should tick in milliesconds
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerConfig.BlockTickChunkRange">
            <summary>
            Horizontal distance in chunks from each player to tick blocks randomly
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerConfig.MaxMainThreadBlockTicks">
            <summary>
            The maximum number of blocks to tick per server tick
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerConfig.RandomBlockTicksPerChunk">
            <summary>
            The number of blocks to sample for ticks each pass within a single chunk
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerConfig.BlockTickInterval">
            <summary>
            The interval of time in ms between each execution of the random tick system
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerConfig.Roles">
            <summary>
            List of player roles
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerConfig.DefaultRoleCode">
            <summary>
            Default player role
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerConfig.AntiAbuse">
            <summary>
            AntiAbuse protection level. Use not recommended, it is very buggy at the moment
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerConfig.WhitelistMode">
            <summary>
            If true, only whitelisted players can join
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerConfig.DefaultSpawn">
            <summary>
            Default spawn position for players
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerConfig.AllowPvP">
            <summary>
            Whether or not to allow Player versus Player
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerConfig.AllowFireSpread">
            <summary>
            Whether or not fire should spread
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerConfig.AllowFallingBlocks">
            <summary>
            Whether or not falling blocks should fall (e.g. sand and gravel) and floating single rock blocks should break
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerConfig.HostedMode">
            <summary>
            Used to disable certain features in HostedMode (wgen commands, ...)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerConfig.HostedModeAllowMods">
            <summary>
            Used to enable/disable the /moddb commands in HostedMode only
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerConfig.LogBlockBreakPlace">
            <summary>
            Whether or not to log breaking and placing of blocks to the server-build.log
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerConfig.LogFileSplitAfterLine">
            <summary>
            After how many line we should split the log file into a new one (server-build.log -> server-build-2.log)
            </summary>
        </member>
        <member name="T:Vintagestory.API.Server.IServerPlayerData">
            <summary>
            The player configuration that is world independent
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerPlayerData.PlayerUID">
            <summary>
            The players unique identifier
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerPlayerData.RoleCode">
            <summary>
            The players role code
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerPlayerData.PermaPrivileges">
            <summary>
            Privilige explicitly granted to this player
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerPlayerData.DeniedPrivileges">
            <summary>
            Privilige explicitly revoked from this player
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerPlayerData.PlayerGroupMemberships">
            <summary>
            List of groups the player is a member off
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerPlayerData.AllowInvite">
            <summary>
            Whether or not this player wants to receive group invites
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerPlayerData.LastKnownPlayername">
            <summary>
            The players last known player name. This may have changed since the last log in.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerPlayerData.CustomPlayerData">
            <summary>
            Store your own custom data in here if you need. Might want to serialize your data to json code first.
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerPlayerData.ExtraLandClaimAllowance">
            <summary>
            Extra land claim allowance (beyond whats granted by the role)
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IServerPlayerData.ExtraLandClaimAreas">
            <summary>
            Extra land claim areas (beyond whats granted by the role)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.Privilege.buildblocks">
            <summary>
            Place or break blocks
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.Privilege.useblock">
            <summary>
            Interact with block (e.g. door, chest)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.Privilege.buildblockseverywhere">
            <summary>
            Place or break blocks everywhere, completely ignoring area permissons. You still need to be in creative mode however.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.Privilege.useblockseverywhere">
            <summary>
            Use blocks everywhere, completely ignoring area permissons. You still need to be in creative mode however.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.Privilege.attackplayers">
            <summary>
            Cause damage to a player
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.Privilege.attackcreatures">
            <summary>
            Cause damage to any non-player creature
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.Privilege.freemove">
            <summary>
            Ability to fly or change movepseed
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.Privilege.gamemode">
            <summary>
            Ability to set own game mode
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.Privilege.pickingrange">
            <summary>
            Ability to set own picking range
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.Privilege.chat">
            <summary>
            Ability to chat
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.Privilege.selfkill">
            <summary>
            Ability to use the /kill command
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.Privilege.kick">
            <summary>
            Ability to kick players
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.Privilege.ban">
            <summary>
            Ability to ban/unban a player
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.Privilege.whitelist">
            <summary>
            Ability to whitelist/unwhitelist a player
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.Privilege.setwelcome">
            <summary>
            Ability to set welcome message
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.Privilege.announce">
            <summary>
            Ability to make a server wide announcement
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.Privilege.readlists">
            <summary>
            Ability to see client, group, banned user and area lists
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.Privilege.give">
            <summary>
            Ability to create block from given block id
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.Privilege.claimland">
            <summary>
            Ability to claim lands
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.Privilege.setspawn">
            <summary>
            Ability to set default spawn
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.Privilege.controlserver">
            <summary>
            Ability to restart/shutdown server, reload mods, etc.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.Privilege.tp">
            <summary>
            Ability to teleport
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.Privilege.time">
            <summary>
            Ability to read, modify game world time
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.Privilege.grantrevoke">
            <summary>
            Ability to set player role and ability to grant/revoke individual privileges. A player can only grant the same or a lower level group and the same or less privileges.
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.Privilege.root">
            <summary>
            Ability to do everything and have all permissions
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.Privilege.commandplayer">
            <summary>
            Ability to issue a command for another player (e.g. teleport another player or set another players game mode)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.Privilege.controlplayergroups">
            <summary>
            Ability to join/leave/invite/op own player groups and their chat channels
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.Privilege.manageplayergroups">
            <summary>
            Ability to create/disband own player groups and their chat channels
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.Privilege.manageotherplayergroups">
            <summary>
            Ability to modify others players groups
            </summary>
        </member>
        <member name="T:Vintagestory.API.Server.EnumWorldGenPass">
            <summary>
            The stages a chunk goes through when being created
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.EnumWorldGenPass.None">
            <summary>
            Nothing generated yet
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.EnumWorldGenPass.Terrain">
            <summary>
            Does not require neighbour chunks to exist. Should generates 3d rock terrain mostly. Default generators by execute order:
            0 = Basic 3D Terrain (granite+rock)
            0.1 = Rock Strata
            0.2 = Rivers
            0.3 = Cave generator
            0.4 = Block layers (soil, gravel, sand, ice, tall grass, etc.)
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.EnumWorldGenPass.TerrainFeatures">
            <summary>
            Requires neighbour chunks. Ravines, Lakes, Boulders.  Default generators by execute order:
            0.1 = Hot springs
            0.2 = Deposits (Ores, Peat, Clay, etc.)
            0.3 = Worldgen Structures
            0.4 = Above sealevel Lakes
            0.5 = Worldgen Structures Post Pass
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.EnumWorldGenPass.Vegetation">
            <summary>
            Requires neighbour chunks. Default generators by execute order:
            0.2 = Story structures. Creates exclusion zones for the other vegetation passes
            0.5 = Block Patches, Shrubs and Trees
            0.9 = Rivulets (single block water sources)
            0.95 = Sunlight flooding only inside current chunk
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.EnumWorldGenPass.NeighbourSunLightFlood">
            <summary>
            Requires neighbour chunks. Does the lighting of the chunk.
            0 = Snow layer
            0.95 = Sunlight flooding into neighbouring chunks
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.EnumWorldGenPass.PreDone">
            <summary>
            Requires neighbour chunks. Nothing left to generate, but neighbour chunks might still generate stuff into this chunk
            0.1 = Generate creatures
            </summary>
        </member>
        <member name="F:Vintagestory.API.Server.EnumWorldGenPass.Done">
            <summary>
            Chunk generation complete. This pass is not triggered as an event. 
            </summary>
        </member>
        <member name="M:Vintagestory.API.Server.IChunkProviderThread.GetBlockAccessor(System.Boolean)">
            <summary>
            Retrieve a customized interface to access blocks for generating chunks
            </summary>
            <param name="updateHeightmap">Whether or not SetBlock should update the heightmap</param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IChunkProvider.GetUnpackedChunkFast(System.Int32,System.Int32,System.Int32,System.Boolean)">
            <summary>
            Like GetChunk() but includes a cache of the last chunk fetched - use this in a loop where getting the chunk for neighbouring blockPos, so most will be in the same chunk
            This always unpacks the chunk, unless it is null.
            Implementing code must ensure the chunk is unpacked before returning it, unless returning the cached chunk and notRecentlyAccessed is false (i.e. if the cache chunk was recently accessed then it's safe to assume it was already unpacked)
            </summary>
            <param name="chunkX"></param>
            <param name="chunkY"></param>
            <param name="chunkZ"></param>
            <param name="notRecentlyAccessed"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.API.Server.IChunkProvider.ChunkIndex3D(System.Int32,System.Int32,System.Int32)">
            <summary>
            Index for a chunk coordinate - NOT DIMENSION AWARE, for internal use only (normally where chunkY contains the dimension)
            </summary>
            <param name="chunkX"></param>
            <param name="chunkY"></param>
            <param name="chunkZ"></param>
            <returns></returns>
        </member>
        <member name="P:Vintagestory.API.Server.IWorldGenBlockAccessor.WorldgenWorldAccessor">
            <summary>
            Returns a special IWorldAccessor which wraps the standard one with one difference: it returns this IWorldGenBlockAccessor as its BlockAccessor, in place of the general BlockAccessor for this world
            </summary>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldGenBlockAccessor.ScheduleBlockUpdate(Vintagestory.API.MathTools.BlockPos)">
            <summary>
            Tells the server to produce a block update at this given position once the chunk is fully generated and world ticking has begun
            </summary>
            <param name="pos"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldGenBlockAccessor.ScheduleBlockLightUpdate(Vintagestory.API.MathTools.BlockPos,System.Int32,System.Int32)">
            <summary>
            Tells the server to relight this position once RunScheduledBlockLightUpdates() is called
            </summary>
            <param name="pos"></param>
            <param name="oldBlockid">currently unused but might be used in the future to make sure old light is removed properly</param>
            <param name="newBlockId"></param>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldGenBlockAccessor.RunScheduledBlockLightUpdates(System.Int32,System.Int32)">
            <summary>
            This will run all scheduled block light updates at once. Should be called after all lighting has been completed.
            </summary>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldGenBlockAccessor.AddEntity(Vintagestory.API.Common.Entities.Entity)">
            <summary>
            Adds given initialized entity to the world. Requires you to set the Pos and ServerPos fields.
            </summary>
            <param name="entity"></param>
        </member>
        <member name="P:Vintagestory.API.Server.IWorldGenHandler.OnMapRegionGen">
            <summary>
            List of registered map region generation handlers
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IWorldGenHandler.OnMapChunkGen">
            <summary>
            List of registered map chunk generation handlers
            </summary>
        </member>
        <member name="P:Vintagestory.API.Server.IWorldGenHandler.OnChunkColumnGen">
            <summary>
            List of registered map chunk generation handlers per pass (see EnumWorldGenPass)
            </summary>
        </member>
        <member name="M:Vintagestory.API.Server.IWorldGenHandler.WipeAllHandlers">
            <summary>
            Empties all three lists
            </summary>
        </member>
        <member name="M:Vintagestory.Client.NoObf.WireframeCube.CreateUnitCube(Vintagestory.API.Client.ICoreClientAPI,System.Int32)">
            <summary>
            Creates a cube mesh with edge points 0/0/0 and 1/1/1
            </summary>
            <param name="capi"></param>
            <param name="color"></param>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.Client.NoObf.WireframeCube.CreateCenterOriginCube(Vintagestory.API.Client.ICoreClientAPI,System.Int32)">
            <summary>
            Creates a cube mesh with edge points -1/-1/-1 and 1/1/1
            </summary>
            <param name="capi"></param>
            <param name="color"></param>
            <returns></returns>
        </member>
        <member name="F:Vintagestory.Common.Collectible.Block.ConnectorMetaData.Position">
            <summary>
            This is an offset when loaded from schematic, but an absolute position if its part of the OpenSet during dungeon generation
            </summary>
        </member>
        <member name="P:Vintagestory.Common.Collectible.Block.ConnectorMetaData.Valid">
            <summary>
            True if this a properly set up BlockPosFacing
            </summary>
        </member>
        <member name="P:Vintagestory.Common.Collectible.Block.IExternalTickable.IsExternallyTicked">
            <summary>
            If true it will be ticked from another objeckt eg. BlockEntity. The own tick listener should be unregistered
            </summary>
        </member>
        <member name="M:Vintagestory.Common.Collectible.Block.IExternalTickable.SetExternallyTicked">
            <summary>
            Sets this object as externally ticked, unregistering its own tick listener.
            </summary>
        </member>
        <member name="M:Vintagestory.Common.Collectible.Block.IExternalTickable.SetInternallyTicked">
            <summary>
            Sets this object as internally ticked, registering its own tick listener again.
            </summary>
        </member>
        <member name="M:Vintagestory.Common.Collectible.Block.IExternalTickable.RegisterServerTickListener">
            <summary>
            Register the own tick listener
            Used if the external BlockEntity is destroyed, to reactivate the ticking.
            Will be called automatically by SetInternallyTicked
            </summary>
        </member>
        <member name="M:Vintagestory.Common.Collectible.Block.IExternalTickable.UnregisterTickListener">
            <summary>
            Unregister the normal tick listener so the external entity can control ticking.
            Will be called automatically by SetExternallyTicked
            </summary>
        </member>
        <member name="M:Vintagestory.Common.Collectible.Block.IExternalTickable.OnExternalTick(System.Single)">
            <summary>
            Called by the external BlockEntity to perform ticking logic
            when the internal tick listener is disabled.
            </summary>
            <param name="dt"></param>
        </member>
        <member name="T:Vintagestory.Common.ConcurrentSmallDictionary`2">
            <summary>
            Use like any IDictionary. Similar to a FastSmallDictionary, but this one is thread-safe for simultaneous reads and writes - will not throw a ConcurrentModificationException
            <br/>This also inherently behaves as an OrderedDictionary (though without the OrderedDictionary extension methods such as ValuesOrdered, those can be added in future if required)
            <br/>Low-lock: there is no lock or interlocked operation except when adding new keys or when removing entries
            <br/>Low-memory: and contains only a single null field, if it is empty
            <br/>Two simultaneous writes, with the same key, at the same time, on different threads: small chance of throwing an intentional ConcurrentModificationException if both have the same keys, otherwise it's virtually impossible for us to preserve the rule that the Dictionary holds exactly one entry per key
            </summary>
            <typeparam name="TKey"></typeparam>
            <typeparam name="TValue"></typeparam>
        </member>
        <member name="P:Vintagestory.Common.ConcurrentSmallDictionary`2.Count">
            <summary>
            Amount of entries currently in the Dictionary
            </summary>
        </member>
        <member name="M:Vintagestory.Common.ConcurrentSmallDictionary`2.GetEnumerator">
            <summary>
            Threadsafe: but this might occasionally enumerate over a value which has, meanwhile, been removed from the Dictionary by a different thread
            Iterate over .Keys or .Values instead if an instantaneous snapshot is required (which will also therefore be a historical snapshot, if another thread meanwhile makes changes)
            </summary>
            <returns></returns>
        </member>
        <member name="M:Vintagestory.Common.ConcurrentSmallDictionary`2.Clear">
            <summary>
            Wipes the contents and resets the count.
            </summary>
        </member>
        <member name="T:Vintagestory.Common.DTable`2">
            <summary>
            A single object to allow the arrays in ConcurrentSmallDictionary to be replaced atomically.
            Keys, once entered in the keys array within a DTable, are invariable: if we ever need to remove a key we will create a new DTable
            </summary>
            <typeparam name="TKey"></typeparam>
            <typeparam name="TValue"></typeparam>
        </member>
        <member name="M:Vintagestory.Common.DTable`2.#ctor(`0,`1)">
            <summary>
            Special constructor for a new array with a single, first, entry
            </summary>
            <param name="key"></param>
            <param name="value"></param>
        </member>
        <member name="M:Vintagestory.Common.DTable`2.#ctor(Vintagestory.Common.DTable{`0,`1},`0,`1)">
            <summary>
            Special constructor which copies the old arrays and adds one new entry at the end - all will be atomic when the Dictionary replaces contents with the results of this
            </summary>
            <param name="old"></param>
            <param name="key"></param>
            <param name="value"></param>
        </member>
        <member name="M:Vintagestory.Common.DTable`2.#ctor(Vintagestory.Common.DTable{`0,`1},System.Int32)">
            <summary>
            Special constructor which copies the old arrays and removes one entry
            </summary>
            <param name="old"></param>
            <param name="toRemove">the index of the entry to remove</param>
        </member>
        <member name="M:Vintagestory.Common.DTable`2.ReplaceIfKeyExists(`0,`1)">
            <summary>
            Returns true if key exists (in which case the value at that key is replaced), otherwise returns false
            </summary>
            <param name="key"></param>
            <param name="newValue"></param>
            <returns>true if successful replacement, otherwise false</returns>
        </member>
        <member name="M:Vintagestory.Common.DTable`2.Add(`0,`1)">
            <summary>
            Add the key value pair to the table.  Fails (adds nothing and returns false) if the table is full
            </summary>
        </member>
        <member name="T:ProperVersion.SemVer">
            <summary>
              Implementation of Semantic Verisoning standard, version 2.0.0.
              See https://semver.org/ for specifications.
            </summary>
        </member>
        <member name="M:ProperVersion.SemVer.Parse(System.String)">
            <summary>
              Converts the specified string representation of a
              semantic version to its <see cref="T:ProperVersion.SemVer"/> equivalent.
            </summary>
            <exception cref="T:System.ArgumentNullException"> Thrown if the specified string is null. </exception>
            <exception cref="T:System.FormatException"> Thrown if the specified string doesn't contain a proper properly formatted semantic version. </exception>
        </member>
        <member name="M:ProperVersion.SemVer.TryParse(System.String,ProperVersion.SemVer@)">
            <summary>
              Tries to convert the specified string representation of a
              semantic version to its <see cref="T:ProperVersion.SemVer"/> equivalent,
              returning true if successful.
            </summary>
            <param name="s"></param>
            <param name="result">
              When this method returns, contains a valid, non-null SemVer,
              If the conversion failed, this is set to the parser's best guess.
            </param>
            <exception cref="T:System.ArgumentNullException"> Thrown if the specified string is null. </exception>
        </member>
        <member name="M:ProperVersion.SemVer.TryParse(System.String,ProperVersion.SemVer@,System.String@)">
            <summary>
              Tries to convert the specified string representation of a
              semantic version to its <see cref="T:ProperVersion.SemVer"/> equivalent,
              returning true if successful.
            </summary>
            <param name="s"></param>
            <param name="result">
              When this method returns, contains a valid, non-null SemVer,
              If the conversion failed, this is set to the method's best guess.
            </param>
            <param name="error">
              When this method returns, contains the first error describing
              why the conversion failed, or null if it succeeded.
            </param>
            <exception cref="T:System.ArgumentNullException"> Thrown if the specified string is null. </exception>
        </member>
        <member name="M:ProperVersion.SemVer.IsValidIdentifier(System.String)">
            <summary>
              Returns whether the specified string contains only valid
              identifier characters. That is, only alphanumeric characters
              and hyphens, [0-9A-Za-z-]. Does not check for empty identifiers.
            </summary>
        </member>
        <member name="M:ProperVersion.SemVer.IsNumericIdent(System.String)">
            <summary>
              Returns whether the specified string is a
              numeric identifier (only contains digits).
            </summary>
        </member>
        <member name="M:ProperVersion.SemVer.SplitIdentifiers(System.String)">
            <summary>
              Splits a string into dot-separated identifiers.
              Both null and empty strings return an empty array.
            </summary>
        </member>
    </members>
</doc>
