|
4 | 4 | [](https://discord.gg/GsEFRM8)
|
5 | 5 | [](https://gitpod.io/#https://github.com/PrismarineJS/prismarine-web-client)
|
6 | 6 |
|
7 |
| -A minecraft client running in a web page. Demo at https://prismarine-web-client.js.org |
| 7 | +### A Minecraft client running in a web page. **Live demo at https://prismarine-web-client.js.org** |
8 | 8 |
|
9 |
| -It runs mineflayer in the browser which connects to a websocket minecraft server. |
10 |
| -It provides a simple websocket to tcp proxy as a backend to make it possible to connect to any minecraft server. |
| 9 | + |
| 10 | + |
| 11 | +## How it Works |
| 12 | +prismarine-web-client runs mineflayer and prismarine-viewer in the browser, which connects over WebSocket to a proxy which translates the WebSocket connection into TCP to connect to normal Minecraft servers. |
11 | 13 |
|
12 | 14 | ## Screenshot
|
13 |
| - |
| 15 | + |
| 16 | + |
| 17 | +## Live Demo |
| 18 | +Click on this link to open it in your browser, no installation necessary: https://prismarine-web-client.js.org |
14 | 19 |
|
15 |
| -## Usage |
| 20 | +*Tested on Chrome & Firefox for desktop platforms.* |
16 | 21 |
|
17 |
| -`npm install -g prismarine-web-client` then run `prismarine-web-client` then open `http://localhost:8080` in your browser |
| 22 | +## Usage (for self-hosted installations) |
| 23 | +If you want the latest version or want to use auth, you can host an instance yourself. |
| 24 | + |
| 25 | +Run these commands in bash: |
| 26 | +```bash |
| 27 | +$ npm install -g prismarine-web-client |
| 28 | +$ prismarine-web-client |
| 29 | +``` |
| 30 | +Finally, open `http://localhost:8080` in your browser. |
18 | 31 |
|
19 | 32 | ## Features
|
20 | 33 |
|
21 |
| -* display blocks |
22 |
| -* display entities as colored rectangles |
23 |
| -* movement sync |
| 34 | +* Display mobs (though sometimes messed up) |
| 35 | +* Display players |
| 36 | +* Display other entities as colored rectangles |
| 37 | +* Display blocks |
| 38 | +* Movement (you can move, and you see entities moving live) |
| 39 | +* Place and break blocks |
24 | 40 |
|
25 | 41 | ## Roadmap
|
26 |
| - |
27 |
| -* chat |
28 |
| -* block placing and breaking |
| 42 | +* Containers (inventory, chests, etc.) |
| 43 | +* More Customisation (e.g. mouse sensitivity, text size, issue #40) |
| 44 | +* Sounds |
| 45 | +* More World Interactions (attacking entities, etc.) |
| 46 | +* Cosmetic Rendering Features (day night cycle, fog, etc.) |
| 47 | +* Server-Side Support Plugins (for auth bypass & possibly hosting its own websocket proxy to reduce latency, issue #13) |
29 | 48 |
|
30 | 49 | ## Development
|
31 | 50 |
|
32 |
| -```js |
33 |
| -npm install |
34 |
| -npm run build-start |
| 51 | +If you're contributing/making changes, you need to install it differently. |
| 52 | + |
| 53 | +First, clone the repo. |
| 54 | + |
| 55 | +Then, set your working directory to that of the repo. For example: |
| 56 | +```bash |
| 57 | +$ cd ~/prismarine-viewer/ |
| 58 | +``` |
| 59 | + |
| 60 | +Finally, run |
| 61 | + |
| 62 | +```bash |
| 63 | +$ npm install |
| 64 | +$ npm run build-start |
35 | 65 | ```
|
36 | 66 |
|
37 |
| -Then connect to http://localhost:8080 |
| 67 | +Then connect to http://localhost:8080 in your browser. |
38 | 68 |
|
39 | 69 |
|
40 | 70 |
|
0 commit comments