Skip to content

Commit 6c893a8

Browse files
committed
Finalmente 11
1 parent ec6f702 commit 6c893a8

File tree

2 files changed

+243
-0
lines changed

2 files changed

+243
-0
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
11 Minecraft Pi
2+
3+
# Minecraft Pi
4+
5+
Sonic Pi soporta una simple API para interactuar con Minecraft Pi -
6+
la edición especial de Minecraft instalada en el sistema operativo
7+
basado en Linux que trae la Raspberry Pi, elRaspbian.
8+
9+
## Sin necesidad de importar librerías
10+
11+
La integración de Minecraft Pi está diseñada para ser extremadamente
12+
fácil de usar. Sólo necesitas lanzar Minecraft Pi y crear un mundo. De
13+
ahí tienes libertad de usar `mc_*` fns tanto como utilizas`play` y `synth`.
14+
No hay necesidad de importar algo o instalar librerías. Todo está listo
15+
para funcionar.
16+
17+
## Conexión automática
18+
19+
El API de Minecraft Pi se encarga de manejar tu conexión a la aplicación
20+
Minecraft Pi. Esto significa que no tienes algo de lo que preocuparte.
21+
Si intentas utilizar el API de Minecraft Pi cuando Minecraft Pi no está
22+
en funcionamiento, Sonic Pi te lo dirá. Similarmente, si cierras Minecraft Pi
23+
mientras se ejecuta un `live_loop` que utiliza la API, el bucle se detendrá
24+
y te dirá que no se puede conectar. Para reconectar, simplemente lanza Minecraft Pi
25+
de nuevo y Sonic Pi detectará automáticamente y recreará la conexión para tí.
26+
27+
## Diseñado para ser Live Coded
28+
29+
La API de Minecraft fue diseñada para trabajar dentro de `live_loop`s. Esto significa
30+
que es posible sincronizar modificaciones en tus mundos de Minecraft Pi con modificaciones
31+
en tu Sonic Pi. Videos instantáneos de música basada en Minecraft! Nota que Minecraft Pi
32+
es software alfa y conocido por algunos problemillas. Si encuentras algunos problemas,
33+
reinicia Minecraft Pi y continúa como anteriormente. La funcionalidad de conexión automática
34+
de Sonic Pi se encargará por tí.
35+
36+
## Requiere una Raspberry Pi 2.0
37+
38+
Es recomendable usar una Raspberry Pi 2 si pretendes correr al mismo tiempo Sonic Pi y
39+
Minecraft, especialmente si deseas utilizar las capacidades de Sonic Pi.
40+
41+
## Soporte API
42+
43+
Por ahora, Sonic Pi soporta las manipulaciones básicas de bloque y ejcutante, que fueron
44+
detalladas en la sección 11.1. En futuras versiones se pretende soportar llamadas de eventos
45+
disparadas por interacciones de ejecutantes en el mundo.
Lines changed: 198 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,198 @@
1+
11.1 API Básico
2+
3+
# API Básico de Minecraft Pi
4+
5+
Sonic Pi actualmente soporta las siguientes interacciones básicas con Minecraft Pi:
6+
7+
* Mostrar mensajes de chat
8+
* Establecer la posición del usuario
9+
* Obtener la posición del usuario
10+
* Establecer el tipo de bloque a una coordenada dada
11+
* Obtener el tipo de coordenada a una coordenada dada
12+
13+
Veamos cada una de ellas ahora.
14+
15+
## Mostrnado mensajes de chat
16+
17+
Veamos cuán fácil es controlar Minecraft Pi desde Sonic Pi. Primero,
18+
asegúrate de tener abiertos tanto Minecraft Pi como Sonic Pi al mismo
19+
tiempo y haber entrado a un mundo de Minecraft en el que puedas caminar.
20+
21+
Escribe lo siguiente en un buffer vacío de Sonic Pi:
22+
23+
```
24+
mc_message "Hello from Sonic Pi"
25+
```
26+
27+
Cuando presiones el botón *Run*, verás tu mensaje en la ventana de Minecraft.
28+
¡Felicidades, acabas de escribir tu primer código de Minecraft! ¿fácil, no?
29+
30+
## Estableciendo la posición del usuario
31+
32+
Hagamos un poco de magia. Teletransportémonos a alguna parte. Prueba lo siguiente:
33+
34+
```
35+
mc_teleport 50, 50, 50
36+
```
37+
38+
Cuando le das al botón *Run* - ¡boom! Te teletransporta a otro lugar. Lo más usual
39+
es que sea un lugar en el cielo y que caigas en un lugar seco o en agua. Ahora,
40+
¿cuáles eran esos números `50, 50, 50`? Esas son coordenadas de la posición a la que
41+
te quieres teletransportar. Tommos un rato para explorar qué son esas coordenadas
42+
y cómo trabajan, porque son muy, muy importantes para progrmar Minecraft..
43+
44+
## Coordenadas
45+
46+
Imagina un mapa pirata con una gran `X` marcando la localización de un tesoro.
47+
La localización exacta de `X` puede ser descrita con dos números - cuán lejos en el
48+
mapa de izquierda a derecha y qué tan lejos de arriba a abajo. Por ejemplo `10cm`
49+
cruzando y `8cm` arriba. Estos dos números `10` y `8` son coordenadas. Fácilmente
50+
podrías imaginar describir las localizaciones de otros tesoros con otros pares de
51+
números. Quizás existe un enorme baúl de oro en `2` cruzando y `9` arriba...
52+
53+
Ahora, en Minecraft dos números no son suficientes. También necesitamos saber qué tan
54+
alto nos encontramos. Por lo tanto necesitamos tres números:
55+
56+
* Cómo de lejos de derecha a izquierda en el mundo - `x`
57+
* Cómo de lejos de frente hacia atrás en el mundo - `z`
58+
* Cómo de alto estamos en el mundo - `y`
59+
60+
Una última cosa: típicamente describimos estas coordenadas en este orden:
61+
`x`, `y`, `z`.
62+
63+
## Encontrando tus coordenadas actuales
64+
65+
Juguemos con las coordenadas. Navega a algún lugar bonito en el mapa de
66+
Minecraft y después pásate a Sonic Pi. Ahora pon el siguiente código:
67+
68+
```
69+
puts mc_location
70+
```
71+
Cuando presionas el botón *Run* verás las coordenadas de tu posición actual
72+
en la ventan de la bitácora. Apúntalas, muévete adelante en el mundo y vuelve
73+
a probar. ¡Nota que las coordenadas han cambiado! Ahora, yo recomiendo que
74+
pases algún tiempo repitiendo esto exactamente - muévete un poco en el mundo,
75+
mira las coordenadas y repite. Hazlo hasta que sientas cómo cambian las
76+
coordenadas cuando te mueves. Una vez lo entiendas, programar con el APi de
77+
Minecraft será un paseo.
78+
79+
## ¡Construyamos!
80+
81+
Ahora que ya sabes cómo encontrar la posición actual y teletransportarte
82+
utilizando las coordenadas, tienes entonces las herramientas necesarias
83+
para comenzar a construir cosas en Minecraft con código. Digamos que quieres
84+
convertir en vidrio el bloque en las coordenadas `40`, `50`, `60`. Super fácil:
85+
86+
```
87+
mc_set_block :glass, 40, 50, 60
88+
```
89+
90+
Haha, fué realmente fácil. Para ver tu trabajo, simplemente teletranspórtate
91+
a las cercanías y echa un vistazo:
92+
93+
```
94+
mc_teleport 35, 50, 60
95+
```
96+
¡Ahora mira alrededor y deberías ver un bloque de vidrio! Intenta cambiarlo
97+
a diamante:
98+
99+
```
100+
mc_set_block :diamond, 40, 50, 60
101+
```
102+
103+
Si estabas mirando en la dirección correcta, puedes haberlo visto cambiar.
104+
Es el comienzo de algo excitante...
105+
106+
## Viendo los bloques
107+
108+
Veamos lo último antes de movernos a algo más envolvente. Si damos un set
109+
de coordenadas, podemos preguntarle a Minecraft qué tipo de bloque espeecífico
110+
es. Intentémoslo con el bloque de diamante que acabamos de crear:
111+
112+
```
113+
puts mc_get_block 40, 50, 60
114+
```
115+
116+
Yey! Es `:diamond`. Intenta cambiandolo a glass y preguntar otra vez -
117+
¿dice `:glass`? Estoy seguro que si :-)
118+
119+
## Tipos de bloques disponibles
120+
121+
Antes de ponerte a programar en Minecraft Pi como un obseso, podrías ojear
122+
la siguiente lista de bloques disponibles:
123+
124+
:air
125+
:stone
126+
:grass
127+
:dirt
128+
:cobblestone
129+
:wood_plank
130+
:sapling
131+
:bedrock
132+
:water_flowing
133+
:water
134+
:water_stationary
135+
:lava_flowing
136+
:lava
137+
:lava_stationary
138+
:sand
139+
:gravel
140+
:gold_ore
141+
:iron_ore
142+
:coal_ore
143+
:wood
144+
:leaves
145+
:glass
146+
:lapis
147+
:lapis_lazuli_block
148+
:sandstone
149+
:bed
150+
:cobweb
151+
:grass_tall
152+
:flower_yellow
153+
:flower_cyan
154+
:mushroom_brown
155+
:mushroom_red
156+
:gold_block
157+
:gold
158+
:iron_block
159+
:iron
160+
:stone_slab_double
161+
:stone_slab
162+
:brick
163+
:brick_block
164+
:tnt
165+
:bookshelf
166+
:moss_stone
167+
:obsidian
168+
:torch
169+
:fire
170+
:stairs_wood
171+
:chest
172+
:diamond_ore
173+
:diamond_block
174+
:diamond
175+
:crafting_table
176+
:farmland
177+
:furnace_inactive
178+
:furnace_active
179+
:door_wood
180+
:ladder
181+
:stairs_cobblestone
182+
:door_iron
183+
:redstone_ore
184+
:snow
185+
:ice
186+
:snow_block
187+
:cactus
188+
:clay
189+
:sugar_cane
190+
:fence
191+
:glowstone_block
192+
:bedrock_invisible
193+
:stone_brick
194+
:glass_pane
195+
:melon
196+
:fence_gate
197+
:glowing_obsidian
198+
:nether_reactor_core

0 commit comments

Comments
 (0)