Sonic Pi ondersteunt momenteel de volgende fundamentele interacties met Minecraft Pi:
Laten we deze op hun beurt eens bekijken .
Laten we eens kijken hoe makkelijk het is om Minecraft Pi vanuit Sonic Pi te controllen. Controleer eerst of u zowel Minecraft Pi en Sonic Pi open hebt staan en ook zorg ervoor dat u een Minecraft wereld hebt ingevoerd en je hier kan in rondlopen.
Voer de volgende code in een verse Sonic Pi-buffer:
mc_message "Hello from Sonic Pi"
Wanneer je de Afspeel knop indrukt zal je je berichtje openspringen op het Minecraft-scherm. Gefeliciteerd, hebt u uw eerste Minecraft code geschreven! Dat was niet moeilijk.
Nu gaan we wat magie gebruiken. Laten we onszelf naar ergens anders teleporteren. Probeer het volgende:
mc_teleport 50, 50, 50
Wanneer je de * afspeel* knop indrukt - bam! Je bent inmiddelijk op een nieuwe plek. Waarschijnlijk ergens in de lucht en dat je op de grond of in het water viel. Nu, wat zijn die nummers : ‘50, 50, 50’? Dat zijn de coördinaten van de plaats waarnaartoe je probeerde te teleporteren. Neem de tijd om coördinaten te verkennen en wat deze zijn en hoe ze werken.Dit is echt belangrijk om Minecraft te kunnen programmeren.
Stel je een piraten kaart voor met een grote X
om de locatie van één of andere schat te markeren. De exacte locatie van de X
kan beschreven worden met twee cijfers- hoe ver van links naar rechts op de kaart en hoe ver op de kaart van beneden naar boven in de kaart. Bijvoorbeeld 10cm
over en 8cm
naar omhoog. Deze twee nummers 10
en 8
zijn coördinaten. Je kan je goed voorstellen hoe andere locaties van schatten met andere cijfercombinaties worden beschreven. Misschien is er een grote kist met goud aan 2
en 9
omhoog…
Nu, twee getallen zijn in Minecraft niet genoeg. We willen ook weten hoe hoog we zitten. Daarvoor hebben we drie getallen nodig:
Nog even dit - meestal schrijven we deze coördinaten in deze volgordex
, y
, z
.
Laten we een spelletje doen met de coördinaten. Navigeer naar een mooie plek in de Minecraft kaart en schakel om naar Sonic Pi. Voer nu de volgende gegevens in:
puts mc_location
Wanneer je op deAfspeel knop drukt zie je de coördinaten van uw huidige positie weergegeven worden in het logboekvenster. Neem hier nota van, ga vooruit in de wereld en probeer het dan nog eens. Merk op hoe de coördinaten veranderen! Nu, adviseer ik je om dit even te herhalen - beweeg een beetje in de wereld, neem een kijkje naar de coördinaten en herhaal opnieuw. Doe dit tot je er een zeker gevoel voor begint te krijgen, hoe deze coördinaten veranderen wanneer je je verplaatst. Zodra je hebt begrepen hoe deze coördinaten werken, zal het programmeren met de Minecraft-API peanuts worden.
Nu je de huidige positie weet te vinden en je kan teleporteren met behulp van coördinaten, heb je alle hulpmiddelen die die je nodig hebt om met code te gaan beginnen bouwen in Minecraft. Stel dat je het blok met coördinaten 40
, 50
, 60
van glas wordt. Dat is nu super eenvoudig:
mc_set_block :glass, 40, 50, 60
Haha, het was echt zo makkelijk. Om je werkstuk te zien, teleporteer je je in de buurt en bekijk deze nu:
mc_teleport 35, 50, 60
Draai nu even rond en je zou je glazen blok moeten zien staan! Probeer deze nu in diamant te veranderen:
mc_set_block :diamond, 40, 50, 60
Als je goed keek, zag je het met jij eigen ogen veranderen! Dit is het begin van iets groots…
Nog een laatste, voor we ons in iets anders engageren. Met een set van coördinaten kunnen we Minecraft vragen, welk type een bepaalde blok is. Laat ons dit proberen met onze zopas aangemaakte blok:
puts mc_get_block 40, 50, 60
Jeuj! Het is :diamond
.Probeer deze nu terug te veranderen naar glas en vraag het dan opnieuw. Zegt het nu :glass
? Ik ben zeker van wel :-)
Voor je helemaal loos gaat met het coderen van Minecraft Pi, moet je misschien deze lijst met beschikbare bloktypes even bekijken:
:air
:stone
:grass
:dirt
:cobblestone
:wood_plank
:sapling
:bedrock
:water_flowing
:water
:water_stationary
:lava_flowing
:lava
:lava_stationary
:sand
:gravel
:gold_ore
:iron_ore
:coal_ore
:wood
:leaves
:glass
:lapis
:lapis_lazuli_block
:sandstone
:bed
:cobweb
:grass_tall
:flower_yellow
:flower_cyan
:mushroom_brown
:mushroom_red
:gold_block
:gold
:iron_block
:iron
:stone_slab_double
:stone_slab
:brick
:brick_block
:tnt
:bookshelf
:moss_stone
:obsidian
:torch
:fire
:stairs_wood
:chest
:diamond_ore
:diamond_block
:diamond
:crafting_table
:farmland
:furnace_inactive
:furnace_active
:door_wood
:ladder
:stairs_cobblestone
:door_iron
:redstone_ore
:snow
:ice
:snow_block
:cactus
:clay
:sugar_cane
:fence
:glowstone_block
:bedrock_invisible
:stone_brick
:glass_pane
:melon
:fence_gate
:glowing_obsidian
:nether_reactor_core