EN Anglais | RU Russe | ES Espagnol | FR Français | TR Türkçe | ZH Chinois | BR Portuguese |
---|
Créé des robots Minecraft avec API stable, puissante et facilement maniable, API.
Si c'est la première fois que vous utilisez Node.js, il vaut mieux commencer avec le tutoriel
- Compatible avec Minecraft 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19 et 1.20.
- Reconnaissante et pistage des entités.
- Identification des blocs. Vous pouvez passer en revue le monde autour de vous. Quelques millisecondes suffisent pour trouver n'importe quel bloc.
- Information sur la physique et mouvements, données sur la taille des blocs...
- Peut attaquer des entitées et utiliser des véhicules.
- Gestion d'inventaire.
- Gestion de l'établi, coffre, distributeur, table d'enchantement.
- creuser et construire.
- Autres actions diverses, telle que connaitre tes points de vie ou si il pleut.
- Utiliser les blocs et items.
- Discuter avec le chat.
Visite cette page pour voir nos projets projets.
En premier installer Node.js (version minimale requise: 14) sur nodejs.org puis taper dans la console:
npm install mineflayer
lien | description |
---|---|
tutoriel | Démarre par un tutoriel node js et mineflayer |
FAQ | Une question? Regardez d'abord ici ! |
API unstable_api.md | L'API intégrale |
changement | Les derniers changements dans mineflayer |
exemples | quelques exemples réalisables avec mineflayer |
Allez lire CONTRIBUTING.md et prismarine-contribute.
Vidéos
Un tutoriel vidéo qui explique comment mettre en place un robot mineflayer est disponible ici.
Si vous voulez en apprendre plus, des video peuvent être trouvées ici, et le code source correspondant peut être trouvé ici.
Introduction à mineflayer
Si aucune version n'est specifiée, la version du serveur est automatiquement détectée.
Vous pouvez toujours en specifier une manuellement dans les options:
Par exemple version:"1.16.5"
.
const mineflayer = require('mineflayer')
const bot = mineflayer.createBot({
host: 'localhost', // optionel
port: 25565, // optionel
username: '[email protected]', // l'email et le mot de passe sont requis seulement pour les serveurs
password: '12345678', // online-mode=true
version: false, // faux, corresponds pour la detection automatique(par défaut), met "1.8.8" par exemple si tu a besoin d'une version specifique
auth: 'mojang' // optionel; par defaut utilise mojang, si vous utilisez un compte microsoft, preciser 'microsoft'
})
bot.on('chat', function (username, message) {
if (username === bot.username) return
bot.chat(message)
})
// erreur de code, ou raison de kick:
bot.on('kicked', (reason, loggedIn) => console.log(reason, loggedIn))
bot.on('error', err => console.log(err))
Grace au projet prismarine-viewer, il est maintenant possible de voir ce que votre robot fait.
Il suffit de lancer npm install prismarine-viewer
dans votre console et d'ajouter ceci à votre code:
const mineflayerViewer = require('prismarine-viewer').mineflayer
bot.once('spawn', () => {
mineflayerViewer(bot, { port: 3007, firstPerson: true })
})
et vous obtiendrez un affichage en direct qui ressemble à ceci:
exemple | description |
---|---|
maps | afficher ce que votre robot fait en direct |
pathfinder | Faire votre robot se déplacer la oû vous voulez |
coffre | Utiliser les coffres, fours, distrubuteurs, tables d'enchantements |
pelteuse | Aprener comment créer un robot simple capable de creuser |
discord | connectez un bot discord avec un robot mineflayer |
jumper | Un robot simple qui peut bouger, sauter, conduire des véhicules, attaquer des créatures proches |
ansi | Afficher le chat du robot avec les couleurs du chat dans votre terminal |
guard | Faire un robot qui garde une zone definie |
multiple-from-file | fichier texte avec tous vos comptes minecraft |
Et de nombreux exemples dans le dossier exemples
Beaucoup de development arrive à l'interieur de petit package npm, qui sont utilisé par mineflayer
"When applications are done well, they are just the really application-specific, brackish residue that can't be so easily abstracted away. All the nice, reusable components sublimate away onto github and npm where everybody can collaborate to advance the commons." — substack from "how I write modules"
Voici les modules principales qui contruisent mineflayer:
module | description |
---|---|
minecraft-protocol | Traduis et serialise les packets minecraft, plus l'authentication et l'encryption. |
minecraft-data | Module qui provide des données minecraft pour les clients minecraft, les serveurs et les librairies. |
prismarine-physics | provide les moteurs de physique pour les entitées minecraft. |
prismarine-chunk | Une class pour contenir les chunks minecraft |
node-vec3 | Mathematique de vecteur 3D |
prismarine-block | Represente un block minecraft avec les données associés. |
prismarine-chat | Une traducteur pour les messages de chat minecraft (extracté depuis mineflayer) |
node-yggdrasil | Une librairies Node.js pour intéragir avecles systeme d'authenfication de mojang, connue sous le nom de Yggdrasil |
prismarine-world | l'implementation des mondes pour prismarine |
prismarine-windows | Represente une fenetre minecraft |
prismarine-item | Contient les items minecraft et les donnnées qui y sont associé |
prismarine-nbt | Un traducteur NBT pour node-minecraft-protocol |
prismarine-recipe | Contient les récettes minecraft |
prismarine-biome | Contient les biome et leur données |
prismarine-entity | Represente une entitées minecraft |
Vous pouvez activer le debug du protocole en utilisant DEBUG
comme variable d'environnement:
DEBUG="minecraft-protocol" node [...]
Sur windows :
set DEBUG=minecraft-protocol
node your_script.js
Mineflayer peut être amélioré avec plusieurs plugins; tout le monde peut créer un plugin qui ajoute une API de plus haut niveaux au-dessus de Mineflayer.
Les plugins les plus récents et les plus utiles sont :
- pathfinder - advanced A* pathfinding avec de nombres paramètres configurables
- prismarine-viewer - Un simple inspecteur web de chunk
- web-inventory - un inspecteur d'inventaire en ligne
- statemachine - Une API pour state machine pour robots aux comportements complexes
- Armor Manager - gestion d'armure automatique
- Collect Block - Une API rapide et flexible pour colleter des blocs.
- Dashboard - intertace en ligne pour robots mineflayer
- PVP - Une API facile pour les combats contre les entités et les joueurs.
- auto-eat - pour manger automatiquement de la nouriture.
- Tool - Un plugin pour choisir automatiquement le meilleur outil pour une tâche donnée
- Hawkeye - Un plugin pour viser à la perfection avec des arcs.
Laissez un coup d'oeil à ses projets :
- radar - interface web utilisant un canvas et une communication socket.io. YouTube Demo
- blockfinder - trouver des blocs dans un monde 3D
- scaffold - trouver le meilleur chemin vers une destination précise en cassant et dispoant des blocs YouTube Demo
- auto-auth - remplissage de compte de capchat pour serveur hors-ligne
- Bloodhound - determiner ce qui a attaqué une autre entité.
- tps - trouver le tps du serveur
- panorama - prendre des photos panoramiques de vos mondes.
- rom1504/rbot
- Darthfett/Helperbot
- vogonistic/voxel - visualiser se qui se passe avec son robot grâce à voxel.js
- JonnyD/Skynet - Afficher les info des joueurs sur une API en ligne
- MinecraftChat (derniere version open source, par AlexKvazos) - Un client minecraft basé seulement sur le chathttps://minecraftchat.net/
- Cheese Bot - Un robot basé sur les plugins, qui a une jolie interface. Réalisée avec Node-Webkit. http://bot.ezcha.net/
- Chaoscraft - Des robots minecraft qui utilisent des algorithmes génétiques, regarder ces videos youtube
- hexatester/minetelegram - Minecraft - une API telgram, construite sur Mineflayer et Telegraf.
- ProZedd/mineflayer-builder - "Imprimme" un .schematic dans Minecraft
- et beaucoup plus - Tous les les projets utilisant Mineflayer
Exécuter seulement :
npm test
Exécutez
npm test -g <version>
où <version>
est une version de Minecraft comme 1.12
, 1.15.2
...
Executer
npm test -g <test_name>
où <test_name>
est le nom d'un teste comme lit
, utiliseCoffre
, rayTrace
...