Skip to main content

Mody: co zawierają i jak je tworzyć — Guide

Mody dodają lub zmieniają zawartość i zachowanie w Mindustry — nowe bloki, przedmioty, ciecze, jednostki, sektory, planety i haki skryptowe — umożliwiając tworzenie przez społeczność nowych mechanik, grafik i map. Ta strona podsumowuje, jak są zbudowane mody, co zazwyczaj zawierają, jak je uzyskać lub tworzyć oraz praktyczne wskazówki dotyczące ich używania.

Co może zawierać mod

  • Nowe bloki (mury, wieżyczki, fabryki, bloki energetyczne, przenośniki, bloki o specjalnym przeznaczeniu). Przykładowe typy pokazane w przykładach społecznościowych: niestandardowe mury, płytki ścienne i bloki obronne.
  • Nowe przedmioty i ciecze (zasoby, paliwa, płyny typu custom liquids).
  • Nowe typy pocisków/amunicji i mapowania amunicji dla wieżyczek (możesz dodać lub skopiować pociski i przypisać je do wieżyczek).
  • Nowe jednostki i fabryki jednostek.
  • Nowe planety, sektory i generatory sektorów (w tym ukryte lub stworzone przez społeczność sektory, które zastępują lub rozszerzają sektory generowane proceduralnie).
  • Zasoby wizualne i warstwy rysowania dla bloków (regions, shadows, dodatkowe warstwy rysowania).
  • Skrypty, obsługiwacze i procesory dla niestandardowych zachowań, w tym parsowanie treści Java/JavaScript.
  • Nadpisania po stronie moda i powiązane zachowania bloków, które przekazują obsługę przedmiotów, cieczy i energii do innych kafelków.

Typowe wzorce techniczne i API

  • Rozszerzanie zawartości: Mody zwykle rozszerzają klasy bazowe, aby tworzyć nową zawartość (np. rozszerzenie Wall, żeby zrobić niestandardowy mur, lub GenericCrafter dla fabryk). Przy tworzeniu zawartości konstruktor ustawia nazwę, opisy i flagi takie jak solid.
  • Kopiowanie i modyfikowanie istniejącej zawartości: Możesz kopiować pociski, typy amunicji lub bloki, modyfikować pola (damage, visuals, requirements) i rejestrować je, unikając zmian w oryginałach.
  • Akceptacja i obsługa przedmiotów/cieczy: Bloki mogą nadpisywać acceptItem/handleItem i acceptLiquid/handleLiquid, aby delegować do powiązanych kafelków lub implementować niestandardową logikę routingu. Haki energetyczne mogą podobnie delegować wywołania addPower do powiązanych kafelków.
  • Rysowanie i warstwy: Bloki definiują regions i mogą określać dodatkowe warstwy rysowania (layer2) lub niestandardowe regiony cieni dla wizualizacji.
  • Widoczność budowy i wymagania: Bloki zawierają pola buildVisibility, requirements, buildTime i size, aby kontrolować, kiedy/jak się pojawiają i jak są konstruowane.

Sektory, planety i zawartość mapy

  • Mody mogą dodawać kompletne sektory i planety. Ukryte mapy ataków tworzone przez społeczność są używane przez niektóre modyfikowane kampanie i zastępują sektory generowane proceduralnie w seedach; autorzy często dodają notatki o zasobach i obronie (na przykład mapy z obfitymi Shock Mines lub końcowymi obronami z Plastanium/Fazowy Mur).
  • Planety można udostępnić lub uczynić widocznymi poprzez flagi konsoli podczas testów (np. Planets..accessible = Planets..alwaysUnlocked = true).

Tworzenie modów: języki i narzędzia

  • Java i JavaScript są wspierane przy tworzeniu modów. Workflow moda może używać Javy do zmian rdzeniowych lub skryptów w stylu ContentParser do tworzenia treści przypominającej JSON.
  • Podstawowe zasoby moda: definicje dla items, liquids, blocks, units, bullets, planets/sectors i zlokalizowane pakiety (name/description) są typowe.
  • Początkujący powinni zaczynać od kopiowania i edycji przykładowej zawartości (mury, wieżyczki, pociski) zamiast wymyślać wszystko od zera.
  • Przydatne obszary do nauki modowania: items & liquids, fabryki (GenericCrafter), bloki produkcyjne/elektryczne, części rysowania wieżyczek, efekty/dźwięki/statusy, jednostki/bronie/umiejętności, planety/sektory/generacja oraz znajdowanie klas/pól w kodzie gry.
  • Narzędzia i przepływy: Wielu modderów przełącza się między Java i JavaScript (JavaJS) i używa narzędzi społecznościowych (ACD, ContentParser) gdy to odpowiednie.

Instalacja i dostęp do modów

  • Na Androidzie oficjalne wydania i beta buildy są dostępne przez Google Play (zostań testerem beta, aby otrzymywać najnowsze buildy). Buildy testowe na iOS są dystrybuowane przez TestFlight.
  • Część zawartości modów lub ukryte przedmioty/planety można odblokować lub uczynić widocznymi przez konsolę deweloperską (naciśnij F8) ustawiając flagi widoczności planety lub obiektu na true.
  • Zawartość oficjalnych modów: niektóre mody tworzone przez dewelopera(ów) są dystrybuowane jako „official mods” w społeczności; pojawiają się na listach modów, ale zachowują się jak mody społecznościowe.

Przykładowe fragmenty i wzorce

  • Przypisanie niestandardowego pocisku do tabeli amunicji istniejącej wieżyczki (styl JavaScript):
    • Example: Blocks.duo.ammoTypes.put(Items.pyratite, Blocks.hail.ammoTypes.get(Items.pyratite))
  • Kopiowanie pocisku i zmiana właściwości:
    • Example pattern: bullet = Blocks.hail.ammoTypes.get(Items.graphite).copy(); bullet.damage = 200; Blocks.hail.ammoTypes.put(Items.titanium, bullet)
  • Minimalna definicja niestandardowego muru (w stylu JavaScript):
    • Example pattern shows setting region, health, category, size, requirements, buildTime, icons and description when extending Wall.

Dobre praktyki i normy społeczności

  • Ponownie używaj i kopiuj istniejącą zawartość tam, gdzie to możliwe, aby pozostać kompatybilnym z balansem gry i wizualami.
  • Trzymaj klucze lokalizacyjne w Bundles (block.[name].name i block.[name].description), aby wspierać tłumaczenia.
  • Testuj nowe sektory i planety przy użyciu flag widoczności konsoli przed publikacją.
  • Wnoś raporty błędów lub pull requesty, jeśli potrafisz programować w Javie; dołącz do kanałów społecznościowych w celu tłumaczeń, dyskusji i informacji zwrotnej.
  • Tworząc skomplikowane powiązane bloki, upewnij się, że nadpisane metody właściwie delegują funkcje accept/handle oraz routing mocy do powiązanych kafelków, aby uniknąć przerw w łańcuchach zaopatrzenia.

Gdzie używa się modów

  • Mody zasilać mogą niestandardowe mapy survivalowe, sektory ataku stworzone przez społeczność, nową zawartość kampanii i narzędzia poprawiające komfort pracy twórców.
  • Niektóre oficjalne i społecznościowe mody są pakowane jako dodatki i dystrybuowane przez przeglądarkę modów lub zewnętrzne hostingi.

Ten przewodnik obejmuje typowe struktury i przepływy pracy, na które natkniesz się używając lub tworząc mody do Mindustry: rozszerzanie zawartości, nadpisywanie zasobów i zachowań, dodawanie sektorów/planet oraz praktyczne kroki dotyczące testowania i dystrybucji.

Pages featured in this guide