Coder Social home page Coder Social logo

stardew-valley-mods's Introduction

This repository contains my SMAPI mods for Stardew Valley. See the individual mods for documentation and release notes.

Mods

Featured

  • Train Station (docsrelease notes)
    Makes the train station at the railroad functional and lets modders add more stations to create a connected travel network.

  • Shop Tile Framework (docsrelease notes)
    Lets content packs create new fully customizable shops and animal shops, and make them interactable in-game via tile properties.

  • Platonic Relationships (release notes)
    Removes the limits preventing you from reaching 10 hearts with certain characters if you aren't dating them. Edits existing events so that romantic mentions only happens while dating. Adding platonic versions of 10-heart events is in progress.

  • Expanded Preconditions Utility (docsrelease notes)
    Provides a conditions system any mod can use based on the game's event preconditions.

Active

Translating the mods

The mods can be translated into any language supported by the game, and SMAPI will automatically use the right translations.

Contributions are welcome! See Modding:Translations on the wiki for help contributing translations.

(❑ = untranslated, ↻ = partly translated, ✓ = fully translated)

  Customize Anywhere Farm Rearranger Hay Bales as Silos Multiplayer Mod Checker Train Station Upgrade Empty Cabins
Chinese
French
German
Hungarian
Italian
Japanese
Korean
Portuguese
Russian
Spanish
Turkish
Ukrainian

stardew-valley-mods's People

Contributors

asqwedcxz741 avatar atravita-mods avatar burunduk avatar cel10e avatar chroniclercherry avatar jennampe-sdv avatar lyavanlou avatar pathoschild avatar smileytechie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

stardew-valley-mods's Issues

[STF]item repeatedly displayed in the shop menu

When I open the shop menu and use F1(Lookup Anything) to view the seed details, and close the F1 window, the items of ppja or other items added by mod will be repeatedly displayed in the shop menu. I don't know which mod caused it

Tool Upgrade Costs - EPU request

Hello and thank you for all you fine work.

Should you have the time and if possible, could you please consider adding EPU to Tool Upgrade Costs?

I'd like to be able to use conditions to control the upgrade cost are at different points in time based upon the user progress.

Also is it possible to separate each tool in the config and mods code so different cost can be applied per tool instead of just by tool level?

A 3rd possible option of interest would be the ability to create a content pack to be used with Tool Upgrade Costs so that if the content pack is shared as part of a mod that it can overwrite the config file created by Tool Upgrade Costs?

Thank You very much for any time or consideration you can provide to these request.

Shop Tile Framework - the "ExcludeFromMarnies" command does not work.

Below is a copy of part of my Shop.json. I am pretty sure i have done everything correctly but the animal still show up at Marnies shop to purchase. They show up at the custom shop as well. So adding animals works fine. I just cant remove them from Marnies.

"AnimalShops":[
{
"ShopName":"BuffaloRanch",
"When": ["NPCAt Sheila 3 14"],
"AnimalStock":["Buffalo", "Dairy Cow", "Bull", "Deer", "Peacock" ],
"ExcludeFromMarnies":["Buffalo", "Bull", "Deer", "Peacock"],
},
],

[STF] Ability to filter items in JAPacks

It'd be handy to be able to only add JAPack items of a certain category, or to only add items by name if they're in a specific pack.

Right now it's possible to add specific JA items by name, but this sometimes has unintended results ("Lime" returning limestone instead of limes from More Trees)

[EPU] [Request] Tracking Mine Level Depth

Hello that for this great Mod, would it be possible to add a condition that tracks the currently maximum depth the users have made it in the mines?? I'd like to use Mine Depth in STF to only allow certain items to be purchased after getting to different depths.. Like the way the game knows when to sell different items at Marlons. If possible could it be made multiplayer compatible as well?

The code is something to do with

Game1.player.deepestMineLevel

But I have not C# experience. Another mod... Custom Tokens tracks mine level but it resets to 0 each day and doesn't work for the purposes of STF as it update each morning. Therefor Custom Tokens is always reporting a 0 to STF making it not work as a condition. . Also I don't wish to require another Dependency since STF already requires Expanded Preconditions

Thank you so much in advance for any time or effort you may be able to give this request.

[CA] Add way to save favourites

The code to actually save/load specific looks has already been implemented, with how using escape to close the menu reverts all changes.

I could save the options into an arbitrary json file easily enough

The hardest part would be the GUI for this. How would I let the user interact with it? May have to look into how GG does it

[PR] possible issues with the group jealousy event

someone saw the 10 heart group jealousy event

patch export showed that the event preconditions weren't changed ( I do not touch that code ) which includes a check that you have seen all the 10 heart events first

their save file does not have any of those 10 heart events seen

not sure if this is an issue on my end or not, will investigate

[STF] Removing only parts of a pack (Enhancement)

It would be nice to be able to remove JA items or recipes by name or to be able to define exceptions to a pack remove by name, instead of it being entirely all-or-nothing; this would allow for eg Gus selling an expanded stock of prepared food and drink, but no modded recipes or ingredients.

[STF] Wallpaper and Floors are not valid item types.

Wallpaper and Floors appear amongst the possible values of ItemType in the readme, but as of STF 1.0.9 at least, adding Wallpaper or Floors item stocks to either a regular shop or a vanilla shop result in the following messages:

"Wallpaper" is not a valid ItemType. No items from this stock will be added.
"Floors" is not a valid ItemType. No items from this stock will be added.

These messages appear to originate from the lines following the ItemsUtil.CheckItemType test at ItemStock.Update, line 73. It seems that neither Wallpapers nor Floors are added as keys of ObjectInfoSource in ItemsUtil.UpdateObjectInfoSource, lines 24-69.

DLL not loaded

Please update to the beta version of stardew. Nearly all of my mods are dependent on EPU and it's the only mod that hasn't be updated and prevented me from playing for the past week.

[STF] Request: Condition field for entire ItemStocks

I know there is currently a condition field for individual items. However, can there be a (default) condition field for a stock of items? The individual item's condition field can be applied on top of the stock condition.

Thank you! 😄

[STF] A HasRecipe check and a check for the last farmhouse upgrade

Hi ChroniclerCherry,
I know we discussed this in the Stardew Valley Discord in #making-mods, but I thought you might appreciate being able to cross it off a proverbial list :)
For STF, could you add to the When checks a HasRecipe check, and a check for the last farmhouse upgrade? These aren't currently checks in the vanilla game. For my purposes, either one of these would help me in a mod I'm making to ensure that an NPC doesn't sell a machine before the player has learned that recipe (the last farmhouse upgrade check was for the casks).

[STF] Allow BigCraftables to target STF

Would be great if we could add big-craftables via JA and allow it to target STF, or does STF target the big-craftable?

This could give a leeway to a lot of modders who aren't comfortable with with map editing and reduces the dependency on TXMLoader.

[STF] Suggestion: Shop that triggers CP Tokens

An integration with Content Patcher to be able to trigger it's token (or add custom tokens). Might need some collab with Pathoschild.

Benefits: Modders now can now set their mods as buyable upgrades.

"Want to change the look of your building? Buy the 'upgrade'!"

[STF] Change sellprice of items by map

Add a way to change the sellprice of items based on map location. This is for things like crops that should be more valuable in one part of the world than another.

The idea of doing this for each map rather than each shop is so that UI mods displaying sell price would be accurate based on the area the player is in

The suggested addition to the shops.json would look something like this:

{
   "RegionalPriceMultipliers":[
      {
         "MapName":"Map1",
         "PriceMultipliers":{
            "Apple":"5",
            "Peach":"0.5"
         }
      },
      {
         "MapName":"Map2",
         "PriceMultipliers":{
            "Apple":"0.5",
            "Peach":"2"
         }
      }
   ]
}

Implementation:
On Warped event, check if the player has entered and/or left a map named on the json.

A dictionary will be used to store objects that have had their prices changed, along with their original prices.

Upon leaving a listed map, all objects in that dictionary will be restored to their original price and then the dictionary emptied.

Upon entering a listed map, all objects in the inventory listed on the json for that map will have their sell price multiplied by the given values. A reference to the object and their original price will be stored in a dictionary

On InventoryChanged event, do the same. This ensures that items picked up on the map or brought in from a mod like Chests anywhere will be accounted for. ( Make sure it is an object that isn't already in the dictionary, to prevent an item's price from being changed multiple times )

[PR] Set up events in platonic relationships to be easily translatable

Two options right now.

Option 1:
Add events in via Content patcher, using a precondition of f <name> 2500 for 10 hearts and a CP token of

"When": {
   "Relationship:<NPC name>": "Friendly"
}

Will make the event only happen at 10 hearts with the character and not dating.

Benefits:

  1. Using CP would be modular, and if people create alternative events in the future, is easier for players to choose which CP pack to download

Option 2:
Add the events in through IAssetEditor within the existing Platonic Relationship code.

Benefits:

  1. I am more comfortable writing code
  2. Would remove an extra dependency ( though Content Patcher is pretty universal so is a non-issue )
  3. Ease of translations through i18n folder rather than CP language tokens

Farm Rearranger not clickable?

Is there another way to use the arranger other than placing and clicking it? Every time I click it, nothing happens. I already uninstalled and reinstalled. I was able to purchase! Just not use.

[STF] Support localizations

There's very few bits of custom strings visible in this mod but they do exist right now in

  • shop Quotes
  • shop closed message

Add support to allow localized messages to be supplied

Suggestion/Request: Remove Crib and Add Extensions in Cabin

Hi,

I really love this mod! Really appreciate your work. By any chance, will you be updating this mod so we can remove the crib and add extensions in the cabin?

Btw, I don't know if anyone has already tried this mod on multi player but I have just tried it and so far, it worked like a charm!

[STF] Suggestion for price of items

  • Being able to have a range for the price, so price can be randomized between the two values. It would allow shops similar to the cart lady's one, when it will be possible to find some nice offers rarely.
  • Being able to use modifiers of price like sellprice1.5 or sellprice2. This would allow to quickly set up a shop without needing to put individual prices for each items when still having them sold for higher of the sell price.

With both option, someone can imagine a shop selling items for 1.5 to 4 the sellprice, for example, for a shop selling good at random prices, without having to list the range of each items.

Excluding animals from store doesn't work without BFAV installed

Right now PatchGetPurchaseAnimalStock.Prefix is a prefix, and thus doesn't have access to the results of the vanilla method. This means if there is no BFAV installed, the patch method has no way of obtaining an initial animal list to modify.

I tried changing it to a postfix, but it seems the sprites are already saved and put in position. Here's an example from a store that excluded vanilla chickens from Marnie's store:

image

Functionally Chickens were removed and when selecting the first animal, it indeed sold a cow. But the sprites remain in the same order as before animals are removed. I need to investigate this further.

This is low priority as it only happens when store try to exclude animals when BFAV isn't installed, and does not cause a crash or any broken functionality ( though users will see an error log. ) If BFAV isn't installed, there are no custom animals to remove from the vanilla store anyways, and shops should not be trying to remove vanilla animals for the most part

Controller support

Currently a large portion of mods that need to detect click location only checks for cursor position. This doesn't work for people using controllers or keyboard inputs for actions. Fix this.

Affected mods:

  • CustomizeAnywhere
  • FarmRearranger
  • HayBalesSilo
  • LimitedCampfireCooking
  • ShopTileFramework

Add BFAV animals that aren't added to Marnie's shop

Right now this mod can only pick from the list of animals provided by BFAV's api that returns all the animals being sold at Marnie's

Look into making it possible to sell directly from STF animal shops while not added to marnie's from BFAV

Quote doesn’t work.

Here’s the code:
{
"Shops": [
{
"ShopName":"DarkShop",
"CategoriesToSellHere" : [-81 , -75],
"PortraitPath":"assets/Shop/KalarosShop.png",
"Quote":"This is a store!",
"ShopPrice": 0,
"ItemStocks":[
{
"ItemType":"Object",
"ItemNames":["Prismatic Shard"],
"StockItemCurrency":"Void Essence",
"StockCurrencyStack":100,
"Stock":1
}
],
}

The store can be opened, but there’s no image and Quote, and when I compare it to the other mods, I don’t see any problem, and I want to know how to fix it.

[STF] Allow add item stocks to top of the list for Vanilla Shops

As the title above, if possible, allow new custom stocks to be added to Vanilla Shop before vanilla stocks.

Maybe something like:

if (ShopManager.VanillaShops["PierreShop"].ShouldPrepend)
    __result = customStock.Concat(__result).ToDictionary(x => x.Key, x => x.Value);
else
    __result = __result.Concat(customStock).ToDictionary(x => x.Key, x => x.Value);

Thanks.

[STF] Would it be possible to add random date selection to When conditions?

What I was attempting to do was, as part of the When condition, have a random selection between 3 date ranges: days 22-28, days 26-28, and day 28 only. The point being, in one month, the stock is sold on day 28 only, in another month it could be sold for 3 days (26-28), and in another month it could sold for 7 days (22-28). The options are randomly selected each month, which I plan to indicate by season.

[CCS] Please expose more data via your API

Hello,

I have created a mod called Better Crafting, and I would like to support Custom Crafting Stations. Specifically, the ability to limit which recipes are displayed to the user when opening a crafting page. My mod re-implements the crafting page without sub-classing the vanilla one.

As an absolute minimum, I would like to be able to ask CCS's API for a list of filtered recipe names to show the user. CCS has a list like that internally, but there's no decent way for me to access it now.

Thanks!

[STF] Conditional price multipliers for ItemStocks

Right now there's a PriceMultiplierWhen field used to change the price of the entire shop under certain conditions.

Allow this for each ItemStock. Priority would be this:

  1. Check each ItemStock's PriceMultiplierWhen field until a condition is met and apply the price multiplier.
  2. If no conditions were met, then check the shop's PriceMultiplierWhen as it already is

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.