Jump to content

Modding:Migrate to Stardew Valley 1.6.9: Difference between revisions

From Stardew Valley Wiki
imported>Pathoschild
→Name translation changes for wiki maintainers: + 1.6.9 flavored item name changes
imported>Quicksilver
m →Furniture: 1.6.16 -> 1.7
 
(115 intermediate revisions by 9 users not shown)
Line 12: Line 12:


===Is this the modapocalypse?===
===Is this the modapocalypse?===
[[File:SMAPI compatibility.png|thumb|SMAPI compatibility over time. The Stardew Valley 1.6.9 release appears as a small drop in November 2024.]]
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.
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.


Line 32: Line 33:


==Changes for all mods==
==Changes for all mods==
===Full list of changes===
===Lost items shop===
'''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.
{{migration guide doc status|[[Modding:Lost items shop]]|done=true}}
 
1.6.9 adds a hidden shop in the secret woods which sells unique items you've already unlocked but no longer own. For example, the [[Soda Machine|soda machine]] is received from the JojaMart completion event; if you lose it, it would otherwise be gone forever. All items are sold for a flat {{price|10000}} price.
 
The items which can appear in the shop are listed in the new <samp>Data/LostItemsShop</samp> asset, which consists of a list of models with these fields:
 
{| class="wikitable"
|-
! field
! effect
|-
| <samp>Id</samp>
| The [[Modding:Common data field types#Unique string ID|unique string ID]] for this entry.
|-
| <samp>ItemId</samp>
| The qualified item ID of the item to add to the shop.
|-
| <samp>RequireMailReceived</samp><br /><samp>RequireEventSeen</samp>
| The requirement for this item to be added to the shop.
 
You can specify either <samp>RequireMailReceived</samp> (a [[Modding:Mail data#Mail flags|mail flag]] to match in players' received mail) or <samp>RequireEventSeen</samp> (an [[Modding:Event data|event ID]] players have seen). If you specify both, only <samp>RequireMailReceived</samp> is used.
 
The number added to the shop is the number of players which match this field minus the number of the item which exist in the world. For example, if three players found the [['Boat'|'Boat' painting]] but only one exists in the world, the shop will sell two 'Boat' paintings.
|}


===[[Modding:Dialogue|Dialogue]] changes===
===[[Modding:Dialogue|Dialogue]] changes===
{{migration guide doc status|[[Modding:Dialogue]]|done=true}}
<ul>
<ul>
<li>1.6.9 adds several new dialogue keys:
<li>1.6.9 adds several new dialogue keys:
Line 46: Line 72:
| rowspan="8"| <samp>Characters/Dialogue/&lt;name&gt;</samp>
| rowspan="8"| <samp>Characters/Dialogue/&lt;name&gt;</samp>
| <samp>AcceptBirthdayGift_{{t|taste}}_{{t|context tag}}</samp>
| <samp>AcceptBirthdayGift_{{t|taste}}_{{t|context tag}}</samp>
| ''(Optional)'' Shown when the NPC receives a birthday gift with the specified gift taste and [[Modding:Items#Context tags|context tag]]. See <samp>AcceptGift_{{t|taste}}</samp> for valid gift tastes.
| ''(Optional)'' Shown when the NPC receives a birthday gift with the specified gift taste and [[Modding:Context tags|context tag]]. See <samp>AcceptGift_{{t|taste}}</samp> for valid gift tastes.


This is checked immediately before the <samp>AcceptBirthdayGift_{{t|context tag}}</samp> key added in 1.6.  
This is checked immediately before the <samp>AcceptBirthdayGift_{{t|context tag}}</samp> key added in 1.6.  
|-
|-
| <samp>AcceptGift_{{t|taste}}_{{t|context tag}}</samp>
| <samp>AcceptGift_{{t|taste}}_{{t|context tag}}</samp>
| ''(Optional)'' Shown when the NPC receives a non-birthday gift with the specified gift taste and [[Modding:Items#Context tags|context tag]]. See <samp>AcceptGift_{{t|taste}}</samp> for valid gift tastes.
| ''(Optional)'' Shown when the NPC receives a non-birthday gift with the specified gift taste and [[Modding:Context tags|context tag]]. See <samp>AcceptGift_{{t|taste}}</samp> for valid gift tastes.


This is checked immediately before the <samp>AcceptGift_{{t|context tag}}</samp> key added in 1.6.  
This is checked immediately before the <samp>AcceptGift_{{t|context tag}}</samp> key added in 1.6.  
Line 84: Line 110:


===[[Modding:Game state queries|Game state query]] changes===
===[[Modding:Game state queries|Game state query]] changes===
{{migration guide doc status|[[Modding:Game state queries]]|done=true}}
<ul>
<ul>
<li>1.6.9 adds some new game state queries:
<li>1.6.9 adds some new game state queries:
Line 110: Line 138:


===[[Modding:Console commands|Debug command]] changes===
===[[Modding:Console commands|Debug command]] changes===
{{migration guide doc status|[[Modding:Console commands]]|done=true}}
<ul>
<ul>
<li>All debug commands now validate their arguments.</li>
<li>All debug commands now validate their arguments.</li>
Line 124: Line 154:
| <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>netJoin {{t|IP}}</samp>
| Connect to a given IP address.
''This replaces the former <samp>netJoin</samp> command which opened the join menu.''
|-
| <samp>performTitleAction {{t|button}}</samp><br /><samp>pta {{t|button}}</samp>
| While on the title screen, jump to a given title submenu.
|-
| <samp>toggleNetCompression</samp>
| Disable (or re-enable) multiplayer compression.
|-
| <samp>toggleTimingOverlay</samp><br /><samp>tto</samp>
| Show an on-screen overlay with basic timing info (e.g. draw loop times) to help with performance profiling.
|-
| <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>
Line 142: Line 197:
! command
! command
! changes
! changes
|-
| <samp>achieve</samp>
| This now unlocks the related trophy when run on a console.
|-
|-
| <samp>build</samp>
| <samp>build</samp>
Line 167: Line 225:
| 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>spreadSheeds</samp>
| <samp>spreadSeeds</samp>
| Now affects crops in garden pots.
| Now affects crops in garden pots.
|-
|-
Line 182: Line 240:
* Tool names/descriptions were moved from <samp>Strings/StringsFromCSFiles</samp> into a new <samp>Strings/Tools</samp> asset. Dynamic tool names (like "Gold {0}") have also been replaced by specific names (like "Gold Axe") to allow fixing awkward translations.
* Tool names/descriptions were moved from <samp>Strings/StringsFromCSFiles</samp> into a new <samp>Strings/Tools</samp> asset. Dynamic tool names (like "Gold {0}") have also been replaced by specific names (like "Gold Axe") to allow fixing awkward translations.


===[[Modding:Blueprint data|Building data]] changes===
===[[Modding:Buildings|Building data]] changes===
1.6.9 adds a new field in <samp>Data/Buildings</samp>, for indoor item entries:
{{migration guide doc status|[[Modding:Buildings]]|done=true}}
 
1.6.9 adds new fields in <samp>Data/Buildings</samp>:
{| class="wikitable"
{| class="wikitable"
|-
|-
Line 189: Line 249:
! effect
! effect
|-
|-
| <samp>ClearTile</samp>
| <samp>NameForGeneralType</samp><br /><small>(in Stardew Valley 1.6.15)</small>
| ''(Optional)'' Whether to remove any item on the target tile, except for one matching the indoor item's <samp>ItemId</samp>. The previous contents of the tile will be moved into the lost and found if applicable. Default true.
| ''(Optional)'' A tokenizable string for the display name which represents the general building type, like 'Coop' for a Deluxe Coop. For example, this can be shown in Robin's started-construction dialogue. If omitted, it defaults to the <samp>Name</samp> field.
|}
|-
 
| <samp>IndoorItems</samp>
===[[Modding:Animal data|Farm animal data]] changes===
| This already existed before 1.6.9, but has one new sub-field:
1.6.9 adds a new field in <samp>Data/FarmAnimals</samp>:
{| class="wikitable"
|-
! field
! effect
|-
| <samp>ClearTile</samp>
| ''(Optional)'' Whether to remove any item on the target tile, except for one matching the indoor item's <samp>ItemId</samp>. The previous contents of the tile will be moved into the lost and found if applicable. Default true.
|}
|}
 
===[[Modding:Animal data|Farm animal data]] changes===
{{migration guide doc status|[[Modding:Animal data]]|done=true}}
 
<ul>
<li>1.6.9 adds a new field in <samp>Data/FarmAnimals</samp>:
{| class="wikitable"
{| class="wikitable"
|-
|-
Line 202: Line 276:
| <samp>Shadow</samp>
| <samp>Shadow</samp>
| ''(Optional)'' The shadow to draw under the farm animal, if a more specific field like <samp>ShadowWhenAdult</samp> doesn't apply. Defaults to omitted.
| ''(Optional)'' The shadow to draw under the farm animal, if a more specific field like <samp>ShadowWhenAdult</samp> doesn't apply. Defaults to omitted.
|}
|}</li>
<li>The previously hardcoded stats (<samp>cowMilkProduced</samp>, <samp>goatMilkProduced</samp>, and <samp>sheepWoolProduced</samp>) are now incremented via the <samp>StatToIncrementOnproduce</samp> data field.</li>
</ul>
 
===[[Modding:Fish ponds|Fish pond data]] changes===
{{migration guide doc status|[[Modding:Fish ponds]]|done=true}}


===[[Modding:Fish Pond data|Fish pond data]] changes===
Added new fields:
Added new fields:


Line 241: Line 319:
|}
|}
|-
|-
| <samp>Rewards</samp>
| <samp>ProducedItems</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>:
| 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>:
{| class="wikitable"
{| class="wikitable"
Line 258: Line 336:
* 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.
* 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.
* 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.
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===
===[[Modding:Items|Item data]] changes===
====In Data/Objects====
{{migration guide doc status|[[Modding:Objects]]|done=true}}
<ul>
<ul>
<li>1.6.9 adds a new field in <samp>Data/Objects</samp>:
<li>Added a new field</samp>:
{| class="wikitable"
{| class="wikitable"
|-
|-
Line 274: Line 355:
| ''(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.
| ''(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.
|}</li>
|}</li>
<li>And for all [[Modding:Item queries#Item spawn fields|item spawn fields]]:
<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>
<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====
{{migration guide doc status|[[Modding:Item queries#Item spawn fields]]|done=true}}
 
1.6.9 adds a new field for all [[Modding:Item queries#Item spawn fields|item spawn fields]]:
{| class="wikitable"
{| class="wikitable"
! field
! field
! effect
! effect
|-
|-
| <samp>Color</samp>
| <samp>ObjectColor</samp>
| ''(Optional)'' The tint color to apply to the produced item. Default none.
| ''(Optional)'' The tint color to apply to the produced item. Default none.
|}</li>
|}
<li>You can now customize display names per flavored item in <samp>Strings/Objects</samp>. For example, the <code>Wine_Flavored_(O)282_Name</code> translation ("Cranberry Wine") overrides <code>Wine_Flavored_Name</code> ("{0} Wine").</li>
 
</ul>
====Other====
* 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>.


===[[Modding:Machines|Machine data]] changes===
===[[Modding:Machines|Machine data]] changes===
{{migration guide doc status|[[Modding:Machines]]|done=true}}
1.6.9 fixes some issues with <samp>Data/Machines</samp>:
1.6.9 fixes some issues with <samp>Data/Machines</samp>:
* The <samp>PreserveId</samp> field now supports the <samp>DROP_IN_PRESERVE</samp> token.
* The <samp>PreserveId</samp> field now supports the <samp>DROP_IN_PRESERVE</samp> token.
Line 291: Line 383:
* The <samp>CopyQuality</samp> field no longer disables <samp>QualityModifiers</samp>; those are now applied to the result of the copy.
* 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===
===[[Modding:Maps|Map]] property 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.
{{migration guide doc status|[[Modding:Maps]]|done=true}}


===[[Modding:Tokenizable strings|Tokenizable string]] changes===
1.6.9 adds new map properties:
* Added <code>[CapitalizeFirstLetter {{t|text}}]</code> token, which capitalizes the first letter in the input text.
* For C# mods with custom tokens, parsers now receive argument values with any escape characters from <samp>[EscapedText]</samp> stripped back out.


===[[Modding:Items#Tools|Tool data]] changes===
{| class="wikitable"
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]]'').
|-
! property
! 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>).
|}
 
===Map tile index logic is now safer===
Vanilla logic that checks for a map tile index now consistently checks the tilesheet ID (case-insensitively), which eliminates the entire class of bugs related to tile index collisions. (This doesn't apply to <samp>Paths</samp> layer indexes, to avoid breaking mods and because you shouldn't have custom tilesheets on that layer anyway.)
 
For example, the vanilla beach code in 1.6.8 does this:
<syntaxhighlight lang="c#">
switch (getTileIndexAt(tileLocation, "Buildings"))
{
    case 284:
        if (who.Items.ContainsId("(O)388", 300))
            createQuestionDialogue(Game1.content.LoadString("Strings\\Locations:Beach_FixBridge_Question"), createYesNoResponses(), "BeachBridge");
        else
            Game1.drawObjectDialogue(Game1.content.LoadString("Strings\\Locations:Beach_FixBridge_Hint"));
        break;
</syntaxhighlight>
 
So if you added a custom tilesheet to the map, any tile with index 284 would show that message (even if it was from your custom tilesheet).
 
That no longer happens in 1.6.9, since it only recognizes the tile index from the relevant tilesheet:
<syntaxhighlight lang="c#">
switch (getTileIndexAt(tileLocation, "Buildings", "untitled tile sheet")) // "untitled tile sheet" is the actual tilesheet ID in this case
</syntaxhighlight>
 
===[[Modding:Pets|Pet data]] changes===
{{migration guide doc status|[[Modding:Pets]]|done=true}}
 
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:Tokenizable strings|Tokenizable string]] changes===
{{migration guide doc status|[[Modding:Tokenizable strings]]|done=true}}
 
<ul>
<li>Added new tokens:
{| class="wikitable"
|-
! token format
! output
|-
| <samp>[CapitalizeFirstLetter {{t|text}}]</samp>
| The input text, with the first letter capitalized.
|-
| <samp>[ItemNameWithFlavor {{t|flavor type}} {{t|flavor ID}}]</samp>
| The translated display name for a flavored item name, where...
* {{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>
 
===[[Modding:Tools|Tool data]] changes===
{{migration guide doc status|[[Modding:Tools]]|done=true}}
 
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===
===[[Modding:Trigger actions|Trigger action]] changes===
{{migration guide doc status|[[Modding:Trigger actions]]|done=true}}
1.6.9 adds a new field in <samp>Data/TriggerActions</samp>:
1.6.9 adds a new field in <samp>Data/TriggerActions</samp>:
{| class="wikitable"
{| class="wikitable"
Line 313: Line 464:
This mainly allows optimizing cases where the action will never be applied, to avoid parsing the <samp>Condition</samp> each time.
This mainly allows optimizing cases where the action will never be applied, to avoid parsing the <samp>Condition</samp> each time.
|}
|}
===Other changes===
<dl>
<dt>In Stardew Valley 1.6.9:</dt>
<dd>
* The game now always finds map tilesheets by ID, which eliminates bugs due to mods reordering tilesheets. However, it'll still try to get it by index first in some cases (since that's faster), so you should still avoid changing the tilesheet order to avoid the performance impact of falling back to an ID lookup.
* The 'Jewels Of The Sea' book now only produces roe for fish with the new <samp>fish_has_roe</samp> context tag. Consider adding it for custom fish in <samp>Data/Objects</samp> if needed.
* Added generic support for receiving recipe items from any source.
* Added player stats to track how often the player finished Junimo Kart (<samp>completedJunimoKart</samp>) and Prairie King (<samp>completedPrairieKing</samp> and <samp>completedPrairieKingWithoutDying</samp>). For pre-1.6.9 saves, the first two are set to <samp>1</samp> if the player has finished them at least once.
* Error messages related to argument parsing (e.g. in debug commands, dialogue, event commands, map properties, etc) now also show a human-readable argument name. For example, "''required index 0 not found''" now shows something like "''required index 0 (string itemId) not found''".
* Any item type can now be shipped, subject to its <samp>item.canBeShipped()</samp> method.
* For events:
** Fixed <samp>move</samp> command ignoring all remaining NPCs if an optional NPC isn't found.
** Fixed <samp>speak</samp> command ending the event if an optional NPC isn't found.
** Fixed <samp>GameStateQuery</samp>/<samp>G</samp> event precondition not handling quoted arguments correctly.
* For items:
** Context tags are now case-insensitive in nearly all cases.
** Merged item name translations from <samp>Strings/1_6_Strings</samp> + <samp>Strings/StringsFromCSFiles</samp> into <samp>Strings/BigCraftables</samp>, <samp>Strings/Objects</samp>, and <samp>Strings/Weapons</samp>.
** Fixed ancient dolls not having the <samp>doll_item</samp> context tag.
** Fixed spirit & custom torches switching to default torch sprite on purchase or stack split.
** Fixed cases where item names could be set to null. Trying to do so now defaults the name to Error Item instead.
* For [[Modding:Common data field types#Item spawn fields|item spawn fields]]:
** Added <samp>Color</samp> to set the tint color.
** Fixed vague error when producing a null item ID.
* For tools:
** Unified tool names/descriptions from <samp>Strings/StringsFromCSFiles</samp> + <samp>Strings/1_6_Strings</samp> into a new <samp>Strings/Tools</samp> asset, with readable keys like <samp>Axe_Description</samp>.
** Each tool upgrade now has its own translation (like "Gold Axe"), instead of generic ones like "Gold {0}" which were hard to translate well. This removes the <samp>ApplyUpgradeLevelToDisplayName</samp> field in <samp>Data/Tools</samp>.
** Fixed <samp>tool.getOne()</samp> not copying some tool fields.
* For trinkets:
** Added <samp>CustomFields</samp> and <samp>ModData</samp> data fields for mod use. These replace the former <samp>TrinketMetadata</samp> field.
** Added data fields to configure the locations/monsters ignored by magic quivers.
** Added error handling for some invalid data.
* For game state queries:
** Fixed <samp>HAS_TARGET_LOCATION</samp> always returning true.
** Fixed <samp>PLAYER_HAS_ITEM</samp> counting Qi gems owned by the main player instead of the target player.
* For machines:
** Geode crushers now handle mystery boxes correctly if a mod enables them in geode crushers.
** Fixed some machine effects only applied on the next time change after a machine begins processing.
** Fixed <samp>Data/Machines</samp>' <samp>DROP_IN_PRESERVE</samp> not working in the <samp>PreserveId</samp> field.
** Fixed <samp>Data/Machines</samp>' <samp>CopyColor</samp> field doing nothing if the input isn't a <samp>ColoredObject</samp>; it now defaults to the color from its context tags.
** Fixed <samp>Data/Machines</samp>' quality modifiers ignored for entries with <samp>CopyQuality</samp>.
** Fixed <samp>Object.OutputAnvil</samp> ignoring its <samp>probe</samp> argument.
** Fixed wild honey producing invalid item names when using tokens like <samp>DROP_IN_PRESERVE</samp> or <samp>%PRESERVED_DISPLAY_NAME</samp> in <samp>Data/Machines</samp>.
* For maps:
** Terrain sounds like footsteps now work in locations with the <samp>TreatAsOutdoors</samp> map property too.
** Wallpaper and flooring can now be applied to custom map tiles if their tilesheet ID contains <samp>walls_and_floors</samp>.
** The <samp>TouchAction ConditionalDoor</samp> tile property now correctly gets its <samp>LockedDoorMessage</samp> from the <samp>Back</samp> layer, instead of the <samp>Buildings</samp> layer.
** Fixed bugs related to mods changing maps' tilesheet order.
** [[#Map tile index logic is now safer|Fixed tile index collisions]]. Vanilla logic that checks for a map tile index now consistently checks the tilesheet ID (case-insensitive), which eliminates the entire class of bugs related to tile index collisions (e.g. custom tilesheet tiles being unexpectedly treated as lights).
** Fixed inconsistent map tilesheet sort order between platforms.
* For NPCs and dialogue:
** When loading a save, NPCs now warp to their current home in <samp>Data/Characters</samp> if the location they were in before saving no longer exists. (This also works for NPCs using a former name listed in the <samp>FormerCharacterNames</samp> field.)
** When using the <samp>$y</samp> dialogue command, you can now escape asterisks (<samp>*</samp> is still a dialogue break, but <samp>**</samp> is now shown as a single literal asterisk).
** You can now override schedule/resort dialogue based on your relationship with the NPC. For example, <samp>rain.000_Married</samp> overrides <samp>rain.000</samp> if you're married to that NPC. The possible relationships are <samp>Friendly</samp>, <samp>Dating</samp>, <samp>Engaged</samp>, <samp>Married</samp>, and <samp>Divorced</samp>.
** Improved error-handling when an NPC can't find a suitable dialogue.
** Fixed <samp>$action</samp> dialogue command not working after a <samp>#$b#</samp> break.
** Fixed empty dialogue box shown if a command is between <samp>#$b#</samp> breaks.
** Fixed NPCs no longer applying <samp>AcceptGift_<id></samp> dialogue key.
** Fixed <samp>Data/Characters</samp> appearance options not weighted correctly by default.
** Fixed some friendship logic still checking for a <samp>Data/NPCGiftTastes</samp> entry, instead of the <samp>CanSocialize</samp> field in <samp>Data/Characters</samp>.
* For pets:
** The <samp>Data/Pets</samp>' <samp>Gifts</samp> list now supports [[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.
** Fixed a <samp>Data/Pets</samp> turtle gift ID to match what it actually gifts (<samp>Radish</samp> -> <samp>SeafoamPudding</samp>).
* For desert festival makeover outfits:
** You can now have gender-variant outfit parts within an outfit.
** The <samp>Gender</samp> field now uses the three-part gender enum added in 1.6.
** Every outfit part now has a descriptive <samp>Id</samp>.
* For cooking/crafting recipes:
** The format for a skill level condition is <samp>s {{t|skill}} {{t|level}}</samp> or <samp>{{t|skill}} {{t|level}}</samp>. Due to a quirk in how it was implemented, previously any string containing a skill name and level would work (like <samp>10boopFarming</samp>); the format is now stricter and validated.
** Fixed handling of qualified item IDs in the <samp>Data/CraftingRecipes</samp> output field.
** Fixed skill-level-10 recipes being unlocked at level 1.
* Removed unused assets and translations.
* Wild seeds now choose their output when they're planted, so mods can predict their harvest.
* Fixed support for gender-switch blocks in pass-out mail text.
* Fixed crashes when player's daily luck is far outside the normal range. Daily luck is now clamped to reasonable values.
* Fixed fish ponds ignoring the <samp>DrawShadow</samp> field in <samp>Data/Buildings</samp>.
* Fixed <samp>StatIncrement</samp> fields in machine and farm animal data not using the specified ID.
* Fixed <samp>AllowWakeUpWithoutBed</samp> map property not working consistently.
</dd>
<dt id="1.6.15">In Stardew Valley 1.6.15:</dt>
<dd>
* Improved [[Modding:Buildings|building data]]:
** Added a new <samp>NameForGeneralType</samp> field. This replaces the former hardcoded logic which tried to parse it from the <samp>Name</samp>.
* Improved [[Modding:Fish ponds|fish pond data]]:
** You can now override a fish pond's base output chance via <samp>BaseMinProduceChance</samp> and <samp>BaseMaxProduceChance</samp>.
** You can now prioritize output rules via the produced items' <samp>Precedence</samp> field.
** The game no longer tries to auto-balance custom legendary fish in fish ponds. Mods can add their own output rule if they want to override the now-static default values.
* Improved [[Modding:Mannequins|mannequin data]]:
** Removed <samp>ID</samp> field (redundant with the entry key).
** The <samp>CustomFields</samp> field is now null by default (like other assets).
* Improved [[Modding:Trinkets|trinket data]]:
** Removed the <samp>Id</samp> field (redundant with the entry key).
* Changes for C# mods:
** Marked more code public or virtual for mods.
** The <samp>chest.sourceItem</samp> field is no longer null for fridge chests.
** Added <samp>Game1.ResetGameStateOnTitleScreen()</samp> method, split from <samp>Game1.CleanupReturningToTitle()</samp>. These are specialized methods which most mods shouldn't call though.
** Fixed <samp>NPC.CanSocializePerData</samp> not applying the given location.
** Fixed <samp>farmhand.hasOrWillReceiveMail</samp> checking the main player's mailbox in some cases.
** Fixed items' context tags not updated if their state changed (e.g. gold-quality items with the <samp>quality_none</samp> tag).
* Robin's construction-started dialogues now have extra tokens for the non-lowercase building names.
* Added optional argument to <samp>[GenderedText]</samp> and <samp>[SpouseGenderedText]</samp> [[Modding:Tokenizable strings|tokens]] for non-binary text.
* Added two variants of the locked-door message [[Modding:Maps|tile property]]: <samp>DoorUnlock_NotFriend_{npcName}</samp> (for a specific NPC) and <samp>DoorUnlock_NotFriend_Undefined</samp> (for non-binary NPCs).
* The game's dynamic textures now set their <samp>Name</samp> field to simplify troubleshooting. These are shown in error messages like object-disposed errors.
* The <samp>itemAboveHead</samp> [[Modding:Event data|event command]] now has an optional argument to set whether a 'you received' message is shown. This defaults to true (previously disabled for custom item IDs).
* Removed some redundant platform-specific translations.
* You can now customize the name/description for any item shown in the collection tab (via <samp>Strings/Objects:<item id>_CollectionsTabName</samp> and <samp><item id>_CollectionsTabDescription</samp>).
</dd>
</dl>


==Changes for C# mods==
==Changes for C# mods==
Line 330: Line 589:
| <syntaxhighlight lang="c#">Farmer player = Game1.getFarmer(id);</syntaxhighlight>
| <syntaxhighlight lang="c#">Farmer player = Game1.getFarmer(id);</syntaxhighlight>
| The exact equivalent is:
| The exact equivalent is:
<syntaxhighlight lang="c#">Farmer player = Game1.GetPlayer(id, onlineOnly: true) ?? Game1.MasterPlayer;</syntaxhighlight>
<syntaxhighlight lang="c#">Farmer player = Game1.GetPlayer(id, onlyOnline: true) ?? Game1.MasterPlayer;</syntaxhighlight>
However, most mods probably didn't expect it to work that way. Consider whether you meant this instead:
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.GetPlayer(id);</syntaxhighlight>
Line 342: Line 601:
</ul>
</ul>


===Screen reader changes===
===Chat commands API===
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.
{{migration guide doc status|[[Modding:Chat Commands]]|done=true}}
 
Chat commands are now modular and extensible in 1.6.9, with a new <samp>ChatCommands</samp> API to manage them.


The main change is a new interface:
For example, you can add a custom chat command like this:
<syntaxhighlight lang="c#>
<syntaxhighlight lang="c#">
string modId = this.ModManifest.UniqueId;
ChatCommands.Register($"{modId}_echo", this.Echo, name => $"{name} [message]: show the given message in the chat box.");
 
...
 
/// <inheritdoc cref="ChatCommandHandlerDelegate" />
private void Echo(string[] command, ChatBox chat)
{
    string message = ArgUtility.GetRemainder(command, 1);
 
    chat.addInfoMessage(message);
}
</syntaxhighlight>
 
===Screen reader changes===
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.
 
The main change is a new interface:
<syntaxhighlight lang="c#">
/// <summary>A UI element that provides information for screen readers.</summary>
/// <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>
/// <remarks>These values aren't displayed by the game; they're provided to allow for implementing screen reader mods.</remarks>
Line 374: Line 654:
* Added code docs.
* Added code docs.
* Removed the <samp>TemporaryAnimatedSprite.light</samp> boolean field; the light is now enabled by setting the <samp>lightId</samp> field.
* 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.
These have been replaced with more specific methods like <samp>Quest.OnMonsterSlain</samp>, 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 <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.
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.)
{| class="wikitable"
|-
! old code
! new code
|-
| <syntaxhighlight lang="c#">quest.checkForQuestComplete(npc, -1, -1, null, null, Quests.Quest.type_socialize)</syntaxhighlight>
| <syntaxhighlight lang="c#">quest.OnNpcSocialized(npc)</syntaxhighlight>
|-
| <syntaxhighlight lang="c#">quest.checkForQuestComplete(null, -1, -1, null, buildingType, Quests.Quest.type_building)</syntaxhighlight>
| <syntaxhighlight lang="c#">quest.OnBuildingExists(buildingType)</syntaxhighlight>
|-
| <syntaxhighlight lang="c#">quest.checkForQuestComplete(null, -1, numberCaught, null, itemId, Quest.type_fishing)</syntaxhighlight>
| <syntaxhighlight lang="c#">quest.OnFishCaught(itemId, numberCaught, size)</syntaxhighlight>
|-
| <syntaxhighlight lang="c#">quest.checkForQuestComplete(null, -1, countAdded, item, null, Quest.type_harvest)
quest.checkForQuestComplete(null, -1, countAdded, item, null, Quest.type_resource)</syntaxhighlight>
| <syntaxhighlight lang="c#">quest.OnItemReceived(item, countAdded)</syntaxhighlight>
|-
| <syntaxhighlight lang="c#">quest.checkForQuestComplete(npc, -1, -1, item, "", Quests.Quest.type_harvest, Quests.Quest.type_itemDelivery)</syntaxhighlight>
| <syntaxhighlight lang="c#">quest.OnItemOfferedToNpc(npc, item)</syntaxhighlight>
|-
| <syntaxhighlight lang="c#">quest.checkForQuestComplete(null, 1, 1, null, monster.Name, Quests.Quest.type_monster)</syntaxhighlight>
| <syntaxhighlight lang="c#">quest.OnMonsterSlain(location, monster, killedByBomb, isHutchSlime)</syntaxhighlight>
|-
| <syntaxhighlight lang="c#">quest.checkForQuestComplete(null, -1, -1, crafted, null, Quests.Quest.type_crafting)</syntaxhighlight>
| <syntaxhighlight lang="c#">quest.OnRecipeCrafted(recipe, crafted)</syntaxhighlight>
|-
| <syntaxhighlight lang="c#">quest.checkIfComplete(null, -1, -2, null, location.name)</syntaxhighlight>
| <syntaxhighlight lang="c#">quest.OnWarped(location)</syntaxhighlight>
|}
Two related changes:
* Building quests are now represented by a new <samp>HaveBuildingQuest</samp> type which uses the above events.
* The <samp>completionString</samp> field is now obsolete and unused; you should use the above methods instead.


===New extension methods===
===New extension methods===
Line 382: Line 708:
{| class="wikitable"
{| class="wikitable"
|-
|-
! type
! method
! method
! usage
! usage
|-
|-
| <samp>Dictionary&lt;TKey, TValue&gt;</samp>
| <samp>Dictionary&lt;TKey, TValue&gt;.TryAddMany</samp>
| <samp>TryAddMany</samp>
| Add all the key/value pairs from another dictionary to this one, except for keys that already exist.
| Add all the key/value pairs from another dictionary to this one, except for keys that already exist.


Line 405: Line 729:
</syntaxhighlight>
</syntaxhighlight>
|-
|-
| <samp>string</samp>
| <samp>IList&lt;T&gt;.RemoveWhere</samp>
| <samp>ContainsIgnoreCase</samp><br /><samp>EqualsIgnoreCase</samp><br /><samp>IndexOfIgnoreCase</samp><br /><samp>StartsWithIgnoreCase</samp><br /><samp>EndsWithIgnoreCase</samp>
| Remove all elements from an arbitrary list that match a condition. This is equivalent to the <samp>RemoveWhere</samp> methods added in 1.6, but works on any list type.
|-
| <samp>Layer.HasTileAt(…)</samp><br /><samp>Map.HasTileAt(…)</samp>
| Get whether there's a tile at a specific position on a map layer. This is equivalent to the pre-existing <code>location.GetTileIndexAt(…) != -1</code>.
|-
| <samp>Map.AddTileSheet(…)</samp>
| Add an arbitrary texture as a map tile sheet.
|-
| <samp>Map.RequireTileSheet(…)</samp>
| Get a map tilesheet by ID, and throw an exception if it doesn't exist.
|-
| <samp>string.ContainsIgnoreCase</samp><br /><samp>string.EqualsIgnoreCase</samp><br /><samp>string.IndexOfIgnoreCase</samp><br /><samp>string.StartsWithIgnoreCase</samp><br /><samp>string.EndsWithIgnoreCase</samp>
| Compare two strings case-insensitively.
| Compare two strings case-insensitively.


Line 469: Line 804:
</syntaxhighlight>
</syntaxhighlight>


===New utility fields & methods===
===Utility fields & methods===
1.6.9 adds many new utility methods and fields. For example:
<ul>
<li>1.6.9 adds many new utility methods and fields. For example:
{| class="wikitable"
{| class="wikitable"
|-
|-
Line 509: Line 845:
| <samp>CrabPot.NeedsBait(player)</samp>
| <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.
| 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.
|-
| <samp>CraftingRecipe.TryParseLevelRequirement(…)</samp>
| Try to parse the skill level requirement from a raw cooking or crafting recipe data entry, if applicable.
|-
|-
| <samp>Crop.replaceWithObjectOnFullGrown</samp>
| <samp>Crop.replaceWithObjectOnFullGrown</samp>
| 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.
| 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.
|-
| <samp>Dialogue.GetFallbackForError(npc)</samp><br /><samp>Dialogue.GetFallbackTextForError()</samp>
| Get a translated default "..." dialogue, which is shown in cases where a valid dialogue couldn't be loaded.
|-
|-
| <samp>Event.TryResolveCommandName(…)</samp>
| <samp>Event.TryResolveCommandName(…)</samp>
Line 521: Line 863:
     ...; // commandName = AddMailReceived
     ...; // commandName = AddMailReceived
</syntaxhighlight>
</syntaxhighlight>
|-
| <samp>FarmAnimal.homeInterior</samp>
| The interior location for the animal's home building.
|-
| <samp>FarmHouse.GetFridgePositionFromMap()</samp>
| Get the position of the map fridge by scanning the map tiles. (Most code should use the cached <samp>fridgePosition</samp> field instead.)
|-
| <samp>FruitTree.GetCosmeticSeason()</samp>
| Get the season for which to show a fruit tree sprite (which isn't necessarily the season for which it produces fruit). This mainly lets mods override the logic.
|-
|-
| <samp>Game1.IsHudDrawn</samp>
| <samp>Game1.IsHudDrawn</samp>
Line 546: Line 897:
| <samp>GameLocation.GetHarvestSpawnedObjectQuality(…)</samp>
| <samp>GameLocation.GetHarvestSpawnedObjectQuality(…)</samp>
| Get the quality to set when harvesting a spawned object like forage.
| Get the quality to set when harvesting a spawned object like forage.
|-
| <samp>GameLocation.GetAddedMapOverrideTilesheetId(…)</samp>
| Get the dynamic ID assigned to a tilesheet added via <samp>location.ApplyMapOverride(…)</samp>.
|-
| <samp>GameLocation.removeMapTile(…)</samp>
| Remove a map tile on a given layer and position.
|-
| <samp>GameLocation.setMapTile(…)</samp>
| Add or overwrite a map tile on a given layer and position. You can optionally set an <samp>Action</samp> tile property at the same time. This copies any previous tile properties automatically, unless you set <samp>copyProperties: false</samp>.
This unifies the former <samp>setMapTile</samp> and <samp>setMapTileIndex</samp> methods. Note that it doesn't delete the tile if the index is set to -1; use <samp>removeMapTile</samp> to do that.
|-
| <samp>GameLocation.hasTileAt(…)</samp>
| Get whether there's a tile at a specific position on a map layer. This is equivalent to the pre-existing <code>GetTileIndexAt(…) != -1</code>.
|-
|-
| <samp>GameLocation.OnHarvestedForage(…)</samp>
| <samp>GameLocation.OnHarvestedForage(…)</samp>
| Grant foraging or farming XP when the player harvests forage, and any other behavior defined by mods.
| Grant foraging or farming XP when the player harvests forage, and any other behavior defined by mods.
|-
| <samp>GameLocation.ParentBuilding</samp>
| 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.
|-
|-
| <samp>HoeDirt.Pot</samp>
| <samp>HoeDirt.Pot</samp>
| The [[Garden Pot|garden pot]] which holds the dirt, if applicable. This is set automatically by the game.
| The [[Garden Pot|garden pot]] which holds the dirt, if applicable. This is set automatically by the game.
|-
| <samp>Inventory.IsLocalPlayerInventory</samp>
| Whether this is the main inventory for <samp>Game1.player</samp>.
|-
| <samp>Inventory.Reduce(…)</samp>
| Reduce an item's stack size by this amount in the inventory, and optionally deduct any remainder from other items with the same ID in the inventory. This clears any affected slots if they reach a stack size of zero.
This is similar to <samp>player.reduceActiveItemByOne()</samp>, but works even if it's not the active item and allows reducing by an arbitrary amount. For example:
<syntaxhighlight lang="c#">
Item item = ...;
int countRemoved = Game1.player.Reduce(item, 5, reduceRemainderFromInventory: false);
</syntaxhighlight>
|-
|-
| <samp>Item.BaseName</samp>
| <samp>Item.BaseName</samp>
Line 561: Line 941:
| <samp>Item.CopyFieldsFrom(otherItem)</samp>
| <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.
| 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>LocalizedContentManager.LoadBaseStringOrNull(…)</samp>
| Get the default English text for a translation path, or <samp>null</samp> if it's not found.
|-
|-
| <samp>Item.LearnRecipe()</samp>
| <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>).
| 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#">
if (MineShaft.IsGeneratedLevel(location))
  ...;
</syntaxhighlight>
|-
|-
| <samp>NPC.CanSocializePerData(…)</samp>
| <samp>NPC.CanSocializePerData(…)</samp>
Line 580: Line 956:
| <samp>Object.IsTextSign()</samp>
| <samp>Object.IsTextSign()</samp>
| Get whether the object can have editable text which is shown on hover like a [[Text Sign|text sign]].
| Get whether the object can have editable text which is shown on hover like a [[Text Sign|text sign]].
|-
| <samp>Object.GetObjectDisplayName(…)</samp>
| Get the display name which would be set for an object, without needing to create an object instance.
|-
|-
| <samp>Raccoon.GetBundle()</samp><br /><samp>Raccoon.GetBundle(timesFed)</samp>
| <samp>Raccoon.GetBundle()</samp><br /><samp>Raccoon.GetBundle(timesFed)</samp>
Line 602: Line 981:
   ...;
   ...;
</syntaxhighlight>
</syntaxhighlight>
|}
|}</li>
 
<li>And improves many existing fields & methods. For example:
===New constants===
1.6.9 adds new constants:
{| class="wikitable"
{| class="wikitable"
|-
|-
! constant
! member
! usage
! changes
|-
| <samp>ArgUtility.UnsplitQuoteAware</samp>
| &#32;
* You can now set an optional start index and count, which avoids needing to copy the array before unsplitting the desired arguments.
* It now returns an empty string instead of null when given a null array, to match the other <samp>ArgUtility/samp> methods.
|-
| <samp>GameLocation.getTileIndexAt(…)</samp><br /><samp>Layer.GetTileIndexAt(…)</samp><br /><samp>Map.GetTileIndexAt(…)</samp>
| Added a <code>string tilesheetId = null</code> argument, which checks for a tile index from a specific tilesheet if set.
|-
|-
| <samp>AchievementIds.*</samp>
| <samp>LocalizedContentManager.LoadStringReturnNullIfNotFound(…)</samp>
| Added optional substitution arguments and an optional <samp>localeFallback</samp> argument.
|-
| <samp>MineShaft.IsGeneratedLevel(…)</samp><br /><samp>VolcanoDungeon.IsGeneratedLevel(…)</samp>
| Added overloads without the <samp>out</samp> parameters to simplify common logic. For example:
<syntaxhighlight lang="c#">
if (MineShaft.IsGeneratedLevel(location))
  ...;
</syntaxhighlight>
|-
| <samp>ResourceClump.IsGreenRainBush()</samp>
| Get whether this is a special Green Rain bush (which looks like a giant weed).
|-
| <samp>Utility.consolidateStacks(…)</samp>
| When a stack is removed, it now sets that index to null instead of removing it, so it's safe to use with player inventories.
 
If your code doesn't expect null entries in the list, you can remove them after consolidating:
<syntaxhighlight lang="c#">
Utility.consolidateStacks(itemList);
itemList.RemoveWhere(slot => slot is null);
</syntaxhighlight>
|}
</li>
<li>And removes various methods, including...
{| class="wikitable"
|-
! member
! replacement
|-
| <samp>GameLocation.refurbishMapPortion(…)</samp>
| use <samp>location.ApplyMapOverride</samp> instead.
|-
| <samp>GameLocation.setMapTileIndex(…)</samp>
| Use <samp>location.setMapTile</samp> instead.
|}
</ul>
 
===New constants===
1.6.9 adds new constants:
{| class="wikitable"
|-
! constant
! usage
|-
| <samp>AchievementIds.*</samp>
| The IDs for achievements in <samp>Data/Achievements</samp>. For example:
| The IDs for achievements in <samp>Data/Achievements</samp>. For example:


Line 623: Line 1,052:
   ...;
   ...;
</syntaxhighlight>
</syntaxhighlight>
|-
| <samp>GameLocation.DefaultTileSheetId</samp><br /><samp>MineShaft.MainTileSheetId</samp><br /><samp>MovieTheater.MainTileSheetId</samp><br /><samp>Submarine.MainTileSheetId</samp><br /><samp>VolcanoDungeon.MainTileSheetId</samp>
| The main tilesheet IDs for each location: default (<samp>untitled tile sheet</samp>), mines (<samp>mine</samp>), movie theater (<samp>movieTheater_tileSheet</samp>), submarine (<samp>submarine tiles</samp>), and volcano dungeon (<samp>dungeon</samp>) respectively.
|-
|-
| <samp>Item.ErrorItemName</samp>
| <samp>Item.ErrorItemName</samp>
Line 631: Line 1,063:
|}
|}


===<samp>OutputMethod</samp> changes in <samp>Data/Machines</samp>===
===<samp>ForEachItem</samp> changes===
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:
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.)
 
'''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.
 
The main changes are:
<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:
<syntaxhighlight lang="c#">
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;
});
</syntaxhighlight>
 
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#">
// ✘ 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;
});
</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>===
{{migration guide doc status|[[Modding:Machines]]|done=true}}
 
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#">
<syntaxhighlight lang="c#">
/// <summary>The method signature for a custom <see cref="MachineItemOutput.OutputMethod"/> method.</summary>
/// <summary>The method signature for a custom <see cref="MachineItemOutput.OutputMethod"/> method.</summary>
Line 644: Line 1,140:
public delegate Item MachineOutputDelegate(Object machine, Item inputItem, bool probe, MachineItemOutput outputData, Farmer player, out int? overrideMinutesUntilReady);
public delegate Item MachineOutputDelegate(Object machine, Item inputItem, bool probe, MachineItemOutput outputData, Farmer player, out int? overrideMinutesUntilReady);
</syntaxhighlight>
</syntaxhighlight>
===Other changes===
* For items:
** <samp>Object.signText</samp> can now use [[Modding:Tokenizable strings|game tokens]]. The new <samp>SignText</samp> property contains the parsed display text.
* For trinkets:
** <samp>trinket.OnDamageMonster</samp> methods now receive <samp>isBomb</samp> and <samp>isCriticalHit</samp> arguments.
** For C# mods, added a new namespace and code docs, made more code public, renamed fields for clarity, etc.
** Fixed <samp>Trinket.getOne()</samp> not copying trinker fields.
** Fixed <samp>TrinketEffect.GenerateRandomStats()</samp> not updating the description correctly if valled again after its constructor.
* UI changes:
** Added [screen reader fields](https://stardewvalleywiki.com/Modding:Migrate_to_Stardew_Valley_1.6.9#Screen_reader_changes).
** Added an <samp>ItemGrabMenu</samp> constructor to copy an existing menu (e.g. when reopening it).
** Rewrote <samp>Game1.specialCurrencyDisplay</samp>. It can now handle and display multiple currencies at once, has constants and full code docs, and you no longer need to manually manage persistent display (e.g. while a menu is open).
** The default controller navigation in menus already auto-detected <samp>ClickableComponent</samp> values in public <samp>List&lt;T&gt;</samp> and some <samp>Dictionary&lt;TKey, TValue&gt;</samp> fields. That now works with any subclass of <samp>ClickableComponent</samp> and any combination of dictionary key/value types too.
** Fixed organize button in inventory UIs resetting various menu options.
* Added a [[#Player changes|new <samp>Game1.GetPlayer</samp> method]], which deprecates the old <samp>getFarmer</samp> and <samp>getFarmerMaybeOffline</samp> methods.
* Added support for tokenized strings in <samp>Game1.multiplayer.broadcastGlobalMessage</samp> arguments.
* In <samp>Data/Machines</samp>, <samp>OutputMethod</samp> C# methods now get the player interacting with the machine too (if any). Unfortunately this is a breaking change for C# mods which have custom <samp>OutputMethod</samp> methods.
* Item data is now loaded earlier, so mods can use it when loading other assets (e.g. to check item context tags when generating location fish).
* The <samp>Object.displayNameFormat</samp> field is now synced in multiplayer, to let mods create customized non-temporary items.
* Changed signature of <code>IClickableMenu.draw(SpriteBatch b, int red = -1, int green = -1, int blue = -1)</cide> so the arguments are no longer optional, which fixes the conflict with <samp>draw(SpriteBatch b)</code>.
* You can now warp to a specific mine layout using the new <samp>forceLayout</samp> argument to <samp>Game1.enterMine</samp> or <samp>MineShaft.GetLevelName</samp>.
* <samp>ItemStockInformation</samp> is now a class instead of a struct, which avoids counterintuitive behavior when editing shop stock.
* <samp>LanguageSelectionMenu</samp> was rewritten to de-hardcode language support a bit.
* <samp>ShopMenu</samp>'s <samp>onPurchase</samp> callback now receives the stock info, and uses a documented delegate.
* Quests and special orders can now optionally count wild monsters killed on the farm (default false). This is indicated in <samp>Data/Quests</samp> by a fourth argument in slay quests' objectives field, and in <samp>Data/SpecialOrders</samp> via an <samp>IgnoreFarmMonsters</samp> entry in slay objectives' <samp>Data</samp> field.
* Fixed desert festival makeover not calling hat/clothing <samp>onEquip</samp>/<samp>onUnEquip</samp> methods.
* Fixed <samp>location.playTerrainSound</samp> changing the sound based on the player's current location instead of the location it's called for.
* Fixed <samp>Utility.tryToPlaceItem</samp> taking an <samp>Item</samp> argument instead of <samp>Object</samp>, despite throwing an exception when given a non-<samp>Object</samp> value.
* Fixed farmers misrendering when drawn with a non-default scale.
* Fixed some cases where you could call <samp>TriggerActionManager</samp> before it was fully initialized.
* Fixed errors when calling some <samp>Bush</samp> methods on a destroyed or non-placed bush.
* Fixed warning text when calling <samp>TriggerActionManager.RegisterAction</samp> with a duplicate name incorrectly saying the newer value will be used.
* Added more code docs.
* Made more code public for mods.
* Removed the last net field implicit conversion operators (for <samp>NetBool</samp>, <samp>NetInt</samp>, and <samp>NetString</samp>).
* Removed unused types, fields/properties, and methods.
* Tweaked powers tab code so mods can get the power ID for a slot.


==Changes for SMAPI and external tools==
==Changes for SMAPI and external tools==
Line 756: Line 1,290:
|rowspan="5"| [[Juice]]
|rowspan="5"| [[Juice]]
| ''Jus de Ail''
| ''Jus de Ail''
| ''Jus d’Ail''
| ''Jus d’ail''
|-
|-
| ''Jus de Amarante''
| ''Jus de Amarante''
| ''Jus d’Amarante''
| ''Jus d’amarante''
|-
|-
| ''Jus de Artichaut''
| ''Jus de Artichaut''
| ''Jus d’Artichaut''
| ''Jus d’artichaut''
|-
|-
| ''Jus de Aubergine''
| ''Jus de Aubergine''
| ''Jus d’Aubergine''
| ''Jus d’aubergine''
|-
|-
| ''Jus de Igname''
| ''Jus de Igname''
| ''Jus d’Igname''
| ''Jus d’igname''
|-
|-
| [[Maple Bar]]
| [[Maple Bar]]
Line 808: Line 1,342:
| rowspan="10"| [[Targeted Bait]]
| rowspan="10"| [[Targeted Bait]]
| ''Appât de Achigan à grande bouche''
| ''Appât de Achigan à grande bouche''
| ''Appât d’Achigan à grande bouche''
| ''Appât d’achigan à grande bouche''
|-
|-
| ''Appât de Achigan à petite bouche''
| ''Appât de Achigan à petite bouche''
| ''Appât d’Achigan à petite bouche''
| ''Appât d’achigan à petite bouche''
|-
|-
| ''Appât de Albacore''
| ''Appât de Albacore''
| ''Appât d’Albacore''
| ''Appât d’albacore''
|-
|-
| ''Appât de Alose''
| ''Appât de Alose''
| ''Appât d’Alose''
| ''Appât d’alose''
|-
|-
| ''Appât de Anchois''
| ''Appât de Anchois''
| ''Appât d’Anchois''
| ''Appât d’anchois''
|-
|-
| ''Appât de Anguille''
| ''Appât de Anguille''
| ''Appât d’Anguille''
| ''Appât d’anguille''
|-
|-
| ''Appât de Anguille de lave''
| ''Appât de Anguille de lave''
| ''Appât d’Anguille de lave''
| ''Appât d’anguille de lave''
|-
|-
| ''Appât de Écrevisse''
| ''Appât de Écrevisse''
| ''Appât d’Écrevisse''
| ''Appât d’écrevisse''
|-
|-
| ''Appât de Escargot''
| ''Appât de Escargot''
| ''Appât d’Escargot''
| ''Appât d’escargot''
|-
|-
| ''Appât de Esturgeon''
| ''Appât de Esturgeon''
| ''Appât d’Esturgeon''
| ''Appât d’esturgeon''
|-
|-
|rowspan="3"| [[Wine]]
|rowspan="3"| [[Wine]]
Line 883: Line 1,417:
| ''Hof-Rechner''
| ''Hof-Rechner''
|-
|-
| [[Fireworks]]
| [[Fireworks (Green)]]
| ''Fireworks (Grün)''
| ''Fireworks (Grün)''
| ''Feuerwerk (Grün)''
| ''Feuerwerk (Grün)''
Line 970: Line 1,504:
! old name
! old name
! new name
! new name
|-
| [[Baryte]]<br /><small>(in 1.6.15)</small>
| ''Baryt''
| ''Barit''
|-
| [[Carp Surprise]]<br /><small>(in 1.6.15)</small>
| ''Ponty meglepetés''
| ''Pontymeglepetés''
|-
|-
| [[Cave Jelly]]
| [[Cave Jelly]]
Line 975: Line 1,517:
| ''Barlangi zselé''
| ''Barlangi zselé''
|-
|-
| [[River Jelly]]
| [[Charcoal Kiln]]<br /><small>(in 1.6.15)</small>
| ''Folyami medúza''
| ''Faszén kemence''
| ''Folyami zselé''
| ''Faszenes kemence''
|-
|-
| [[Sea Jelly]]
| [[Chewing Stick]]<br /><small>(in 1.6.15)</small>
| ''Tengeri medúza''
| ''Rágó bot''
| ''Tengeri zselé''
| ''Rágóbot''
|}
 
; Italian
: {| class="wikitable"
|-
|-
! item
| [[Chicken Statue]]<br /><small>(in 1.6.15)</small>
! old name
| ''Csirke szobor''
! new name
| ''Csirkeszobor''
|-
|-
| [[Cave Jelly]]
| [[Dehydrator]]<br /><small>(in 1.6.15)</small>
| ''Medusa di grotta''
| ''Szárító''
| ''Gelatina di grotta''
| ''Aszaló''
|-
|-
| [[Ginger Ale]]
| [[Deluxe Worm Bin]]<br /><small>(in 1.6.15)</small>
| ''Ginger ale''
| ''Luxus gilisztás láda''
| ''Liquore allo zenzero''
| ''Luxus gilisztásláda''
|-
|-
| Haley's Lost Bracelet
| [[Dinosaur Egg]]<br /><small>(in 1.6.15)</small>
| ''Haley's Lost Bracelet''
| ''Dinoszaurusz tojás''
| ''Braccialetto perduto di Haley''
| ''Dinoszaurusztojás''
|-
|-
| Item Pedestal
| [[Dried Fruit]] (base item)<br /><small>(in 1.6.15)</small>
| ''Item Pedestal''
| ''Szárított''
| ''Piedistallo per oggetto''
| ''Aszalt''
|-
|-
| [[Rice Shoot]]
| [[Dried Fruit]] (collections tab)<br /><small>(in 1.6.15)</small>
| ''Spara di riso''
| ''Szárított gyümölcs''
| ''Germoglio di riso''
| ''Aszalt gyümölcs''
|-
|-
| [[River Jelly]]
| [[Dried Fruit]] (flavored)<br /><small>(in 1.6.15)</small>
| ''Medusa fluviale''
| ''Szárított {{t|item name}}''
| ''Gelatina fluviale''
| ''Aszalt {{t|item name}}''
|-
|-
| [[Sea Jelly]]
| [[Eggplant Parmesan]]<br /><small>(in 1.6.15)</small>
| ''Medusa marina''
| ''Padlizsán parmezán''
| ''Gelatina marina''
| ''Padlizsános parmezán''
|}
 
; Japanese
: {| class="wikitable"
|-
|-
! item
| [[Farm Computer]]<br /><small>(in 1.6.15)</small>
! old name
| ''Farm számítógép''
! new name
| ''Farm-számítógép''
|-
| [[Fiddlehead Fern]]<br /><small>(in 1.6.15)</small>
| ''Hegedűfej páfrány''
| ''Hegedűfejpáfrány''
|-
|-
| [[Bone Mill]]
| [[Fiddlehead Risotto]]<br /><small>(in 1.6.15)</small>
| ''クリスタルチェア''
| ''Hegedűfej rizottó''
| ''骨粉砕機''
| ''Hegedűfejes rizottó''
|-
|-
| [[Cave Jelly]]
| [[Fire Opal]]<br /><small>(in 1.6.15)</small>
| ''洞窟クラゲ''
| ''Tűz opál''
| ''洞窟ゼリー''
| ''Tűzopál''
|-
|-
| Haley's Lost Bracelet
| [[Fire Quartz]]<br /><small>(in 1.6.15)</small>
| ''Haley's Lost Bracelet''
| ''Tűz kvarc''
| ''ヘイリーがなくしたブレスレット''
| ''Tűzkvarc''
|-
|-
| [[Heavy Tapper]]
| [[Fish Taco]]<br /><small>(in 1.6.15)</small>
| ''Heavy Tapper''
| ''Hal taco''
| ''大型樹液採取器''
| ''Haltaco''
|-
|-
| Item Pedestal
| [[Glass Shards]]<br /><small>(in 1.6.15)</small>
| ''Item Pedestal''
| ''Üveg töredékek''
| ''アイテム用の台座''
| ''Üvegtöredékek''
|-
|-
| [[River Jelly]]
| [[Golden Relic]]<br /><small>(in 1.6.15)</small>
| ''川クラゲ''
| ''Arany ereklye''
| ''川ゼリー''
| ''Aranyereklye''
|-
|-
| [[Roe]]
| [[Iridium Sprinkler]]<br /><small>(in 1.6.15)</small>
| ''明太子''
| ''Irídium öntöző''
| ''魚卵''
| ''Irídiumöntöző''
|-
|-
| [[Sea Jelly]]
| [[Preserves Jar]]<br /><small>(in 1.6.15)</small>
| ''海クラゲ''
| ''Tartósító tégely''
| ''海ゼリー''
| ''Tartósítótégely''
|-
|-
| [[Stone Cairn]]
| [[Lobster Bisque]]<br /><small>(in 1.6.15)</small>
| ''石のカイム''
| ''Homár krémleves''
| ''石のケアン''
| ''Homárkrémleves''
|}
 
; Korean
: {| class="wikitable"
|-
|-
! item
| [[Lucky Ring]]<br /><small>(in 1.6.15)</small>
! old name
| ''Szerencsés gyűrű''
! new name
| ''Szerencsegyűrű''
|-
|-
| Haley's Lost Bracelet
| [[Maki Roll]]<br /><small>(in 1.6.15)</small>
| ''Haley's Lost Bracelet''
| ''Maki tekercs''
| ''헤일리의 잃어버린 팔찌''
| ''Maki-tekercs''
|-
|-
| [[Sunfish]]
| [[Mega Bomb]]<br /><small>(in 1.6.15)</small>
| ''개복치''
| ''Mega bomba''
| ''선피쉬''
| ''Megabomba''
 
|}
 
; Russian
: {| class="wikitable"
|-
|-
! item
| [[Prize Ticket]]<br /><small>(in 1.6.15)</small>
! old name
| ''Jutalom jegy''
! new name
| ''Jutalomjegy''
|-
|-
| [[Big Green Cane]]
| [[Rainbow Shell]]<br /><small>(in 1.6.15)</small>
| ''Большой зеленый тростник''
| ''Szivárvány kagyló''
| ''Большая зеленая трость''
| ''Szivárványos kagyló''
|-
|-
| [[Big Red Cane]]
| [[Rhubarb Pie]]<br /><small>(in 1.6.15)</small>
| ''Большой красный тростник''
| ''Rebarbara pite''
| ''Большая красная трость''
| ''Rebarbarás pite''
|-
|-
| [[Bok Choy Seeds]]
| [[Rice Pudding]]<br /><small>(in 1.6.15)</small>
| ''Семена бок-чой''
| ''Rizspuding''
| ''Семена бок-чоя''
| ''Tejberizs''
|-
|-
| [[Crimsonfish]]
| [[River Jelly]]
| ''Кримзонфиш''
| ''Folyami medúza''
| ''Багрянник''
| ''Folyami zselé''
|-
|-
| [[Far Away Stone]]
| [[Salmon Dinner]]<br /><small>(in 1.6.15)</small>
| ''Камень издалека''
| ''Lazac vacsora''
| ''Камень из далеких земель''
| ''Lazacvacsora''
|-
|-
| [[Fish Taco]]
| [[Sashimi]]<br /><small>(in 1.6.15)</small>
| ''Рыбный тако''
| ''Sashimi''
| ''Рыбное тако''
| ''Szasimi''
|-
|-
| [[Glacierfish Jr.]]
| [[Seafoam Pudding]]<br /><small>(in 1.6.15)</small>
| ''Ледорыб Мл.''
| ''Tengeri hab puding''
| ''Ледорыб Младший''
| ''Tengerihab-puding''
|-
|-
| [[Green Canes]]
| [[Sea Jelly]]
| ''Зеленый тростник''
| ''Tengeri medúza''
| ''Зеленые тросточки''
| ''Tengeri zselé''
|-
|-
| rowspan="27"|[[Jellies and Pickles|Jelly]]
| [[Shrimp Cocktail]]<br /><small>(in 1.6.15)</small>
| ''Джем (Ревень)''
| ''Garnéla koktél''
| ''Джем из ревеня''
| ''Garnélakoktél''
|-
|-
| ''Джем (Дыня)''
| [[Skeletal Hand]]<br /><small>(in 1.6.15)</small>
| ''Дынный джем''
| ''Csontváz kéz''
| ''Csontvázkéz''
|-
|-
| ''Джем (Жгучий перец)''
| [[Sonar Bobber]]<br /><small>(in 1.6.15)</small>
| ''Джем из жгучего перца''
| ''Szonár úszó''
| ''Szonárúszó''
|-
|-
| ''Джем (Карамбола)''
| [[Squid Ink]]<br /><small>(in 1.6.15)</small>
| ''Джем из карамболы''
| ''Tintahal tinta''
| ''Tintahaltinta''
|-
|-
| ''Джем (Клюква)''
| [[Squid Ink Ravioli]]<br /><small>(in 1.6.15)</small>
| ''Клюквенный джем''
| ''Tintahal tintás ravioli''
| ''Tintahaltintás ravioli''
|-
|-
| ''Джем (Морошка)''
| [[Star Shards]]<br /><small>(in 1.6.15)</small>
| ''Джем из морошки''
| ''Csillagtöredékek''
| ''Csillagtöredék''
|-
|-
| ''Джем (Острая ягода)''
| [[Stepping Stone Path]]<br /><small>(in 1.6.15)</small>
| ''Джем из острой ягоды''
| ''Lépcsős kőút''
| ''Lépőköves út''
|-
|-
| ''Джем (Виноград)''
| [[Straw Floor]]<br /><small>(in 1.6.15)</small>
| ''Виноградный джем''
| ''Szalma padló''
| ''Szalmapadló''
|-
|-
| ''Джем (Клубника)''
| [[Sweet Gem Berry]]<br /><small>(in 1.6.15)</small>
| ''Клубничный джем''
| ''Édes drágakő bogyó''
| ''Édes drágakőbogyó''
|-
|-
| ''Джем (Черная слива)''
| [[Trap Bobber]]<br /><small>(in 1.6.15)</small>
| ''Джем из черной сливы''
| ''Csapda úszó''
| ''Csapdaúszó''
|-
|-
| ''Джем (Ежевика)''
| [[Tree Fertilizer]]<br /><small>(in 1.6.15)</small>
| ''Ежевичный джем''
| ''Fa trágya''
| ''Fatrágya''
|-
|-
| ''Джем (Кристальный фрукт)''
| [[Truffle Oil]]<br /><small>(in 1.6.15)</small>
| ''Джем из кристального фрукта''
| ''Szarvasgomba olaj''
| ''Szarvasgombaolaj''
|-
|-
| ''Джем (Древний плод)''
| [[Warrior Ring]]<br /><small>(in 1.6.15)</small>
| ''Джем из древнего фрукта''
| ''Harcos gyűrű''
| ''Harci gyűrű''
|-
|-
| ''Джем (Семена черники)''
| [[Worm Bin]]<br /><small>(in 1.6.15)</small>
| ''Черничный джем''
| ''Gilisztás láda''
| ''Gilisztásláda''
|}
 
; Italian
: {| class="wikitable"
|-
|-
| ''Джем (Яблоко)''
! 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
: {| class="wikitable"
|-
|-
| ''Джем (Фрукт Ки)''
! item
| ''Джем из фрукта Ки''
! old name
! new name
|-
|-
| ''Джем (Кокос)''
| [[Bone Mill]]
| ''Кокосовый джем''
| ''クリスタルチェア''
| ''骨粉砕機''
|-
|-
| ''Джем (Плод кактуса)''
| [[Cave Jelly]]
| ''Кактусовый джем''
| ''洞窟クラゲ''
| ''洞窟ゼリー''
|-
|-
| ''Джем (Банан)''
| Haley's Lost Bracelet
| ''Банановый джем''
| ''Haley's Lost Bracelet''
| ''ヘイリーがなくしたブレスレット''
|-
|-
| ''Джем (Снегодыня)''
| [[Heavy Tapper]]
| ''Снегодынный джем''
| ''Heavy Tapper''
| ''大型樹液採取器''
|-
|-
| [[Mixed Cane]]
| Item Pedestal
| ''Смешанный тростник''
| ''Item Pedestal''
| ''Смешанные тросточки''
| ''アイテム用の台座''
|-
|-
| [[Oil of Garlic]]
| [[River Jelly]]
| ''Масло Чеснока''
| ''川クラゲ''
| ''Чесночное масло''
| ''川ゼリー''
|-
|-
| rowspan="41"| [[Jellies and Pickles|Pickles]]
| [[Roe]]
| ''Маринованные консервы: {0}''
| ''明太子''
| ''Маринованные консервы ({0})''
| ''魚卵''
|-
|-
| [[Sea Jelly]]
| ''海クラゲ''
| ''海ゼリー''
|-
|-
| ''Маринованные консервы: Дикий хрен''
| [[Stone Cairn]]
| ''Маринованный дикий хрен''
| ''石のカイム''
| ''石のケアン''
|}
 
; Korean
: {| class="wikitable"
|-
|-
| ''Маринованные консервы: Зеленая фасоль''
! item
| ''Маринованная зеленая фасоль''
! old name
! new name
|-
|-
| ''Маринованные консервы: Цветная капуста''
| Haley's Lost Bracelet
| ''Маринованная цветная капуста''
| ''Haley's Lost Bracelet''
| ''헤일리의 잃어버린 팔찌''
|-
|-
| ''Маринованные консервы: Картофель''
| [[Sunfish]]
| ''Маринованный картофель''
| ''개복치''
| ''선피쉬''
|}
 
; Russian
: {| class="wikitable"
|-
|-
| ''Маринованные консервы: Лук-порей''
! item
| ''Маринованный лук-порей''
! old name
! new name
|-
|-
| ''Маринованные консервы: Одуванчик''
| [[Big Green Cane]]
| ''Маринованный одуванчик''
| ''Большой зеленый тростник''
| ''Большая зеленая трость''
|-
|-
| ''Маринованные консервы: Чеснок''
| [[Big Red Cane]]
| ''Маринованный чеснок''
| ''Большой красный тростник''
| ''Большая красная трость''
|-
|-
| ''Маринованные консервы: Пастернак''
| [[Blobfish]]<br /><small>(in 1.6.15)</small>
| ''Маринованный пастернак''
| ''Рыба-пузырь''
| ''Рыба-капля''
|-
|-
| ''Маринованные консервы: Кудрявая капуста''
| Blue [[Slime Egg]]<br /><small>(in 1.6.15)</small>
| ''Маринованная кудрявая капуста''
| ''Синее яйцо слайма''
| ''Яйцо синего слайма''
|-
|-
| ''Маринованные консервы: Помидор''
| [[Bok Choy Seeds]]
| ''Маринованные помидоры''
| ''Семена бок-чой''
| ''Семена бок-чоя''
|-
|-
| ''Маринованные консервы: Сморчок''
| [[Chicken Decal]]
| ''Маринованные сморчки''
| ''Наклейка «Курица»''
| ''Наклейка «Курицы»''
|-
|-
| ''Маринованные консервы: Съедобный папоротник''
| [[Crimsonfish]]
| ''Маринованный папоротник''
| ''Кримзонфиш''
| ''Багрянник''
|-
|-
| ''Маринованные консервы: Пшеница''
| [[Crispy Bass]]<br /><small>(in 1.6.15)</small>
| ''Консервированная пшеница''
| ''Окунь с хруст. корочкой''
| ''Окунь с хрустящей корочкой''
|-
|-
| ''Маринованные консервы: Редис''
|rowspan="32"| [[Dried Fruit]]
| ''Маринованный редис''
| ''{{t|item name}} (засушено)''
| ''Сушен. {{t|item name}}''
|-
|-
| ''Маринованные консервы: Красная капуста''
| ''Ревень (засушено)''
| ''Маринованная красная капуста''
| ''Сушеный ревень''
|-
|-
| ''Маринованные консервы: Кукуруза''
| ''Дыня (засушено)''
| ''Маринованная кукуруза''
| ''Сушеные кусочки дыни''
|-
|-
| ''Маринованные консервы: Неизмельченный рис''
| ''Сморчок (засушено)''
| ''Консервированный рис''
| ''Сушеные сморчки''
|-
|-
| ''Маринованные консервы: Баклажан''
| ''Черника (засушено)''
| ''Маринованные баклажаны''
| ''Сушеная черника''
|-
|-
| ''Маринованные консервы: Артишок''
| ''Жгучий перец (засушено)''
| ''Маринованный артишок''
| ''Сушеные жгучие перцы''
|-
|-
| ''Маринованные консервы: Тыква''
| ''Карамбола (засушено)''
| ''Маринованная тыква''
| ''Сушеные кусочки карамболы''
|-
|-
| ''Маринованные консервы: Бок-чой''
| ''Лисичка (засушено)''
| ''Маринованный бок-чой''
| ''Сушеные лисички''
|-
|-
| ''Маринованные консервы: Батат''
| ''Клюква (засушено)''
| ''Маринованный батат''
| ''Сушеная клюква''
|-
|-
| ''Маринованные консервы: Лисичка''
| ''Морошка (засушено)''
| ''Маринованные лисички''
| ''Сушеная морошка''
|-
|-
| ''Маринованные консервы: Свекла''
| ''Острая ягода (засушено)''
| ''Маринованная свекла''
| ''Сушеные острые ягоды''
|-
|-
| ''Маринованные консервы: Амарант''
| ''Клубника (засушено)''
| ''Консервированный амарант''
| ''Сушеная клубника''
|-
|-
| ''Маринованные консервы: Хмель''
| ''Шампиньон (засушено)''
| ''Маринованный хмель''
| ''Сушеные шампиньоны''
|-
|-
| ''Маринованные консервы: Лук-батун''
| ''Дикая слива (засушено)''
| ''Маринованный лук-батун''
| ''Сушеные дикие сливы''
|-
|-
| ''Маринованные консервы: Шампиньон''
| ''Ежевика (засушено)''
| ''Маринованные шампиньоны''
| ''Сушеная ежевика''
|-
|-
| ''Маринованные консервы: Фундук''
| ''Кристальный фрукт (засушено)''
| ''Маринованный фундук''
| ''Сушеные кристальные фрукты''
|-
|-
| ''Маринованные консервы: Зимний корень''
| ''Фиолетовый гриб (засушено)''
| ''Маринованный зимний корень''
| ''Сушеные фиолетовые грибы''
|-
| ''Древний плод (засушено)''
| ''Сушеные древние плоды''
|-
|-
| ''Маринованные консервы: Снежный батат''
| ''Яблоко (засушено)''
| ''Маринованный снежный батат''
| ''Сушеные яблоки''
|-
|-
| ''Маринованные консервы: Фиолетовый гриб''
| ''Абрикос (засушено)''
| ''Маринованные фиолетовые грибы''
| ''Сушеные абрикосы''
|-
|-
| ''Маринованные консервы: Пещерная морковка''
| ''Апельсин (засушено)''
| ''Маринованная пещерная морковка''
| ''Сушеные апельсины''
|-
|-
| ''Маринованные консервы: Чайные листья''
| ''Персик (засушено)''
| ''Маринованные чайные листья''
| ''Сушеные персики''
|-
|-
| ''Маринованные консервы: Имбирь''
| ''Гранат (засушено)''
| ''Маринованный имбирь''
| ''Сушеные гранаты''
|-
|-
| ''Маринованные консервы: Корень таро''
| ''Вишня (засушено)''
| ''Маринованный корень таро''
| ''Сушеная вишня''
|-
|-
| ''Маринованные консервы: Магмовый гриб''
| ''Ананас (засушено)''
| ''Маринованные магмовые грибы''
| ''Сушеные ананасы''
|-
|-
| ''Маринованные консервы: Брокколи''
| ''Манго (засушено)''
| ''Маринованная брокколи''
| ''Сушеные манго''
|-
|-
| ''Маринованные консервы: Морковь''
| ''Магмовый гриб (засушено)''
| ''Маринованная морковь''
| ''Сушеные магмовые грибы''
|-
|-
| ''Маринованные консервы: Сквош''
| ''Фрукт Ки (засушено)''
| ''Маринованный сквош''
| ''Сушеные фрукты Ки''
|-
|-
| [[Son of Crimsonfish]]
| ''Кокос (засушено)''
| ''Сын Кримзонфиш''
| ''Сушеные кокосы''
| ''Малек Багрянника''
|-
|-
| [[Statue of Endless Fortune]]
| ''Плод кактуса (засушено)''
| ''Статуя Вечной Удачи''
| ''Сушеные плоды кактуса''
| ''Статуя бесконечной удачи''
|-
|-
| [[Stonefish]]
| ''Банан (засушено)''
| ''Камень-рыба''
| ''Сушеные бананы''
| ''Рыба-камень''
|-
|-
| Tall Torch
| ''Снегодыня (засушено)''
| ''Стоячий факел''
| ''Сушеные кусочки снегодыни''
| ''Длинный факел''
|-
|-
| [[The Art O' Crabbing]]
| [[Far Away Stone]]
| ''Искусство крабства''
| ''Камень издалека''
| ''Краболовное искусство''
| ''Камень из далеких земель''
|-
| [[Fish Taco]]
| ''Рыбный тако''
| ''Рыбное тако''
|-
|-
| [[Unmilled Rice]]
| [[Flounder]]<br /><small>(in 1.6.15)</small>
| ''Неизмельченный рис''
| ''Мелкая камбала''
| ''Неочищенный рис''
| ''Камбала''
|-
|-
| [[Way Of The Wind pt. 1]]
| [[Glacierfish Jr.]]
| ''Путь Ветра, ч. 1''
| ''Ледорыб Мл.''
| ''Путь Ветра, том 1''
| ''Ледорыб-младший''
|-
|-
| [[Way Of The Wind pt. 2]]
| [[Green Canes]]
| ''Путь Ветра, ч. 2''
| ''Зеленый тростник''
| ''Путь Ветра, том 2''
| ''Зеленые тросточки''
|}
 
; Spanish
: {| class="wikitable"
|-
|-
! item
| [[Halibut]]<br /><small>(in 1.6.15)</small>
! old name
| ''Камбала''
! new name
| ''Палтус''
|-
|-
| [[Glacierfish Jr.]]
|rowspan="6"| [[Honey]]
| ''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]]
| Green [[Slime Egg]]<br /><small>(in 1.6.15)</small>
| ''Totem de teletransporte: Isla''
| ''Зеленое яйцо слайма''
| ''Tótem de teletransporte: Isla''
| ''Яйцо зеленого слайма''
|}
 
; Turkish
: {| class="wikitable"
|-
|-
! item
| [[Immunity Band]]<br /><small>(in 1.6.15)</small>
! old name
| ''Кольцо стойкости''
! new name
| ''Перстень преодоления''
|-
|-
| [[Algae Soup]]
| [[Iridium Band]]<br /><small>(in 1.6.15)</small>
| ''Yosun Çorbası''
| ''Иридиевый обод''
| ''Su Yosunu Çorbası''
| ''Иридиевый перстень''
|-
|-
| [[Big Green Cane]]
|rowspan="27"| [[Jellies and Pickles|Jelly]]
| ''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]]
|rowspan="32"| [[Juice]]
| ''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ı''
|-
|-
| [[Scarecrow#Rarecrows|Rarecrows]]
| ''Сок (Цветная)''
| ''Hepsini bul! (1''
| ''Сок цветной капусты''
| ''Hepsini bul! (X/8)''<br /><small>(where X is the rarecrow number)</small>
|-
|-
| [[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
: {| class="wikitable"
|-
|-
! 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
: {| class="wikitable"
|-
|-
! 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
: {| 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]]
| ''Сок (Зимний корень)''
| ''Цветочный коврик''
| ''Сок зимнего корня''
| ''Цветочный ковер''
|-
|-
| [[Bountiful Dining Table]]
| [[Lionfish]]<br /><small>(in 1.6.15)</small>
| ''Изобильный обеденный стол''
| ''Морской ёрш''
| ''Обеденный стол «Изобилие»''
| ''Крылатка''
|-
|-
| [[Circular Junimo Rug]]
| [[Mini-Shipping Bin]]
| ''Круглый коврик Джунимо''
| ''Мини-ящик для отгрузок''
| ''Круглый ковер Джунимо''
| ''Мини-ящик для отгрузки''
|-
|-
| [['Community Center']]
| [[Mixed Cane]]
| ''«Общественный центр»''
| ''Смешанный тростник''
| ''«Клуб»''
| ''Смешанные тросточки''
|-
|-
| [[Curly Tree]]
| [[Mystic Tree Seed]]
| ''Изогнутое дерево''
| ''Семечко таинственного дерева''
| ''Кудрявое дерево''
| ''Семя таинственного дерева''
|-
|-
| [[Dark Leafy Wall Panel]]
| [[Oil of Garlic]]
| ''Темная панель «Листва»''
| ''Масло Чеснока''
| ''Средняя панель «Листва»''
| ''Чесночное масло''
|-
|-
| [[Dark Rug]]
|rowspan="41"| [[Jellies and Pickles|Pickles]]
| ''Темный Коврик''
| ''Маринованные консервы: {{t|item name}}''
| ''Темный ковер''
| ''Маринов. {{t|item name}}''
|-
|-
| [[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]]
| [[Pufferfish]]<br /><small>(in 1.6.15)</small>
| ''Коврик «Ретро»''
| ''Рыба-еж''
| ''Ковер «Ретро»''
| ''Иглобрюх''
|-
|-
| [[Small Book Pile]]
| Purple [[Slime Egg]]<br /><small>(in 1.6.15)</small>
| ''Кучка книг''
| ''Фиолетовое яйцо слайма''
| ''Несколько книг''
| ''Яйцо фиолетового слайма''
|-
|-
| [[Small Book Stack]]
| [[Qi Bean]]<br /><small>(in 1.6.15)</small>
| ''Стопочка книг''
| ''Семя Ки''
| ''Малая стопка книг''
| ''Боб Ки''
|-
|-
| [[Small Elixir Shelf]]
| [[Qi Gem]]
| ''Полочка для эликсиров''
| ''Драгоценный камень Ки''
| ''Узкая полка с эликсирами''
| ''Самоцвет Ки''
|-
|-
| [[Small Junimo Mat]]
| Red [[Slime Egg]]<br /><small>(in 1.6.15)</small>
| ''Маленький мат Джунимо''
| ''Красное яйцо слайма''
| ''Маленький коврик Джунимо''
| ''Яйцо красного слайма''
|-
|-
| [[Small Stacked Elixir Shelf]]
| Slime Crate<br /><small>(in 1.6.15)</small>
| ''Заставленная эликсирами полочка''
| ''Ящик слайма''
| ''Двойная узкая полка с эликсирами''
| ''Ящик для слайма''
|-
|-
| [[Stacked Elixir Shelf]]
|rowspan="32"| [[Smoked Fish]]
| ''Заставленная эликсирами полка''
| ''{{t|item name}} (закопчено)''
| ''Двойная полка с эликсирами''
| ''Копченый {{t|item name}}''
|-
|-
| [[Stacked Joja Boxes]]
| ''Рыба-еж (закопчено)''
| ''Куча коробок Джоджа''
| <s>''Копченая рыба-еж''</s> (in 1.6.9)<br />
| ''Стопка коробок Джоджа''
''Копченый иглобрюх'' (in 1.6.15)
|-
|-
| [[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]]
| ''Мелкая камбала (закопчено)''
| ''Ореховый приставной столик''
| <s>''Копченая мелкая камбала''</s> (in 1.6.9)<br />
| ''Ореховый приставной столик с лампой''
''Копченая камбала'' (in 1.6.15)
|-
|-
| [[Winter Tree Decal]]
| ''Карп-мутант (закопчено)''
| ''Наклейка «Зимнее дерево»''
| ''Копченый Карп-мутант''
| ''Наклейка «Зимняя ель»''
|-
|-
| [[Witch's Broom]]
| ''Тигровая форель (закопчено)''
| ''Метла ведьмы''
| ''Копченая тигровая форель''
| ''Ведьмина метла''
|-
|-
| [[Wood Panel]]
| ''Тиляпия (закопчено)''
| ''Панель «Дерево»''
| ''Копченая тиляпия''
| ''Дощатая панель''
|}
 
; Spanish
: {| class="wikitable"
|-
|-
! item
| ''Дорада (закопчено)''
! old name
| ''Копченая дорада''
! new name
|-
|-
| [[Modern Fish Tank]]
| ''Камбала (закопчено)''
| ''Pecera mdoerna''
| <s>''Копченая камбала''</s> (in 1.6.9)<br />
| ''Pecera moderna''
''Копченый палтус'' (in 1.6.15)
|}
 
; 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]]
| ''Легенда II (закопчено)''
| ''Büyük Joja Sandığı''
| ''Копченая Легенда II''
| ''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''
| <s>''Копченый морской ёрш''</s> (in 1.6.9)<br />
| ''Maun Oturak''
''Копченая крылатка'' (in 1.6.15)
|-
|-
| [[Mahogany Chair]]
| [[Son of Crimsonfish]]
| ''Mahun Sandalye''
| ''Сын Кримзонфиш''
| ''Maun Sandalye''
| ''Малек Багрянника''
|-
|-
| [[Mahogany Dining Table]]
| [[Statue of Endless Fortune]]
| ''Mahun Yemek Masası''
| ''Статуя Вечной Удачи''
| ''Maun Yemek Masası''
| ''Статуя бесконечной удачи''
|-
|-
| [[Mahogany Dresser]]
| [[Stonefish]]
| ''Mahun Şifoniyer''
| ''Камень-рыба''
| ''Maun Şifonyer''
| ''Рыба-камень''
|-
|-
| [[Mahogany End Table]]
| [[Sunfish]]
| ''Mahun Komodin''
| ''Санфиш''
| ''Maun Komodin''
| ''Солнечник''
|-
|-
| [[Mahogany Table]]
| [[Sweet Gem Berry]]
| ''Mahun Masa''
| ''Сладкая ягодка''
| ''Maun Masa''
| ''Сладкая самоцветинка''
|-
|-
| [[Mahogany Tea-Table]]
| Tall Torch
| ''Mahun Sehpa''
| ''Стоячий факел''
| ''Maun Sehpa''
| ''Длинный факел''
|-
| [[The Art O' Crabbing]]
| ''Искусство крабства''
| ''Краболовное искусство''
|-
|-
| [[Midnight Beach Bed]]
| [[Unmilled Rice]]
| ''Yatak''
| ''Неизмельченный рис''
| ''Gece Yarısı Kumsallı Yatak''
| ''Неочищенный рис''
|-
|-
| [[Midnight Beach Double Bed]]
| [[Way Of The Wind pt. 1]]
| ''Çift Kişilik Yatak''
| ''Путь Ветра, ч. 1''
| ''Gece Yarısı Kumsallı Çift Kişilik Yatak''
| ''Путь Ветра, том 1''
|-
|-
| [[Modern Rug]]
| [[Way Of The Wind pt. 2]]
| ''Modern Kilim''
| ''Путь Ветра, ч. 2''
| ''Modern Halı''
| ''Путь Ветра, том 2''
|-
|-
| [[Oak Dresser]]
| [[Wild Plum]]
| ''Meşe Şifoniyer''
| ''Черная слива''
| ''Meşe Şifonyer''
| ''Дикая слива''
|-
|-
| [[Pierre's Sign]]
|rowspan="27"| [[Wine]]
| ''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]]
| ''Вино (Снегодыня)''
| ''Канотье''
| ''Вино из снегодыни''
| ''Капотен''
|}
|}


Line 2,125: Line 2,575:
! new name
! new name
|-
|-
| [[Gold Pan]]
| [[Glacierfish Jr.]]
| ''Sartén de Oro''
| ''Pez glacial jóven''
| ''Cacerola de Oro''
| ''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''
|-
|-
| [[Iridium Pan]]
| [[Tent Kit]]
| ''Sartén de Iridio''
| ''Kit de tienda de campaña.''
| ''Cacerola de Iridio''
| ''Kit de tienda de campaña''
|-
|-
| [[Steel Pan]]
| [[Treasure Totem]]
| ''Sartén de Acero''
| ''Totem del tesoro''
| ''Cacerola de Acero''
| ''Tótem del tesoro''
|-
|-
| [[Totem Mask]]
| [[Warp Totem: Island]]
| ''Máscara totem''
| ''Totem de teletransporte: Isla''
| ''Máscara tótem''
| ''Tótem de teletransporte: Isla''
|}
|}


Line 2,149: Line 2,611:
! new name
! new name
|-
|-
| [[Arcane Hat]]
| [[Aged Roe]] (unflavored)
| ''Gizemli Şapka''
| ''Olgun Yumurta''
| ''Büyücü Şapkası''
| ''Olgun Balık Yumurtası''
|-
|-
| [[Copper Pan]]
| [[Algae Soup]]
| ''Bakır Tava''
| ''Yosun Çorbası''
| ''Bakır Eleme Tavası''
| ''Su Yosunu Çorbası''
|-
| [[Big Green Cane]]
| ''Büyük Yeşil Şekerkamışı''
| ''Büyük Yeşil Şeker Kamışı''
|-
|-
| [[Flat Topped Hat]]
| [[Big Red Cane]]
| ''Fötr Şapka''
| ''Büyük Kırmızı Şekerkamışı''
| ''Seyyah Şapkası''
| ''Büyük Kırmızı Şeker Kamışı''
|}
 
===Pants===
; German
: {| class="wikitable"
|-
|-
! item
| [[Blueberry]]
! old name
| ''Yabanmersini''
! new name
| ''Yaban Mersini''
|-
|-
| Island Bikini
| [[Blueberry Seeds]]
| ''Island Bikini''
| ''Yabanmersini Tohumu''
| ''Insel Bikini''
| ''Yaban Mersini Tohumu''
|-
|-
| Prismatic Pants
| [[Blueberry Tart]]
| ''Prismatic Pants''
| ''Yabanmersinli Turta''
| ''Prisma Hose''
| ''Yaban Mersinli Turta''
|}
 
===Shirts===
; French
: {| class="wikitable"
|-
|-
! item
| [[Broccoli Seeds]]
! old name
| ''Brokoli Tohumları''
! new name
| ''Brokoli Tohumu''
|-
|-
| ''gender-variant shirts''
| [[Carrot Seeds]]
| "(M)" suffix
| ''Havuç Tohumları''
| "(H)" suffix
| ''Havuç Tohumu''
|-
|-
| [[Cask]]
| ''Fıçı''
| ''Varil''
|-
|-
| Island Bikini
| [[Caviar]]
| ''Island Bikini''
| ''Hayvar''
| ''Bikini des îles''
| ''Havyar''
|}
 
; German
: {| class="wikitable"
|-
|-
! item
| [[Coleslaw]]
! old name
| ''Lahana Salatası''
! new name
| ''Kırmızı Lahana Salatası''
|-
|-
| [[Dark Sign]]
| ''Kara İşaret''
| ''Kara Tabela''
|-
|-
| Hot Pink Shirt
| [[Dried Sunflowers]]
| ''Hot Pink Shirt''
| ''Kurumuş Ayçicekleri''
| ''Pinkes Hemd''
| ''Kurumuş Ayçiçekleri''
|}
 
; Italian
: {| class="wikitable"
|-
|-
! item
| [[Fiddlehead Fern]]
! old name
| ''Eğreltiotu''
! new name
| ''Eğrelti Otu''
|-
|-
| Island Bikini
| [[Fiddlehead Risotto]]
| ''Island Bikini''
| ''Eğreltiotlu Pilav''
| ''Bikini delle isole''
| ''Eğrelti Otlu Pilav''
|}
 
; Japanese
: {| class="wikitable"
|-
|-
! item
| Haley's Lost Bracelet
! old name
| ''Haley's Lost Bracelet''
! new name
| ''Haley'nin Kayıp Bileziği''
|-
|-
| ''gender-variant shirts''
| [[Goby]]
| " (F)" and " (M)" suffixes
| ''Kayabalığı''
| "(女)" and "(男)" suffixes
| ''Taşbalığı''
|-
|-
| Island Bikini
| [[Golden Pumpkin]]
| ''Island Bikini''
| ''Altın Balkabağı''
| ''アイランドビキニ''
| ''Altın Bal Kabağı''
|}
 
; Korean
: {| class="wikitable"
|-
|-
! item
| [[Green Canes]]
! old name
| ''Yeşil Şekerkamışları''
! new name
| ''Yeşil Şeker Kamışları''
|-
|-
| ''gender-variant shirts''
| [[Hops]]
| "(F)" and "(M)" suffixes
| ''Şerbetçiotu''
| "(여)" and "(남)" suffixes
| ''Şerbetçi Otu''
|-
|-
| Island Bikini
| [[Hops Starter]]
| ''Island Bikini''
| ''Şerbetçiotu Yetiştirici''
| ''섬 비키니''
| ''Şerbetçi Otu Yetiştirici''
|}
 
; Russian
: {| class="wikitable"
|-
|-
! item
| [[Jellies and Pickles|Jelly]]
! old name
| ''Marmelat''
! new name
| ''Reçel''
|-
|-
| Midnight Dog Jacket
| [[Loom]]
| ''Куртка полночного пса''
| ''Dokuma Tezgahı''
| ''Куртка полуночного пса''
| ''Dokuma Tezgâhı''
|-
|-
| Mineral Dog Jacket
| [[Magma Cap]]
| ''Минеральная куртка для собаки''
| ''Mağma Mantarı''
| ''Куртка минерального пса''
| ''Magma Mantarı''
|-
|-
| Prismatic Shirt
| [[Mini-Forge]]
| ''Призматичная рубашка''
| ''Mini Dökümhane''
| ''Радужная рубашка''
| ''Mini Demir Ocağı''
|}
 
; Spanish
: {| class="wikitable"
|-
|-
! item
| [[Mixed Cane]]
! old name
| ''Renkli Şekerkamışları''
! new name
| ''Renkli Şeker Kamışları''
|-
|-
| Island Bikini
| [[Ostrich Egg]]
| ''Island Bikini''
| ''Devekuşu Yumurtası''
| ''Bikini isleño''
| ''Deve Kuşu Yumurtası''
|}
 
; Turkish
: {| class="wikitable"
|-
|-
! item
| [[Ostrich Incubator]]
! old name
| ''Devekuşu Kuluçka Makinesi''
! new name
| ''Deve Kuşu Kuluçka Makinesi''
|-
|-
| ''gender-variant shirts''
| [[Poppyseed Muffin]]
| "(F)" and "(M)" suffixes
| ''Haşhaşlı Börek''
| "(K)" and "(E)" suffixes
| ''Haşhaşlı Kek''
|-
|-
| Aquamarine Shirt
| [[Powdermelon Seeds]]
| ''Deniz Yeşili Tişört''
| ''Kış Kavunu Tohumları''
| ''Gök Zümrüdü Tişört''
| ''Kış Kavunu Tohumu''
|-
|-
| Midnight Dog Jacket
| [[Plush Bunny]]
| ''Geceyarısı Ceketi''
| ''Peluş Tavşan''
| ''Gece Yarısı Ceketi''
| ''Pelüş Tavşan''
|-
|-
| Tan Striped Shirt
| [[Pumpkin]]
| ''Çizgili Tenrengi Tişört''
| ''Balkabağı''
| ''Çizgili Ten Rengi Tişört''
| ''Bal Kabağı''
|}
 
===Tools===
; German
: {| class="wikitable"
|-
|-
! item
| [[Pumpkin Seeds]]
! old name
| ''Balkabağı Tohumu''
! new name
| ''Bal Kabağı Tohumu''
|-
|-
| ''upgradeable tools''
| [[Queen Of Sauce Cookbook]]
| ''{{t|level}} {{t|tool}}'' (like ''Stahl-Axt'')
| ''Sosun Kraliçesi Yemek Kitabı''
| ''{{t|level}}{{t|tool}}'' (like ''StahlAxt'')
| ''Soslar Kraliçesi Yemek Kitabı''
|}
 
; Hungarian
: {| class="wikitable"
|-
|-
! item
| [[Scarecrow#Rarecrows|Rarecrows]]
! old name
| ''Hepsini bul! (1''
! new name
| ''Hepsini bul! (X/8)''<br /><small>(where X is the rarecrow number)</small>
|-
|-
| ''upgradeable tools''
| [[Red Canes]]
| ''{{t|level}} {{t|tool}}'' (like ''Acél Balta'')
| ''Kırmızı Şekerkamışları''
| ''{{t|level}}{{t|tool}}'' (like ''Acélbalta'')
| ''Kırmızı Şeker Kamışları''
|}
 
; Japanese
: {| class="wikitable"
|-
|-
! item
| [[Roe]]
! old name
| ''Yavru {{t|item name}} Yumurtası''
! new name
| ''{{t|item name}} Yumurtası''
|-
|-
| ''upgradeable tools''
| [[Sloth Skeleton L]]
| ''{{t|level}} {{t|tool}}'' (like ''鋼 オノ'')
| ''Tembel Hayvan İskeleti''
| ''{{t|level}}の{{t|tool}}'' (like ''鋼のオノ'')
| ''Tembel Hayvan İskeleti (Sol)''
|}
 
; Korean
: {| class="wikitable"
|-
|-
! item
| [[Sloth Skeleton M]]
! old name
| ''Tembel Hayvan İskeleti''
! new name
| ''Tembel Hayvan İskeleti (Orta)''
|-
|-
| [[Bamboo Pole]]
| [[Sloth Skeleton R]]
| ''대나무 막대''
| ''Tembel Hayvan İskeleti''
| ''대나무 낚싯대''
| ''Tembel Hayvan İskeleti (Sağ)''
|}
 
; Russian
: {| class="wikitable"
|-
|-
! item
| [[Stardew Valley Almanac]]
! old name
| ''Stardew Valley Yıllığı''
! new name
| ''Yıldızçiyi Vadisi Yıllığı''
|-
|-
| ''upgradeable tools''
| [[Stuffing]]
| ''{{t|tool}} ({{t|level}})'' (like ''Топор (Медь)'')
| ''İç''
| ''{{t|level}} {{t|tool}}'' (like ''Медный топор'')
| ''Doldurma''
|}
 
; Spanish
: {| class="wikitable"
|-
|-
! item
| [[Summer Squash Seeds]]
! old name
| ''Yaz Kabak Tohumları''
! new name
| ''Yaz Kabağı Tohumu''
|-
|-
| [[Advanced Iridium Rod]]
| [[Workbench]]
| ''Barra de Iridio Avanzada''
| ''Çalışma Tezgahı''
| ''Caña de Iridio Avanzada''
| ''Çalışma Tezgâhı''
|}
|}


; Turkish
===Furniture===
; French
: {| class="wikitable"
: {| class="wikitable"
|-
|-
Line 2,390: Line 2,800:
! new name
! new name
|-
|-
| [[Advanced Iridium Rod]]
| [[Book Stack]]
| ''Gelişmiş İridyum Oltası''
| ''Pile de livres''
| ''Gelişmiş İridyum Olta''
| ''Tas de livres''
|-
|-
| [[Bamboo Pole]]
| [[J. Cola Light]]
| ''Bambu Oltası''
| ''"J. Cola Light"''
| ''Bambu Olta''
| ''Enseigne murale lumineuse J.Cola''
|-
|-
| [[Fiberglass Rod]]
| [[Large Book Stack]]
| ''Camyünü Oltası''
| ''Grande pile de livres''
| ''Camyünü Olta''
| ''Grand tas de livres''
|-
|-
| [[Iridium Rod]]
| [[Midnight Beach Bed]]
| ''İridyum Oltası''
| ''Lit''
| ''İridyum Olta''
| ''Lit de plage nocturne''
|}
 
===Weapons===
; Japanese
: {| class="wikitable"
|-
|-
! item
| [[Midnight Beach Double Bed]]
! old name
| ''Lit''
! new name
| ''Lit double de plage nocturne''
|-
|-
| [[Galaxy Hammer]]
| [[Small Book Stack]]
| ''Galaxy Hammer''
| ''Petite pile de livres''
| ''ギャラクシーハンマー''
| ''Petit tas de livres''
|-
| [[Wizard Bookshelf]]
| ''Bibliothèque de sorcier''
| ''Étagère de sorcier''
|}
|}


; Turkish
; Hungarian
: {| class="wikitable"
: {| class="wikitable"
|-
|-
Line 2,427: Line 2,836:
! new name
! new name
|-
|-
| [[Elliott's Pencil]]
| [[Cat Tree]]<br /><small>(in 1.6.15)</small>
| ''Elliot'ın Kalemi''
| ''Macskás fa''
| ''Elliott'ın Kalemi''
| ''Macskabútor''
|-
| [[Chicken Statue]]<br /><small>(in 1.6.15)</small>
| ''Csirke szobor''
| ''Csirkeszobor''
|-
| [[Dark Cat Tree]]<br /><small>(in 1.6.15)</small>
| ''Sötét macskás fa''
| ''Sötét macskabútor''
|-
| [[Doghouse]]<br /><small>(in 1.6.15)</small>
| ''Kutyaház''
| ''Kutyaól''
|-
| [[Dark Doghouse]]<br /><small>(in 1.6.15)</small>
| ''Sötét kutyaház''
| ''Sötét kutyaól''
|-
| [[Floor TV]]<br /><small>(in 1.6.15)</small>
| ''Padló tévé''
| ''Padlótévé''
|-
| [[Midnight Beach Bed]]
| ''Ágy''
| ''Éjféli strand ágy''
|-
| [[Midnight Beach Double Bed]]
| ''Dupla ágy''
| ''Éjféli strand dupla ágy''
|-
| [[Spirits Table]]<br /><small>(in 1.6.15)</small>
| ''Italos asztal''
| ''Italosasztal''
|-
| [[Wine Table]]<br /><small>(in 1.6.15)</small>
| ''Borozó asztal''
| ''Borozóasztal''
|}
|}


===Monsters===
; Italian
; French
: {| class="wikitable"
: {| class="wikitable"
|-
|-
! monster
! item
! old name
! old name
! new name
! new name
|-
|-
| [[Pepper Rex]]
| [[Large Green Rug]]
| ''Poivron Rex''
| ''Tappeto verde gande''
| ''Poivrosaure''
| ''Tappeto verde grande''
|}
 
; Russian
: {| class="wikitable"
|-
! 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]]
| ''Элитное дерево''
| ''Изысканное дерево''
|-
| [[Furniture#Chairs|Dining Chair]]<br /><small>(in 1.6.15)</small>
| ''Стул к обеденному столу''
| ''Обеденный стул''
|-
| [[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]]
| ''Коврик «Ретро»''
| ''Ковер «Ретро»''
|-
| [[Rune Rug]]<br /><small>(in 1.6.15)</small>
| ''Рунный коврик''
| ''Рунический коврик''
|-
| [[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
: {| 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ütü 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''
|-
| [[Green Serpent Statue]]
| ''Yeşil Kertenkele Heykeli''
| ''Yeşil Yılan Heykeli''
|-
| [[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ı''
|-
| [[Purple Serpent Statue]]
| ''Mor Kertenkele Heykeli''
| ''Mor Yılan Heykeli''
|-
| [[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üşü''
|-
| [['The Brave Little Sapling']]
| ''&apos;Cesur Fidan&apos;''
| ''&apos;Küçük Cesur Fidan&apos;''
|-
| [[Tree of the Winter Star]]
| ''Kışyıldızı Ağacı''
| ''Kış Yıldızı Ağacı''
|-
| [[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]]
| ''Канотье''
| ''Капотен''
|-
| [[Laurel Wreath Crown]]
| ''Лавровая корона''
| ''Лавровый венок''
|}
 
; 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ı''
|-
| [[Leprechaun Hat]]
| ''Cüce Şapkası''
| ''Cüce Cin Şapkası''
|}
 
===Movie concessions===
; Hungarian
: {| class="wikitable"
|-
! item
! old name
! new name
|-
| Cappuccino Mousse Cake<br /><small>(in 1.6.15)</small>
| ''Kapuccsinó habos torta''
| ''Kapucsínó habos torta''
|}
 
===Pants===
; German
: {| class="wikitable"
|-
! item
! old name
! new name
|-
| Island Bikini
| ''Island Bikini''
| ''Insel Bikini''
|-
| Prismatic Pants
| ''Prismatic Pants''
| ''Prisma Hose''
|}
 
; Japanese
: {| class="wikitable"
|-
! item
! old name
! new name
|-
| Messy Shorts<br /><small>(in 1.6.15)</samp>
| ''散らかったシャツ''
| ''散らかったパンツ''
|}
 
; Turkish
: {| class="wikitable"
|-
! item
! old name
! new name
|-
| [[Secrets#Lucky Purple Shorts|Trimmed Lucky Purple Shorts]]
| ''İşlemeli Mor Şort''
| ''İşlemeli Şanslı Mor Şort''
|}
 
===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ütü 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'')
|-
| [[Milk Pail]]<br /><small>(in 1.6.15)</small>
| ''Tejes vödör''
| ''Tejesvödör''
|}
 
; 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''
| ''ギャラクシーハンマー''
|}
 
; Hungarian
: {| class="wikitable"
|-
! item
! old name
! new name
|-
| [[Golden Scythe]]<br /><small>(in 1.6.15)</small>
| ''Arany kasza''
| ''Aranykasza''
|}
 
; Turkish
: {| class="wikitable"
|-
! item
! old name
! new name
|-
| [[Elliott's Pencil]]
| ''Elliot'ın Kalemi''
| ''Elliott'ın Kalemi''
|}
 
===Animals===
; Russian
: {| class="wikitable"
|-
! animal
! old name
! new name
|-
| [[Chicken#Blue Chickens|Blue Chicken]]
| ''Голубая курица''
| ''Синяя курица''
|-
| [[Golden Chicken]]
| ''Золотой цыпленок''
| ''Золотая курица''
|}
 
===Buildings===
; Hungarian
: {| class="wikitable"
|-
! building
! old name
! new name
|-
| [[Pet Bowl]]<br /><small>(in 1.6.15)</small>
| ''Háziállat tálka''
| ''Háziállattálka''
|}
 
===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''
|-
|-
| [[Squid Kid]]
| [[Truffle Crab]]
| ''Jeune calmar''
| <span style="text-decoration: line-through;">''Rock Crab''</span>
| ''Tête flottante''
| <span style="text-decoration: line-through;">''Kőrák''</span>
|}
|}


; German
; Portuguese
: {| class="wikitable"
: {| class="wikitable"
|-
|-
Line 2,456: Line 3,895:
! new name
! new name
|-
|-
| [[Magma Duggy]]
| [[Frost Jelly]]
| ''Magma Schwenker''
| ''Geleia congelada''
| ''Magma-Schwenker''
| ''Gosma Congelada''
|-
|-
| [[Magma Sparker]]
| [[Iridium Golem]]
| ''Magma Sprenger''
| ''Wilderness Golem''
| ''Magma-Sprenger''
| ''Golem Selvagem''
|-
| [[Pepper Rex]]
| ''Pimenta Rex''
| ''Rex Pimenta''
|-
| Shadow Guy
| ''O cara das sombras''
| ''Homem das Sombras''
|-
|-
| [[Magma Sprite]]
| [[Skeleton Mage]]
| ''Magma Wicht''
| ''Mago esqueleto''
| ''Magma-Wicht''
| ''Esqueleto Mago''
|-
|-
| [[Wilderness Golem]]
| [[Skeleton|Skeleton Warrior]]
| ''Golem der Wildnis''
| ''Guerreiro esqueleto''
| ''Wildnis-Golem''
| ''Esqueleto Guerreiro''
|}
|}


; Hungarian
; Russian
: {| class="wikitable"
: {| class="wikitable"
|-
|-
Line 2,481: Line 3,928:
|-
|-
| [[Carbon Ghost]]
| [[Carbon Ghost]]
| ''Szén szellem''
| ''Углеродный признак''
| ''Szénszellem''
| ''Углеродный призрак''
|-
|-
| [[Iridium Bat]]
| [[Dwarvish Sentry]]
| ''Irídium denevér''
| ''Часовой дварфов''
| ''Irídiumdenevér''
| ''Дварфийский часовой''
|-
|-
| [[Iridium Crab]]
| [[Iridium Golem]]
| ''Irídium rák''
| <span style="text-decoration: line-through;">''Wilderness Golem''</span>
| ''Irídiumrák''
| <span style="text-decoration: line-through;">''Голем из глуши''</span>
|-
| [[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]]
| [[Shadow Shaman]]
| ''Árnyék sámán''
| ''Шаман теней''
| ''Árnyéksámán''
| ''Теневой шаман''
|-
| Tiger Slime
| ''Tigris ragacs''
| ''Tigrisragacs''
|-
|-
| [[Truffle Crab]]
| [[Truffle Crab]]
| ''Rock Crab''
| <span style="text-decoration: line-through;">''Rock Crab''</span>
| ''Kőrák''
| <span style="text-decoration: line-through;">''Каменный краб''</span>
|}
|}


; Portuguese
; Turkish
: {| class="wikitable"
: {| class="wikitable"
|-
|-
Line 2,532: Line 3,955:
! new name
! new name
|-
|-
| [[Frost Jelly]]
| [[Magma Duggy]]
| ''Geleia congelada''
| ''Mağma Kazılcası''
| ''Gosma Congelada''
| ''Magma Kazılcası''
|-
|-
| [[Iridium Golem]]
| [[Magma Sprite]]
| ''Wilderness Golem''
| ''Mağma Tayfı''
| ''Golem Selvagem''
| ''Magma Tayfı''
|}
 
===Movies===
; Turkish
: {| class="wikitable"
|-
|-
| [[Pepper Rex]]
! movie
| ''Pimenta Rex''
! old name
| ''Rex Pimenta''
! new name
|-
|-
| Shadow Guy
| The Brave Little Sapling
| ''O cara das sombras''
| ''Cesur Fidan''
| ''Homem das Sombras''
| ''Küçük Cesur Fidan''
|-
| [[Skeleton Mage]]
| ''Mago esqueleto''
| ''Esqueleto Mago''
|-
| [[Skeleton|Skeleton Warrior]]
| ''Guerreiro esqueleto''
| ''Esqueleto Guerreiro''
|}
|}


===NPCs===
; Russian
; Russian
: {| class="wikitable"
: {| class="wikitable"
|-
|-
! monster
! NPC
! old name
! old name
! new name
! new name
|-
|-
| [[Carbon Ghost]]
| [[Professor Snail]]<br /><small>(in 1.6.15)</small>
| ''Углеродный признак''
| ''Проф. Улиткин''
| ''Углеродный призрак''
| ''Проф. Улиткинс''
|-
| [[Dwarvish Sentry]]
| ''Часовой дварфов''
| ''Дварфийский часовой''
|-
| [[Iridium Golem]]
| ''Wilderness Golem''
| ''Голем из глуши''
|-
| [[Shadow Shaman]]
| ''Шаман теней''
| ''Теневой шаман''
|-
| [[Truffle Crab]]
| ''Rock Crab''
| ''Каменный краб''
|}
|}


; Turkish
==XNB impact==
: {| class="wikitable"
===Overview===
This section provides a summary of the XNB files which changed in Stardew Valley 1.6.9. This doesn't include new files (since they won't impact existing mods), or text changes in non-English files.
 
[[Modding:Using XNB mods|XNB mods]] are disproportionately affected, since...
# they replace the entire file;
# they're loaded through the MonoGame content pipeline which is less tolerant of format changes;
# they don't benefit from the compatibility rewrites [[Modding:Content Patcher|Content Patcher]] provides for its content packs.
 
Content Patcher packs are typically unaffected (and Content Patcher will try to rewrite content packs automatically). However if a content pack replaces an entire asset instead of editing, it's more likely to be affected like an XNB mod.
 
===Changed assets===
TODO
<!--
Compatibility is broadly grouped into four categories:
* "'''✘ broken'''": mods will remove new content or significant changes, or the mod's intended changes will no longer work. Effects may range from display bugs to crashes, depending how the game uses that specific content.
* "✘ will remove changes": mods will remove minor changes in 1.6.9 (e.g. typo fixes).
* "✓ mostly unaffected": mods will only be affected if they replace the entire asset, or edit specific entries or fields.
* Blank: no expected impact for the vast majority of mods.
 
{| class="wikitable"
|-
|-
! monster
!rowspan="2"| content asset
! old name
!rowspan="2"| changes in 1.6.9
! new name
!colspan="2"| compatibility for pre-1.6.9 mods
|-
|-
| [[Magma Duggy]]
! XNB mods
| ''Mağma Kazılcası''
! Content Patcher packs
| ''Magma Kazılcası''
|-
|-
| [[Magma Sprite]]
| ''Mağma Tayfı''
| ''Magma Tayfı''
|}
|}
-->
===Removed unused assets===
Stardew Valley 1.6.9 deletes assets which weren't used by the game. Mods usually aren't affected by this.
Removed assets:
* <samp>LooseSprites/buildingPlacementTiles</samp>
* <samp>LooseSprites/DialogBoxGreen</samp>
* <samp>LooseSprites/hoverBox</samp>
* <samp>LooseSprites/robinAtWork</samp>
* <samp>LooseSprites/skillTitles</samp>
* <samp>Maps/cavedarker</samp>
* <samp>Maps/FarmhouseTiles</samp>
* <samp>Maps/GreenhouseInterior</samp>
* <samp>Maps/spring_BusStop</samp>
* <samp>Maps/TownIndoors</samp>
* <samp>Maps/WizardHouseTiles</samp>
* <samp>Maps/WoodBuildings</samp>
* <samp>TerrainFeatures/BuffsIcons</samp>
==See also==
* The {{version|1.6.9|1.6.9 release notes}} list many smaller technical changes not covered on this page.
[[tr:Modlama:Stardew Valley 1.6.9'a Aktarım]]
[[zh:模组:迁移至游戏本体1.6.9]]

Latest revision as of 16:16, 2 September 2025

←Index

This page is for mod authors. Players: see the mod compatibility list 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?

SMAPI compatibility over time. The Stardew Valley 1.6.9 release appears as a small drop in November 2024.

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.8.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

Lost items shop

See the updated docs at Modding:Lost items shop. The section below focuses on what's new in this version.

1.6.9 adds a hidden shop in the secret woods which sells unique items you've already unlocked but no longer own. For example, the soda machine is received from the JojaMart completion event; if you lose it, it would otherwise be gone forever. All items are sold for a flat data-sort-value="10000">10,000g price.

The items which can appear in the shop are listed in the new Data/LostItemsShop asset, which consists of a list of models with these fields:

field effect
Id The unique string ID for this entry.
ItemId The qualified item ID of the item to add to the shop.
RequireMailReceived
RequireEventSeen
The requirement for this item to be added to the shop.

You can specify either RequireMailReceived (a mail flag to match in players' received mail) or RequireEventSeen (an event ID players have seen). If you specify both, only RequireMailReceived is used.

The number added to the shop is the number of players which match this field minus the number of the item which exist in the world. For example, if three players found the 'Boat' painting but only one exists in the world, the shop will sell two 'Boat' paintings.

Dialogue changes

See the updated docs at Modding:Dialogue. The section below focuses on what's new in this version.
  • 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

See the updated docs at Modding:Game state queries. The section below focuses on what's new in this version.
  • 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

See the updated docs at Modding:Console commands. The section below focuses on what's new in this version.
  • 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.
    netJoin <IP> Connect to a given IP address.

    This replaces the former netJoin command which opened the join menu.

    performTitleAction <button>
    pta <button>
    While on the title screen, jump to a given title submenu.
    toggleNetCompression Disable (or re-enable) multiplayer compression.
    toggleTimingOverlay
    tto
    Show an on-screen overlay with basic timing info (e.g. draw loop times) to help with performance profiling.
    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
    achieve This now unlocks the related trophy when run on a console.
    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

See the updated docs at Modding:Buildings. The section below focuses on what's new in this version.

1.6.9 adds new fields in Data/Buildings:

field effect
NameForGeneralType
(in Stardew Valley 1.6.15)
(Optional) A tokenizable string for the display name which represents the general building type, like 'Coop' for a Deluxe Coop. For example, this can be shown in Robin's started-construction dialogue. If omitted, it defaults to the Name field.
IndoorItems This already existed before 1.6.9, but has one new sub-field:
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

See the updated docs at Modding:Animal data. The section below focuses on what's new in this version.
  • 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.
  • The previously hardcoded stats (cowMilkProduced, goatMilkProduced, and sheepWoolProduced) are now incremented via the StatToIncrementOnproduce data field.

Fish pond data changes

See the updated docs at Modding:Fish ponds. The section below focuses on what's new in this version.

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.
ProducedItems 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

See the updated docs at Modding:Objects. The section below focuses on what's new in this version.
  • 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

See the updated docs at Modding:Item queries#Item spawn fields. The section below focuses on what's new in this version.

1.6.9 adds a new field for all item spawn fields:

field effect
ObjectColor (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

See the updated docs at Modding:Machines. The section below focuses on what's new in this version.

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

See the updated docs at Modding:Maps. The section below focuses on what's new in this version.

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).

Map tile index logic is now safer

Vanilla logic that checks for a map tile index now consistently checks the tilesheet ID (case-insensitively), which eliminates the entire class of bugs related to tile index collisions. (This doesn't apply to Paths layer indexes, to avoid breaking mods and because you shouldn't have custom tilesheets on that layer anyway.)

For example, the vanilla beach code in 1.6.8 does this:

switch (getTileIndexAt(tileLocation, "Buildings"))
{
    case 284:
        if (who.Items.ContainsId("(O)388", 300))
            createQuestionDialogue(Game1.content.LoadString("Strings\\Locations:Beach_FixBridge_Question"), createYesNoResponses(), "BeachBridge");
        else
            Game1.drawObjectDialogue(Game1.content.LoadString("Strings\\Locations:Beach_FixBridge_Hint"));
        break;

So if you added a custom tilesheet to the map, any tile with index 284 would show that message (even if it was from your custom tilesheet).

That no longer happens in 1.6.9, since it only recognizes the tile index from the relevant tilesheet:

switch (getTileIndexAt(tileLocation, "Buildings", "untitled tile sheet")) // "untitled tile sheet" is the actual tilesheet ID in this case

Pet data changes

See the updated docs at Modding:Pets. The section below focuses on what's new in this version.

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

See the updated docs at Modding:Tokenizable strings. The section below focuses on what's new in this version.
  • 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

See the updated docs at Modding:Tools. The section below focuses on what's new in this version.

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

Trigger action changes

See the updated docs at Modding:Trigger actions. The section below focuses on what's new in this version.

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.

Other changes

In Stardew Valley 1.6.9:
  • The game now always finds map tilesheets by ID, which eliminates bugs due to mods reordering tilesheets. However, it'll still try to get it by index first in some cases (since that's faster), so you should still avoid changing the tilesheet order to avoid the performance impact of falling back to an ID lookup.
  • The 'Jewels Of The Sea' book now only produces roe for fish with the new fish_has_roe context tag. Consider adding it for custom fish in Data/Objects if needed.
  • Added generic support for receiving recipe items from any source.
  • Added player stats to track how often the player finished Junimo Kart (completedJunimoKart) and Prairie King (completedPrairieKing and completedPrairieKingWithoutDying). For pre-1.6.9 saves, the first two are set to 1 if the player has finished them at least once.
  • Error messages related to argument parsing (e.g. in debug commands, dialogue, event commands, map properties, etc) now also show a human-readable argument name. For example, "required index 0 not found" now shows something like "required index 0 (string itemId) not found".
  • Any item type can now be shipped, subject to its item.canBeShipped() method.
  • For events:
    • Fixed move command ignoring all remaining NPCs if an optional NPC isn't found.
    • Fixed speak command ending the event if an optional NPC isn't found.
    • Fixed GameStateQuery/G event precondition not handling quoted arguments correctly.
  • For items:
    • Context tags are now case-insensitive in nearly all cases.
    • Merged item name translations from Strings/1_6_Strings + Strings/StringsFromCSFiles into Strings/BigCraftables, Strings/Objects, and Strings/Weapons.
    • Fixed ancient dolls not having the doll_item context tag.
    • Fixed spirit & custom torches switching to default torch sprite on purchase or stack split.
    • Fixed cases where item names could be set to null. Trying to do so now defaults the name to Error Item instead.
  • For item spawn fields:
    • Added Color to set the tint color.
    • Fixed vague error when producing a null item ID.
  • For tools:
    • Unified tool names/descriptions from Strings/StringsFromCSFiles + Strings/1_6_Strings into a new Strings/Tools asset, with readable keys like Axe_Description.
    • Each tool upgrade now has its own translation (like "Gold Axe"), instead of generic ones like "Gold {0}" which were hard to translate well. This removes the ApplyUpgradeLevelToDisplayName field in Data/Tools.
    • Fixed tool.getOne() not copying some tool fields.
  • For trinkets:
    • Added CustomFields and ModData data fields for mod use. These replace the former TrinketMetadata field.
    • Added data fields to configure the locations/monsters ignored by magic quivers.
    • Added error handling for some invalid data.
  • For game state queries:
    • Fixed HAS_TARGET_LOCATION always returning true.
    • Fixed PLAYER_HAS_ITEM counting Qi gems owned by the main player instead of the target player.
  • For machines:
    • Geode crushers now handle mystery boxes correctly if a mod enables them in geode crushers.
    • Fixed some machine effects only applied on the next time change after a machine begins processing.
    • Fixed Data/Machines' DROP_IN_PRESERVE not working in the PreserveId field.
    • Fixed Data/Machines' CopyColor field doing nothing if the input isn't a ColoredObject; it now defaults to the color from its context tags.
    • Fixed Data/Machines' quality modifiers ignored for entries with CopyQuality.
    • Fixed Object.OutputAnvil ignoring its probe argument.
    • Fixed wild honey producing invalid item names when using tokens like DROP_IN_PRESERVE or %PRESERVED_DISPLAY_NAME in Data/Machines.
  • For maps:
    • Terrain sounds like footsteps now work in locations with the TreatAsOutdoors map property too.
    • Wallpaper and flooring can now be applied to custom map tiles if their tilesheet ID contains walls_and_floors.
    • The TouchAction ConditionalDoor tile property now correctly gets its LockedDoorMessage from the Back layer, instead of the Buildings layer.
    • Fixed bugs related to mods changing maps' tilesheet order.
    • Fixed tile index collisions. Vanilla logic that checks for a map tile index now consistently checks the tilesheet ID (case-insensitive), which eliminates the entire class of bugs related to tile index collisions (e.g. custom tilesheet tiles being unexpectedly treated as lights).
    • Fixed inconsistent map tilesheet sort order between platforms.
  • For NPCs and dialogue:
    • When loading a save, NPCs now warp to their current home in Data/Characters if the location they were in before saving no longer exists. (This also works for NPCs using a former name listed in the FormerCharacterNames field.)
    • When using the $y dialogue command, you can now escape asterisks (* is still a dialogue break, but ** is now shown as a single literal asterisk).
    • You can now override schedule/resort dialogue based on your relationship with the NPC. For example, rain.000_Married overrides rain.000 if you're married to that NPC. The possible relationships are Friendly, Dating, Engaged, Married, and Divorced.
    • Improved error-handling when an NPC can't find a suitable dialogue.
    • Fixed $action dialogue command not working after a #$b# break.
    • Fixed empty dialogue box shown if a command is between #$b# breaks.
    • Fixed NPCs no longer applying AcceptGift_<id> dialogue key.
    • Fixed Data/Characters appearance options not weighted correctly by default.
    • Fixed some friendship logic still checking for a Data/NPCGiftTastes entry, instead of the CanSocialize field in Data/Characters.
  • For pets:
    • The Data/Pets' Gifts list now supports 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.
    • Fixed a Data/Pets turtle gift ID to match what it actually gifts (Radish -> SeafoamPudding).
  • For desert festival makeover outfits:
    • You can now have gender-variant outfit parts within an outfit.
    • The Gender field now uses the three-part gender enum added in 1.6.
    • Every outfit part now has a descriptive Id.
  • For cooking/crafting recipes:
    • The format for a skill level condition is s <skill> <level> or <skill> <level>. Due to a quirk in how it was implemented, previously any string containing a skill name and level would work (like 10boopFarming); the format is now stricter and validated.
    • Fixed handling of qualified item IDs in the Data/CraftingRecipes output field.
    • Fixed skill-level-10 recipes being unlocked at level 1.
  • Removed unused assets and translations.
  • Wild seeds now choose their output when they're planted, so mods can predict their harvest.
  • Fixed support for gender-switch blocks in pass-out mail text.
  • Fixed crashes when player's daily luck is far outside the normal range. Daily luck is now clamped to reasonable values.
  • Fixed fish ponds ignoring the DrawShadow field in Data/Buildings.
  • Fixed StatIncrement fields in machine and farm animal data not using the specified ID.
  • Fixed AllowWakeUpWithoutBed map property not working consistently.
In Stardew Valley 1.6.15:
  • Improved building data:
    • Added a new NameForGeneralType field. This replaces the former hardcoded logic which tried to parse it from the Name.
  • Improved fish pond data:
    • You can now override a fish pond's base output chance via BaseMinProduceChance and BaseMaxProduceChance.
    • You can now prioritize output rules via the produced items' Precedence field.
    • The game no longer tries to auto-balance custom legendary fish in fish ponds. Mods can add their own output rule if they want to override the now-static default values.
  • Improved mannequin data:
    • Removed ID field (redundant with the entry key).
    • The CustomFields field is now null by default (like other assets).
  • Improved trinket data:
    • Removed the Id field (redundant with the entry key).
  • Changes for C# mods:
    • Marked more code public or virtual for mods.
    • The chest.sourceItem field is no longer null for fridge chests.
    • Added Game1.ResetGameStateOnTitleScreen() method, split from Game1.CleanupReturningToTitle(). These are specialized methods which most mods shouldn't call though.
    • Fixed NPC.CanSocializePerData not applying the given location.
    • Fixed farmhand.hasOrWillReceiveMail checking the main player's mailbox in some cases.
    • Fixed items' context tags not updated if their state changed (e.g. gold-quality items with the quality_none tag).
  • Robin's construction-started dialogues now have extra tokens for the non-lowercase building names.
  • Added optional argument to [GenderedText] and [SpouseGenderedText] tokens for non-binary text.
  • Added two variants of the locked-door message tile property: DoorUnlock_NotFriend_{npcName} (for a specific NPC) and DoorUnlock_NotFriend_Undefined (for non-binary NPCs).
  • The game's dynamic textures now set their Name field to simplify troubleshooting. These are shown in error messages like object-disposed errors.
  • The itemAboveHead event command now has an optional argument to set whether a 'you received' message is shown. This defaults to true (previously disabled for custom item IDs).
  • Removed some redundant platform-specific translations.
  • You can now customize the name/description for any item shown in the collection tab (via Strings/Objects:<item id>_CollectionsTabName and <item id>_CollectionsTabDescription).

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, onlyOnline: 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.

Chat commands API

See the updated docs at Modding:Chat Commands. The section below focuses on what's new in this version.

Chat commands are now modular and extensible in 1.6.9, with a new ChatCommands API to manage them.

For example, you can add a custom chat command like this:

string modId = this.ModManifest.UniqueId;
ChatCommands.Register($"{modId}_echo", this.Echo, name => $"{name} [message]: show the given message in the chat box.");

...

/// <inheritdoc cref="ChatCommandHandlerDelegate" />
private void Echo(string[] command, ChatBox chat)
{
    string message = ArgUtility.GetRemainder(command, 1);

    chat.addInfoMessage(message);
}

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(npc, -1, -1, null, null, Quests.Quest.type_socialize)
quest.OnNpcSocialized(npc)
quest.checkForQuestComplete(null, -1, -1, null, buildingType, Quests.Quest.type_building)
quest.OnBuildingExists(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, item, 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)

Two related changes:

  • Building quests are now represented by a new HaveBuildingQuest type which uses the above events.
  • The completionString field is now obsolete and unused; you should use the above methods instead.

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:

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);
IList<T>.RemoveWhere Remove all elements from an arbitrary list that match a condition. This is equivalent to the RemoveWhere methods added in 1.6, but works on any list type.
Layer.HasTileAt(…)
Map.HasTileAt(…)
Get whether there's a tile at a specific position on a map layer. This is equivalent to the pre-existing location.GetTileIndexAt(…) != -1.
Map.AddTileSheet(…) Add an arbitrary texture as a map tile sheet.
Map.RequireTileSheet(…) Get a map tilesheet by ID, and throw an exception if it doesn't exist.
string.ContainsIgnoreCase
string.EqualsIgnoreCase
string.IndexOfIgnoreCase
string.StartsWithIgnoreCase
string.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}.");

Utility fields & methods

  • 1.6.9 adds many new utility methods and fields. For example:
    member usage
    object dictionaries → GetValueOrDefault(…) 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.
    CraftingRecipe.TryParseLevelRequirement(…) Try to parse the skill level requirement from a raw cooking or crafting recipe data entry, if applicable.
    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 mailReceived → AddMailReceived) or normalize the capitalization (like itemnamed → ItemNamed).

    For example:

    if (Event.TryResolveCommandName("mailRECEIVED", out string commandName))
        ...; // commandName = AddMailReceived
    
    FarmAnimal.homeInterior The interior location for the animal's home building.
    FarmHouse.GetFridgePositionFromMap() Get the position of the map fridge by scanning the map tiles. (Most code should use the cached fridgePosition field instead.)
    FruitTree.GetCosmeticSeason() Get the season for which to show a fruit tree sprite (which isn't necessarily the season for which it produces fruit). This mainly lets mods override the logic.
    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.GetAddedMapOverrideTilesheetId(…) Get the dynamic ID assigned to a tilesheet added via location.ApplyMapOverride(…).
    GameLocation.removeMapTile(…) Remove a map tile on a given layer and position.
    GameLocation.setMapTile(…) Add or overwrite a map tile on a given layer and position. You can optionally set an Action tile property at the same time. This copies any previous tile properties automatically, unless you set copyProperties: false.

    This unifies the former setMapTile and setMapTileIndex methods. Note that it doesn't delete the tile if the index is set to -1; use removeMapTile to do that.

    GameLocation.hasTileAt(…) Get whether there's a tile at a specific position on a map layer. This is equivalent to the pre-existing GetTileIndexAt(…) != -1.
    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.
    Inventory.IsLocalPlayerInventory Whether this is the main inventory for Game1.player.
    Inventory.Reduce(…) Reduce an item's stack size by this amount in the inventory, and optionally deduct any remainder from other items with the same ID in the inventory. This clears any affected slots if they reach a stack size of zero.

    This is similar to player.reduceActiveItemByOne(), but works even if it's not the active item and allows reducing by an arbitrary amount. For example:

    Item item = ...;
    int countRemoved = Game1.player.Reduce(item, 5, reduceRemainderFromInventory: false);
    
    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.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).
    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)
       ...;
    
  • And improves many existing fields & methods. For example:
    member changes
    ArgUtility.UnsplitQuoteAware
    • You can now set an optional start index and count, which avoids needing to copy the array before unsplitting the desired arguments.
    • It now returns an empty string instead of null when given a null array, to match the other ArgUtility/samp> methods.
    GameLocation.getTileIndexAt(…)
    Layer.GetTileIndexAt(…)
    Map.GetTileIndexAt(…)
    Added a string tilesheetId = null argument, which checks for a tile index from a specific tilesheet if set.
    LocalizedContentManager.LoadStringReturnNullIfNotFound(…) Added optional substitution arguments and an optional localeFallback argument.
    MineShaft.IsGeneratedLevel(…)
    VolcanoDungeon.IsGeneratedLevel(…)
    Added overloads without the out parameters to simplify common logic. For example:
    if (MineShaft.IsGeneratedLevel(location))
       ...;
    
    ResourceClump.IsGreenRainBush() Get whether this is a special Green Rain bush (which looks like a giant weed).
    Utility.consolidateStacks(…) When a stack is removed, it now sets that index to null instead of removing it, so it's safe to use with player inventories.

    If your code doesn't expect null entries in the list, you can remove them after consolidating:

    Utility.consolidateStacks(itemList);
    itemList.RemoveWhere(slot => slot is null);
    
  • And removes various methods, including...
    member replacement
    GameLocation.refurbishMapPortion(…) use location.ApplyMapOverride instead.
    GameLocation.setMapTileIndex(…) Use location.setMapTile instead.

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))
   ...;
GameLocation.DefaultTileSheetId
MineShaft.MainTileSheetId
MovieTheater.MainTileSheetId
Submarine.MainTileSheetId
VolcanoDungeon.MainTileSheetId
The main tilesheet IDs for each location: default (untitled tile sheet), mines (mine), movie theater (movieTheater_tileSheet), submarine (submarine tiles), and volcano dungeon (dungeon) respectively.
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

See the updated docs at Modding:Machines. The section below focuses on what's new in this version.

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);

Other changes

  • For items:
    • Object.signText can now use game tokens. The new SignText property contains the parsed display text.
  • For trinkets:
    • trinket.OnDamageMonster methods now receive isBomb and isCriticalHit arguments.
    • For C# mods, added a new namespace and code docs, made more code public, renamed fields for clarity, etc.
    • Fixed Trinket.getOne() not copying trinker fields.
    • Fixed TrinketEffect.GenerateRandomStats() not updating the description correctly if valled again after its constructor.
  • UI changes:
    • Added [screen reader fields](https://stardewvalleywiki.com/Modding:Migrate_to_Stardew_Valley_1.6.9#Screen_reader_changes).
    • Added an ItemGrabMenu constructor to copy an existing menu (e.g. when reopening it).
    • Rewrote Game1.specialCurrencyDisplay. It can now handle and display multiple currencies at once, has constants and full code docs, and you no longer need to manually manage persistent display (e.g. while a menu is open).
    • The default controller navigation in menus already auto-detected ClickableComponent values in public List<T> and some Dictionary<TKey, TValue> fields. That now works with any subclass of ClickableComponent and any combination of dictionary key/value types too.
    • Fixed organize button in inventory UIs resetting various menu options.
  • Added a new Game1.GetPlayer method, which deprecates the old getFarmer and getFarmerMaybeOffline methods.
  • Added support for tokenized strings in Game1.multiplayer.broadcastGlobalMessage arguments.
  • In Data/Machines, OutputMethod C# methods now get the player interacting with the machine too (if any). Unfortunately this is a breaking change for C# mods which have custom OutputMethod methods.
  • Item data is now loaded earlier, so mods can use it when loading other assets (e.g. to check item context tags when generating location fish).
  • The Object.displayNameFormat field is now synced in multiplayer, to let mods create customized non-temporary items.
  • Changed signature of IClickableMenu.draw(SpriteBatch b, int red = -1, int green = -1, int blue = -1)</cide> so the arguments are no longer optional, which fixes the conflict with draw(SpriteBatch b).
  • You can now warp to a specific mine layout using the new forceLayout argument to Game1.enterMine or MineShaft.GetLevelName.
  • ItemStockInformation is now a class instead of a struct, which avoids counterintuitive behavior when editing shop stock.
  • LanguageSelectionMenu was rewritten to de-hardcode language support a bit.
  • ShopMenu's onPurchase callback now receives the stock info, and uses a documented delegate.
  • Quests and special orders can now optionally count wild monsters killed on the farm (default false). This is indicated in Data/Quests by a fourth argument in slay quests' objectives field, and in Data/SpecialOrders via an IgnoreFarmMonsters entry in slay objectives' Data field.
  • Fixed desert festival makeover not calling hat/clothing onEquip/onUnEquip methods.
  • Fixed location.playTerrainSound changing the sound based on the player's current location instead of the location it's called for.
  • Fixed Utility.tryToPlaceItem taking an Item argument instead of Object, despite throwing an exception when given a non-Object value.
  • Fixed farmers misrendering when drawn with a non-default scale.
  • Fixed some cases where you could call TriggerActionManager before it was fully initialized.
  • Fixed errors when calling some Bush methods on a destroyed or non-placed bush.
  • Fixed warning text when calling TriggerActionManager.RegisterAction with a duplicate name incorrectly saying the newer value will be used.
  • Added more code docs.
  • Made more code public for mods.
  • Removed the last net field implicit conversion operators (for NetBool, NetInt, and NetString).
  • Removed unused types, fields/properties, and methods.
  • Tweaked powers tab code so mods can get the power ID for a slot.

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 (Green) 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
Baryte
(in 1.6.15)
Baryt Barit
Carp Surprise
(in 1.6.15)
Ponty meglepetés Pontymeglepetés
Cave Jelly Barlangi medúza Barlangi zselé
Charcoal Kiln
(in 1.6.15)
Faszén kemence Faszenes kemence
Chewing Stick
(in 1.6.15)
Rágó bot Rágóbot
Chicken Statue
(in 1.6.15)
Csirke szobor Csirkeszobor
Dehydrator
(in 1.6.15)
Szárító Aszaló
Deluxe Worm Bin
(in 1.6.15)
Luxus gilisztás láda Luxus gilisztásláda
Dinosaur Egg
(in 1.6.15)
Dinoszaurusz tojás Dinoszaurusztojás
Dried Fruit (base item)
(in 1.6.15)
Szárított Aszalt
Dried Fruit (collections tab)
(in 1.6.15)
Szárított gyümölcs Aszalt gyümölcs
Dried Fruit (flavored)
(in 1.6.15)
Szárított <item name> Aszalt <item name>
Eggplant Parmesan
(in 1.6.15)
Padlizsán parmezán Padlizsános parmezán
Farm Computer
(in 1.6.15)
Farm számítógép Farm-számítógép
Fiddlehead Fern
(in 1.6.15)
Hegedűfej páfrány Hegedűfejpáfrány
Fiddlehead Risotto
(in 1.6.15)
Hegedűfej rizottó Hegedűfejes rizottó
Fire Opal
(in 1.6.15)
Tűz opál Tűzopál
Fire Quartz
(in 1.6.15)
Tűz kvarc Tűzkvarc
Fish Taco
(in 1.6.15)
Hal taco Haltaco
Glass Shards
(in 1.6.15)
Üveg töredékek Üvegtöredékek
Golden Relic
(in 1.6.15)
Arany ereklye Aranyereklye
Iridium Sprinkler
(in 1.6.15)
Irídium öntöző Irídiumöntöző
Preserves Jar
(in 1.6.15)
Tartósító tégely Tartósítótégely
Lobster Bisque
(in 1.6.15)
Homár krémleves Homárkrémleves
Lucky Ring
(in 1.6.15)
Szerencsés gyűrű Szerencsegyűrű
Maki Roll
(in 1.6.15)
Maki tekercs Maki-tekercs
Mega Bomb
(in 1.6.15)
Mega bomba Megabomba
Prize Ticket
(in 1.6.15)
Jutalom jegy Jutalomjegy
Rainbow Shell
(in 1.6.15)
Szivárvány kagyló Szivárványos kagyló
Rhubarb Pie
(in 1.6.15)
Rebarbara pite Rebarbarás pite
Rice Pudding
(in 1.6.15)
Rizspuding Tejberizs
River Jelly Folyami medúza Folyami zselé
Salmon Dinner
(in 1.6.15)
Lazac vacsora Lazacvacsora
Sashimi
(in 1.6.15)
Sashimi Szasimi
Seafoam Pudding
(in 1.6.15)
Tengeri hab puding Tengerihab-puding
Sea Jelly Tengeri medúza Tengeri zselé
Shrimp Cocktail
(in 1.6.15)
Garnéla koktél Garnélakoktél
Skeletal Hand
(in 1.6.15)
Csontváz kéz Csontvázkéz
Sonar Bobber
(in 1.6.15)
Szonár úszó Szonárúszó
Squid Ink
(in 1.6.15)
Tintahal tinta Tintahaltinta
Squid Ink Ravioli
(in 1.6.15)
Tintahal tintás ravioli Tintahaltintás ravioli
Star Shards
(in 1.6.15)
Csillagtöredékek Csillagtöredék
Stepping Stone Path
(in 1.6.15)
Lépcsős kőút Lépőköves út
Straw Floor
(in 1.6.15)
Szalma padló Szalmapadló
Sweet Gem Berry
(in 1.6.15)
Édes drágakő bogyó Édes drágakőbogyó
Trap Bobber
(in 1.6.15)
Csapda úszó Csapdaúszó
Tree Fertilizer
(in 1.6.15)
Fa trágya Fatrágya
Truffle Oil
(in 1.6.15)
Szarvasgomba olaj Szarvasgombaolaj
Warrior Ring
(in 1.6.15)
Harcos gyűrű Harci gyűrű
Worm Bin
(in 1.6.15)
Gilisztás láda Gilisztásláda
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 Большой красный тростник Большая красная трость
Blobfish
(in 1.6.15)
Рыба-пузырь Рыба-капля
Blue Slime Egg
(in 1.6.15)
Синее яйцо слайма Яйцо синего слайма
Bok Choy Seeds Семена бок-чой Семена бок-чоя
Chicken Decal Наклейка «Курица» Наклейка «Курицы»
Crimsonfish Кримзонфиш Багрянник
Crispy Bass
(in 1.6.15)
Окунь с хруст. корочкой Окунь с хрустящей корочкой
Dried Fruit <item name> (засушено) Сушен. <item name>
Ревень (засушено) Сушеный ревень
Дыня (засушено) Сушеные кусочки дыни
Сморчок (засушено) Сушеные сморчки
Черника (засушено) Сушеная черника
Жгучий перец (засушено) Сушеные жгучие перцы
Карамбола (засушено) Сушеные кусочки карамболы
Лисичка (засушено) Сушеные лисички
Клюква (засушено) Сушеная клюква
Морошка (засушено) Сушеная морошка
Острая ягода (засушено) Сушеные острые ягоды
Клубника (засушено) Сушеная клубника
Шампиньон (засушено) Сушеные шампиньоны
Дикая слива (засушено) Сушеные дикие сливы
Ежевика (засушено) Сушеная ежевика
Кристальный фрукт (засушено) Сушеные кристальные фрукты
Фиолетовый гриб (засушено) Сушеные фиолетовые грибы
Древний плод (засушено) Сушеные древние плоды
Яблоко (засушено) Сушеные яблоки
Абрикос (засушено) Сушеные абрикосы
Апельсин (засушено) Сушеные апельсины
Персик (засушено) Сушеные персики
Гранат (засушено) Сушеные гранаты
Вишня (засушено) Сушеная вишня
Ананас (засушено) Сушеные ананасы
Манго (засушено) Сушеные манго
Магмовый гриб (засушено) Сушеные магмовые грибы
Фрукт Ки (засушено) Сушеные фрукты Ки
Кокос (засушено) Сушеные кокосы
Плод кактуса (засушено) Сушеные плоды кактуса
Банан (засушено) Сушеные бананы
Снегодыня (засушено) Сушеные кусочки снегодыни
Far Away Stone Камень издалека Камень из далеких земель
Fish Taco Рыбный тако Рыбное тако
Flounder
(in 1.6.15)
Мелкая камбала Камбала
Glacierfish Jr. Ледорыб Мл. Ледорыб-младший
Green Canes Зеленый тростник Зеленые тросточки
Halibut
(in 1.6.15)
Камбала Палтус
Honey Мед (Мак) Маковый мед
Мед (Подсолнух) Подсолнуховый мед
Мед (Тюльпан) Тюльпановый мед
Мед (Летний блестник) Мед из летнего блестника
Мед (Сказочная роза) Мед из сказочной розы
Мед (Синий яркоцвет) Яркоцветовый мед
Green Slime Egg
(in 1.6.15)
Зеленое яйцо слайма Яйцо зеленого слайма
Immunity Band
(in 1.6.15)
Кольцо стойкости Перстень преодоления
Iridium Band
(in 1.6.15)
Иридиевый обод Иридиевый перстень
Jelly Джем (Ревень) Джем из ревеня
Джем (Дыня) Дынный джем
Джем (Черника) Черничный джем
Джем (Жгучий перец) Джем из жгучего перца
Джем (Карамбола) Джем из карамболы
Джем (Клюква) Клюквенный джем
Джем (Морошка) Джем из морошки
Джем (Острая ягода) Джем из острой ягоды
Джем (Виноград) Виноградный джем
Джем (Клубника) Клубничный джем
Джем (Дикая слива) Джем из дикой сливы
Джем (Ежевика) Ежевичный джем
Джем (Кристальный фрукт) Джем из кристального фрукта
Джем (Древний плод) Джем из древнего плода
Джем (Яблоко) Яблочный джем
Джем (Абрикос) Абрикосовый джем
Джем (Апельсин) Апельсиновый джем
Джем (Персик) Персиковый джем
Джем (Гранат) Гранатовый джем
Джем (Вишня) Вишневый джем
Джем (Ананас) Ананасовый джем
Джем (Манго) Манговый джем
Джем (Фрукт Ки) Джем из фрукта Ки
Джем (Кокос) Кокосовый джем
Джем (Плод кактуса) Кактусовый джем
Джем (Банан) Банановый джем
Джем (Снегодыня) Джем из снегодыни
Juice Сок (Амарант) Амарантовый сок
Сок (Артишок) Артишоковый сок
Сок (Свекла) Свекольный сок
Сок (Бок-чой) Сок бок-чоя
Сок (Брокколи) Сок брокколи
Сок (Морковь) Морковный сок
Сок (Цветная) Сок цветной капусты
Сок (Кукуруза) Кукурузный сок
Сок (Баклажан) Баклажановый сок
Сок (Съедобный папоротник) Папоротниковый сок
Сок (Чеснок) Чесночный сок
Сок (Зеленая фасоль) Сок зеленой фасоли
Сок (Кудрявая капуста) Сок кудрявой капусты
Сок (Пастернак) Сок пастернака
Сок (Картофель) Картофельный сок
Сок (Тыква) Тыквенный сок
Сок (Редис) Сок редиса
Сок (Красная капуста) Сок красной капусты
Сок (Сквош) Сок сквоша
Сок (Корень таро) Сок корня таро
Сок (Помидор) Томатный сок
Сок (Неочищенный рис) Рисовый сок
Сок (Батат) Сок батата
Сок (Пещерная морковка) Сок пещерной морковки
Сок (Одуванчик) Сок одуванчика
Сок (Имбирь) Имбирный сок
Сок (Фундук) Ореховый сок
Сок (Лук-порей) Сок лука-порея
Сок (Лук-батун) Сок лука-батуна
Сок (Снежный батат) Сок снежного батата
Сок (Дикий хрен) Сок дикого хрена
Сок (Зимний корень) Сок зимнего корня
Lionfish
(in 1.6.15)
Морской ёрш Крылатка
Mini-Shipping Bin Мини-ящик для отгрузок Мини-ящик для отгрузки
Mixed Cane Смешанный тростник Смешанные тросточки
Mystic Tree Seed Семечко таинственного дерева Семя таинственного дерева
Oil of Garlic Масло Чеснока Чесночное масло
Pickles Маринованные консервы: <item name> Маринов. <item name>
Маринованные консервы: Дикий хрен Маринованный дикий хрен
Маринованные консервы: Зеленая фасоль Маринованная зеленая фасоль
Маринованные консервы: Цветная капуста Квашеная цветная капуста
Маринованные консервы: Картофель Маринованный картофель
Маринованные консервы: Лук-порей Маринованный лук-порей
Маринованные консервы: Одуванчик Маринованный одуванчик
Маринованные консервы: Чеснок Маринованный чеснок
Маринованные консервы: Пастернак Маринованный пастернак
Маринованные консервы: Кудрявая капуста Квашеная кудрявая капуста
Маринованные консервы: Помидор Маринованные помидоры
Маринованные консервы: Сморчок Маринованные сморчки
Маринованные консервы: Съедобный папоротник Маринованный папоротник
Маринованные консервы: Пшеница Квашеная пшеница
Маринованные консервы: Редис Маринованный редис
Маринованные консервы: Красная капуста Квашеная красная капуста
Маринованные консервы: Кукуруза Маринованная кукуруза
Маринованные консервы: Неочищенный рис Квашеный рис
Маринованные консервы: Баклажан Маринованные баклажаны
Маринованные консервы: Артишок Маринованные артишоки
Маринованные консервы: Тыква Маринованная тыква
Маринованные консервы: Бок-чой Маринованный бок-чой
Маринованные консервы: Батат Маринованный батат
Маринованные консервы: Лисичка Маринованные лисички
Маринованные консервы: Свекла Маринованная свекла
Маринованные консервы: Амарант Маринованный амарант
Маринованные консервы: Хмель Маринованный хмель
Маринованные консервы: Лук-батун Маринованный лук-батун
Маринованные консервы: Шампиньон Маринованные шампиньоны
Маринованные консервы: Фундук Маринованный фундук
Маринованные консервы: Зимний корень Маринованный зимний корень
Маринованные консервы: Снежный батат Маринованный снежный батат
Маринованные консервы: Фиолетовый гриб Маринованные фиолетовые грибы
Маринованные консервы: Пещерная морковка Маринованная пещерная морковка
Маринованные консервы: Чайные листья Маринованные чайные листья
Маринованные консервы: Имбирь Маринованный имбирь
Маринованные консервы: Корень таро Маринованный корень таро
Маринованные консервы: Магмовый гриб Маринованные магмовые грибы
Маринованные консервы: Брокколи Маринованная брокколи
Маринованные консервы: Морковь Маринованная морковь
Маринованные консервы: Сквош Маринованный сквош
Pufferfish
(in 1.6.15)
Рыба-еж Иглобрюх
Purple Slime Egg
(in 1.6.15)
Фиолетовое яйцо слайма Яйцо фиолетового слайма
Qi Bean
(in 1.6.15)
Семя Ки Боб Ки
Qi Gem Драгоценный камень Ки Самоцвет Ки
Red Slime Egg
(in 1.6.15)
Красное яйцо слайма Яйцо красного слайма
Slime Crate
(in 1.6.15)
Ящик слайма Ящик для слайма
Smoked Fish <item name> (закопчено) Копченый <item name>
Рыба-еж (закопчено) Копченая рыба-еж (in 1.6.9)

Копченый иглобрюх (in 1.6.15)

Сардина (закопчено) Копченая сардина
Радужная форель (закопчено) Копченая радужная форель
Щука (закопчено) Копченая щука
Барабулька (закопчено) Копченая барабулька
Сельдь (закопчено) Копченая сельдь
Рыба-камень (закопчено) Копченая рыба-камень
Кримзонфиш (закопчено) Копченый Багрянник
Морской черт (закопчено) Копченый Морской черт
Легенда (закопчено) Копченая Легенда
Мелкая камбала (закопчено) Копченая мелкая камбала (in 1.6.9)

Копченая камбала (in 1.6.15)

Карп-мутант (закопчено) Копченый Карп-мутант
Тигровая форель (закопчено) Копченая тигровая форель
Тиляпия (закопчено) Копченая тиляпия
Дорада (закопчено) Копченая дорада
Камбала (закопчено) Копченая камбала (in 1.6.9)

Копченый палтус (in 1.6.15)

Сердцевидка (закопчено) Копченая сердцевидка
Мидия (закопчено) Копченая мидия
Креветка (закопчено) Копченая креветка
Улитка (закопчено) Копченая улитка
Литорина (закопчено) Копченая литорина
Устрица (закопчено) Копченая устрица
Ледорыб (закопчено) Копченый Ледорыб
Жуть-рыба (закопчено) Копченая жуть-рыба
Рыба-пузырь (закопчено) Копченая рыба-пузырь
Сын Кримзонфиш (закопчено) Копченый Малек Багрянника
Мисс Морской черт (закопчено) Копченая Мисс Морской черт
Легенда II (закопчено) Копченая Легенда II
Радиоактивный карп (закопчено) Копченый Радиоактивный карп
Ледорыб Мл. (закопчено) Копченый Ледорыб-младший
Морской ёрш (закопчено) Копченый морской ёрш (in 1.6.9)

Копченая крылатка (in 1.6.15)

Son of Crimsonfish Сын Кримзонфиш Малек Багрянника
Statue of Endless Fortune Статуя Вечной Удачи Статуя бесконечной удачи
Stonefish Камень-рыба Рыба-камень
Sunfish Санфиш Солнечник
Sweet Gem Berry Сладкая ягодка Сладкая самоцветинка
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 Черная слива Дикая слива
Wine Вино (Ревень) Вино из ревеня
Вино (Дыня) Вино из дыни
Вино (Черника) Черничное вино
Вино (Жгучий перец) Вино из жгучего перца
Вино (Карамбола) Вино из карамболы
Вино (Клюква) Клюквенное вино
Вино (Морошка) Вино из морошки
Вино (Острая ягода) Вино из острой ягоды
Вино (Виноград) Виноградное вино
Вино (Клубника) Клубничное вино
Вино (Дикая слива) Вино из дикой сливы
Вино (Ежевика) Ежевичное вино
Вино (Кристальный фрукт) Вино из кристального фрукта
Вино (Древний плод) Вино из древнего плода
Вино (Яблоко) Яблочное вино
Вино (Абрикос) Абрикосовое вино
Вино (Апельсин) Апельсиновое вино
Вино (Персик) Персиковое вино
Вино (Гранат) Гранатовое вино
Вино (Вишня) Вишневое вино
Вино (Ананас) Ананасовое вино
Вино (Манго) Манговое вино
Вино (Фрукт Ки) Вино из фрукта Ки
Вино (Кокос) Кокосовое вино
Вино (Плод кактуса) Кактусовое вино
Вино (Банан) Банановое вино
Вино (Снегодыня) Вино из снегодыни
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
Aged Roe (unflavored) Olgun Yumurta Olgun Balık Yumurtası
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ı
Mini-Forge Mini Dökümhane Mini Demir Ocağı
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ı
Roe Yavru <item name> Yumurtası <item name> Yumurtası
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
Cat Tree
(in 1.6.15)
Macskás fa Macskabútor
Chicken Statue
(in 1.6.15)
Csirke szobor Csirkeszobor
Dark Cat Tree
(in 1.6.15)
Sötét macskás fa Sötét macskabútor
Doghouse
(in 1.6.15)
Kutyaház Kutyaól
Dark Doghouse
(in 1.6.15)
Sötét kutyaház Sötét kutyaól
Floor TV
(in 1.6.15)
Padló tévé Padlótévé
Midnight Beach Bed Ágy Éjféli strand ágy
Midnight Beach Double Bed Dupla ágy Éjféli strand dupla ágy
Spirits Table
(in 1.6.15)
Italos asztal Italosasztal
Wine Table
(in 1.6.15)
Borozó asztal Borozóasztal
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 Элитное дерево Изысканное дерево
Dining Chair
(in 1.6.15)
Стул к обеденному столу Обеденный стул
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 Коврик «Ретро» Ковер «Ретро»
Rune Rug
(in 1.6.15)
Рунный коврик Рунический коврик
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ütü 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
Green Serpent Statue Yeşil Kertenkele Heykeli Yeşil Yılan Heykeli
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ı
Purple Serpent Statue Mor Kertenkele Heykeli Mor Yılan Heykeli
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üşü
'The Brave Little Sapling' 'Cesur Fidan' 'Küçük Cesur Fidan'
Tree of the Winter Star Kışyıldızı Ağacı Kış Yıldızı Ağacı
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 Канотье Капотен
Laurel Wreath Crown Лавровая корона Лавровый венок
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ı
Leprechaun Hat Cüce Şapkası Cüce Cin Şapkası

Movie concessions

Hungarian
item old name new name
Cappuccino Mousse Cake
(in 1.6.15)
Kapuccsinó habos torta Kapucsínó habos torta

Pants

German
item old name new name
Island Bikini Island Bikini Insel Bikini
Prismatic Pants Prismatic Pants Prisma Hose
Japanese
item old name new name
Messy Shorts
(in 1.6.15)
散らかったシャツ 散らかったパンツ
Turkish
item old name new name
Trimmed Lucky Purple Shorts İşlemeli Mor Şort İşlemeli Şanslı Mor Şort

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ütü 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)
Milk Pail
(in 1.6.15)
Tejes vödör Tejesvödör
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 ギャラクシーハンマー
Hungarian
item old name new name
Golden Scythe
(in 1.6.15)
Arany kasza Aranykasza
Turkish
item old name new name
Elliott's Pencil Elliot'ın Kalemi Elliott'ın Kalemi

Animals

Russian
animal old name new name
Blue Chicken Голубая курица Синяя курица
Golden Chicken Золотой цыпленок Золотая курица

Buildings

Hungarian
building old name new name
Pet Bowl
(in 1.6.15)
Háziállat tálka Háziállattálka

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ı

Movies

Turkish
movie old name new name
The Brave Little Sapling Cesur Fidan Küçük Cesur Fidan

NPCs

Russian
NPC old name new name
Professor Snail
(in 1.6.15)
Проф. Улиткин Проф. Улиткинс

XNB impact

Overview

This section provides a summary of the XNB files which changed in Stardew Valley 1.6.9. This doesn't include new files (since they won't impact existing mods), or text changes in non-English files.

XNB mods are disproportionately affected, since...

  1. they replace the entire file;
  2. they're loaded through the MonoGame content pipeline which is less tolerant of format changes;
  3. they don't benefit from the compatibility rewrites Content Patcher provides for its content packs.

Content Patcher packs are typically unaffected (and Content Patcher will try to rewrite content packs automatically). However if a content pack replaces an entire asset instead of editing, it's more likely to be affected like an XNB mod.

Changed assets

TODO

Removed unused assets

Stardew Valley 1.6.9 deletes assets which weren't used by the game. Mods usually aren't affected by this.

Removed assets:

  • LooseSprites/buildingPlacementTiles
  • LooseSprites/DialogBoxGreen
  • LooseSprites/hoverBox
  • LooseSprites/robinAtWork
  • LooseSprites/skillTitles
  • Maps/cavedarker
  • Maps/FarmhouseTiles
  • Maps/GreenhouseInterior
  • Maps/spring_BusStop
  • Maps/TownIndoors
  • Maps/WizardHouseTiles
  • Maps/WoodBuildings
  • TerrainFeatures/BuffsIcons

See also