Перейти к содержанию

Не получается получить доступ к серверу из Python


Рекомендуемые сообщения

В теме 4 сообщения

Пробую делать все по книге "Программируем с Minecraft" (Крей Ричардсон).

1.  Запускаю сервер на яве (version 1.21)

2. Подключаюсь к нему клиентом по сети 

3. Пробую на Python подключится к серверу и хоть, что то сделать

from mcpi.minecraft import Minecraft
from mcpi.block import *


mc = Minecraft.create('127.0.0.1', 25565)
print(mc)


mc.player.setTilePos(-410, 160, 33)
mc.player.setPos(-410, 160, 33)
print("set_tile")

playerPosition = mc.player.getTilePos()
height = mc.getHeight(playerPosition.x, playerPosition.z)
message = "Height is "+ str(height)
print(message)

 в результате Minecraft.create - успешно подключается к серверу и создает обьект

setTilePos и setPos отрабативают без ошибок, но ничего не происходит :(

а строка playerPosition = mc.player.getTilePos() вызивает ошибку, внутри самой библиотеки mcpi !

<mcpi.minecraft.Minecraft object at 0x000001562931EB90>
set_tile
Traceback (most recent call last):
  File "C:/Python/Programs/Minecraft0/m0.py", line 22, in <module>
    playerPosition = mc.player.getTilePos()
  File "C:\Python\Python311\Lib\site-packages\mcpi\minecraft.py", line 157, in getTilePos
    return CmdPositioner.getTilePos(self, [])
  File "C:\Python\Python311\Lib\site-packages\mcpi\minecraft.py", line 56, in getTilePos
    return Vec3(*list(map(int, s.split(","))))
ValueError: invalid literal for int() with base 10: ''

может быть кто то сталкивался или знает, чем можно помочь ? :)

Ссылка на комментарий
Поделиться на другие сайты

10 минут назад, Denis Npp сказал:

Пробую делать все по книге "Программируем с Minecraft" (Крей Ричардсон).

1.  Запускаю сервер на яве (version 1.21)

2. Подключаюсь к нему клиентом по сети 

3. Пробую на Python подключится к серверу и хоть, что то сделать

from mcpi.minecraft import Minecraft
from mcpi.block import *


mc = Minecraft.create('127.0.0.1', 25565)
print(mc)


mc.player.setTilePos(-410, 160, 33)
mc.player.setPos(-410, 160, 33)
print("set_tile")

playerPosition = mc.player.getTilePos()
height = mc.getHeight(playerPosition.x, playerPosition.z)
message = "Height is "+ str(height)
print(message)

 в результате Minecraft.create - успешно подключается к серверу и создает обьект

setTilePos и setPos отрабативают без ошибок, но ничего не происходит :(

а строка playerPosition = mc.player.getTilePos() вызивает ошибку, внутри самой библиотеки mcpi !

<mcpi.minecraft.Minecraft object at 0x000001562931EB90>
set_tile
Traceback (most recent call last):
  File "C:/Python/Programs/Minecraft0/m0.py", line 22, in <module>
    playerPosition = mc.player.getTilePos()
  File "C:\Python\Python311\Lib\site-packages\mcpi\minecraft.py", line 157, in getTilePos
    return CmdPositioner.getTilePos(self, [])
  File "C:\Python\Python311\Lib\site-packages\mcpi\minecraft.py", line 56, in getTilePos
    return Vec3(*list(map(int, s.split(","))))
ValueError: invalid literal for int() with base 10: ''

может быть кто то сталкивался или знает, чем можно помочь ? :)

Спасибо братан, теперь я понял откуда столько гриферов и читеров на серверах

Ссылка на комментарий
Поделиться на другие сайты

5 часов назад, Denis Npp сказал:

Пробую делать все по книге "Программируем с Minecraft" (Крей Ричардсон).

1.  Запускаю сервер на яве (version 1.21)

2. Подключаюсь к нему клиентом по сети 

3. Пробую на Python подключится к серверу и хоть, что то сделать

from mcpi.minecraft import Minecraft
from mcpi.block import *


mc = Minecraft.create('127.0.0.1', 25565)
print(mc)


mc.player.setTilePos(-410, 160, 33)
mc.player.setPos(-410, 160, 33)
print("set_tile")

playerPosition = mc.player.getTilePos()
height = mc.getHeight(playerPosition.x, playerPosition.z)
message = "Height is "+ str(height)
print(message)

 в результате Minecraft.create - успешно подключается к серверу и создает обьект

setTilePos и setPos отрабативают без ошибок, но ничего не происходит :(

а строка playerPosition = mc.player.getTilePos() вызивает ошибку, внутри самой библиотеки mcpi !

<mcpi.minecraft.Minecraft object at 0x000001562931EB90>
set_tile
Traceback (most recent call last):
  File "C:/Python/Programs/Minecraft0/m0.py", line 22, in <module>
    playerPosition = mc.player.getTilePos()
  File "C:\Python\Python311\Lib\site-packages\mcpi\minecraft.py", line 157, in getTilePos
    return CmdPositioner.getTilePos(self, [])
  File "C:\Python\Python311\Lib\site-packages\mcpi\minecraft.py", line 56, in getTilePos
    return Vec3(*list(map(int, s.split(","))))
ValueError: invalid literal for int() with base 10: ''

может быть кто то сталкивался или знает, чем можно помочь ? :)

image.png.89164672be0180369fbbfab861e69212.png

в книге описаны шаги действий для подготовки к написанию кода?

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Всем привет, получилось. Действительно для работы необходим плагин для сервера - raspberryjuice, т.к. mcpi работает с ним. Просто в книге об этом как то не особо упоминалось :( 

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...