Minecraft web client running in your browser
Find a file
Romain Beaumont c8e3ffd019
Optimize webpack usage, fix #34 (#58)
* introduce prod/dev build https://webpack.js.org/guides/production/
* use it properly with express https://webpack.js.org/guides/development/#using-webpack-dev-middleware
to provide a fast npm start (5 second)
2021-03-06 01:29:28 +01:00
.github/workflows Optimize webpack usage, fix #34 (#58) 2021-03-06 01:29:28 +01:00
assets Add custom proxy selection (#53) 2021-03-04 01:39:21 +01:00
extra-textures Cleanup textures in root 2021-03-04 04:02:30 +01:00
lib Fix moving in chat, fix breaking snapping view 2021-03-02 05:07:12 +01:00
test add code 2021-02-27 22:12:11 +00:00
.gitignore add .idea to gitignore (#39) 2021-03-02 14:47:40 +01:00
.gitpod Initial commit 2021-02-27 22:27:59 +01:00
.gitpod.DockerFile Initial commit 2021-02-27 22:27:59 +01:00
.npmignore fix package.json 2021-02-27 22:28:08 +00:00
.npmrc Initial commit 2021-02-27 22:27:59 +01:00
config.json Add config.json 2021-03-04 04:02:30 +01:00
HISTORY.md Release 1.1.0 2021-02-28 22:27:52 +00:00
index.html Remove css from index.html (#54) 2021-03-04 05:07:07 +01:00
index.js Add config.json 2021-03-04 04:02:30 +01:00
LICENSE Initial commit 2021-02-27 22:27:59 +01:00
package.json Optimize webpack usage, fix #34 (#58) 2021-03-06 01:29:28 +01:00
README.md Optimize webpack usage, fix #34 (#58) 2021-03-06 01:29:28 +01:00
screenshot.png add screenshot to readme (#19) 2021-03-01 03:45:27 +01:00
server.js Optimize webpack usage, fix #34 (#58) 2021-03-06 01:29:28 +01:00
styles.css Remove css from index.html (#54) 2021-03-04 05:07:07 +01:00
webpack.common.js Optimize webpack usage, fix #34 (#58) 2021-03-06 01:29:28 +01:00
webpack.dev.js Optimize webpack usage, fix #34 (#58) 2021-03-06 01:29:28 +01:00
webpack.prod.js Optimize webpack usage, fix #34 (#58) 2021-03-06 01:29:28 +01:00

prismarine-web-client

NPM version Build Status Discord Try it on gitpod

A Minecraft client running in a web page. Live demo at https://prismarine.js.org/prismarine-web-client/

How it Works

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.

Screenshot

Screenshot of prismarine-web-client in action

Live Demo

Click on this link to open it in your browser, no installation necessary: https://prismarine.js.org/prismarine-web-client

Tested on Chrome & Firefox for desktop platforms.

Usage

To host it yourself, run these commands in bash:

$ npm install -g prismarine-web-client
$ prismarine-web-client

Finally, open http://localhost:8080 in your browser.

Features

  • Display mobs and players
  • Display blocks
  • Movement (you can move, and you see entities moving live)
  • Place and break blocks

Roadmap

  • Containers (inventory, chests, etc.)
  • Sounds
  • More World Interactions (attacking entities, etc.)
  • Cosmetic Rendering Features (day night cycle, fog, etc.)

Development

If you're contributing/making changes, you need to install it differently.

First, clone the repo.

Then, set your working directory to that of the repo. For example:

$ cd ~/prismarine-viewer/

Finally, run

$ npm install
$ npm start

This will start express and webpack in development mode: whenever you save a file, the build will be redone (it takes 5s), and you can refresh the page to get the new result.

Connect to http://localhost:8080 in your browser.

You may want to disable auto saving in your IDE to avoid constant rebuilding, see https://webpack.js.org/guides/development/#adjusting-your-text-editor

To check the production build (take a minute to build), you can run npm run build-start

If you're interested in contributing, you can check projects at https://github.com/PrismarineJS/prismarine-web-client/projects