Skip to main content

ToolAPI

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

Index

Functions

addBlockMaterial

  • addBlockMaterial(name: string, breakingMultiplier: number): void
  • 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

addToolMaterial

  • 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

dropExpOrbs

  • dropExpOrbs(x: number, y: number, z: number, value: number): void
  • Spawns experience orbs on the specified coordinate.


    Parameters

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

      amount of experience to spawn

    Returns void

dropOreExp

  • dropOreExp(coords: Vector, minVal: number, maxVal: number, modifier: number): 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

fortuneDropModifier

  • Applies fortune drop modifier to the drop array.


    Parameters

    • drop: ItemInstanceArray[]

      drop array containing number of the arrays

    • level: number

      enchantment level

    Returns ItemInstanceArray[]

getBlockData

  • getBlockData(blockID: number): BlockData | undefined
  • 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.

getBlockDestroyLevel

  • getBlockDestroyLevel(blockID: number): number
  • 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.

getBlockMaterial

  • Parameters

    • blockID: number

      numeric tile ID

    Returns Nullable<BlockMaterial>

    Object containing block material information or null, if no block data was specified for this block.

getBlockMaterialName

  • getBlockMaterialName(blockID: number): Nullable<string>
  • Parameters

    • blockID: number

      numeric tile ID

    Returns Nullable<string>

getCarriedToolData

  • getCarriedToolData(): any
  • Returns any

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

getCarriedToolLevel

  • getCarriedToolLevel(): number
  • Returns number

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

getDestroyTimeViaTool

  • 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

getEnchantExtraData

  • 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.

getToolData

getToolLevel

  • getToolLevel(itemID: number): number
  • Parameters

    • itemID: number

      numeric item ID

    Returns number

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

getToolLevelViaBlock

  • getToolLevelViaBlock(itemID: number, blockID: number): number
  • 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.

refresh

  • refresh(): void
  • That feature is obsolete

    Backwards compatibility.


    Returns void

registerBlockDiggingLevel

  • registerBlockDiggingLevel(uid: number, level: number): void
  • 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

registerBlockMaterial

  • registerBlockMaterial(uid: number, materialName: string, level?: number, isNative?: boolean): 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

registerBlockMaterialAsArray

  • registerBlockMaterialAsArray(materialName: string, UIDs: number[], isNative: boolean): 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

registerSword

  • 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

registerTool

  • registerTool(id: number, toolMaterial: string | ToolMaterial, blockMaterials: string[], params?: ToolParams): 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

resetEngine

  • resetEngine(): void
  • internal

    Returns void