Не работает код на python для майнкрафт

Wolfik777

Новичок
Пользователь
Янв 3, 2024
4
0
1

Пытаюсь использовать код на python в майнкрафт с использованием mcpi или mcpi_e выдаёт ошибку помогите пожалуйста​

Код
from mcpi_e.minecraft import Minecraft

mc = Minecraft.create("127.0.0.1", 25565, "PlayerName")

mc.postToChat("Wolfik777 say hello")

Использую Tlauncher версия 1 12 2 Сервер стандартый без плагинов и модов

В сервере server.propetions

Айпи стоит 127.0.0.1 Порт 25565

Ошибки T

raceback (most recent call last): File "C:\Users\wolfi\OneDrive\Рабочий стол\Minecraft use python use game\Posttochat.py", line 10, in <module> mc = Minecraft.create("127.0.0.1", 25565, "PlayerName") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\wolfi\PycharmProjects\MinecraftScript\.venv\Lib\site-packages\mcpi_e\minecraft.py", line 399, in create playerId= int(conn.sendReceive(b"world.getPlayerId", playerName)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\wolfi\PycharmProjects\MinecraftScript\.venv\Lib\site-packages\mcpi_e\connection.py", line 102, in sendReceive self.send(*data) File "C:\Users\wolfi\PycharmProjects\MinecraftScript\.venv\Lib\site-packages\mcpi_e\connection.py", line 77, in send s = b"".join([f, b"(", flatten_parameters_to_bytestring(data), b")", b"\n"]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\wolfi\PycharmProjects\MinecraftScript\.venv\Lib\site-packages\mcpi_e\util.py", line 10, in flatten_parameters_to_bytestring return b",".join(map(_misc_to_bytes, flatten(l))) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\wolfi\PycharmProjects\MinecraftScript\.venv\Lib\site-packages\mcpi_e\util.py", line 5, in flatten if isinstance(e, collections.Iterable) and not isinstance(e, str): ^^^^^^^^^^^^^^^^^^^^ AttributeError: module 'collections' has no attribute 'Iterable'
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
933
208
43
20
Москва
Ответ с гитхаба

Открой файл util.py

C:\Users\xxx\Documents\minecraft\code\mcpi_e\util.py

На 5-й строчке будет
if isinstance(e, collections.Iterable) and not isinstance(e, str):

Замени на
if isinstance(e, collections.abc.Iterable) and not isinstance(e, str):
 

Wolfik777

Новичок
Пользователь
Янв 3, 2024
4
0
1
Ответ с гитхаба

Открой файл util.py

C:\Users\xxx\Documents\minecraft\code\mcpi_e\util.py

На 5-й строчке будет
if isinstance(e, collections.Iterable) and not isinstance(e, str):

Замени на
if isinstance(e, collections.abc.Iterable) and not isinstance(e, str):
Здравствуйте помогли но появилась новая ошибка

Код

from mcpi_e.minecraft import Minecraft
mc = Minecraft.create(address="127.0.0.1", 25565, playerName="777")

mc.postToChat("Wolfik777 say hello")

"C:\Users\wolfi\OneDrive\Рабочий стол\Minecraft use python use game\.venv\Scripts\python.exe" "C:\Users\wolfi\OneDrive\Рабочий стол\Minecraft use python use game\Posttochat.py"
File "C:\Users\wolfi\OneDrive\Рабочий стол\Minecraft use python use game\Posttochat.py", line 2
mc = Minecraft.create(address="127.0.0.1", 25565, playerName="777")
^
SyntaxError: positional argument follows keyword argument

1704356746695.png
 

Форум IT Специалистов