Гайд - Пишем своих майнкрафт ботов на Python зная его основы. | End Way - форум программирования и сливов различных скриптов
  • Присоединяйтесь к нам в телеграм канал! EndWay канал | EndSoft канал | EWStudio канал
  • Хочешь поставить скрипт, но не умеешь?
    А может ты хочешь свой скрипт на основе слитого?

    Тогда добро пожаловать в нашу студию разработки!

    Телеграм бот: EWStudioBot
    Телеграм канал: EWStudio

Гайд Пишем своих майнкрафт ботов на Python зная его основы.

NiggaByte+REP

so black
Автор темы
hehe
8 Янв 2023
1,146
2,680
113
Добрый день, леди и джентльмены. В данной статье я вас научу делать ботом на майнкрафт используя библиотеку mineflayer.
Мы с вами напишем бота который сможет - бегать за вами, кушать если слишком мало еды, узнавать количество хп и еще пару вещей.

Сначала качаем python последней версии - *тык*
55486f14ac321ba0c0773a18c002cc0c1cfb6008bbd7adf701663f0a255b1731.webp

ОБЯЗАТЕЛЬНО НАЖАТЬ ЭТУ ГАЛКУ, БЕЗ НЕЕ БУДЕТ МОРОКА С УСТАНОВКОЙ БИБЛИОТЕК
Установка окончена, переходим к следующему пункту.
После установки python, нам нужно импортировать javascript в него. Для этого в консоль пишем:
pip install javascript
1ab72aae4e65e230c68c58dac6f47fa43376349551d4014ffce790e997ce9355.webp

У меня она уже установлена, поэтому мне пишет что такая библиотека уже есть. У вас же будут немного другие надписи.
Есть 3 самых популярных программы для этого - PyCharm, Sublime Text, Visual Studio Code. В этом гайде я буду использовать PyCharm, вы же можете использовать то, что вам по душе


Переходим к установке PyCharm:
1. Заходим на официальный сайт - *тык*
2. Жмем кнопку скачать.

90999f339b16e2c94416d01f18ea4a0e535c6d26f880b54104a255fe0ec7a31d.webp
3. Листаем вниз и качаем [tooltip=168]community[/tooltip] edition.
dbdedaf5f10fb7b51d55e70d76fbdac52a6e0f26ec2706f8a5a53df369e1733c.webp
4. Открываем прогу и переходим к следующему пункту.
Создаем проект (думаю не совсем тупенькие, там две кнопочки нажать).
Начинаем писать бота.

edebbf5aa330aec57b567393e7d9c39dadc72c0129045c1d84dd0831333276d6.webp

Из javascript импортируем require и запрашиваем mineflayer
Дальше создаем бота и составляем словарь с данными сервера и ником бота.
Создаем бесконечный цикл чтобы бот был на сервере всегда.

5f68b4bf238cc6dbbfd0a38090199a4ec3cdb170fd42c07dff93b6a502b6e4dc.webp
ура бот на сервере
e198a9c2e0ca5a1753e724b254f107279d427ee287119fd5758fa6bf561898d3.webp

Есть методы и ивенты
Ивенты - это то что происходит в игре - дождь, сообщение в чате и т.д.
Метод - то что делает бот, например метод chat() пишет сообщение в чат.
В этом примере мы заставляем бота повторять сообщения (эхо-бот, [tooltip=71]база[/tooltip] ботов на любой платформе)
Все функции и ивенты можно найти тут - *тык*

Бот повторяет сообщение указывая наше имя.
83b231fa92ad35247860edd56b6a559b7f896d10c246479433741346c2e1f05e.webp
6924cb8e4ccdcc01f6decd187b6c80346a37f5425aec52eea9e2d28188ed7843.webp

Тут мы уже добавляем pathfinder и устанавливаем цель
Теперь если мы напишем в чат: за мной, бот будет вас преследовать.
da88731850b3d72aaa24edd335e24051b45fb78fd81e3427189fb0fe875bba8d.webp
6603c12746f6f72eb441177749b5a580dbf6300c89def416fe4f6bdacb6f413b.webp

Добавляем проверку еды, если еда меньше 19, тогда - бот кушает. (Еда должна быть в руке) Можно округлить через round. (Чтоб в чате не писало 19.1245561 и т.д.)
Бот кушает
c7fe7ea3cc3eab0601de97a20ccdad441732a14aba1b6920e5f11f306f0e38a3.webp
Конец статьи, не забываем про документацию на гитхаб, подумайте об этом прежде чем писать вопросы. Люблю вас)
Python:
from javascript import require, On, Once, AsyncTask, once, off

mineflayer = require('mineflayer')
pathfinder = require('mineflayer-pathfinder')
GoalFollow = pathfinder.goals.GoalFollow

bot = mineflayer.createBot({
    'host':'ASFafasfefs.aternos.me',
    'port':'27071',
    'username':'Bot',
    'version':'1.19.4'
})

bot.loadPlugin(pathfinder.pathfinder)
mcData = require('minecraft-data')(bot.version)
movements = pathfinder.Movements(bot, mcData)

@On(bot, 'chat')
def msgHandler(this, user, message, *args):
    if user !='Bot':
        if 'за мной' in message:
            player = bot.players[user]
            target = player.entity

            bot.pathfinder.setMovements(movements)
            goal = GoalFollow(target, 1)
            bot.pathfinder.setGoal(goal, True)
            bot.chat(f'Иду за тобой, {user}')

@On(bot, 'chat')
def edaCheck(this, user, message, *args):
    if user != 'Bot':
        if 'еда' in message:
            if bot.food == 20:
                 bot.chat(f'Моя еда - {bot.food}')
            if bot.food <= 19:
                bot.chat(f'Еда - {bot.food}, начинаю жрать')
                bot.activateItem()

while True:
    pass




 
Like
  • 3
Реакции: 2 users

mining

Бот
BN
12 Июн 2023
33
148
33
Забавно, что на форум начали выкладывать игровых ботов)
Если накидают симп на это сообщение/покажут, что нужно таких ботов - солью нескольких своих стареньких ботов для кубов, в том числе систему верификаций, игрового магазина, может даже недописанных кланов с управлением в дискорде..
:ricardo
 
Like
  • 3
Реакции: 2 users

OlegXio

Миддл
19 Апр 2023
86
19
8
меня опередили. У меня просто на этой же основе есть спамбот для майнкрафт серверов (и для бедрока тоже)
 
Активность:
Пока что здесь никого нет