Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
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;
}
function Bot() {
EventEmitter.call(this);
module.exports.player = function (player, serv, { version }) {
const items = require('minecraft-data')(version).items
player._client.on('block_place', ({ direction, location } = {}) => {
const heldItem = player.inventory.slots[36 + player.heldItemSlot]
if (direction === -1 || heldItem.type === -1 || !items[heldItem.type]) return
const item = heldItem
const referencePosition = new Vec3(location.x, location.y, location.z)
const directionVector = directionToVector[direction]
const position = referencePosition.plus(directionVector)
if (item.name === 'flint_and_steel') { player.use_flint_and_steel(referencePosition, directionVector, position) } else if (item.name === 'spawn_egg') { serv.spawnMob(item.metadata, player.world, position) }
})
}
const directionToVector = [new Vec3(0, -1, 0), new Vec3(0, 1, 0), new Vec3(0, 0, -1), new Vec3(0, 0, 1), new Vec3(-1, 0, 0), new Vec3(1, 0, 0)]