Przewodnik po poleceniach Minecraft: Jak korzystać z komponentu blocks_attacks
Czy kiedykolwiek marzyłeś o tym, aby móc blokować ataki za pomocą czegoś więcej niż tylko nudnej, starej tarczy? Co by było, gdybyś mógł zrobić kość, która blokuje strzały, lub magiczny zwój, który chroni cię przed eksplozjami? Dzięki komponentowi blocks_attacks w grze Minecraft możesz nadać dowolnemu przedmiotowi możliwość blokowania nadchodzących obrażeń jak tarczy.

Otwiera to niesamowite możliwości dla niestandardowych map, łupów przygodowych, przeklętego sprzętu, a nawet wyzwań PvP. Prawdziwa magia dzieje się, gdy zrozumiesz, jak poprawnie sformatować go w SNBT. Gdy to zrobisz, będziesz tworzyć sprzęt defensywny z pełną kontrolą nad tym, co blokuje, jak wygląda, a nawet jakie wydaje dźwięki.
Co to jest blocks_attacks komponent
Komponent blocks_attacks sprawia, że każdy przedmiot zachowuje się jak tarcza. Oznacza to, że gdy gracz przytrzyma go i przykucnie lub kliknie prawym przyciskiem myszy, aby zablokować, może przechwytywać ataki z przodu i zmniejszać lub negować obrażenia. Możesz kontrolować, jak długo gracz musi trzymać przedmiot, zanim zacznie się blokować, jak długo przedmiot jest wyłączony po trafieniu i jakie rodzaje obrażeń powinien blokować lub ignorować. Pozwala nawet dostosować kąt bloku, ilość obrażeń, jakie przedmiot otrzymuje po użyciu oraz jaki dźwięk jest odtwarzany, gdy blok się wydarzy lub zawiedzie. Możesz tworzyć ultra-specyficzne tarcze, które blokują tylko obrażenia od upadku lub takie, które eksplodują po wyłączeniu. Możliwości są nieograniczone.
Jak napisać strukturę SNBT
Oto jak zbudować komponent. Wszystko to znajduje się w nawiasach kwadratowych po elemencie w poleceniu /daj. Zaczynasz od tagu minecraft:blocks_attacks, a następnie dodajesz jego opcje w nawiasach klamrowych. Struktura może zawierać następujące pola:
block_delay_seconds - czas, w którym musisz przytrzymać przedmiot, zanim rozpocznie się blokowanie
disable_cooldown_scale - jak długo przedmiot jest wyłączony po tym, jak został zniszczony przez atak
damage_reductions - lista zasad określających, jakie rodzaje obrażeń blokować i ile
item_damage - ile obrażeń wyrządza się samemu przedmiotowi, gdy coś blokuje
block_sound - dźwięk, który jest odtwarzany, gdy blok się powiedzie
disabled_sound - dźwięk, który jest odtwarzany, gdy tarcza jest wyłączona
bypassed_by - rodzaje uszkodzeń, które przechodzą i nie mogą być zablokowane


Oto jak to wygląda w czytelnym SNBT:
/give @p stick[minecraft:blocks_attacks={block_delay_seconds:0.2,damage_reductions:[{type:"#minecraft:is_projectile",base:2,factor:0.5}],item_damage:{threshold:4,base:1,factor:0.1},block_sound:"minecraft:item.shield.block"}]
Ten drążek blokuje pociski, ale tylko po przytrzymaniu przez 0,2 sekundy. Blokuje połowę otrzymywanych obrażeń plus 2 dodatkowe punkty. Jeśli otrzymywane obrażenia są większe niż 4, zaczyna uszkadzać drążek. Odtwarza dźwięk blokujący tarczę po udanym bloku. To tylko jedna konfiguracja — możesz dostosować każdą część.

⚠️ Ważne: W przypadku korzystania z funkcji type inside damage_reductions należy użyć tagu poprzedzonego znakiem #.
Sprawianie, że zachowanie tarczy jest wyjątkowe
Dzięki blocks_attacks nie jesteś ograniczony do mechaniki tarczy waniliowej. Możesz tworzyć broń, która może służyć jako narzędzia do parowania lub magiczny sprzęt, który blokuje tylko obrażenia od ognia lub błyskawice. Chcesz dać graczom relikt, który blokuje smoczy oddech, ale nie ataki fizyczne? To proste — wystarczy filtrować według typów obrażeń.
Na przykład, to polecenie tworzy płomień, który blokuje tylko obrażenia od ognia, ma 0,5-sekundowy czas nakręcania i staje się podatny na niemożliwe do zablokowania ataki:
/give @p blaze_rod[minecraft:blocks_attacks={block_delay_seconds:0.5,disable_cooldown_scale:5,damage_reductions:[{type:"#minecraft:is_fire",base:0,factor:1}],bypassed_by:"#minecraft:bypasses_armor"}]

⚠️ Ważne: pole typu wewnątrz damage_reductions akceptuje tylko pojedynczy ciąg tagów, taki jak "#minecraft:is_fire". Tablice z wieloma tagami # są nieprawidłowe. Jeśli chcesz zablokować wiele typów uszkodzeń, utwórz niestandardowy tag w pakiecie danych, który je zawiera.
Połącz tę mechanikę ze sprawdzaniem wyników na tablicy, a otrzymasz przeklęty przedmiot, który blokuje się tylko wtedy, gdy gracz stoi w miejscu. Możesz także stworzyć sprzęt, który blokuje potężne trafienia, ale później się wyłącza, dostosowując pola disable_cooldown_scale i bypassed_by. Ustawienie horizontal_blocking_angle pozwala tworzyć precyzyjne okna parowania — idealne do wyzwań opartych na reakcjach lub walki rytmicznej.
Używanie w niestandardowych przygodach
Załóżmy, że projektujesz arenę, na której gracz musi blokować obrażenia od eksplozji od kul ognia, trotylu lub creeperów – ale nie ataki wręcz. Możesz dać im niestandardowy przedmiot z tarczą z damage_reductions ustawionym tylko dla typów eksplozji, używając tagu #minecraft:is_explosion.
Na przykład możesz dać graczowi Egidę Arcanum, świecący talizman, o którym mówi się, że pochłania fale uderzeniowe od śmiercionośnych wybuchów. Jest bezużyteczny przeciwko strzałom lub mieczom, ale całkowicie neutralizuje obrażenia od eksplozji, gdy jest trzymany. W ten sposób gracz uczy się, jakiego sprzętu używać w różnych fazach walki, dodając strategię i immersję. Możesz nawet sprawić, by NPC upuszczali różne narzędzia obronne, które działają przeciwko określonym elementom, takim jak ogień, pociski lub obrażenia od upadku.
/give @p blaze_rod[minecraft:blocks_attacks={block_delay_seconds:0.4,damage_reductions:[{type:"#minecraft:is_explosion",base:0,factor:1}],item_damage:{threshold:1,base:1,factor:0.2}}]

Komponent blocks_attacks zamienia zwykłe przedmioty w potężne i wszechstronne narzędzia defensywne. Naucz się formatu SNBT, dopasuj do niego niestandardowe dźwięki i zasady zadawania obrażeń, a już nigdy nie spojrzysz na tarcze w ten sam sposób.
