Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/imharvol/mineflayer-web-inventory

Web based viewer for your mineflayer bot's inventory
https://github.com/imharvol/mineflayer-web-inventory

minecraft mineflayer mineflayer-plugin nodejs

Last synced: about 8 hours ago
JSON representation

Web based viewer for your mineflayer bot's inventory

Awesome Lists containing this project

README

        

# Mineflayer Web Inventory
A simple web-based inventory viewer for [mineflayer](https://github.com/PrismarineJS/mineflayer) with support for **multiple types of windows and updated in real-time**.

## Install
`npm install mineflayer-web-inventory`

[![npm version](https://badge.fury.io/js/mineflayer-web-inventory.svg)](https://badge.fury.io/js/mineflayer-web-inventory)

Minimum recommended mineflayer version: 4.2.0
Note that from version 1.3.0 mineflayer-web-inventory will only support mineflayer 3.X.X and 4.X.X versions
If you still wish to use mineflayer-web-inventory with mineflayer 2.X.X you can install [email protected]: `npm i [email protected]`

## Usage
- Run `npm install mineflayer-web-inventory`.
- Import mineflayer-web-inventory: `const inventoryViewer = require('mineflayer-web-inventory')`.
- Call inventoryViewer with your bot instance: `inventoryViewer(bot)`.

```js
const mineflayer = require('mineflayer')
const inventoryViewer = require('mineflayer-web-inventory')

const bot = mineflayer.createBot({
host: 'localhost',
port: 25565,
username: 'bot',
version: '1.18.2' // Its important to set this to the server's minecraft version. Otherwise it might not load data/textures correctly
})

inventoryViewer(bot)
```

This will start a web server in http://localhost:3000/.
You can change the options using:
```js
let options = {
port: PORT,
webPath: PATH,
express: EXPRESS,
app: APP,
http: HTTP,
io: IO,
startOnLoad: BOOLEAN,
windowUpdateDebounceTime: INT
}

inventoryViewer(bot, options)
```
You can access the options in bot.webInventory.options

#### bot.webInventory.start()
Starts the web server. This function is called when the plugin is first loaded unless `options.startOnLoad` is `false`. Returns a `Promise` that resolves once the HTTP server is open.

#### bot.webInventory.stop()
Stops the web server. Returns a `Promise` that resolves once the HTTP server is closed.

You can also check the current status of the web server using `bot.webInventory.isRunning` which returns a boolean

## Screenshots
![Example Screenshot 1](https://user-images.githubusercontent.com/17525823/128013976-493448e3-aa22-43bc-8fb9-428f1ccf9b5f.png)
![Example Screenshot 2](https://user-images.githubusercontent.com/17525823/128013983-31f50c2f-e453-401b-a697-d21682e0c980.png)

https://user-images.githubusercontent.com/17525823/128014178-6ea85f97-6698-43dc-9b1f-81a1802885d4.mp4

### Images
The images used in this project are from https://wiki.vg/Inventory and https://github.com/PrismarineJS/minecraft-assets