@ -2,11 +2,7 @@ let cfg = {}
let bot = { }
let isEating = false
function callbackHandle ( err ) {
if ( err ) console . error ( err )
}
function eat ( callback ) {
function eat ( callback = e => e && console . error ( e ) ) {
isEating = true
const foodNames = require ( 'minecraft-data' ) ( bot . version ) . foodsArray . map ( ( item ) => item . name )
@ -37,23 +33,23 @@ function eat(callback) {
bot . equip ( best _food , 'hand' , function ( error ) {
if ( error ) {
console . error ( error )
console . warn ( error , best _food )
isEating = false
bot . emit ( 'eat_stop' )
} else {
bot . consume ( function ( err ) {
if ( err ) {
console . error ( err )
isEating = false
bot . emit ( 'eat_stop' )
return callback ( err )
} else {
try {
bot . consume ( ) . catch ( error => {
if ( error . message === "Food is full" ) {
console . warn ( error , best _food )
} else {
return callback ( { error , best _food } )
}
} ) . finally ( ( ) => {
isEating = false
bot . emit ( 'eat_stop' )
callback ( null )
if ( ! bot . food === 20 ) eat ( callbackHandle )
}
} )
} )
} catch { }
if ( bot . food !== 20 ) eat ( callback )
}
} )
}
@ -76,7 +72,7 @@ function checkFood() {
// TODO implement better idle state
) || true // idle most likely
) {
eat ( callbackHandle )
eat ( )
}
}
}