Blog / Zrób z dzieckiem
● ZRÓB Z DZIECKIEM

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ć.

⏱ Realnie: 30-45 minut 🎯 Po jabłku z poprzedniego tutorialu 👨‍👩‍👧 Rodzic + dziecko 10-14 lat

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.

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.

1
2 minuty

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.

2
3 minuty

Napiszcie pierwszą wiadomość do Claude.

Dziecko pisze prośbę. Oto przykład, ale niech to dostosuje swoimi słowami:

WIADOMOŚĆ DO CLAUDE przykład
Cześć Claude! Chciałbym zrobić w Minecrafcie komendę /fly, która sprawia, że gracz zaczyna latać. Jak wpisze /fly drugi raz, to przestanie latać. Ale ważne - ma latać tylko gracz, który ma do tego uprawnienie. Jeśli ktoś inny wpisze /fly, a nie ma uprawnienia, ma dostać komunikat „Nie masz dostępu do tej komendy". Napisz kod w Javie dla serwera Paper, wyjaśnij mi każdą linijkę po polsku.
CO TU JEST WAŻNE

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.

3
5 minut

Claude wypluje kod. Przeanalizujcie razem.

Po chwili Claude da Wam kod. Wygląda mniej więcej tak:

FlyCommand.java
public class FlyCommand implements CommandExecutor { @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { // sprawdzamy, czy komende wpisal gracz (a nie np. konsola serwera) if (!(sender instanceof Player player)) { sender.sendMessage("Tylko gracz moze uzyc tej komendy!"); return true; } // sprawdzamy, czy gracz ma klucz do latania if (!player.hasPermission("fly.use")) { player.sendMessage("Nie masz dostepu do tej komendy!"); return true; } // przelaczamy latanie - jesli lata, to przestaje; jesli nie, to zaczyna if (player.getAllowFlight()) { player.setAllowFlight(false); player.sendMessage("Wyladowales."); } else { player.setAllowFlight(true); player.sendMessage("Mozesz teraz latac! Skocz dwa razy."); } return true; } }

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.
LINIJKA, NA KTÓRĄ WARTO ZWRÓCIĆ UWAGĘ

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ę.

4
5 minut

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:

PYTANIA DO CLAUDE przykłady
→ „Co to znaczy, że sender instanceof Player?"
→ „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ęć.

ZATRZYMAJ SIĘ

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.

5
5 minut

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:

POSTĘP NAUKI
  1. Podstawowa komenda /fly - dzisiejszy tutorial
  2. Komenda, która działa tylko w określonym świecie - np. tylko w spawn'ie
  3. Limity czasowe - gracz lata 60 sekund, potem spada
  4. System grup graczy - VIP lata 2 minuty, zwykły gracz 30 sekund
  5. Efekty specjalne - cząsteczki, dźwięki, animacje przy starcie i lądowaniu
  6. Historia użycia - zapamiętywanie, kto kiedy korzystał z komendy
  7. 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.

NASTĘPNY KROK - ZA DARMO

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 →
✓ PDF od razu na maila · ✓ Zero zobowiązań · ✓ Dożywotni dostęp
// czytaj dalej

Inne wpisy dla rodzica.

🍎
ZRÓB Z DZIECKIEM

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.

7 min czytania
🎯
AI + DZIECI

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ę.

7 min czytania
🛡️
Z CRAFTCUBE

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.

8 min czytania