-
-
Notifications
You must be signed in to change notification settings - Fork 72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integration in mineflayer #116
Comments
Progress Report, (trying to finally get this bedrock stuff out of the way)
For consideration:
|
In terms of inventory, nickelpro was talking about a similar way to do high level actions with p-window where you would be able to say window.swap(itemOne, itemTwo) and everything with slots would be handled by p-window |
Yeah, that could be joined along with a transaction group API to batch many actions at once. Something like this is also needed for GUI inventories in Minecraft, and I've implemented it into minecraft-inventory-gui for creative mode (just not connected to network APIs) : https://github.com/extremeheat/minecraft-inventory-gui/blob/bedrock/web/CW2.js For example, doing spread operations in the inventory, then cancelling it requires the client to simulate the spread, then if not cancelled, send the group to the server for confirmation (or rejection). For the mineflayer side an API like this : interface Inventory {
// take from slot and put count into hand
take({ from?: string, fromSlot?: number, count?: number })
// take item from slot and put count into hand
take({ from?: string, item?: ItemName, count?: number })
// place from hand to slot specific if slot is specified, else distribute
place({ toSlot?: number, count?: number })
// move from slot to another slot
move({ from?: string, fromSlot?: number, to?: string, toSlot?: number })
// from item from one place to another place (specific slot if specified)
move({ from?: string, item?: number, to?: string, toSlot?: number })
} const tx = bot.inventory.startTransaction()
tx.take({ fromSlot: 0, count }) // put into hand
tx.place({ toSlot: 0, count }) // put from hand into slot
tx.swap({ fromSlot: 0, toSlot: 1 })
tx.move({ from: 'chest', fromSlot: 2, to: 'hand' })
tx.send() There some duplicates APIs which do the same thing, I just added them from the bedrock protocol. For automation in agents, the action space can be simplified to just moving x item to y. |
prismarine-item pr has been merged |
Any updates? |
Remaining work backlog
What's done
Non-essential backlog
|
How to make mineflayer use bedrock-protocol instead of minecraft-protocol? |
by finishing this task, if you want to help @neohunter feel free to join #bedrock-protocol in discord and ask what you can do at this time to make things easier |
June 2022 Remaining work backlog
What's done
Non-essential backlog
Want to help?
|
What problems are there currently with prismarine-physics that prevents it from supporting bedrock? |
Problems if any for physics will come up when making tests for it on bedrock to see what works / what needs changes |
Some notes from discord discussion:
Prismarine item will require loading item palette data from StartGame packet similar to pc dimension codec. Some work in PrismarineJS/prismarine-registry#26 (comment). Enchant data was added in PrismarineJS/minecraft-data#689, so all the data for pitem should now be in place. Additionally, prismarine window handling will also likely require some changes to pitem |
pitem bedrock is done |
is this done yet? |
I think it would be great to get this one moving. I wonder if we could do a minimal implementation in mineflayer with some basic stuff working (chat) and have the rest not work, and go from there I think that may be a better approach than blocking on "be on par with pc" |
Is this still being worked on? |
I'm having a bit of a hard time following the list, if I were to take what's done right now and put it into mineflayer (somehow, I don't actually know how to change the protocol to even test it), then would it crash or would it partially work with some issues and missing features? |
Is this still being worked on? |
Related #65
Things to do :
The text was updated successfully, but these errors were encountered: