Line 8: |
Line 8: |
| '''This page is for modders. Players: see [[Modding:Mod compatibility]] instead.''' | | '''This page is for modders. Players: see [[Modding:Mod 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]]. | + | This page explains how to update your mods for compatibility with Stardew Valley 1.4, which will release in 2019. See also [[Modding:Migrate to SMAPI 3.0]]. |
| | | |
| __TOC__ | | __TOC__ |
Line 90: |
Line 90: |
| * Added ██████████. | | * 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 a <tt>GameLocation</tt> method to patch the location's map from another map file, and a method to force reload the map. |
| + | * Added utility methods like <tt>Utility.CalculateMinutesUntilMorning</tt>, <tt>CalculateMinutesUntilMorning</tt>, <tt>ExpandRectangle</tt>, and <tt>GetOppositeFacingDirection</tt>. |
| * Added audio context to methods like <tt>Game1.changeMusicTrack</tt>. If the context changes, any audio playing for the current context will end automatically. | | * Added audio context to methods like <tt>Game1.changeMusicTrack</tt>. If the context changes, any audio playing for the current context will end automatically. |
| * Added light context (similar to previous). | | * Added light context (similar to previous). |
− | * Added two new stats to <tt>Game1.stats</tt>: <tt>exMemoriesWiped</tt> and <tt>childrednTurnedToDoves</tt>. | + | * Added two new stats to <tt>Game1.stats</tt>: <tt>exMemoriesWiped</tt> and <tt>childrenTurnedToDoves</tt>. |
− | * Added debug commands: <tt>addQuartz</tt>, <tt>addhour</tt>, <tt>addminute</tt>, <tt>allMailRead</tt>, <tt>animationPreviewTool</tt>/<tt>apt</tt>, <tt>broadcastMail</tt>, <tt>buff</tt> + <tt>clearBuffs</tt>, <tt>changeWallet</tt> + <tt>mergeWallets</tt> + <tt>separateWallets</tt>, <tt>clear</tt>, <tt>██████████</tt>, <tt>collectquest</tt>, <tt>██████████</tt>, <tt>createDebris</tt>, <tt>██████████</tt>, <tt>██████████</tt>, <tt>██████████</tt> / <tt>██████████</tt>, <tt>festival</tt>, <tt>frameByFrame</tt> / <tt>fbf</tt>, <tt>growWildTrees</tt>, <tt>inputSim</tt> / <tt>inputsim</tt> / <tt>is</tt>, <tt>██████████</tt> / <tt>██████████</tt>, <tt>██████████</tt>, <tt>██████████</tt>, <tt>junimogoodbye</tt>, <tt>██████████</tt>, <tt>██████████</tt>, <t>pauseTime</tt>, <tt>██████████</tt> / <tt>██████████</tt>, <tt>sleep</tt> / <tt>newDay</tt> / <tt>nd</tt>, <tt>██████████</tt>, <tt>██████████</tt> / <tt>██████████</tt>, <tt>testWordWrap</tt>, <tt>trashCan</tt>, and <tt>warpToCharacter</tt> / <tt>wtc</tt>. Removed <tt>emote</tt> and <tt>fillWithPlacedObject</tt>. | + | * Added debug commands: <tt>addQuartz</tt>, <tt>addhour</tt>, <tt>addminute</tt>, <tt>allMailRead</tt>, <tt>animationPreviewTool</tt>/<tt>apt</tt>, <tt>broadcastMail</tt>, <tt>buff</tt> + <tt>clearBuffs</tt>, <tt>changeWallet</tt> + <tt>mergeWallets</tt> + <tt>separateWallets</tt>, <tt>clear</tt>, <tt>██████████</tt>, <tt>collectquest</tt>, <tt>██████████</tt>, <tt>createDebris</tt>, <tt>██████████</tt>, <tt>██████████</tt>, <tt>██████████</tt>, <tt>██████████</tt>, <tt>██████████</tt>, <tt>festival</tt>, <tt>frameByFrame</tt> / <tt>fbf</tt>, <tt>growWildTrees</tt>, <tt>inputSim</tt> / <tt>inputsim</tt> / <tt>is</tt>, <tt>kick</tt>, <tt>██████████</tt> / <tt>██████████</tt>, <tt>██████████</tt>, <tt>██████████</tt>, <tt>junimogoodbye</tt>, <tt>██████████</tt>, <tt>██████████</tt>, <tt>pauseTime</tt>, <tt>██████████</tt> / <tt>██████████</tt>, <tt>sleep</tt> / <tt>newDay</tt> / <tt>nd</tt>, <tt>██████████</tt> + <tt>██████████</tt>, <tt>██████████</tt>, <tt>██████████</tt> / <tt>██████████</tt>, <tt>testWordWrap</tt>, <tt>trashCan</tt>, <tt>warpToCharacter</tt> / <tt>wtc</tt>, and <tt>warpToPlayer</tt> / <tt>warptoplayer</tt> / <tt>wtp</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 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 option for temporarily invisible/passable placed items (<tt>Object.isTemporarilyInvisible</tt>). |
Line 230: |
Line 231: |
| | ██████████ | | | ██████████ |
| | '''✘ broken''' | | | '''✘ broken''' |
| + | | ✓ mostly unaffected |
| + | |- |
| + | | <tt>Characters/Penny</tt> |
| + | | ██████████ |
| + | | ✘ will remove changes |
| | ✓ mostly unaffected | | | ✓ mostly unaffected |
| |- | | |- |
Line 259: |
Line 265: |
| | <tt>Characters/Dialogue/Abigail</tt> | | | <tt>Characters/Dialogue/Abigail</tt> |
| | ██████████ | | | ██████████ |
− | | ✘ will remove changes | + | | '''✘ broken''' |
| | ✓ mostly unaffected | | | ✓ mostly unaffected |
| + | |- |
| + | | <tt>Characters/Dialogue/Alex</tt> |
| + | | ██████████ |
| + | | '''✘ broken''' |
| + | | |
| |- | | |- |
| | <tt>Characters/Dialogue/Elliott</tt> | | | <tt>Characters/Dialogue/Elliott</tt> |
Line 266: |
Line 277: |
| | '''✘ broken''' | | | '''✘ broken''' |
| | ✓ mostly unaffected | | | ✓ mostly unaffected |
| + | |- |
| + | | <tt>Characters/Dialogue/Emily</tt> |
| + | | ██████████ |
| + | | '''✘ broken''' |
| + | | |
| + | |- |
| + | | <tt>Characters/Dialogue/Haley</tt> |
| + | | ██████████ |
| + | | '''✘ broken''' |
| + | | |
| + | |- |
| + | | <tt>Characters/Dialogue/Harvey</tt> |
| + | | ██████████ |
| + | | '''✘ broken''' |
| + | | |
| |- | | |- |
| | <tt>Characters/Dialogue/Jodi</tt> | | | <tt>Characters/Dialogue/Jodi</tt> |
Line 281: |
Line 307: |
| | '''✘ broken''' | | | '''✘ broken''' |
| | | | | |
| + | |- |
| + | | <tt>Characters/Dialogue/Leah</tt> |
| + | | ██████████ |
| + | | '''✘ broken''' |
| + | | ✓ mostly unaffected |
| |- | | |- |
| | <tt>Characters/Dialogue/Linus</tt> | | | <tt>Characters/Dialogue/Linus</tt> |
Line 293: |
Line 324: |
| |- | | |- |
| | <tt>Characters/Dialogue/MarriageDialogueAlex</tt> | | | <tt>Characters/Dialogue/MarriageDialogueAlex</tt> |
| + | | ██████████ |
| + | | ✘ will remove changes |
| + | | ✓ mostly unaffected |
| + | |- |
| + | | <tt>Characters/Dialogue/MarriageDialoguePenny</tt> |
| | ██████████ | | | ██████████ |
| | ✘ will remove changes | | | ✘ will remove changes |
Line 301: |
Line 337: |
| | ✘ will remove changes | | | ✘ will remove changes |
| | ✓ mostly unaffected | | | ✓ mostly unaffected |
| + | |- |
| + | | <tt>Characters/Dialogue/Maru</tt> |
| + | | ██████████ |
| + | | '''✘ broken''' |
| + | | |
| + | |- |
| + | | <tt>Characters/Dialogue/Penny</tt> |
| + | | ██████████ |
| + | | '''✘ broken''' |
| + | | |
| |- | | |- |
| | <tt>Characters/Dialogue/Pierre</tt> | | | <tt>Characters/Dialogue/Pierre</tt> |
Line 309: |
Line 355: |
| | <tt>Characters/Dialogue/Sam</tt> | | | <tt>Characters/Dialogue/Sam</tt> |
| | ██████████ | | | ██████████ |
− | | ✘ will remove changes | + | | '''✘ broken''' |
| | ✓ mostly unaffected | | | ✓ mostly unaffected |
| |- | | |- |
| | <tt>Characters/Dialogue/Sebastian</tt> | | | <tt>Characters/Dialogue/Sebastian</tt> |
| | ██████████ | | | ██████████ |
− | | ✘ will remove changes | + | | '''✘ broken''' |
| | ✓ mostly unaffected | | | ✓ mostly unaffected |
| |- | | |- |
− | | <tt>Characters/Dialogue/Sebastian</tt> | + | | <tt>Characters/Dialogue/Shane</tt> |
| | ██████████ | | | ██████████ |
− | | ✘ will remove changes | + | | '''✘ broken''' |
| | ✓ mostly unaffected | | | ✓ mostly unaffected |
| |- | | |- |
Line 360: |
Line 406: |
| | ██████████ | | | ██████████ |
| | '''✘ broken''' | | | '''✘ broken''' |
| + | | ✓ mostly unaffected |
| + | |- |
| + | | <tt>Characters/schedules/Caroline</tt> |
| + | | ██████████ |
| + | | ✘ will remove changes |
| + | | ✓ mostly unaffected |
| + | |- |
| + | | <tt>Characters/schedules/Demetris</tt> |
| + | | ██████████ |
| + | | ✘ will remove changes |
| | ✓ mostly unaffected | | | ✓ mostly unaffected |
| |- | | |- |
| | <tt>Characters/schedules/Gus</tt> | | | <tt>Characters/schedules/Gus</tt> |
| + | | ██████████ |
| + | | '''✘ broken''' |
| + | | |
| + | |- |
| + | | <tt>Characters/schedules/Jas</tt> |
| | ██████████ | | | ██████████ |
| | '''✘ broken''' | | | '''✘ broken''' |
Line 376: |
Line 437: |
| | '''✘ broken''' | | | '''✘ broken''' |
| | '''✘ likely broken''' | | | '''✘ likely broken''' |
| + | |- |
| + | | <tt>Characters/schedules/Vincent</tt> |
| + | | ██████████ |
| + | | '''✘ broken''' |
| + | | |
| |- | | |- |
| | <tt>Characters/schedules/beforePathfinding/*</tt><br /><tt>Characters/schedules/newSchedules/*</tt><br /><tt>Characters/schedules/spring/*</tt> | | | <tt>Characters/schedules/beforePathfinding/*</tt><br /><tt>Characters/schedules/newSchedules/*</tt><br /><tt>Characters/schedules/spring/*</tt> |
Line 431: |
Line 497: |
| | '''✘ broken''' | | | '''✘ broken''' |
| | ✓ mostly unaffected | | | ✓ mostly unaffected |
− | |-
| |
− | | <tt>Data/fruitTrees</tt>
| |
− | | deleted
| |
− | |
| |
− | |
| |
| |- | | |- |
| | <tt>Data/hats</tt> | | | <tt>Data/hats</tt> |
Line 450: |
Line 511: |
| | ██████████ | | | ██████████ |
| | '''✘ broken''' | | | '''✘ broken''' |
− | | '''✘ broken''' | + | | '''✘ likely broken''' |
| |- | | |- |
| | <tt>Data/MineRooms</tt> | | | <tt>Data/MineRooms</tt> |
Line 483: |
Line 544: |
| |- | | |- |
| | <tt>Data/weapons</tt> | | | <tt>Data/weapons</tt> |
| + | | ██████████ |
| + | | ✘ will remove changes |
| + | | ✓ mostly unaffected |
| + | |- |
| + | | <tt>Data/Events/BathHouse_Pool</tt> |
| + | | ██████████ |
| + | | ✘ will remove changes |
| + | | ✓ mostly unaffected |
| + | |- |
| + | | <tt>Data/Events/Beach</tt> |
| | ██████████ | | | ██████████ |
| | ✘ will remove changes | | | ✘ will remove changes |
Line 506: |
Line 577: |
| | '''✘ broken''' | | | '''✘ broken''' |
| | | | | |
| + | |- |
| + | | <tt>Data/Events/HaleyHouse</tt> |
| + | | ██████████ |
| + | | ✘ will remove changes |
| + | | ✓ mostly unaffected |
| + | |- |
| + | | <tt>Data/Events/Hospital</tt> |
| + | | ██████████ |
| + | | ✘ will remove changes |
| + | | ✓ mostly unaffected |
| + | |- |
| + | | <tt>Data/Events/LeahHouse</tt> |
| + | | ██████████ |
| + | | ✘ will remove changes |
| + | | ✓ mostly unaffected |
| |- | | |- |
| | <tt>Data/Events/Mountain</tt> | | | <tt>Data/Events/Mountain</tt> |
Line 523: |
Line 609: |
| |- | | |- |
| | <tt>Data/Events/SamHouse</tt> | | | <tt>Data/Events/SamHouse</tt> |
| + | | ██████████ |
| + | | ✘ will remove changes |
| + | | ✓ mostly unaffected |
| + | |- |
| + | | <tt>Data/Events/ScienceHouse</tt> |
| | ██████████ | | | ██████████ |
| | ✘ will remove changes | | | ✘ will remove changes |
Line 528: |
Line 619: |
| |- | | |- |
| | <tt>Data/Events/SebastianRoom</tt> | | | <tt>Data/Events/SebastianRoom</tt> |
| + | | ██████████ |
| + | | ✘ will remove changes |
| + | | ✓ mostly unaffected |
| + | |- |
| + | | <tt>Data/Events/SeedShop</tt> |
| | ██████████ | | | ██████████ |
| | ✘ will remove changes | | | ✘ will remove changes |
Line 535: |
Line 631: |
| | ██████████ | | | ██████████ |
| | '''✘ broken''' | | | '''✘ broken''' |
| + | | ✓ mostly unaffected |
| + | |- |
| + | | <tt>Data/Events/Beach</tt> |
| + | | ██████████ |
| + | | ✘ will remove changes |
| + | | ✓ mostly unaffected |
| + | |- |
| + | | <tt>Data/Festivals/fall16</tt> |
| + | | ██████████ |
| + | | ✘ will remove changes |
| | ✓ mostly unaffected | | | ✓ mostly unaffected |
| |- | | |- |
Line 551: |
Line 657: |
| | ✘ will remove changes | | | ✘ will remove changes |
| | ✓ mostly unaffected | | | ✓ mostly unaffected |
− | |-
| |
− | | <tt>LooseSprites/birds</tt>
| |
− | | ██████████
| |
− | | '''✘ broken'''
| |
− | | ✘ possibly broken
| |
| |- | | |- |
| | <tt>LooseSprites/Cursors</tt> | | | <tt>LooseSprites/Cursors</tt> |
| | ██████████ | | | ██████████ |
| | '''✘ broken''' | | | '''✘ broken''' |
− | | ✘ possibly broken | + | | ✘ may remove changes |
| |- | | |- |
| | <tt>LooseSprites/daybg</tt> | | | <tt>LooseSprites/daybg</tt> |
Line 581: |
Line 682: |
| | ✘ will remove changes | | | ✘ will remove changes |
| | ✘ will remove changes | | | ✘ will remove changes |
| + | |- |
| + | | <tt>LooseSprites/SeaMonster</tt> |
| + | | ██████████ |
| + | | '''✘ broken''' |
| + | | '''✘ broken''' |
| |- | | |- |
| | <tt>LooseSprites/temporary_sprites_1</tt> | | | <tt>LooseSprites/temporary_sprites_1</tt> |
Line 593: |
Line 699: |
| |- | | |- |
| | <tt>Maps/ArchaeologyHouse</tt> | | | <tt>Maps/ArchaeologyHouse</tt> |
| + | | unknown changes |
| + | | ? |
| + | | ? |
| + | |- |
| + | | <tt>Maps/Backwoods</tt> |
| | unknown changes | | | unknown changes |
| | ? | | | ? |
Line 618: |
Line 729: |
| |- | | |- |
| | <tt>Maps/CommunityCenter_Ruins</tt> | | | <tt>Maps/CommunityCenter_Ruins</tt> |
| + | | unknown changes |
| + | | ? |
| + | | ? |
| + | |- |
| + | | <tt>Maps/Deserts</tt> |
| | unknown changes | | | unknown changes |
| | ? | | | ? |
Line 661: |
Line 777: |
| | '''✘ broken''' | | | '''✘ broken''' |
| | ✓ mostly unaffected | | | ✓ mostly unaffected |
| + | |- |
| + | | <tt>Maps/Festivals</tt> |
| + | | ██████████ |
| + | | '''✘ broken''' |
| + | | ✓ mostly unaffected |
| + | |- |
| + | | <tt>Maps/Forest</tt> |
| + | | unknown changes |
| + | | ? |
| + | | ? |
| |- | | |- |
| | <tt>Maps/Forest-FlowerFestival</tt> | | | <tt>Maps/Forest-FlowerFestival</tt> |
Line 678: |
Line 804: |
| |- | | |- |
| | <tt>Maps/ManorHouse</tt> | | | <tt>Maps/ManorHouse</tt> |
| + | | unknown changes |
| + | | ? |
| + | | ? |
| + | |- |
| + | | <tt>Maps/Hospital</tt> |
| | unknown changes | | | unknown changes |
| | ? | | | ? |
Line 743: |
Line 874: |
| |- | | |- |
| | <tt>Maps/Town</tt> | | | <tt>Maps/Town</tt> |
| + | | unknown changes |
| + | | ? |
| + | | ? |
| + | |- |
| + | | <tt>Maps/Town-EggFestival</tt> |
| | unknown changes | | | unknown changes |
| | ? | | | ? |
Line 748: |
Line 884: |
| |- | | |- |
| | <tt>Maps/Town-Fair</tt> | | | <tt>Maps/Town-Fair</tt> |
− | | ██████████ | + | | unknown changes |
| + | | ? |
| + | | ? |
| + | |- |
| + | | <tt>Maps/Town-Halloween</tt> |
| + | | unknown changes |
| | ? | | | ? |
| | ? | | | ? |
Line 785: |
Line 926: |
| | ██████████ | | | ██████████ |
| | ✘ will remove changes | | | ✘ will remove changes |
− | | ✘ may remove changes | + | | ✘ will probably remove changes |
| |- | | |- |
| | <tt>Portraits/Krobus</tt> | | | <tt>Portraits/Krobus</tt> |
Line 816: |
Line 957: |
| | '''✘ broken''' | | | '''✘ broken''' |
| | | | | |
| + | |- |
| + | | <tt>Strings/credits</tt> |
| + | | ██████████ |
| + | | '''✘ broken''' |
| + | | '''✘ broken''' |
| |- | | |- |
| | <tt>Strings/Events</tt> | | | <tt>Strings/Events</tt> |
Line 898: |
Line 1,044: |
| |- | | |- |
| | <tt>TileSheets/Craftables</tt> | | | <tt>TileSheets/Craftables</tt> |
| + | | ██████████ |
| + | | '''✘ broken''' |
| + | | ✓ mostly unaffected |
| + | |- |
| + | | <tt>TileSheets/Critters</tt> |
| | ██████████ | | | ██████████ |
| | '''✘ broken''' | | | '''✘ broken''' |