Stardew Valley

File information

Last updated

Original upload

Created by

Digus

Uploaded by

Digus

Virus scan

Safe to use

About this mod

Improves animal husbandry by adding new tools to the game. Adds a way to give treats to your animals. Adds a way to impregnate your animal. Adds a way to get meat from them. Adds new recipes using meat. Adds a new TV channel to give tips about animals. Adds new Animal Contest Event.

Requirements
Permissions and credits
Translations
  • Spanish
  • Russian
  • Portuguese
  • Mandarin
  • Korean
  • Japanese
  • German
Changelogs
Current version: 2.4.2-beta6
  • Add support to Stardew Valley 1.4
  • Fix to not being able to pet the cat or the dog.
  • Fix to warning message about data/farmAnimal loop.
  • Fix to pets in the animal contest.
  • Fix to skipping certain events.
  • Fix to new feature from 1.4 breaking because of cooking recipes.
  • Support to the new letters collection menu.
  • Fix to Production Bonus crashing the game if an Auto-Grabber was in the same coop as the winner.
  • Compatibility fix for Android SMAPI
  • Fix to Fertility Bonus crashing the game if an Auto-Grabber was in the same coop as the winner.

Why beta:
Because I didn't have time to completely test the mod. Everything I tested is working, but there are a lot of features and config options I didn't look
at yet.
Also, the new features point to some changes revolving around animals. So I need to check the game code to see if there are any changes I have to make.

Objective:
Improve Animal Husbandry.
Completely customizable, every feature can be disabled individually.
Be compatible with custom animals from other mods.

Disclaimer:
No animals were harmed on the make of this mod. (beside bugs)

Update: From version 2.0.X
Update:
From version 1.X

This is needed to transfer the info on your pregnant animals and changes you may have made to the mod data file.
  • Follow the instructions above for updating from from version 2.0.X
  • Go into "ButcherMod" folder and copy the "data" folder.
  • Paste the data folder into the "AnimalHusbandryMod" folder.
  • Delete the ButcherMod folder. (you need to delete the old folder, or the new version will not load.)

Installation:
Obs. Always backup your save files before tying this kind of mod.

Compatibility:
This mod may conflict with other mods using the original meat sprites and the meat dishes left in the game code. (objectInformation ids 639 to 644 and 652 to 666).
It may also conflict with mods changing the mailbox and the TV, because of it's dependency on the MailFrameworkMod and PyTK.CustomTV.
The mod was tested with Paritee's Better Farm Animal Variety (BFAV) and Adopt 'n' Skin
, they both should work fine and their animals configurable.

How does it work:
  • Meat Cleaver/Wand
    • Once you own a farm animal, you will receive a letter with the Meat Cleaver/Wand. Using this tool on any adult animal twice will make meat pop in the air.
    • The more loved the animal is, the more meat you will receive. You can also get wool, duck feather and rabbit feet as well. Friendship and mood affect the quality of the items.
    • The total price sum of the items will always be higher than selling the animal directly. The total sum varies from that to about double of that value.
    • You can sell meat using the shipping box or directly to Pierre and Marnie (I intend to disable selling to Marnie, it was something automatically enabled for the meat category).
    • You can use meat on the animal bundle at the community center.
    • Meat appears in the shipping collection.
    • Custom animals will have their amount of meat calculated when first identified, if they come with a valid value on the meatIndex property. A valid value is an item that exist in the game and has a price greater than 0.
  • Meat Recipes
    • You can learn meat recipes every Friday starting at the third week of the year on "The Queen of Sauce - Meat Friday" channel. Recipes will re-run every other Friday for a total of 7 new recipes during one year. The schedule is the same every year.
    • You will receive letters with new recipes from the villager when certain conditions are met.
    • Every meat recipe has buff. The more expensive the recipe, the better the buff will be. Some even have speed 2 or lucky 6.
  • Insemination Syringe
    • Once you own the required buildings with animals in it, you will receive the Insemination Syringe in the mail. Using this tool you can impregnate adult animals that don't lay egg. You need to load the syringe with the product that animal produce. One item is required for each impregnation.
    • Once the animal gives birth, you will be notified after the day start to choose the name.
    • Big Barn can support 1 pregnant animal, Deluxe Barn can support 2. Coops can support any number of pregnant rabbits.
    • The game default pregnancy event still work as normal, but is disabled on pregnant animals.
    • Custom animals will have no pregnancy time set, you will have to edit it your self, or should be provided by an content pack.
  • Feeding Basket
    • Once you own an animal(pet or farm animal) and befriend Marnie enough, you will receive the Feeding Basket in the mail. Using this tool you can give treats to your animals. You need to place the food you want to give in the basket. One item is consumed per animal.
    • Once the animal eats the treat, their mood will be maxed and its friendship toward you will increase.
    • Each animal has different likes and dislikes that can be learned watching the new channel "Livin' With The Animals", or by trial and error.
    • Pets can eat a treat per day, bur farm animals have bigger waiting time between treats, that vary for each kind of animal.
    • The amount of friendship gained per treat is fixed for pets, but for farm animals it depends on the price of the treat and the base price of the farm animal. This was done to better balance the feature. The sale price of the animal will raise more than the base price of the treat.(ignoring professions bonus). That means if you give amaranth to a cow and sell it immediately after you will not lose any money.(unless you are a tiller, but if you are a rancher and sell its meat, you will always make profit)
    • Coopmaster and Shepherd increase the friendship gain from treats.
    • Custom animals will come with cave carrot configured by default. It might be overwritten by a content pack. You can also edit it yourself.
  • Participant Ribbon
    • You will receive it a day before a contest, to choose which animal will participate. Contests happen every 26th of spring and fall.
    • If you don't choose an animal the ribbon will be vanished the next day.
    • You can choose any farm animal besides babies.
    • You can also choose a pets.
    • Farm animals will be evaluated by four categories:
    • The age category will evaluate is your animal near the target age, 3 to 4 months old.
    • The friendship category will evaluate how how many hearts your animal has.
    • The treat average category will evaluate how often you give treats to your animal.
    • The treat variate category will evaluate how many different kinds of treats your animal has eaten.
    • There is also a bonus point if the parent of your animal is a previous winner.
    • Pets can't win currently, it's just for role playing.
    • You can get the ribbon back in the animal query menu if you choose the wrong animal.
    • You can also get it back from your pet by right clicking it with an empty slot on your tool bar.
    • If you turn your animal into meat or sell it, you will get the ribbon back.
    • I won't spoil anymore stuff, go play the event.
  • Meat Button
    • It's an alternative to the Meat Cleaver/Wand.
    • You will get the same meat and items, lose the same amount of energy and gain the same amount of experience as using the Meat Cleaver/Wand.
    • It works much like the sell button, but you get meat added to your inventory instead of money.
    • If your inventory is full, a menu will show for you to get which items you want. You can through items out of the menu window for them to stay on the floor and not have to trash anything.
  • Console Commands
    • player_addallmeatrecipes - add all meat recipes to the current player.
    • player_addmeatcleaver - add the meat cleaver to the inventory. Only work on regular mode.
    • player_addmeatwand - add the meat want to the inventory. Only work on soft mode.
    • player_addinseminationsyringe - add the insemination syringe to the inventory.
    • player_addfeedingbasket - add the feeding basket to the inventory
    • player_addparticipantribbon - add the participant ribbon to the inventory
    • world_removealltools_animalhusbandrymod - remove all custom tools added by animal husbandry from the game
    • config_create_customanimaltemplates - force the mod to add custom animal templates in the data\\animal.json file for every loaded custom animal. This is done automatically when a new animal is detected.
    • config_reload_contentpacks_animalhusbandrymod - Reload all content packs for animal husbandry mod. Most changes are applied immediately, but need to call config_create_customanimaltemplates if changing the CanUseDeluxeItemForPregnancy property.

Config options:

Run the game at least once with the mod instaled to create the config.json file. You can edit this file to change the configuration.
  • "Softmode": (false|true) Enable or disable the Softmode. When enabled the Meat Cleaver is replaced with the Meat Want. They work the same, but sound, text and effects are changed to resemble magic.
  • "AddMeatCleaverToInventoryKey": (null|"any_key") Set a keyboard key to directly add the Meat Cleaver/Want to your inventory. You have to put the letter between double quotes.
  • "AddInseminationSyringeToInventoryKey": (null|"any_key") Set a keyboard key to directly add the Meat Cleaver/Want to your inventory. You have to put the letter between double quotes.
  • "AddFeedingBasketToInventoryKey": (null|"any_key") Set a keyboard key to directly add the Feeding Basket to your inventory. You have to put the letter between double quotes.
  • "DisableFullBuildingForBirthNotification": (false|true) Enable or disable notifications for when an animals can't give birth because their building is full.
  • "DisableTomorrowBirthNotification": (false|true) Enable or disable notifications for when an animal will give birth tomorrow.
  • "DisablePregnancy": (false|true) Enable or disable all features related to pregnancy. Syringe will not be delivered, and if already owned, will not work. Pregnancy status will not update but will not reset. Animals that were pregnant will be with random pregnancy disabled unless changed. If re-enabled, everything will resume as it was before.
  • "DisableMeat": (false|true) Enable or disable all features related to meat. Meat Cleaver/Wand will not be delivered , and if already owned, will not work. Meat items and meat dishes will not be loaded. Any item still on the inventory is be bugged. You should sell/trash all of them before disabling meat. Meat Friday will not show on TV. You will not receive any more meat recipe letter from the villagers. Learned recipes will still be known, but will not show on the cooking menu. If re-enabled, they will show again.
  • "DisableTreats": (false|true) Enable or disable all features related to treats. The basket will not be delivered, and if already owned, will not work. Treat status will update while the treat feature is disable. Animals that were feed treats before will be able to eat again if the appropriate amount of days has passed when the mod was disabled.
  • "DisableAnimalContest": (false|true) Enable or disable all features related to the animal contest. You won't receive any more participant ribbons. Bonus from previous winners will still apply tough.
  • "DisableRancherMeatPriceAjust": (false|true) Enable or disable the patch that make Rancher Profession work on meat items. It was causing error log on Mac and Linux. Version 2.0.0 should fix the problem, but you can disable here if wanted.
  • "DisableMoodInscreseWithTreats": (false|true) Enable or disable animal mood being set to max when given a treat.
  • "DisableFriendshipInscreseWithTreats": (false|true) Enable or disable animal friendship being increased when given a treat.
  • "EnableTreatsCountAsAnimalFeed": (false|true) Enable or disable animal feed status being set to max when given a treat. This was not fully analyzed, so use it at you on risk. Report bugs if you find any.
  • "DisableMeatFromDinosaur": (false|true) Enable or disable dinosaurs giving a random kind of meat.
  • "PercentualAjustOnFriendshipInscreaseFromProfessions": (0.25|anyNumber) Change the perceptual adjust for friendship increase when giving treats when you have the coopmaster of Shepherd professions. The default is a 25% increase.
  • "DisableContestBonus": (false|true) Enable or disable the fertility and the production bonuses from the contest. If enabled again, all winners will receive the bonus again, no matter if the bonus was disabled when they won.
  • "DisableMeatToolLetter": (false|true) Enable or disable the sending of the meat cleaver or the meat wand. Meat will only be able to be obtained through the meat button.

Softmode:
You can change the Meat Cleaver object to a Meat Wand. Sounds and animation are also changed to resemble magic effects. Text are also supporting the idea that you are exchanging your animals for meat that grows on trees on another dimension.

Internationalization:
This mod is compatible with SMAPI suport to i18n files. As of now, there is no official translation for this mod, but you can translate it yourself following this instructions: https://stardewvalleywiki.com/Modding:SMAPI_APIs#Translation

Data files:
You can change the mod data. To do so, lunch the game at least once and edit the files in the 'AnimalHusbandryMod\data' folder.
  • meats.json - You can configure the price and edibility of meat
  • cooking.json - You can configure the recipe, price, edibility and the buffs of meat dishes.
  • animals.json - You can configure Min and Max amount of items received from animals. You can configure the pregnancy time and if the deluxe item can also be used in the syringe. You can configure the amount of days between treats. You can choose which items the animal accept as treat, using its id or "name". You can also use category values for liked treats, to set the whole category as liked. You can also do all these for custom animals. They are added to the file when identified.
  • animalBuilding.json - You can configure the number of pregnent animals allowed in a build. 'null' means unlimited.
  • animalContest.json - You can configure the dates of the animal contest. You can change the points required to win(change that is you disable treats). You can change the friendship bonus to animals for participating.

For Modders:
You can now create an content pack to configure your custom animal to work with this mod.
There is a contentPackTemplate folder inside the mod's folder. Copy that folder to "StardewValley\mods" and edit everything.
There is comments in the files to understand how to configure it, and there is also some tips to balance stuff bellow in this description.
I suggest you first run the game with this mod and your custom animal without a content pack, and look into the "AnimalHusbandryMod\data\animals.json" file. There you should find an CustomAnimals property with your custom animals inside that array.
The mod should have added cave carrot as a liked treat and calculated an optimal amount of meat for your animal, but no default pregnancy time is set.
How to balance your animal:
Meat : You can change the default generated minimal and maximum values, but keep in mind that if you reduce these values too much the mod will compensate raising the quality of the meat items to match the price of your animal. Raising them should have no such problem, but might break the game balance.
But raising it can be interesting for animals that produce nothing and are only raised for meat. So you can set them to cost less but when turned into meet after "growing", they'll give huge amount of money. Consider that rancher profession apply to meat value.
Treats: Friendship gain are calculated based on the value of the treat and the value of the animal. So if you animal value is 1000 and you give an 50 valued item its friendship will raise 50 points. That is 1/4 of a heart. The quality of the item also affect the calculation, so in the example, if the item was iridium quality, it would give 100 friendship points, or half a heart. Bonus from professions on the treat value do not apply when calculating animal friendship gain, but coopmaster and shepherd increase the gain by 25%.
Animals also have an amount of days you have to wait before feeding another treat. This should also be accounted for when balancing your animal.
This mod was balanced calculating the friendship gain per day of the most valuable item they eat as a treat, without considering quality. Use this values as reference:
cow - 20
chicken - 15.625
dinosaur - 15
goat - 10
duck - 8.333
rabbit - 8.125
sheep - 6.667
pig  - 6.667
Pregnancy: Pregnancy time is more difficult to balance, but the consequences for breaking it are smaller.
These are the thing you should consider when choosing the time:
* animal value when first born,
* days for the animal to mature
* value it may have when matured if perfectly treated(eaten outside, petted, given treats,...)
* value of its producing while they're maturing.
* value it may have when fully grown.
* barn animals are limited to one pregnancy in big barns and two in the deluxe barn, but coop animals have no limit.

Males and egg layers should obviously have no pregnancy time set. The choosing to let the use of the deluxe item in the syringe is totally up to you. I only did that difference for cows and goat because if friendship is raised enough you might never get regular milk again. That is not a problem for rabbits, that is why you can't use rabbit foot in the syringe, it would make no sense considering how rare they are.

Uninstall:
  • Sell or trash every meat and meat dishes you have.
  • Trash the Meat Cleaver, the Insemination Syringe and Feeding Basket.
  • Sleep to save the game.
  • Delete the mod from the installation folder.

More Info:

If you want to follow this mod development more closely, go to the thread on the Stardew Valley official forum:
https://community.playstarbound.com/threads/butcher-mod.138010

My Other Mods: