Czym jest Mixin? Modyfikacja kodu bajtowego Minecraft (2026)

Mixin to biblioteka wstrzykiwania kodu bajtowego, która umożliwia modom Minecrafta modyfikowanie klas gry podczas ładowania. Oto co robi i dlaczego mody jej potrzebują.

Frameworksby trqUpdated June 4, 2026
Key takeaways
  • Mixin to biblioteka Java, która poprawia skompilowane klasy Minecrafta podczas ładowania.
  • Mody opisują, gdzie wstrzyknąć kod, a nie jak wygląda plik, dzięki czemu poprawki przetrwają aktualizacje gry.
  • Fabric jest zbudowany na Mixin i stosuje mixiny każdego moda podczas ładowania klas.
  • Nigdy nie instalujesz Mixin samodzielnie; ładowacz go dołącza.

Mixin to biblioteka Java, która umożliwia modyfikowaniu skompilowanych klas Minecrafta podczas ładowania gry, bez edycji oryginalnego kodu źródłowego. Mody piszą małe klasy, które mówią „dodaj ten kod w tym miejscu w tej metodzie gry”, a Mixin wplata je w bytecode w czasie działania. Fabric wykorzystuje go jako podstawowy mechanizm modyfikacji.

Gdzie pasuje Opal

Opal to mod Fabric, więc działa na Mixin pod spodem. Nie musisz instalować Mixin samodzielnie; przewodnik konfiguracji opisuje, jak uruchomić Opal i Fabric.

Jak działa Mixin

Mixin edytuje klasy po ich skompilowaniu, ale przed uruchomieniem przez JVM. Mod wysyła klasę Mixin, która celuje w rzeczywistą klasę gry. Adnotacje na tej klasie oznaczają, gdzie ma zostać wstawiony kod: początek metody, jej koniec, konkretne wywołanie metody lub wartość zwracana. Kiedy Minecraft ładuje klasę docelową, Mixin przepisuje jej bytecode, aby wpleść kod modu.

Ma to znaczenie, ponieważ Minecraft nie został zaprojektowany do rozszerzania. Gra nie posiada oficjalnych punktów wtyczek dla większości zachowań. Mixin daje modom możliwość dostępu, traktując skompilowaną grę jako powierzchnię rozszerzenia.

Dlaczego mody używają go zamiast edytować grę

Dwa powody: kompatybilność i aktualizacje.

Bezpośrednia edycja kodu źródłowego gry oznacza wysyłanie całej zmodyfikowanej kopii, na której nikt inny nie może budować i która przestaje działać w momencie aktualizacji gry. Patch Mixin jest mały i precyzyjny, dzięki czemu wiele modów może poprawiać tę samą grę bez wysyłania pełnego rozwidlenia.

Patch opisują, gdzie wstawić kod, a nie jak wygląda plik, więc mixin napisany dla jednej wersji często nadal działa po aktualizacji gry, o ile docelowa metoda nadal istnieje.

Jak to współgra z Fabric

Fabric opiera się na Mixin. Ładowarka odczytuje konfigurację mixin dla każdego moda, a następnie przekazuje klasy mixin do Mixin, aby zostały zastosowane podczas ładowania klas. Typowy mod Fabric składa się głównie z własnych klas oraz garstki mixinów, które podłączają się do kilku metod gry, które mod musi zmodyfikować.

Popularne punkty wstrzykiwania

AdnotacjaCo robi
@InjectWykonuje Twój kod w wybranym punkcie wewnątrz docelowej metody
@RedirectZastępuje konkretne wywołanie metody w docelowej
@ModifyArgZmienia argument przekazywany do wywołania w docelowej
@ModifyVariableZapisuje lokalną zmienną w trakcie działania metody
@OverwriteZastępuje całą metodę (ostateczność; łatwo się psuje)

@Inject jest domyślnym narzędziem, ponieważ jest najmniej inwazyjny i najbardziej prawdopodobny do przetrwania aktualizacji gry. @Overwrite należy unikać, ponieważ koliduje z każdym innym modem, który modyfikuje tę samą metodę.

FAQ