23.10.2021 09:48
raidex
 
Завтра моему сыну исполняется 8 лет и я ему на день рождения купил Minecraft !

Подождите меня ругать, мы установили майнкрафт только для того, чтобы изучать питон

( мама в любом случае играть не разрешает больше 20 минут в день )

Вы спросите, как можно изучать питон в майнкрафте ?

Тадаааам !

Мы скачали книгу программируем с майнкрафт !

Пока что мы прочитали всего 30 страниц, но уже создали свой локальный сервер и подключились к нему. Кому интересна эта тема давайте учиться вместе, вместе делать сервер на olegon.ru

( например )

И изучать Python
23.10.2021 10:12
OlegON
 
Почитал эту книжку, действительно, это то, чего не хватает для мотивации детей к программированию...
Мы в свое время пытались текстовые квесты на Бейсике писать, поскольку хотелось видеть результат и, желательно, в игровой форме, а по понятным причинам графики у нас не было.
Сам не поучаствую, но вывести сервер в онлайн могу помочь...
23.10.2021 10:57
raidex
 
OlegON, Олег, помоги пожалуйста мы дочитали до момента где надо переместить игрока в небо, это страница 52 самый конец главы 1

Я через 3 часа попробую установить это дело на MacOS потому что при вводе команды

mc.player.setTilePos(0, 120, 0)

происходит ошибка

Сам объект mc и player существуют, а метод setTilePos должен в теории принимать на вход вектор, который указывает куда послать игрока

А на деле возможно что они изменили тип вектора, сейчас мы едем к бабушке через лес отвозить пирожок ( нет ) деньги на велосипедах )
23.10.2021 12:38
OlegON
 
Цитата:
raidex происходит ошибка
Ключевое в любом исследовании проблемы - точное сообщение об ошибке... Сообщение вида "не работает" не дает ровно никакой другой информации.
23.10.2021 15:00
raidex
 
Цитата:
OlegON Сообщение вида "не работает" не дает ровно никакой другой информации.
Ошибка описана ниже, возможно дело в том, что сервер Spigot устарел

( Error, this build is outdated. Please download a new build as per instructions from spigotmc org )

*** Оригинальная ошибка ***

from mcpi.minecraft import Minecraft
mc = Minecraft.create()
mc.player.setTilePos(0, 120, 0)

Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
mc.player.setTilePos(0, 120, 0)
File "C:\Users\os\AppData\Local\Programs\Python\Python310\lib\site-packages\mcpi\minecraft.py", line 72, in setTilePos
return CmdPositioner.setTilePos(self, [], args)
File "C:\Users\os\AppData\Local\Programs\Python\Python310\lib\site-packages\mcpi\minecraft.py", line 46, in setTilePos
self.conn.send(self.pkg + b".setTile", id, intFloor(*args))
File "C:\Users\os\AppData\Local\Programs\Python\Python310\lib\site-packages\mcpi\minecraft.py", line 22, in intFloor
return [int(math.floor(x)) for x in flatten(args)]
File "C:\Users\os\AppData\Local\Programs\Python\Python310\lib\site-packages\mcpi\minecraft.py", line 22, in <listcomp>
return [int(math.floor(x)) for x in flatten(args)]
File "C:\Users\os\AppData\Local\Programs\Python\Python310\lib\site-packages\mcpi\util.py", line 5, in flatten
if isinstance(e, collections.Iterable) and not isinstance(e, str):
AttributeError: module 'collections' has no attribute 'Iterable'

Почти такая же ошибка появляется, если просто попытаться вывести сообщение в консоль майнкрафта с помощью команды

from mcpi.minecraft import Minecraft
mc = Minecraft.create()
mc.postToChat( "Hello world" )

Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
mc.postToChat( "Hello world" )
File "C:\Users\os\AppData\Local\Programs\Python\Python310\lib\site-packages\mcpi\minecraft.py", line 163, in postToChat
self.conn.send(b"chat.post", msg)
File "C:\Users\os\AppData\Local\Programs\Python\Python310\lib\site-packages\mcpi\connection.py", line 39, in send
s = b"".join([f, b"(", flatten_parameters_to_bytestring(data), b")", b"\n"])
File "C:\Users\os\AppData\Local\Programs\Python\Python310\lib\site-packages\mcpi\util.py", line 10, in flatten_parameters_to_bytestring
return b",".join(map(_misc_to_bytes, flatten(l)))
File "C:\Users\os\AppData\Local\Programs\Python\Python310\lib\site-packages\mcpi\util.py", line 5, in flatten
if isinstance(e, collections.Iterable) and not isinstance(e, str):
AttributeError: module 'collections' has no attribute 'Iterable'
23.10.2021 21:41
raidex
 
Да, печально, в землетрясение не поиграли, поженить майнкрафт с питоном на мак оси так же не удалось



(0,19Мб)
23.10.2021 22:58
OlegON
 
достаточно серьезные изменения были в 3 питоне, а до этого царем была 2.7, можно ее попробовать... а так... я к маку отношусь, как к поделию, которое нужно тем, кто любит страдать...
23.10.2021 23:46
raidex
 
О божечки, Олег, ну конечно, спасибо большое !

Надо было просто установить именно ту версию питона, которая и была указана в книге !

Как раз до дня рождения осталось 15 минут, завтра сообщу с утра, чудо спит



(0,21Мб)
27.10.2021 21:30
raidex
 
Свежая бесплатная книга на английском языке ( правда уже не питон, а луа или луна ) turtleappstore com book



(0,33Мб)
27.10.2021 22:49
raidex
 
Немного муторная установка твика компьютеркрафт, но это проще чем пляски с питоном. Вам надо будет установить мод для любой версии майнкрафта

files minecraftforge net net minecraftforge forge

Далее запускаем майнкрафт и видим что установлено 2 мода ( я удивлён что майкрософт разрешила подключать моды )

Открываем папку с модами и скачиваем сюда ещё один, третий мод, который и позволит нам программировать внутри игры. Вот гитхаб создателей твика ( форка )

github com cc-tweaked CC-Tweaked

Если будут трудности с установкой, то просто посмотрите видео автора книги youtu.be 6-hyqrwBEq0

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.