Skip to content

Latest commit

 

History

History
234 lines (172 loc) · 14.4 KB

README_FR.md

File metadata and controls

234 lines (172 loc) · 14.4 KB

Mineflayer

NPM version Build Status Discord Gitter Irc Issue Hunt

Try it on gitpod

EN Anglais RU Russe ES Espagnol FR Français TR Türkçe ZH Chinois

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

Caractéristiques:

  • Compatible avec Minecraft 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15 et 1.16.
  • 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.

Projets à venir:

Visite cette page pour voir nos projets projets.

Installation

En premier installer Node.js (version minimale requise: 14) sur nodejs.org puis taper dans la console:

npm install mineflayer

Documentation

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

Pour Aider

Allez lire CONTRIBUTING.md et prismarine-contribute.

Utilisation

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.

tutorial 1 tutorial 2 tutorial 3 tutorial 4

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".

Echo Example

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))

Observer ce que fait votre robot en temp réel

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:

viewer

Exemples:

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

Modules

Beaucoup de development arrive à l'interieur de petit package npm, qui sont utilisé par mineflayer

The Node Way™

"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"

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

Debug

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

Third Party Plugins

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.

Projets utilisant Mineflayer

Test

Tout tester

Exécuter seulement : npm test

Tester une version spécifique

Exécutez npm test -g <version>, où <version> est une version de Minecraft comme 1.12, 1.15.2...

Tester un test spécifique

Executer npm test -g <test_name>, où <test_name> est le nom d'un teste comme lit, utiliseCoffre, rayTrace...

Licence

MIT