Ο οδηγός για αρχάριους για μπλοκ εντολών στο Minecraft

Το Minecraft είναι ένας από τους καλύτερους τρόπους για να εισαγάγετε νέους και νέους ανθρώπους στην κωδικοποίηση. Τα μπλοκ εντολών είναι εύκολο να μάθουν και να χρησιμοποιηθούν και ο προγραμματισμός Java είναι πολύ κοντά με τα mods Minecraft και πρόσθετα Bukkit. Είναι επίσης ένα πολύ διασκεδαστικό μέρος για τους έμπειρους κωδικοποιητές.

Τι είναι τα μπλοκ εντολών και γιατί πρέπει να τα χρησιμοποιήσω;

Τα μπλοκ εντολών είναι ένα στοιχείο redstone που εκτελεί εντολές κονσόλας όταν τροφοδοτείται. Οι εντολές της κονσόλας μπορούν να εκτελεστούν από το παράθυρο συνομιλίας προχωρώντας με μια κάθετο, '/'. Οι εντολές χρησιμοποιούνται για την τροποποίηση του κόσμου του παιχνιδιού με τρόπους που δεν είναι εφικτοί με το χέρι και, όταν χρησιμοποιούνται σωστά σε μπλοκ εντολών, δίνουν στο Minecraft τη δική του γλώσσα προγραμματισμού psuedo. Ο κώδικας αποτελείται από δύο πράγματα: τη λογική και την εκτέλεση, και οι περισσότερες γλώσσες προγραμματισμού απαιτούν και οι δύο να γράφονται σε κείμενο. Η κωδικοποίηση Minecraft ακολουθεί διαφορετική διαδρομή. η λογική και η δομή του προγράμματος καθορίζεται από το πού τοποθετούνται τα μπλοκ και τον τρόπο με τον οποίο συνδέονται, πράγμα που σημαίνει ότι μπορείτε να πετάξετε πάνω από τον κόσμο σας και να δείτε τα διάφορα μέρη του προγράμματός σας να σχεδιάζονται μπλοκ ανά μπλοκ.

Εντάξει, λοιπόν Πώς μπορώ να ξεκινήσω;

Αυτός ο οδηγός χρησιμοποιεί τα νέα μπλοκ εντολών στην έκδοση 1.9. Θα λειτουργήσει σε 1.8, αλλά μπορεί να απαιτεί λίγο περισσότερη εμπειρία.

Ανοίξτε έναν νέο κόσμο Minecraft (το Superflat λειτουργεί καλύτερα), βεβαιωθείτε ότι βρίσκεστε σε λειτουργία Creative και πατήστε το κουμπί “/”. Αυτό είναι το παράθυρο εντολών, το οποίο είναι το ίδιο με το παράθυρο συνομιλίας, εκτός από το ότι ξεκινά με ένα '/' και οτιδήποτε ξεκινά με την κάθετο είναι μια εντολή. Η πρώτη εντολή που μπορείτε να εκτελέσετε είναι

/ give @p minecraft: command_block

Ας το καταρρίψουμε. Η εντολή "/ give" βάζει στοιχεία σε ένα απόθεμα παικτών και έχει δύο ορίσματα: το πρόγραμμα αναπαραγωγής και το στοιχείο που πρέπει να δώσει. Το "@p" είναι ένας επιλογέας στόχου. Ο επιλογέας "@p" επιλέγει τον πλησιέστερο παίκτη. Εναλλακτικά, θα μπορούσατε επίσης να χρησιμοποιήσετε το όνομα χρήστη Minecraft, αλλά εάν εκτελέσετε μια εντολή από την κονσόλα, θα είστε πάντα ο πλησιέστερος παίκτης. Οι άλλοι επιλογείς στόχου είναι "@a" για όλους τους παίκτες, "@r" για έναν τυχαίο παίκτη και "@e" θα στοχεύουν όλες τις  οντότητες. Οι οντότητες περιλαμβάνουν όλα όσα δεν είναι μπλοκ, όπως τέρατα, χιονόμπαλες, ζώα και βέλη.

Η εντολή πρέπει να εκτελεστεί με επιτυχία και να σας δώσει ένα νέο μπλοκ. Τοποθετήστε το οπουδήποτε στο έδαφος για να ξεκινήσετε.

Μπορείτε να δείτε ότι το μπλοκ εντολών δείχνει προς την κατεύθυνση που το τοποθετείτε, σαν χοάνες ή φούρνους. Αυτό θα είναι σημαντικό αργότερα.

Κάντε δεξί κλικ στο μπλοκ (ή χρησιμοποιήστε οποιοδήποτε πλήκτρο χρησιμοποιείτε για να αποκτήσετε πρόσβαση σε πίνακες και φούρνους χειροτεχνίας) και θα σας υποδεχτεί το μπλοκ εντολών GUI.

Φαίνεται λίγο τρομακτικό στην αρχή, αλλά μην ανησυχείτε, όλα αυτά τα κουμπιά κάνουν κάτι. Το κουμπί που λέει "Impulse" αλλάζει τον τύπο του μπλοκ εντολών. Υπάρχουν τρεις διαφορετικοί τύποι μπλοκ εντολών:

  • Impulse, που εκτελεί εντολές στην  άνοδο του ρεύματος redstone. Αυτό σημαίνει ότι όταν τροφοδοτούνται, θα εκτελούν την εντολή τους μία φορά και θα σταματήσουν, ακόμα και αν συνεχίσουν να τροφοδοτούνται. Αυτή είναι η προεπιλεγμένη ρύθμιση και είναι η μόνη διαθέσιμη στο 1.8
  • Επανάληψη, που εκτελεί εντολές σε κάθε τσεκ που τροφοδοτούνται. Ένα τσιμπούρι είναι σαν ένα πλαίσιο και πολλές εντολές μπορούν να εκτελεστούν σε ένα μόνο τικ, έως και 20 φορές το δευτερόλεπτο.
  • Αλυσίδα, η οποία εκτελείται μόνο εάν το μπλοκ εντολών που δείχνει προς αυτήν έχει εκτελέσει την εντολή του. Αυτά θα λειτουργούν με τη σειρά, το ένα μετά το άλλο, σε ένα μόνο τσιμπούρι, εξ ου και το όνομα «Αλυσίδα».

Το κουμπί που λέει "Χωρίς όρους" εμποδίζει το μπλοκ εντολών να ελέγξει εάν το προηγούμενο μπλοκ στην αλυσίδα έχει εκτελεστεί με επιτυχία. Η άλλη επιλογή, "Υπό όρους", εκτελείται μόνο εάν το προηγούμενο μπλοκ δεν έφερε σφάλματα.

Το κουμπί που λέει "Needs Redstone" εκτελεί την εντολή μόνο εάν το μπλοκ εντολών είναι ενεργοποιημένο. Η άλλη επιλογή, "Πάντα ενεργή" εμποδίζει το μπλοκ εντολών να ελέγξει εάν είναι ενεργοποιημένο και απλά υποθέτει ότι είναι. Αυτή η επιλογή δεν πρέπει να χρησιμοποιείται με μπλοκ εντολών Impulse καθώς τα καθιστά άχρηστα.

Ας φτιάξουμε μια αλυσίδα, το πρώτο μας «σενάριο». Τοποθετήστε ένα μπλοκ εντολών αλυσίδας ή δύο στραμμένα προς το πρώτο μπλοκ εντολών ώθησης, όπως αυτό:

Βεβαιωθείτε ότι έχετε ρυθμίσει τα μπλοκ αλυσίδας σε "Πάντα ενεργό". Διαφορετικά, θα πρέπει να τοποθετήσουμε μπλοκ redstone ή ρεύμα, το οποίο καταλαμβάνει περιττό χώρο. Τοποθετήστε ένα κουμπί στο μπλοκ εντολών ώθησης στην αρχή της αλυσίδας και πατήστε το.

Τίποτα δε θα συμβεί. Αυτό συμβαίνει επειδή δεν τις έχουμε συμπληρώσει ακόμη με εντολές! Κάντε δεξί κλικ στο μπλοκ ώθησης για να το επεξεργαστείτε και τοποθετήστε μια βασική εντολή

πείτε αρχή

Παρατηρήστε πως δεν χρειαζόμαστε κάθετο στα μπλοκ εντολών. Μπορείτε να χρησιμοποιήσετε ένα εάν θέλετε, αλλά είναι περιττό. Η εντολή "/ say" παίρνει ένα όρισμα, κείμενο και το λέει από την άποψη του όποιος το εκτελεί. Εάν το εκτελέσετε, θα εμφανίζεται ως «μήνυμα» όπως και η κανονική συνομιλία. Εάν εκτελείται από ένα μπλοκ εντολών, θα είναι "[@] μήνυμα". Εναλλακτικά, υπάρχει το "/ Tell", το οποίο παίρνει ένα επιχείρημα παίκτη, και το "/ Tellraw" που μοιάζει με "/ Tell" εκτός από το ότι χρειάζεται το JSON αντί του κειμένου.

Μπορείτε να συμπληρώσετε τα μπλοκ εντολών αλυσίδας για να γράψετε περισσότερα πράγματα για συνομιλία. Θα εκτελεστούν με τη σειρά, χωρίς καθυστέρηση, στο ίδιο τικ. Εάν θέλετε να τα εκτελέσετε με καθυστέρηση, θα χρειαστεί να τα ρυθμίσετε με επαναληπτικά redstone. Μαζί με το "/ say", υπάρχουν και άλλες βασικές εντολές που κάνουν περισσότερα πράγματα, όπως "/ give", που δίνει στοιχεία, "/ effect", που εφαρμόζουν εφέ φίλτρου, "/ setblock" και "/ fill" που τροποποιούν τον κόσμο σας , και πολλοί άλλοι. Μια μεγάλη βάση δεδομένων εντολών μπορεί να βρεθεί στο Minecraft Wiki, μαζί με άλλο χρήσιμο περιεχόμενο.

Επιλογείς στόχου

Οι επιλογείς στόχου "@p" είναι στην πραγματικότητα πολύ πιο ισχυροί από ό, τι φαίνονται με την πρώτη ματιά. Για παράδειγμα, εάν θέλαμε να στοχεύσουμε όλες τις οντότητες, θα χρησιμοποιούσαμε το "@e", αλλά αν θέλαμε να στοχεύσουμε μόνο Zombies, θα χρησιμοποιούσαμε

@e [type = Zombie]

Παρατηρήστε τις αγκύλες μετά το "@e". Μέσα σε αυτές τις αγκύλες υπάρχουν επιχειρήματα επιλογής στόχων , μια πλήρης λίστα των οποίων μπορεί να βρεθεί στο Minecraft Wiki. Το όρισμα «τύπος» επιλέγει μόνο οντότητες ενός συγκεκριμένου τύπου, με αυτό το «Zombie». Εάν θέλαμε να στοχεύσουμε όλα τα Zombies εντός 10 μπλοκ από το μπλοκ εντολών, θα χρησιμοποιούσαμε

@e [type = Zombie, r = 10]

Με το «r» να είναι ένα επιχείρημα ακτίνας. Μπορείτε επίσης να στοχεύσετε ανά τοποθεσία, όνομα, ομάδα και βαθμολογία, μεταξύ άλλων.

Αλυσίδες Εντολές

Ας παρουσιάσουμε μια άλλη εντολή που δεν μοιάζει με τις άλλες. Η εντολή είναι "/ εκτελέστε". Αυτή η εντολή παίρνει μια άλλη εντολή ως είσοδος και την εκτελεί από την άποψη μιας άλλης οντότητας. Η δομή του "/ εκτελέστε" είναι

/ εκτελέστε την εντολή @target XYZ /

Τα X, Y και Z είναι συντεταγμένες για την εκτέλεση της εντολής από. Αυτό δεν έχει σημασία με τις περισσότερες εντολές, αλλά έχει μεγάλη σημασία αν χρησιμοποιείτε  σχετική τοποθέτηση. Μια σχετική θέση ξεκινά με "~" και ακολουθείται από έναν θετικό ή αρνητικό αριθμό που δείχνει πόσα μπλοκ από την προέλευση, το οποίο δηλώνεται με "~ ~ ~". Έτσι, για παράδειγμα, αν θέλαμε να τρέξουμε το "/ say" σαν να μιλούσε ένας χωρικός, μπορούμε να ρυθμίσουμε την εντολή ως εξής:

/ εκτελέστε @e [type = Villager] ~ ~ ~ / say Hey

Αυτή η εντολή θα προκαλέσει ένα μήνυμα σε όλους, από κάθε χωριό. Αυτό δεν είναι βέλτιστο εάν έχουμε περισσότερα από ένα άτομα ή περισσότερους από έναν χωρικούς, οπότε ας διαμορφώσουμε ξανά αυτήν την εντολή:

/ εκτελέστε @a ~ ~ ~ / εκτελέστε @e [type = Villager, c = 1] ~ ~ ~ / tell @p Hey

Αυτό είναι πολύ πιο περίπλοκο από το πρώτο και περιλαμβάνει την αλυσίδα δύο εντολών «/ εκτελέστε» μαζί. Η πρώτη "/ εκτέλεση" της εντολής εκτελείται σε κάθε παίκτη, στη συνέχεια ο δεύτερος ελέγχει για ακριβώς έναν Villager που βρίσκεται κοντά και έπειτα ο Villager να πει στον πλησιέστερο παίκτη "Hey". Αυτό διασφαλίζει ότι μόνο ένας χωρικός μιλάει ανά άτομο.

Μαθαίνοντας τη σύνταξη

Υπάρχουν σίγουρα πολλές εντολές στο Minecraft που η καθεμία έχει τη δική της σύνταξη. Τα μενού βοήθειας για κάθε εντολή συνήθως σας λένε γρήγορα ποια επιχειρήματα χρειάζεται η εντολή και το Minecraft Wiki έχει μια λεπτομερή λίστα με το τι κάνει ο καθένας. Δεν είναι τόσο πολύ να γνωρίζουμε τι ακριβώς κάνει κάθε εντολή, αλλά να ξέρεις πώς να τις χρησιμοποιείς μαζί. Το Minecraft είναι ένα παιχνίδι, οπότε το παιχνίδι με τις εντολές είναι μέρος της διαδικασίας μάθησης