jay
1597acca72
fix(eater): 🥅 catch async error on full food
...
Attempt to fix async error returned by `bot.consume`.
Fixed by wrapping in a `try{}` block and using `.catch`.
Still don't know why or how this works 🤷 .
2021-03-22 17:32:56 +05:00
jay
33c4233223
feat(statemachine): 🚧 first draft of new xstate based statemachine implementation
...
Replaces the old statemachine.
Done so far:
- Basic command interface
- Machine saving and loading
- Sample dummy machine
2021-03-22 14:32:08 +05:00
jay
2f88eedce9
fix(mover): ♿ lessen move duration for more precise control
2021-01-28 03:52:12 +05:00
jay
a0893f2b29
feat(mover): ✨ allow riding specific entity by name
2021-01-28 02:50:08 +05:00
jay
b1a592dbbd
fix(mover): 🐛 workaround for vehicle not being removed in api on dismount
...
`bot.vehicle` isn't removed on dismount, so this done manually
2021-01-28 02:24:59 +05:00
jay
f336e3d736
feat(mover): ✨ switch between moving and riding automatically for manual movement
2021-01-28 02:18:42 +05:00
jay
d953bd4cf6
fix(mover): 🎨 fix quiet not being "followed"
2021-01-28 02:10:52 +05:00
jay
fc43985337
fix(mover): 🐛 fix crash when no mobs nearby while searching for rides
2021-01-28 01:28:37 +05:00
jay
6b1157147d
feat(mover): ✨ implement more featureful and robust ride
command
...
Now does the following:
- finds entities (both vehicles and animals) which are suitable for riding.
- moves to get into range.
However:
- while in a vehicle, pathfinder doesn't appear to detec coords.
- `bot.moveVehicle` doesn't work, so bot doesn't move when riding
2021-01-28 00:48:45 +05:00
jay
e6d29576e7
refactor(command): 🚚 move vehicle commands near other moves
...
Move the following:
- vehicle commands next to other movement related commands like `go`.
- move `ride` / `mount` command functionality into mover plugin
2021-01-26 22:49:23 +05:00
jay
974d460061
feat(mover): ✨ add basic movement commands
...
Forward, left, etc. Uses bot.controlState.
But left and right does the opposite of expectations.
2021-01-18 15:13:53 +05:00
jay
e5faa6f022
feat(informer): ✨ add more detail to item info
...
Gives detail of traversing the item's nbt data
2021-01-18 01:24:47 +05:00
jay
cc18ac5c2e
refactor(mover): 🚚 move commands inside mover plugin itself
...
This reduces the code inside the command plugin.
Most of the logic was only relevant to moving anyway.
Command aliases like `come` and `follow` still remain in command plugin.
2021-01-17 23:59:39 +05:00
jay
7050a1621b
fix(informer): 🐛 add missing name for entity info when entity is a player
...
Uses `username` when `entity.name` is missing; should check other cases
2021-01-17 18:32:05 +05:00
jay
7cbfa16476
feat(informer): ✨ add case for when sub command is passed a single param
...
Currently returns:
- Item at given slot number
- Entity that matches given name
2021-01-17 16:20:20 +05:00
jay
63849e0729
fix(informer): 🥅 catch and report when objects are missing
2021-01-17 16:16:41 +05:00
jay
4e7f8d59fd
feat(informer): ✨ add more detailed block metadata info
...
Uses `block.getProperties()`. Thanks to a [comment][1]
[1]: https://github.com/PrismarineJS/mineflayer-pathfinder/pull/84/files#r541196424
2021-01-17 15:54:31 +05:00
jay
7b2b936f81
feat(mover): ✨ implement moveY (vertical move up or down)
...
Doesn't appear to be working properly, bot assumes XZ is goal reached
2021-01-17 13:56:18 +05:00
jay
8a39596b1d
feat(informer): ✨ add info for block at given position
2021-01-17 13:02:05 +05:00
jay
2601b7cfb1
fix(informer): 🥅 fix crash for block info when no block or an empty block is found
2021-01-17 12:20:49 +05:00
jay
67932b2f6a
fix(sleeper): 🥅 catch sleeping edge case errors
...
Happens when trying to sleep while previously unable to move.
Or maybe when trying to sleep during dawn.
2021-01-16 16:39:42 +05:00
jay
9a6e684b11
feat(informer): ✨ add info about nearest entities
2021-01-16 16:17:42 +05:00
jay
3488a94233
feat(informer): ✨ info about held item(s)
2021-01-16 14:51:49 +05:00
jay
4d21327086
fix(mover): 🚸 better messages
2021-01-16 13:57:21 +05:00
jay
e74d796124
fix(command): 🐛 make follow
command work again without params
2021-01-16 13:50:35 +05:00
jay
3d5ffe38cd
feat(mover): ✨ inform when goal reached
2021-01-16 13:25:26 +05:00
jay
b519913355
feat(mover): ✨ implement moving to X Z goal (without y)
2021-01-15 00:36:17 +05:00
jay
b1dab1968c
fix(command): ✏️ fix follow
command not working
2021-01-05 11:34:49 +05:00
jay
3219ec6155
feat(informer): ✨ actually add a command for info plugin
2021-01-05 11:32:33 +05:00
jay
f38ad8c819
fix(command): 🚧 fix and workaround bot look at this
...
Workaround being unable to look at what player is looking at.
Currently looks at what player is standing on.
2021-01-05 09:30:14 +05:00
jay
4b8a39d38c
feat(informer): ✨ add optional metadata to block info display
2021-01-05 09:20:35 +05:00
jay
6b71de0356
refactor(informer): 🚚 proper name to block info function
...
Be more specific: `block` instead of `info`.
In anticipation of future functions in this module.
2021-01-05 08:52:38 +05:00
jay
96214ffe37
fix(informer): 🐛 use block.type instead of block.id
...
`block.id` is nonexistent when tested live
2021-01-05 08:32:30 +05:00
jay
034f8d331a
fix(informer): 🐛 convert array to string for chat
...
`bot.chat` only supports strings
2021-01-05 08:18:21 +05:00
jay
69d0f5830d
feat(mover): ✨ add close(er) command to follow / come closer
2021-01-05 08:11:11 +05:00
jay
8e719d5ccf
feat(sleeper): ✨ add and adjust functionality to properly sleep
...
Can now use beds in inventory but with a hacky block placing workaround.
`findBlock` returns a null position.
So it uses the closest adjacent block and assumes it'll work.
Bot also is more robust at sleeping,
2020-12-27 05:50:16 +05:00
jay
112eb04a8d
refactor(sleeper): ♻️ simplify and make sleeping code more robust
2020-12-27 01:58:17 +05:00
jay
ba7c53be0c
refactor(command): ♻️ make toss exit early if non-existent block
2020-12-27 00:30:46 +05:00
jay
5b4718fa5d
fix(command): 🐛 add missing return
2020-12-25 07:29:06 +05:00
jay
65d13a3379
style: fix crlf -> lf
2020-12-25 07:17:54 +05:00
jay
288b7045b6
feat: ✨ add informer plugin to show info
...
Data and information plugin.
Expose methods in mcData with acceptable ux.
Also central place for all kinds of debug features.
2020-12-24 21:39:50 +05:00
jay
94574a4296
refactor: ♻️ reorder plugin loading
...
Load in order of simplicity and dependance.
TODO: Use `bot.waitForChunksToLoad`:
Split plugins based on whether it requires blocks to be loaded or no.
2020-12-24 21:32:08 +05:00
jay
68e60921b1
refactor(mover): 🔥 remove unused code + comments, minor fixes
...
Refactoring and fixing code.
No major functionality change.
Probably will have less bugs.
- carry over how mcData is loaded
- stop bot on unload
- fix wrong magma block name
2020-12-24 19:57:45 +05:00
jay
f2281a7cb3
feat(command): ✨ temp. move inventory chat handling to command
...
This is temporary, and only the `toss` function.
Old functionality is still intact.
New code will eventually move back as a subcommand to replace the old.
2020-12-24 19:41:52 +05:00
jay
e9f2080556
refactor(command): ♻️ refactor how mcData is loaded
...
`mcData` is now directly put on bot and loaded once.
It can be accessed from anywhere `bot` is accessible.
2020-12-24 17:51:44 +05:00
jay
086251bce6
feat: add a basic feature to rejoin on server restart
2020-12-24 13:38:16 +05:00
jay
0ae961521f
feat(command): ✨ expand follow to include rest of the !go follow
sub commands
2020-12-24 11:57:23 +05:00
jay
eae4e95803
Merge branch 'nogameplay' into master
2020-12-24 11:28:22 +05:00
jay
fb066ee8a5
refactor: ♻️ use array in pathfinder movements list
2020-12-24 11:26:19 +05:00
jay
f4445749e6
fix: ✏️ add missing plugin name
2020-12-24 11:23:16 +05:00