PrismarineJS / mineflayer

Create Minecraft bots with a powerful, stable, and high level JavaScript API.
https://prismarinejs.github.io/mineflayer/
MIT License
5.06k stars 917 forks source link

Big prismarineJS projects #974

Open rom1504 opened 4 years ago

rom1504 commented 4 years ago

This issue will serve as room to discuss big projects see https://github.com/PrismarineJS/mineflayer/wiki/Big-Prismarine-projects

Karang commented 4 years ago

A lot of them can be closed. I can make a list if you want (or directly close them).

rom1504 commented 4 years ago

okay, go ahead and close what you think can be closed, it can always be reopened if needed

rom1504 commented 4 years ago

I think what might be interesting is using milestone or project features of github to :

rom1504 commented 4 years ago

I marked a few issues I consider to be high priority https://github.com/PrismarineJS/mineflayer/issues?q=is%3Aissue+is%3Aopen+label%3A%22high+priority%22

everything else is low priority TBH

rom1504 commented 4 years ago

started a project there https://github.com/orgs/PrismarineJS/projects/9 with important issues only a beginning though it would be useful to write a guide with all the different kind of stuff (low level, high level, AI level, server, client, optimization, ..) that would be useful

rom1504 commented 4 years ago

Quick version of that guide (would need to be put somewhere else) :

  1. optimization
  2. visualization
  3. easier maintenance
  4. more protocol support
  5. more doc => more users and less questions
rom1504 commented 4 years ago

tracking at https://github.com/orgs/PrismarineJS/projects/9

rom1504 commented 4 years ago

https://github.com/PrismarineJS/mineflayer/wiki/Big-Prismarine-projects

rom1504 commented 4 years ago

this issue will serve as discussion room for big projects planning

Karang commented 4 years ago

About visualization, one possible direction is to save a file compatible with https://github.com/ReplayMod/ReplayMod As far as I understand, it records the packets to a file so it shouldn't be hard to do with a mineflayer plugin. The mod then allow to load the replay and explore it in spectate or in first person, generate videos and even display custom objects (paths).

rom1504 commented 4 years ago

Yeah that's an interesting idea. I still think that having a js viewer unlocks more things, but being able to view stuff directly in the vanilla client is indeed quite nice.

rom1504 commented 4 years ago

New one:


12:00 | <rom1504> | I tried tooling the vanilla client at some point to do some automated testing with it
-- | -- | --
12:00 | <jvyden420> | it didn't go very well, did it?
12:01 | <rom1504> | https://github.com/PrismarineJS/node-minecraft-wrap/pull/18 still there
12:01 | <rom1504> | Just didn't finish
12:01 | <rom1504> | I have a launched in js and everything for it
12:02 | <rom1504> | +robotjs to click on stuff
12:02 | <rom1504> | What was missing is virtual x server
12:02 | <rom1504> | Was not available in circle ci
12:02 | <jvyden420> | interesting
12:02 | <rom1504> | This should be easier in GitHub action now
12:04 | <rom1504> | Would definitely be cool to finish this thing
12:04 | <rom1504> | Possible applications :
12:04 | <rom1504> | * macro-style bots
12:05 | <rom1504> | * auto testing for flying-squid
12:05 | <rom1504> | * dumping automatically client bound and server bound packets using a vanilla server and client and an nmp proxy
12:06 | <rom1504> | * automatically getting behavior information from the client and server interacting with each other, like physics constants
12:07 | <rom1504> | I guess I'll add that in one of the interesting project to work on in PrismarineJS org
rom1504 commented 4 years ago

Will add it properly to the page later