logo
pl
Polski

Producent Framework Mod

Twórca: Digus
Zaktualizowano:2025-04-08 05:05:37
67KB
mcafee
Uwierzytelnianie
Zaufane przez 200,000,000+ użytkowników

Moduły wymagane wstępnie

zostanie automatycznie zainstalowany po użyciu Producent Framework Mod

O tym modzie

Framework do dodawania niestandardowych reguł do tworzenia obiektów. Obsługuje interfejsy pakietów kodu i treści.
Cel:
Aby stworzyć prosty sposób dodawania nowych zasad produkcji do gry.

Instalacja:

Dziennik zmian:
1.9.8
  • Naprawiono błąd pojawiający się, gdy najechano kursorem na element wygenerowany przez PFM, w którym brakowało klucza tłumaczenia z powodu usunięcia pakietu zawartości.

1.9.7
  • Naprawiono sytuację, gdy wejście nie było obiektem lub maszyna była niewidoczna. W takim przypadku nie można było uruchomić żadnej innej łatki mod.
1.9.6
  • Wyłącz funkcję źródła światła, która nie działała w wersji SV 1.6.9
  • Naprawiono wyjątek występujący przy ładowaniu producentów bez nazwy.
1.9.5
  • Naprawiono błąd odwołania zerowego z poprzedniej wersji.
1.9.4
  • Francuski i18n - (DziękiCaranud)
  • Napraw maszyny waniliowe z funkcją ShowNextIndexWhileWorking, które nie wyświetlają odpowiedniej ramki podczas ładowania reguły PFM, nawet jeśli nie mają nadpisującej jej konfiguracji ProducerConfig
  • Napraw maszyny waniliowe, na których ClearContentOvernightCondition nie czyściło się przez noc, jeśli miały skonfigurowaną opcję NoInputStartMode.
1.9.3
  • Napraw zachowanie leja w maszynach vanilla i PFM.
  • Usuń domyślną konfigurację PFM dla niektórych standardowych maszyn, która może powodować nieoczekiwane zachowanie.
  • Naprawiono pole grzybowe i dziennik, które nie dawały wystarczającego doświadczenia, jeśli dodano do nich pewne typy konfiguracji.
  • Wszystkie przedmioty rzemieślnicze o określonym zachowaniu zostały oznaczone jako nieobsługiwane. (np. kuźnia, roślina doniczkowa,...)
  • Naprawiono błąd odwołania zerowego występujący, gdy w grze załadowano obiekt o nazwie zerowej.
1.9.2
  • Naprawiono błąd powodujący, że używanie przedmiotu w postaci magicznego pyłu na maszynach nie powodowało jego zużycia.
  • Naprawiono ostrzeżenia pojawiające się podczas tworzenia kolorowych obiektów i pochodni.
  • Możliwa naprawa nieprawidłowych dźwięków podczas automatyzacji.
1.9.1
  • Naprawiono błąd powodujący, że animacja nie była wyświetlana poprawnie w przypadku tekstur o szerokości innej niż szerokość pliku bigcraftable wersji Vanilla.
1.9.0
  • Zautomatyzuj obsługę komputerów z systemem Vanilla i maszyn z łatkami zawartości bez konieczności korzystania z PFMAutomate
  • Nowa właściwość umożliwiająca włączenie lub wyłączenie Pyłu Wróżek na komputerach.
  • Wsparcie dla zasobników
  • Naprawiono błąd uniemożliwiający zastosowanie Fairy Dust na maszynach PFM po wersji SV 1.6
  • Naprawiono ładowanie reguł przed elementami.
  • Zmień niektóre komunikaty ostrzegawcze, aby użytkownicy nie zgłaszali ich jako błędów.
  • Naprawiono błąd, w wyniku którego przedmioty, których stos wynosił 0, pozostawały w ekwipunku.
  • Wiele poprawek zużycia paliwa.
1.8.0
  • Aktualizacja moda, aby był kompatybilny ze Stardew Valley 1.6
  • Obsługa identyfikatorów kwalifikowanych elementów we wszystkich identyfikatorach.
  • Nowe właściwości dla identyfikatorów kwalifikowanych elementów producenta i dodatkowych identyfikatorów kwalifikowanych elementów producenta.
  • Dodanie wsparcia dla miodu jako typu konserwowanego.
  • Dodanie obsługi nowych typów PreserveTypes
  • Naprawiono wzrost ceny i pomnożono połączone właściwości
Spoiler:
Pokazywać
1.7.4
  • Naprawiono błąd powodujący odbijanie się, gdy nie powinno tak być.
  • Naprawiono błąd powodujący wyświetlanie błędów w przypadku, gdy maszyna miała animacje, a przedmiot miał być trzymany w pieluszce.
  • Zaktualizuj do Hamony 2 i Stardew Valley 1.5.5
  • Hiszpański i18n. (Dziękibpsys)
1.7.3
  • Węgierski i18n. (Dziękimartin66789)
  • Naprawiono błąd powodujący, że obiekty nie układały się prawidłowo w stosy, gdy dane wyjściowe miały zachowany typ, a dane wejściowe również miały zachowany indeks ParentIndex.
1.7.2
  • Naprawiono niezgodność z poprzednim sposobem działania tłumaczenia.
1.7.1
  • Naprawiono błąd powodujący, że niektóre nazwy wyjściowe nie działały prawidłowo, gdy dla nazwy nie podano klucza i18n.
1.7.0
  • Animacje mogą się teraz różnić w zależności od danych wyjściowych w maszynie, identyfikowanych według nazwy, indeksu lub kategorii.
  • Internacjonalizacja nazw wyjściowych nie jest już ograniczona do jednej nazwy na indeks. Będzie dotyczyć wyłącznie nowo wyprodukowanych elementów.
  • Nowa właściwość reguły, dzięki której indeks wyjściowy zostanie zastąpiony zachowanym indeksem nadrzędnym, co umożliwi odwrócenie pozycji produkcyjnych (np. ryby z ikry).
  • Nowe właściwości umożliwiające zwiększenie etykiety statystyk na wejściu i wyjściu. Etykieta statusu może być dowolnym ciągiem znaków i można jej używać z Mail Framework Mod.
  • Nowe właściwości AdditionalProducerNames umożliwiające regułom i konfiguracjom działanie dla więcej niż jednej nazwy producenta.
  • Koreański i18n. (Dziękiwally232)
  • Turecki i18n. (DziękiKeDili)
1.6.0
  • Wyjścia mogą teraz mieć ograniczenia dla stosu wejściowego. Wymagany stos będzie wartością pobieraną.
  • Nowa właściwość zgodna z Lookup Anything.
  • Naprawiono błąd, w wyniku którego nie można było odnaleźć indeksu nadrzędnego „elementu zachowanego”.
  • Naprawiono nieprawidłowe wyświetlanie stosu wejściowego podczas wyszukiwania czegokolwiek.
  • Japoński i18n. (DziękiDwunastolatek)
  • Chiński i18n. (Dziękiirlandzki)

1.5.0
  • Wyjścia mogą teraz mieć ograniczenia dotyczące poczty i zdarzeń.
  • Nowa metoda API umożliwiająca modom SMAPI bezpośrednie ładowanie pakietów zawartości. (DziękiAmy Nagle)
  • Rosyjski i18n. (DziękiDmitrij Kupcow)
  • Nowa właściwość reguł producenta umożliwiająca twórcy zdefiniowanie poziomu logowania, który ma być używany do ostrzegania gracza o konfliktach reguł.
  • Nowy plik config.json umożliwiający zmianę domyślnego poziomu logowania ostrzeżeń o konfliktach dla wszystkich reguł producenta.
  • Warunki i wymagania dotyczące sezonu obecnie bazują na sezonie miejsca, w którym znajduje się maszyna.
  • Poprawa wydajności po najechaniu kursorem na maszynę w pewnych sytuacjach.
1.4.2
  • Naprawiono niepoprawne działanie animacji w Stardew Valley 1.5.
  • Naprawiono błąd powodujący, że właściwość SubtractTimeOfDay nie działała zgodnie z przeznaczeniem.
  • Naprawiono problem ze źródłami światła, które nie włączały się podczas wczytywania pierwszego zapisu.
  • Naprawiono błąd powodujący, że animacje nie zatrzymywały się, jeśli produkcja została wstrzymana ze względu na porę roku, pogodę lub warunki czasowe.
1.4.1
  • Przymocuj domek dla pszczół tak, aby działał w pomieszczeniu, nawet po jego skonfigurowaniu.
  • Deutsch i18n. (Dziękizirolive69)
1.4.0
  • Producenci mogą teraz produkować kolorowe produkty. Na przykład stare ikry.
  • Kolor można wybrać na podstawie koloru wejściowego, koloru barwnika wejściowego lub koloru zdefiniowanego w konfiguracji wyjściowej.
  • Producent może teraz zachować element wejściowy „nadrzędny” dla danych wyjściowych. Podobnie jak ikra łososia, staje się starzoną ikrą łososia.
  • Dane wyjściowe mogą teraz mieć ograniczenia w oparciu o dane wejściowe nadrzędne. Podobnie jak ikra jesiotra, staje się kawiorem, a nie starzoną ikrą jesiotra.
  • Producenci mogą teraz szukać pobliskich obiektów, aby wpływać na ich nazwę, cenę i pochodzenie. Podobnie jak w przypadku miodu, kwiaty w ulu wpływają na jego wartość.
  • Poszukiwanym przedmiotem może być plon pola lub doniczka ogrodowa, owoc z drzewa lub przedmiot znajdujący się wewnątrz maszyny.
  • Źródło światła nie może być oparte na kolorze wyjściowym lub kolorze barwnika.
  • Definicja koloru źródła światła została teraz odwrócona, aby odzwierciedlić rzeczywisty kolor światła.
  • Nazwa kamienia jest teraz przypisana do właściwego indeksu.
  • Lepsze komunikaty dziennika podczas ładowania reguł i konfiguracji.
  • Producent może teraz korzystać z animacji podczas produkcji lub po jej zakończeniu. (Do załadowania tekstury w arkuszu sprite'ów wymagana jest wersja 1.6.2 Json Asset lub content patchera).
  • Naprawiono właściwość nadpisywania konfiguracji producenta.
  • Naprawiono walidację warunkową na standardowych maszynach.
  • Naprawiono właściwość AlwaysOn w konfiguracji źródła światła.
1.3.2
  • Naprawiono błąd powodujący, że cena w trybie wieloosobowym nie była stosowana do wyników.
  • Lepsza losowa różnorodność.
1.3.1
  • Naprawiono, aby światło producenta zawsze się świeciło.
  • Nowa właściwość pozwalająca na ciągłe włączanie światła producenta.
1.3.0
  • Producent może teraz zostać ustawiony na brak konieczności wprowadzania danych początkowych (w momencie umieszczenia lub w dniu rozpoczęcia).
  • Producent może teraz określić szereg warunków produkcji (czas, lokalizacja, pogoda i pora roku).
  • Producent może teraz skonfigurować źródło światła podczas produkcji.
  • Producent może teraz wyłączyć animację odbijania podczas produkcji.
  • Producent może teraz zwiększyć statystyki gry dotyczące usuwania produktów na wyjście.
  • Wyniki mogą teraz mieć ograniczenia dotyczące produkcji (paliwo, lokalizacja, pogoda i pora roku).
  • Każde wyjście może teraz mieć inny czas produkcji, co nadpisuje domyślną wartość reguły.
  • Czas potrzebny na produkcję można odjąć od pory dnia.
  • Teraz zasady muszą określać, że można zastąpić konkretny mod.
  • Pliki modów powinny teraz ładować się bez względu na wielkość liter i system operacyjny.
1.2.0
  • Modyfikacje w celu obsługi nowegoPFMAutomate.
  • UżywaniePFMAutomate, reguły producenta dodane wraz z frameworkiem zostaną zintegrowane z modułem Automate.
1.1.0
  • Nowa animacja dla Charcoal Kiln Smoke
  • Nowa właściwość przesunięcia w celu lepszego pozycjonowania animacji.
  • Właściwość umożliwiająca dodawanie dźwięków z opóźnieniem.
  • Właściwość umożliwiająca zwiększenie statystyk gry na podstawie wprowadzonych danych.
  • Wsparcie dla tworzenia pochodni jako produktu wyjściowego.
  • Naprawiono błąd powodujący, że stos maksymalny działał z jedną wartością mniejszą niż powinien.
1.0.0
  • Pierwsze wydanie.
  • Wsparcie dla konfiguracji pakietu zawartości.
  • Obsługa konfiguracji wywoływania metod.
  • Wszystkie podstawowe zasady produkcji zaimplementowano na podstawie danych wejściowych.

Aby moderatorzy mogli korzystać z pakietu treści:
  • W folderze moda znajduje się szablon z instrukcjami i komentarzami opisującymi działanie każdej właściwości.
  • Ten sam obiekt, który jest używany dla pakietu zawartości, jest używany dla metod w ramach. Nie powinno być żadnej różnicy między użyciem metody a utworzeniem pakietu zawartości.
  • Istnieją dwa pliki konfiguracyjne. Jeden dla reguł, a drugi dla nowo dodanych producentów. Plik reguł obejmuje większość elementów, ale takie elementy, jak ramka sprite'a, która powinna być wyświetlana, gdy maszyna produkuje lub jest gotowa, powinny być konfigurowane dla każdej maszyny, a nie dla każdej reguły produkcyjnej. Standardowe maszyny są skonfigurowane domyślnie, ale można to zmienić.
  • Oto szablon niestandardowych reguł dodanych w pliku mod (ProducerRules.json):
Spoiler:
Pokazywać
[
{ // Wszystkie wiersze posiadające wartość domyślną mogą zostać usunięte, a wartość ta zostanie użyta.
"ProducerName": "ProducerName", //Nazwa producenta, którego należy szukać. Będzie pasować do pierwszego znalezionego dużego elementu. Zostanie zignorowane, jeśli zdefiniowano ProducerQualifiedItemId. To starsza właściwość, zamiast niej należy użyć ProducerQualifiedItemId.
"ProducerQualifiedItemId": "(BC)12", //Identyfikator QualifiedItemId producenta. Jest wymagany, jeśli nie zdefiniowano parametru ProducerName.
„AdditionalProducerNames”: [„ProducerName2”, „ProducerName3”], //Dodatkowe nazwy producenta. Reguła zostanie w całości skopiowana do nazw producentów na liście.
"AdditionalProducerQualifiedItemId": [ "(BC)15", "(BC)16" ], //Dodatkowe kwalifikowane identyfikatory produktów producenta. Reguła zostanie w całości skopiowana do kwalifikowanych identyfikatorów produktów producenta na liście.
"InputIdentifier": "fruit_tree_item", //Identyfikator elementu wejściowego. Może to być identyfikator kwalifikowanego elementu, indeks obiektu, kategoria obiektu, jeśli jest to wartość ujemna. Może to być nazwa obiektu lub context_tag obiektu. Może mieć wartość null tylko wtedy, gdy producent ma ustawiony tryb NoInputStartMode. Wartość domyślna to null.
"InputStack": 2, //Wymagany stos danych wejściowych. Wartość domyślna to 1.
"ExcludeIdentifiers": [ "Peach" ], //Lista identyfikatorów do wykluczenia z reguły. Postępuj zgodnie z tymi samymi zasadami dla InputIdentifier. Wartość domyślna to null.
"FuelIdentifier": "Węgiel", //Identyfikator paliwa. Paliwo to dodatkowy element używany podczas produkcji. Może to być identyfikator kwalifikowanego elementu, indeks, nazwa lub kategoria obiektu. Domyślnie jest to null.
„FuelStack”: 4, //Wymagany stos paliwa. Używane tylko wtedy, gdy paliwo nie jest puste. Domyślnie 1.
"Dodatkowe paliwo": {
"-6": 2,
„Węgiel”: 1,
„246”: 5
}, //Dodatkowe paliwo, jeśli potrzebne. Nie musisz ustawiać paliwa, aby użyć opcji „Dodatkowe paliwo”. Format to para identyfikatora i ilości paliwa, zgodnie z tymi samymi zasadami, co pozostałe właściwości paliwa. Domyślnie jest to null.
"MinutesUntilReady": 120, //Liczba minut potrzebnych do wyprodukowania. Dni w Stardew mają 1600 minut. 1200 minut od 6:00 do 2:00 i 400 minut od 2:00 do 6:00. Powinno być podzielne przez 10. Wymagane.
"SubtractTimeOfDay": true, //Jeśli MinutesUntilReady ma zostać odjęte od aktualnej godziny. Zawsze dodaje 360 do formuły, ponieważ dzień zaczyna się o 6:00. Jeśli ustawisz MinutesUntilReady na 1600, formuła zawsze wygeneruje wynik o 6:00 następnego dnia. Nigdy nie ustawiaj wartości true, jeśli MinutesUntilReady jest mniejsze niż 1600.
„OutputIdentifier”: „Beer”, //Identyfikator wyjścia. Może to być kwalifikowany identyfikator elementu, indeks lub nazwa obiektu. Wymagane.
"OutputName": "{inputName} {outputName} obiektu {farmerName} z {farmName}", //Nazwa obiektu. Zastąpi podstawową nazwę wyjściową. Akceptuje 4 tagi, które są dynamicznie zastępowane. Domyślnie jest to null.
"OutputTranslationKey": "MyMod.MyOutput", //Klucz tłumaczenia. To klucz w pliku i18n, w którym mod będzie szukał formatu OutputName w innych językach. Wartość tego klucza podlega tym samym zasadom, co właściwość OutputName powyżej. Wartością domyślną jest null.
"OutputGenericParentName": "Wild", //Ogólna nazwa nadrzędna jest używana, gdy nie ma nazwy nadrzędnej dla obiektu, który wymaga nazwy nadrzędnej, np. Wild dla Honey. Domyślnie jest pusta.
"OutputGenericParentNameTranslationKey": "MyMod.MyOutput", //Klucz tłumaczenia. To klucz w pliku i18n, w którym mod będzie szukał OutputGenericParentName w innych językach. Domyślnie jest to null.
"PreserveType": "Wino", //[Wino|Galaretka|Ogórek|Sok|Ikra|Starzona ikra|Miód|Przynęta|Suszone owoce|Suszone grzyby|Wędzona ryba] – jeśli wynik jest jednym z typów Preserves z gry podstawowej. Domyślnie jest to null. Użycie tego parametru spowoduje nadpisanie właściwości OutputName.
"KeepInputParentIndex": true, // Jeśli wartość true, wówczas wejście zachowanego indeksu nadrzędnego zostanie użyte jako indeks nadrzędny wyjścia.
"ReplaceWithInputParentIndex": true, // Jeśli wartość true, wówczas wejście zachowanego indeksu nadrzędnego zostanie użyte jako indeks wyjściowy.
"InputPriceBased": true, //Jeśli cena bazowa produktu wyjściowego ma zostać zastąpiona ceną bazową produktu wejściowego. Wartością domyślną jest false.
"OutputPriceIncrement": 200, //Zwiększ cenę bazową o tę kwotę. Domyślnie 0.
"OutputPriceMultiplier": 2,5, //Pomnóż cenę bazową przez tę kwotę. Domyślnie 1.
"KeepInputQuality": false, //Jeśli dane wyjściowe mają mieć taką samą jakość jak dane wejściowe. Domyślnie jest to false.
"OutputQuality": 2, //Ustaw jakość wyjściową. Domyślnie 0.
"OutputStack": 2, //Ustaw stos wyjściowy. Domyślnie 1.
"OutputMaxStack": 2, //Ustaw maksymalny stos wyjściowy, jeśli chcesz losowy stos wyjściowy. Zostanie on zignorowany, jeśli będzie mniejszy niż OutputStack. Domyślnie 1.
"SilverQualityInput": { //Zdefiniuj alternatywny stos, jeśli dane wejściowe to jakość srebra. Usunięcie zignoruje to, ponieważ prawdopodobieństwo będzie równe 0.
„Prawdopodobieństwo”: 0,2, //Prawdopodobieństwo użycia alternatywnego stosu. Domyślnie 0.
"OutputStack": 2, //Tak samo jak inne.
"OutputMaxStack": 4 //Tak samo jak inne.
},
"GoldQualityInput": { //Zdefiniuj alternatywny stos, jeśli dane wejściowe to jakość złota. Usunięcie zignoruje to, ponieważ prawdopodobieństwo będzie równe 0.
„Prawdopodobieństwo”: 0,4, //Tak samo jak w pozostałych przypadkach.
"OutputStack": 3, //Tak samo jak inne.
"OutputMaxStack": 4 //Tak samo jak inne.
},
"IridiumQualityInput": { //Zdefiniuj alternatywny stos, jeśli dane wejściowe to Iridium Quality. Usunięcie zignoruje to, ponieważ prawdopodobieństwo będzie równe 0.
"Prawdopodobieństwo": 1, //Tak samo jak inne.
"OutputStack": 4, //Tak samo jak inne.
"OutputMaxStack": 4 //Tak samo jak inne.
},
"OutputColorConfig": { // Jeśli ustawione, wyjściem będzie obiekt kolorowy. Pamiętaj, że kolorowe obiekty wymagają, aby kolejny sprite w arkuszu był paletą kolorów. Domyślnie jest to null.
"Type": "DefinedColor", // [ObjectColor|ObjectDyeColor|DefinedColor] Jeśli ObjectColor, a wejście jest kolorowym obiektem, zostanie użyty kolor wejścia. Jeśli ObjectDyeColor, a wejście ma kolor barwnika, zostanie użyty ten kolor. Jeśli DefinedColor lub znajdzie kolor w innych opcjach, utworzy kolor na podstawie wartości czerwonego, zielonego i niebieskiego. Domyślnie DefinedColor.
„Czerwony”: 255, // Wartość koloru czerwonego. Domyślnie 255.
„Zielony”: 255, // Wartość zielonego koloru. Domyślnie 255.
„Niebieski”: 255 // Wartość koloru niebieskiego. Domyślnie 255.
},
"AdditionalOutputs": [ // Zdefiniuj listę dodatkowych wyjść. Nie musisz ustawiać domyślnego wyjścia, aby korzystać z dodatkowych wyjść – w takim przypadku pierwsze dodatkowe wyjście będzie domyślne. Podane jest tylko jedno wyjście, losowo wybrane spośród dostępnych opcji. Domyślnie jest to pusta lista.
            {
"OutputProbability": 0,2, //Prawdopodobieństwo bezwzględne uzyskania tego wyniku, od 0 do 1. Domyślnie 0. Jeśli 0, pozostały, niezdefiniowany procent zostanie równo podzielony między wszystkie wyniki z prawdopodobieństwem 0. Prawdopodobieństwo jest sprawdzane od pierwszego do ostatniego wyniku, więc jeśli suma jest większa niż 1, pozostałe wyniki zostaną zignorowane.
„OutputIdentifier”: „Apple”, //To jest wymagane. Działa tak samo jak OutputIdentifier opisany w regule.
"MinutesUntilReady": 100, //Liczba minut potrzebnych do wygenerowania tego wyniku. Spowoduje to zastąpienie domyślnego parametru MinutesUntilReady ustawionego w regule. Powinno być podzielne przez 10.
"RequiredInputQuality": [0, 1], // Wymagana jakość wejścia, aby wyjście było możliwe. Domyślnie jakość nie jest wymagana.
"RequiredInputStack": 8, // Wymagany stos wejściowy musi być równy lub większy od tej wartości, aby możliwe było wygenerowanie danych wyjściowych. Ta wartość zostanie zużyta zamiast wartości InputStack. Może być mniejsza od wartości InputStack, ale gracz nadal musi mieć ustawioną co najmniej taką wartość w InputStack, aby reguła została uruchomiona. Domyślnie stos wejściowy nie jest wymagany.
"RequiredFuel": { "Coal": 1 }, //Paliwo wymagane do realizacji wydobycia. Paliwa te będą zużywane dodatkowo oprócz paliw zdefiniowanych w regule. Format to para identyfikatora i ilości w stosie, zgodnie z tymi samymi zasadami, co pozostałe właściwości paliwa. Domyślnie paliwo nie jest wymagane.
"RequiredSeason": [ "wiosna", "lato" ], // Wymagana pora roku, aby wynik był możliwy. Domyślnie nie jest wymagana żadna pora roku.
„RequiredWeather”: [ „Słonecznie”, „Wietrznie” ], // [Słonecznie|Deszczowo|Burzowo|Śnieżno|Wietrznie] Wymagana pogoda, aby wyjście było możliwe. Domyślnie pogoda nie jest wymagana.
"RequiredLocation": ["Cellar", "FarmCave"], // Wymagana lokalizacja, aby wyjście było możliwe. Domyślnie nie jest wymagana żadna lokalizacja.
"RequiredMail": [ "BackpackTip" ], // Wymagane jest, aby jeden z maili został odebrany przez odtwarzacz, aby wyjście było możliwe. Domyślnie nie jest wymagany żaden mail.
"RequiredEvent": [ 611439 ], // Wymagane jest, aby odtwarzacz widział jedno ze zdarzeń, aby wyjście było możliwe. Domyślnie nie jest wymagane żadne zdarzenie.
"RequiredOutdoors": true, // [true|false|null] Jeśli true, dane wyjściowe mogą być generowane tylko na zewnątrz. Jeśli false, dane wyjściowe mogą być generowane tylko wewnątrz. Jeśli wiersz zostanie usunięty lub wartość będzie null, nie ma żadnych ograniczeń.
"RequiredInputParentIdentifier": [ "22", "-80" ] // Wymagany element nadrzędny wejścia, aby możliwe było wygenerowanie danych wyjściowych. Element nadrzędny to element, z którego pochodzi wejście (np. Salmon Roe ma Salmon jako element nadrzędny). Identyfikator jest porównywany z elementem nadrzędnym wejścia w następującej kolejności: Indeks, Nazwa, Kategoria, Tag_Kontekstu.
// Wszystkie pozostałe właściwości odnoszące się do danych wyjściowych można wykorzystać w elemencie AdditionalOutputs. Pamiętaj o rozdzielaniu właściwości przecinkami.
            }
],
„Dźwięki”: [„piec”], //Lista dźwięków, które mają być emitowane po umieszczeniu elementu wejściowego. Domyślnie lista jest pusta.
"DelayedSounds": [ { "bubbles": 50 } ], //Lista dźwięków do odtworzenia po opóźnieniu. Domyślnie jest to pusta lista.
"PlacingAnimation": "Ogień", //[Bąbelki|Ogień|Dym z pieca węglowego] //Animacja do utworzenia podczas umieszczania elementu wejściowego. Domyślnie null.
"PlacingAnimationColorName": "Biały", //Kolor animacji.[http://www.foszor.com/blog/xna-color-chart/] Domyślnie biały.
"PlacingAnimationOffsetX": 0, //Przesunięcie osi X. Przesunięcie jest względne względem domyślnej lokalizacji animacji, a nie położenia maszyny. Domyślnie wynosi 0.
"PlacingAnimationOffsetY": -32, //Przesunięcie osi Y. Przesunięcie jest względne względem domyślnej lokalizacji animacji, a nie położenia maszyny. Domyślnie wynosi 0.
"IncrementStatsOnInput": [ "PiecesOfTrashRecycled" ], // Statystyki gry, które mają być zwiększane po umieszczeniu elementu wejściowego. Zwiększy statystyki o wartość stosu. Standardowe maszyny zwiększają statystyki po usunięciu przedmiotu z maszyny. Tylko maszyna recyklingu zwiększa statystyki po umieszczeniu elementu wejściowego. Domyślnie jest to pusta lista.
"IncrementStatsLabelOnInput": [ "ModId.MyCustomProduct" ], // Etykieta statystyk gry, która ma być zwiększana po umieszczeniu elementu wejściowego. Zwiększy statystyki o wartość stosu. Może to być dowolny tekst etykiety. MFM obsługuje również etykiety statystyk dla warunków. Sprawdź etykietę statystyk Vanilla na końcu pliku. Domyślnie jest to pusta lista.
"OverrideMod": [ "IdOfTheMod.ToOverride" ], //Jeśli zdefiniowana, ta reguła może nadpisywać reguły z tą samą kombinacją producenta/wejścia z modów z listy. W przeciwnym razie zostanie użyty pierwszy załadowany mod.
"LookForInputWhenReady": { // Ustaw tę konfigurację, jeśli chcesz wyszukać konkretny obiekt, gdy będzie gotowy. Jeśli reguła ma dane wejściowe, będzie ona pobierać dane wejściowe podczas umieszczania, sprawdzać ograniczenia, aby wybrać dane wyjściowe, ale nie zastosuje nazwy, ceny, jakości i podobnych modyfikacji na podstawie tych danych wejściowych. Zamiast tego, obiekt znaleziony, gdy będzie gotowy, zostanie użyty do tych modyfikacji.
„Zakres”: 5, //Maksymalny zakres, w którym będą wyszukiwane dane wejściowe. Liczba ujemna nie będzie uznawana za limit (zatrzyma się na 150, aby uniknąć awarii). Domyślnie -1.
"InputIdentifier": [ "Orange", "-80" ], //Identyfikator wejścia. Może to być identyfikator kwalifikowanego elementu, indeks, nazwa lub kategoria.
„Crop”: prawda, //Jeśli ma wyszukiwać zbiory. Identyfikator zostanie porównany z obiektem zbioru. Domyślnie jest to fałsz.
"ExcludeForageCrops": prawda, //Czy rośliny pastewne mają być ignorowane. Domyślnie fałsz.
"GardenPot": true, //Czy ma szukać roślin w doniczkach ogrodowych. Domyślnie jest to false.
"FruitTree": true, //Jeśli ma wyszukiwać drzewa owocowe. Identyfikator zostanie porównany z owocem. Domyślnie jest to false.
"BigCraftable": false //Jeśli ma wyszukiwać obiekty BigCraftable. Identyfikator zostanie porównany z przechowywanym obiektem. Domyślnie jest to false.
},
„WarningsLogLevel”: „Ostrzeżenie” //[Ostrzeżenie|Informacje|Debugowanie|Śledzenie] Poziom rejestrowania komunikatów ostrzegających gracza o braku czegoś podczas ładowania reguły. Domyślnie jest to ustawienie w konfiguracji pakietu zawartości.
    }
]
/* Dodatkowe uwagi
* Możliwe statystyki: [Zasiane nasiona|Wysłane przedmioty|Ugotowane przedmioty|Wytworzone przedmioty|Złożone jaja kurze|Złożone jaja kacze|Wyprodukowane mleko krowie|Wyprodukowane mleko kozie|Wyprodukowana wełna królicza|Wyprodukowana wełna owcza|Wyprodukowany ser|Wyprodukowany ser kozi|Znalezione trufle|Zgromadzone kamienie|Pokruszone skały|Ziemia|Dane prezenty|Czasy nieprzytomności|Średnia pora snu|Czasy łowienia|Złapane ryby|Pęknięte głazy|Pnie posiekane|Kroki wykonane|Zabite potwory|Znalezione diamenty|Pryzmatyczny Sha rdsFound|OtherPreciousGemsFound|CaveCarrotsFound|CopperFound|IronFound|CoalFound|CoinsFound|GoldFound|IridFound|StaltedBeveragesMade|PreservesMade|PiecesOfTrashRecycled|MysticStonesCrushed|DaysPlayed|WeedsEliminated|SticksChopped|NotesFound|Quests Completed|StarLevelCropsShipped|CropsShipped|ItemsForaged|SlimesKilled|GeodyCracked|Dobrzy Przyjaciele|IndividualMoneyEared]
* Etykieta statystyk wersji Vanilla: [exMemoriesWiped|childrenTurnedToDoves|trashCansChecked|boatRidesToIsland|beachFarmSpawns|hardModeMonstersKilled|timesEnchanted]
* Należy pamiętać, że gra nie zlicza prawidłowo wszystkich statystyk.
*/

  • Oto szablon dla producentów dodany w pliku mod (ProducersConfig.json):
Spoiler:
Pokazywać
[
    {
"ProducerName": "ProducerName", //Nazwa producenta
"AdditionalProducerNames": [ "ProducerName2", "ProducerName3" ], //Dodatkowe nazwy producenta. Konfiguracja zostanie w całości skopiowana do nazw producentów na liście.
"AlternateFrameProducing": true, //Jeśli producent powinien użyć alternatywnej ramki podczas produkcji.
"AlternateFrameWhenReady": true, //Czy producent powinien użyć alternatywnej ramki i czy jest ona gotowa do zbioru.
"DisableBouncingAnimationWhileWorking": false, // Czy animacja odbijania się producenta podczas pracy powinna być wyłączona.
"NoInputStartMode": "Placement", // [Placement|DayUpdate] //Jeśli maszyna ma wartość dla tej właściwości, może mieć tylko jedną regułę ProducerRule bez InputIdentifier. W przypadku Placement maszyna uruchomi się po umieszczeniu i będzie restartowana za każdym razem, gdy wytworzony obiekt zostanie wyjęty. W przypadku DayUpdate maszyna uruchomi się na początku dnia. Wartość domyślna to null.
"IncrementStatsOnOutput": { //Pary "stats:object" identyfikujące, co powinno zostać zwiększone.
"GoatCheeseMade": "Kozi ser", //Pierwsza wartość to statystyki do inkrementacji, druga wartość to wynik, który należy wygenerować, aby statystyka została inkrementowana. Identyfikatorem może być indeks, nazwa, kategoria lub tag kontekstowy wyniku. Zwiększy statystyki o wartość stosu.
"CheeseMade": null //Jeśli identyfikator jest nullem, pasować będą wszystkie wyniki.
},
"IncrementStatsLabelOnOutput": { //Pary "statsLabel:object", które identyfikują, co powinno zostać zwiększone. Możesz dodać własną etykietę statystyk. MFM obsługuje również etykiety statystyk dla warunków. Domyślnie jest to null.
"timesEnchanted": "Magiczna Przynęta", //Pierwsza wartość to etykieta statystyk, która ma zostać zwiększona, druga wartość to wynik, który powinien zostać wygenerowany, aby statystyka została zwiększona. Identyfikatorem może być indeks, nazwa, kategoria lub tag kontekstowy wyniku. Etykieta statystyk zostanie zwiększona o wartość stosu.
"modId.myItemProduced": null //Jeśli identyfikator jest nullem, pasować będą wszystkie dane wyjściowe.
},
"MultipleStatsIncrement": prawda, //Jeśli wszystkie pasujące statystyki powinny zostać zwiększone. Jeśli fałsz, zwiększona zostanie tylko pierwsza pasująca statystyka. Domyślnie fałsz.
"LightSource": { // Definiuje źródło światła, którego producent powinien używać podczas pracy. Domyślnie jest to null.
"TextureIndex": 4, // Kształt źródła światła. Wszystkie klasyczne automaty używają "sconceLight". 1=latarnia, 2=światło okna, 4=światło kinkietu, 5=światło kotła, 6=światło okna w pomieszczeniu, 7=światło projektora. Domyślnie 4.
„Promień”: 1,5, // Rzeczywisty rozmiar źródła światła zależy od użytej tekstury. Domyślnie 1,5 (rozmiar źródła światła pieca z teksturą sconceLight)
„OffsetX”: 0, // Przesunięcie poziome od środka kafelka producenta. Domyślnie 0.
"OffsetY": 0, // Pionowe przesunięcie od góry kafelka producenta. Domyślnie 0.
"ColorType": "DefinedColor", // [ObjectColor|ObjectDyeColor|DefinedColor] Jeśli ObjectColor, a wynik jest kolorowym obiektem, zostanie użyty kolor wyniku. Jeśli ObjectDyeColor, a wynik ma kolor barwnika, zostanie użyty ten kolor. Jeśli DefinedColor lub nie znajdzie koloru w innych opcjach, utworzy kolor na podstawie wartości czerwonego, zielonego i niebieskiego.
"ColorRed": 255, // Wartość czerwieni dla koloru światła. Domyślnie 255.
"ColorGreen": 255, // Zielona wartość koloru światła. Domyślnie 255.
"ColorBlue": 255, // Wartość niebieska koloru światła. Domyślnie 255.
"ColorAlpha": 255, // Wartość przezroczystości jasnego koloru. 0 oznacza pełną przezroczystość, 255 oznacza pełną nieprzezroczystość. Wartość domyślna to 255.
"ColorFactor": 0,75, // Współczynnik, który pomnoży wszystkie pozostałe parametry kolorów. Domyślnie 1.
„AlwaysOn”: prawda // Jeśli wartość to prawda, źródło światła będzie świecić nawet wtedy, gdy nie będzie świecić. Domyślnie jest to fałsz.
},
"WorkingTime": { // Jeśli zdefiniowano wartość, maszyna będzie produkować tylko w tym okresie. Produkcja będzie wstrzymana poza tym okresem. Domyślnie maszyna pracuje o każdej porze.
„Początek”: 600, //Format [GGmm]. Godzina, od której maszyna może rozpocząć produkcję. Domyślnie 0
„Koniec”: 1800 //Format [GGmm]. Godzina, o której maszyna przestaje produkować. Domyślnie 0
},
„Pogoda robocza”: [„Deszczowa”, „Burzowa”], // [Słoneczna|Deszczowa|Burzowa|Śnieżna|Wietrzna] Pogoda, w której maszyna pracuje. Domyślnie pracuje w każdej pogodzie.
„WorkingLocation”: [„Stodoła”, „Duża Stodoła”, „Stodoła Deluxe”], // Lokalizacje, w których maszyna będzie pracować. Może to być dowolna mapa budynku. Domyślnie pracuje w dowolnej lokalizacji.
"WorkingOutdoors": true, // [true|false|null] Jeśli true, maszyna będzie działać tylko na zewnątrz. Jeśli false, maszyna będzie działać tylko wewnątrz. Jeśli wiersz zostanie usunięty lub wartość będzie równa null, maszyna będzie działać w obu rodzajach lokalizacji.
„WorkingSeason”: [„wiosna”, „lato”, „jesień”], // Pory roku, w których maszyna będzie pracować. W odróżnieniu od innych warunków, w sezonie, w którym maszyna nie pracuje, należy ją czyścić na początku dnia. Domyślnie maszyna pracuje w dowolnym sezonie.
"OverrideMod": [ "IdOfTheMod.ToOverride" ], //Jeśli zdefiniowano, ta konfiguracja może nadpisać konfiguracje tego samego producenta z modów na liście. W przeciwnym razie zostanie użyta pierwsza załadowana konfiguracja.
"ProducingAnimation": { // Ustaw konfigurację animacji stanu produkcyjnego maszyny. Domyślnie jest to null.
"RelativeFrameIndex": [2, 3, 4, 5, 6, 7], //Indeks i kolejność klatek, które powinny zostać użyte w animacji. Indeks zaczyna się od zera, klatki bazowej i indeksu stanu nieprodukującego. Dodatkowe klatki to zawartość tej klatki. Dodatkowe klatki można dodać za pomocą zasobów Json lub Content Patcher.
„FrameInterval”: 10, // Liczba tyknięć gry między klatkami. Domyślnie 10
"AdditionalAnimations": { //Animacja, która powinna zostać odtworzona w zależności od obiektu wewnątrz maszyny. Para identyfikatora wyjściowego i listy klatek. Identyfikatorem może być nazwa, indeks lub kategoria. Wartość domyślna to null.
"Łosoś": [ 8, 9, 10 ],
"131": [ 8, 11, 12 ],
"-4": [ 8, 13, 14 ]
            }
},
"ReadyAnimation": null //Ustaw konfigurację animacji stanu gotowości maszyny. Ten sam format konfiguracji co w WorkingAnimation. Domyślnie null.
    }
]
/* Dodatkowe uwagi
* Możliwe statystyki: [Zasiane nasiona|Wysłane przedmioty|Ugotowane przedmioty|Wytworzone przedmioty|Złożone jaja kurze|Złożone jaja kacze|Wyprodukowane mleko krowie|Wyprodukowane mleko kozie|Wyprodukowana wełna królicza|Wyprodukowana wełna owcza|Wyprodukowany ser|Wyprodukowany ser kozi|Znalezione trufle|Zgromadzone kamienie|Pokruszone skały|Ziemia|Dane prezenty|Czasy nieprzytomności|Średnia pora snu|Czasy łowienia|Złapane ryby|Pęknięte głazy|Pnie posiekane|Kroki wykonane|Zabite potwory|Znalezione diamenty|Pryzmatyczny Sha rdsFound|OtherPreciousGemsFound|CaveCarrotsFound|CopperFound|IronFound|CoalFound|CoinsFound|GoldFound|IridFound|StaltedBeveragesMade|PreservesMade|PiecesOfTrashRecycled|MysticStonesCrushed|DaysPlayed|WeedsEliminated|SticksChopped|NotesFound|Quests Completed|StarLevelCropsShipped|CropsShipped|ItemsForaged|SlimesKilled|GeodyCracked|Dobrzy Przyjaciele|IndividualMoneyEared]
* Etykieta statystyk wersji Vanilla: [exMemoriesWiped|childrenTurnedToDoves|trashCansChecked|boatRidesToIsland|beachFarmSpawns|hardModeMonstersKilled|timesEnchanted]
* Należy pamiętać, że gra nie zlicza prawidłowo wszystkich statystyk.
*/

  • Oto szablon właściwości konfiguracji dodany w pliku mod (Config.json):
Spoiler:
Pokazywać

{
„DefaultWarningsLogLevel”: „Ostrzeżenie” //[Ostrzeżenie|Informacje|Debugowanie|Śledzenie] Domyślny poziom logowania komunikatów ostrzegających o braku czegoś podczas ładowania reguły. Domyślnie jest to Ostrzeżenie.
}


Aby Modder mógł zakodować:

  • Odwołaj się do pliku ProducerFrameworkMod.dll w swoim projekcie SMAPI.
  • Użyj klasy ProducerController, aby dodać reguły i konfiguracje.
  • Parametry mają takie same właściwości jak szablon z pakietów zawartości.
  • Możesz również wywołać metodę API „AddContentPack” wskazując katalog, w którym znajdują się pliki pakietu zawartości, a zostaną one załadowane przez mod.
Specjalne podziękowania:
  • minervamaga, SpringsSong, ParadigmNomad, Trent, spacechase0 -Byli bezpośrednio zaangażowani w tworzenie tych ram.
  • Wszyscy na kanale moderskim Stardew Valley na Discordzie –Wszyscy bardzo nas wspierają i to oni byli inspiracją dla tego projektu.

Moje inne mody:

Najlepsze mody do Stardew Valley

Odkryj najlepsze mody do Stardew Valley, które wprowadzają nowe funkcje, ulepszoną grafikę i ekscytujące sposoby przekształcenia rozgrywki.

Odblokuj pełny potencjał Stardew Valley z XMODhub — odkryj dziś te najlepsze mody!

mcafee
Uwierzytelnianie
Zaufane przez 200,000,000+ użytkowników

Potrzebujesz pomocy z pobieraniem lub instalacją? Dołącz do naszej społeczności Discord po wsparcie!

logo
Język

Rozwiązania dla graczy

Zasoby

Wzmacniacz

Śledź nas na

discordfacebooktwitteryoutube
Wsparcie:
support@xmodhub.com
Xmod_Lily
Biznes:
dc@xmodhub.com or cathy@business.xmodhub.com
catherine_79237

Larvas Limited

Room 1201, 12/F Tai Sang Bank Building 130-132 Des Voeux Road Central HK