Nasz Discord Znajdź swoją ekipę do gry. Dołącz
Discord
Nasze newsy Więcej nas w Twoim Google. Ustaw nas jako preferowane źródło. Dodaj w Google
Zaawansowane pistony
Wiki / Redstone

Zaawansowane pistony

Pistony to najprostszy komponent redstone'a, prawda? Sygnał wchodzi, piston się wysuwa. Sygnał gaśnie, sticky piston cofa blok. Tyle na poziomie podstawowym. Ale za tą prostotą kryje się stos zaawansowanych mechanik: quasi-connectivity sprawia, że piston reaguje na sygnał podany do bloku NAD nim, bloki szlamu tworzą ruchome struktury, a 0-tick pulsing pozwala robić rzeczy, które teoretycznie nie powinny działać. Ten przewodnik jest dla tych, którzy opanowali już podstawy i chcą zrozumieć głębokie mechaniki pistonowe.

1. Quasi-connectivity (QC)

Quasi-connectivity to mechanika specyficzna dla Java Edition, która często zaskakuje (i frustruje) nowych graczy. Piston reaguje na sygnały redstone podane nie tylko bezpośrednio do niego, ale też do bloku bezpośrednio NAD nim. Innymi słowy: piston "widzi" sygnał w pozycji, w której byłaby jego głowa, gdyby go tam nie było.

Wyobraź sobie: stawiasz piston, a nad nim (1 blok wyżej) umieszczasz blok z pyłem redstonowym. Pył jest zasilony - piston się wysuwa, mimo że żadne redstone nie dotyka go bezpośrednio. To jest quasi-connectivity.

Dlaczego to istnieje?

To bug, który stał się feature'em. W oryginalnym kodzie Minecraft pistony dzieliły kod aktywacji z drzwiami (które są dwublokowe). Drzwi muszą reagować na sygnał podany do górnej lub dolnej połowy. Piston "odziedziczył" to zachowanie - reaguje na sygnał podany do "górnej połowy", która fizycznie nie istnieje. Mojang nigdy tego nie naprawił, bo zbyt wiele układów redstone'owych na tym polega.

Java vs Bedrock

Quasi-connectivity istnieje TYLKO w Java Edition. Na Bedrock Edition pistony reagują wyłącznie na sygnał podany bezpośrednio do nich. To jedna z poważniejszych różnic między edycjami - układy zaprojektowane z użyciem QC na Java nie będą działać na Bedrock i odwrotnie. Jeśli budujesz tutoriale lub układy do udostępniania, zawsze zaznacz, na którą edycję są przeznaczone.

Pułapka QC: piston "nie reaguje"

QC ma irytujący efekt uboczny. Piston aktywowany przez QC (sygnał nad nim) zmienia swój stan wewnętrzny, ale NIE aktualizuje się fizycznie, dopóki nie otrzyma "block update" (np. zmiana sąsiadującego bloku). Efekt: piston "powinien" być wysunięty, ale wizualnie tego nie widać. Postawisz blok obok - piston nagle się wysuwa. Usuniesz blok - piston się cofa (i od razu wysuwa ponownie, bo QC nadal działa). To zachowanie jest frustrujące, ale zrozumiałe, gdy wiesz o BUD.

2. BUD switch (Block Update Detector)

BUD to układ wykrywający zmiany bloków w swoim sąsiedztwie. Wykorzystuje quasi-connectivity: piston jest w stanie "powinien być aktywny, ale czeka na update". Kiedy obok pistonu zmieni się jakikolwiek blok (ktoś postawi kamień, urośnie roślina, woda popłynie), piston dostaje block update i się wysuwa. Tak BUD wykrywa zmianę.

Prosty BUD switch:

  1. Postaw sticky piston skierowany w górę.
  2. NAD pistonem (2 bloki nad ziemią) postaw blok i na nim połóż redstone dust.
  3. Zasil pył (np. dźwignią lub repeaterem) - piston się wysuwa dzięki quasi-connectivity.
  4. Teraz ODŁĄCZ zasilanie pyłu - piston powinien się cofnąć, ale z powodu QC "pamięta" stary stan.
  5. Piston jest teraz w stanie BUD: jego stan wewnętrzny mówi "cofnij się", ale nie dostał jeszcze block update.
  6. Postaw lub zniszcz dowolny blok obok pistonu - piston się cofnie (i może od razu się wysunąć ponownie). Ten ruch generuje impuls, który możesz wychwycić comparatorem lub observerem.

BUD switch był głównym sposobem wykrywania zmian bloków przed dodaniem Observera w wersji 1.11. Dziś Observer zastąpił większość zastosowań BUD, ale BUD nadal ma przewagę w jednym: wykrywa zmiany w większym zasięgu (każdy blok sąsiadujący, w tym po przekątnej) i reaguje na typy zmian, na które Observer nie reaguje (np. zmiana stanu gry).

Wskazówka: Jeśli chcesz wykrywać zmiany bloków i nie potrzebujesz zaawansowanych mocy BUD, używaj Observera - jest prostszy, bardziej niezawodny i działa na obu edycjach. BUD zostaw dla sytuacji, gdy Observer nie wystarczy (np. wykrywanie chunk loadingu lub specyficznych zmian stanów gry).

3. Bloki szlamu i miodu

Bloki szlamu (slime block) i bloki miodu (honey block) "przylepiają" sąsiadujące bloki do pistonu. Kiedy piston przesuwa blok szlamu, ten ciągnie za sobą wszystkie przyłączone bloki (do limitu 12). To fundamentalna mechanika latających maszyn i zaawansowanych konstrukcji pistonowych.

Slime Block

  • Przylepia się do WSZYSTKICH bloków oprócz: glazed terracotta, obsydianu, bedrocku, crying obsydianu, anchor, enchanting table, ender chest i bloków miodu.
  • Moby i gracze odbijają się od niego jak na trampolinie (redukuje fall damage do 0).
  • Crafting: 9x slimeball (ze slimów w bagnach lub deep slime chunks).

Honey Block

  • Przylepia się do tych samych bloków co blok szlamu, ALE nie przylepia się do samego bloku szlamu (i odwrotnie). Ta właściwość jest kluczowa - pozwala budować struktury, w których część bloków porusza się z pistonem, a część nie.
  • Spowalnia moby i graczy chodzących po nim. Gracze nie mogą skakać na pełną wysokość na honey blocku.
  • Crafting: 4x honey bottle (z ulów, zbieranych dispenserem).

Slime vs Honey - kiedy którego?

Używaj obu w jednej konstrukcji: slime block łączy jedną grupę bloków, honey block inną. Grupy nie przylepiają się do siebie, więc możesz mieć ruchome części, które poruszają się niezależnie. W latających maszynach ta właściwość pozwala budować dwukierunkowe maszyny, gdzie jeden piston pcha grupę bloków szlamu w przód, a drugi grupę bloków miodu w tył.

Bloki odcinające (immovable)

Niektóre bloki nie mogą być przesunięte przez piston: obsydian, bedrock, enchanting table, ender chest, anvil (w Java), beacon, grindstone. Te bloki działają jako "hamulce" w latających maszynach - umieszczone na ścieżce maszyny zatrzymują ją. Glazed terracotta może być przesunięta, ale nie "przylepia się" do slime/honey blocków - idealna, gdy chcesz przesuwać blok pistonem, ale nie chcesz, żeby ciągnął za sobą sąsiadów. Sticky piston nie przyciągnie jej jednak z powrotem.

4. Limity przesuwania

Piston może przesunąć maksymalnie 12 bloków jednocześnie. Jeśli przed pistonem stoi więcej niż 12 bloków (wliczając te przyczepione przez slime/honey), piston się nie wysuwa - nie może pokonać oporu. Ten limit dotyczy zarówno zwykłych, jak i sticky pistonów.

Jak obejść limit 12 bloków?

  • Wieloetapowe przesuwanie - użyj dwóch pistonów w sekwencji. Pierwszy piston przesuwa pierwsze 12 bloków, potem drugi piston (aktywowany z opóźnieniem przez repeater) przesuwa następne 12.
  • Odcinanie slime blockami - jeśli chcesz przesunąć 5 bloków, ale są połączone slime blockami z kolejnymi 20, użyj glazed terracotta lub obsydianu jako "przerywacza" między grupami.
  • Latające maszyny - flying machine obchodzi limit, bo porusza się etapami - w każdym kroku przesuwa maksymalnie 12 bloków, ale potem "przeładowuje" się i przesuwa kolejne.

Block dropping

Sticky piston cofający się zbyt szybko (1 tick impulsu) nie zdąży cofnąć bloku - zostawia go na miejscu ("block dropping"). W Java Edition ten glitch jest powszechnie używany jako feature: sticky piston z 1-tickowym pulsem wysuwa blok i zostawia go (jakby był zwykłym pistonem), ale następnym impulsem może go cofnąć. Przydatne w drzwiach pistonowych i flip-flopach.

5. 0-tick pulsing

0-tick pulse to impuls trwający 0 redstone ticków - aktywacja i dezaktywacja pistonu w tym samym game ticku. W teorii nie powinno to działać, ale silnik Minecrafta przetwarza redstone w określonej kolejności w ramach jednego ticka, co sprawia, że piston zdąży się wysunąć i cofnąć "natychmiast".

Efekty 0-tick pulsu na piston:

  • Natychmiastowe wysuwanie i cofanie - piston wysuwa się i cofa w jednym ticku. Blok jest przesunięty, ale animacja jest prawie niewidoczna.
  • Duplikowanie roślin (kontrowersyjne) - w starszych wersjach 0-tick pulsing pozwalał duplikować trzcinę, kaktusy i bambusa. Mojang naprawił większość tych glitchy, ale niektóre nadal działają w specyficznych warunkach.
  • Superszybkie farmy - rośliny w farmach używających 0-tick pulsing rosły natychmiast (bez bone mealu). Większość tych farm została znerfowana w 1.16+.
Uwaga: 0-tick pulsing to zachowanie na granicy glitcha i feature'a. Mojang aktywnie naprawia najgorsze przypadki (duplikowanie itemów), ale zachowuje niektóre aspekty, bo społeczność ich używa. Na serwerach multiplayer 0-tick farmy są często zakazane, bo mogą powodować lag. Nie buduj niczego krytycznego w oparciu o 0-tick - może zostać naprawione w następnej aktualizacji.
Wskazówka: Jeśli chcesz naprawdę zrozumieć zaawansowane zachowania pistonów, polecamy eksperymentowanie w trybie kreatywnym z superpłaskim światem. Postaw piston, podłącz redstone i testuj różne konfiguracje. Żadna ilość teorii nie zastąpi praktycznego doświadczenia. Więcej o automatyzacji z pistonami w poradniku automatycznych farm.

Powiązane poradniki

SERWER MINECRAFT.PL

Dołącz do gry

Wybierz swoją edycję Minecrafta i dodaj serwer w grze.

Edycja gry

  1. Uruchom Minecraft: Java Edition.
  2. Otwórz Tryb wieloosobowy (Multiplayer), a potem Dodaj serwer.
  3. Wklej minecraft.pl w polu adresu i kliknij Gotowe.
  4. Wybierz serwer na liście i kliknij Dołącz.
Zobacz opis serwera i instrukcję