Namespace ToolAPI

Module used to manage block and tools material and create tools with all required properties.

Functions

  • Creates new material with specified breaking speed multiplier. Some of the materials are already registered:

    stone - used for pickaxes

    wood - used for axes

    dirt - used for shovels

    plant - used for all plants (no vanilla tool supports this material)

    fibre - used for swords (to break web)

    cobweb - currently not used

    unbreaking - used for unbreaking blocks, liquids, end portal, etc.

    Parameters

    • name: string

      new (or existing) material name

    • breakingMultiplier: number

      multiplier used to calculate block breaking speed. 1 is a default value for dirt and 3 is a default value for stone

    Returns void

  • Creates new tool material with specified parameters. Some of the tool materials are already registered:

    wood - used for wooden instruments

    stone - used for stone instruments

    iron - used for iron instruments

    golden - used for golden instruments

    diamond - used for diamond instruments

    Parameters

    • name: string

      new (or existing) material name

    • material: ToolMaterial

      parameters describing material properties

    Returns void

  • Spawns experience orbs on the specified coordinate.

    Parameters

    • x: number
    • y: number
    • z: number
    • value: number

      amount of experience to spawn

    Returns void

  • Spawns random amount of experience on the specified block coordinates.

    Parameters

    • coords: Vector

      block coordinates

    • minVal: number

      minimum amount of orbs to be spawned

    • maxVal: number

      maximum amount of orbs to be spawned

    • modifier: number

      additional experiences, usually passed from ToolAPI.EnchantData.experience field

    Returns void

  • Parameters

    • blockID: number

      numeric tile ID

    Returns BlockData | undefined

    Object containing ToolAPI block data or undefined if no block data was specified for this block.

  • Parameters

    • blockID: number

      numeric tile ID

    Returns number

    Destroy level of the block with specified ID or 0, if no block data was specified for this block.

  • Returns any

    Carried tool information stored in slightly modified ToolAPI.ToolParams object or null if no tool data was specified.

  • Returns number

    Carried tool's breaking level or 0 if no tool data was provided.

  • Calculates destroy time for the block that is being broken with specified tool at the specified coords. Used mostly by Core Engine to apply break. time

    Parameters

    • fullBlock: Tile
    • toolItem: ItemInstance
    • coords: ItemUseCoordinates
    • OptionalignoreNative: boolean

      if block and item are native items, and this parameter is set to true, all the calculations will still be performed

    Returns number

  • Parameters

    • Optionalextra: ItemExtraData

      item extra instance, if not specified, method uses carried item's extra

    Returns EnchantData

    Enchant data object, containing enchants used for blocks destroy speed calculations.

  • Parameters

    • itemID: number

      numeric item ID

    Returns number

    Tool's breaking level or 0 if no tool data was provided.

  • Parameters

    • itemID: number

      numeric item ID

    • blockID: number

      numeric tile ID

    Returns number

    Digging level if specified tool can mine specified block, 0 if data for the tool or for the block was not specified or if specified tool cannot mine specified block.

  • Returns void

    Backwards compatibility.

  • Sets digging level for block. If digging level of tool is higher then block's one, the block is dropped.

    Parameters

    • uid: number

      numeric tile ID

    • level: number

      block's digging level

    Returns void

  • Registers material and digging level for the specified block.

    Parameters

    • uid: number

      numeric tile ID

    • materialName: string

      material name

    • Optionallevel: number

      block's digging level

    • OptionalisNative: boolean

      used to mark vanilla blocks data. Generally used within Core Engine code and should not be used within mods until you really know what you're doing

    Returns void

  • Registers material and digging level for the specified blocks.

    Parameters

    • materialName: string

      material name

    • UIDs: number[]

      an array of numeric tiles IDs

    • isNative: boolean

      used to mark vanilla blocks data. Generally used within Core Engine code and should not be used within mods until you really know what you're doing

    Returns void

  • Registers item as a sword.

    Parameters

    • id: number

      numeric item ID

    • toolMaterial: string | ToolMaterial

      registered tool material name or tool material object used to register the sword

    • Optionalparams: ToolParams

      additional tool parameters

    Returns void

  • Registers item as a tool.

    Parameters

    • id: number

      numeric item ID

    • toolMaterial: string | ToolMaterial

      registered tool material name or tool material object used to register the tool

    • blockMaterials: string[]

      block material names that can be broken by this instrument. For example, you can use ["stone"] for the pickaxes

    • Optionalparams: ToolParams

      additional tool parameters

    Returns void

Copyright © 2024 Nernar. Copyright © 2020 #mineprogramming. Built with ❤ and TypeDoc.