[![Try it on gitpod](https://img.shields.io/badge/try-on%20gitpod-brightgreen.svg)](https://gitpod.io/#https://github.com/PrismarineJS/prismarine-web-client)
Se estiveres a contribuir/fazer alterações, precisas intalá-lo de outra forma.
Primeiro, clona o repositório.
Depois, defina o seu diretório de trabalho para o do repositório. Por examplo:
```bash
$ cd ~/prismarine-web-client/
```
Finalmente, execute
```bash
$ npm install
$ npm start
```
Isto vai começar o express e webpack no modo de desenvolvimento; quando salvares um arquivo, o build vai ser executado de novo (demora 5s),
e podes atualizar a página para veres o novo resultado.
Conecta em http://localhost:8080 no teu navegador.
Poderás ter que desativar o auto salvar no teu IDE para evitar estar constantemente a reconstruir; see https://webpack.js.org/guides/development/#adjusting-your-text-editor.
Para conferir a build de produção (vai demorar alguns minutos para terminar), podes executar `npm run build-start`.
Se estiveres interessado em contribuir, podes dar uma vista de olhos nos projetos em https://github.com/PrismarineJS/prismarine-web-client/projects.
Algumas variáveis estão expostas no objeto global ``window`` para depuração:
* ``bot``
* ``viewer``
* ``mcData``
* ``worldView``
* ``Vec3``
* ``pathfinder``
* ``debugMenu``
### Adicionar coisas no debugMenu
debugMenu.customEntries['myKey'] = 'myValue'
delete debugMenu.customEntries['myKey']
### Alguns exemplos de depuração
Na devtools do chrome:
*`bot.chat('test')` permite usar o chat
*`bot.chat(JSON.stringify(Object.values(bot.players).map(({username, ping}) => ({username, ping}))))` display the ping of everyone
*`window.bot.entity.position.y += 5` saltar
*`bot.chat(JSON.stringify(bot.findBlock({matching:(block) => block.name==='diamond_ore', maxDistance:256}).position))` encontrar a posição de um bloco de diamante
*`bot.physics.stepHeight = 2` permite andar sobre os blocos
*`bot.physics.sprintSpeed = 5` andar mais rápido
*`bot.loadPlugin(pathfinder.pathfinder)` em seguida `bot.pathfinder.goto(new pathfinder.goals.GoalXZ(100, 100))` para ir para a posição 100, 100
Para mais ideas de depuração, leia o documento [mineflayer](https://github.com/PrismarineJS/mineflayer).