Komenda /fly
- najfajniejsza rzecz,
jaką dziecko może napisać.
Drugi tutorial w serii. Tym razem idziemy o krok dalej niż leczące jabłko - z dzieckiem napiszemy komendę, która pozwala latać w Minecrafcie. Ale tylko niektórym graczom. Przy okazji Wasze dziecko zrozumie coś, czego nie uczy żadna szkoła: jak w kodzie decyduje się, kto co może zrobić.
Jeśli przerobiliście z dzieckiem pierwszy tutorial (leczące jabłko), macie już konto na Claude, pierwszy plugin w szufladzie i dziecko, które raczej chce więcej niż mniej. Czas na krok dalej.
Dzisiaj zrobimy komendę /fly - takie polecenie, które dziecko wpisze na czacie Minecrafta, a gra pozwoli mu unieść się w powietrze i latać. Brzmi jak magia - ale to tylko 10 linijek kodu.
Ale uwaga. W tym tutorialu chodzi o coś więcej niż latanie. Chodzi o to, żeby Wasze dziecko zrozumiało pojęcie, które w świecie komputerów jest bardzo ważne - a którego nie tłumaczy ani szkoła, ani większość kursów programowania dla dzieci. To pojęcie nazywa się uprawnienia.
Co to są uprawnienia? (najpierw dla rodzica)
Pojęcie brzmi poważnie, ale sens jest bardzo prosty. Pokażę to metaforą, która weszła w głowę każdemu dzieciakowi, z którym o tym rozmawiałem.
Uprawnienie to klucz.
Wyobraź sobie blok mieszkalny. W bloku jest 20 mieszkań. Każdy lokator ma klucz tylko do swoich drzwi - nie do sąsiada. Klucz to właśnie uprawnienie. Masz klucz - wchodzisz. Nie masz - nie wchodzisz.
Gdy ty, jako właściciel bloku, mówisz sprzątaczce: „od poniedziałku możesz wchodzić do klatki schodowej, ale nie do mieszkań" - dajesz jej jedno uprawnienie, a innego nie dajesz. To nie jest agresja. To jest zwykłe zarządzanie.
W Minecrafcie działa to dokładnie tak samo. Właściciel serwera (czyli ten, kto go prowadzi) rozdaje graczom „klucze". Jedni dostają klucz do latania, inni nie. Jedni dostają klucz do spawnowania mobów, inni nie. I nasz plugin właśnie takie klucze sprawdza.
Dlaczego to jest ważne? Bo to jest jedna z tych koncepcji, które dziecko wyniesie w głowie do dorosłego życia. Uprawnienia są wszędzie - w systemach bankowych, w aplikacjach firmowych, w każdej stronie, która ma logowanie. Dziecko, które to ogarnia w 11 lat na Minecrafcie, w 25 lat nie będzie miało problemu z projektowaniem systemu dla firmy.
OK, filozofia skończona. Siadamy do klawiatury.
Zacznij nową rozmowę z Claude.
Wejdź na claude.ai i kliknij „New chat" (Nowa rozmowa) w lewym górnym rogu. Zaczynamy od czystej kartki, żeby Claude nie pamiętał jabłka z poprzedniej rozmowy - tym razem robimy coś innego.
Posadź dziecko przy klawiaturze. Ty obok. To dziecko pisze, nie rodzic. Zapamiętaliśmy to z zasady #1 z mojego wpisu o 3 zasadach? Najpierw dziecko mówi swoimi słowami, co chce zrobić.
Zadaj dziecku jedno pytanie: „powiedz mi prostymi słowami, co ma robić nasza komenda". Niech powie coś typu: „gdy wpiszę na czacie /fly, to wystartuję w powietrze, a jak znów wpiszę /fly, to wyląduję". To wystarczy.
Napiszcie pierwszą wiadomość do Claude.
Dziecko pisze prośbę. Oto przykład, ale niech to dostosuje swoimi słowami:
To, co dziecko właśnie powiedziało Claude, jest mądre.
Dziecko nie napisało „zrób mi komendę /fly" (bo to byłoby za łatwe). Napisało dwie rzeczy naraz: co ma robić gdy gracz ma uprawnienie, i co ma robić gdy nie ma. To jest myślenie typu „a co jeśli..." - najważniejszy sposób myślenia w programowaniu.
Jeśli dziecko napisało prośbę bez tego drugiego przypadku, to też jest OK - Claude dopyta, czy uwzględnić uprawnienia. Wtedy dziecko dopowie.
Claude wypluje kod. Przeanalizujcie razem.
Po chwili Claude da Wam kod. Wygląda mniej więcej tak:
Zatrzymajcie się. Nie idźcie dalej, dopóki dziecko nie przeczyta komentarzy (szare linijki zaczynające się od //) i nie powie, co ten kod robi. Tu są 3 zasady, wypisane po ludzku:
- Najpierw sprawdź, czy komendę wpisał gracz, a nie właściciel serwera przez jakiś panel.
- Potem sprawdź, czy gracz ma klucz (uprawnienie) do latania.
- Jeśli oba sprawdzenia przeszły - jeśli aktualnie lata, to wyłącz latanie; jeśli nie lata, to włącz.
player.hasPermission("fly.use")
To właśnie tu program pyta Minecrafta: „czy ten gracz ma klucz o nazwie fly.use?". Jeśli tak - idziemy dalej. Jeśli nie - wyświetlamy komunikat „nie masz dostępu" i kończymy.
Nazwa fly.use to zwykła etykieta - mogliśmy ją nazwać jak chcemy. Wybraliśmy ją, żeby było jasne: to jest klucz do komendy fly, do jej użycia (use). W ogromnych systemach takich kluczy są tysiące i każdy ma podobną nazwę.
Wypytajcie Claude o każdą niejasną rzecz.
Zasada #2 z moich 3 zasad: nie idź dalej, dopóki nie rozumiesz każdej linijki. Tu jest moment. Pytania, które dziecko może (i powinno) zadać Claude:
→ „Co to jest return true?"
→ „Dlaczego ustawiamy allowFlight, a nie flying?"
→ „Co by się stało, gdybym zmienił fly.use na latanie.wlaczone?"
Szczególnie to ostatnie pytanie jest kluczowe. Odpowiedź Claude pokaże dziecku, że nazwa uprawnienia jest dowolna - to tylko etykieta, o której decyduje programista. Dziecko, które to pojmie, zrozumiało mechanikę na poziomie abstrakcyjnym, a nie na pamięć.
Jeśli dziecko nie rozumie linijki o uprawnieniach - NIE IDŹCIE DALEJ.
To jest fundament całego tutorialu. Jeśli dziecko nie chwyci, że program sprawdza „czy gracz ma klucz", nic z reszty nie zadziała w głowie. Niech dopyta Claude. Niech Claude wytłumaczy 3 razy, 5 razy, 10 razy. Po tym, jak dziecko to zrozumie, każdy kolejny system z uprawnieniami na świecie będzie dla niego oczywisty.
Zapytajcie Claude o zmiany i warianty.
Teraz frajda. Dziecko rozumie kod. Niech zmieni coś własnym pomysłem - i sprawdzi, czy umie przewidzieć, co się stanie.
Pomysły na zmiany, które dziecko może poprosić Claude o wprowadzenie:
- „Zmień komunikat z „Wylądowałeś" na „Lot zakończony, dobrego dnia"."
- „Dodaj, żeby podczas startu pojawiały się iskierki wokół gracza."
- „Zrób, żeby komenda /fly działała tylko w nocy."
- „Dodaj, żeby gracz mógł napisać /fly Jan i wtedy Janowi się włączało latanie - ale tylko jeśli ten kto wpisał, ma uprawnienie fly.others."
Szczególnie ostatni pomysł jest fajny, bo dziecko wpada samo na to, że może być drugie uprawnienie - na latanie cudze, nie własne. Gdy dziecko to wymyśla, właśnie zaczyna myśleć jak programista: „a co, jeśli...", „a może powinniśmy także...".
Gratulacje. Dziecko ma już swój drugi plugin.
I zrozumiało coś, czego nie uczy żadna polska szkoła podstawowa: jak w kodzie decyduje się, kto co może zrobić. To nie jest „nauka programowania". To jest umiejętność, która zostaje na całe życie.
Dlaczego dzisiaj nie uruchomimy tego na serwerze.
Tak jak przy leczącym jabłku - w tym tutorialu nie uruchamiamy pluginu na serwerze. Żeby to zrobić, trzeba postawić lokalny serwer Minecraft na komputerze, ustawić system uprawnień, przypisać uprawnienie fly.use konkretnemu graczowi i odpalić całość. To jest bardzo konkretna robota na 20-30 minut - pokazuję ją krok po kroku w moim darmowym ebooku Level 0.
To, co zrobiliście dzisiaj, to jest jedna trzecia pełnej lekcji. Prawie cała część „jak pomyśleć o rozwiązaniu" i „jak porozmawiać z Claude" - gotowe. Brakuje części „jak wrzucić to na serwer i zobaczyć efekt". I to jest dokładnie to, co dostaje się w Level 0.
Co dalej z tą komendą.
Wasza komenda /fly w obecnej postaci to fundament. Ale w prawdziwych serwerach rzadko zostaje ona taka prosta. Oto, co się z nią robi w moim pełnym kursie (Level 1), gdy dziecko jest już gotowe:
- Podstawowa komenda /fly - dzisiejszy tutorial
- Komenda, która działa tylko w określonym świecie - np. tylko w spawn'ie
- Limity czasowe - gracz lata 60 sekund, potem spada
- System grup graczy - VIP lata 2 minuty, zwykły gracz 30 sekund
- Efekty specjalne - cząsteczki, dźwięki, animacje przy starcie i lądowaniu
- Historia użycia - zapamiętywanie, kto kiedy korzystał z komendy
- Zarządzanie uprawnieniami przez panel - właściciel daje/zabiera klucze graczom
To wszystko robimy z dzieckiem w Level 1 - kursie, który idzie na spokojnie przez 4 tygodnie. Nie wszystko na raz. Nie „podręcznikowo". Krok po kroku, z Claude jako partnerem, z moimi komentarzami do każdej lekcji.
Ale tak jak zawsze - najpierw weź ode mnie Level 0 za darmo. Sprawdź, jak wygląda moja metoda w praktyce (kompletny pierwszy plugin działający na serwerze), zobacz, czy dziecko ma ochotę na więcej, a dopiero potem zdecyduj o Level 1.
Odpalcie pierwszy plugin naprawdę na serwerze.
Level 0 to 46-stronicowy PDF z kompletnym pierwszym projektem. Pokazuję krok po kroku, jak postawić serwer Minecraft, wrzucić na niego plugin i zobaczyć efekt w grze. Dokładnie ten brakujący krok, którego nie zrobiliśmy dzisiaj.
Pobierz darmowy Level 0 →Inne wpisy dla rodzica.
5 minut z dzieckiem: jabłko, które leczy
Pierwszy tutorial w serii. Usiądź z dzieckiem, załóżcie konto na Claude i zróbcie razem pierwszy plugin.
Moje 3 zasady używania Claude z 10-latkiem
Po 6 miesiącach uczenia dzieciaków mam 3 proste reguły, których nigdy nie łamię.
System łapiący oszustów na moim serwerze
40 linijek kodu z pomocą Claude. Pokazuję z bliska, jak realnie używam AI na serwerze z 4000 graczy.