Stardew Valley
0 of 0

File information

Last updated

Original upload

Created by

jwdred

Uploaded by

jwdred

Virus scan

Safe to use

About this mod

If you stick to blueberries, green beans, and corn just because you hate having to replant after harvest, try the Replanter mod and expand your crop horizons without the fear and anxiety of needing to replant.

Permissions and credits
About

If you're like me, your fledgling farm just isn't making the money it could be making because you fear harvest time and all the replanting that comes with it.  News flash, this just in!  Many farms use time and health saving tools to supplement their hand tools!!  And if they don't use machinery, you can bet your last g. that they're probably paying other people to help out.

With Replanter, you can have your farm "just so" and have someone else harvest and replant all your crops.  It will even purchase just the amount of seeds you need for replanting.  If that sounds like cheating to you, just wait until you read about the exciting options available with Replanter!

I look forward to your feedback!

Update

Thanks for everyone that provided feedback over the past couple weeks, particularly those who have been reporting the infinite harvest bug that plagued the renewable crops.  Working closely with Demetrius, we think we've developed an organic pesticide that has eradicated this bug in version 1.0.4.  Please let me know if any of you continue to experience the problem.

With that out of the way, I think I'll have time to add a more granular cost structure for those who want to use it.  So look for that in the coming days or weeks.

Quick Setup

1. Unzip the mod and put it into your "Mods" folder.
2. If you want to use this like a trainer, change config settings: free: true, waterCrops: true, and enableMessages: false.
3. If you want the mod to charge you, but you don't care about dialogues and such, change config.json settings: enableMessages: false.
4. Start the SMAPI executable, and kick back and enjoy the wonder that is automated planting and harvesting.

Configuration

The configuration defaults to the following settings.

{
"keybind": "J",
"enableLogging": false,
"free": false,
"seedDiscount": 0,
"whoChecks": "spouse",
"enableMessages": true,
"costPerCropHarvested": 0.5,
"sellHarvestedCropsImmediately": false,
"waterCrops": false,
"ignoreList": "591|593|595|597|376"
"alwaysSellList": "",
"neverSellList": "",
"chestCoords": "70, 14",
"bypassInventory": false,
"chestDefs": "258,70,14|282,70,14",
"clearDeadPlants": true,
"smartReplantingEnabled": false
}

keybind: defaults to J, set it to whichever key you want to use to summon your farm help.

enableLogging:  tells the mod whether to output debugging messages to your SMAPI console. Defaults to false.

enableMessages: tells the mod that you'd like in-game feedback during usage. Defaults to true.

free: will make the mod disregard all other cost calculating mechanisms.  That's free as in beer-- all the beer you're gonna  to be making because you don't have to sow your own freaking wheat seeds anymore, am I right?  Defaults to false.

seedDiscount: defaults to 0, and can be 0-100.  Let's face it, with all the seeds you're going to be buying now, that 500g rebate from Pierre just isn't gonna cut it.  If he wants your business, he better start earning it.

whoChecks: defaults to "spouse".  Set it to a character like "Pierre" or "Emily", in the game if you want them to report your costs and earnings after they've harvested and replanted all your crops..

costPerCropHarvested: the amount you are paying per harvested crop.  It defaults to 0.5.  If you think they deserve 15g an hour for picking artichokes, that's your business.

sellHarvestedCropsImmediately: defaults to false.  Setting this to 'true' will allow you to immediately see the financial benefits of somebody else's hard labor.  If it's nighttime, or a Wednesday.. your harvester will drag Pierre from his bed down to the shop to accept receipt of your crops!  If this is set to false, and you don't have enough space in your inventory to receive them, you'll have to call your farm hand again after you've cleared some room.

waterCrops: defaults to false.  Your farm helper is going to be going around to every plant to see if it's ready to harvest anyway, why not have him take the water hose along with him?  Setting to "true" will water your crops as well as harvest them.  This will water even the crops that don't get harvested.

ignoreList: is a bar-separated list of harvest ids (not seed ids!) that you don't want harvested.  The default is "591|593|595|597|376", which were all the flowers I could think of-- that way your helper will know you'll be none too pleased if he goes near your beehives.

alwaysSellList: a bar-separated list of harvest ids that you want to always sell. This is an override if you want to disable "sellHarvestedCropsImmediately", but there are some crops you would like to get rid of right way.

neverSellList: a bar-separated list of harvest ids that you never want to sell. This is the opposite of the alwaysSellList, if you want to set "sellHarvestedCropsImmediately" to true, but there are some things you'd prefer to have pass through your inventory first. If something ends up on both the alwaysSellList and the neverSellList, the alwaysSellList will take precedence.

chestCoords: these are the coordinates for your default chest. You can only carry so much, right? Rather than your help telling you they'll come back after you've cleared your inventory-- you tell them, "No, put it in the chest." Defaults to the 70,14 (the spot immediately to the left of the sell box.

bypassInventory: If you want things to skip your inventory and go directly to the chest, then set this to true.

chestDefs: This is a bar separated list of numbers that define chests specific to particular crops. Maybe you want your grapes to go to the chest next to your kegs, and your strawberries to go to the chest by your preserves jar... or maybe you just have so many blueberries that you don't want them crowding out the rest of the crops in your default chest. These are in the format: harvest id, x, y|harvest id, x, y|... so forth. If a suitable chest cannot be located at the coordinates specified, the default chest will be tried... and then your inventory.

clearDeadPlants: Set this to true if you want your helper to clear dead plants, especially handy around season changes.

smartReplantingEnabled: This is an opt-in setting for experimental functionality encompassing my original vision for this mod.  I'll be honest with you-- I think this is working, but it's still somewhat experimental.

Basically the idea is, you would never replant a field of 300 Starfruits on the 25th of summer, and you don't want your farm helper making expensive blunders like that too. If the crop can't be harvest again before the season changes (if it's not good for the next season), then after the last harvest the field will be left fallow for you to do with as you please.

This does not apply to regenerating plants, which are left indefinitely. Ideally the calculations take into account your farming level (something might take only 11 days instead of 13).  I have not tested whether it takes into account fertilizers like speed-gro. Anyway, back up your saves regularly if you want to try this feature out, and enable this setting at your own risk.  Really, the worst that could happen is that one of your fields gets cut down before its prime.. but that's not cool to some people.

Eventually this setting will become the default, and the opposite will be a configuration setting for users that use All-Crops-All-Season type mods.

Customization

The dialog.xnb file will allow you to customize the dialog to your liking.  I've also included the dialog.yaml source file, but the mod will read it from the XNB file.  If you don't know how to do it, google "how to unpack and repack stardew valley mods".  Anyway...
 
The dialogue elements are arranged in a name_index format. If the name starts with a capital 'X', that means those messages need to stay roughly in that order and in the same format for the dialog to make sense.  The number is important.
 
All other elements can be added to, and modified because they are used randomly at the appropriate place in the dialogue.  You have to use the same "name" from the "name_id" that are already in the file, but you can add to and remove so long as all the numbers in a particular group are unique.
 
Also you'll see that I added a few names down at the bottom,"Shane_1", "Shane_2", "Leah_1", for example.  You can add any other Stardew characters dialog to the file in that same format.  Those dialogues will be merged in with the "smalltalk" group if your "whoChecks" is set to one of the characters.
 
Most of the notation that existing SDV dialogs use will work(for example @ is replaced by the name of the farmer).  There's also notation added to use values from this mod in the dialog, they are (along with a description)
 
%%cropsHarvested%%  -  The total number of crops that were harvested.
%%runningSeedCost%%  -  The cost of seeds for all crops replanted.
%%runningSellPrice%%  -  The total sell price for all crops harvested.
%%runningLaborCost%%  -  The total cost of labor.
%%totalCrops%%  -  The total number of crops that were tended to in some way.
%%cropsWatered%%  -  The number of crops that were watered.
%%totalCost%%  -  The total cost of seeds and labor.
%%numUnharvested%%  -  The number of crops that weren't able to be harvested.
%%checker%%  -  The name of the checker specified in whoChecks.
%%spouse%%  -  The farmer's spouse's name (if married), the value of whoChecks otherwise.
 
The dialog groups in the file, and a quick explanation of when each are used:
 
Xdialog - Some specific dialogs used when the spouse or non-character harvest the fields.
greeting - Greetings the checker will use when addressing the farmer.
smalltalk & character names - Comments that are thrown in at the end of most conversations.

Notes

I haven't tested whether this harvests the greenhouse yet, it probably doesn't.  Planned for a future release.  Greenhouse should now work!

This may leave you with a zero balance, but your employee won't care yet.  Also planned for a future release.

This doesn't harvest giant crops.  If you want to grow giant crops, you can harvest them and replant them yourself.  May look into this in a future release.

No crops are protected from your harvester.  I'm planning on adding a list of protected crops to the config-- my harvester killed all my honey flowers :(  You can protect specific crops now!

Changelog


1.0.0 Initial release
1.0.1 Fixed null pointer when looking up seeds (if you had sunflowers, you'll know what this was about), added some additional features.  Added some error checks to fail more gracefully.
1.0.2 Added a whole bunch of new features, basically just begging for more bugs.  Added harvesting of fruit trees.
1.0.3 Fixed a bug (I hope) where the dialogues would not load if your mods are located somewhere other than your Stardew Valley/Mods folder.
1.0.4 Fixed a bug that allowed infinite reharvesting of renewable plants.