Difference between revisions of "Modding:Migrate to Stardew Valley 1.6.9"

From Stardew Valley Wiki
Jump to navigation Jump to search
(→‎Name translation changes for wiki maintainers: + Russian and Spanish changes)
 
(32 intermediate revisions by 4 users not shown)
Line 32: Line 32:
  
 
==Changes for all mods==
 
==Changes for all mods==
===Full list of changes===
 
'''See the {{version|1.6.9|1.6.9 release notes}} for a full list of technical changes.''' This page focuses on documentation for larger changes which may affect mods or mod authors.
 
 
 
===[[Modding:Dialogue|Dialogue]] changes===
 
===[[Modding:Dialogue|Dialogue]] changes===
 
<ul>
 
<ul>
Line 110: Line 107:
  
 
===[[Modding:Console commands|Debug command]] changes===
 
===[[Modding:Console commands|Debug command]] changes===
1.6.9 adds some new debug command:
+
<ul>
 
+
<li>All debug commands now validate their arguments.</li>
 +
<li>Improved error-handling in many cases.</li>
 +
<li>1.6.9 adds some new debug command:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 122: Line 121:
 
| <samp>logWallAndFloorWarnings</samp>
 
| <samp>logWallAndFloorWarnings</samp>
 
| Enable debug logs when applying wallpaper and flooring to a farmhouse (or other decoratable location) to help troubleshoot cases where they don't work with a custom map. You'd usually enable this before loading the save.
 
| Enable debug logs when applying wallpaper and flooring to a farmhouse (or other decoratable location) to help troubleshoot cases where they don't work with a custom map. You'd usually enable this before loading the save.
 +
|-
 +
| <samp>whereIsItem</samp>,<br /><samp>whereItem</samp>
 +
| List all items matching the given item ID or name in the save.
 +
 +
For example:
 +
<pre>
 +
> debug whereItem "Watering Can"
 +
 +
Found 1 item matching name 'Watering Can':
 +
- Farm > Shed at 50, 14 > Shed149bae63-2add-4ab6-a5aa-b3bd76372004 > Chest at 4, 4 > Watering Can ((T)CopperWateringCan)
 +
</pre>
 
|-
 
|-
 
| <samp>worldMapPosition {{o|includeLog}}</samp>
 
| <samp>worldMapPosition {{o|includeLog}}</samp>
 
| Show detailed info to help troubleshoot [[Modding:World map|world map positioning data]]. If {{o|includeLog}} is <samp>true</samp>, it will print a detailed log of how the current position was determined based on the <samp>Data/WorldMap</samp> entries.
 
| Show detailed info to help troubleshoot [[Modding:World map|world map positioning data]]. If {{o|includeLog}} is <samp>true</samp>, it will print a detailed log of how the current position was determined based on the <samp>Data/WorldMap</samp> entries.
|}
+
|}</li>
 
+
<li>These have been removed:
These have been removed:
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 135: Line 144:
 
| <samp>buildCoop</samp>
 
| <samp>buildCoop</samp>
 
| Replaced by <samp>debug build coop</samp>.
 
| Replaced by <samp>debug build coop</samp>.
|}
+
|}</li>
 
+
<li>These have been improved:
And other debug command changes:
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 151: Line 159:
 
| <samp>furniture</samp>
 
| <samp>furniture</samp>
 
| Now allows non-numeric furniture IDs.
 
| Now allows non-numeric furniture IDs.
 +
|-
 +
| <samp>growCrops</samp>
 +
| Now affects crops in garden pots.
 +
|-
 +
| <samp>holdItem</samp>
 +
| Added an optional {{o|showMessage}} boolean argument to show the item-received message after playing the hold-item animation.
 
|-
 
|-
 
| <samp>item</samp>
 
| <samp>item</samp>
Line 160: Line 174:
 
| <samp>setUpFarm</samp>
 
| <samp>setUpFarm</samp>
 
| The <samp>clearMore</samp> argument no longer treats any value as true.
 
| The <samp>clearMore</samp> argument no longer treats any value as true.
 +
|-
 +
| <samp>spreadSeeds</samp>
 +
| Now affects crops in garden pots.
 
|-
 
|-
 
| <samp>warpCharacterTo</samp>
 
| <samp>warpCharacterTo</samp>
 
| Added a separate argument for the NPC's facing direction, instead of using the Y argument.
 
| Added a separate argument for the NPC's facing direction, instead of using the Y argument.
 
|-
 
|-
| ''various''
+
| <samp>water</samp>
| Fixed debug commands for crops not affecting those in garden pots. This affects debug growCrops, spreadSeeds, and water.
+
| Now affects crops in garden pots.
|}
+
|}</li>
 +
</ul>
  
 
===Translation changes===
 
===Translation changes===
Line 195: Line 213:
  
 
===[[Modding:Fish Pond data|Fish pond data]] changes===
 
===[[Modding:Fish Pond data|Fish pond data]] changes===
In the <samp>Rewards</samp> field, 1.6.9 adds [[Modding:Common data field types#Item query|item spawn fields]], [[Modding:Common data field types#Game state query|conditions]], and <samp>Id</samp>:
+
Added new fields:
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 202: Line 220:
 
! effect
 
! effect
 
|-
 
|-
| <samp>Id</samp>
+
| <samp>MaxPopulation</samp>
| The [[Modding:Common data field types#Unique string ID|unique string ID]] for this entry.
+
| ''(Optional)'' The maximum number of fish that can live in this pond, whether added manually or through population growth. This can't exceed the hardcoded maximum of 10. If omitted, defaults to the maximum based on <samp>PopulationGates</samp>.
 
|-
 
|-
| ''common fields''
+
| <samp>WaterColor</samp>
| See [[Modding:Item queries#Item spawn fields|item spawn fields]] for the generic item fields supported by fish pond rewards.
+
| ''(Optional)'' The color tint to apply to the water when this entry applies. If multiple are specified, the first matching entry is applied. If none match, the default water color is used.
  
Notes:
+
This consists of a list of models with these fields:
* If <samp>ItemId</samp> or <samp>RandomItemId</samp> is set to an [[Modding:Item queries|item query]] which returns multiple items, one item will be selected at random.
 
* If <samp>ItemId</samp> and <samp>RandomItemId</samp> is set to the exact string <code>(O)812</code> ([[roe]]), it will produce roe for the current fish.
 
* For the <samp>Condition</samp> field, the input item matches the fish living in the pond.
 
|}
 
  
The former <samp>MinQuantity</samp>/<samp>MaxQuantity</samp> fields are now obsolete, and replaced by the standard <samp>MinStack</samp>/<samp>MaxStack</samp> item spawn fields. For content packs which set the old fields, the value will be applied to the new ones automatically instead.
 
 
===[[Modding:Items|Item data]] changes===
 
1.6.9 adds a new field in <samp>Data/Objects</samp>:
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 223: Line 233:
 
! effect
 
! effect
 
|-
 
|-
| <samp>ColorOverlayFromNextIndex</samp>
+
| <samp>Id</samp>
| ''(Optional)'' When drawn as a colored object, whether to apply the color to the next sprite in the spritesheet and draw that over the main sprite. If false, the color is applied to the main sprite instead. Default false.
+
| The [[Modding:Common data field types#Unique string ID|unique string ID]] for this entry.
|}
 
 
 
And for all [[Modding:Item queries#Item spawn fields|item spawn fields]]:
 
{| class="wikitable"
 
! field
 
! effect
 
 
|-
 
|-
 
| <samp>Color</samp>
 
| <samp>Color</samp>
| ''(Optional)'' The tint color to apply to the produced item. Default none.
+
| ''(Optional)'' The water color to apply. This can be [[Modding:Common data field types#Color|a standard color value]], or <samp>CopyFromInput</samp> (to use the item color from the fish item data). Default none.
 +
|-
 +
| <samp>MinPopulation</samp>
 +
| ''(Optional)'' The minimum number of fish in the pond before this color applies. Default 1.
 +
|-
 +
| <samp>MinUnlockedPopulationGate</samp>
 +
| ''(Optional)'' The minimum population for the last population gate that was unlocked, or 0 for any value. Default 0.
 +
|-
 +
| <samp>Condition</samp>
 +
| ''(Optional)'' A [[Modding:Game state queries|game state query]] which indicates whether this entry should be applied. Defaults to always true.
 
|}
 
|}
 
+
|-
===[[Modding:Machines|Machine data]] changes===
+
| <samp>Rewards</samp>
1.6.9 fixes some issues with <samp>Data/Machines</samp>:
+
| This field already existed, but now has [[Modding:Common data field types#Item query|item spawn fields]], [[Modding:Common data field types#Game state query|conditions]], and <samp>Id</samp>:
* The <samp>PreserveId</samp> field now supports the <samp>DROP_IN_PRESERVE</samp> token.
 
* The <samp>CopyColor</samp> field now works for any input item, even if it's not a <samp>ColoredObject</samp> (in which case it uses the color from its context tags).
 
* The <samp>CopyQuality</samp> field no longer disables <samp>QualityModifiers</samp>; those are now applied to the result of the copy.
 
 
 
===[[Modding:Pets|Pet data]] changes===
 
In <samp>Data/Pets</samp>, the <samp>Gifts</samp> field now uses [[Modding:Item queries#Item spawn fields|item spawn fields]] (including conditions and item quality/color/name/etc). The previous <samp>QualifiedItemID</samp> and <samp>Stack</samp> fields are now deprecated, but content packs which set them should still work.
 
 
 
===[[Modding:Items#Tools|Tool data]] changes===
 
In <samp>Data/Tools</samp>, the <samp>ApplyUpgradeLevelToDisplayName</samp> field no longer exists. Every tool now has its own name instead (see ''[[#Translation changes|translation changes]]'').
 
 
 
===[[Modding:Trigger actions|Trigger action]] changes===
 
1.6.9 adds a new field in <samp>Data/TriggerActions</samp>:
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 255: Line 256:
 
! effect
 
! effect
 
|-
 
|-
| <samp>SkipPermanentlyCondition</samp>
+
| <samp>Id</samp>
| ''(Optional)'' If set, a [[Modding:Game state queries|game state query]] which indicates that the action should be marked applied when this condition matches. This happens before <samp>Condition</samp>, <samp>Action</samp>, and <samp>Actions</samp> are applied.
+
| The [[Modding:Common data field types#Unique string ID|unique string ID]] for this entry.
 +
|-
 +
| ''common fields''
 +
| See [[Modding:Item queries#Item spawn fields|item spawn fields]] for the generic item fields supported by fish pond rewards.
  
This mainly allows optimizing cases where the action will never be applied, to avoid parsing the <samp>Condition</samp> each time.
+
Notes:
 +
* If <samp>ItemId</samp> or <samp>RandomItemId</samp> is set to an [[Modding:Item queries|item query]] which returns multiple items, one item will be selected at random.
 +
* If <samp>ItemId</samp> and <samp>RandomItemId</samp> is set to the exact string <code>(O)812</code> ([[roe]]), it will produce roe for the current fish.
 +
* For the <samp>Condition</samp> field, the input item matches the fish living in the pond.
 +
|}
 
|}
 
|}
  
==Changes for C# mods==
+
The former <samp>MinQuantity</samp>/<samp>MaxQuantity</samp> fields are now obsolete, and replaced by the standard <samp>MinStack</samp>/<samp>MaxStack</samp> item spawn fields. For content packs which set the old fields, the value will be applied to the new ones automatically instead.
===Player changes===
+
 
 +
===[[Modding:Items|Item data]] changes===
 +
====In Data/Objects====
 
<ul>
 
<ul>
<li>
+
<li>Added a new field</samp>:
The <samp>Game1.getFarmer</samp> and <samp>Game1.getFarmerMaybeOffline</samp> methods are now obsolete and should no longer be used. They've been replaced by a unified <samp>Game1.GetPlayer</samp> method.
 
 
 
The old methods have inconsistent and sometimes counterintuitive behavior. For example, <samp>getFarmer(id)</samp> returns the main player if the target player is offline, which usually isn't the expected result. <samp>getFarmer</samp> also returns the main player given an invalid player ID, while <samp>getFarmerMaybeOffline</samp> returns null in that case. The new method matches offline players by default, returns null if the ID isn't found (so you can choose the best fallback behavior), and has full code docs and nullability annotations.
 
 
 
To migrate existing code:
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! old code
+
! field
! migration
+
! effect
 
|-
 
|-
| <syntaxhighlight lang="c#">Farmer player = Game1.getFarmer(id);</syntaxhighlight>
+
| <samp>ColorOverlayFromNextIndex</samp>
| The exact equivalent is:
+
| ''(Optional)'' When drawn as a colored object, whether to apply the color to the next sprite in the spritesheet and draw that over the main sprite. If false, the color is applied to the main sprite instead. Default false.
<syntaxhighlight lang="c#">Farmer player = Game1.GetPlayer(id, onlineOnly: true) ?? Game1.MasterPlayer;</syntaxhighlight>
+
|}</li>
However, most mods probably didn't expect it to work that way. Consider whether you meant this instead:
+
<li>Object buffs can now also set these buff attributes: <samp>CombatLevel</samp>, <samp>AttackMultiplier</samp>, <samp>CriticalChanceMultiplier</samp>, <samp>CriticalPowerMultiplier</samp>, <samp>Immunity</samp>, <samp>KnockbackMultiplier</samp>, <samp>WeaponPrecisionMultiplier</samp>, and <samp>WeaponSpeedMultiplier</samp>.</li>
<syntaxhighlight lang="c#">Farmer? player = Game1.GetPlayer(id);</syntaxhighlight>
+
<li>Flavor name translations like <code>Wine_Flavored_Name</code> can use a new <samp>{1}</samp> token for the lowercase name.</li>
 +
<li>You can now customize the display name for specific flavor items. For example, the <code>Wine_Flavored_(O)282_Name</code> translation ("Cranberry Wine") overrides <code>Wine_Flavored_Name</code> ("{0} Wine").</li>
 +
</ul>
 +
 
 +
====Item spawn fields====
 +
1.6.9 adds a new field for all [[Modding:Item queries#Item spawn fields|item spawn fields]]:
 +
{| class="wikitable"
 +
! field
 +
! effect
 
|-
 
|-
| <syntaxhighlight lang="c#">Farmer? player = Game1.getFarmerMaybeOffline(id);</syntaxhighlight>
+
| <samp>Color</samp>
| This is directly equivalent to:
+
| ''(Optional)'' The tint color to apply to the produced item. Default none.
<syntaxhighlight lang="c#">Farmer? player = Game1.GetPlayer(id);</syntaxhighlight>
 
 
|}
 
|}
</li>
 
<li>The <samp>Game1.player</samp> setter is now internal. Setting it causes side-effects that are typically unexpected by mod authors, which led to frequent errors and crashes. These are explained in its new code docs. Mods can still set it via reflection if they really want to.</li>
 
</ul>
 
  
===Screen reader changes===
+
====Other====
1.6.9 adds fields to support [https://www.afb.org/blindness-and-low-vision/using-technology/assistive-technology-products/screen-readers screen reader] mods. These let mods with custom UI elements add information which can be shown to blind players, without requiring an integration with each screen reader mod.
+
* For C# mods, the <samp>Object.displayNameFormat</samp> field can now use two new tokens: <samp>%DISPLAY_NAME_LOWERCASE</samp> and <samp>%PRESERVED_DISPLAY_NAME_LOWERCASE</samp>.
  
The main change is a new interface:
+
===[[Modding:Machines|Machine data]] changes===
<syntaxhighlight lang="c#>
+
1.6.9 fixes some issues with <samp>Data/Machines</samp>:
/// <summary>A UI element that provides information for screen readers.</summary>
+
* The <samp>PreserveId</samp> field now supports the <samp>DROP_IN_PRESERVE</samp> token.
/// <remarks>These values aren't displayed by the game; they're provided to allow for implementing screen reader mods.</remarks>
+
* The <samp>CopyColor</samp> field now works for any input item, even if it's not a <samp>ColoredObject</samp> (in which case it uses the color from its context tags).
public interface IScreenReadable
+
* The <samp>CopyQuality</samp> field no longer disables <samp>QualityModifiers</samp>; those are now applied to the result of the copy.
{
 
    /// <summary>If set, the translated text which represents this component for a screen reader. This may be the displayed text (for a text component), or an equivalent representation (e.g. "exit" for an 'X' button).</summary>
 
    string ScreenReaderText { get; }
 
  
    /// <summary>If set, a translated tooltip-like description for this component which can be displayed by screen readers, in addition to the <see cref="ScreenReaderText"/>.</summary>
+
===[[Modding:Maps|Map]] property changes===
    string ScreenReaderDescription { get; }
+
1.6.9 adds new map properties:
  
    /// <summary>Whether this is a purely visual component which should be ignored by screen readers.</summary>
+
{| class="wikitable"
    bool ScreenReaderIgnore { get; }
+
|-
}
+
! property
</syntaxhighlight>
+
! explanation
 +
|-
 +
| <samp>AllowBeds {{t|allowed}}</samp><br /><samp>AllowMiniFridges {{t|allowed}}</samp>
 +
| Whether [[Furniture#Beds|beds]] or [[Mini-Fridge|mini-fridges]] can be placed in this location. This can be <samp>true</samp> or <samp>false</samp>. If specified, this bypasses the usual specific requirements (e.g. farmhouse upgrade level), though general furniture restrictions still apply (e.g. the 'placement restriction' field in <samp>Data/Furniture</samp>).
 +
|}
  
This is implemented by <samp>ClickableComponent</samp> and <samp>OptionsElement</samp>, so you can add screen reader data to most UI elements out of the box.
+
===[[Modding:Pets|Pet data]] changes===
 
+
In <samp>Data/Pets</samp>, the <samp>Gifts</samp> field now uses [[Modding:Item queries#Item spawn fields|item spawn fields]] (including conditions and item quality/color/name/etc). The previous <samp>QualifiedItemID</samp> and <samp>Stack</samp> fields are now deprecated, but content packs which set them should still work.
===Light source revamp===
 
1.6.9 revamps how light sources are tracked:
 
* <samp>LightSource</samp> now has a required string ID (<samp>LightSource.Id</samp>), instead of the former optional numeric ID (<samp>LightSource.Identifier</samp>).
 
* <samp>Game1.currentLightSources</samp> is now a dictionary by ID. (You can still write <samp>Game1.currentLightSources.Add(light)</samp> like before if you add <samp>using StardewValley.Extensions</samp>.)
 
* Added unique IDs for every vanilla light source.
 
* Added validation warnings and auto-recovery for some issues.
 
* Added null handling in related helpers. For example, you can replace logic like <code>if (light != null) Utility.repositionLightSource(light.Id, position)</code> with <code>Utility.repositionLightSource(light?.Id, position)</code>.
 
* Added optional <samp>LightSource.onlyLocation</samp> field, which ensures that the light is only shown when viewing that location.
 
* Added code docs.
 
* Removed the <samp>TemporaryAnimatedSprite.light</samp> boolean field; the light is now enabled by setting the <samp>lightId</samp> field.
 
 
 
===New extension methods===
 
The game has [https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/extension-methods extension methods] in the <samp>StardewValley.Extensions</samp> namespace. These add utility methods to more general types like strings.
 
 
 
1.6.9 adds some new extension methods:
 
  
 +
===[[Modding:Tokenizable strings|Tokenizable string]] changes===
 +
<ul>
 +
<li>Added new tokens:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! type
+
! token format
! method
+
! output
! usage
+
|-
 +
| <samp>[CapitalizeFirstLetter {{t|text}}]</samp>
 +
| The input text, with the first letter capitalized.
 
|-
 
|-
| <samp>Dictionary&lt;TKey, TValue&gt;</samp>
+
| <samp>[ItemNameWithFlavor {{t|flavor type}} {{t|flavor ID}}]</samp>
| <samp>TryAddMany</samp>
+
| The translated display name for a flavored item name, where...
| Add all the key/value pairs from another dictionary to this one, except for keys that already exist.
+
* {{t|flavor type}} is one of <samp>AgedRoe</samp>, <samp>Bait</samp>, <samp>DriedFruit</samp>, <samp>DriedMushroom</samp>, <samp>Honey</samp>, <samp>Jelly</samp>, <samp>Juice</samp>, <samp>Pickle</samp>, <samp>Roe</samp>, <samp>SmokedFish</samp>, or <samp>Wine</samp>;
 +
* {{t|flavor ID}} is the [[Modding:Common data field types#Item ID|qualified or qualified item ID]] for the flavor (e.g. the blueberry in blueberry wine).
 +
|}</li>
 +
<li>For C# mods with custom tokens, parsers now receive argument values with any escape characters from <samp>[EscapedText]</samp> stripped back out.</li>
 +
</ul>
  
For example:
+
===[[Modding:Items#Tools|Tool data]] changes===
<syntaxhighlight lang="c#">
+
In <samp>Data/Tools</samp>, the <samp>ApplyUpgradeLevelToDisplayName</samp> field no longer exists. Every tool now has its own name instead (see ''[[#Translation changes|translation changes]]'').
// before 1.6.9
 
Dictionary<string, string> fields = new();
 
if (obj.customFields != null)
 
{
 
    foreach ((string key, string value) in obj.customFields)
 
        fields.TryAdd(key, value);
 
}
 
  
// after 1.6.9
+
===[[Modding:Trigger actions|Trigger action]] changes===
Dictionary<string, string> fields = new();
+
1.6.9 adds a new field in <samp>Data/TriggerActions</samp>:
fields.TryAddMany(obj.customFields);
+
{| class="wikitable"
</syntaxhighlight>
+
|-
 +
! field
 +
! effect
 
|-
 
|-
| <samp>string</samp>
+
| <samp>SkipPermanentlyCondition</samp>
| <samp>ContainsIgnoreCase</samp><br /><samp>EqualsIgnoreCase</samp><br /><samp>IndexOfIgnoreCase</samp><br /><samp>StartsWithIgnoreCase</samp><br /><samp>EndsWithIgnoreCase</samp>
+
| ''(Optional)'' If set, a [[Modding:Game state queries|game state query]] which indicates that the action should be marked applied when this condition matches. This happens before <samp>Condition</samp>, <samp>Action</samp>, and <samp>Actions</samp> are applied.
| Compare two strings case-insensitively.
 
  
For example:
+
This mainly allows optimizing cases where the action will never be applied, to avoid parsing the <samp>Condition</samp> each time.
<syntaxhighlight lang="c#">
 
// before 1.6.9
 
if (string.Equals(left, right, StringComparison.OrdinalIgnoreCase))
 
  ...
 
 
 
// after 1.6.9
 
if (left.EqualsIgnoreCase(right))
 
  ...
 
</syntaxhighlight>
 
 
 
The new methods also handle null as you'd expect. For example, <samp>left.EqualsIgnoreCase(right)</samp> will be true if both are null.
 
 
|}
 
|}
  
===SyntaxAbstractor===
+
==Changes for C# mods==
'''⚠ This is highly specialized.''' It's meant for vanilla unit tests, so it may not handle non-vanilla text correctly and may change at any time.
+
===Player changes===
 +
<ul>
 +
<li>
 +
The <samp>Game1.getFarmer</samp> and <samp>Game1.getFarmerMaybeOffline</samp> methods are now obsolete and should no longer be used. They've been replaced by a unified <samp>Game1.GetPlayer</samp> method.
  
The new <samp>SyntaxAbstractor</samp> class converts arbitrary text from content assets into language-independent syntax representations. These representations can be compared between languages to make sure they have the same sequence of commands, portraits, unlocalized metadata and delimiters, etc. This supports dialogue, event/festival, mail, and specific data formats.
+
The old methods have inconsistent and sometimes counterintuitive behavior. For example, <samp>getFarmer(id)</samp> returns the main player if the target player is offline, which usually isn't the expected result. <samp>getFarmer</samp> also returns the main player given an invalid player ID, while <samp>getFarmerMaybeOffline</samp> returns null in that case. The new method matches offline players by default, returns null if the ID isn't found (so you can choose the best fallback behavior), and has full code docs and nullability annotations.
  
For example:
+
To migrate existing code:
<syntaxhighlight lang="c#">
+
{| class="wikitable"
SyntaxAbstractor abstractor = new();
+
|-
 +
! old code
 +
! migration
 +
|-
 +
| <syntaxhighlight lang="c#">Farmer player = Game1.getFarmer(id);</syntaxhighlight>
 +
| The exact equivalent is:
 +
<syntaxhighlight lang="c#">Farmer player = Game1.GetPlayer(id, onlineOnly: true) ?? Game1.MasterPlayer;</syntaxhighlight>
 +
However, most mods probably didn't expect it to work that way. Consider whether you meant this instead:
 +
<syntaxhighlight lang="c#">Farmer? player = Game1.GetPlayer(id);</syntaxhighlight>
 +
|-
 +
| <syntaxhighlight lang="c#">Farmer? player = Game1.getFarmerMaybeOffline(id);</syntaxhighlight>
 +
| This is directly equivalent to:
 +
<syntaxhighlight lang="c#">Farmer? player = Game1.GetPlayer(id);</syntaxhighlight>
 +
|}
 +
</li>
 +
<li>The <samp>Game1.player</samp> setter is now internal. Setting it causes side-effects that are typically unexpected by mod authors, which led to frequent errors and crashes. These are explained in its new code docs. Mods can still set it via reflection if they really want to.</li>
 +
</ul>
  
// for an asset
+
===Screen reader changes===
string syntax = abstractor.ExtractSyntaxFor("Characters/Dialogue/Abigail", "Sun_old", "$p 17#I guess you think nothing would happen, right?$u|Maybe a wicked ghost would appear!"); // $p 17#text$u|text
+
1.6.9 adds fields to support [https://www.afb.org/blindness-and-low-vision/using-technology/assistive-technology-products/screen-readers screen reader] mods. These let mods with custom UI elements add information which can be shown to blind players, without requiring an integration with each screen reader mod.
  
// for a format
+
The main change is a new interface:
string syntax = abstractor.ExtractMailSyntax("Hey there!^I had some extra wood lying around... I thought maybe you could use it. Take care!  ^  -Robin %item id (O)388 50 %%[#]A Gift From Robin"); // text%item id (O)388 50%%[#]text
+
<syntaxhighlight lang="c#>
 +
/// <summary>A UI element that provides information for screen readers.</summary>
 +
/// <remarks>These values aren't displayed by the game; they're provided to allow for implementing screen reader mods.</remarks>
 +
public interface IScreenReadable
 +
{
 +
    /// <summary>If set, the translated text which represents this component for a screen reader. This may be the displayed text (for a text component), or an equivalent representation (e.g. "exit" for an 'X' button).</summary>
 +
    string ScreenReaderText { get; }
  
// for arbitrary delimited data
+
    /// <summary>If set, a translated tooltip-like description for this component which can be displayed by screen readers, in addition to the <see cref="ScreenReaderText"/>.</summary>
string customData = "SomeKey/Example Title/An example description./Robin (O)788 Forest 110 81/-1/true/Hey, nice to see you!$h";
+
    string ScreenReaderDescription { get; }
int[] textFields = [1, 2];
+
 
int[] dialogueFields = [6];
+
    /// <summary>Whether this is a purely visual component which should be ignored by screen readers.</summary>
string syntax = abstractor.ExtractDelimitedDataSyntax(customData, '/', textFields, dialogueFields); // SomeKey/text/text/Robin (O)788 Forest 110 81/-1/true/text$h
+
    bool ScreenReaderIgnore { get; }
 +
}
 
</syntaxhighlight>
 
</syntaxhighlight>
  
This is meant for unit tests that compare translations with the base text to make sure the basic format is the same. For unit tests, you'd usually use this through the [[#TranslationValidator|<samp>TranslationValidator</samp>]] instead of directly.
+
This is implemented by <samp>ClickableComponent</samp> and <samp>OptionsElement</samp>, so you can add screen reader data to most UI elements out of the box.
 +
 
 +
===Light source revamp===
 +
1.6.9 revamps how light sources are tracked:
 +
* <samp>LightSource</samp> now has a required string ID (<samp>LightSource.Id</samp>), instead of the former optional numeric ID (<samp>LightSource.Identifier</samp>).
 +
* <samp>Game1.currentLightSources</samp> is now a dictionary by ID. (You can still write <samp>Game1.currentLightSources.Add(light)</samp> like before if you add <samp>using StardewValley.Extensions</samp>.)
 +
* Added unique IDs for every vanilla light source.
 +
* Added validation warnings and auto-recovery for some issues.
 +
* Added null handling in related helpers. For example, you can replace logic like <code>if (light != null) Utility.repositionLightSource(light.Id, position)</code> with <code>Utility.repositionLightSource(light?.Id, position)</code>.
 +
* Added optional <samp>LightSource.onlyLocation</samp> field, which ensures that the light is only shown when viewing that location.
 +
* Added code docs.
 +
* Removed the <samp>TemporaryAnimatedSprite.light</samp> boolean field; the light is now enabled by setting the <samp>lightId</samp> field.
 +
 
 +
===Quest event revamp===
 +
Previously, the game would call <samp>Game1.player.checkForQuestComplete</samp> with various arguments like <code>string str</code> and <code>int number2</code>, which had different behavior depending on the quest type.
  
===TranslationValidator===
+
These have been replaced with more specific methods like <samp>Quest.OnMonsterSlain</samp>, which...
The new <samp>TranslationValidator</samp> class compares translations to the original data, and returns a list of detected issues like missing or unknown keys, [[#SyntaxAbstractor|mismatched syntax]], or malformed syntax (e.g. invalid gender-switch blocks).
+
* are more intuitive to use;
 +
* receive more detailed info (e.g. the damage type when a monster is slain);
 +
* and let custom quests handle multiple event types (e.g. both item crafted and item received).
  
For example, to validate a C# mod's translations:
+
The <samp>Farmer</samp> method has been replaced with a single <samp>NotifyQuests</samp> method, which performs an action on each quest and returns whether any quest was updated.
<syntaxhighlight lang="c#">
 
// get translations
 
var translatedData = helper.Translation.GetTranslations().ToDictionary(p => p.Key);
 
  
// get base text
+
Here's how the old <samp>Quest</samp> methods map to the new ones. (The <samp>Farmer</samp> methods are the same thing, but just add <samp>Game1.player.NotifyQuests(quest => ...)</samp> around them.)
var baseData = new Dictionary<string, Translation>();
 
foreach (string key in translatedData.Keys)
 
{
 
    if (helper.Translation.GetInAllLocales(key).TryGetValue("default", out Translation? baseText))
 
        baseData[key] = baseText;
 
}
 
 
 
// assert all tests succeed
 
SyntaxAbstractor abstractor = new();
 
foreach (var issue in TranslationValidator.Compare(baseData, translatedData, element => element.Value, (key, value) => abstractor.ExtractDialogueSyntax(value)))
 
    Assert.Fail($"Validation failed for '{issue.Key}': {issue.SuggestedError}.");
 
</syntaxhighlight>
 
 
 
===New utility fields & methods===
 
1.6.9 adds many new utility methods and fields. For example:
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! member
+
! old code
! usage
+
! new code
 
|-
 
|-
| ''object dictionaries'' → <samp>GetValueOrDefault()</samp>
+
| <syntaxhighlight lang="c#">quest.checkForQuestComplete(n, -1, -1, null, null, Quests.Quest.type_socialize)</syntaxhighlight>
| Object dictionaries (like <samp>GameLocation.objects</samp>) now implement the .NET <samp>GetValueOrDefault</samp> method, which lets you simplify common code:
+
| <syntaxhighlight lang="c#">quest.OnNpcSocialized(npc)</syntaxhighlight>
<syntaxhighlight lang="c#">
 
// before 1.6.9
 
string? itemId = location.objects.TryGetValue(tile, out Object? obj)
 
    ? obj.ItemId
 
    : null;
 
 
 
// after 1.6.9
 
string? itemId = location.objects.GetValueOrDefault(tile)?.ItemId;
 
</syntaxhighlight>
 
 
|-
 
|-
| <samp>Buff.customFields</samp>
+
| <syntaxhighlight lang="c#">quest.checkForQuestComplete(null, -1, -1, null, buildingType, Quests.Quest.type_building)</syntaxhighlight>
| The custom fields from the <samp>Data/Buffs</samp> and/or <samp>Data/Objects</samp> entry used to create the buff, if any.
+
| <syntaxhighlight lang="c#">quest.OnBuildingFirstConstructed(buildingType)</syntaxhighlight>
 
|-
 
|-
| <samp>Bush.readyForHarvest()</samp>
+
| <syntaxhighlight lang="c#">quest.checkForQuestComplete(null, -1, numberCaught, null, itemId, Quest.type_fishing)</syntaxhighlight>
| Get whether this bush has berries or fruit to harvest.
+
| <syntaxhighlight lang="c#">quest.OnFishCaught(itemId, numberCaught, size)</syntaxhighlight>
 
|-
 
|-
| <samp>ClickableTextureComponent.drawLabel</samp>
+
| <syntaxhighlight lang="c#">quest.checkForQuestComplete(null, -1, countAdded, item, null, Quest.type_harvest)
| Set whether the label should be drawn. This lets you add a label that's not rendered automatically.
+
quest.checkForQuestComplete(null, -1, countAdded, actualItem, null, Quest.type_resource)</syntaxhighlight>
 +
| <syntaxhighlight lang="c#">quest.OnItemReceived(item, countAdded)</syntaxhighlight>
 
|-
 
|-
| <samp>ColoredObject.TrySetColor(…)</samp>
+
| <syntaxhighlight lang="c#">quest.checkForQuestComplete(npc, -1, -1, item, "", Quests.Quest.type_harvest, Quests.Quest.type_itemDelivery)</syntaxhighlight>
| Apply a tint color to an arbitrary item. This will change the input item directly if it's a <samp>ColoredObject</samp>, otherwise it'll create a new <samp>ColoredObject</samp> instance.
+
| <syntaxhighlight lang="c#">quest.OnItemOfferedToNpc(npc, item)</syntaxhighlight>
 
 
For example:
 
<syntaxhighlight lang="c#">
 
Item inputItem = ItemRegistry.Create("(O)128"); // pufferfish
 
if (ColoredObject.TrySetColor(inputItem, Color.Red, out ColoredObject? coloredObj)) // coloredObj = red pufferfish
 
  ...;
 
</syntaxhighlight>
 
 
|-
 
|-
| <samp>CrabPot.NeedsBait(player)</samp>
+
| <syntaxhighlight lang="c#">quest.checkForQuestComplete(null, 1, 1, null, monster.Name, Quests.Quest.type_monster)</syntaxhighlight>
| Get whether the [[Crab Pot|crab pot]] doesn't have bait, and bait is needed before it can catch anything based on the player's professions.
+
| <syntaxhighlight lang="c#">quest.OnMonsterSlain(location, monster, killedByBomb, isHutchSlime)</syntaxhighlight>
 
|-
 
|-
| <samp>Crop.replaceWithObjectOnFullGrown</samp>
+
| <syntaxhighlight lang="c#">quest.checkForQuestComplete(null, -1, -1, crafted, null, Quests.Quest.type_crafting)</syntaxhighlight>
| If set, the qualified object ID to spawn on the crop's tile when it's full-grown. The crop will be removed when the object is spawned.
+
| <syntaxhighlight lang="c#">quest.OnRecipeCrafted(recipe, crafted)</syntaxhighlight>
 
|-
 
|-
| <samp>Event.TryResolveCommandName()</samp>
+
| <syntaxhighlight lang="c#">quest.checkIfComplete(null, -1, -2, null, location.name)</syntaxhighlight>
| Get the actual event command name which matches an input command or alias name. This can be used to resolve an alias (like <samp>mailReceived</samp> → <samp>AddMailReceived</samp>) or normalize the capitalization (like <samp>itemnamed</samp> → <samp>ItemNamed</samp>).
+
| <syntaxhighlight lang="c#">quest.OnWarped(location)</syntaxhighlight>
 +
|}
 +
 
 +
===New extension methods===
 +
The game has [https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/extension-methods extension methods] in the <samp>StardewValley.Extensions</samp> namespace. These add utility methods to more general types like strings.
 +
 
 +
1.6.9 adds some new extension methods:
  
For example:
+
{| class="wikitable"
<syntaxhighlight lang="c#">
 
if (Event.TryResolveCommandName("mailRECEIVED", out string commandName))
 
    ...; // commandName = AddMailReceived
 
</syntaxhighlight>
 
 
|-
 
|-
| <samp>Game1.IsHudDrawn</samp>
+
! type
| Whether HUD elements like the toolbar are currently visible.
+
! method
 +
! usage
 
|-
 
|-
| <samp>Game1.locationData</samp>
+
| <samp>Dictionary&lt;TKey, TValue&gt;</samp>
| A cached view of the <samp>Data/Locations</samp> asset.
+
| <samp>TryAddMany</samp>
|-
+
| Add all the key/value pairs from another dictionary to this one, except for keys that already exist.
| <samp>GameLocation.CanWakeUpHere()</samp>
 
| Get whether a player can wake up in this location, instead of being warped home.
 
|-
 
| <samp>GameLocation.ForEachDirt(…)</samp>
 
| Perform an action for every tilled dirt in the location. You can optionally exclude dirt in [[Garden Pot|garden pots]].
 
  
 
For example:
 
For example:
 
<syntaxhighlight lang="c#">
 
<syntaxhighlight lang="c#">
Game1.currentLocation.ForEachDirt(dirt =>
+
// before 1.6.9
 +
Dictionary<string, string> fields = new();
 +
if (obj.customFields != null)
 
{
 
{
     dirt.Pot?.Water();
+
     foreach ((string key, string value) in obj.customFields)
    dirt.state.Value = HoeDirt.watered;
+
        fields.TryAdd(key, value);
    return true;
+
}
});
+
 
 +
// after 1.6.9
 +
Dictionary<string, string> fields = new();
 +
fields.TryAddMany(obj.customFields);
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|-
 
|-
| <samp>GameLocation.GetHarvestSpawnedObjectQuality(…)</samp>
+
| <samp>string</samp>
| Get the quality to set when harvesting a spawned object like forage.
+
| <samp>ContainsIgnoreCase</samp><br /><samp>EqualsIgnoreCase</samp><br /><samp>IndexOfIgnoreCase</samp><br /><samp>StartsWithIgnoreCase</samp><br /><samp>EndsWithIgnoreCase</samp>
|-
+
| Compare two strings case-insensitively.
| <samp>GameLocation.OnHarvestedForage(…)</samp>
+
 
| Grant foraging or farming XP when the player harvests forage, and any other behavior defined by mods.
+
For example:
|-
 
| <samp>HoeDirt.Pot</samp>
 
| The [[Garden Pot|garden pot]] which holds the dirt, if applicable. This is set automatically by the game.
 
|-
 
| <samp>Item.BaseName</samp>
 
| If the item's <samp>Name</samp> contains temporary dynamic changes like the " Recipe" suffix for a recipe, the item name without those changes.
 
|-
 
| <samp>Item.canBeShipped()</samp>
 
| Get whether this item can be put in the shipping bin. This replaces the former <samp>Object.canBeShipped()</samp>, and returning true now works with any item type.
 
|-
 
| <samp>Item.CopyFieldsFrom(otherItem)</samp>
 
| Copy all fields from another item into the current one. This is equivalent to <samp>item.getOne()</samp>, except that you update an existing item instead.
 
|-
 
| <samp>Item.LearnRecipe()</samp>
 
| Learn the recipe for this item (regardless of whether the recipe is in <samp>Data/CookingRecipes</samp> or <samp>Data/CraftingRecipes</samp>).
 
|-
 
| <samp>MineShaft.IsGeneratedLevel(…)</samp><br /><samp>VolcanoDungeon.IsGeneratedLevel(…)</samp>
 
| These methods already existed before 1.6.9, but they now have overloads without the <samp>out</samp> parameters to simplify common logic. For example:
 
 
<syntaxhighlight lang="c#">
 
<syntaxhighlight lang="c#">
if (MineShaft.IsGeneratedLevel(location))
+
// before 1.6.9
   ...;
+
if (string.Equals(left, right, StringComparison.OrdinalIgnoreCase))
 +
  ...
 +
 
 +
// after 1.6.9
 +
if (left.EqualsIgnoreCase(right))
 +
   ...
 
</syntaxhighlight>
 
</syntaxhighlight>
|-
+
 
| <samp>NPC.CanSocializePerData()</samp>
+
The new methods also handle null as you'd expect. For example, <samp>left.EqualsIgnoreCase(right)</samp> will be true if both are null.
| Get whether social features (like birthdays, gift giving, friendship, and an entry in the social tab) should be enabled for an NPC, based on their entry in <samp>Data/Characters</samp>. This is equivalent to <samp>npc.CanSocialize</samp>, but doesn't need an instance of the NPC.
+
|}
|-
+
 
| <samp>Object.GetPreservedItemId()</samp>
+
===SyntaxAbstractor===
| Get the item ID which was preserved as part of this item (e.g. the tulip ID for tulip honey), if applicable. This is equivalent to <samp>item.preservedParentSheetIndex</samp>, except in special cases like wild honey where <samp>preservedParentSheetIndex</samp> is set to a non-item value like <samp>-1</samp>.
+
'''⚠ This is highly specialized.''' It's meant for vanilla unit tests, so it may not handle non-vanilla text correctly and may change at any time.
|-
+
 
| <samp>Raccoon.GetBundle()</samp><br /><samp>Raccoon.GetBundle(timesFed)</samp>
+
The new <samp>SyntaxAbstractor</samp> class converts arbitrary text from content assets into language-independent syntax representations. These representations can be compared between languages to make sure they have the same sequence of commands, portraits, unlocalized metadata and delimiters, etc. This supports dialogue, event/festival, mail, and specific data formats.
| Get the [[Giant Stump|raccoon bundle]] that will be shown currently, or after completing a given number of bundles.
 
|-
 
| <samp>Utility.fuzzySearchAll(…)</samp>
 
| Find all matches for a search term based on fuzzy compare rules.
 
  
 
For example:
 
For example:
 
<syntaxhighlight lang="c#">
 
<syntaxhighlight lang="c#">
IEnumerable<string> coopNames = Utility.FuzzySearchAll("coop", Game1.buildingData.Keys); // [ "Coop", "Big Coop", "Deluxe Coop" ]
+
SyntaxAbstractor abstractor = new();
</syntaxhighlight>
+
 
|-
+
// for an asset
| <samp>WorldDate.GetDaysPlayed()</samp>
+
string syntax = abstractor.ExtractSyntaxFor("Characters/Dialogue/Abigail", "Sun_old", "$p 17#I guess you think nothing would happen, right?$u|Maybe a wicked ghost would appear!"); // $p 17#text$u|text
| Get the total days for a given date from the start of the game, to allow for efficient date comparisons.
+
 
 +
// for a format
 +
string syntax = abstractor.ExtractMailSyntax("Hey there!^I had some extra wood lying around... I thought maybe you could use it. Take care!  ^  -Robin %item id (O)388 50 %%[#]A Gift From Robin"); // text%item id (O)388 50%%[#]text
  
For example:
+
// for arbitrary delimited data
<syntaxhighlight lang="c#">
+
string customData = "SomeKey/Example Title/An example description./Robin (O)788 Forest 110 81/-1/true/Hey, nice to see you!$h";
int minDaysPlayed = WorldDate.GetDaysPlayed(year, season, dayOfMonth);
+
int[] textFields = [1, 2];
int actualDaysPlayed = Game1.Date.TotalDays;
+
int[] dialogueFields = [6];
if (actualDaysPlayed >= minDaysPlayed)
+
string syntax = abstractor.ExtractDelimitedDataSyntax(customData, '/', textFields, dialogueFields); // SomeKey/text/text/Robin (O)788 Forest 110 81/-1/true/text$h
  ...;
 
 
</syntaxhighlight>
 
</syntaxhighlight>
|}
 
  
===New constants===
+
This is meant for unit tests that compare translations with the base text to make sure the basic format is the same. For unit tests, you'd usually use this through the [[#TranslationValidator|<samp>TranslationValidator</samp>]] instead of directly.
1.6.9 adds new constants:
 
{| class="wikitable"
 
|-
 
! constant
 
! usage
 
|-
 
| <samp>AchievementIds.*</samp>
 
| The IDs for achievements in <samp>Data/Achievements</samp>. For example:
 
  
<syntaxhighlight lang="c#">
+
===TranslationValidator===
// before 1.6.9
+
The new <samp>TranslationValidator</samp> class compares translations to the original data, and returns a list of detected issues like missing or unknown keys, [[#SyntaxAbstractor|mismatched syntax]], or malformed syntax (e.g. invalid gender-switch blocks).
if (player.achievements.Contains(34))
+
 
  ...;
+
For example, to validate a C# mod's translations:
 +
<syntaxhighlight lang="c#">
 +
// get translations
 +
var translatedData = helper.Translation.GetTranslations().ToDictionary(p => p.Key);
 +
 
 +
// get base text
 +
var baseData = new Dictionary<string, Translation>();
 +
foreach (string key in translatedData.Keys)
 +
{
 +
    if (helper.Translation.GetInAllLocales(key).TryGetValue("default", out Translation? baseText))
 +
        baseData[key] = baseText;
 +
}
  
// after 1.6.9
+
// assert all tests succeed
if (player.achievements.Contains(AchievementIds.FullShipment))
+
SyntaxAbstractor abstractor = new();
  ...;
+
foreach (var issue in TranslationValidator.Compare(baseData, translatedData, element => element.Value, (key, value) => abstractor.ExtractDialogueSyntax(value)))
 +
    Assert.Fail($"Validation failed for '{issue.Key}': {issue.SuggestedError}.");
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
===New utility fields & methods===
 +
1.6.9 adds many new utility methods and fields. For example:
 +
{| class="wikitable"
 
|-
 
|-
| <samp>Item.ErrorItemName</samp>
+
! member
| The "Error Item" name shown for invalid items.
+
! usage
 
|-
 
|-
| <samp>SpecialCurrencyDisplay.currency_qiGems</samp><br /><samp>SpecialCurrencyDisplay.currency_walnuts</samp>
+
| ''object dictionaries'' → <samp>GetValueOrDefault(…)</samp>
| The currency types supported by the special currency display (shown in the top-left corner when you find a [[Qi Gem|Qi gem]] or [[Golden Walnut|golden walnut]]).
+
| Object dictionaries (like <samp>GameLocation.objects</samp>) now implement the .NET <samp>GetValueOrDefault</samp> method, which lets you simplify common code:
|}
+
<syntaxhighlight lang="c#">
 +
// before 1.6.9
 +
string? itemId = location.objects.TryGetValue(tile, out Object? obj)
 +
    ? obj.ItemId
 +
    : null;
  
===<samp>OutputMethod</samp> changes in <samp>Data/Machines</samp>===
+
// after 1.6.9
If you have custom C# methods which are used in the <samp>OutputMethod</samp> field in [[Modding:Machines|<samp>Data/Machines</samp>]], the method signature has changed in 1.6.9. You'll need to add the new <samp>Farmer player</samp> argument to your methods:
+
string? itemId = location.objects.GetValueOrDefault(tile)?.ItemId;
<syntaxhighlight lang="c#">
 
/// <summary>The method signature for a custom <see cref="MachineItemOutput.OutputMethod"/> method.</summary>
 
/// <param name="machine">The machine instance for which to produce output.</param>
 
/// <param name="inputItem">The item being dropped into the machine, if applicable.</param>
 
/// <param name="probe">Whether the machine is only checking the output that would be produced. If so, the input/machine shouldn't be changed and no animations/sounds should play.</param>
 
/// <param name="outputData">The item output data from <c>Data/Machines</c> for which output is being created, if applicable.</param>
 
/// <param name="player">The player interacting with the machine, if any.</param>
 
/// <param name="overrideMinutesUntilReady">The in-game minutes until the item will be ready to collect, if set. This overrides the equivalent fields in the machine data if set.</param>
 
/// <returns>Returns the item to produce, or <c>null</c> if none should be produced.</returns>
 
public delegate Item MachineOutputDelegate(Object machine, Item inputItem, bool probe, MachineItemOutput outputData, Farmer player, out int? overrideMinutesUntilReady);
 
 
</syntaxhighlight>
 
</syntaxhighlight>
 
==Changes for SMAPI and external tools==
 
===Content hashes===
 
The game now has a <samp>Content/ContentHashes.json</samp> file, which contains the MD5 hash for every vanilla content asset. This lets SMAPI, mod managers, and other tools auto-detect content files that are outdated, broken, missing, or replaced by [[Modding:Using XNB mods|XNB mods]].
 
 
==Name translation changes for wiki maintainers==
 
Some in-game item or monster names were retranslated in some languages for clarity or correctness.
 
 
This list is mostly provided to help wiki maintainers update pages, so it doesn't include names which only changed capitalization, changed <code>'</code> (straight apostrophe) to <code>’</code> (curly) in French, or aren't visible to vanilla players (like mine rocks).
 
 
===Objects===
 
; French
 
: {| class="wikitable"
 
 
|-
 
|-
! item
+
| <samp>Buff.customFields</samp>
! old name
+
| The custom fields from the <samp>Data/Buffs</samp> and/or <samp>Data/Objects</samp> entry used to create the buff, if any.
! new name
+
|-
 +
| <samp>Bush.readyForHarvest()</samp>
 +
| Get whether this bush has berries or fruit to harvest.
 
|-
 
|-
| [[Aerinite]]
+
| <samp>ClickableTextureComponent.drawLabel</samp>
| ''Aerinite''
+
| Set whether the label should be drawn. This lets you add a label that's not rendered automatically.
| ''Aérinite''
 
 
|-
 
|-
| [[Blobfish]]
+
| <samp>ColoredObject.TrySetColor(…)</samp>
| ''Blobfish''
+
| Apply a tint color to an arbitrary item. This will change the input item directly if it's a <samp>ColoredObject</samp>, otherwise it'll create a new <samp>ColoredObject</samp> instance.
| ''Poisson-blob''
+
 
|-
+
For example:
| [[Bone Mill]]
+
<syntaxhighlight lang="c#">
| ''Bone Moulin''
+
Item inputItem = ItemRegistry.Create("(O)128"); // pufferfish
| ''Moulin à os''
+
if (ColoredObject.TrySetColor(inputItem, Color.Red, out ColoredObject? coloredObj)) // coloredObj = red pufferfish
 +
  ...;
 +
</syntaxhighlight>
 +
|-
 +
| <samp>CrabPot.NeedsBait(player)</samp>
 +
| Get whether the [[Crab Pot|crab pot]] doesn't have bait, and bait is needed before it can catch anything based on the player's professions.
 
|-
 
|-
| [[Cave Jelly]]
+
| <samp>Crop.replaceWithObjectOnFullGrown</samp>
| ''Méduse des cavernes''
+
| If set, the qualified object ID to spawn on the crop's tile when it's full-grown. The crop will be removed when the object is spawned.
| ''Gelée des cavernes''
 
 
|-
 
|-
| [[Cookie]]
+
| <samp>Dialogue.GetFallbackForError(npc)</samp><br /><samp>Dialogue.GetFallbackTextForError()</samp>
| ''Cookie''
+
| Get a translated default "..." dialogue, which is shown in cases where a valid dialogue couldn't be loaded.
| ''Biscuit''
 
 
|-
 
|-
| [[Dinosaur Mayonnaise]]
+
| <samp>Event.TryResolveCommandName(…)</samp>
| ''Mayonnaise dinosaure''
+
| Get the actual event command name which matches an input command or alias name. This can be used to resolve an alias (like <samp>mailReceived</samp> → <samp>AddMailReceived</samp>) or normalize the capitalization (like <samp>itemnamed</samp> → <samp>ItemNamed</samp>).
| ''Mayonnaise de dinosaure''
+
 
 +
For example:
 +
<syntaxhighlight lang="c#">
 +
if (Event.TryResolveCommandName("mailRECEIVED", out string commandName))
 +
    ...; // commandName = AddMailReceived
 +
</syntaxhighlight>
 
|-
 
|-
| [[Fairy Rose]]
+
| <samp>FarmHouse.GetFridgePositionFromMap()</samp>
| ''Rose Féerie''
+
| Get the position of the map fridge by scanning the map tiles. (Most code should use the cached <samp>fridgePosition</samp> field instead.)
| ''Rose de fée''
 
 
|-
 
|-
| [[Fairy Seeds]]
+
| <samp>Game1.IsHudDrawn</samp>
| ''Graines de rose Féerie''
+
| Whether HUD elements like the toolbar are currently visible.
| ''Graines de rose de fée''
 
 
|-
 
|-
| [[Fiddlehead Fern]]
+
| <samp>Game1.locationData</samp>
| ''Fougères de Fern''
+
| A cached view of the <samp>Data/Locations</samp> asset.
| ''Crosse de fougère''
 
 
|-
 
|-
| [[Fiddlehead Risotto]]
+
| <samp>GameLocation.CanWakeUpHere()</samp>
| ''Risotto aux fougères''
+
| Get whether a player can wake up in this location, instead of being warped home.
| ''Risotto aux crosses de fougère''
 
 
|-
 
|-
| [[Granite]]
+
| <samp>GameLocation.ForEachDirt(…)</samp>
| ''Granite''
+
| Perform an action for every tilled dirt in the location. You can optionally exclude dirt in [[Garden Pot|garden pots]].
| ''Granit''
+
 
 +
For example:
 +
<syntaxhighlight lang="c#">
 +
Game1.currentLocation.ForEachDirt(dirt =>
 +
{
 +
    dirt.Pot?.Water();
 +
    dirt.state.Value = HoeDirt.watered;
 +
    return true;
 +
});
 +
</syntaxhighlight>
 
|-
 
|-
| Haley's Lost Bracelet
+
| <samp>GameLocation.GetHarvestSpawnedObjectQuality(…)</samp>
| ''Haley's Lost Bracelet''
+
| Get the quality to set when harvesting a spawned object like forage.
| ''Bracelet perdu de Haley''
 
 
|-
 
|-
| Item Pedestal
+
| <samp>GameLocation.OnHarvestedForage(…)</samp>
| ''Item Pedestal''
+
| Grant foraging or farming XP when the player harvests forage, and any other behavior defined by mods.
| ''Piédestal''
 
 
|-
 
|-
| [[Maple Bar]]
+
| <samp>GameLocation.ParentBuilding</samp>
| ''Gâteau à l'érable''
+
| The building which contains this location, if applicable. This replaces the former <samp>GetContainingBuilding()</samp> method, to avoid iterating the parent location's building list each time.
| ''Gâteau d’érable''
 
 
|-
 
|-
| [[Midnight Squid]]
+
| <samp>HoeDirt.Pot</samp>
| ''Calmar de minuit''
+
| The [[Garden Pot|garden pot]] which holds the dirt, if applicable. This is set automatically by the game.
| ''Calamar de minuit''
 
 
|-
 
|-
| [[Qi Bean]]
+
| <samp>Item.BaseName</samp>
| ''Haricot Qi''
+
| If the item's <samp>Name</samp> contains temporary dynamic changes like the " Recipe" suffix for a recipe, the item name without those changes.
| ''Haricot de Qi''
 
 
|-
 
|-
| [[Qi Fruit]]
+
| <samp>Item.canBeShipped()</samp>
| ''Fruit Qi''
+
| Get whether this item can be put in the shipping bin. This replaces the former <samp>Object.canBeShipped()</samp>, and returning true now works with any item type.
| ''Fruit de Qi''
 
 
|-
 
|-
| [[Qi Gem]]
+
| <samp>Item.CopyFieldsFrom(otherItem)</samp>
| ''Gemme Qi''
+
| Copy all fields from another item into the current one. This is equivalent to <samp>item.getOne()</samp>, except that you update an existing item instead.
| ''Gemmes de Qi''
 
 
|-
 
|-
| [[River Jelly]]
+
| <samp>LocalizedContentManager.LoadStringReturnNullIfNotFound(…)</samp>
| ''Méduse d’eau douce''
+
| This method already existed, but now has optional substitution arguments and an optional <samp>localeFallback</samp> argument.
| ''Gelée de rivière''
 
 
|-
 
|-
| [[Sea Jelly]]
+
| <samp>LocalizedContentManager.LoadBaseStringOrNull(…)</samp>
| ''Méduse de l’océan.''
+
| Get the default English text for a translation path, or <samp>null</samp> if it's not found.
| ''Gelée de mer''
 
 
|-
 
|-
| [[Squid]]
+
| <samp>Item.LearnRecipe()</samp>
| ''Calmar''
+
| Learn the recipe for this item (regardless of whether the recipe is in <samp>Data/CookingRecipes</samp> or <samp>Data/CraftingRecipes</samp>).
| ''Calamar''
 
 
|-
 
|-
| [[Sweet Gem Berry]]
+
| <samp>MineShaft.IsGeneratedLevel(…)</samp><br /><samp>VolcanoDungeon.IsGeneratedLevel(…)</samp>
| ''Baie gemme sucrée''
+
| These methods already existed before 1.6.9, but they now have overloads without the <samp>out</samp> parameters to simplify common logic. For example:
| ''Baie de gemme sucrée''
+
<syntaxhighlight lang="c#">
|}
+
if (MineShaft.IsGeneratedLevel(location))
 
+
  ...;
; German
+
</syntaxhighlight>
: {| class="wikitable"
 
 
|-
 
|-
! item
+
| <samp>NPC.CanSocializePerData(…)</samp>
! old name
+
| Get whether social features (like birthdays, gift giving, friendship, and an entry in the social tab) should be enabled for an NPC, based on their entry in <samp>Data/Characters</samp>. This is equivalent to <samp>npc.CanSocialize</samp>, but doesn't need an instance of the NPC.
! new name
 
 
|-
 
|-
| [[Artifact Trove]]
+
| <samp>Object.GetPreservedItemId()</samp>
| ''Artefakt Fund''
+
| Get the item ID which was preserved as part of this item (e.g. the tulip ID for tulip honey), if applicable. This is equivalent to <samp>item.preservedParentSheetIndex</samp>, except in special cases like wild honey where <samp>preservedParentSheetIndex</samp> is set to a non-item value like <samp>-1</samp>.
| ''Artefaktfund''
 
 
|-
 
|-
| [[Calico Egg]]
+
| <samp>Object.IsTextSign()</samp>
| ''Calico Ei''
+
| Get whether the object can have editable text which is shown on hover like a [[Text Sign|text sign]].
| ''Calico-Ei''
 
 
|-
 
|-
| [[Combat Quarterly]]
+
| <samp>Object.GetObjectDisplayName(…)</samp>
| ''Kampf-Vierteljahresschrift''
+
| Get the display name which would be set for an object, without needing to create an object instance.
| ''Kampf-Quartalsheft''
 
 
|-
 
|-
| [[Curiosity Lure]]
+
| <samp>Raccoon.GetBundle()</samp><br /><samp>Raccoon.GetBundle(timesFed)</samp>
| ''Neugierde Köder''
+
| Get the [[Giant Stump|raccoon bundle]] that will be shown currently, or after completing a given number of bundles.
| ''Neugierköder''
 
 
|-
 
|-
| [[Deluxe Worm Bin]]
+
| <samp>Utility.fuzzySearchAll(…)</samp>
| ''Luxus-Wurmbehälter''
+
| Find all matches for a search term based on fuzzy compare rules.
| ''Luxus-Wurmeimer''
+
 
 +
For example:
 +
<syntaxhighlight lang="c#">
 +
IEnumerable<string> coopNames = Utility.FuzzySearchAll("coop", Game1.buildingData.Keys); // [ "Coop", "Big Coop", "Deluxe Coop" ]
 +
</syntaxhighlight>
 
|-
 
|-
| [[Dressed Spinner]]
+
| <samp>WorldDate.GetDaysPlayed(…)</samp>
| ''Verkleideter Dreher''
+
| Get the total days for a given date from the start of the game, to allow for efficient date comparisons.
| ''Verkleideter Spinner''
+
 
 +
For example:
 +
<syntaxhighlight lang="c#">
 +
int minDaysPlayed = WorldDate.GetDaysPlayed(year, season, dayOfMonth);
 +
int actualDaysPlayed = Game1.Date.TotalDays;
 +
if (actualDaysPlayed >= minDaysPlayed)
 +
  ...;
 +
</syntaxhighlight>
 +
|}
 +
 
 +
===New constants===
 +
1.6.9 adds new constants:
 +
{| class="wikitable"
 
|-
 
|-
| [[Farm Computer]]
+
! constant
| ''Hof Rechner''
+
! usage
| ''Hof-Rechner''
 
 
|-
 
|-
| [[Fireworks]]
+
| <samp>AchievementIds.*</samp>
| ''Fireworks (Grün)''
+
| The IDs for achievements in <samp>Data/Achievements</samp>. For example:
| ''Feuerwerk (Grün)''
+
 
 +
<syntaxhighlight lang="c#">
 +
// before 1.6.9
 +
if (player.achievements.Contains(34))
 +
  ...;
 +
 
 +
// after 1.6.9
 +
if (player.achievements.Contains(AchievementIds.FullShipment))
 +
  ...;
 +
</syntaxhighlight>
 
|-
 
|-
| [[Goby]]
+
| <samp>Item.ErrorItemName</samp>
| ''Goby''
+
| The "Error Item" name shown for invalid items.
| ''Grundeln''
 
 
|-
 
|-
| [[Hot Java Ring]]
+
| <samp>SpecialCurrencyDisplay.currency_qiGems</samp><br /><samp>SpecialCurrencyDisplay.currency_walnuts</samp>
| ''Heißer Java Ring''
+
| The currency types supported by the special currency display (shown in the top-left corner when you find a [[Qi Gem|Qi gem]] or [[Golden Walnut|golden walnut]]).
| ''Heißer Java-Ring''
+
|}
|-
+
 
| Item Pedestal
+
===<samp>ForEachItem</samp> changes===
| ''Item Pedestal''
+
The <samp>ForEachItem</samp> methods changed a bit in 1.6.9. (These methods iterate through every item in the world, and optionally remove/replace instances.)
| ''Gegenstand Podest''
+
 
|-
+
'''Most mods aren't affected.''' This affects mods which use the advanced <samp>ForEachItem</samp> form (like <code>Utility.ForEachItem((item, remove, replaceWith) => ...)</code>), or which implement custom item types which can contain other items. Mods which use the simple form (like <code>Utility.ForEachItem(item => ...)</code>) don't need any changes.
| [[Magma Cap]]
+
 
| ''Magma Hut''
+
The main changes are:
| ''Magmahut''
+
<ul>
|-
+
<li>The advanced forms now use a context object, which also provides the 'path' to the item. For example, an item inside a chest would have a path consisting of the location and chest:
| [[Mango Sticky Rice]]
+
<syntaxhighlight lang="c#">
| ''Mango Klebreis''
+
Utility.ForEachItemContext(delegate(in ForEachItemContext context)
| ''Mango-Klebreis''
+
{
|-
+
    // remove pufferfish inside chests
| [[Monster Compendium]]
+
    if (context.Item.QualifiedItemId == "(O)128" && context.GetPath().Last() is Chest)
| ''Monster Kompendium''
+
        context.RemoveItem();
| ''Monster-Kompendium''
+
    return true;
|-
+
});
| [[Movie Ticket]]
+
</syntaxhighlight>
| ''Kino Ticket''
+
 
| ''Kinoticket''
+
The context must be passed by reference using the <samp>in</samp> keyword. This doesn't work with lambdas, so you'll need to adjust the format:
|-
+
<syntaxhighlight lang="c#">
| [[Qi Fruit]]
+
// ✘ lambda can't use 'in'
| ''Qi Frucht''
+
Utility.ForEachItemContext(in context =>
| ''Qi-Frucht''
+
{
|-
+
    context.RemoveItem();
| [[Qi Gem]]
+
    return true;
| ''Qi Edelstein''
+
});
| ''Qi-Edelstein''
+
 
|-
+
// ✓ use method or local function
| [[Raccoon Journal]]
+
bool HandleItem(in ForEachItemContext context)
| ''Waschbär Tagebuch''
+
{
| ''Waschbär-Tagebuch''
+
    context.RemoveItem();
|-
+
    return true;
| [[Sonar Bobber]]
+
}
| ''Sonar Köder''
+
Utility.ForEachItemContext(HandleItem);
| ''Sonarköder''
+
 
|-
+
// ✓ use delegate
| [[Spinner]]
+
Utility.ForEachItemContext(delegate(in ForEachItemContext context)
| ''Dreher''
+
{
| ''Spinner''
+
    context.RemoveItem();
 +
    return true;
 +
});
 +
</syntaxhighlight></li>
 +
<li>For custom items which override <samp>Item.ForEachItem</samp>, the method signature has changed from this:
 +
<syntaxhighlight lang="c#">
 +
/// <summary>Perform an action for each item contained within this item (e.g. items stored within a chest, item placed on a table, etc). This doesn't include the item itself.</summary>
 +
/// <param name="handler">The action to perform for each item.</param>
 +
/// <returns>Returns whether to continue iterating.</returns>
 +
bool ForEachItem(ForEachItemDelegate handler);
 +
</syntaxhighlight>
 +
 
 +
To this:
 +
<syntaxhighlight lang="c#">
 +
/// <summary>Perform an action for each item contained within this item (e.g. items stored within a chest, item placed on a table, etc). This doesn't include the item itself.</summary>
 +
/// <param name="handler">The action to perform for each item.</param>
 +
/// <param name="getPath">The contextual path leading to this item (including the item), or <c>null</c> to treat this as the root.</param>
 +
/// <returns>Returns whether to continue iterating.</returns>
 +
bool ForEachItem(ForEachItemDelegate handler, GetForEachItemPathDelegate getPath);
 +
</syntaxhighlight>
 +
 
 +
You should pass the <samp>getPath</samp> value to <samp>ForEachItemHelper</samp> methods.</li>
 +
</ul>
 +
 
 +
===<samp>OutputMethod</samp> changes in <samp>Data/Machines</samp>===
 +
If you have custom C# methods which are used in the <samp>OutputMethod</samp> field in [[Modding:Machines|<samp>Data/Machines</samp>]], the method signature has changed in 1.6.9. You'll need to add the new <samp>Farmer player</samp> argument to your methods:
 +
<syntaxhighlight lang="c#">
 +
/// <summary>The method signature for a custom <see cref="MachineItemOutput.OutputMethod"/> method.</summary>
 +
/// <param name="machine">The machine instance for which to produce output.</param>
 +
/// <param name="inputItem">The item being dropped into the machine, if applicable.</param>
 +
/// <param name="probe">Whether the machine is only checking the output that would be produced. If so, the input/machine shouldn't be changed and no animations/sounds should play.</param>
 +
/// <param name="outputData">The item output data from <c>Data/Machines</c> for which output is being created, if applicable.</param>
 +
/// <param name="player">The player interacting with the machine, if any.</param>
 +
/// <param name="overrideMinutesUntilReady">The in-game minutes until the item will be ready to collect, if set. This overrides the equivalent fields in the machine data if set.</param>
 +
/// <returns>Returns the item to produce, or <c>null</c> if none should be produced.</returns>
 +
public delegate Item MachineOutputDelegate(Object machine, Item inputItem, bool probe, MachineItemOutput outputData, Farmer player, out int? overrideMinutesUntilReady);
 +
</syntaxhighlight>
 +
 
 +
==Changes for SMAPI and external tools==
 +
===Content hashes===
 +
The game now has a <samp>Content/ContentHashes.json</samp> file, which contains the MD5 hash for every vanilla content asset. This lets SMAPI, mod managers, and other tools auto-detect content files that are outdated, broken, missing, or replaced by [[Modding:Using XNB mods|XNB mods]].
 +
 
 +
==Name translation changes for wiki maintainers==
 +
Some in-game item or monster names were retranslated in some languages for clarity or correctness.
 +
 
 +
This list is mostly provided to help wiki maintainers update pages, so it doesn't include names which only changed capitalization, changed <code>'</code> (straight apostrophe) to <code>’</code> (curly) in French, or aren't visible to vanilla players (like mine rocks).
 +
 
 +
===Objects===
 +
; English
 +
: {| class="wikitable"
 
|-
 
|-
| [[Stardew Valley Almanac]]
+
! item
| ''Stardew Valley Almanach''
+
! old name
| ''Sternentautaler Almanach''
+
! new name
 
|-
 
|-
| [[Stardew Valley Rose]]
+
| [[Jellies and Pickles|Jelly]]
| ''Stardew Valley Rose''
+
| ''Cranberries Jelly''
| ''Sternentautaler Rose''
+
| ''Cranberry Jelly''
 
|-
 
|-
| [[Stardrop Tea]]
+
| [[Juice]]
| ''Sternentropfen-Tee''
+
| ''Cranberries Juice''
| ''Sternenfall-Tee''
+
| ''Cranberry Juice''
 
|-
 
|-
| [[Tea Leaves]]
+
| [[Wine]]
| ''Tee Blätter''
+
| ''Cranberries Wine''
| ''Teeblätter''
+
| ''Cranberry Wine''
|-
+
|}
| [[Tent Kit]]
+
 
| ''Zelt Bausatz''
+
; French
| ''Zelt-Bausatz''
 
|-
 
| [[Treasure Totem]]
 
| ''Schatz Totem''
 
| ''Schatz-Totem''
 
|-
 
| [[Warp Totem: Desert]]
 
| ''Teleport Totem: Wüste''
 
| ''Teleport-Totem: Wüste''
 
|}
 
 
 
; Hungarian
 
 
: {| class="wikitable"
 
: {| class="wikitable"
 
|-
 
|-
Line 818: Line 847:
 
! new name
 
! new name
 
|-
 
|-
| [[Cave Jelly]]
+
| [[Aerinite]]
| ''Barlangi medúza''
+
| ''Aerinite''
| ''Barlangi zselé''
+
| ''Aérinite''
 
|-
 
|-
| [[River Jelly]]
+
| [[Blobfish]]
| ''Folyami medúza''
+
| ''Blobfish''
| ''Folyami zselé''
+
| ''Poisson-blob''
 
|-
 
|-
| [[Sea Jelly]]
+
| [[Bone Mill]]
| ''Tengeri medúza''
+
| ''Bone Moulin''
| ''Tengeri zselé''
+
| ''Moulin à os''
|}
 
 
 
; Italian
 
: {| class="wikitable"
 
 
|-
 
|-
! item
+
| [[Cave Jelly]]
! old name
+
| ''Méduse des cavernes''
! new name
+
| ''Gelée des cavernes''
 
|-
 
|-
| [[Cave Jelly]]
+
| [[Cookie]]
| ''Medusa di grotta''
+
| ''Cookie''
| ''Gelatina di grotta''
+
| ''Biscuit''
 
|-
 
|-
| [[Ginger Ale]]
+
| [[Dinosaur Mayonnaise]]
| ''Ginger ale''
+
| ''Mayonnaise dinosaure''
| ''Liquore allo zenzero''
+
| ''Mayonnaise de dinosaure''
 
|-
 
|-
| Haley's Lost Bracelet
+
|rowspan="3"| [[Dried Fruit]]
| ''Haley's Lost Bracelet''
+
| ''Un morceau séché de abricot''
| ''Braccialetto perduto di Haley''
+
| ''Un morceau séché d’abricot''
 
|-
 
|-
| Item Pedestal
+
| ''Un morceau séché de ananas''
| ''Item Pedestal''
+
| ''Un morceau séché d’ananas''
| ''Piedistallo per oggetto''
 
 
|-
 
|-
| [[Rice Shoot]]
+
| ''Un morceau séché de orange''
| ''Spara di riso''
+
| ''Un morceau séché d’orange''
| ''Germoglio di riso''
 
 
|-
 
|-
| [[River Jelly]]
+
| [[Fairy Rose]]
| ''Medusa fluviale''
+
| ''Rose Féerie''
| ''Gelatina fluviale''
+
| ''Rose de fée''
 
|-
 
|-
| [[Sea Jelly]]
+
| [[Fairy Seeds]]
| ''Medusa marina''
+
| ''Graines de rose Féerie''
| ''Gelatina marina''
+
| ''Graines de rose de fée''
|}
 
 
 
; Japanese
 
: {| class="wikitable"
 
 
|-
 
|-
! item
+
| [[Fiddlehead Fern]]
! old name
+
| ''Fougères de Fern''
! new name
+
| ''Crosse de fougère''
 
|-
 
|-
| [[Bone Mill]]
+
| [[Fiddlehead Risotto]]
| ''クリスタルチェア''
+
| ''Risotto aux fougères''
| ''骨粉砕機''
+
| ''Risotto aux crosses de fougère''
 
|-
 
|-
| [[Cave Jelly]]
+
| [[Granite]]
| ''洞窟クラゲ''
+
| ''Granite''
| ''洞窟ゼリー''
+
| ''Granit''
 
|-
 
|-
 
| Haley's Lost Bracelet
 
| Haley's Lost Bracelet
 
| ''Haley's Lost Bracelet''
 
| ''Haley's Lost Bracelet''
| ''ヘイリーがなくしたブレスレット''
+
| ''Bracelet perdu de Haley''
|-
 
| [[Heavy Tapper]]
 
| ''Heavy Tapper''
 
| ''大型樹液採取器''
 
 
|-
 
|-
 
| Item Pedestal
 
| Item Pedestal
 
| ''Item Pedestal''
 
| ''Item Pedestal''
| ''アイテム用の台座''
+
| ''Piédestal''
 +
|-
 +
|rowspan="3"| [[Jellies and Pickles|Jelly]]
 +
| ''Gelée de abricot''
 +
| ''Gelée d’abricot''
 
|-
 
|-
| [[River Jelly]]
+
| ''Gelée de ananas''
| ''川クラゲ''
+
| ''Gelée d’ananas''
| ''川ゼリー''
 
 
|-
 
|-
| [[Roe]]
+
| ''Gelée de orange''
| ''明太子''
+
| ''Gelée d’orange''
| ''魚卵''
 
 
|-
 
|-
| [[Sea Jelly]]
+
|rowspan="5"| [[Juice]]
| ''海クラゲ''
+
| ''Jus de Ail''
| ''海ゼリー''
+
| ''Jus d’ail''
 
|-
 
|-
| [[Stone Cairn]]
+
| ''Jus de Amarante''
| ''石のカイム''
+
| ''Jus d’amarante''
| ''石のケアン''
 
|}
 
 
 
; Korean
 
: {| class="wikitable"
 
 
|-
 
|-
! item
+
| ''Jus de Artichaut''
! old name
+
| ''Jus d’artichaut''
! new name
 
 
|-
 
|-
| Haley's Lost Bracelet
+
| ''Jus de Aubergine''
| ''Haley's Lost Bracelet''
+
| ''Jus d’aubergine''
| ''헤일리의 잃어버린 팔찌''
 
 
|-
 
|-
| [[Sunfish]]
+
| ''Jus de Igname''
| ''개복치''
+
| ''Jus d’igname''
| ''선피쉬''
 
 
 
|}
 
 
 
; Russian
 
: {| class="wikitable"
 
 
|-
 
|-
! item
+
| [[Maple Bar]]
! old name
+
| ''Gâteau à l'érable''
! new name
+
| ''Gâteau d’érable''
 
|-
 
|-
| [[Big Green Cane]]
+
| [[Midnight Squid]]
| ''Большой зеленый тростник''
+
| ''Calmar de minuit''
| ''Большая зеленая трость''
+
| ''Calamar de minuit''
 
|-
 
|-
| [[Big Red Cane]]
+
| [[Qi Bean]]
| ''Большой красный тростник''
+
| ''Haricot Qi''
| ''Большая красная трость''
+
| ''Haricot de Qi''
 
|-
 
|-
| [[Bok Choy Seeds]]
+
| [[Qi Fruit]]
| ''Семена бок-чой''
+
| ''Fruit Qi''
| ''Семена бок-чоя''
+
| ''Fruit de Qi''
 
|-
 
|-
| [[Crimsonfish]]
+
| [[Qi Gem]]
| ''Кримзонфиш''
+
| ''Gemme Qi''
| ''Багрянник''
+
| ''Gemmes de Qi''
 
|-
 
|-
| [[Far Away Stone]]
+
| [[River Jelly]]
| ''Камень издалека''
+
| ''Méduse d’eau douce''
| ''Камень из далеких земель''
+
| ''Gelée de rivière''
 
|-
 
|-
| [[Fish Taco]]
+
| [[Sea Jelly]]
| ''Рыбный тако''
+
| ''Méduse de l’océan.''
| ''Рыбное тако''
+
| ''Gelée de mer''
 
|-
 
|-
| [[Glacierfish Jr.]]
+
| [[Squid]]
| ''Ледорыб Мл.''
+
| ''Calmar''
| ''Ледорыб Младший''
+
| ''Calamar''
 
|-
 
|-
| [[Green Canes]]
+
| [[Sweet Gem Berry]]
| ''Зеленый тростник''
+
| ''Baie gemme sucrée''
| ''Зеленые тросточки''
+
| ''Baie de gemme sucrée''
 +
|-
 +
| rowspan="10"| [[Targeted Bait]]
 +
| ''Appât de Achigan à grande bouche''
 +
| ''Appât d’achigan à grande bouche''
 
|-
 
|-
| [[Mixed Cane]]
+
| ''Appât de Achigan à petite bouche''
| ''Смешанный тростник''
+
| ''Appât d’achigan à petite bouche''
| ''Смешанные тросточки''
 
 
|-
 
|-
| [[Oil of Garlic]]
+
| ''Appât de Albacore''
| ''Масло Чеснока''
+
| ''Appât d’albacore''
| ''Чесночное масло''
 
 
|-
 
|-
| [[Son of Crimsonfish]]
+
| ''Appât de Alose''
| ''Сын Кримзонфиш''
+
| ''Appât d’alose''
| ''Малек Багрянника''
 
 
|-
 
|-
| [[Statue of Endless Fortune]]
+
| ''Appât de Anchois''
| ''Статуя Вечной Удачи''
+
| ''Appât d’anchois''
| ''Статуя бесконечной удачи''
 
 
|-
 
|-
| [[Stonefish]]
+
| ''Appât de Anguille''
| ''Камень-рыба''
+
| ''Appât d’anguille''
| ''Рыба-камень''
 
 
|-
 
|-
| Tall Torch
+
| ''Appât de Anguille de lave''
| ''Стоячий факел''
+
| ''Appât d’anguille de lave''
| ''Длинный факел''
 
 
|-
 
|-
| [[The Art O' Crabbing]]
+
| ''Appât de Écrevisse''
| ''Искусство крабства''
+
| ''Appât d’écrevisse''
| ''Краболовное искусство''
 
 
|-
 
|-
| [[Way Of The Wind pt. 1]]
+
| ''Appât de Escargot''
| ''Путь Ветра, ч. 1''
+
| ''Appât d’escargot''
| ''Путь Ветра, том 1''
 
 
|-
 
|-
| [[Way Of The Wind pt. 2]]
+
| ''Appât de Esturgeon''
| ''Путь Ветра, ч. 2''
+
| ''Appât d’esturgeon''
| ''Путь Ветра, том 2''
+
|-
 +
|rowspan="3"| [[Wine]]
 +
| ''Vin de abricot''
 +
| ''Vin d’abricot''
 +
|-
 +
| ''Vin de ananas''
 +
| ''Vin d’ananas''
 +
|-
 +
| ''Vin de orange''
 +
| ''Vin d’orange''
 
|}
 
|}
  
; Spanish
+
; German
 
: {| class="wikitable"
 
: {| class="wikitable"
 
|-
 
|-
Line 1,011: Line 1,020:
 
! new name
 
! new name
 
|-
 
|-
| [[Glacierfish Jr.]]
+
| [[Artifact Trove]]
| ''Pez glacial jóven''
+
| ''Artefakt Fund''
| ''Pez glacial joven''
+
| ''Artefaktfund''
 
|-
 
|-
| Haley's Lost Bracelet
+
| [[Calico Egg]]
| ''Haley's Lost Bracelet''
+
| ''Calico Ei''
| ''El brazalete perdido de Haley''
+
| ''Calico-Ei''
 
|-
 
|-
| Item Pedestal
+
| [[Combat Quarterly]]
| ''Item Pedestal''
+
| ''Kampf-Vierteljahresschrift''
| ''Pedestal para objetos''
+
| ''Kampf-Quartalsheft''
 
|-
 
|-
| [[Stardrop Tea]]
+
| [[Curiosity Lure]]
| ''Té de fruta estelar.''
+
| ''Neugierde Köder''
| ''Té de fruta estelar''
+
| ''Neugierköder''
 
|-
 
|-
| [[Tent Kit]]
+
| [[Deluxe Worm Bin]]
| ''Kit de tienda de campaña.''
+
| ''Luxus-Wurmbehälter''
| ''Kit de tienda de campaña''
+
| ''Luxus-Wurmeimer''
 
|-
 
|-
| [[Treasure Totem]]
+
| [[Dressed Spinner]]
| ''Totem del tesoro''
+
| ''Verkleideter Dreher''
| ''Tótem del tesoro''
+
| ''Verkleideter Spinner''
 
|-
 
|-
| [[Warp Totem: Island]]
+
| [[Farm Computer]]
| ''Totem de teletransporte: Isla''
+
| ''Hof Rechner''
| ''Tótem de teletransporte: Isla''
+
| ''Hof-Rechner''
|}
 
 
 
; Turkish
 
: {| class="wikitable"
 
 
|-
 
|-
! item
+
| [[Fireworks]]
! old name
+
| ''Fireworks (Grün)''
! new name
+
| ''Feuerwerk (Grün)''
 
|-
 
|-
| [[Algae Soup]]
+
| [[Goby]]
| ''Yosun Çorbası''
+
| ''Goby''
| ''Su Yosunu Çorbası''
+
| ''Grundeln''
 
|-
 
|-
| [[Big Green Cane]]
+
| [[Hot Java Ring]]
| ''Büyük Yeşil Şekerkamışı''
+
| ''Heißer Java Ring''
| ''Büyük Yeşil Şeker Kamışı''
+
| ''Heißer Java-Ring''
 
|-
 
|-
| [[Big Red Cane]]
+
| Item Pedestal
| ''Büyük Kırmızı Şekerkamışı''
+
| ''Item Pedestal''
| ''Büyük Kırmızı Şeker Kamışı''
+
| ''Gegenstand Podest''
 
|-
 
|-
| [[Blueberry]]
+
| [[Magma Cap]]
| ''Yabanmersini''
+
| ''Magma Hut''
| ''Yaban Mersini''
+
| ''Magmahut''
 
|-
 
|-
| [[Blueberry Seeds]]
+
| [[Mango Sticky Rice]]
| ''Yabanmersini Tohumu''
+
| ''Mango Klebreis''
| ''Yaban Mersini Tohumu''
+
| ''Mango-Klebreis''
 
|-
 
|-
| [[Blueberry Tart]]
+
| [[Monster Compendium]]
| ''Yabanmersinli Turta''
+
| ''Monster Kompendium''
| ''Yaban Mersinli Turta''
+
| ''Monster-Kompendium''
 
|-
 
|-
| [[Broccoli Seeds]]
+
| [[Movie Ticket]]
| ''Brokoli Tohumları''
+
| ''Kino Ticket''
| ''Brokoli Tohumu''
+
| ''Kinoticket''
 
|-
 
|-
| [[Carrot Seeds]]
+
| [[Qi Fruit]]
| ''Havuç Tohumları''
+
| ''Qi Frucht''
| ''Havuç Tohumu''
+
| ''Qi-Frucht''
 
|-
 
|-
| [[Cask]]
+
| [[Qi Gem]]
| ''Fıçı''
+
| ''Qi Edelstein''
| ''Varil''
+
| ''Qi-Edelstein''
 
|-
 
|-
| [[Caviar]]
+
| [[Raccoon Journal]]
| ''Hayvar''
+
| ''Waschbär Tagebuch''
| ''Havyar''
+
| ''Waschbär-Tagebuch''
 
|-
 
|-
| [[Coleslaw]]
+
| [[Sonar Bobber]]
| ''Lahana Salatası''
+
| ''Sonar Köder''
| ''Kırmızı Lahana Salatası''
+
| ''Sonarköder''
 
|-
 
|-
| [[Dark Sign]]
+
| [[Spinner]]
| ''Kara İşaret''
+
| ''Dreher''
| ''Kara Tabela''
+
| ''Spinner''
 
|-
 
|-
| [[Dried Sunflowers]]
+
| [[Stardew Valley Almanac]]
| ''Kurumuş Ayçicekleri''
+
| ''Stardew Valley Almanach''
| ''Kurumuş Ayçiçekleri''
+
| ''Sternentautaler Almanach''
 
|-
 
|-
| [[Fiddlehead Fern]]
+
| [[Stardew Valley Rose]]
| ''Eğreltiotu''
+
| ''Stardew Valley Rose''
| ''Eğrelti Otu''
+
| ''Sternentautaler Rose''
 
|-
 
|-
| [[Fiddlehead Risotto]]
+
| [[Stardrop Tea]]
| ''Eğreltiotlu Pilav''
+
| ''Sternentropfen-Tee''
| ''Eğrelti Otlu Pilav''
+
| ''Sternenfall-Tee''
 
|-
 
|-
| Haley's Lost Bracelet
+
| [[Tea Leaves]]
| ''Haley's Lost Bracelet''
+
| ''Tee Blätter''
| ''Haley'nin Kayıp Bileziği''
+
| ''Teeblätter''
 
|-
 
|-
| [[Goby]]
+
| [[Tent Kit]]
| ''Kayabalığı''
+
| ''Zelt Bausatz''
| ''Taşbalığı''
+
| ''Zelt-Bausatz''
 
|-
 
|-
| [[Golden Pumpkin]]
+
| [[Treasure Totem]]
| ''Altın Balkabağı''
+
| ''Schatz Totem''
| ''Altın Bal Kabağı''
+
| ''Schatz-Totem''
 
|-
 
|-
| [[Green Canes]]
+
| [[Warp Totem: Desert]]
| ''Yeşil Şekerkamışları''
+
| ''Teleport Totem: Wüste''
| ''Yeşil Şeker Kamışları''
+
| ''Teleport-Totem: Wüste''
 +
|}
 +
 
 +
; Hungarian
 +
: {| class="wikitable"
 
|-
 
|-
| [[Hops]]
+
! item
| ''Şerbetçiotu''
+
! old name
| ''Şerbetçi Otu''
+
! new name
 
|-
 
|-
| [[Hops Starter]]
+
| [[Cave Jelly]]
| ''Şerbetçiotu Yetiştirici''
+
| ''Barlangi medúza''
| ''Şerbetçi Otu Yetiştirici''
+
| ''Barlangi zselé''
 
|-
 
|-
| [[Jelly]]
+
| [[River Jelly]]
| ''Marmelat''
+
| ''Folyami medúza''
| ''Reçel''
+
| ''Folyami zselé''
 
|-
 
|-
| [[Loom]]
+
| [[Sea Jelly]]
| ''Dokuma Tezgahı''
+
| ''Tengeri medúza''
| ''Dokuma Tezgâhı''
+
| ''Tengeri zselé''
 +
|}
 +
 
 +
; Italian
 +
: {| class="wikitable"
 
|-
 
|-
| [[Magma Cap]]
+
! item
| ''Mağma Mantarı''
+
! old name
| ''Magma Mantarı''
+
! new name
 
|-
 
|-
| [[Mixed Cane]]
+
| [[Cave Jelly]]
| ''Renkli Şekerkamışları''
+
| ''Medusa di grotta''
| ''Renkli Şeker Kamışları''
+
| ''Gelatina di grotta''
 
|-
 
|-
| [[Ostrich Egg]]
+
| [[Ginger Ale]]
| ''Devekuşu Yumurtası''
+
| ''Ginger ale''
| ''Deve Kuşu Yumurtası''
+
| ''Liquore allo zenzero''
 
|-
 
|-
| [[Ostrich Incubator]]
+
| Haley's Lost Bracelet
| ''Devekuşu Kuluçka Makinesi''
+
| ''Haley's Lost Bracelet''
| ''Deve Kuşu Kuluçka Makinesi''
+
| ''Braccialetto perduto di Haley''
 
|-
 
|-
| [[Poppyseed Muffin]]
+
| Item Pedestal
| ''Haşhaşlı Börek''
+
| ''Item Pedestal''
| ''Haşhaşlı Kek''
+
| ''Piedistallo per oggetto''
 
|-
 
|-
| [[Powdermelon Seeds]]
+
| [[Rice Shoot]]
| ''Kış Kavunu Tohumları''
+
| ''Spara di riso''
| ''Kış Kavunu Tohumu''
+
| ''Germoglio di riso''
 
|-
 
|-
| [[Plush Bunny]]
+
| [[River Jelly]]
| ''Peluş Tavşan''
+
| ''Medusa fluviale''
| ''Pelüş Tavşan''
+
| ''Gelatina fluviale''
 
|-
 
|-
| [[Pumpkin]]
+
| [[Sea Jelly]]
| ''Balkabağı''
+
| ''Medusa marina''
| ''Bal Kabağı''
+
| ''Gelatina marina''
 +
|}
 +
 
 +
; Japanese
 +
: {| class="wikitable"
 
|-
 
|-
| [[Pumpkin Seeds]]
+
! item
| ''Balkabağı Tohumu''
+
! old name
| ''Bal Kabağı Tohumu''
+
! new name
 
|-
 
|-
| [[Queen Of Sauce Cookbook]]
+
| [[Bone Mill]]
| ''Sosun Kraliçesi Yemek Kitabı''
+
| ''クリスタルチェア''
| ''Soslar Kraliçesi Yemek Kitabı''
+
| ''骨粉砕機''
 
|-
 
|-
| [[Scarecrow#Rarecrows|Rarecrows]]
+
| [[Cave Jelly]]
| ''Hepsini bul! (1''
+
| ''洞窟クラゲ''
| ''Hepsini bul! (X/8)''<br /><small>(where X is the rarecrow number)</small>
+
| ''洞窟ゼリー''
 
|-
 
|-
| [[Red Canes]]
+
| Haley's Lost Bracelet
| ''Kırmızı Şekerkamışları''
+
| ''Haley's Lost Bracelet''
| ''Kırmızı Şeker Kamışları''
+
| ''ヘイリーがなくしたブレスレット''
 
|-
 
|-
| [[Sloth Skeleton L]]
+
| [[Heavy Tapper]]
| ''Tembel Hayvan İskeleti''
+
| ''Heavy Tapper''
| ''Tembel Hayvan İskeleti (Sol)''
+
| ''大型樹液採取器''
 
|-
 
|-
| [[Sloth Skeleton M]]
+
| Item Pedestal
| ''Tembel Hayvan İskeleti''
+
| ''Item Pedestal''
| ''Tembel Hayvan İskeleti (Orta)''
+
| ''アイテム用の台座''
 
|-
 
|-
| [[Sloth Skeleton R]]
+
| [[River Jelly]]
| ''Tembel Hayvan İskeleti''
+
| ''川クラゲ''
| ''Tembel Hayvan İskeleti (Sağ)''
+
| ''川ゼリー''
 
|-
 
|-
| [[Stardew Valley Almanac]]
+
| [[Roe]]
| ''Stardew Valley Yıllığı''
+
| ''明太子''
| ''Yıldızçiyi Vadisi Yıllığı''
+
| ''魚卵''
 
|-
 
|-
| [[Stuffing]]
+
| [[Sea Jelly]]
| ''İç''
+
| ''海クラゲ''
| ''Doldurma''
+
| ''海ゼリー''
 
|-
 
|-
| [[Summer Squash Seeds]]
+
| [[Stone Cairn]]
| ''Yaz Kabak Tohumları''
+
| ''石のカイム''
| ''Yaz Kabağı Tohumu''
+
| ''石のケアン''
|-
 
| [[Workbench]]
 
| ''Çalışma Tezgahı''
 
| ''Çalışma Tezgâhı''
 
 
|}
 
|}
  
===Furniture===
+
; Korean
; French
 
 
: {| class="wikitable"
 
: {| class="wikitable"
 
|-
 
|-
Line 1,224: Line 1,236:
 
! new name
 
! new name
 
|-
 
|-
| [[Book Stack]]
+
| Haley's Lost Bracelet
| ''Pile de livres''
+
| ''Haley's Lost Bracelet''
| ''Tas de livres''
+
| ''헤일리의 잃어버린 팔찌''
 
|-
 
|-
| [[J. Cola Light]]
+
| [[Sunfish]]
| ''"J. Cola Light"''
+
| ''개복치''
| ''Enseigne murale lumineuse J.Cola''
+
| ''선피쉬''
 +
 
 +
|}
 +
 
 +
; Russian
 +
: {| class="wikitable"
 
|-
 
|-
| [[Large Book Stack]]
+
! item
| ''Grande pile de livres''
+
! old name
| ''Grand tas de livres''
+
! new name
 
|-
 
|-
| [[Midnight Beach Bed]]
+
| [[Big Green Cane]]
| ''Lit''
+
| ''Большой зеленый тростник''
| ''Lit de plage nocturne''
+
| ''Большая зеленая трость''
 
|-
 
|-
| [[Midnight Beach Double Bed]]
+
| [[Big Red Cane]]
| ''Lit''
+
| ''Большой красный тростник''
| ''Lit double de plage nocturne''
+
| ''Большая красная трость''
 
|-
 
|-
| [[Small Book Stack]]
+
| [[Bok Choy Seeds]]
| ''Petite pile de livres''
+
| ''Семена бок-чой''
| ''Petit tas de livres''
+
| ''Семена бок-чоя''
 
|-
 
|-
| [[Wizard Bookshelf]]
+
| [[Chicken Decal]]
| ''Bibliothèque de sorcier''
+
| ''Наклейка «Курица»''
| ''Étagère de sorcier''
+
| ''Наклейка «Курицы»''
|}
 
 
 
; Hungarian
 
: {| class="wikitable"
 
 
|-
 
|-
! item
+
| [[Crimsonfish]]
! old name
+
| ''Кримзонфиш''
! new name
+
| ''Багрянник''
 
|-
 
|-
| [[Midnight Beach Bed]]
+
|rowspan="20"| [[Dried Fruit]]
| ''Ágy''
+
| ''{{t|item name}} (засушено)''
| ''Éjféli strand ágy''
+
| ''Сушен. {{t|item name}}''
 
|-
 
|-
| [[Midnight Beach Double Bed]]
+
| ''Сморчок (засушено)''
| ''Dupla ágy''
+
| ''Сушен. сморчки''
| ''Éjféli strand dupla ágy''
 
|}
 
 
 
; Italian
 
: {| class="wikitable"
 
 
|-
 
|-
! item
+
| ''Лисичка (засушено)''
! old name
+
| ''Сушен. лисички''
! new name
 
 
|-
 
|-
| [[Large Green Rug]]
+
| ''Острая ягода (засушено)''
| ''Tappeto verde gande''
+
| ''Сушен. острые ягоды''
| ''Tappeto verde grande''
 
|}
 
 
 
; Russian
 
: {| class="wikitable"
 
 
|-
 
|-
! item
+
| ''Шампиньон (засушено)''
! old name
+
| ''Сушен. шампиньоны''
! new name
 
 
|-
 
|-
| [[Birch Lamp End Table]]
+
| ''Черная слива (засушено)''
| ''Березовый приставной столик''
+
| ''Сушен. дикие сливы''
| ''Березовый приставной столик с лампой''
 
 
|-
 
|-
| [[Blossom Rug]]
+
| ''Кристальный фрукт (засушено)''
| ''Цветочный коврик''
+
| ''Сушен. кристальные фрукты''
| ''Цветочный ковер''
 
 
|-
 
|-
| [[Book Pile]]
+
| ''Фиолетовый гриб (засушено)''
| ''Куча книг''
+
| ''Сушен. фиолетовые грибы''
| ''Стопка книг''
 
 
|-
 
|-
| [[Bountiful Dining Table]]
+
| ''Древний плод (засушено)''
| ''Изобильный обеденный стол''
+
| ''Сушен. древние фрукты''
| ''Обеденный стол «Изобилие»''
 
 
|-
 
|-
| [[Circular Junimo Rug]]
+
| ''Яблоко (засушено)''
| ''Круглый коврик Джунимо''
+
| ''Сушен. яблоки''
| ''Круглый ковер Джунимо''
 
 
|-
 
|-
| [['Community Center']]
+
| ''Абрикос (засушено)''
| ''«Общественный центр»''
+
| ''Сушен. абрикосы''
| ''«Клуб»''
 
 
|-
 
|-
| [[Dark Rug]]
+
| ''Апельсин (засушено)''
| ''Темный Коврик''
+
| ''Сушен. апельсины''
| ''Темный ковер''
 
 
|-
 
|-
| [[Deluxe Red Double Bed]]
+
| ''Персик (засушено)''
| ''Элитная двуспальная кровать''
+
| ''Сушен. персики''
| ''Элитная красная двуспальная кровать''
 
 
|-
 
|-
| [[Funky Rug]]
+
| ''Гранат (засушено)''
| ''Модный коврик''
+
| ''Сушен. гранаты''
| ''Модный ковер''
 
 
|-
 
|-
| [[Green Plush Seat]]
+
| ''Ананас (засушено)''
| ''Зеленое плюшевое сидение''
+
| ''Сушен. ананасы''
| ''Зеленое плюшевое сиденье''
 
 
|-
 
|-
| [[Harvey Portrait]]
+
| ''Магмовый гриб (засушено)''
| ''Портрет Хэйли''
+
| ''Сушен. магмовые грибы''
| ''Портрет Харви''
 
 
|-
 
|-
| [[Icy Rug]]
+
| ''Фрукт Ки (засушено)''
| ''Ледяной коврик''
+
| ''Сушен. фрукты Ки''
| ''Ледяной ковер''
 
 
|-
 
|-
| [[Indoor Hanging Basket]]
+
| ''Кокос (засушено)''
| ''Комнатная висячая корзина''
+
| ''Сушен. кокосы''
| ''Комнатная подвесная корзина''
 
 
|-
 
|-
| J
+
| ''Плод кактуса (засушено)''
| ''Джей''
+
| ''Сушен. плоды кактуса''
| ''Буква «J»''
+
|-
 +
| ''Банан (засушено)''
 +
| ''Сушен. бананы''
 
|-
 
|-
| [[Joja Cola Tea Table]]
+
| [[Far Away Stone]]
| ''Чайный столик Джоджа-кола''
+
| ''Камень издалека''
| ''Чайный столик «Джоджа-кола»''
+
| ''Камень из далеких земель''
 
|-
 
|-
| [['Journey Of The Prairie King: The Motion Picture']]
+
| [[Fish Taco]]
| ''«Путешествие Короля Прерий: Фильм»''
+
| ''Рыбный тако''
| ''«Путешествие Короля прерий: Худ. фильм»''
+
| ''Рыбное тако''
 
|-
 
|-
| [[Junimo Mat]]
+
| [[Glacierfish Jr.]]
| ''Мат Джунимо''
+
| ''Ледорыб Мл.''
| ''Коврик Джунимо''
+
| ''Ледорыб Младший''
 
|-
 
|-
| [[Junimo Rug]]
+
| [[Green Canes]]
| ''Коврик Джунимо''
+
| ''Зеленый тростник''
| ''Ковер Джунимо''
+
| ''Зеленые тросточки''
 
|-
 
|-
| [[Large Cottage Rug]]
+
| [[Juice|Tomato Juice]]
| ''Большой домашний коврик''
+
| ''Сок (Помидор)''
| ''Большой деревенский ковер''
+
| ''Сок (Томат)''
 
|-
 
|-
| [[Large Green Rug]]
+
| [[Mini-Shipping Bin]]
| ''Большой зеленый коврик''
+
| ''Мини-ящик для отгрузок''
| ''Большой зеленый ковер''
+
| ''Мини-ящик для отгрузки''
 +
|-
 +
| [[Mixed Cane]]
 +
| ''Смешанный тростник''
 +
| ''Смешанные тросточки''
 
|-
 
|-
| [[Large Joja Rug]]
+
| [[Oil of Garlic]]
| ''Большой коврик Джоджа''
+
| ''Масло Чеснока''
| ''Большой ковер Джоджа''
+
| ''Чесночное масло''
 
|-
 
|-
| [[Large Red Rug]]
+
| rowspan="5"| [[Jellies and Pickles|Pickles]]
| ''Большой красный коврик''
+
| ''Маринованные консервы: {{t|item name}}''
| ''Большой красный ковер''
+
| ''Маринов. {{t|item name}}''
 
|-
 
|-
| [[Large Retro Rug]]
+
| ''Маринованные консервы: Помидор''
| ''Большой коврик «Ретро»''
+
| ''Маринов. помидоры''
| ''Большой ковер «Ретро»''
 
 
|-
 
|-
| [[Light Green Rug]]
+
| ''Маринованные консервы: Съедобный папоротник''
| ''Коврик «Зеленые листья»''
+
| ''Маринов. папоротник''
| ''Ковер «Зеленые листья»''
 
 
|-
 
|-
| [[Mahogany Lamp End Table]]
+
| ''Маринованные консервы: Неизмельченный рис''
| ''Приставной столик из красного дерева''
+
| ''Маринов. рис''
| ''Приставной столик из красного дерева с лампой''
 
 
|-
 
|-
| [[Midnight Beach Bed]]
+
| ''Маринованные консервы: Баклажан''
| ''Кровать''
+
| ''Маринов. баклажаны''
| ''Кровать «Полночь на пляже»''
 
 
|-
 
|-
| [[Midnight Beach Double Bed]]
+
|rowspan="25"| [[Smoked Fish]]
| ''Двуспальная кровать''
+
| ''{{t|item name}} (закопчено)''
| ''Двуспальная кровать «Полночь на пляже»''
+
| ''Копченый {{t|item name}}''
 
|-
 
|-
| [[Modern Fish Tank]]
+
| ''Рыба-еж (закопчено)''
| ''Современный аквариум''
+
| ''Копченая рыба-еж''
| ''Аквариум «Модерн»''
+
|-
 +
| ''Сардина (закопчено)''
 +
| ''Копченая сардина''
 
|-
 
|-
| [[Modern Rug]]
+
| ''Радужная форель (закопчено)''
| ''Современный коврик''
+
| ''Копченая радужная форель''
| ''Ковер «Модерн»''
 
 
|-
 
|-
| [[Oak Lamp End Table]]
+
| ''Щука (закопчено)''
| ''Дубовый приставной столик''
+
| ''Копченая щука''
| ''Дубовый приставной столик с лампой''
 
 
|-
 
|-
| [[Old World Rug]]
+
| ''Барабулька (закопчено)''
| ''Старый протертый коврик''
+
| ''Копченая барабулька''
| ''Старый протертый ковер''
 
 
|-
 
|-
| [[Patchwork Rug]]
+
| ''Сельдь (закопчено)''
| ''Лоскутный коврик''
+
| ''Копченая сельдь''
| ''Лоскутный ковер''
 
 
|-
 
|-
| [[Pink Plush Seat]]
+
| ''Рыба-камень (закопчено)''
| ''Розовое плюшевое сидение''
+
| ''Копченая рыба-камень''
| ''Розовое плюшевое сиденье''
 
 
|-
 
|-
| [[Retro Mat]]
+
| ''Багрянник (закопчено)''
| ''Мат «Ретро»''
+
| ''Копченый Багрянник''
| ''Коврик «Ретро»''
 
 
|-
 
|-
| [[Small Book Pile]]
+
| ''Морской черт (закопчено)''
| ''Кучка книг''
+
| ''Копченый Морской черт''
| ''Малая стопка книг''
 
 
|-
 
|-
| [[Small Junimo Mat]]
+
| ''Легенда (закопчено)''
| ''Маленький мат Джунимо''
+
| ''Копченая Легенда''
| ''Маленький коврик Джунимо''
 
 
|-
 
|-
| [[Standing Geode]]
+
| ''Мелкая камбала (закопчено)''
| ''Стоячая жеода''
+
| ''Копченая мелкая камбала''
| ''Жеода на подставке''
 
 
|-
 
|-
| [[Starry Double Bed]]
+
| ''Карп-мутант (закопчено)''
| ''Звездная двуспальная кровать''
+
| ''Копченый Карп-мутант''
| ''Звездчатая двуспальная кровать''
+
|-
 +
| ''Тигровая форель (закопчено)''
 +
| ''Копченая тигровая форель''
 
|-
 
|-
| [[Starry Moon Rug]]
+
| ''Тиляпия (закопчено)''
| ''Коврик со звездной ночью''
+
| ''Копченая тиляпия''
| ''Ковер «Звездная ночь»''
 
 
|-
 
|-
| 'Sun #44'
+
| ''Дорада (закопчено)''
| ''«Солнце №44»''
+
| ''Копченая дорада''
| ''«Солнце № 44»''
 
 
|-
 
|-
| 'Sun #45'
+
| ''Камбала (закопчено)''
| ''«Солнце №45»''
+
| ''Копченая камбала''
| ''«Солнце № 45»''
 
 
|-
 
|-
| [['VGA Paradise']]
+
| ''Ледорыб (закопчено)''
| ''«VGA-рай»''
+
| ''Копченый Ледорыб''
| ''«Рай VGA»''
 
 
|-
 
|-
| [[Wallflower Pal]]
+
| ''Жуть-рыба (закопчено)''
| ''Дружок у стенки''
+
| ''Копченая жуть-рыба''
| ''Настенный дружок''
 
 
|-
 
|-
| [[Wall Sconce]]
+
| ''Рыба-пузырь (закопчено)''
| ''Настенный канделябр''
+
| ''Копченая рыба-пузырь''
| ''Настенный светильник''
 
 
|-
 
|-
| [[Walnut Lamp End Table]]
+
| ''Малек Багрянника (закопчено)''
| ''Ореховый приставной столик''
+
| ''Копченый Малек Багрянника''
| ''Ореховый приставной столик с лампой''
 
 
|-
 
|-
| [[Witch's Broom]]
+
| ''Мисс Морской черт (закопчено)''
| ''Метла ведьмы''
+
| ''Копченая Мисс Морской черт''
| ''Ведьминская метла''
 
|}
 
 
 
; Spanish
 
: {| class="wikitable"
 
 
|-
 
|-
! item
+
| ''Легенда II (закопчено)''
! old name
+
| ''Копченая Легенда II''
! new name
 
 
|-
 
|-
| [[Modern Fish Tank]]
+
| ''Радиоактивный карп (закопчено)''
| ''Pecera mdoerna''
+
| ''Копченый Радиоактивный карп''
| ''Pecera moderna''
 
|}
 
 
 
; Turkish
 
: {| class="wikitable"
 
 
|-
 
|-
! item
+
| ''Ледорыб Младший (закопчено)''
! old name
+
| ''Копченый Ледорыб Младший''
! new name
 
 
|-
 
|-
| [[Aquamarine Crystal Ball]]
+
| [[Son of Crimsonfish]]
| ''Deniz Yeşili Kristal Küre''
+
| ''Сын Кримзонфиш''
| ''Gök Zümrüdü Kristal Küre''
+
| ''Малек Багрянника''
 
|-
 
|-
| [[Birch Dresser]]
+
| [[Statue of Endless Fortune]]
| ''Huş Şifoniyer''
+
| ''Статуя Вечной Удачи''
| ''Huş Şifonyer''
+
| ''Статуя бесконечной удачи''
 
|-
 
|-
| [[Book Pile]]
+
| [[Stonefish]]
| ''Kitap Yığını''
+
| ''Камень-рыба''
| ''Yığılmış Kitaplar''
+
| ''Рыба-камень''
 
|-
 
|-
| [[Green Cottage Rug]]
+
| Tall Torch
| ''Yeşil Baraka''
+
| ''Стоячий факел''
| ''Yeşil Baraka Kilimi''
+
| ''Длинный факел''
 
|-
 
|-
| [[J. Cola Light]]
+
| [[The Art O' Crabbing]]
| ''Diyet J. Kola''
+
| ''Искусство крабства''
| ''J. Kola Işığı''
+
| ''Краболовное искусство''
 
|-
 
|-
| [[Joja Crate]]
+
| [[Unmilled Rice]]
| ''Joja Sandığı''
+
| ''Неизмельченный рис''
| ''Joja Kutusu''
+
| ''Неочищенный рис''
 
|-
 
|-
| [[Journey Of The Prairie King: The Motion Picture]]
+
| [[Way Of The Wind pt. 1]]
| ''&apos;Çayır Kralı'nın Yolculuğu&apos;''
+
| ''Путь Ветра, ч. 1''
| ''&apos;Çayır Kralı'nın Yolculuğu: Sinema Filmi&apos;''
+
| ''Путь Ветра, том 1''
 
|-
 
|-
| [[Junimo Plush]]
+
| [[Way Of The Wind pt. 2]]
| ''Peluş Junimo''
+
| ''Путь Ветра, ч. 2''
| ''Pelüş Junimo''
+
| ''Путь Ветра, том 2''
 
|-
 
|-
| [[Krobus Portrait]]
+
| [[Wild Plum]]
| ''Krobus'in Portresi''
+
| ''Черная слива''
| ''Krobus'un Portresi''
+
| ''Дикая слива''
 +
|}
 +
 
 +
; Spanish
 +
: {| class="wikitable"
 
|-
 
|-
| [[Large Book Pile]]
+
! item
| ''Büyük Kitap Yığını''
+
! old name
| ''Büyük Yığılmış Kitaplar''
+
! new name
 
|-
 
|-
| [[Large Joja Crate]]
+
| [[Glacierfish Jr.]]
| ''Büyük Joja Sandığı''
+
| ''Pez glacial jóven''
| ''Büyük Joja Kutusu''
+
| ''Pez glacial joven''
 
|-
 
|-
| [[Leah Portrait]]
+
| Haley's Lost Bracelet
| ''Leah'ın Portresi''
+
| ''Haley's Lost Bracelet''
| ''Leah'nın Portresi''
+
| ''El brazalete perdido de Haley''
 
|-
 
|-
| [[Leah's Sculpture]]
+
| Item Pedestal
| ''Leah'ın Heykeli''
+
| ''Item Pedestal''
| ''Leah'nın Heykeli''
+
| ''Pedestal para objetos''
 
|-
 
|-
| [[Mahogany Bench]]
+
| [[Stardrop Tea]]
| ''Mahun Oturak''
+
| ''Té de fruta estelar.''
| ''Maun Oturak''
+
| ''Té de fruta estelar''
 
|-
 
|-
| [[Mahogany Chair]]
+
| [[Tent Kit]]
| ''Mahun Sandalye''
+
| ''Kit de tienda de campaña.''
| ''Maun Sandalye''
+
| ''Kit de tienda de campaña''
 
|-
 
|-
| [[Mahogany Dining Table]]
+
| [[Treasure Totem]]
| ''Mahun Yemek Masası''
+
| ''Totem del tesoro''
| ''Maun Yemek Masası''
+
| ''Tótem del tesoro''
 
|-
 
|-
| [[Mahogany Dresser]]
+
| [[Warp Totem: Island]]
| ''Mahun Şifoniyer''
+
| ''Totem de teletransporte: Isla''
| ''Maun Şifonyer''
+
| ''Tótem de teletransporte: Isla''
 +
|}
 +
 
 +
; Turkish
 +
: {| class="wikitable"
 
|-
 
|-
| [[Mahogany End Table]]
+
! item
| ''Mahun Komodin''
+
! old name
| ''Maun Komodin''
+
! new name
 
|-
 
|-
| [[Mahogany Table]]
+
| [[Algae Soup]]
| ''Mahun Masa''
+
| ''Yosun Çorbası''
| ''Maun Masa''
+
| ''Su Yosunu Çorbası''
 
|-
 
|-
| [[Mahogany Tea-Table]]
+
| [[Big Green Cane]]
| ''Mahun Sehpa''
+
| ''Büyük Yeşil Şekerkamışı''
| ''Maun Sehpa''
+
| ''Büyük Yeşil Şeker Kamışı''
 
|-
 
|-
| [[Midnight Beach Bed]]
+
| [[Big Red Cane]]
| ''Yatak''
+
| ''Büyük Kırmızı Şekerkamışı''
| ''Gece Yarısı Kumsallı Yatak''
+
| ''Büyük Kırmızı Şeker Kamışı''
 
|-
 
|-
| [[Midnight Beach Double Bed]]
+
| [[Blueberry]]
| ''Çift Kişilik Yatak''
+
| ''Yabanmersini''
| ''Gece Yarısı Kumsallı Çift Kişilik Yatak''
+
| ''Yaban Mersini''
 
|-
 
|-
| [[Modern Rug]]
+
| [[Blueberry Seeds]]
| ''Modern Kilim''
+
| ''Yabanmersini Tohumu''
| ''Modern Halı''
+
| ''Yaban Mersini Tohumu''
 
|-
 
|-
| [[Oak Dresser]]
+
| [[Blueberry Tart]]
| ''Meşe Şifoniyer''
+
| ''Yabanmersinli Turta''
| ''Meşe Şifonyer''
+
| ''Yaban Mersinli Turta''
 
|-
 
|-
| [[Pierre's Sign]]
+
| [[Broccoli Seeds]]
| ''Pierre'nin Tabelası''
+
| ''Brokoli Tohumları''
| ''Pierre'in Tabelası''
+
| ''Brokoli Tohumu''
 
|-
 
|-
| [[Red Cottage Rug]]
+
| [[Carrot Seeds]]
| ''Kırmızı Baraka''
+
| ''Havuç Tohumları''
| ''Kırmızı Baraka Kilimi''
+
| ''Havuç Tohumu''
 
|-
 
|-
| [[Short Wizard Bookcase]]
+
| [[Cask]]
| ''Küçük Büyücü Kitaplığı''
+
| ''Fıçı''
| ''Kısa Büyücü Kitaplığı''
+
| ''Varil''
 
|-
 
|-
| [[Small Book Pile]]
+
| [[Caviar]]
| ''Küçük Kitap Yığını''
+
| ''Hayvar''
| ''Küçük Yığılmış Kitaplar''
+
| ''Havyar''
 
|-
 
|-
| [[Small Junimo Plush]]
+
| [[Coleslaw]]
| ''Küçük Junimo Peluşu''
+
| ''Lahana Salatası''
| ''Küçük Junimo Pelüşü''
+
| ''Kırmızı Lahana Salatası''
 
|-
 
|-
| [[Walnut Dresser]]
+
| [[Dark Sign]]
| ''Ceviz Şifoniyer''
+
| ''Kara İşaret''
| ''Ceviz Şifonyer''
+
| ''Kara Tabela''
 
|-
 
|-
| [[Wizard Bookshelf]]
+
| [[Dried Sunflowers]]
| ''Büyücü Kitaplığı''
+
| ''Kurumuş Ayçicekleri''
| ''Büyücü Rafı''
+
| ''Kurumuş Ayçiçekleri''
|}
 
 
 
===Hats===
 
; French
 
: {| class="wikitable"
 
 
|-
 
|-
! item
+
| [[Fiddlehead Fern]]
! old name
+
| ''Eğreltiotu''
! new name
+
| ''Eğrelti Otu''
 
|-
 
|-
| [[blue Bow]]
+
| [[Fiddlehead Risotto]]
| ''Ruban bleu''
+
| ''Eğreltiotlu Pilav''
| ''Noeud ruban bleu''
+
| ''Eğrelti Otlu Pilav''
 +
|-
 +
| Haley's Lost Bracelet
 +
| ''Haley's Lost Bracelet''
 +
| ''Haley'nin Kayıp Bileziği''
 
|-
 
|-
| [[Fedora]]
+
| [[Goby]]
| ''Fedora''
+
| ''Kayabalığı''
| ''Fédora''
+
| ''Taşbalığı''
|}
 
 
 
; German
 
: {| class="wikitable"
 
 
|-
 
|-
! item
+
| [[Golden Pumpkin]]
! old name
+
| ''Altın Balkabağı''
! new name
+
| ''Altın Bal Kabağı''
 
|-
 
|-
| [[Bucket Hat]]
+
| [[Green Canes]]
| ''Fischerhut''
+
| ''Yeşil Şekerkamışları''
| ''Bucket-Hut''
+
| ''Yeşil Şeker Kamışları''
 
|-
 
|-
| [[Panda Hat]]
+
| [[Hops]]
| ''Panda Hat''
+
| ''Şerbetçiotu''
| ''Panda-Hut''
+
| ''Şerbetçi Otu''
|}
 
 
 
; Russian
 
: {| class="wikitable"
 
 
|-
 
|-
! item
+
| [[Hops Starter]]
! old name
+
| ''Şerbetçiotu Yetiştirici''
! new name
+
| ''Şerbetçi Otu Yetiştirici''
 
|-
 
|-
| [[Arcane Hat]]
+
| [[Jellies and Pickles|Jelly]]
| ''Загадочная шляпа''
+
| ''Marmelat''
| ''Таинственная шляпа''
+
| ''Reçel''
 
|-
 
|-
| [[Flat Topped Hat]]
+
| [[Loom]]
| ''Канотье''
+
| ''Dokuma Tezgahı''
| ''Капотен''
+
| ''Dokuma Tezgâhı''
|}
 
 
 
; Spanish
 
: {| class="wikitable"
 
 
|-
 
|-
! item
+
| [[Magma Cap]]
! old name
+
| ''Mağma Mantarı''
! new name
+
| ''Magma Mantarı''
 
|-
 
|-
| [[Gold Pan]]
+
| [[Mixed Cane]]
| ''Sartén de Oro''
+
| ''Renkli Şekerkamışları''
| ''Cacerola de Oro''
+
| ''Renkli Şeker Kamışları''
 
|-
 
|-
| [[Iridium Pan]]
+
| [[Ostrich Egg]]
| ''Sartén de Iridio''
+
| ''Devekuşu Yumurtası''
| ''Cacerola de Iridio''
+
| ''Deve Kuşu Yumurtası''
 
|-
 
|-
| [[Steel Pan]]
+
| [[Ostrich Incubator]]
| ''Sartén de Acero''
+
| ''Devekuşu Kuluçka Makinesi''
| ''Cacerola de Acero''
+
| ''Deve Kuşu Kuluçka Makinesi''
 
|-
 
|-
| [[Totem Mask]]
+
| [[Poppyseed Muffin]]
| ''Máscara totem''
+
| ''Haşhaşlı Börek''
| ''Máscara tótem''
+
| ''Haşhaşlı Kek''
|}
 
 
 
; Turkish
 
: {| class="wikitable"
 
 
|-
 
|-
! item
+
| [[Powdermelon Seeds]]
! old name
+
| ''Kış Kavunu Tohumları''
! new name
+
| ''Kış Kavunu Tohumu''
 
|-
 
|-
| [[Arcane Hat]]
+
| [[Plush Bunny]]
| ''Gizemli Şapka''
+
| ''Peluş Tavşan''
| ''Büyücü Şapkası''
+
| ''Pelüş Tavşan''
 
|-
 
|-
| [[Copper Pan]]
+
| [[Pumpkin]]
| ''Bakır Tava''
+
| ''Balkabağı''
| ''Bakır Eleme Tavası''
+
| ''Bal Kabağı''
 
|-
 
|-
| [[Flat Topped Hat]]
+
| [[Pumpkin Seeds]]
| ''Fötr Şapka''
+
| ''Balkabağı Tohumu''
| ''Seyyah Şapkası''
+
| ''Bal Kabağı Tohumu''
|}
 
 
 
===Pants===
 
; German
 
: {| class="wikitable"
 
 
|-
 
|-
! item
+
| [[Queen Of Sauce Cookbook]]
! old name
+
| ''Sosun Kraliçesi Yemek Kitabı''
! new name
+
| ''Soslar Kraliçesi Yemek Kitabı''
 
|-
 
|-
| Island Bikini
+
| [[Scarecrow#Rarecrows|Rarecrows]]
| ''Island Bikini''
+
| ''Hepsini bul! (1''
| ''Insel Bikini''
+
| ''Hepsini bul! (X/8)''<br /><small>(where X is the rarecrow number)</small>
 
|-
 
|-
| Prismatic Pants
+
| [[Red Canes]]
| ''Prismatic Pants''
+
| ''Kırmızı Şekerkamışları''
| ''Prisma Hose''
+
| ''Kırmızı Şeker Kamışları''
|}
 
 
 
===Shirts===
 
; French
 
: {| class="wikitable"
 
 
|-
 
|-
! item
+
| [[Sloth Skeleton L]]
! old name
+
| ''Tembel Hayvan İskeleti''
! new name
+
| ''Tembel Hayvan İskeleti (Sol)''
 
|-
 
|-
| ''gender-variant shirts''
+
| [[Sloth Skeleton M]]
| "(M)" suffix
+
| ''Tembel Hayvan İskeleti''
| "(H)" suffix
+
| ''Tembel Hayvan İskeleti (Orta)''
 +
|-
 +
| [[Sloth Skeleton R]]
 +
| ''Tembel Hayvan İskeleti''
 +
| ''Tembel Hayvan İskeleti (Sağ)''
 +
|-
 +
| [[Stardew Valley Almanac]]
 +
| ''Stardew Valley Yıllığı''
 +
| ''Yıldızçiyi Vadisi Yıllığı''
 +
|-
 +
| [[Stuffing]]
 +
| ''İç''
 +
| ''Doldurma''
 
|-
 
|-
 +
| [[Summer Squash Seeds]]
 +
| ''Yaz Kabak Tohumları''
 +
| ''Yaz Kabağı Tohumu''
 
|-
 
|-
| Island Bikini
+
| [[Workbench]]
| ''Island Bikini''
+
| ''Çalışma Tezgahı''
| ''Bikini des îles''
+
| ''Çalışma Tezgâhı''
 
|}
 
|}
  
; German
+
===Furniture===
 +
; French
 
: {| class="wikitable"
 
: {| class="wikitable"
 
|-
 
|-
Line 1,752: Line 1,715:
 
! new name
 
! new name
 
|-
 
|-
 +
| [[Book Stack]]
 +
| ''Pile de livres''
 +
| ''Tas de livres''
 
|-
 
|-
| Hot Pink Shirt
+
| [[J. Cola Light]]
| ''Hot Pink Shirt''
+
| ''"J. Cola Light"''
| ''Pinkes Hemd''
+
| ''Enseigne murale lumineuse J.Cola''
 +
|-
 +
| [[Large Book Stack]]
 +
| ''Grande pile de livres''
 +
| ''Grand tas de livres''
 +
|-
 +
| [[Midnight Beach Bed]]
 +
| ''Lit''
 +
| ''Lit de plage nocturne''
 +
|-
 +
| [[Midnight Beach Double Bed]]
 +
| ''Lit''
 +
| ''Lit double de plage nocturne''
 +
|-
 +
| [[Small Book Stack]]
 +
| ''Petite pile de livres''
 +
| ''Petit tas de livres''
 +
|-
 +
| [[Wizard Bookshelf]]
 +
| ''Bibliothèque de sorcier''
 +
| ''Étagère de sorcier''
 
|}
 
|}
  
; Italian
+
; Hungarian
 
: {| class="wikitable"
 
: {| class="wikitable"
 
|-
 
|-
Line 1,765: Line 1,751:
 
! new name
 
! new name
 
|-
 
|-
| Island Bikini
+
| [[Midnight Beach Bed]]
| ''Island Bikini''
+
| ''Ágy''
| ''Bikini delle isole''
+
| ''Éjféli strand ágy''
|}
 
 
 
; Japanese
 
: {| class="wikitable"
 
 
|-
 
|-
! item
+
| [[Midnight Beach Double Bed]]
! old name
+
| ''Dupla ágy''
! new name
+
| ''Éjféli strand dupla ágy''
|-
 
| ''gender-variant shirts''
 
| " (F)" and " (M)" suffixes
 
| "(女)" and "(男)" suffixes
 
|-
 
| Island Bikini
 
| ''Island Bikini''
 
| ''アイランドビキニ''
 
 
|}
 
|}
  
; Korean
+
; Italian
 
: {| class="wikitable"
 
: {| class="wikitable"
 
|-
 
|-
Line 1,793: Line 1,767:
 
! new name
 
! new name
 
|-
 
|-
| ''gender-variant shirts''
+
| [[Large Green Rug]]
| "(F)" and "(M)" suffixes
+
| ''Tappeto verde gande''
| "(여)" and "(남)" suffixes
+
| ''Tappeto verde grande''
|-
 
| Island Bikini
 
| ''Island Bikini''
 
| ''섬 비키니''
 
 
|}
 
|}
  
Line 1,809: Line 1,779:
 
! new name
 
! new name
 
|-
 
|-
| Midnight Dog Jacket
+
| [[Birch Lamp End Table]]
| ''Куртка полночного пса''
+
| ''Березовый приставной столик''
| ''Куртка полуночного пса''
+
| ''Березовый приставной столик с лампой''
 
|-
 
|-
| Mineral Dog Jacket
+
| [[Blossom Rug]]
| ''Минеральная куртка для собаки''
+
| ''Цветочный коврик''
| ''Куртка минерального пса''
+
| ''Цветочный ковер''
 
|-
 
|-
| Prismatic Shirt
+
| [[Bountiful Dining Table]]
| ''Призматичная рубашка''
+
| ''Изобильный обеденный стол''
| ''Радужная рубашка''
+
| ''Обеденный стол «Изобилие»''
|}
 
 
 
; Spanish
 
: {| class="wikitable"
 
 
|-
 
|-
! item
+
| [[Circular Junimo Rug]]
! old name
+
| ''Круглый коврик Джунимо''
! new name
+
| ''Круглый ковер Джунимо''
 
|-
 
|-
| Island Bikini
+
| [['Community Center']]
| ''Island Bikini''
+
| ''«Общественный центр»''
| ''Bikini isleño''
+
| ''«Клуб»''
|}
+
|-
 
+
| [[Curly Tree]]
; Turkish
+
| ''Изогнутое дерево''
: {| class="wikitable"
+
| ''Кудрявое дерево''
 
|-
 
|-
! item
+
| [[Dark Leafy Wall Panel]]
! old name
+
| ''Темная панель «Листва»''
! new name
+
| ''Средняя панель «Листва»''
 
|-
 
|-
| ''gender-variant shirts''
+
| [[Dark Rug]]
| "(F)" and "(M)" suffixes
+
| ''Темный Коврик''
| "(K)" and "(E)" suffixes
+
| ''Темный ковер''
 
|-
 
|-
| Aquamarine Shirt
+
| [[Decorative Trash Can]]
| ''Deniz Yeşili Tişört''
+
| ''Декоративная мусорка''
| ''Gök Zümrüdü Tişört''
+
| ''Декоративный мусорный бак''
 
|-
 
|-
| Midnight Dog Jacket
+
| [[Deluxe Tree]]
| ''Geceyarısı Ceketi''
+
| ''Элитное дерево''
| ''Gece Yarısı Ceketi''
+
| ''Изысканное дерево''
 
|-
 
|-
| Tan Striped Shirt
+
| [[Elixir Shelf]]
| ''Çizgili Tenrengi Tişört''
+
| ''Полка для эликсиров''
| ''Çizgili Ten Rengi Tişört''
+
| ''Полка с эликсирами''
|}
 
 
 
===Tools===
 
; German
 
: {| class="wikitable"
 
 
|-
 
|-
! item
+
| [[Elixir Table]]
! old name
+
| ''Стол для эликсиров''
! new name
+
| ''Стол с эликсирами''
 
|-
 
|-
| ''upgradeable tools''
+
| [[Funky Rug]]
| ''{{t|level}} {{t|tool}}'' (like ''Stahl-Axt'')
+
| ''Модный коврик''
| ''{{t|level}}{{t|tool}}'' (like ''StahlAxt'')
+
| ''Модный ковер''
|}
 
 
 
; Hungarian
 
: {| class="wikitable"
 
 
|-
 
|-
! item
+
| [[Green Plush Seat]]
! old name
+
| ''Зеленое плюшевое сидение''
! new name
+
| ''Зеленое плюшевое сиденье''
 
|-
 
|-
| ''upgradeable tools''
+
| [['Groovy']]
| ''{{t|level}} {{t|tool}}'' (like ''Acél Balta'')
+
| ''«Клево»''
| ''{{t|level}}{{t|tool}}'' (like ''Acélbalta'')
+
| ''«Волнистые линии»''
|}
 
 
 
; Japanese
 
: {| class="wikitable"
 
 
|-
 
|-
! item
+
| [[Harvey Portrait]]
! old name
+
| ''Портрет Хэйли''
! new name
+
| ''Портрет Харви''
 
|-
 
|-
| ''upgradeable tools''
+
| [[Icy Rug]]
| ''{{t|level}} {{t|tool}}'' (like ''鋼 オノ'')
+
| ''Ледяной коврик''
| ''{{t|level}}の{{t|tool}}'' (like ''鋼のオノ'')
+
| ''Ледяной ковер''
|}
 
 
 
; Korean
 
: {| class="wikitable"
 
 
|-
 
|-
! item
+
| [[Indoor Hanging Basket]]
! old name
+
| ''Комнатная висячая корзина''
! new name
+
| ''Комнатная подвесная корзина''
 
|-
 
|-
| [[Bamboo Pole]]
+
| J
| ''대나무 막대''
+
| ''Джей''
| ''대나무 낚싯대''
+
| ''Буква «J»''
|}
 
 
 
; Russian
 
: {| class="wikitable"
 
 
|-
 
|-
! item
+
| [['Jade Hills Extended']]
! old name
+
| ''«Нефритовые холмы» (расширенная версия)''
! new name
+
| ''«Нефритовые холмы» (широкая версия)''
 
|-
 
|-
| ''upgradeable tools''
+
| [[Joja Cola Tea Table]]
| ''{{t|tool}} ({{t|level}})'' (like ''Топор (Медь)'')
+
| ''Чайный столик Джоджа-кола''
| ''{{t|level}} {{t|tool}}'' (like ''Медный топор'')
+
| ''Чайный столик «Джоджа-кола»''
|}
+
|-
 
+
| [['Journey Of The Prairie King: The Motion Picture']]
; Spanish
+
| ''«Путешествие Короля Прерий: Фильм»''
: {| class="wikitable"
+
| ''«Путешествие Короля прерий: Худ. фильм»''
 
|-
 
|-
! item
+
| [[Junimo Bag]]
! old name
+
| ''Сумка Джунимо''
! new name
+
| ''Мешочек Джунимо''
 
|-
 
|-
| [[Advanced Iridium Rod]]
+
| [[Junimo Bundle]]
| ''Barra de Iridio Avanzada''
+
| ''Сверток Джунимо''
| ''Caña de Iridio Avanzada''
+
| ''Узелок Джунимо''
|}
 
 
 
; Turkish
 
: {| class="wikitable"
 
 
|-
 
|-
! item
+
| [[Junimo Mat]]
! old name
+
| ''Мат Джунимо''
! new name
+
| ''Коврик Джунимо''
 
|-
 
|-
| [[Advanced Iridium Rod]]
+
| [[Junimo Plaque]]
| ''Gelişmiş İridyum Oltası''
+
| ''Табличка Джунимо''
| ''Gelişmiş İridyum Olta''
+
| ''Пластина Джунимо''
 
|-
 
|-
| [[Bamboo Pole]]
+
| [[Junimo Rug]]
| ''Bambu Oltası''
+
| ''Коврик Джунимо''
| ''Bambu Olta''
+
| ''Ковер Джунимо''
 
|-
 
|-
| [[Fiberglass Rod]]
+
| [[Junimo Wall Plaque]]
| ''Camyünü Oltası''
+
| ''Настенная табличка Джунимо''
| ''Camyünü Olta''
+
| ''Настенная пластина Джунимо''
 
|-
 
|-
| [[Iridium Rod]]
+
| [[Large Cottage Rug]]
| ''İridyum Oltası''
+
| ''Большой домашний коврик''
| ''İridyum Olta''
+
| ''Большой деревенский ковер''
|}
 
 
 
===Weapons===
 
; Japanese
 
: {| class="wikitable"
 
 
|-
 
|-
! item
+
| [[Large Green Rug]]
! old name
+
| ''Большой зеленый коврик''
! new name
+
| ''Большой зеленый ковер''
 
|-
 
|-
| [[Galaxy Hammer]]
+
| [[Large Joja Rug]]
| ''Galaxy Hammer''
+
| ''Большой коврик Джоджа''
| ''ギャラクシーハンマー''
+
| ''Большой ковер Джоджа''
|}
 
 
 
; Turkish
 
: {| class="wikitable"
 
 
|-
 
|-
! item
+
| [[Large Red Rug]]
! old name
+
| ''Большой красный коврик''
! new name
+
| ''Большой красный ковер''
 
|-
 
|-
| [[Elliott's Pencil]]
+
| [[Large Retro Rug]]
| ''Elliot'ın Kalemi''
+
| ''Большой коврик «Ретро»''
| ''Elliott'ın Kalemi''
+
| ''Большой ковер «Ретро»''
|}
 
 
 
===Monsters===
 
; French
 
: {| class="wikitable"
 
 
|-
 
|-
! monster
+
| [[Light Green Rug]]
! old name
+
| ''Коврик «Зеленые листья»''
! new name
+
| ''Ковер «Зеленые листья»''
 
|-
 
|-
| [[Pepper Rex]]
+
| [[Light Leafy Wall Panel]]
| ''Poivron Rex''
+
| ''Светлая панель «Листва»''
| ''Poivrosaure''
+
| ''Короткая панель «Листва»''
 
|-
 
|-
| [[Squid Kid]]
+
| [[Log Panel]]
| ''Jeune calmar''
+
| ''Панель «Бревно»''
| ''Tête flottante''
+
| ''Бревенчатая панель''
|}
 
 
 
; German
 
: {| class="wikitable"
 
 
|-
 
|-
! monster
+
| [[Long Elixir Table]]
! old name
+
| ''Длинный стол для эликсиров''
! new name
+
| ''Длинный стол с эликсирами''
 
|-
 
|-
| [[Magma Duggy]]
+
| [[Mahogany Lamp End Table]]
| ''Magma Schwenker''
+
| ''Приставной столик из красного дерева''
| ''Magma-Schwenker''
+
| ''Приставной столик из красного дерева с лампой''
 
|-
 
|-
| [[Magma Sparker]]
+
| [[Midnight Beach Bed]]
| ''Magma Sprenger''
+
| ''Кровать''
| ''Magma-Sprenger''
+
| ''Кровать «Полночь на пляже»''
 
|-
 
|-
| [[Magma Sprite]]
+
| [[Midnight Beach Double Bed]]
| ''Magma Wicht''
+
| ''Двуспальная кровать''
| ''Magma-Wicht''
+
| ''Двуспальная кровать «Полночь на пляже»''
 
|-
 
|-
| [[Wilderness Golem]]
+
| [[Modern Fish Tank]]
| ''Golem der Wildnis''
+
| ''Современный аквариум''
| ''Wildnis-Golem''
+
| ''Аквариум «Модерн»''
|}
 
 
 
; Hungarian
 
: {| class="wikitable"
 
 
|-
 
|-
! monster
+
| [[Modern Rug]]
! old name
+
| ''Современный коврик''
! new name
+
| ''Ковер «Модерн»''
 
|-
 
|-
| [[Carbon Ghost]]
+
| [[Oak Lamp End Table]]
| ''Szén szellem''
+
| ''Дубовый приставной столик''
| ''Szénszellem''
+
| ''Дубовый приставной столик с лампой''
 
|-
 
|-
| [[Iridium Bat]]
+
| [[Old World Rug]]
| ''Irídium denevér''
+
| ''Старый протертый коврик''
| ''Irídiumdenevér''
+
| ''Старый протертый ковер''
 
|-
 
|-
| [[Iridium Crab]]
+
| [[Patchwork Rug]]
| ''Irídium rák''
+
| ''Лоскутный коврик''
| ''Irídiumrák''
+
| ''Лоскутный ковер''
 
|-
 
|-
| [[Iridium Golem]]
+
| [[Pink Plush Seat]]
| ''Wilderness Golem''
+
| ''Розовое плюшевое сидение''
| ''Vad gólem''
+
| ''Розовое плюшевое сиденье''
 
|-
 
|-
| [[Lava Bat]]
+
| [[Retro Banner]]
| ''Láva denevér''
+
| ''Плакат «Ретро»''
| ''Lávadenevér''
+
| ''Баннер «Ретро»''
 
|-
 
|-
| [[Lava Crab]]
+
| [[Retro Mat]]
| ''Láva rák''
+
| ''Мат «Ретро»''
| ''Lávarák''
+
| ''Маленький коврик «Ретро»''
 
|-
 
|-
| [[Rock Crab]]
+
| [[Retro Rug]]
| ''Kő rák''
+
| ''Коврик «Ретро»''
| ''Kőrák''
+
| ''Ковер «Ретро»''
 
|-
 
|-
| [[Shadow Brute]]
+
| [[Small Book Pile]]
| ''Árnyék állat''
+
| ''Кучка книг''
| ''Árnyékállat''
+
| ''Несколько книг''
 
|-
 
|-
| [[Shadow Shaman]]
+
| [[Small Book Stack]]
| ''Árnyék sámán''
+
| ''Стопочка книг''
| ''Árnyéksámán''
+
| ''Малая стопка книг''
 
|-
 
|-
| Tiger Slime
+
| [[Small Elixir Shelf]]
| ''Tigris ragacs''
+
| ''Полочка для эликсиров''
| ''Tigrisragacs''
+
| ''Узкая полка с эликсирами''
 
|-
 
|-
| [[Truffle Crab]]
+
| [[Small Junimo Mat]]
| ''Rock Crab''
+
| ''Маленький мат Джунимо''
| ''Kőrák''
+
| ''Маленький коврик Джунимо''
|}
+
|-
 
+
| [[Small Stacked Elixir Shelf]]
; Portuguese
+
| ''Заставленная эликсирами полочка''
: {| class="wikitable"
+
| ''Двойная узкая полка с эликсирами''
 +
|-
 +
| [[Stacked Elixir Shelf]]
 +
| ''Заставленная эликсирами полка''
 +
| ''Двойная полка с эликсирами''
 +
|-
 +
| [[Stacked Joja Boxes]]
 +
| ''Куча коробок Джоджа''
 +
| ''Стопка коробок Джоджа''
 +
|-
 +
| [[Standing Geode]]
 +
| ''Стоячая жеода''
 +
| ''Жеода на подставке''
 +
|-
 +
| [[Starry Double Bed]]
 +
| ''Звездная двуспальная кровать''
 +
| ''Звездчатая двуспальная кровать''
 
|-
 
|-
! monster
+
| [[Starry Moon Rug]]
! old name
+
| ''Коврик со звездной ночью''
! new name
+
| ''Ковер «Звездная ночь»''
 
|-
 
|-
| [[Frost Jelly]]
+
| 'Sun #44'
| ''Geleia congelada''
+
| ''«Солнце №44»''
 +
| ''«Солнце № 44»''
 +
|-
 +
| 'Sun #45'
 +
| ''«Солнце №45»''
 +
| ''«Солнце № 45»''
 +
|-
 +
| [[Swirl Rug]]
 +
| ''Коврик с завихрениями''
 +
| ''Ковер с завихрениями''
 +
|-
 +
| [['VGA Paradise']]
 +
| ''«VGA-рай»''
 +
| ''«Рай VGA»''
 +
|-
 +
| [[Wallflower Pal]]
 +
| ''Дружок у стенки''
 +
| ''Настенный дружок''
 +
|-
 +
| [[Wall Sconce]]
 +
| ''Настенный канделябр''
 +
| ''Настенный светильник''
 +
|-
 +
| [[Walnut Lamp End Table]]
 +
| ''Ореховый приставной столик''
 +
| ''Ореховый приставной столик с лампой''
 +
|-
 +
| [[Winter Tree Decal]]
 +
| ''Наклейка «Зимнее дерево»''
 +
| ''Наклейка «Зимняя ель»''
 +
|-
 +
| [[Witch's Broom]]
 +
| ''Метла ведьмы''
 +
| ''Ведьмина метла''
 +
|-
 +
| [[Wood Panel]]
 +
| ''Панель «Дерево»''
 +
| ''Дощатая панель''
 +
|}
 +
 
 +
; Spanish
 +
: {| class="wikitable"
 +
|-
 +
! item
 +
! old name
 +
! new name
 +
|-
 +
| [[Modern Fish Tank]]
 +
| ''Pecera mdoerna''
 +
| ''Pecera moderna''
 +
|}
 +
 
 +
; Turkish
 +
: {| class="wikitable"
 +
|-
 +
! item
 +
! old name
 +
! new name
 +
|-
 +
| [[Aquamarine Crystal Ball]]
 +
| ''Deniz Yeşili Kristal Küre''
 +
| ''Gök Zümrüdü Kristal Küre''
 +
|-
 +
| [[Birch Dresser]]
 +
| ''Huş Şifoniyer''
 +
| ''Huş Şifonyer''
 +
|-
 +
| [[Book Pile]]
 +
| ''Kitap Yığını''
 +
| ''Yığılmış Kitaplar''
 +
|-
 +
| [[Green Cottage Rug]]
 +
| ''Yeşil Baraka''
 +
| ''Yeşil Baraka Kilimi''
 +
|-
 +
| [[J. Cola Light]]
 +
| ''Diyet J. Kola''
 +
| ''J. Kola Işığı''
 +
|-
 +
| [[Joja Crate]]
 +
| ''Joja Sandığı''
 +
| ''Joja Kutusu''
 +
|-
 +
| [[Journey Of The Prairie King: The Motion Picture]]
 +
| ''&apos;Çayır Kralı'nın Yolculuğu&apos;''
 +
| ''&apos;Çayır Kralı'nın Yolculuğu: Sinema Filmi&apos;''
 +
|-
 +
| [[Junimo Plush]]
 +
| ''Peluş Junimo''
 +
| ''Pelüş Junimo''
 +
|-
 +
| [[Krobus Portrait]]
 +
| ''Krobus'in Portresi''
 +
| ''Krobus'un Portresi''
 +
|-
 +
| [[Large Book Pile]]
 +
| ''Büyük Kitap Yığını''
 +
| ''Büyük Yığılmış Kitaplar''
 +
|-
 +
| [[Large Joja Crate]]
 +
| ''Büyük Joja Sandığı''
 +
| ''Büyük Joja Kutusu''
 +
|-
 +
| [[Leah Portrait]]
 +
| ''Leah'ın Portresi''
 +
| ''Leah'nın Portresi''
 +
|-
 +
| [[Leah's Sculpture]]
 +
| ''Leah'ın Heykeli''
 +
| ''Leah'nın Heykeli''
 +
|-
 +
| [[Mahogany Bench]]
 +
| ''Mahun Oturak''
 +
| ''Maun Oturak''
 +
|-
 +
| [[Mahogany Chair]]
 +
| ''Mahun Sandalye''
 +
| ''Maun Sandalye''
 +
|-
 +
| [[Mahogany Dining Table]]
 +
| ''Mahun Yemek Masası''
 +
| ''Maun Yemek Masası''
 +
|-
 +
| [[Mahogany Dresser]]
 +
| ''Mahun Şifoniyer''
 +
| ''Maun Şifonyer''
 +
|-
 +
| [[Mahogany End Table]]
 +
| ''Mahun Komodin''
 +
| ''Maun Komodin''
 +
|-
 +
| [[Mahogany Table]]
 +
| ''Mahun Masa''
 +
| ''Maun Masa''
 +
|-
 +
| [[Mahogany Tea-Table]]
 +
| ''Mahun Sehpa''
 +
| ''Maun Sehpa''
 +
|-
 +
| [[Midnight Beach Bed]]
 +
| ''Yatak''
 +
| ''Gece Yarısı Kumsallı Yatak''
 +
|-
 +
| [[Midnight Beach Double Bed]]
 +
| ''Çift Kişilik Yatak''
 +
| ''Gece Yarısı Kumsallı Çift Kişilik Yatak''
 +
|-
 +
| [[Modern Rug]]
 +
| ''Modern Kilim''
 +
| ''Modern Halı''
 +
|-
 +
| [[Oak Dresser]]
 +
| ''Meşe Şifoniyer''
 +
| ''Meşe Şifonyer''
 +
|-
 +
| [[Pierre's Sign]]
 +
| ''Pierre'nin Tabelası''
 +
| ''Pierre'in Tabelası''
 +
|-
 +
| [[Red Cottage Rug]]
 +
| ''Kırmızı Baraka''
 +
| ''Kırmızı Baraka Kilimi''
 +
|-
 +
| [[Short Wizard Bookcase]]
 +
| ''Küçük Büyücü Kitaplığı''
 +
| ''Kısa Büyücü Kitaplığı''
 +
|-
 +
| [[Small Book Pile]]
 +
| ''Küçük Kitap Yığını''
 +
| ''Küçük Yığılmış Kitaplar''
 +
|-
 +
| [[Small Junimo Plush]]
 +
| ''Küçük Junimo Peluşu''
 +
| ''Küçük Junimo Pelüşü''
 +
|-
 +
| [[Walnut Dresser]]
 +
| ''Ceviz Şifoniyer''
 +
| ''Ceviz Şifonyer''
 +
|-
 +
| [[Wizard Bookshelf]]
 +
| ''Büyücü Kitaplığı''
 +
| ''Büyücü Rafı''
 +
|}
 +
 
 +
===Hats===
 +
; French
 +
: {| class="wikitable"
 +
|-
 +
! item
 +
! old name
 +
! new name
 +
|-
 +
| [[blue Bow]]
 +
| ''Ruban bleu''
 +
| ''Noeud ruban bleu''
 +
|-
 +
| [[Fedora]]
 +
| ''Fedora''
 +
| ''Fédora''
 +
|}
 +
 
 +
; German
 +
: {| class="wikitable"
 +
|-
 +
! item
 +
! old name
 +
! new name
 +
|-
 +
| [[Bucket Hat]]
 +
| ''Fischerhut''
 +
| ''Bucket-Hut''
 +
|-
 +
| [[Panda Hat]]
 +
| ''Panda Hat''
 +
| ''Panda-Hut''
 +
|}
 +
 
 +
; Russian
 +
: {| class="wikitable"
 +
|-
 +
! item
 +
! old name
 +
! new name
 +
|-
 +
| [[Arcane Hat]]
 +
| ''Загадочная шляпа''
 +
| ''Таинственная шляпа''
 +
|-
 +
| [[Flat Topped Hat]]
 +
| ''Канотье''
 +
| ''Капотен''
 +
|}
 +
 
 +
; Spanish
 +
: {| class="wikitable"
 +
|-
 +
! item
 +
! old name
 +
! new name
 +
|-
 +
| [[Gold Pan]]
 +
| ''Sartén de Oro''
 +
| ''Cacerola de Oro''
 +
|-
 +
| [[Iridium Pan]]
 +
| ''Sartén de Iridio''
 +
| ''Cacerola de Iridio''
 +
|-
 +
| [[Steel Pan]]
 +
| ''Sartén de Acero''
 +
| ''Cacerola de Acero''
 +
|-
 +
| [[Totem Mask]]
 +
| ''Máscara totem''
 +
| ''Máscara tótem''
 +
|}
 +
 
 +
; Turkish
 +
: {| class="wikitable"
 +
|-
 +
! item
 +
! old name
 +
! new name
 +
|-
 +
| [[Arcane Hat]]
 +
| ''Gizemli Şapka''
 +
| ''Büyücü Şapkası''
 +
|-
 +
| [[Copper Pan]]
 +
| ''Bakır Tava''
 +
| ''Bakır Eleme Tavası''
 +
|-
 +
| [[Flat Topped Hat]]
 +
| ''Fötr Şapka''
 +
| ''Seyyah Şapkası''
 +
|}
 +
 
 +
===Pants===
 +
; German
 +
: {| class="wikitable"
 +
|-
 +
! item
 +
! old name
 +
! new name
 +
|-
 +
| Island Bikini
 +
| ''Island Bikini''
 +
| ''Insel Bikini''
 +
|-
 +
| Prismatic Pants
 +
| ''Prismatic Pants''
 +
| ''Prisma Hose''
 +
|}
 +
 
 +
===Shirts===
 +
; French
 +
: {| class="wikitable"
 +
|-
 +
! item
 +
! old name
 +
! new name
 +
|-
 +
| ''gender-variant shirts''
 +
| "(M)" suffix
 +
| "(H)" suffix
 +
|-
 +
|-
 +
| Island Bikini
 +
| ''Island Bikini''
 +
| ''Bikini des îles''
 +
|}
 +
 
 +
; German
 +
: {| class="wikitable"
 +
|-
 +
! item
 +
! old name
 +
! new name
 +
|-
 +
|-
 +
| Hot Pink Shirt
 +
| ''Hot Pink Shirt''
 +
| ''Pinkes Hemd''
 +
|}
 +
 
 +
; Italian
 +
: {| class="wikitable"
 +
|-
 +
! item
 +
! old name
 +
! new name
 +
|-
 +
| Island Bikini
 +
| ''Island Bikini''
 +
| ''Bikini delle isole''
 +
|}
 +
 
 +
; Japanese
 +
: {| class="wikitable"
 +
|-
 +
! item
 +
! old name
 +
! new name
 +
|-
 +
| ''gender-variant shirts''
 +
| " (F)" and " (M)" suffixes
 +
| "(女)" and "(男)" suffixes
 +
|-
 +
| Island Bikini
 +
| ''Island Bikini''
 +
| ''アイランドビキニ''
 +
|}
 +
 
 +
; Korean
 +
: {| class="wikitable"
 +
|-
 +
! item
 +
! old name
 +
! new name
 +
|-
 +
| ''gender-variant shirts''
 +
| "(F)" and "(M)" suffixes
 +
| "(여)" and "(남)" suffixes
 +
|-
 +
| Island Bikini
 +
| ''Island Bikini''
 +
| ''섬 비키니''
 +
|}
 +
 
 +
; Russian
 +
: {| class="wikitable"
 +
|-
 +
! item
 +
! old name
 +
! new name
 +
|-
 +
| Midnight Dog Jacket
 +
| ''Куртка полночного пса''
 +
| ''Куртка полуночного пса''
 +
|-
 +
| Mineral Dog Jacket
 +
| ''Минеральная куртка для собаки''
 +
| ''Куртка минерального пса''
 +
|-
 +
| Prismatic Shirt
 +
| ''Призматичная рубашка''
 +
| ''Радужная рубашка''
 +
|}
 +
 
 +
; Spanish
 +
: {| class="wikitable"
 +
|-
 +
! item
 +
! old name
 +
! new name
 +
|-
 +
| Island Bikini
 +
| ''Island Bikini''
 +
| ''Bikini isleño''
 +
|}
 +
 
 +
; Turkish
 +
: {| class="wikitable"
 +
|-
 +
! item
 +
! old name
 +
! new name
 +
|-
 +
| ''gender-variant shirts''
 +
| "(F)" and "(M)" suffixes
 +
| "(K)" and "(E)" suffixes
 +
|-
 +
| Aquamarine Shirt
 +
| ''Deniz Yeşili Tişört''
 +
| ''Gök Zümrüdü Tişört''
 +
|-
 +
| Midnight Dog Jacket
 +
| ''Geceyarısı Ceketi''
 +
| ''Gece Yarısı Ceketi''
 +
|-
 +
| Tan Striped Shirt
 +
| ''Çizgili Tenrengi Tişört''
 +
| ''Çizgili Ten Rengi Tişört''
 +
|}
 +
 
 +
===Tools===
 +
; German
 +
: {| class="wikitable"
 +
|-
 +
! item
 +
! old name
 +
! new name
 +
|-
 +
| ''upgradeable tools''
 +
| ''{{t|level}} {{t|tool}}'' (like ''Stahl-Axt'')
 +
| ''{{t|level}}{{t|tool}}'' (like ''StahlAxt'')
 +
|}
 +
 
 +
; Hungarian
 +
: {| class="wikitable"
 +
|-
 +
! item
 +
! old name
 +
! new name
 +
|-
 +
| ''upgradeable tools''
 +
| ''{{t|level}} {{t|tool}}'' (like ''Acél Balta'')
 +
| ''{{t|level}}{{t|tool}}'' (like ''Acélbalta'')
 +
|}
 +
 
 +
; Japanese
 +
: {| class="wikitable"
 +
|-
 +
! item
 +
! old name
 +
! new name
 +
|-
 +
| ''upgradeable tools''
 +
| ''{{t|level}} {{t|tool}}'' (like ''鋼 オノ'')
 +
| ''{{t|level}}の{{t|tool}}'' (like ''鋼のオノ'')
 +
|}
 +
 
 +
; Korean
 +
: {| class="wikitable"
 +
|-
 +
! item
 +
! old name
 +
! new name
 +
|-
 +
| [[Bamboo Pole]]
 +
| ''대나무 막대''
 +
| ''대나무 낚싯대''
 +
|}
 +
 
 +
; Russian
 +
: {| class="wikitable"
 +
|-
 +
! item
 +
! old name
 +
! new name
 +
|-
 +
| ''upgradeable tools''
 +
| ''{{t|tool}} ({{t|level}})'' (like ''Топор (Медь)'')
 +
| ''{{t|level}} {{t|tool}}'' (like ''Медный топор'')
 +
|}
 +
 
 +
; Spanish
 +
: {| class="wikitable"
 +
|-
 +
! item
 +
! old name
 +
! new name
 +
|-
 +
| [[Advanced Iridium Rod]]
 +
| ''Barra de Iridio Avanzada''
 +
| ''Caña de Iridio Avanzada''
 +
|}
 +
 
 +
; Turkish
 +
: {| class="wikitable"
 +
|-
 +
! item
 +
! old name
 +
! new name
 +
|-
 +
| [[Advanced Iridium Rod]]
 +
| ''Gelişmiş İridyum Oltası''
 +
| ''Gelişmiş İridyum Olta''
 +
|-
 +
| [[Bamboo Pole]]
 +
| ''Bambu Oltası''
 +
| ''Bambu Olta''
 +
|-
 +
| [[Fiberglass Rod]]
 +
| ''Camyünü Oltası''
 +
| ''Camyünü Olta''
 +
|-
 +
| [[Iridium Rod]]
 +
| ''İridyum Oltası''
 +
| ''İridyum Olta''
 +
|}
 +
 
 +
===Weapons===
 +
; Japanese
 +
: {| class="wikitable"
 +
|-
 +
! item
 +
! old name
 +
! new name
 +
|-
 +
| [[Galaxy Hammer]]
 +
| ''Galaxy Hammer''
 +
| ''ギャラクシーハンマー''
 +
|}
 +
 
 +
; Turkish
 +
: {| class="wikitable"
 +
|-
 +
! item
 +
! old name
 +
! new name
 +
|-
 +
| [[Elliott's Pencil]]
 +
| ''Elliot'ın Kalemi''
 +
| ''Elliott'ın Kalemi''
 +
|}
 +
 
 +
===Monsters===
 +
; French
 +
: {| class="wikitable"
 +
|-
 +
! monster
 +
! old name
 +
! new name
 +
|-
 +
| [[Pepper Rex]]
 +
| ''Poivron Rex''
 +
| ''Poivrosaure''
 +
|-
 +
| [[Squid Kid]]
 +
| ''Jeune calmar''
 +
| ''Tête flottante''
 +
|}
 +
 
 +
; German
 +
: {| class="wikitable"
 +
|-
 +
! monster
 +
! old name
 +
! new name
 +
|-
 +
| [[Magma Duggy]]
 +
| ''Magma Schwenker''
 +
| ''Magma-Schwenker''
 +
|-
 +
| [[Magma Sparker]]
 +
| ''Magma Sprenger''
 +
| ''Magma-Sprenger''
 +
|-
 +
| [[Magma Sprite]]
 +
| ''Magma Wicht''
 +
| ''Magma-Wicht''
 +
|-
 +
| [[Wilderness Golem]]
 +
| ''Golem der Wildnis''
 +
| ''Wildnis-Golem''
 +
|}
 +
 
 +
; Hungarian
 +
: {| class="wikitable"
 +
|-
 +
! monster
 +
! old name
 +
! new name
 +
|-
 +
| [[Carbon Ghost]]
 +
| ''Szén szellem''
 +
| ''Szénszellem''
 +
|-
 +
| [[Iridium Bat]]
 +
| ''Irídium denevér''
 +
| ''Irídiumdenevér''
 +
|-
 +
| [[Iridium Crab]]
 +
| ''Irídium rák''
 +
| ''Irídiumrák''
 +
|-
 +
| [[Iridium Golem]]
 +
| ''Wilderness Golem''
 +
| ''Vad gólem''
 +
|-
 +
| [[Lava Bat]]
 +
| ''Láva denevér''
 +
| ''Lávadenevér''
 +
|-
 +
| [[Lava Crab]]
 +
| ''Láva rák''
 +
| ''Lávarák''
 +
|-
 +
| [[Rock Crab]]
 +
| ''Kő rák''
 +
| ''Kőrák''
 +
|-
 +
| [[Shadow Brute]]
 +
| ''Árnyék állat''
 +
| ''Árnyékállat''
 +
|-
 +
| [[Shadow Shaman]]
 +
| ''Árnyék sámán''
 +
| ''Árnyéksámán''
 +
|-
 +
| Tiger Slime
 +
| ''Tigris ragacs''
 +
| ''Tigrisragacs''
 +
|-
 +
| [[Truffle Crab]]
 +
| ''Rock Crab''
 +
| ''Kőrák''
 +
|}
 +
 
 +
; Portuguese
 +
: {| class="wikitable"
 +
|-
 +
! monster
 +
! old name
 +
! new name
 +
|-
 +
| [[Frost Jelly]]
 +
| ''Geleia congelada''
 
| ''Gosma Congelada''
 
| ''Gosma Congelada''
|-
+
|-
| [[Iridium Golem]]
+
| [[Iridium Golem]]
| ''Wilderness Golem''
+
| ''Wilderness Golem''
| ''Golem Selvagem''
+
| ''Golem Selvagem''
|-
+
|-
| [[Pepper Rex]]
+
| [[Pepper Rex]]
| ''Pimenta Rex''
+
| ''Pimenta Rex''
| ''Rex Pimenta''
+
| ''Rex Pimenta''
|-
+
|-
| Shadow Guy
+
| Shadow Guy
| ''O cara das sombras''
+
| ''O cara das sombras''
| ''Homem das Sombras''
+
| ''Homem das Sombras''
|-
+
|-
| [[Skeleton Mage]]
+
| [[Skeleton Mage]]
| ''Mago esqueleto''
+
| ''Mago esqueleto''
| ''Esqueleto Mago''
+
| ''Esqueleto Mago''
|-
+
|-
| [[Skeleton|Skeleton Warrior]]
+
| [[Skeleton|Skeleton Warrior]]
| ''Guerreiro esqueleto''
+
| ''Guerreiro esqueleto''
| ''Esqueleto Guerreiro''
+
| ''Esqueleto Guerreiro''
 +
|}
 +
 
 +
; Russian
 +
: {| class="wikitable"
 +
|-
 +
! monster
 +
! old name
 +
! new name
 +
|-
 +
| [[Carbon Ghost]]
 +
| ''Углеродный признак''
 +
| ''Углеродный призрак''
 +
|-
 +
| [[Dwarvish Sentry]]
 +
| ''Часовой дварфов''
 +
| ''Дварфийский часовой''
 +
|-
 +
| [[Iridium Golem]]
 +
| ''Wilderness Golem''
 +
| ''Голем из глуши''
 +
|-
 +
| [[Shadow Shaman]]
 +
| ''Шаман теней''
 +
| ''Теневой шаман''
 +
|-
 +
| [[Truffle Crab]]
 +
| ''Rock Crab''
 +
| ''Каменный краб''
 +
|}
 +
 
 +
; Turkish
 +
: {| class="wikitable"
 +
|-
 +
! monster
 +
! old name
 +
! new name
 +
|-
 +
| [[Magma Duggy]]
 +
| ''Mağma Kazılcası''
 +
| ''Magma Kazılcası''
 +
|-
 +
| [[Magma Sprite]]
 +
| ''Mağma Tayfı''
 +
| ''Magma Tayfı''
 
|}
 
|}
  
; Russian
+
==See also==
: {| class="wikitable"
+
* The {{version|1.6.9|1.6.9 release notes}} list many smaller technical changes not covered on this page.
|-
 
! monster
 
! old name
 
! new name
 
|-
 
| [[Carbon Ghost]]
 
| ''Углеродный признак''
 
| ''Углеродный призрак''
 
|-
 
| [[Dwarvish Sentry]]
 
| ''Часовой дварфов''
 
| ''Дварфийский часовой''
 
|-
 
| [[Iridium Golem]]
 
| ''Wilderness Golem''
 
| ''Голем из глуши''
 
|-
 
| [[Shadow Shaman]]
 
| ''Шаман теней''
 
| ''Теневой шаман''
 
|-
 
| [[Truffle Crab]]
 
| ''Rock Crab''
 
| ''Каменный краб''
 
|}
 
  
; Turkish
+
[[tr:Modlama:Stardew Valley 1.6.9'a Aktarım]]
: {| class="wikitable"
 
|-
 
! monster
 
! old name
 
! new name
 
|-
 
| [[Magma Duggy]]
 
| ''Mağma Kazılcası''
 
| ''Magma Kazılcası''
 
|-
 
| [[Magma Sprite]]
 
| ''Mağma Tayfı''
 
| ''Magma Tayfı''
 
|}
 

Latest revision as of 14:45, 24 September 2024

Index

This page is for mod authors. Players: see Modding:Mod compatibility instead.


This page explains how to update your mods for compatibility with Stardew Valley 1.6.9, and documents some of the changes and new functionality. See also Migrate to Stardew Valley 1.6.

FAQs

What's changing?

Stardew Valley 1.6.9 contains many smaller changes for mods after the major 1.6 update.

Is this the modapocalypse?

No. The vast majority of mods should be unaffected by the changes in 1.6.9, and SMAPI will automatically rewrite most mods that are.

How to update your mod

Most mods won't need any changes. Here's a suggested 'quick start' guide to update a mod for Stardew Valley 1.6.9.

For C# mods:
  1. If you haven't already, update the mod for Stardew Valley 1.6.0.
  2. Rebuild the solution.
  3. Fix any build errors. You can search this page for relevant info as needed.
  4. Test to make sure the mod works.
  5. Skim through the changes below, and check any section that might be relevant to the mod.
For Content Patcher packs:
  1. If you haven't already, follow the Content Patcher migration guide until your content pack has "Format": "2.3.0".
    Do not skip this step! Content Patcher will assume your content pack is pre-1.6 if you don't, which can cause confusing errors if you already updated it.
  2. Skim through the changes below, and check any section that might be relevant to the mod.
For content packs which use another framework:
See the documentation for the framework mod. Often you won't need to update the content pack if the framework mod itself was updated.

Changes for all mods

Dialogue changes

  • 1.6.9 adds several new dialogue keys:
    asset key format description
    Characters/Dialogue/<name> AcceptBirthdayGift_<taste>_<context tag> (Optional) Shown when the NPC receives a birthday gift with the specified gift taste and context tag. See AcceptGift_<taste> for valid gift tastes.

    This is checked immediately before the AcceptBirthdayGift_<context tag> key added in 1.6.

    AcceptGift_<taste>_<context tag> (Optional) Shown when the NPC receives a non-birthday gift with the specified gift taste and context tag. See AcceptGift_<taste> for valid gift tastes.

    This is checked immediately before the AcceptGift_<context tag> key added in 1.6.

    AcceptGift_<taste> (Optional) Shown when the NPC receives a gift with the specified gift taste. The <taste> can be a specific taste level (Loved, Liked, Neutral, Disliked, or Hated), Positive (neutral/liked/loved), or Negative (disliked/hated).

    This is checked after all AcceptGift_* keys added in 1.6.

    AcceptGift (Optional) Shown when the NPC receives a non-birthday gift, if no other AcceptGift_* dialogue key was found.
    RejectBouquet_AlreadyAccepted_Engaged
    RejectBouquet_AlreadyAccepted_Married
    RejectBouquet_AlreadyAccepted
    (Optional) Shown when the player gives a bouquet to an NPC who already accepted one from them.
    RejectMermaidPendant_AlreadyAccepted_Engaged
    RejectMermaidPendant_AlreadyAccepted_Married
    RejectMermaidPendant_AlreadyAccepted
    (Optional) Shown when the player gives a mermaid's pendant to an NPC who already accepted one from them.
    RejectRoommateProposal_AlreadyAccepted
    RejectRoommateProposal_NpcWithSomeoneElse
    RejectRoommateProposal_PlayerWithSomeoneElse
    RejectRoommateProposal_LowFriendship
    RejectRoommateProposal_SmallHouse
    (Optional) Shown when the NPC rejects a roommate proposal because the player doesn't meet a specific requirement:
    • AlreadyAccepted: the NPC is already a roommate with this player.
    • NpcWithSomeoneElse: the NPC is already a roommate with another player.
    • PlayerWithSomeoneElse: the player making the proposal already has a roommate.
    • LowFriendship: the player doesn't have 10+ hearts with the NPC.
    • SmallHouse: the player hasn't upgraded their house yet.
    RejectRoommateProposal (Optional) Shown when the NPC rejects a roommate proposal, if a more specific RejectRoommateProposal_* dialogue wasn't found.
  • When using the $y dialogue command, you can now escape asterisks. For example, A*B will split A and B into separate dialogue boxes like before, but A**B will be shown with a single literal asterisk.

Game state query changes

  • 1.6.9 adds some new game state queries:
    Condition effect
    DATE_RANGE <min season> <min day> <min year> [max season] [max day] [max year] Whether the calendar date is within the specified range, inclusively. The max values default to winter (season), 28 (day), and unlimited (year) if omitted.

    For example, between summer 15 and winter 15 in year one:

    DATE_RANGE Summer 15 1 Winter 15 1

    Or fall 15 or later:

    DATE_RANGE Fall 15 1
    PLAYER_BASE_COMBAT_LEVEL
    PLAYER_BASE_FARMING_LEVEL
    PLAYER_BASE_FISHING_LEVEL
    PLAYER_BASE_FORAGING_LEVEL
    PLAYER_BASE_LUCK_LEVEL
    PLAYER_BASE_MINING_LEVEL
    Same as the non-BASE queries, but ignores buffs which change skill levels.
    PLAYER_HAS_TRINKET <player>+ <trinket ID>+ Whether the specified player(s) have one of the listed trinkets equipped. Each ID can be a qualified or unqualified item ID.
  • You can now check multiple values in more queries, like PLAYER_HAS_CAUGHT_FISH Current 128 139 for pufferfish or salmon. This affects PLAYER_HAS_BUFF, PLAYER_HAS_CAUGHT_FISH, PLAYER_HAS_CONVERSATION_TOPIC, PLAYER_HAS_DIALOGUE_ANSWER, PLAYER_HAS_HEARD_SONG, PLAYER_HAS_RUN_TRIGGER_ACTION, PLAYER_HAS_SEEN_EVENT, PLAYER_SPECIAL_ORDER_ACTIVE, PLAYER_SPECIAL_ORDER_RULE_ACTIVE, and PLAYER_SPECIAL_ORDER_COMPLETE.

Debug command changes

  • All debug commands now validate their arguments.
  • Improved error-handling in many cases.
  • 1.6.9 adds some new debug command:
    command description
    listLights Show debug info about all currently active light sources.
    logWallAndFloorWarnings Enable debug logs when applying wallpaper and flooring to a farmhouse (or other decoratable location) to help troubleshoot cases where they don't work with a custom map. You'd usually enable this before loading the save.
    whereIsItem,
    whereItem
    List all items matching the given item ID or name in the save.

    For example:

    > debug whereItem "Watering Can"
    
    Found 1 item matching name 'Watering Can':
    - Farm > Shed at 50, 14 > Shed149bae63-2add-4ab6-a5aa-b3bd76372004 > Chest at 4, 4 > Watering Can ((T)CopperWateringCan)
    
    worldMapPosition [includeLog] Show detailed info to help troubleshoot world map positioning data. If [includeLog] is true, it will print a detailed log of how the current position was determined based on the Data/WorldMap entries.
  • These have been removed:
    command notes
    buildCoop Replaced by debug build coop.
  • These have been improved:
    command changes
    build The building type is now case-insensitive, and will list fuzzy matches if an exact match isn't found.
    event The dontClearEvent option (default false) has been replaced by clearEventsSeen (default true), and no longer treats any value as true.
    furniture Now allows non-numeric furniture IDs.
    growCrops Now affects crops in garden pots.
    holdItem Added an optional [showMessage] boolean argument to show the item-received message after playing the hold-item animation.
    item The item ID argument is now required.
    mineLevel Added an optional [layout] argument, which can be set to the layout number in Content/Maps/Mines. For example, debug mineLevel 101 47 warps to mine level 101 using layout 47.
    setUpFarm The clearMore argument no longer treats any value as true.
    spreadSeeds Now affects crops in garden pots.
    warpCharacterTo Added a separate argument for the NPC's facing direction, instead of using the Y argument.
    water Now affects crops in garden pots.

Translation changes

  • Many of the 1.6 translations were moved from Strings/1_6_Strings into Strings/BigCraftables, Strings/Objects, and Strings/Tools.
  • Tool names/descriptions were moved from Strings/StringsFromCSFiles into a new Strings/Tools asset. Dynamic tool names (like "Gold {0}") have also been replaced by specific names (like "Gold Axe") to allow fixing awkward translations.

Building data changes

1.6.9 adds a new field in Data/Buildings, for indoor item entries:

field effect
ClearTile (Optional) Whether to remove any item on the target tile, except for one matching the indoor item's ItemId. The previous contents of the tile will be moved into the lost and found if applicable. Default true.

Farm animal data changes

1.6.9 adds a new field in Data/FarmAnimals:

field effect
Shadow (Optional) The shadow to draw under the farm animal, if a more specific field like ShadowWhenAdult doesn't apply. Defaults to omitted.

Fish pond data changes

Added new fields:

field effect
MaxPopulation (Optional) The maximum number of fish that can live in this pond, whether added manually or through population growth. This can't exceed the hardcoded maximum of 10. If omitted, defaults to the maximum based on PopulationGates.
WaterColor (Optional) The color tint to apply to the water when this entry applies. If multiple are specified, the first matching entry is applied. If none match, the default water color is used.

This consists of a list of models with these fields:

field effect
Id The unique string ID for this entry.
Color (Optional) The water color to apply. This can be a standard color value, or CopyFromInput (to use the item color from the fish item data). Default none.
MinPopulation (Optional) The minimum number of fish in the pond before this color applies. Default 1.
MinUnlockedPopulationGate (Optional) The minimum population for the last population gate that was unlocked, or 0 for any value. Default 0.
Condition (Optional) A game state query which indicates whether this entry should be applied. Defaults to always true.
Rewards This field already existed, but now has item spawn fields, conditions, and Id:
field effect
Id The unique string ID for this entry.
common fields See item spawn fields for the generic item fields supported by fish pond rewards.

Notes:

  • If ItemId or RandomItemId is set to an item query which returns multiple items, one item will be selected at random.
  • If ItemId and RandomItemId is set to the exact string (O)812 (roe), it will produce roe for the current fish.
  • For the Condition field, the input item matches the fish living in the pond.

The former MinQuantity/MaxQuantity fields are now obsolete, and replaced by the standard MinStack/MaxStack item spawn fields. For content packs which set the old fields, the value will be applied to the new ones automatically instead.

Item data changes

In Data/Objects

  • Added a new field:
    field effect
    ColorOverlayFromNextIndex (Optional) When drawn as a colored object, whether to apply the color to the next sprite in the spritesheet and draw that over the main sprite. If false, the color is applied to the main sprite instead. Default false.
  • Object buffs can now also set these buff attributes: CombatLevel, AttackMultiplier, CriticalChanceMultiplier, CriticalPowerMultiplier, Immunity, KnockbackMultiplier, WeaponPrecisionMultiplier, and WeaponSpeedMultiplier.
  • Flavor name translations like Wine_Flavored_Name can use a new {1} token for the lowercase name.
  • You can now customize the display name for specific flavor items. For example, the Wine_Flavored_(O)282_Name translation ("Cranberry Wine") overrides Wine_Flavored_Name ("{0} Wine").

Item spawn fields

1.6.9 adds a new field for all item spawn fields:

field effect
Color (Optional) The tint color to apply to the produced item. Default none.

Other

  • For C# mods, the Object.displayNameFormat field can now use two new tokens: %DISPLAY_NAME_LOWERCASE and %PRESERVED_DISPLAY_NAME_LOWERCASE.

Machine data changes

1.6.9 fixes some issues with Data/Machines:

  • The PreserveId field now supports the DROP_IN_PRESERVE token.
  • The CopyColor field now works for any input item, even if it's not a ColoredObject (in which case it uses the color from its context tags).
  • The CopyQuality field no longer disables QualityModifiers; those are now applied to the result of the copy.

Map property changes

1.6.9 adds new map properties:

property explanation
AllowBeds <allowed>
AllowMiniFridges <allowed>
Whether beds or mini-fridges can be placed in this location. This can be true or false. If specified, this bypasses the usual specific requirements (e.g. farmhouse upgrade level), though general furniture restrictions still apply (e.g. the 'placement restriction' field in Data/Furniture).

Pet data changes

In Data/Pets, the Gifts field now uses item spawn fields (including conditions and item quality/color/name/etc). The previous QualifiedItemID and Stack fields are now deprecated, but content packs which set them should still work.

Tokenizable string changes

  • Added new tokens:
    token format output
    [CapitalizeFirstLetter <text>] The input text, with the first letter capitalized.
    [ItemNameWithFlavor <flavor type> <flavor ID>] The translated display name for a flavored item name, where...
    • <flavor type> is one of AgedRoe, Bait, DriedFruit, DriedMushroom, Honey, Jelly, Juice, Pickle, Roe, SmokedFish, or Wine;
    • <flavor ID> is the qualified or qualified item ID for the flavor (e.g. the blueberry in blueberry wine).
  • For C# mods with custom tokens, parsers now receive argument values with any escape characters from [EscapedText] stripped back out.

Tool data changes

In Data/Tools, the ApplyUpgradeLevelToDisplayName field no longer exists. Every tool now has its own name instead (see translation changes).

Trigger action changes

1.6.9 adds a new field in Data/TriggerActions:

field effect
SkipPermanentlyCondition (Optional) If set, a game state query which indicates that the action should be marked applied when this condition matches. This happens before Condition, Action, and Actions are applied.

This mainly allows optimizing cases where the action will never be applied, to avoid parsing the Condition each time.

Changes for C# mods

Player changes

  • The Game1.getFarmer and Game1.getFarmerMaybeOffline methods are now obsolete and should no longer be used. They've been replaced by a unified Game1.GetPlayer method. The old methods have inconsistent and sometimes counterintuitive behavior. For example, getFarmer(id) returns the main player if the target player is offline, which usually isn't the expected result. getFarmer also returns the main player given an invalid player ID, while getFarmerMaybeOffline returns null in that case. The new method matches offline players by default, returns null if the ID isn't found (so you can choose the best fallback behavior), and has full code docs and nullability annotations. To migrate existing code:
    old code migration
    Farmer player = Game1.getFarmer(id);
    
    The exact equivalent is:
    Farmer player = Game1.GetPlayer(id, onlineOnly: true) ?? Game1.MasterPlayer;
    

    However, most mods probably didn't expect it to work that way. Consider whether you meant this instead:

    Farmer? player = Game1.GetPlayer(id);
    
    Farmer? player = Game1.getFarmerMaybeOffline(id);
    
    This is directly equivalent to:
    Farmer? player = Game1.GetPlayer(id);
    
  • The Game1.player setter is now internal. Setting it causes side-effects that are typically unexpected by mod authors, which led to frequent errors and crashes. These are explained in its new code docs. Mods can still set it via reflection if they really want to.

Screen reader changes

1.6.9 adds fields to support screen reader mods. These let mods with custom UI elements add information which can be shown to blind players, without requiring an integration with each screen reader mod.

The main change is a new interface:

/// <summary>A UI element that provides information for screen readers.</summary>
/// <remarks>These values aren't displayed by the game; they're provided to allow for implementing screen reader mods.</remarks>
public interface IScreenReadable
{
    /// <summary>If set, the translated text which represents this component for a screen reader. This may be the displayed text (for a text component), or an equivalent representation (e.g. "exit" for an 'X' button).</summary>
    string ScreenReaderText { get; }

    /// <summary>If set, a translated tooltip-like description for this component which can be displayed by screen readers, in addition to the <see cref="ScreenReaderText"/>.</summary>
    string ScreenReaderDescription { get; }

    /// <summary>Whether this is a purely visual component which should be ignored by screen readers.</summary>
    bool ScreenReaderIgnore { get; }
}

This is implemented by ClickableComponent and OptionsElement, so you can add screen reader data to most UI elements out of the box.

Light source revamp

1.6.9 revamps how light sources are tracked:

  • LightSource now has a required string ID (LightSource.Id), instead of the former optional numeric ID (LightSource.Identifier).
  • Game1.currentLightSources is now a dictionary by ID. (You can still write Game1.currentLightSources.Add(light) like before if you add using StardewValley.Extensions.)
  • Added unique IDs for every vanilla light source.
  • Added validation warnings and auto-recovery for some issues.
  • Added null handling in related helpers. For example, you can replace logic like if (light != null) Utility.repositionLightSource(light.Id, position) with Utility.repositionLightSource(light?.Id, position).
  • Added optional LightSource.onlyLocation field, which ensures that the light is only shown when viewing that location.
  • Added code docs.
  • Removed the TemporaryAnimatedSprite.light boolean field; the light is now enabled by setting the lightId field.

Quest event revamp

Previously, the game would call Game1.player.checkForQuestComplete with various arguments like string str and int number2, which had different behavior depending on the quest type.

These have been replaced with more specific methods like Quest.OnMonsterSlain, which...

  • are more intuitive to use;
  • receive more detailed info (e.g. the damage type when a monster is slain);
  • and let custom quests handle multiple event types (e.g. both item crafted and item received).

The Farmer method has been replaced with a single NotifyQuests method, which performs an action on each quest and returns whether any quest was updated.

Here's how the old Quest methods map to the new ones. (The Farmer methods are the same thing, but just add Game1.player.NotifyQuests(quest => ...) around them.)

old code new code
quest.checkForQuestComplete(n, -1, -1, null, null, Quests.Quest.type_socialize)
quest.OnNpcSocialized(npc)
quest.checkForQuestComplete(null, -1, -1, null, buildingType, Quests.Quest.type_building)
quest.OnBuildingFirstConstructed(buildingType)
quest.checkForQuestComplete(null, -1, numberCaught, null, itemId, Quest.type_fishing)
quest.OnFishCaught(itemId, numberCaught, size)
quest.checkForQuestComplete(null, -1, countAdded, item, null, Quest.type_harvest)
quest.checkForQuestComplete(null, -1, countAdded, actualItem, null, Quest.type_resource)
quest.OnItemReceived(item, countAdded)
quest.checkForQuestComplete(npc, -1, -1, item, "", Quests.Quest.type_harvest, Quests.Quest.type_itemDelivery)
quest.OnItemOfferedToNpc(npc, item)
quest.checkForQuestComplete(null, 1, 1, null, monster.Name, Quests.Quest.type_monster)
quest.OnMonsterSlain(location, monster, killedByBomb, isHutchSlime)
quest.checkForQuestComplete(null, -1, -1, crafted, null, Quests.Quest.type_crafting)
quest.OnRecipeCrafted(recipe, crafted)
quest.checkIfComplete(null, -1, -2, null, location.name)
quest.OnWarped(location)

New extension methods

The game has extension methods in the StardewValley.Extensions namespace. These add utility methods to more general types like strings.

1.6.9 adds some new extension methods:

type method usage
Dictionary<TKey, TValue> TryAddMany Add all the key/value pairs from another dictionary to this one, except for keys that already exist.

For example:

// before 1.6.9
Dictionary<string, string> fields = new();
if (obj.customFields != null)
{
    foreach ((string key, string value) in obj.customFields)
        fields.TryAdd(key, value);
}

// after 1.6.9
Dictionary<string, string> fields = new();
fields.TryAddMany(obj.customFields);
string ContainsIgnoreCase
EqualsIgnoreCase
IndexOfIgnoreCase
StartsWithIgnoreCase
EndsWithIgnoreCase
Compare two strings case-insensitively.

For example:

// before 1.6.9
if (string.Equals(left, right, StringComparison.OrdinalIgnoreCase))
   ...

// after 1.6.9
if (left.EqualsIgnoreCase(right))
   ...

The new methods also handle null as you'd expect. For example, left.EqualsIgnoreCase(right) will be true if both are null.

SyntaxAbstractor

⚠ This is highly specialized. It's meant for vanilla unit tests, so it may not handle non-vanilla text correctly and may change at any time.

The new SyntaxAbstractor class converts arbitrary text from content assets into language-independent syntax representations. These representations can be compared between languages to make sure they have the same sequence of commands, portraits, unlocalized metadata and delimiters, etc. This supports dialogue, event/festival, mail, and specific data formats.

For example:

SyntaxAbstractor abstractor = new();

// for an asset
string syntax = abstractor.ExtractSyntaxFor("Characters/Dialogue/Abigail", "Sun_old", "$p 17#I guess you think nothing would happen, right?$u|Maybe a wicked ghost would appear!"); // $p 17#text$u|text

// for a format
string syntax = abstractor.ExtractMailSyntax("Hey there!^I had some extra wood lying around... I thought maybe you could use it. Take care!  ^   -Robin %item id (O)388 50 %%[#]A Gift From Robin"); // text%item id (O)388 50%%[#]text

// for arbitrary delimited data
string customData = "SomeKey/Example Title/An example description./Robin (O)788 Forest 110 81/-1/true/Hey, nice to see you!$h";
int[] textFields = [1, 2];
int[] dialogueFields = [6];
string syntax = abstractor.ExtractDelimitedDataSyntax(customData, '/', textFields, dialogueFields); // SomeKey/text/text/Robin (O)788 Forest 110 81/-1/true/text$h

This is meant for unit tests that compare translations with the base text to make sure the basic format is the same. For unit tests, you'd usually use this through the TranslationValidator instead of directly.

TranslationValidator

The new TranslationValidator class compares translations to the original data, and returns a list of detected issues like missing or unknown keys, mismatched syntax, or malformed syntax (e.g. invalid gender-switch blocks).

For example, to validate a C# mod's translations:

// get translations
var translatedData = helper.Translation.GetTranslations().ToDictionary(p => p.Key);

// get base text
var baseData = new Dictionary<string, Translation>();
foreach (string key in translatedData.Keys)
{
    if (helper.Translation.GetInAllLocales(key).TryGetValue("default", out Translation? baseText))
        baseData[key] = baseText;
}

// assert all tests succeed
SyntaxAbstractor abstractor = new();
foreach (var issue in TranslationValidator.Compare(baseData, translatedData, element => element.Value, (key, value) => abstractor.ExtractDialogueSyntax(value)))
    Assert.Fail($"Validation failed for '{issue.Key}': {issue.SuggestedError}.");

New utility fields & methods

1.6.9 adds many new utility methods and fields. For example:

member usage
object dictionariesGetValueOrDefault(…) Object dictionaries (like GameLocation.objects) now implement the .NET GetValueOrDefault method, which lets you simplify common code:
// before 1.6.9
string? itemId = location.objects.TryGetValue(tile, out Object? obj)
    ? obj.ItemId
    : null;

// after 1.6.9
string? itemId = location.objects.GetValueOrDefault(tile)?.ItemId;
Buff.customFields The custom fields from the Data/Buffs and/or Data/Objects entry used to create the buff, if any.
Bush.readyForHarvest() Get whether this bush has berries or fruit to harvest.
ClickableTextureComponent.drawLabel Set whether the label should be drawn. This lets you add a label that's not rendered automatically.
ColoredObject.TrySetColor(…) Apply a tint color to an arbitrary item. This will change the input item directly if it's a ColoredObject, otherwise it'll create a new ColoredObject instance.

For example:

Item inputItem = ItemRegistry.Create("(O)128"); // pufferfish
if (ColoredObject.TrySetColor(inputItem, Color.Red, out ColoredObject? coloredObj)) // coloredObj = red pufferfish
   ...;
CrabPot.NeedsBait(player) Get whether the crab pot doesn't have bait, and bait is needed before it can catch anything based on the player's professions.
Crop.replaceWithObjectOnFullGrown If set, the qualified object ID to spawn on the crop's tile when it's full-grown. The crop will be removed when the object is spawned.
Dialogue.GetFallbackForError(npc)
Dialogue.GetFallbackTextForError()
Get a translated default "..." dialogue, which is shown in cases where a valid dialogue couldn't be loaded.
Event.TryResolveCommandName(…) Get the actual event command name which matches an input command or alias name. This can be used to resolve an alias (like mailReceivedAddMailReceived) or normalize the capitalization (like itemnamedItemNamed).

For example:

if (Event.TryResolveCommandName("mailRECEIVED", out string commandName))
    ...; // commandName = AddMailReceived
FarmHouse.GetFridgePositionFromMap() Get the position of the map fridge by scanning the map tiles. (Most code should use the cached fridgePosition field instead.)
Game1.IsHudDrawn Whether HUD elements like the toolbar are currently visible.
Game1.locationData A cached view of the Data/Locations asset.
GameLocation.CanWakeUpHere() Get whether a player can wake up in this location, instead of being warped home.
GameLocation.ForEachDirt(…) Perform an action for every tilled dirt in the location. You can optionally exclude dirt in garden pots.

For example:

Game1.currentLocation.ForEachDirt(dirt =>
{
    dirt.Pot?.Water();
    dirt.state.Value = HoeDirt.watered;
    return true;
});
GameLocation.GetHarvestSpawnedObjectQuality(…) Get the quality to set when harvesting a spawned object like forage.
GameLocation.OnHarvestedForage(…) Grant foraging or farming XP when the player harvests forage, and any other behavior defined by mods.
GameLocation.ParentBuilding The building which contains this location, if applicable. This replaces the former GetContainingBuilding() method, to avoid iterating the parent location's building list each time.
HoeDirt.Pot The garden pot which holds the dirt, if applicable. This is set automatically by the game.
Item.BaseName If the item's Name contains temporary dynamic changes like the " Recipe" suffix for a recipe, the item name without those changes.
Item.canBeShipped() Get whether this item can be put in the shipping bin. This replaces the former Object.canBeShipped(), and returning true now works with any item type.
Item.CopyFieldsFrom(otherItem) Copy all fields from another item into the current one. This is equivalent to item.getOne(), except that you update an existing item instead.
LocalizedContentManager.LoadStringReturnNullIfNotFound(…) This method already existed, but now has optional substitution arguments and an optional localeFallback argument.
LocalizedContentManager.LoadBaseStringOrNull(…) Get the default English text for a translation path, or null if it's not found.
Item.LearnRecipe() Learn the recipe for this item (regardless of whether the recipe is in Data/CookingRecipes or Data/CraftingRecipes).
MineShaft.IsGeneratedLevel(…)
VolcanoDungeon.IsGeneratedLevel(…)
These methods already existed before 1.6.9, but they now have overloads without the out parameters to simplify common logic. For example:
if (MineShaft.IsGeneratedLevel(location))
   ...;
NPC.CanSocializePerData(…) Get whether social features (like birthdays, gift giving, friendship, and an entry in the social tab) should be enabled for an NPC, based on their entry in Data/Characters. This is equivalent to npc.CanSocialize, but doesn't need an instance of the NPC.
Object.GetPreservedItemId() Get the item ID which was preserved as part of this item (e.g. the tulip ID for tulip honey), if applicable. This is equivalent to item.preservedParentSheetIndex, except in special cases like wild honey where preservedParentSheetIndex is set to a non-item value like -1.
Object.IsTextSign() Get whether the object can have editable text which is shown on hover like a text sign.
Object.GetObjectDisplayName(…) Get the display name which would be set for an object, without needing to create an object instance.
Raccoon.GetBundle()
Raccoon.GetBundle(timesFed)
Get the raccoon bundle that will be shown currently, or after completing a given number of bundles.
Utility.fuzzySearchAll(…) Find all matches for a search term based on fuzzy compare rules.

For example:

IEnumerable<string> coopNames = Utility.FuzzySearchAll("coop", Game1.buildingData.Keys); // [ "Coop", "Big Coop", "Deluxe Coop" ]
WorldDate.GetDaysPlayed(…) Get the total days for a given date from the start of the game, to allow for efficient date comparisons.

For example:

int minDaysPlayed = WorldDate.GetDaysPlayed(year, season, dayOfMonth);
int actualDaysPlayed = Game1.Date.TotalDays;
if (actualDaysPlayed >= minDaysPlayed)
   ...;

New constants

1.6.9 adds new constants:

constant usage
AchievementIds.* The IDs for achievements in Data/Achievements. For example:
// before 1.6.9
if (player.achievements.Contains(34))
   ...;

// after 1.6.9
if (player.achievements.Contains(AchievementIds.FullShipment))
   ...;
Item.ErrorItemName The "Error Item" name shown for invalid items.
SpecialCurrencyDisplay.currency_qiGems
SpecialCurrencyDisplay.currency_walnuts
The currency types supported by the special currency display (shown in the top-left corner when you find a Qi gem or golden walnut).

ForEachItem changes

The ForEachItem methods changed a bit in 1.6.9. (These methods iterate through every item in the world, and optionally remove/replace instances.)

Most mods aren't affected. This affects mods which use the advanced ForEachItem form (like Utility.ForEachItem((item, remove, replaceWith) => ...)), or which implement custom item types which can contain other items. Mods which use the simple form (like Utility.ForEachItem(item => ...)) don't need any changes.

The main changes are:

  • The advanced forms now use a context object, which also provides the 'path' to the item. For example, an item inside a chest would have a path consisting of the location and chest:
    Utility.ForEachItemContext(delegate(in ForEachItemContext context)
    {
        // remove pufferfish inside chests
         if (context.Item.QualifiedItemId == "(O)128" && context.GetPath().Last() is Chest)
            context.RemoveItem();
        return true;
    });
    

    The context must be passed by reference using the in keyword. This doesn't work with lambdas, so you'll need to adjust the format:

    // ✘ lambda can't use 'in'
    Utility.ForEachItemContext(in context =>
    {
        context.RemoveItem();
        return true;
    });
    
    // ✓ use method or local function
    bool HandleItem(in ForEachItemContext context)
    {
        context.RemoveItem();
        return true;
    }
    Utility.ForEachItemContext(HandleItem);
    
    // ✓ use delegate
    Utility.ForEachItemContext(delegate(in ForEachItemContext context)
    {
        context.RemoveItem();
        return true;
    });
    
  • For custom items which override Item.ForEachItem, the method signature has changed from this:
    /// <summary>Perform an action for each item contained within this item (e.g. items stored within a chest, item placed on a table, etc). This doesn't include the item itself.</summary>
    /// <param name="handler">The action to perform for each item.</param>
    /// <returns>Returns whether to continue iterating.</returns>
    bool ForEachItem(ForEachItemDelegate handler);
    

    To this:

    /// <summary>Perform an action for each item contained within this item (e.g. items stored within a chest, item placed on a table, etc). This doesn't include the item itself.</summary>
    /// <param name="handler">The action to perform for each item.</param>
    /// <param name="getPath">The contextual path leading to this item (including the item), or <c>null</c> to treat this as the root.</param>
    /// <returns>Returns whether to continue iterating.</returns>
    bool ForEachItem(ForEachItemDelegate handler, GetForEachItemPathDelegate getPath);
    
    You should pass the getPath value to ForEachItemHelper methods.

OutputMethod changes in Data/Machines

If you have custom C# methods which are used in the OutputMethod field in Data/Machines, the method signature has changed in 1.6.9. You'll need to add the new Farmer player argument to your methods:

/// <summary>The method signature for a custom <see cref="MachineItemOutput.OutputMethod"/> method.</summary>
/// <param name="machine">The machine instance for which to produce output.</param>
/// <param name="inputItem">The item being dropped into the machine, if applicable.</param>
/// <param name="probe">Whether the machine is only checking the output that would be produced. If so, the input/machine shouldn't be changed and no animations/sounds should play.</param>
/// <param name="outputData">The item output data from <c>Data/Machines</c> for which output is being created, if applicable.</param>
/// <param name="player">The player interacting with the machine, if any.</param>
/// <param name="overrideMinutesUntilReady">The in-game minutes until the item will be ready to collect, if set. This overrides the equivalent fields in the machine data if set.</param>
/// <returns>Returns the item to produce, or <c>null</c> if none should be produced.</returns>
public delegate Item MachineOutputDelegate(Object machine, Item inputItem, bool probe, MachineItemOutput outputData, Farmer player, out int? overrideMinutesUntilReady);

Changes for SMAPI and external tools

Content hashes

The game now has a Content/ContentHashes.json file, which contains the MD5 hash for every vanilla content asset. This lets SMAPI, mod managers, and other tools auto-detect content files that are outdated, broken, missing, or replaced by XNB mods.

Name translation changes for wiki maintainers

Some in-game item or monster names were retranslated in some languages for clarity or correctness.

This list is mostly provided to help wiki maintainers update pages, so it doesn't include names which only changed capitalization, changed ' (straight apostrophe) to (curly) in French, or aren't visible to vanilla players (like mine rocks).

Objects

English
item old name new name
Jelly Cranberries Jelly Cranberry Jelly
Juice Cranberries Juice Cranberry Juice
Wine Cranberries Wine Cranberry Wine
French
item old name new name
Aerinite Aerinite Aérinite
Blobfish Blobfish Poisson-blob
Bone Mill Bone Moulin Moulin à os
Cave Jelly Méduse des cavernes Gelée des cavernes
Cookie Cookie Biscuit
Dinosaur Mayonnaise Mayonnaise dinosaure Mayonnaise de dinosaure
Dried Fruit Un morceau séché de abricot Un morceau séché d’abricot
Un morceau séché de ananas Un morceau séché d’ananas
Un morceau séché de orange Un morceau séché d’orange
Fairy Rose Rose Féerie Rose de fée
Fairy Seeds Graines de rose Féerie Graines de rose de fée
Fiddlehead Fern Fougères de Fern Crosse de fougère
Fiddlehead Risotto Risotto aux fougères Risotto aux crosses de fougère
Granite Granite Granit
Haley's Lost Bracelet Haley's Lost Bracelet Bracelet perdu de Haley
Item Pedestal Item Pedestal Piédestal
Jelly Gelée de abricot Gelée d’abricot
Gelée de ananas Gelée d’ananas
Gelée de orange Gelée d’orange
Juice Jus de Ail Jus d’ail
Jus de Amarante Jus d’amarante
Jus de Artichaut Jus d’artichaut
Jus de Aubergine Jus d’aubergine
Jus de Igname Jus d’igname
Maple Bar Gâteau à l'érable Gâteau d’érable
Midnight Squid Calmar de minuit Calamar de minuit
Qi Bean Haricot Qi Haricot de Qi
Qi Fruit Fruit Qi Fruit de Qi
Qi Gem Gemme Qi Gemmes de Qi
River Jelly Méduse d’eau douce Gelée de rivière
Sea Jelly Méduse de l’océan. Gelée de mer
Squid Calmar Calamar
Sweet Gem Berry Baie gemme sucrée Baie de gemme sucrée
Targeted Bait Appât de Achigan à grande bouche Appât d’achigan à grande bouche
Appât de Achigan à petite bouche Appât d’achigan à petite bouche
Appât de Albacore Appât d’albacore
Appât de Alose Appât d’alose
Appât de Anchois Appât d’anchois
Appât de Anguille Appât d’anguille
Appât de Anguille de lave Appât d’anguille de lave
Appât de Écrevisse Appât d’écrevisse
Appât de Escargot Appât d’escargot
Appât de Esturgeon Appât d’esturgeon
Wine Vin de abricot Vin d’abricot
Vin de ananas Vin d’ananas
Vin de orange Vin d’orange
German
item old name new name
Artifact Trove Artefakt Fund Artefaktfund
Calico Egg Calico Ei Calico-Ei
Combat Quarterly Kampf-Vierteljahresschrift Kampf-Quartalsheft
Curiosity Lure Neugierde Köder Neugierköder
Deluxe Worm Bin Luxus-Wurmbehälter Luxus-Wurmeimer
Dressed Spinner Verkleideter Dreher Verkleideter Spinner
Farm Computer Hof Rechner Hof-Rechner
Fireworks Fireworks (Grün) Feuerwerk (Grün)
Goby Goby Grundeln
Hot Java Ring Heißer Java Ring Heißer Java-Ring
Item Pedestal Item Pedestal Gegenstand Podest
Magma Cap Magma Hut Magmahut
Mango Sticky Rice Mango Klebreis Mango-Klebreis
Monster Compendium Monster Kompendium Monster-Kompendium
Movie Ticket Kino Ticket Kinoticket
Qi Fruit Qi Frucht Qi-Frucht
Qi Gem Qi Edelstein Qi-Edelstein
Raccoon Journal Waschbär Tagebuch Waschbär-Tagebuch
Sonar Bobber Sonar Köder Sonarköder
Spinner Dreher Spinner
Stardew Valley Almanac Stardew Valley Almanach Sternentautaler Almanach
Stardew Valley Rose Stardew Valley Rose Sternentautaler Rose
Stardrop Tea Sternentropfen-Tee Sternenfall-Tee
Tea Leaves Tee Blätter Teeblätter
Tent Kit Zelt Bausatz Zelt-Bausatz
Treasure Totem Schatz Totem Schatz-Totem
Warp Totem: Desert Teleport Totem: Wüste Teleport-Totem: Wüste
Hungarian
item old name new name
Cave Jelly Barlangi medúza Barlangi zselé
River Jelly Folyami medúza Folyami zselé
Sea Jelly Tengeri medúza Tengeri zselé
Italian
item old name new name
Cave Jelly Medusa di grotta Gelatina di grotta
Ginger Ale Ginger ale Liquore allo zenzero
Haley's Lost Bracelet Haley's Lost Bracelet Braccialetto perduto di Haley
Item Pedestal Item Pedestal Piedistallo per oggetto
Rice Shoot Spara di riso Germoglio di riso
River Jelly Medusa fluviale Gelatina fluviale
Sea Jelly Medusa marina Gelatina marina
Japanese
item old name new name
Bone Mill クリスタルチェア 骨粉砕機
Cave Jelly 洞窟クラゲ 洞窟ゼリー
Haley's Lost Bracelet Haley's Lost Bracelet ヘイリーがなくしたブレスレット
Heavy Tapper Heavy Tapper 大型樹液採取器
Item Pedestal Item Pedestal アイテム用の台座
River Jelly 川クラゲ 川ゼリー
Roe 明太子 魚卵
Sea Jelly 海クラゲ 海ゼリー
Stone Cairn 石のカイム 石のケアン
Korean
item old name new name
Haley's Lost Bracelet Haley's Lost Bracelet 헤일리의 잃어버린 팔찌
Sunfish 개복치 선피쉬
Russian
item old name new name
Big Green Cane Большой зеленый тростник Большая зеленая трость
Big Red Cane Большой красный тростник Большая красная трость
Bok Choy Seeds Семена бок-чой Семена бок-чоя
Chicken Decal Наклейка «Курица» Наклейка «Курицы»
Crimsonfish Кримзонфиш Багрянник
Dried Fruit <item name> (засушено) Сушен. <item name>
Сморчок (засушено) Сушен. сморчки
Лисичка (засушено) Сушен. лисички
Острая ягода (засушено) Сушен. острые ягоды
Шампиньон (засушено) Сушен. шампиньоны
Черная слива (засушено) Сушен. дикие сливы
Кристальный фрукт (засушено) Сушен. кристальные фрукты
Фиолетовый гриб (засушено) Сушен. фиолетовые грибы
Древний плод (засушено) Сушен. древние фрукты
Яблоко (засушено) Сушен. яблоки
Абрикос (засушено) Сушен. абрикосы
Апельсин (засушено) Сушен. апельсины
Персик (засушено) Сушен. персики
Гранат (засушено) Сушен. гранаты
Ананас (засушено) Сушен. ананасы
Магмовый гриб (засушено) Сушен. магмовые грибы
Фрукт Ки (засушено) Сушен. фрукты Ки
Кокос (засушено) Сушен. кокосы
Плод кактуса (засушено) Сушен. плоды кактуса
Банан (засушено) Сушен. бананы
Far Away Stone Камень издалека Камень из далеких земель
Fish Taco Рыбный тако Рыбное тако
Glacierfish Jr. Ледорыб Мл. Ледорыб Младший
Green Canes Зеленый тростник Зеленые тросточки
Tomato Juice Сок (Помидор) Сок (Томат)
Mini-Shipping Bin Мини-ящик для отгрузок Мини-ящик для отгрузки
Mixed Cane Смешанный тростник Смешанные тросточки
Oil of Garlic Масло Чеснока Чесночное масло
Pickles Маринованные консервы: <item name> Маринов. <item name>
Маринованные консервы: Помидор Маринов. помидоры
Маринованные консервы: Съедобный папоротник Маринов. папоротник
Маринованные консервы: Неизмельченный рис Маринов. рис
Маринованные консервы: Баклажан Маринов. баклажаны
Smoked Fish <item name> (закопчено) Копченый <item name>
Рыба-еж (закопчено) Копченая рыба-еж
Сардина (закопчено) Копченая сардина
Радужная форель (закопчено) Копченая радужная форель
Щука (закопчено) Копченая щука
Барабулька (закопчено) Копченая барабулька
Сельдь (закопчено) Копченая сельдь
Рыба-камень (закопчено) Копченая рыба-камень
Багрянник (закопчено) Копченый Багрянник
Морской черт (закопчено) Копченый Морской черт
Легенда (закопчено) Копченая Легенда
Мелкая камбала (закопчено) Копченая мелкая камбала
Карп-мутант (закопчено) Копченый Карп-мутант
Тигровая форель (закопчено) Копченая тигровая форель
Тиляпия (закопчено) Копченая тиляпия
Дорада (закопчено) Копченая дорада
Камбала (закопчено) Копченая камбала
Ледорыб (закопчено) Копченый Ледорыб
Жуть-рыба (закопчено) Копченая жуть-рыба
Рыба-пузырь (закопчено) Копченая рыба-пузырь
Малек Багрянника (закопчено) Копченый Малек Багрянника
Мисс Морской черт (закопчено) Копченая Мисс Морской черт
Легенда II (закопчено) Копченая Легенда II
Радиоактивный карп (закопчено) Копченый Радиоактивный карп
Ледорыб Младший (закопчено) Копченый Ледорыб Младший
Son of Crimsonfish Сын Кримзонфиш Малек Багрянника
Statue of Endless Fortune Статуя Вечной Удачи Статуя бесконечной удачи
Stonefish Камень-рыба Рыба-камень
Tall Torch Стоячий факел Длинный факел
The Art O' Crabbing Искусство крабства Краболовное искусство
Unmilled Rice Неизмельченный рис Неочищенный рис
Way Of The Wind pt. 1 Путь Ветра, ч. 1 Путь Ветра, том 1
Way Of The Wind pt. 2 Путь Ветра, ч. 2 Путь Ветра, том 2
Wild Plum Черная слива Дикая слива
Spanish
item old name new name
Glacierfish Jr. Pez glacial jóven Pez glacial joven
Haley's Lost Bracelet Haley's Lost Bracelet El brazalete perdido de Haley
Item Pedestal Item Pedestal Pedestal para objetos
Stardrop Tea Té de fruta estelar. Té de fruta estelar
Tent Kit Kit de tienda de campaña. Kit de tienda de campaña
Treasure Totem Totem del tesoro Tótem del tesoro
Warp Totem: Island Totem de teletransporte: Isla Tótem de teletransporte: Isla
Turkish
item old name new name
Algae Soup Yosun Çorbası Su Yosunu Çorbası
Big Green Cane Büyük Yeşil Şekerkamışı Büyük Yeşil Şeker Kamışı
Big Red Cane Büyük Kırmızı Şekerkamışı Büyük Kırmızı Şeker Kamışı
Blueberry Yabanmersini Yaban Mersini
Blueberry Seeds Yabanmersini Tohumu Yaban Mersini Tohumu
Blueberry Tart Yabanmersinli Turta Yaban Mersinli Turta
Broccoli Seeds Brokoli Tohumları Brokoli Tohumu
Carrot Seeds Havuç Tohumları Havuç Tohumu
Cask Fıçı Varil
Caviar Hayvar Havyar
Coleslaw Lahana Salatası Kırmızı Lahana Salatası
Dark Sign Kara İşaret Kara Tabela
Dried Sunflowers Kurumuş Ayçicekleri Kurumuş Ayçiçekleri
Fiddlehead Fern Eğreltiotu Eğrelti Otu
Fiddlehead Risotto Eğreltiotlu Pilav Eğrelti Otlu Pilav
Haley's Lost Bracelet Haley's Lost Bracelet Haley'nin Kayıp Bileziği
Goby Kayabalığı Taşbalığı
Golden Pumpkin Altın Balkabağı Altın Bal Kabağı
Green Canes Yeşil Şekerkamışları Yeşil Şeker Kamışları
Hops Şerbetçiotu Şerbetçi Otu
Hops Starter Şerbetçiotu Yetiştirici Şerbetçi Otu Yetiştirici
Jelly Marmelat Reçel
Loom Dokuma Tezgahı Dokuma Tezgâhı
Magma Cap Mağma Mantarı Magma Mantarı
Mixed Cane Renkli Şekerkamışları Renkli Şeker Kamışları
Ostrich Egg Devekuşu Yumurtası Deve Kuşu Yumurtası
Ostrich Incubator Devekuşu Kuluçka Makinesi Deve Kuşu Kuluçka Makinesi
Poppyseed Muffin Haşhaşlı Börek Haşhaşlı Kek
Powdermelon Seeds Kış Kavunu Tohumları Kış Kavunu Tohumu
Plush Bunny Peluş Tavşan Pelüş Tavşan
Pumpkin Balkabağı Bal Kabağı
Pumpkin Seeds Balkabağı Tohumu Bal Kabağı Tohumu
Queen Of Sauce Cookbook Sosun Kraliçesi Yemek Kitabı Soslar Kraliçesi Yemek Kitabı
Rarecrows Hepsini bul! (1 Hepsini bul! (X/8)
(where X is the rarecrow number)
Red Canes Kırmızı Şekerkamışları Kırmızı Şeker Kamışları
Sloth Skeleton L Tembel Hayvan İskeleti Tembel Hayvan İskeleti (Sol)
Sloth Skeleton M Tembel Hayvan İskeleti Tembel Hayvan İskeleti (Orta)
Sloth Skeleton R Tembel Hayvan İskeleti Tembel Hayvan İskeleti (Sağ)
Stardew Valley Almanac Stardew Valley Yıllığı Yıldızçiyi Vadisi Yıllığı
Stuffing İç Doldurma
Summer Squash Seeds Yaz Kabak Tohumları Yaz Kabağı Tohumu
Workbench Çalışma Tezgahı Çalışma Tezgâhı

Furniture

French
item old name new name
Book Stack Pile de livres Tas de livres
J. Cola Light "J. Cola Light" Enseigne murale lumineuse J.Cola
Large Book Stack Grande pile de livres Grand tas de livres
Midnight Beach Bed Lit Lit de plage nocturne
Midnight Beach Double Bed Lit Lit double de plage nocturne
Small Book Stack Petite pile de livres Petit tas de livres
Wizard Bookshelf Bibliothèque de sorcier Étagère de sorcier
Hungarian
item old name new name
Midnight Beach Bed Ágy Éjféli strand ágy
Midnight Beach Double Bed Dupla ágy Éjféli strand dupla ágy
Italian
item old name new name
Large Green Rug Tappeto verde gande Tappeto verde grande
Russian
item old name new name
Birch Lamp End Table Березовый приставной столик Березовый приставной столик с лампой
Blossom Rug Цветочный коврик Цветочный ковер
Bountiful Dining Table Изобильный обеденный стол Обеденный стол «Изобилие»
Circular Junimo Rug Круглый коврик Джунимо Круглый ковер Джунимо
'Community Center' «Общественный центр» «Клуб»
Curly Tree Изогнутое дерево Кудрявое дерево
Dark Leafy Wall Panel Темная панель «Листва» Средняя панель «Листва»
Dark Rug Темный Коврик Темный ковер
Decorative Trash Can Декоративная мусорка Декоративный мусорный бак
Deluxe Tree Элитное дерево Изысканное дерево
Elixir Shelf Полка для эликсиров Полка с эликсирами
Elixir Table Стол для эликсиров Стол с эликсирами
Funky Rug Модный коврик Модный ковер
Green Plush Seat Зеленое плюшевое сидение Зеленое плюшевое сиденье
'Groovy' «Клево» «Волнистые линии»
Harvey Portrait Портрет Хэйли Портрет Харви
Icy Rug Ледяной коврик Ледяной ковер
Indoor Hanging Basket Комнатная висячая корзина Комнатная подвесная корзина
J Джей Буква «J»
'Jade Hills Extended' «Нефритовые холмы» (расширенная версия) «Нефритовые холмы» (широкая версия)
Joja Cola Tea Table Чайный столик Джоджа-кола Чайный столик «Джоджа-кола»
'Journey Of The Prairie King: The Motion Picture' «Путешествие Короля Прерий: Фильм» «Путешествие Короля прерий: Худ. фильм»
Junimo Bag Сумка Джунимо Мешочек Джунимо
Junimo Bundle Сверток Джунимо Узелок Джунимо
Junimo Mat Мат Джунимо Коврик Джунимо
Junimo Plaque Табличка Джунимо Пластина Джунимо
Junimo Rug Коврик Джунимо Ковер Джунимо
Junimo Wall Plaque Настенная табличка Джунимо Настенная пластина Джунимо
Large Cottage Rug Большой домашний коврик Большой деревенский ковер
Large Green Rug Большой зеленый коврик Большой зеленый ковер
Large Joja Rug Большой коврик Джоджа Большой ковер Джоджа
Large Red Rug Большой красный коврик Большой красный ковер
Large Retro Rug Большой коврик «Ретро» Большой ковер «Ретро»
Light Green Rug Коврик «Зеленые листья» Ковер «Зеленые листья»
Light Leafy Wall Panel Светлая панель «Листва» Короткая панель «Листва»
Log Panel Панель «Бревно» Бревенчатая панель
Long Elixir Table Длинный стол для эликсиров Длинный стол с эликсирами
Mahogany Lamp End Table Приставной столик из красного дерева Приставной столик из красного дерева с лампой
Midnight Beach Bed Кровать Кровать «Полночь на пляже»
Midnight Beach Double Bed Двуспальная кровать Двуспальная кровать «Полночь на пляже»
Modern Fish Tank Современный аквариум Аквариум «Модерн»
Modern Rug Современный коврик Ковер «Модерн»
Oak Lamp End Table Дубовый приставной столик Дубовый приставной столик с лампой
Old World Rug Старый протертый коврик Старый протертый ковер
Patchwork Rug Лоскутный коврик Лоскутный ковер
Pink Plush Seat Розовое плюшевое сидение Розовое плюшевое сиденье
Retro Banner Плакат «Ретро» Баннер «Ретро»
Retro Mat Мат «Ретро» Маленький коврик «Ретро»
Retro Rug Коврик «Ретро» Ковер «Ретро»
Small Book Pile Кучка книг Несколько книг
Small Book Stack Стопочка книг Малая стопка книг
Small Elixir Shelf Полочка для эликсиров Узкая полка с эликсирами
Small Junimo Mat Маленький мат Джунимо Маленький коврик Джунимо
Small Stacked Elixir Shelf Заставленная эликсирами полочка Двойная узкая полка с эликсирами
Stacked Elixir Shelf Заставленная эликсирами полка Двойная полка с эликсирами
Stacked Joja Boxes Куча коробок Джоджа Стопка коробок Джоджа
Standing Geode Стоячая жеода Жеода на подставке
Starry Double Bed Звездная двуспальная кровать Звездчатая двуспальная кровать
Starry Moon Rug Коврик со звездной ночью Ковер «Звездная ночь»
'Sun #44' «Солнце №44» «Солнце № 44»
'Sun #45' «Солнце №45» «Солнце № 45»
Swirl Rug Коврик с завихрениями Ковер с завихрениями
'VGA Paradise' «VGA-рай» «Рай VGA»
Wallflower Pal Дружок у стенки Настенный дружок
Wall Sconce Настенный канделябр Настенный светильник
Walnut Lamp End Table Ореховый приставной столик Ореховый приставной столик с лампой
Winter Tree Decal Наклейка «Зимнее дерево» Наклейка «Зимняя ель»
Witch's Broom Метла ведьмы Ведьмина метла
Wood Panel Панель «Дерево» Дощатая панель
Spanish
item old name new name
Modern Fish Tank Pecera mdoerna Pecera moderna
Turkish
item old name new name
Aquamarine Crystal Ball Deniz Yeşili Kristal Küre Gök Zümrüdü Kristal Küre
Birch Dresser Huş Şifoniyer Huş Şifonyer
Book Pile Kitap Yığını Yığılmış Kitaplar
Green Cottage Rug Yeşil Baraka Yeşil Baraka Kilimi
J. Cola Light Diyet J. Kola J. Kola Işığı
Joja Crate Joja Sandığı Joja Kutusu
Journey Of The Prairie King: The Motion Picture 'Çayır Kralı'nın Yolculuğu' 'Çayır Kralı'nın Yolculuğu: Sinema Filmi'
Junimo Plush Peluş Junimo Pelüş Junimo
Krobus Portrait Krobus'in Portresi Krobus'un Portresi
Large Book Pile Büyük Kitap Yığını Büyük Yığılmış Kitaplar
Large Joja Crate Büyük Joja Sandığı Büyük Joja Kutusu
Leah Portrait Leah'ın Portresi Leah'nın Portresi
Leah's Sculpture Leah'ın Heykeli Leah'nın Heykeli
Mahogany Bench Mahun Oturak Maun Oturak
Mahogany Chair Mahun Sandalye Maun Sandalye
Mahogany Dining Table Mahun Yemek Masası Maun Yemek Masası
Mahogany Dresser Mahun Şifoniyer Maun Şifonyer
Mahogany End Table Mahun Komodin Maun Komodin
Mahogany Table Mahun Masa Maun Masa
Mahogany Tea-Table Mahun Sehpa Maun Sehpa
Midnight Beach Bed Yatak Gece Yarısı Kumsallı Yatak
Midnight Beach Double Bed Çift Kişilik Yatak Gece Yarısı Kumsallı Çift Kişilik Yatak
Modern Rug Modern Kilim Modern Halı
Oak Dresser Meşe Şifoniyer Meşe Şifonyer
Pierre's Sign Pierre'nin Tabelası Pierre'in Tabelası
Red Cottage Rug Kırmızı Baraka Kırmızı Baraka Kilimi
Short Wizard Bookcase Küçük Büyücü Kitaplığı Kısa Büyücü Kitaplığı
Small Book Pile Küçük Kitap Yığını Küçük Yığılmış Kitaplar
Small Junimo Plush Küçük Junimo Peluşu Küçük Junimo Pelüşü
Walnut Dresser Ceviz Şifoniyer Ceviz Şifonyer
Wizard Bookshelf Büyücü Kitaplığı Büyücü Rafı

Hats

French
item old name new name
blue Bow Ruban bleu Noeud ruban bleu
Fedora Fedora Fédora
German
item old name new name
Bucket Hat Fischerhut Bucket-Hut
Panda Hat Panda Hat Panda-Hut
Russian
item old name new name
Arcane Hat Загадочная шляпа Таинственная шляпа
Flat Topped Hat Канотье Капотен
Spanish
item old name new name
Gold Pan Sartén de Oro Cacerola de Oro
Iridium Pan Sartén de Iridio Cacerola de Iridio
Steel Pan Sartén de Acero Cacerola de Acero
Totem Mask Máscara totem Máscara tótem
Turkish
item old name new name
Arcane Hat Gizemli Şapka Büyücü Şapkası
Copper Pan Bakır Tava Bakır Eleme Tavası
Flat Topped Hat Fötr Şapka Seyyah Şapkası

Pants

German
item old name new name
Island Bikini Island Bikini Insel Bikini
Prismatic Pants Prismatic Pants Prisma Hose

Shirts

French
item old name new name
gender-variant shirts "(M)" suffix "(H)" suffix
Island Bikini Island Bikini Bikini des îles
German
item old name new name
Hot Pink Shirt Hot Pink Shirt Pinkes Hemd
Italian
item old name new name
Island Bikini Island Bikini Bikini delle isole
Japanese
item old name new name
gender-variant shirts " (F)" and " (M)" suffixes "(女)" and "(男)" suffixes
Island Bikini Island Bikini アイランドビキニ
Korean
item old name new name
gender-variant shirts "(F)" and "(M)" suffixes "(여)" and "(남)" suffixes
Island Bikini Island Bikini 섬 비키니
Russian
item old name new name
Midnight Dog Jacket Куртка полночного пса Куртка полуночного пса
Mineral Dog Jacket Минеральная куртка для собаки Куртка минерального пса
Prismatic Shirt Призматичная рубашка Радужная рубашка
Spanish
item old name new name
Island Bikini Island Bikini Bikini isleño
Turkish
item old name new name
gender-variant shirts "(F)" and "(M)" suffixes "(K)" and "(E)" suffixes
Aquamarine Shirt Deniz Yeşili Tişört Gök Zümrüdü Tişört
Midnight Dog Jacket Geceyarısı Ceketi Gece Yarısı Ceketi
Tan Striped Shirt Çizgili Tenrengi Tişört Çizgili Ten Rengi Tişört

Tools

German
item old name new name
upgradeable tools <level> <tool> (like Stahl-Axt) <level><tool> (like StahlAxt)
Hungarian
item old name new name
upgradeable tools <level> <tool> (like Acél Balta) <level><tool> (like Acélbalta)
Japanese
item old name new name
upgradeable tools <level> <tool> (like 鋼 オノ) <level><tool> (like 鋼のオノ)
Korean
item old name new name
Bamboo Pole 대나무 막대 대나무 낚싯대
Russian
item old name new name
upgradeable tools <tool> (<level>) (like Топор (Медь)) <level> <tool> (like Медный топор)
Spanish
item old name new name
Advanced Iridium Rod Barra de Iridio Avanzada Caña de Iridio Avanzada
Turkish
item old name new name
Advanced Iridium Rod Gelişmiş İridyum Oltası Gelişmiş İridyum Olta
Bamboo Pole Bambu Oltası Bambu Olta
Fiberglass Rod Camyünü Oltası Camyünü Olta
Iridium Rod İridyum Oltası İridyum Olta

Weapons

Japanese
item old name new name
Galaxy Hammer Galaxy Hammer ギャラクシーハンマー
Turkish
item old name new name
Elliott's Pencil Elliot'ın Kalemi Elliott'ın Kalemi

Monsters

French
monster old name new name
Pepper Rex Poivron Rex Poivrosaure
Squid Kid Jeune calmar Tête flottante
German
monster old name new name
Magma Duggy Magma Schwenker Magma-Schwenker
Magma Sparker Magma Sprenger Magma-Sprenger
Magma Sprite Magma Wicht Magma-Wicht
Wilderness Golem Golem der Wildnis Wildnis-Golem
Hungarian
monster old name new name
Carbon Ghost Szén szellem Szénszellem
Iridium Bat Irídium denevér Irídiumdenevér
Iridium Crab Irídium rák Irídiumrák
Iridium Golem Wilderness Golem Vad gólem
Lava Bat Láva denevér Lávadenevér
Lava Crab Láva rák Lávarák
Rock Crab Kő rák Kőrák
Shadow Brute Árnyék állat Árnyékállat
Shadow Shaman Árnyék sámán Árnyéksámán
Tiger Slime Tigris ragacs Tigrisragacs
Truffle Crab Rock Crab Kőrák
Portuguese
monster old name new name
Frost Jelly Geleia congelada Gosma Congelada
Iridium Golem Wilderness Golem Golem Selvagem
Pepper Rex Pimenta Rex Rex Pimenta
Shadow Guy O cara das sombras Homem das Sombras
Skeleton Mage Mago esqueleto Esqueleto Mago
Skeleton Warrior Guerreiro esqueleto Esqueleto Guerreiro
Russian
monster old name new name
Carbon Ghost Углеродный признак Углеродный призрак
Dwarvish Sentry Часовой дварфов Дварфийский часовой
Iridium Golem Wilderness Golem Голем из глуши
Shadow Shaman Шаман теней Теневой шаман
Truffle Crab Rock Crab Каменный краб
Turkish
monster old name new name
Magma Duggy Mağma Kazılcası Magma Kazılcası
Magma Sprite Mağma Tayfı Magma Tayfı

See also