Skip to content

Commit d2f3045

Browse files
committed
Merge branch 'develop' into stable
2 parents 92b6d55 + 1d18a07 commit d2f3045

File tree

174 files changed

+1821
-707
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

174 files changed

+1821
-707
lines changed

Automate/Automate.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<Version>2.3.3</Version>
3+
<Version>2.3.4</Version>
44
<RootNamespace>Pathoschild.Stardew.Automate</RootNamespace>
55
</PropertyGroup>
66

Automate/Framework/MachineManager.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -127,9 +127,7 @@ public IDictionary<string, ModConfigMachine> GetMachineOverrides()
127127
{
128128
string locationKey = this.Factory.GetLocationKey(location);
129129

130-
return this.MachineData.TryGetValue(locationKey, out MachineDataForLocation? data)
131-
? data
132-
: null;
130+
return this.MachineData.GetValueOrDefault(locationKey);
133131
}
134132

135133
/****

Automate/Framework/Machines/DataBasedObjectMachine.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,7 @@ public override bool SetInput(IStorage input)
9191

9292
machine.OutputMachine(machineData, outputRule, machine.lastInputItem.Value, null, machine.Location, false);
9393

94-
if (machine.heldObject.Value == null)
95-
machine.heldObject.Value = prevOutput;
94+
machine.heldObject.Value ??= prevOutput;
9695
}
9796
}
9897

Automate/Framework/Machines/TerrainFeatures/BushMachine.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public override ITrackedStack GetOutput()
6868
/// <inheritdoc />
6969
public override MachineState GetState()
7070
{
71-
if (!this.IsInSeason.Value)
71+
if (this.Machine.Location is null || !this.IsInSeason.Value)
7272
return MachineState.Disabled;
7373

7474
return this.Machine.tileSheetOffset.Value == 1

Automate/Framework/Machines/TerrainFeatures/TreeMachine.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,10 +112,16 @@ public override bool SetInput(IStorage input)
112112
/// <param name="tree">The tree to automate.</param>
113113
public static bool CanAutomate(Tree tree)
114114
{
115+
// skip: stumps will never produce anything
116+
if (tree.stump.Value)
117+
return false;
118+
119+
// skip: no data to automate
115120
WildTreeData? data = tree.GetData();
116121
if (data is null)
117122
return false;
118123

124+
// check data
119125
return
120126
data.GrowsMoss
121127
|| (

Automate/ModEntry.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@ private void OnButtonsChanged(object? sender, ButtonsChangedEventArgs e)
321321
private void OnModMessageReceived(object? sender, ModMessageReceivedEventArgs e)
322322
{
323323
// update automation if chest options changed
324-
if (Context.IsMainPlayer && e.FromModID == "Pathoschild.ChestsAnywhere" && e.Type == nameof(AutomateUpdateChestMessage))
324+
if (Context.IsMainPlayer && e is { FromModID: "Pathoschild.ChestsAnywhere", Type: nameof(AutomateUpdateChestMessage) })
325325
{
326326
var message = e.ReadAs<AutomateUpdateChestMessage>();
327327
var location = message.LocationName != null

Automate/TrackedItemCollection.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ public class TrackedItemCollection : ITrackedStack
1919
** Accessors
2020
*********/
2121
/// <inheritdoc />
22-
public Item Sample { get; private set; }
22+
public Item Sample { get; }
2323

2424
/// <inheritdoc />
25-
public string Type { get; private set; }
25+
public string Type { get; }
2626

2727
/// <inheritdoc />
2828
public int Count => this.Stacks.Sum(p => p.Count);

Automate/docs/release-notes.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
[← back to readme](README.md)
22

33
# Release notes
4+
## 2.3.4
5+
Released 26 March 2025 for SMAPI 4.1.10 or later.
6+
7+
* Tree stumps are no longer automated, since they'll never produce anything.
8+
* Fixed crash if an automated berry bush is chopped down.
9+
* Improved translations. Thanks to Naciux1088 (added Polish)!
10+
411
## 2.3.3
512
Released 07 February 2025 for SMAPI 4.1.10 or later.
613

Automate/i18n/pl.json

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
{
2+
/*********
3+
** Generic Mod Config Menu UI (Interfejs Menu Konfiguracji Modu)
4+
*********/
5+
// main options (główne opcje)
6+
"config.title.main-options": "Główne opcje",
7+
"config.enabled.name": "Włączone",
8+
"config.enabled.desc": "Określa, czy funkcje Automate są włączone. Jeśli ta opcja jest wyłączona, maszyny nie będą automatyzowane, a nakładka nie będzie się pojawiać.",
9+
"config.automation-interval.name": "Interwał automatyzacji",
10+
"config.automation-interval.desc": "Liczba ticków między każdym procesem automatyzacji (60 to raz na sekundę, 120 to co dwie sekundy itp.).",
11+
"config.min-minutes-for-fairy-dust.name": "Minimalny czas dla pyłku wróżki",
12+
"config.min-minutes-for-fairy-dust.desc": "Minimalny czas przetwarzania maszyny w minutach, po którym należy zastosować pyłek wróżki. Na przykład ustawienie tej wartości na 30 minut oznacza, że pyłek wróżki nie zostanie zastosowany, jeśli maszyna zakończy proces w 20 minut.",
13+
"config.toggle-overlay-key.name": "Przełącz klawisz nakładki",
14+
"config.toggle-overlay-key.desc": "Klawisze, które przełączają nakładkę automatyzacji.",
15+
"config.warn-for-missing-bridge-mod.name": "Ostrzeżenie o brakującym modzie mostu",
16+
"config.warn-for-missing-bridge-mod.desc": "Określa, czy wyświetlić ostrzeżenie przy starcie, jeśli zainstalowałeś mod maszynowy wymagający osobnej łatki kompatybilności, której nie ma.",
17+
18+
// connectors (łączniki)
19+
"config.title.connectors": "Włączone łączniki",
20+
"config.connector.desc": "Określa, czy {{itemName}} łączy maszyny i skrzynie.",
21+
"config.custom-connectors.name": "Niestandardowe łączniki",
22+
"config.custom-connectors.desc": "Dokładne angielskie nazwy przedmiotów, które łączą sąsiednie maszyny. Można podać wiele przedmiotów oddzielonych przecinkami.",
23+
24+
// Junimo hut options (opcje chatki Junimo)
25+
"config.title.junimo-huts": "Zachowanie chatki Junimo",
26+
"config.junimo-hut-gems.name": "Kamienie szlachetne",
27+
"config.junimo-hut-gems.desc": "Co chatki Junimo mają robić z przedmiotami kamieni szlachetnych. 'Auto-detekcja' je zignoruje.",
28+
"config.junimo-hut-fertilizer.name": "Nawóz",
29+
"config.junimo-hut-fertilizer.desc": "Co chatki Junimo mają robić z przedmiotami nawozu. 'Auto-detekcja' je zignoruje, jeśli zainstalowany jest mod Better Junimos, w przeciwnym razie przeniesie je z chatki do połączonych skrzyń.",
30+
"config.junimo-hut-seeds.name": "Nasiona",
31+
"config.junimo-hut-seeds.desc": "Co chatki Junimo mają robić z przedmiotami nasion. 'Auto-detekcja' je zignoruje, jeśli zainstalowany jest mod Better Junimos, w przeciwnym razie przeniesie je z chatki do połączonych skrzyń.",
32+
33+
// Junimo hut dropdown values (rozwijane wartości chatki Junimo)
34+
"config.junimo-huts.auto-detect": "Auto-detekcja",
35+
"config.junimo-huts.ignore": "Zignoruj je",
36+
"config.junimo-huts.move-into-chests": "Przenieś z chatki do skrzyń",
37+
"config.junimo-huts.move-into-huts": "Przenieś ze skrzyń do chatki",
38+
39+
// per-machine settings (ustawienia dla maszyn)
40+
"config.title.machine-settings": "Ustawienia {{machineName}}",
41+
"config.machine-settings-enabled.Name": "Włączone",
42+
"config.machine-settings-enabled.desc": "Określa, czy automatyzacja {{machineName}} jest włączona.",
43+
"config.machine-settings-priority.name": "Priorytet",
44+
"config.machine-settings-priority.desc": "Kolejność przetwarzania maszyn {{machineName}} w stosunku do innych maszyn. Maszyny mają domyślny priorytet 0, wyższe wartości są przetwarzane jako pierwsze.",
45+
46+
// machine names (nazwy maszyn)
47+
"config.machines.bush": "Krzak",
48+
"config.machines.fruit-tree": "Drzewo (Owocowe)",
49+
"config.machines.trash-can": "Kosz na śmieci",
50+
"config.machines.wild-tree": "Drzewo (Dziki)",
51+
"config.machines.feed-hopper": "Silos i podajnik siana",
52+
53+
// specjalne ustawienia dla poszczególnych maszyn
54+
"config.machines.wild-tree.collect-moss.name": "Zbieraj mech",
55+
"config.machines.wild-tree.collect-moss.desc": "Określa, czy zbierać mech z drzew. Na przykład pozostawienie mchu na drzewach zwiększy jakość grzybów z pobliskich kłód grzybowych."
56+
}

Automate/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"Name": "Automate",
33
"Author": "Pathoschild",
4-
"Version": "2.3.3",
4+
"Version": "2.3.4",
55
"MinimumApiVersion": "4.1.10",
66
"Description": "Lets you automate crafting machines, fruit trees, and more by connecting them to chests.",
77
"UniqueID": "Pathoschild.Automate",

0 commit comments

Comments
 (0)