EN English | RU русский | ES Español | FR Français | TR Türkçe | ZH 中文 |
---|
JavaScript ile güçlü, stabil ve üst seviye Minecraft botları oluşturabileceğiniz bir API.
İlk defa mı Node.js kullanıyorsun? Öğretici ile başlayabilirsin.
- Minecraft 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15 ve 1.16 sürümlerini destekler.
- Varlık bilgisi ve takibi.
- Blok bilgisi. Etrafını inceleyebilirsin. Bir bloğu bulmak milisaniyeler sürer.
- Fizik ve hareket - bütün hayali kutucukları ele alabilirsin
- Canlılara saldırma ve taşıtları kullanma.
- Envanter düzenleme.
- Çalışma masaları, sandıklar, fırlatıcılar, büyü masaları.
- Blok kazma ve koyma.
- Can sayını ve yağmur yağıp yapmadığını öğrenmek gibi ekstra özellikler.
- Eşyaları kullanma ve blokları aktifleştirme.
- Sohbet.
Bu sayfayı ziyaret ederek projelerin durumlarını öğrenebilirsin.
Node.js 14 veya üstü bir sürümü nodejs.org adresinden indirip kurduktan sonra mineflayer'ı npm install mineflayer
ile kurabilirsin.
link | açıklama |
---|---|
Öğretici | Node.js ve mineflayer öğren |
FAQ.md | Aklına bir şey mi takıldı? Buraya bak. |
api.md unstable_api.md | API hakkında her şey |
history.md | Değişikliklerin listesi |
examples/ | Tüm mineflayer örnekleri |
Katkıda bulunmadan önce lütfen CONTRIBUTING.md ve prismarine-contribute dosyalarını oku.
Videolar
Bir botun temel kurulum sürecini açıklayan bir öğretici videoyu burada bulabilirsin.
Daha fazlasını öğrenmek istersen burada öğretici videolar bulabilirsin. Videolarda kullanılan botların kaynak kodlarını da şurada bulabilirsin.
Başlangıç
Eğer sürüm belirtilmezse otomatik olarak ayarlanacaktır. Kimlik doğrulama türü belirtilmez ise de Mojang'ınki kullanılacaktır.
const mineflayer = require('mineflayer')
const bot = mineflayer.createBot({
host: 'localhost', // sunucu IP adresi
username: '[email protected]', // Minecraft kullanıcı adı / e-posta adresi
password: '12345678' // Minecraft şifresi, korsan sunucular için boş bırakabilirsin
// port: 25565, // sadece port 25565 olmadığında kullan
// version: false, // özellikle bir sürüm belirteceğin zaman burayı değiştirebilirsin
// auth: 'mojang' // Microsoft kullanıyorsan 'microsoft' olarak değiştirebilirsin
})
bot.on('chat', (username, message) => {
if (username === bot.username) return
bot.chat(message)
})
// Hataları ve sunucudan atılma sebeplerini konsola yansıt:
bot.on('kicked', console.log)
bot.on('error', console.log)
prismarine-viewer projesi sayesinde tarayıcı sekmende botunun ne yaptığını izleyebilirsin. Sadece npm install prismarine-viewer
komutunu çalıştır ve şu kodu botuna ekle:
const { mineflayer: mineflayerViewer } = require('prismarine-viewer')
bot.once('spawn', () => {
mineflayerViewer(bot, { port: 3007, firstPerson: true }) // port: yayın yapılacak port, firstPerson: true yaparsan botun gözünden, false yaparsan kuş bakışı görüntü elde edersin.
})
ve şuna benzeyen canlı bir görüntü elde edeceksin:
Örnek | Açıklama |
---|---|
viewer | Botunu tarayıcında izle |
pathfinder | Botunun belirli bir yere gitmesini sağla |
chest | Sandıkları, fırınları, fırlatıcıları ve büyü masalarını kullan |
digger | Blok kazabilen bir botun nasıl yapılacağını öğren |
discord | Discord ile bir mineflayer botunu bağla |
jumper | Nasıl hareket edebileceğini, zıplayabileceğini, taşıt kullanabileceğini, yakındaki canlılara saldırabileceğini öğren |
ansi | Sohbet mesajlarını bütün renkleri görecek şekilde konsoldan izle |
guard | Çevreyi etraftaki yaratıklardan koruyan bir bot yap |
multiple-from-file | Birçok hesabın bulunduğu bir dosya kullanarak o hesaplarla botlar yap |
daha da fazlası burada
Aktif geliştirmenin bir çoğu mineflayer tarafından kullanılan küçük npm paketlerinin içinde gerçekleşiyor.
"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"
mineflayer'ın yapı taşları olarak kullanılan bazı modüller:
Modül | Açıklama |
---|---|
minecraft-protocol | Minecraft packetlerini incelemeyi sağlayan bir modül |
minecraft-data | Minecraft hakkında bir veritabanı |
prismarine-physics | Minecraft canlılarının fizik motoru |
prismarine-chunk | Chunk bilgisini tutan bir modül |
node-vec3 | Güçlü birim testleri ile 3D vektör matematiği |
prismarine-block | Minecraft bloğunu verisi ile tanımlamaya yarayan modül |
prismarine-chat | Minecraft sohbet ayrıştırıcı (mineflayer'dan alındı) |
node-yggdrasil | Mojang'ın üyelik sistemiyle etkileşime geçebilmek için bir Node.js kütüphanesi |
prismarine-world | Prismarine dünyaların ana kütüphanesi |
prismarine-windows | Minecraft pencereleri için bir yönetim kütüphanesi |
prismarine-item | Bir Minecraft eşyasını verileri ile tanımlamaya yarayan modül |
prismarine-nbt | node-minecraft-protocol için bir NBT ayrıştırıcı |
prismarine-recipe | Minecraft tarif kütüphanesi |
prismarine-biome | Bir Minecraft biyomunu verileri ile tanımlamaya yarayan modül |
prismarine-entity | Bir Minecraft canlısını tanımlamaya yarayan modül |
Hata ayıklama çıktısı almak için DEBUG
değişkenini kullanabilirsin:
DEBUG="minecraft-protocol" node [...]
Windows:
set DEBUG=minecraft-protocol
node your_script.js
mineflayer eklenti desteği sağlar; isteyen herkes mineflayer'ın üstüne daha da üst seviye bir API ekleyen bir eklenti yazabilir.
En çok güncellenen ve en kullanışlı olan bazıları:
- pathfinder - konfigüre edilebilen tonlarca özellik ile gelişmiş A* yön bulma
- prismarine-viewer - basit tarayıcı chunk gösterici
- web-inventory - web bazlı envanter gösterici
- statemachine - daha kompleks bot eventleri için bir API
- Armor Manager - otomatik zırh düzenleyici
- Collect Block - basit ve hızlı bir blok toplama API'ı
- Dashboard - mineflayer botları için kontrol paneli
- PVP - PVP ve PVE için basit bir API
- auto-eat - otomatik yemek yeme
- Tool - otomatik eşya seçimi için üst seviye bir API
- Hawkeye - yaylarla otomatik eğim için bir API
Şunlara da göz at:
- radar - canvas ve socket.io kullanan tarayıcı bazlı bir radar arayüzü. YouTube Demo
- blockfinder - 3 boyutlu dünyada blok bulun
- scaffold - bir hedefe blok koyarak veya kırarak ulaşın YouTube Demo
- auto-auth - sohbet-bazlı bot giriş sistemi
- Bloodhound - başka bir varlığa gelen hasardan kimin ve neyin sorumlu olduğu hakkında bilgi alın
- tps - tps değerini elde edin
- panorama - dünyanın panorama fotoğraflarını çekin
- rom1504/rbot
- Darthfett/Helperbot
- vogonistic/voxel - voxel.js ile botun ne yaptığını gör
- JonnyD/Skynet - bot aktivitesini online bir API'a gönder
- MinecraftChat (son açık kaynak sürümü, AlexKvazos tarafından yapıldı) - Minecraft internet tabanlı sohbet https://minecraftchat.net/
- Cheese Bot - node-webkit ile yapılan eklenti bazlı, temiz bir arayüze sahip bir bot
- Chaoscraft - genetik algoritmalar kullanan bir Minecraft botu, videoları burada
- hexatester/minetelegram - mineflayer & telegraf üstüne kurulu Minecraft - Telegram köprüsü
- PrismarineJS/mineflayer-builder - Minecraft şemalarını hayatta kalma modunda inşa eden bir proje
- ve daha niceleri - mineflayer kullanıyor olup GitHub tarafından tespit edilen tüm projeler.
Basitçe npm test
komutunu çalıştırın
npm test -- -g <version>
komutunu çalıştırın, <version>
bir Minecraft sürümü olmalı (1.12
, 1.15.2
gibi).
npm test -- -g <test_name>
komutunu çalıştırın, <test_name>
kısmının olduğu bölüm bir test adı olmalı (bed
, useChests
, rayTrace
gibi).