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

https://github.com/nootbook011/minetoring

Framework built on top of Bedrock-Protocol lib. Provides high-level tools for creating bots and monitoring utilities, automating world data and session management.
https://github.com/nootbook011/minetoring

bedrock bedrock-bot bedrock-edition bedrock-protocol bot bots minecraft minecraft-pocket-edition mineflayer mineflayer-bedrock mineflayer-bot mineflayerbot pocket-edition raknet

Last synced: about 2 months ago
JSON representation

Framework built on top of Bedrock-Protocol lib. Provides high-level tools for creating bots and monitoring utilities, automating world data and session management.

Awesome Lists containing this project

README

          

# MineToring

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![NPM version](https://img.shields.io/npm/v/minetoring.svg?color=success&label=npm%20package&logo=npm)](https://www.npmjs.com/package/minetoring)
[![Framework](https://img.shields.io/badge/Base-PrismarineJS--Bedrock--Protocol-green)](https://github.com/PrismarineJS/bedrock-protocol)

| RU [русский](./docs/RU/README.md)
|-------------------------|

**Professional Framework** built on top of **Bedrock-Protocol** lib, provides high-level API for creating bots on Minecraft Bedrock.

## Key Features

**MineToring** is the first project that provides a **high-level API** for working with bots on **Minecraft Bedrock Edition**

---

- **Fully native framework for MInecraft bedrock**
- **Entity Support**: Bot can see all entities and players in view distance and knows all information about it, starting from attributes and ending with device the player is playing from.
- **Working World Loading**: Fully native and working world chunks load with blob support and zero data loss.
- **High-Level Actions**: High-level actions of bot that allow you to automatically respawn after death or send commands to the chat.
- **EventEmitters Support**: Entity classes, players, and many others have built-in support for EventEmitters through `.events` method, this allows you to subscribe to an update of a single entity, world, or high-level action.
- **Automatic Update**: Fully automatic updating of all entities, world data, and more. You will always see as much up-to-date data as possible that the server will send.
- **Compatibility with PrismarineJs**: To decode chunks, you can use an adapter for the Prismarine-Chunk library, which provides ready-made high-level methods with data from the MineToring chunk class.

---

* **Data Containers**: Ready-to-use classes for storing and modifying game data (worlds, servers, players).
* **Protocol Automation**: Built-in automatic packet management and connection handling.
* **Client Emulation**: Focus on precise reproduction of real game client behavior at the packet level.
* **Modularity**: Ability to replace standard classes with custom ones or inherit from base classes to extend logic.

---

* **Supported Minecraft Bedrock versions:** `1.21.0, 1.21.2, 1.21.21, 1.21.30, 1.21.42, 1.21.50, 1.21.60, 1.21.70, 1.21.80, 1.21.90, 1.21.93, 1.21.100`.
* **Tested on:** `1.21.0, 1.21.50, 1.21.100`.

---

## API Documentation
Docs in different languages can be found in [docs directory](./docs/)

- [API](./docs/EN/API.md)
- [Plugins](./docs/EN/Plugins.md)
- [Sessions](./docs/EN/ClientSessions.md)

## Roadmap
See [RoadMap](./docs/EN/RoadMap.md) to see our current goals for the project

---
## installation

Install the current Node version to use it, Next, run:
> npm install minetoring

## Getting Started

More examples can be found in [examples](./examples/)

```javascript
import { Bot, BotOptions } from 'minetoring'

// For help and easy setup in IDE
const opt = new BotOptions()
opt.configServer({
version: '1.21.50',
host: '127.0.0.1',
port: 19132
})
opt.configClient({
username: 'Steve',
})

const bot = new Bot()
// Asynchronous initialization for dynamic imports modules in protocol
await bot.init(opt)
await bot.connect()

// Necessary to ensure that client is loaded at the time of sending packets
await bot.waitUntilSpawn()

// await is optional for actions when you don't have to wait for packet to be processed by server
await bot.actions.sendMessage('Hello World!')
bot.disconnect()
```
---

## Contact
Author: @nootbook011

## License
Project licensed under MIT (see [LICENSE](./LICENSE))