Package Exports
- prismarine-block
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (prismarine-block) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
prismarine-block
Represent a minecraft block with its associated data
Usage
const Block=require("prismarine-block")("1.8");
const stoneBlock=new Block(1,1,0);
console.log(stoneBlock);
// can you harvest stone with an iron pickaxe ?
console.log(stoneBlock.canHarvest(257));
// how many milliseconds does it takes in usual conditions ? (on ground, not in water and not in creative mode)
console.log(stoneBlock.digTime(257));
API
Block
Block.fromStateId(stateId, biomeId)
Block(type,biomeId,metadata)
Constructor of a block
typeis the block numerical idbiomeIdis the biome numerical idmetadatais the metadata numerical value
block.canHarvest(heldItemType)
Tells you if heldItemType is one of the right tool to harvest the block.
heldItemTypethe id of the held item (or null if nothing is held)
block.getProperties()
Parse the block state and return its properties.
block.digTime(heldItemType, creative, inWater, notOnGround, enchantments = [], effects = {})
Tells you how long it will take to dig the block, in milliseconds.
heldItemTypethe id of the held item (or null if nothing is held)creativegame in creativeinWaterthe bot is in waternotOnGroundthe bot is not on the groundenchantmentslist of enchantments from the held item (from simplified nbt data)effectseffects on the bot (bot.entity.effects)
block.position
Vec3 instance.
block.type
Numerical id.
block.name
block.displayName
block.shapes
Array of bounding boxes representing the block shape. Each bounding box is an array of the form [xmin, ymin, zmin, xmax, ymax, zmax]. Depends on the type and state of the block.
block.metadata
Number which represents different things depending on the block. See http://www.minecraftwiki.net/wiki/Data_values#Data
block.light
block.skyLight
block.hardness
block.biome
A biome instance. See Biome.
block.signText
If the block is a sign, contains the sign text.
block.painting
If the block is a painting, contains information about the painting.
idpositionnamedirection- direction vector telling how the painting is facing.
block.diggable
Boolean, whether the block is considered diggable.
block.boundingBox
The shape of the block according to the physics engine's collision decection. Currently one of:
block- currently, partially solid blocks, such as half-slabs and ladders, are considered entirely solid.empty- such as flowers and lava.
block.transparent
Boolean, true if the block texture has some transparency.
block.material
This tells what types of tools will be effective against the block. Possible
values are: null, rock, wood, plant, melon, leaves, dirt, web, and wool.
See http://www.minecraftwiki.net/wiki/Digging and the toolMultipliers
variable at the top of lib/plugins/digging.js for more info.
block.harvestTools
The set of tools that will allow you to harvest the block.
block.drops
The blocks or items dropped by that block.
History
1.7.1
- fix canHarvest when no harvestTools required (thanks @Garfield100)
1.7.0
- Add getProperties (thanks @Karang)
1.6.0
- Add enchantments and effects to dig time computation (thanks @Karang)
1.5.1
- Make Block.fromStateId work for all versions
1.5.0
- Fix block metadata for 1.13+
1.4.0
- add block shapes (thanks @Karang)
1.3.0
- add typescript definitions (thanks @IdanHo)
1.2.0
- Prevent data from being shared to avoid conflicts across multiple versions (thanks @hornta)
1.1.1
- use the minStateId if passing the blockType
1.1.0
- add block state id feature (for >= 1.13)
1.0.1
- bump mcdata
1.0.0
- bump dependencies
0.1.0
- Import from mineflayer