Changes

Jump to navigation Jump to search
+ initial redacted preview
←[[Modding:Index|Index]]

<div style="border: 1px solid gray; border-left: 1em solid gray; padding: 0.5em 1em; border-radius: 5px;">
This page describes the upcoming Stardew Valley 1.4, and may change before release.<br />
Some text is redacted because it spoils content that hasn't been publicly announced yet.
</div>

'''This page is for modders. Players: see [[Modding:SMAPI compatibility]] instead.'''

This page explains how to update your mods for compatibility with Stardew Valley 1.4, which will release in May/June 2019. See also [[Modding:Migrate to SMAPI 3.0]].

__TOC__
==SMAPI==
===Possible breaking changes===
Notable changes which may break SMAPI mods:

<ul>
<li>Various method signatures have changed, notably <tt>Item.canStackWith</tt>. In most cases just recompiling with fix those. (Don't forget to update the <tt>manifest.json</tt> version!)</li>
<li>Field/method changes:

{| class="wikitable"
|-
! class
! field/method
! changes
|-
| <tt>Farm</tt>
| <tt>shippingBin</tt>
| This field no longer exists. Use <tt>farm.getShippingBin(Game1.player)</tt> instead, which will return the global or personal shipping bin depending on the host settings.
|-
| <tt>Farm</tt>
| <tt>shipItem(Item item)</tt>
| Removed; add directly to <tt>farm.getShippingBin(Game1.player)</tt> instead.
|-
| <tt>Farmer</tt>
| <tt>money</tt>
| Replaced by <tt>Money</tt>, which handles shared/individual wallets for you.
|-
| <tt>Game1</tt>
| <tt>itemsToShip</tt>
| Removed; see <tt>farm.getShippingBin(Game1.player)</tt> or <tt>Game1.player.displayedShippedItems</tt> instead.
|-
| <tt>Game1</tt>
| <tt>getCharacterFromName(string name, bool mustBeVillager)</tt>
| The default for <tt>mustBeVillager</tt> changed from false to true, and added an overload to get a specific NPC type like <tt>Game1.getCharacterFromName<Pet>("petName", mustBeVillager: false)</tt>.
|-
| <tt>Pet</tt>
| <tt>wasPetToday</tt>
| Replaced by <tt>lastPetDay</tt>, which is the <tt>Game1.Date.TotalDays</tt> value when it was last pet.
|}</li>
</ul>

===Other notable changes===
These are changes which might be of interest to modders, but shouldn't break any mods.

* Added ██████████.
* Added a <tt>GameLocation</tt> method to patch the location's map from another map file, and a method to force reload the map.
* Added debug commands: <tt>addQuartz</tt>, <tt>addhour</tt>, <tt>addminute</tt>, <tt>allMailRead</tt>, <tt>animationPreviewTool</tt>/<tt>apt</tt>, <tt>changeWallet</tt> + <tt>mergeWallets</tt> + <tt>separateWallets</tt>, <tt>clear</tt>, <tt>██████████</tt>, <tt>██████████</tt>, <tt>██████████</tt>, <tt>██████████</tt>, <tt>██████████</tt> / <tt>██████████</tt>, <tt>██████████</tt> / <tt>██████████</tt>, <tt>██████████</tt>, <tt>██████████</tt>, <tt>junimogoodbye</tt>, <tt>██████████</tt>, <tt>██████████</tt>, <tt>runmacro</tt>, <tt>██████████</tt>, <tt>██████████</tt> / <tt>trlt</tt>, <tt>trashCan</tt>. Removed <tt>emote</tt> and <tt>fillWithPlacedObject</tt>.
* Added option for invisible NPCs gone from the game temporarily (<tt>NPC.IsInvisible</tt> and <tt>NPC.daysUntilNotInvisible</tt>).
* Added option for temporarily invisible/passable placed items (<tt>Object.isTemporarilyInvisible</tt>).
* Added <tt>farmer.isUnclaimedFarmhand</tt> to distinguish a farmhand that hasn't been customised by a player yet.
* Projectiles can now have a max travel distance.

==Content Patcher==
===Possible breaking changes===
Notable changes which may break Content Patcher packs (and XNB mods):

* The <tt>DivorceBook</tt> and <tt>MayorFridge</tt> tile actions now only work in Lewis' house.

===Other notable changes===
These are changes which might be of interest to modders, but shouldn't break any mods.

* The display name field is now used in English for the <tt>Data/BigCraftablesInformation</tt> and <tt>Data/ObjectInformation</tt> assets.
* Added various tilesheets for new content.
* Added ██████████. ██████████.
* Added an animation preview tool. This lets you preview player animations for your current character, optionally changing the hair/shirt/pants/gender. You can access it by entering <tt>debug animationPreviewTool</tt> or <tt>debug apt</tt> in the SMAPI console.
* Added ██████████.
* Added schedule commands: <tt>MAIL</tt>, <tt>no_schedule</tt>.
* Event command changes:
** Added commands: <tt>bgColor</tt>, <tt>██████████</tt>, <tt>makeInvisible</tt>, <tt>██████████</tt>, <tt>██████████</tt>, <tt>money</tt>, <tt>██████████</tt> <tt>██████████</tt>, <tt>██████████</tt>. Added new event reward <tt>██████████</tt>.
** <tt>itemAboveHead</tt> now also accepts <tt>jukebox</tt> and <tt>samBoombox</tt> arguments argument.
** ██████████.

===Update impact===
Here's a summary of the XNB files which changed in Stardew Valley 1.4.

Notes:
* This ignores text changes in non-English files for simplicity.
* New content files aren't listed, since they won't impact existing mods.
* XNB mods are disproportionately affected, since they replace the entire file. Content Patcher packs are typically unaffected unless they replace the entire file (in which case see the XNB mod column).
* I don't know what changed in affected map files (if anything), only that the files are different.

Shorthand:
* 'broken' means removing new content or potentially important changes, or potentially causing significant display bugs. This is a broad category — the game may work fine without it or crash, depending how it uses that specific content.
* 'mostly unaffected' means mods will only be affected if they edit specific entries or fields.
* Blank means zero expected impact.

██████████

[[Category:Modding]]
translators
8,439

edits

Navigation menu