Skip to content

Latest commit

 

History

History
230 lines (169 loc) · 14.1 KB

README_TR.md

File metadata and controls

230 lines (169 loc) · 14.1 KB

Mineflayer

NPM version Build Status Discord Gitter Irc Issue Hunt

Try it on gitpod

🇺🇸 English 🇷🇺 Russian 🇪🇸 Spanish 🇫🇷 French 🇹🇷 Turkish 🇨🇳 Chinese

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.

Özellikler

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

Yol Haritası

Bu sayfayı ziyaret ederek projelerin durumlarını öğrenebilirsin.

Kurulum

Node.js 14 veya üstü bir sürümü nodejs.org adresinden indirip kurduktan sonra mineflayer'ı npm install mineflayer ile kurabilirsin.

Belgeler / Wiki

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 bulun

Katkıda bulunmadan önce lütfen CONTRIBUTING.md ve prismarine-contribute dosyalarını oku.

Kullanım

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.

tutorial 1 tutorial 2 tutorial 3 tutorial 4

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.

Papağan Örneği (bot dediklerinizi taklit eder)

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)

Botunun ne yaptığını gör

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:

viewer

Daha fazla örnek

Ö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

Modüller

Aktif geliştirmenin bir çoğu mineflayer tarafından kullanılan küçük npm paketlerinin içinde gerçekleşiyor.

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"

Modüller

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

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

3. Parti Eklentiler

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

Mineflayer Kullanan Projeler

Test etme

Her şeyi test etme

Basitçe npm test komutunu çalıştırın

Özel bir sürümü test etme

npm test -- -g <version> komutunu çalıştırın, <version> bir Minecraft sürümü olmalı (1.12, 1.15.2 gibi).

Özel bir şeyi test etme

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

Lisans

MIT