- Fix crash on blocks without registered blockId (@Furry)
- Move when hit by an explsion (@u9g)
- Add getExplosionDamages() function (@Karang)
- doc of get explosion (@link-discord)
- Improved index.d.ts (@DrMoraschi)
- Added resource pack support (@kaffinpx)
- Fixed bot.dig error (@MoneyMakingTornado)
- Added timeout to #consume (@SeanmcCord)
- Added example for resource pack (@u9g)
- Improved workflow (@u9g)
- Linted JS in md files (@u9g)
- Added bot oxygen Level management (@kaffinpx)
- Improved links (@satyamedh)
- Improved links (@AwesomestCode)
- Improved typing (@u9g)
- Refactored chat.js (@u9g)
- Expanded placeBlockWith Options to offhand (@aestetic)
- Added anvil test (@u9g)
- Added placeEntity() (@u9g)
- Improved oxygen typings (@DrMoraschi)
- Improved socket snippet (@iceTank)
- Improved placeEntity (@u9g)
- Renamed bot.quit to end (@u9g)
- Updated Spanish readme (@DrMoraschi)
- Added French Translations (@creeper09)
- Corrected java version in gitpod (@rom)
- Improved readme lint (@rom)
- Added container and dropper to allowWindowTypes (@IceTank)
- Add bot.removeChatPattern() (@BlueBurgersTDD)
- Add events to typings (@DrMoraschi)
- Add TR translation (@KaffinPX)
- Create plugin example (@Zn10plays)
- Revise readme (@IceTank)
- Revise chat_parsing example comments (@U5B)
- Revise raycast example (@IceTank)
- allow passing nmpclient as an option in createbot (@u9g)
- Add bot.awaitMessage() (@u9g)
- Add modular example (@u9g)
- Fix bug with chat patterns (@u9g)
- Fix bug with game event (@u9g)
- add bot.addChatPattern() & bot.addChatPatternSet() & deprecate bot.chatAddPattern() (@U9G)
- Add common errors to FAQ (@U9G)
- Move mosts of index.js to lib/loader.js (@U9G)
- Improve packet_info handling (@Karang)
- Add getControlState function (@Camezza)
- fix once leak in placeBlock (@Karang)
- allow sleeping during rain/thunderstorms (@qrvd)
- Change transaction apology packet to match vanilla client (@FeldrinH)
- fix world switch leak
- fix entity names
- fix stop digging (@Karang)
- trading fix (@validgem)
- fix enchantments (@goncharovchik)
- fix newListener and removeListener stacking on world change (@U5B)
- add a 'messagestr' event (@U9G)
- Add an option forceLook for place block similar to the digging one (@CyberPatrick)
- Can see block add intersect match (@sefirosweb)
- Add ability to use an anvil fully (@U9G)
- Fix position in getBlock()
- Fix typings of findBlock and findBlocks (@csorfab)
- place block improvements (@Karang)
- add face option to dig (@IceTank)
- trading fixes (@validgem)
- world events exposed by pworld (@u9g)
- fix wait for ticks and expose physicsEnabled (@Karang)
- added null or undefined check in inventory (@u9g)
- Removed broken use of "this" in physics.js (@TheDudeFromCI)
- Promisify testCommon (@ArcticZeroo)
- Fixed Bot not skipping end credits (@IceTank)
- BREAKING: Simplify windows API and promisify tests (@Karang) : several methods and events from window API were changed:
- Removed Chest, EnchantmentTable, Furnace, Dispenser and Villager classes (they all are Windows now)
- Dispensers are now handled by the same code as other containers, hopper too (they were missing)
- There is now only 2 events signaling a slot update ("updateSlot" and "updateSlot:slotId" of the Window class) (before there was: "setSlot", "setSlot:windowId", "windowUpdate", "updateSlot", on 3 different eventEmitter (and not all of them were working properly))
- All windows (present and future) now have a withdraw and deposit function
- Fix Time type definition (@hivivo)
- Add face for block in sight result (@Karang)
- Fix skin restorer bug (@TheDudeFromCI)
- Improve enchantment table info (@Karang)
- 1.16.5 support (@rom1504)
- Fix for not handling negative numbers in time plugin (@Naomi)
- Fix typescript Bot definition (@rom1504)
- fix for dig ignore (@TheDudeFromCI)
- better calculation of digging range (@goncharovchik)
- emit death once (@extremeheat)
- add waitForTicks function (@TheDudeFromCI)
- add null check for sign text (@u9g)
- explicit node 14 support
- add null check in bot.dig (@rom1504)
- Fix deprecation warning for block in sight (@Karang)
- Add number support to bot.chat (@BlueBurgersTDD)
- Fixed && Improved blockFind function with useExtraInfo = true (@magicaltoast)
- Added option to allow the bot to keep it's head in place when mining. (@TheDudeFromCI)
- Add bot.game.serverBrand property (@Karang)
- set extraInfos to false in blockIsNotEmpty (@mat-1)
- make the ChatMessage.toAnsi:lang argument optional (@Antonio32A)
- Fixed message types (@TheDudeFromCI)
- by default hideErrors is now true (@rom1504)
- Optimize lookAt promise behavior (@ph0t0shop)
- Promisify villager & Trader (thanks @ph0t0shop)
- protect against action id going over 32767 (@rom1504)
- fix incorrect handling of username definition (@rom1504)
- all async method now both return promises and take a callback (thanks @ph0t0shop for this great improvement)
- Extra position packet after TP
- Add blockAtCursor
- Deprecate blockInSight
- TS typing fixes
- 1.16.4 support
- block_actions fix (thanks @SpikeThatMike)
- typescript fixes (thanks @TheDudeFromCI and @NotSugden)
- add uuid by objectUUID handling (thanks @Rob9315)
- fix bed packet (thanks @imharvol)
- better plugin handling (thanks @TheDudeFromCI)
- 1.16.3 support (thanks @GroobleDierne and @TheDudeFromCI)
- fix bug with entity width (thanks @TheDudeFromCI)
- Add ability to call openChest on shulker boxes (thanks @efunneko)
- Fix furnace and add tests (thanks @ImHarvol)
- Add offhand param to d.ts (thanks @TheDudeFromCI)
- Add hasAttackCooldown feature (thanks @TheDudeFromCI)
- Add type validation for bot.chat (thanks @BlueBurgersTDD)
- Add chat position to message event (thanks @larspapen)
- Add support for Barrel (#1344) (thanks @ImHarvol)
- Fix attack cooldown bug (thanks @TheDudeFromCI)
- Exposed getDestSlot (thanks @TheDudeFromCI)
- Simplify setCommandBlock arguments (thanks @ImHarvol)
- hide unknown transaction warning if hideErrors option is enabled
- fix findblock typescript def (thanks @TheDudeFromCI)
- fix setCommandBlock for recent versions (thanks @ImHarvol)
- Add hand parameter to activateItem (thanks @Karang)
- remove _chunkColumn from the api (bot.world should now be used)
- Handle MC|AdvCmd misspelling (thanks @ImHarvol)
- fix findBlocks (thanks @Karang)
- add nearestEntity function (thanks @Karang)
- add heldItemChanged
- use and expose prismarine-world as bot.world
- add itemDrop event (thanks @ImHarvol)
- fix bot.fish callback (thanks @GroobleDierne)
- parse entity metadata for crouching (thanks @IdanHo)
- fix bot.time.day (thanks @Naomi-alt)
- improve find blocks options (thanks @Karang)
- emit chestLidMove (thanks @imharvol)
- add options for main hand selection (thanks @Colten-Covington)
- fix respawning columns issues (thanks @Karang)
- Fix getBlockAt when outside bounds
- Improve documentation and examples
- Add ability to change the skin parts of a bot (thanks @Naomi-alt)
- 1.16 support
- fix noteheard (thanks @Naomi-alt)
- better typedef (thanks @Konstantin)
- fix off by 1 error in findBlocks (thanks @Karang)
- physics.js look fix (thanks @thesourceoferror)
- fix chat message bracketing (thanks @Nurutomo)
- use prismarine-physics
- Improve digTime computation (thanks @Karang)
- expose blockEntity.raw (thanks @SiebeDW)
- improve typedef for find block options (thanks @TheDudeFromCI)
- don't log errors if hideErrors is true
- add extra infos option in find block
- fix ground up for 1.13->1.15
- fix find block (thanks @Karang)
- improve sign parsing (thanks @cookiedragon234)
- much faster findBlock (thanks @Karang)
- fix bugs in lookAt and setQuickBarSlot
- add auto_totem example (thanks @AlexProgrammerDE)
- improve blockAt speed
- physics engine refactor (thanks @Karang)
- mcdata update for better 1.14 and 1.15 support
- use protodef compiler (thanks @Karang)
- off-hand support (thanks @Karang)
- fix type definitions (thanks @dada513)
- fix transfer bugs (thanks @Karang)
- add typescript definitions (thanks @IdanHo)
- fix openVillager
- 1.15 support
- russian translation (thanks @shketov)
- 1.14 support : more tests, refactored pwindows, feature flags (thanks @Karang)
- Look at the center of the face when placing block
- improve bot.sleep : don't sleep if mob are present (thanks @ImHarvol)
- 1.13 support (thanks @Karang, @hornta, @SiebeDW)
- better fishing support (thanks @hutu13879513663)
- Expose columns & blockEntities (thanks @SiebeDW)
- Create discord.js (thanks @SiebeDW)
- change amount of slots based on version (thanks @IdanHo)
- Fix 'respawn' event (thanks @ImHarvol)
- Add callback to creative set block (thanks @wvffle)
Lot of fixes from @wvffle in this release :
- more checks when digging
- expose a bot.swingArgm() function
- better toString to chat message
- fix handling of empty signs
- correct handling of entity metadata change And some others :
- new tps plugin by @SiebeDW
- correct handling of chunk unloading by @IdanHo
- fix logErrors option
- fix logErrors
- enable catching and logging of errors by default
- fix typo in variable name actionId
- improve pushback (thanks @Vap0r1ze)
- more robust handling of tablist (thanks @wvffle)
- ignore (with a warning) transaction without previous click
- improve boss bar
- add checks in scoreboard implementation
- add universal chat patterns to support more chat plugins
- fix error on scoreboard removal
lot of new features from @wvffle :
- support for block entities
- improved block bars support
- add block in sight
- fix scoreboard support
- add eating support
- add tab complete support
- add fishing support
- better sign text support
- repl example
- improve basic find block a bit
- start the bot alive in all cases
- correct run speed and use it to limit the speed properly (thanks @CheezBarger)
- emit error instead of throwing when loading a chunk (thanks @ArcticZeroo)
- use docsify for docs
- don't do anything if transaction.action < 0 (fix for some non-vanilla plugins)
- include fixes from pchunk, protodef and mcdata
- fix cannot jump repeatedly
- fix spaces in chatmessage (thanks @Gjum)
- add bot.getControlStates (thanks @ArcticZeroo)
- Support end dimension (thanks @iRath96)
- Added sneaking option to controll states (thanks @Meldiron)
- add title event (thanks @yario-o)
- Update sound.js to include hardcoded sound effects (thanks @jeresuikkila)
- Support for the new launcher_profiles.json format (thanks @Amezylst)
- update api about checkTimeoutInterval
- fix chatmessage
- add plugins to bot options to be able to disable an internal plugin
- improve ChatMessage translation functionality (thanks @plexigras)
- added eslint
- es6
- fix autoversion in online mode
- don't swing arm when activating an entity
- new plugin loading api
- better 1.12 support
- auto version detection (thanks @plexigras)
- support version 1.12 (thanks @jonathanperret)
- add example to use minecraft session file for auth (thanks @plexigras)
- added book writing plugin (thanks @plexigras)
- Make sure bot.time.day is between 0 and 24000 (thanks @roblabla)
- Pass skyLightSent to Chunk.load (thanks @iRath96)
- use protodef aliases to properly define channels
- add bot.canSeeBlock (thanks @Nixes)
- handle unknown entities and entities sent with their internal id
- add bloodhound to plugin list
- fix chat hoverEvent for 1.9
- added support for minecraft chests (thanks @plexigras)
- cross version support : 1.8, 1.9, 1.10 and 1.11 now supported
- [BREAKING] prismarine classes (Block, Entity, Recipe, ...) are now available only by requiring them, not in mineflayer.X. It was required to make cross version possible. minecraft-data is also to be required directly and not available as mineflayer.blocks. The code depending on this should be updated, hence the major version.
- add actionBar event (thanks @ArcticZeroo)
- added support for villager trading (thanks @plexigras)
- bump dependencies
- update minecraft-data
- add callback to activateBlock
- update dependencies
- update minecraft-protocol, minecraft-data and protodef
- listen for disconnect in login phase (thanks @deathcap)
- fix multi_block_change (thanks @Corgano)
- remove chat filter : fix utf8 in chat
- add extra tolerance for malformed sign packets (thanks @G07cha)
- adapt to new minecraft data entities format
- update minecraft-protocol to 0.17.2
- add functionalities to use scoreboard (thanks @jakibaki)
- update to minecraft-data 0.16.3
- 50 -> 20 tps for physics
- Remove requireindex, for browserify support
- add bot.setCommandBlock
- fix entity_status
- use prismarine-recipe and prismarine-windows
- use require-self to be able to do require('mineflayer') in the examples
- fix viewDistance sending
- add checkTimeoutInterval to createBot
- fix achievements parsing in toString()
- update to nmp 0.16
- use prismarine-item
- add example to run multiple bots
- uuid is now a dashed string
- remove digging interruption : this doesn't happen in 1.8 servers (and caused problem in some spigot servers)
- improve placeBlock : now use lookAt before placing and has a callback
- fix soulsand speed
- use new multi-version version of (node-)minecraft-data
- swing arm on placing a block, look at center of block when activating a block (thanks gipsy-king)
- refactor examples (thanks Pietro210)
- add clickWindow support to ContainerWindow (thanks Gnomesley)
- fix skylight in the nether
- update node-mojangson to display unparsed text in case of error
- Prevent crash when an unknown entity is spawned
- add createBot to api.md
- update minecraft-protocol to 0.14.0 : several fixes (error are now catchable, packets are in-order, packets fixes, etc.)
- add ContainerWindow to support non-Vanilla plugins and add /invsee example (thanks Pietro210)
- add a callback to bot.look and bot.lookAt
- when receiving a remove effect packet : if the corresponding effect doesn't exist yet, emit an event with just the id of the effect (thanks Pietro210)
- swing arm immediately when digging (thanks gipsy-king)
- now updates bot.entity.heldItem when bot.heldItem is updated
- fix cli args in examples
- add forcedMove event
- fix equipment api
- new minecraft data version : better metadata handling
- a small fix in chat.js
- add a licence file
- bot.transfer is faster
- fix arm_animation
- using mojangson parser for chat hoverevent
- add chat patterns for unidentified chat messages
- fix player leaving
Lot of fixes and improvements in this version in order to support mineflayer 1.8.3, including :
- minecraft 1.8.3 support
- update minecraft protocol to 0.13.4
- move enums data to minecraft-data
- add automatic testing with a vanilla minecraft server on circle ci
- add argv arguments to examples
- refactor inventory.js
- use new recipe format handling metadata better
- fix lot of things to support 1.8.3 including :
- block format change
- position change : y is now always at the feet of the bot
- updated minecraft protocol to 0.11 (Minecraft 1.6.2 support).
- small changes in the arguments of some events:
chat,whisperandmessage. See doc/api.md.
- updated minecraft protocol to 0.10 (Minecraft 1.5.2 support).
Huge thanks to zuazo for debugging and eliminating the problems with 1.5.1 protocol update and node 0.10 update!
- update minecraft-protocol to 0.9.0 - includes many fixes
- blocks: fix buffer length assertion error (thanks zuazo)
- physics: fix assertion error (thanks zuazo)
- inventory: window clicking waits a bit if you have just dug fixes a rejected transaction race condition.
- inventory: equipping makes the quick bar a basic LRU cache. This can alleviate some race conditions when trying to equip a different tool immediately after digging.
- crafting: fix shapeless recipe support
- inventory: fix several instances which could cause transaction rejected
- add missing recipes (thanks rom1504)
recipe.deltadata structure changed.
- digging: fix crash when not holding a tool
- only stationary water has a negative effect on digging
- digging: if you dig while already digging, instead of crashing, mineflayer will cancel the in progress dig and start the new one.
- digging: in creative mode dig time is 0
- digging interruption error has a code so you can check for it
- expose the materials enum as
mineflayer.materials
- digging is faster and has less bugs
- you can stop digging with
bot.stopDigging(). bot.dig(block, [timeout], [callback])changed tobot.dig(block, [callback]).- add
bot.digTime(block) - add
block.material - add
block.harvestTools - add
window.emptySlotCount() - block and item enums are cleaned up. Every block and item has an
unambiguous
nameanddisplayName.
- add missing recipe for wooden planks
- fix various crafting and inventory bugs
- unequip works with hand as a destination
- add
mineflayer.Locationwhich can help you locate chunk boundaries entity.metadatais formatted as an object instead of an array for easier accesscanDigBlockreturnsfalseifblockisnullinstead of crashing.
- fix
bot.heldItembeing wrong sometimes - water and lava are not solid
bot.equip- wait at least a tick before calling callback
- fix digging leaves not calling callback.
- add enchantment table support. See
examples/chest.jsfor an example. - rename
bot.telltobot.whisperto be consistent with 'whisper' event. (thanks Darthfett)
- update vec3 to 0.1.3
- add "whisper" chat event
This release is feature-complete with the old C++/Qt based version of mineflayer.
- add
bot.activateItem() - add
bot.deactivateItem() - add
bot.useOn(targetEntity)
- add dispenser support
- add
mineflayer.Dispenser - add
bot.openDispenser(dispenserBlock)
- add
- add furnace support
- add
mineflayer.Furnace - add
bot.openFurnace(furnaceBlock)
- add
mineflayer.Chest: "update" event renamed to "updateSlot"bot.equip(itemType, destination, [callback])changed tobot.equip(item, destination, [callback]). Usebot.inventory.items()to get a list of what items you can choose from to equip.- fix
bot.openChestnot working for ender chests - fix incorrectly scaled fuel percentage
- upgrade to minecraft-protocol 0.7.0
mineflayer.createBotno longer takes aemailargument.- The
usernameandpasswordarguments are used to authenticate with the official minecraft servers and determine the case-correct username. If you have migrated your user account to a mojang login,usernamelooks like an email address. - If you leave out the
passwordargument,usernameis used to connect directly to the server. In this case you will get kicked if the server is in online mode.
- fix crash for some block updates
recalled
- add chest support
- add
mineflayer.Chest - add
bot.openChest(chestBlock)
- add
block.metarenamed toblock.metadataitem.metarenamed toitem.metadata- fix crash when player causes entityGone message
- update to minecraft-protocol 0.6.6
- fix
bot.sleepnot working at all - add
bot.isSleeping - add "sleep" event
- add "wake" event
bot.sleep(bedPoint)changed tobot.sleep(bedBlock)- fix
mineflayer.Recipenot exposed
- add crafting support
- add
mineflayer.windows - add
mineflayer.Recipe bot.inventoryis now an instance ofInventoryWindowbot.inventory.countis no longer a map of id to count.Windowinstances have acount(itemType, [metadata])method.bot.inventory.quickBarSlotmoved tobot.quickBarSlot.- add
'windowOpen' (window)event - add
'windowClose' (window)event - add
bot.craft(recipe, count, craftingTable, [callback]) - add
bot.recipesFor(itemType, metadata, minResultCount, craftingTable)
- add
block.posrenamed toblock.position.'blockUpdate' (point)event signature changed to'blockUpdate' (oldBlock, newBlock)'blockUpdate:(x, y, z)'event signature changed to'blockUpdate:(x, y, z)' (oldBlock, newBlock)- add
'diggingAborted' (block)event - add
bot.unequip(destination, [callback]) - add
bot.toss(itemType, metadata, count, [callback]) bot.startDigging(block)changed tobot.dig(block, [timeout], [callback]).- add
bot.activateBlock(block)
- fix
bot.equipwhen already equipping the item - fix some incorrect block physics
- add
mineflayer.recipesenum - fix crash when digging at a high elevation
- add inventory support
- add
Itemclass which is exposed onmineflayer - add
bot.inventory(see docs for more details) - add
bot.equip(itemType, destination, [callback]) - add
bot.tossStack(item, [callback])
- add
- add digging support
- add
bot.startDigging(block) - add
bot.canDigBlock(block)
- add
- blocks: add
blockUpdate:(x, y, z)event. - add building support
- add
bot.placeBlock(referenceBlock, faceVector)
- add
- add
block.painting - add
Paintingclass which is exposed onmineflayer - add experience orb support
entity.typecan beorbnowentity.countis how much experience you get for collecting it
- physics: skip frames instead of glitching out
- default bot name to Player -
createBotcan take no arguments now.
- physics: fix bug: walking too slowly on Z axis
- ability to sprint (thanks ruan942)
- fix color code stripping (thanks rom1504)
- event "onNonSpokenChat" deleted
- new event "message" which fires for all messages
bot.chatno longer checks for "/tell" at the beginning- add
bot.tell(username, message)method - fix crash when an entity effect occurs
- chat: no longer suppress "chat" events for your own chat (thanks Darthfett).
- ability to mount / dismount vehicles and attack
- physics: fix tall grass and dead bushes treated as solid
- fix "respawn" event firing twice sometimes
- remove
bot.spawn()andautoSpawnoption. auto spawn is now mandatory. - fix sending spawn packet twice on init
- fix bots spawning with their heads on backwards
- fix bots jumping when they get hit
- update player heights when they crouch
- add support for signs:
block.signTextandbot.updateSign(block, text)
- add
bot.time.dayandbot.time.ageand "time" event - add
bot.entitieswhich is a map of the entities around you - add
bot.look(yaw, pitch, force)andbot.lookAt(point, force)
- add a physics engine which understands gravity
- add jumper example, jumps whenever you chat
- add
respawnevent which fires when you die or change dimensions - Block instances have a
boundingBoxproperty, which is currently eithersolidorempty. - fix
gameevent to fire correctly bot.game.spawnPointmoved tobot.spawnPoint.bot.game.playersmoved tobot.players.bot.quithas a default reason of "disconnect.quitting" (thanks Darthfett)
- unload chunks when changing dimensions
- blocks: handle all forms of block changing so that
blockAtis always accurate.
- expose Block, Biome, and Entity
- add
bot.blockAt(point)which returns aBlock - add
mineflayer.blocks,mineflayer.biomes, andmineflayer.items - add bot
chunkevent - fix
spawnevent andsettings.showCape - added chatterbox example
- changed
entityDetachevent to have a vehicle argument - changed
entityEffectEndevent to have an effect argument instead ofeffectId - fix prefixes in pseudos in chat. (thanks rom1504)
- update vec3 to 0.1.0 which uses euclidean modulus
- add bot.game.spawnPoint
- add spawn support
- add rain support
- add support for getting kicked
- add settings support
- add experience support
- add bed support
- health status knowledge
- add entity tracking API