/**
*
* @namespace Block
* @description Static methods for the Block API
*
* @see http://www.minecraftforum.net/forums/minecraft-pocket-edition/mcpe-mods-tools/mcpe-mod-tool-discussion/1987726-custom-blocks-tutorial
* @see https://github.com/Connor4898/ModPE-Scripts/wiki/Custom-blocks
* @see https://github.com/zhuowei/ModPEScripts/blob/master/500ise_blocktest.js
* @see https://github.com/zhuowei/ModPEScripts/blob/master/500ise_enchantingbench.js
*
*////
/**
*
* @memberof Block
* @function defineBlock
* @description Define a custom block with the specified blockId and attributes.
* See __*[MCPE Textures](textures)*__ for a list of current textures.
*
* @param {int} blockId - a valid, unused block ID between 0 and 255;
* see: {@tutorial block-ids}
* @param {string} blockName - the block name
* @param {Array<string, int>} texture - the texture and offset used to decorate this block
* @param {int} [materialSource] - the material (block ID) this block is
* based on (useful for determining which
* tool is best used to break your block;
* see: {@tutorial block-ids})
* @param {boolean} [isOpaque] - opaque if true, transparent if false
* @param {int} [renderType] - the type of block to render
* see: {@tutorial block-render-types}
*
* @example
* <caption>Credit: {@link https://goo.gl/58zbrm|Zhuowei Zhang}</caption>
*
* // create new block at level startup
* var initialized = false;
* var ID = 220;
*
* function selectLevelHook() {
* if (!initialized) {
* // make a Foo Stone
* Block.defineBlock(ID, "Foo Stone", ["glass", 0], 1, false, 0);
* Block.setDestroyTime(ID, 0);
* Block.setLightLevel(ID, 15);
* Block.setLightOpacity(ID, 0);
* Block.setColor(ID, [0xF5A9D0]);
* Block.setRenderLayer(ID, 1);
* initialized = true;
* }
* }
*
*////
/**
*
* @memberof Block
* @function getAllBlockIds
* @description Return all available block IDs.
*
* @return {int[]} - the block IDs
*
* @see {@link Block.getRenderType} for example
*
*////
/**
*
* @memberof Block
* @function getDestroyTime
* @description desc
*
*////
function getDestroyTime(par1int, par2int) {}
/**
*
* @memberof Block
* @function getFriction
* @description desc
*
*////
function getFriction(par1int, par2int) {}
/**
*
* @memberof Block
* @function getRenderType
* @description Return the render type (shape) of a block with the specified blockId.
*
* @param {int} blockId - the block ID (see: {@tutorial block-ids})
*
* @return {int} - the render type (see: {@tutorial block-render-types})
*
* @example
* // write all render types to a file
* function writeRenderTypes() {
* var bids = Block.getAllBlockIds();
* var file = "rendertypes.txt";
* var bw = new java.io.BufferedWriter(new java.io.FileWriter(file));
* for (var i = 0; i < bids.length; i++) {
* var rt = Block.getRenderType(bids[i]);
* var name = Item.getName(bids[i], 0, false);
* bw.write(name + " - " + rt + "\n");
* }
* bw.close();
* }
*
*////
/**
*
* @memberof Block
* @function setColor
* @description Set the color of a block with the specified blockId and color.
*
* @param {int} blockId - the block ID (see: {@tutorial block-ids})
* @param {number[]} color - a hexadecimal color value in the form: `[0xRRGGBB]`
*
* @see {@link http://html-color-codes.info|HTML Color Codes}
*
* @example
* // make a block red
* Block.setColor(220, [0xFF0000])
*
*////
/**
*
* @memberof Block
* @function setDestroyTime
* @description Set the hardness of a block with the specified blockId and hardness.
*
* @param {int} blockId - the block ID (see: {@tutorial block-ids})
* @param {double} hardness - the hardness (-1 = unbreakable; destroy time will
* vary depending on tool used)
*
* @see {@link http://minecraft.gamepedia.com/Breaking#Blocks_by_hardness|Block Hardness}
*
* @example
* // make Glass Pane unbreakable
* Block.setDestroyTime(102, -1);
*
*////
/**
*
* @memberof Block
* @function setExplosionResistance
* @description Set the explosion resistance of a block with the specified blockId and resistance.
*
* @param {int} blockId - the block ID (see: {@tutorial block-ids})
* @param {double} resistance - the explosion resistance
*
* @see {@link http://minecraft.gamepedia.com/Explosion#Blast_resistance|Blast Resistance}
*
* @example
* // make Gorilla Glass by changing Glass Pane from 1.5 to 6000 (same as obsidian)
* Block.setExplosionResistance(102, 6000);
*
*////
/**
*
* @memberof Block
* @function setFriction
* @description desc
*
*////
function setFriction(par1int, par2double) {}
/**
*
* @memberof Block
* @function setLightLevel
* @description Set the light level of a block with the specified blockId and lightLevel.
*
* @param {int} blockId - the block ID (see: {@tutorial block-ids})
* @param {int} lightLevel - the light level of the block (0-15)
*
* @see {@link http://minecraft.gamepedia.com/Light#Brightness|Brightness}
*
* @example
* // tone down that glowstone
* Block.setLightLevel(89, 4);
*
*////
/**
*
* @memberof Block
* @function setLightOpacity
* @description Set the light opacity of a block with the specified blockId and opacity.
*
* @param {int} blockId - the block ID (see: {@tutorial block-ids})
* @param {int} opacity - the block's opacity to light passing through
* (0-10 where 0 = most light can pass through,
* 10 = least light can pass through)
*
*////
/**
*
* @memberof Block
* @function setRedstoneConsumer
* @description desc
*
*////
function setRedstoneConsumer(par1int, par2boolean) {}
/**
*
* @todo find out if translucent (2) is working
*
* @memberof Block
* @function setRenderLayer
* @description Set the render layer for a block with the specified blockId and layer.
*
* @param {int} blockId - the block ID (see: {@tutorial block-ids})
* @param {int} layer - the render layer [0: opaque, 1: transparent, 2 : translucent - __broken?__]
*
* @example
* // render a transparent block
* Block.setRenderLayer(220, 1);
*
*////
/**
*
* @memberof Block
* @function setRenderType
* @description Set the render type for a block with the specified blockId and type.
*
* @param {int} blockId - the block ID (see: {@tutorial block-ids})
* @param {int} type - the type of block to render (see:
* {@tutorial block-render-types})
*
* @example
* // render custom block with blockId 220 using the cactus shape
* Block.setRenderType(220, 13);
*
*////
/**
*
* @memberof Block
* @function setShape
* @descriptio * @license CC-BY-SA-4.0 * @license CC-BY-SA-4.0n Set the size of a block with the specified blockId and start/finish coordinates.
*
* @param {int} blockId - the block ID (see: {@tutorial block-ids})
* @param {double} startX - the starting x coordinate
* @param {double} startY - the starting y coordinate
* @param {double} startZ - the starting z coordinate
* @param {double} finishX - the finishing x coordinate
* @param {double} finishY - the finishing y coordinate
* @param {double} finishZ - the finishing z coordinate
*
* @example
* // set the shape of a block to be 1m wide(X) by 1m long(Z) by .75m high(Y)
* Block.setShape(45, 0, 0, 0, 1, 0.75, 1);
*
*////