How to use the minecraft-data.blocks function in minecraft-data

To help you get started, we’ve selected a few minecraft-data examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github PrismarineJS / flying-squid / src / lib / plugins / physics.js View on Github external
module.exports.entity = function (entity, serv, { version }) {
  const blocks = require('minecraft-data')(version).blocks

  entity.calculatePhysics = async (delta) => {
    if (entity.gravity) {
      addGravity(entity, 'x', delta)
      addGravity(entity, 'y', delta)
      addGravity(entity, 'z', delta)
    }

    const vSign = getSign(entity.velocity)
    const sizeSigned = new Vec3(vSign.x * entity.size.x, vSign.y * entity.size.y, vSign.z * entity.size.z)

    const xVec = entity.position.offset(entity.velocity.x * delta + sizeSigned.x / 2, 0, 0)
    const yVec = entity.position.offset(0, entity.velocity.y * delta + sizeSigned.y / 2, 0)
    const zVec = entity.position.offset(0, 0, entity.velocity.z * delta + sizeSigned.z / 2)

    // Get block for each (x/y/z)Vec, check to avoid duplicate getBlockTypes
github deathcap / wsmc / mineflayer-stream.js View on Github external
module.exports = {
  //vec3: require('vec3'), // not really needed
  createBot: createBot,
  Block: require('mineflayer/lib/block'),
  Location: require('mineflayer/lib/location'),
  Biome: require('mineflayer/lib/biome'),
  Entity: require('mineflayer/lib/entity'),
  Painting: require('mineflayer/lib/painting'),
  Item: require('mineflayer/lib/item'),
  Recipe: require('mineflayer/lib/recipe'),
  windows: require('mineflayer/lib/windows'),
  Chest: require('mineflayer/lib/chest'),
  Furnace: require('mineflayer/lib/furnace'),
  Dispenser: require('mineflayer/lib/dispenser'),
  EnchantmentTable: require('mineflayer/lib/enchantment_table'),
  blocks: mcData.blocks,
  biomes: mcData.biomes,
  items: mcData.items,
  recipes: mcData.recipes,
  instruments: mcData.instruments,
  materials: mcData.materials,
};

function createBot(options) {
  options.username = options.username || 'Player';
  if (!options.stream) throw new Error('createBot requires options.stream');

  var bot = new Bot();
  bot.connect(options);
  return bot;
}
github PrismarineJS / flying-squid / src / lib / worldGenerations / all_the_blocks.js View on Github external
function generation ({ version }) {
  const Chunk = require('prismarine-chunk')(version)
  const blocks = require('minecraft-data')(version).blocks

  function generateSimpleChunk () {
    const chunk = new Chunk()

    let i = 2
    for (let x = 0; x < 16; x++) {
      for (let z = 0; z < 16; z++) {
        let y
        for (y = 47; y <= 50; y++) {
          chunk.setBlockType(new Vec3(x, y, z), i)
          i = (i + 1) % Object.keys(blocks).length
        }
        for (y = 0; y < 256; y++) {
          chunk.setSkyLight(new Vec3(x, y, z), 15)
        }
      }
github PrismarineJS / flying-squid / src / lib / plugins / placeBlock.js View on Github external
module.exports.player = function (player, serv, { version }) {
  const blocks = require('minecraft-data')(version).blocks

  player._client.on('block_place', ({ direction, location } = {}) => {
    const heldItem = player.inventory.slots[36 + player.heldItemSlot]
    if (direction === -1 || heldItem.type === -1 || !blocks[heldItem.type]) return
    const referencePosition = new Vec3(location.x, location.y, location.z)
    const directionVector = directionToVector[direction]
    const placedPosition = referencePosition.plus(directionVector)
    player.behavior('placeBlock', {
      direction: directionVector,
      heldItem: heldItem,
      id: heldItem.type,
      damage: heldItem.metadata,
      position: placedPosition,
      reference: referencePosition,
      playSound: true,
      sound: 'dig.' + (materialToSound[blocks[heldItem.type].material] || 'stone')