Com programar Minecraft amb Python
De les proves que havia fet fins ara per intentar programar amb Python sobre el Minecraft al nostre institut, on tenim Linux sense permísos per instal.ar programari, les coses que no han funcionat són:
Ha fallat: Minecraft Pi amb VirtualBox
Per la Raspberry Pi existeix una versió antiga, gratuïta i especial de Minecraft, anomenada Minecraft Pi, que permet programar molt fàcilment sobre Minecraft amb Python.
He intentat descarregar la distribució Raspbian per Raspberry PI, però en una versió especial per PC, de l’adreça https://www.raspberrypi.org/downloads/raspberry-pi-desktop/, i executar-la sobre el nostre VirtualBox, però llavors he trobat que la distribució Raspbian per PC no ve amb l'aplicació Minecraft Pi.
Ha fallat: Minecraft per Windows amb la nostra versió de VirtualBox
El programari Minecraft es pot descarregar lliurement a la seva web, però cal pagar per un compte d'usuari per poder jugar. No he trobat una versió d'avaluació, així que per fer proves a classe he acabat buscant una versió pirata.
La versió pirata fàcil de trobar és per la plataforma Windows, però llavors al nostre institut, on treballem amb Linux, l'hauríem d'executar sobre una màquina virtual Windows. Tanmateix, la versió de VirtualBox del nostre institut no proporciona l'acceleració gràfica necessària per executar Minecraft per Windows sobre una màquina virtual.
La versió educativa de Minecraft tampoc té versió nativa per Linux, i la seva versió per Windows tampoc funciona sobre el nostre VirtualBox.
Ha funcionat: Minecraft per Linux + servidor Spigot + plugin RaspberryJuice + llibreries mcpi
Ho podrem deixar tot a la carpeta "dades". No cal instal·lar res. Tant Minecraft com el servidor Spigot s'executen sobre Java.
Per executar codi Python a Minecraft hem d'instal·lar un servidor de Minecraft, com Spigot o Paper, que contingui el plugin RaspberryJuice. Llavors quan l'usuari llenci el joc Minecraft ha d'escollir joc multijugador, i escriure la IP de l'ordinador on s'executa Spigot.
Els passos són:
Descarrega el servidor de Spigot adient de l'adreça:
https://getbukkit.org/download/spigot
Spigot en executar-se generarà molts fitxers. Millor que el tinguis en una carpeta per ell sol.
Descarrega RaspberryJuice de l'adreça:
https://www.spigotmc.org/resources/raspberryjuice.22724/
Crea una carpeta anomenada plugins dintre de la carpeta on tinguis el servidor Spigot, i posa aquest fitxer raspberryjuice-1.12.1.jar dintre d'aquesta carpeta "plugins"
Executa el servidor escrivint al terminal:
java -jar spigot-1.16.3.jar
Aquesta primera execució crearà un fitxer "eula.txt" que et demanarà modificar. Canvia a "eula.txt" on diu
eula=false
pereula=true
Si el Minecraft era pirata, canvia també al fitxer "server.properties" d'Spigot, on diu
online-mode=true
peronline-mode=false
Si vols treballar en mode "creatiu" enlloc de mode "supervivència", canvia també al fitxer "server.properties" d'Spigot, on diu
gamemode=survival
pergamemode=creative
Executa de nou el servidor escrivint al terminal:
java -jar spigot-1.16.3.jar
Descarrega Minecraft 1.16.3 pirata per Linux de l'adreça:
https://btdb.eu/search/minecraft%20linux/0/
Descomprimeix Minecraft 1.16.3 i executa el joc Minecraft. Selecciona menú "Multiplayer". Al submenú "Direct Connect" escriu 127.0.0.1 o localhost , per jugar dins el teu propi servidor Spigot
Ara que estàs a una partida de Minecraft hauràs de prèmer simultàniament les tecles F3 + P per tal que cada vegada que deixis la finestra de Minecraft, aquesta no aturi el joc.
A la carpeta on vulguis guardar el teu programa Python, descarrega les llibreries per Minecraft de la següent adreça:
https://github.com/martinohanlon/mcpi
La carpeta mcpi ha d'estar disponible on escrius el programa
Comença els teus programes amb una línia
import mcpi
i fes servir les funcions de la llibreria:http://www.stuffaboutcode.com/p/minecraft-api-reference.html
Aquí hi ha un llibre gratuït amb programes per fer proves:
https://magpi.raspberrypi.org/books/essentials-minecraft-v1/pdf
Ha funcionat a casa: paquets Minetest i PyCraft per Linux des dels repositoris
Cal instal·lar programari, i no tenim permisos, però a casa m'ha funcionat bé Minetest amb el mòdul Pycraft, que és una opció gratuïta i també més senzilla que Minecraft amb RaspberryJuice.
Aquí deixo la recepta. Ho he fet sobre Debian Testing, però estic segur que els paquets estan disponibles als repositoris de les últimes Ubuntu.
Minetest és un clon de Minecraft, escrit en el llenguatge de programació Lua. Pycraft és l'adaptació per Minetest del mòdul RaspberryJuice. Tot el que hem programat per Minecraft + RaspberryJuice hauria de funcionar a Minetest + Pycraft.
Els passos són:
Instal·la els paquets dels repositoris:
Arrenca Minetest. Selecciona la casella "mode creatiu" i desselecciona la casella "permetre danys"
Fes clic a "Nou". Un cop creat el nou joc, abans d'executar-lo clica "Configurar".
A "Configurar" selecciona el mòdul "pycraft" i fes clic a la casella "Activat". Guarda canvis.
A la pestanya "Configuració" clica el botó "All Settings". Clica la casella "Mostra els noms tècnics". Busca "secur" i t'apareixerà "secure.enable_security" , que hauràs de donar-li el valor "Desactivat" fent doble clic sobre ell.
(Hagués estat millor no tocar l'opció secure.enable_security, i en canvi donar el valor pycraft a l'opció secure.trusted_mods, però a mi no m'ha funcionat).
Prem la tecla ESC, torna a la pestanya "Start Game" i clica el botó "Jugar Joc".
Els canvis han quedat guardats (joc creat, mòdul pycraft activat, i seguretat dels mòduls inhabilitada) i no caldrà que els proper cops que vulguis obrir el joc repeteixis tots els passos anteriors.
API i REFERÈNCIES
API: FUNCIONS
API: BLOCS
TECLAT
EXEMPLES
Last updated